From a16034106abcaca3d290e8514f871e6eac72065b Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 9 Aug 2022 20:18:01 +1000 Subject: [PATCH 001/156] Update to fix generation of profiles on Resource.id --- .../fhir/r5/conformance/ProfileUtilities.java | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 064d195c1..178ee5601 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -639,6 +639,8 @@ public class ProfileUtilities extends TranslatingUtilities { throw new DefinitionException(context.formatMessage(I18nConstants.BASE__DERIVED_PROFILES_HAVE_DIFFERENT_TYPES____VS___, base.getUrl(), base.getType(), derived.getUrl(), derived.getType())); } + fixTypeOfResourceId(base); + if (snapshotStack.contains(derived.getUrl())) { throw new DefinitionException(context.formatMessage(I18nConstants.CIRCULAR_SNAPSHOT_REFERENCES_DETECTED_CANNOT_GENERATE_SNAPSHOT_STACK__, snapshotStack.toString())); } @@ -818,6 +820,25 @@ public class ProfileUtilities extends TranslatingUtilities { } } + private void fixTypeOfResourceId(StructureDefinition base) { + if (base.getKind() == StructureDefinitionKind.RESOURCE && (base.getFhirVersion() == null || VersionUtilities.isR4Plus(base.getFhirVersion().toCode()))) { + fixTypeOfResourceId(base.getSnapshot().getElement()); + fixTypeOfResourceId(base.getDifferential().getElement()); + } + } + + private void fixTypeOfResourceId(List list) { + for (ElementDefinition ed : list) { + if (ed.hasBase() && ed.getBase().getPath().equals("Resource.id")) { + for (TypeRefComponent tr : ed.getType()) { + tr.setCode("http://hl7.org/fhirpath/System.String"); + tr.removeExtension(ToolingExtensions.EXT_FHIR_TYPE); + ToolingExtensions.addUrlExtension(tr, ToolingExtensions.EXT_FHIR_TYPE, "id"); + } + } + } + } + public void checkDifferentialBaseType(StructureDefinition derived) throws Error { if (derived.hasDifferential() && !derived.getDifferential().getElementFirstRep().getPath().contains(".") && !derived.getDifferential().getElementFirstRep().getType().isEmpty()) { if (wantFixDifferentialFirstElementType && typeMatchesAncestor(derived.getDifferential().getElementFirstRep().getType(), derived.getBaseDefinition())) { From 21b6fb5e7c673231e40ddbea7504d2f0b775def3 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 9 Aug 2022 20:18:52 +1000 Subject: [PATCH 002/156] Fix loading canonical resources so that duplicates with different versions is OK --- .../fhir/r5/context/BaseWorkerContext.java | 63 ++++++++++++++----- .../r5/context/CanonicalResourceManager.java | 7 +++ .../hl7/fhir/r5/context/IWorkerContext.java | 4 ++ 3 files changed, 57 insertions(+), 17 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java index ec56f847f..a407664a0 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/BaseWorkerContext.java @@ -111,6 +111,7 @@ import org.hl7.fhir.r5.terminologies.ValueSetCheckerSimple; import org.hl7.fhir.r5.terminologies.ValueSetExpander.TerminologyServiceErrorClass; import org.hl7.fhir.r5.terminologies.ValueSetExpander.ValueSetExpansionOutcome; import org.hl7.fhir.r5.terminologies.ValueSetExpanderSimple; +import org.hl7.fhir.r5.utils.PackageHackerR5; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.r5.utils.validation.ValidationContextCarrier; import org.hl7.fhir.utilities.OIDUtils; @@ -121,6 +122,7 @@ import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.VersionUtilities; import org.hl7.fhir.utilities.i18n.I18nBase; import org.hl7.fhir.utilities.i18n.I18nConstants; +import org.hl7.fhir.utilities.npm.PackageHacker; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueType; import org.hl7.fhir.utilities.validation.ValidationOptions; @@ -312,6 +314,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte public void registerResourceFromPackage(CanonicalResourceProxy r, PackageVersion packageInfo) throws FHIRException { + PackageHackerR5.fixLoadedResource(r, packageInfo); synchronized (lock) { if (r.getId() != null) { @@ -326,13 +329,14 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte } String url = r.getUrl(); - if (!allowLoadingDuplicates && hasResource(r.getType(), url)) { + if (!allowLoadingDuplicates && hasResourceVersion(r.getType(), url, r.getVersion()) && !packageInfo.isHTO()) { // spcial workaround for known problems with existing packages if (Utilities.existsInList(url, "http://hl7.org/fhir/SearchParameter/example")) { return; } - throw new DefinitionException(formatMessage(I18nConstants.DUPLICATE_RESOURCE_, url, - fetchResourceWithException(r.getType(), url).fhirType())); + CanonicalResource ex = fetchResourceWithException(r.getType(), url); + throw new DefinitionException(formatMessage(I18nConstants.DUPLICATE_RESOURCE_, url, r.getVersion(), ex.getVersion(), + ex.fhirType())); } switch(r.getType()) { case "StructureDefinition": @@ -413,8 +417,9 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte if (Utilities.existsInList(url, "http://hl7.org/fhir/SearchParameter/example")) { return; } - throw new DefinitionException(formatMessage(I18nConstants.DUPLICATE_RESOURCE_, url, - fetchResourceWithException(r.getClass(), url).fhirType())); + CanonicalResource ex = (CanonicalResource) fetchResourceWithException(r.getClass(), url); + throw new DefinitionException(formatMessage(I18nConstants.DUPLICATE_RESOURCE_, url, ((CanonicalResource) r).getVersion(), ex.getVersion(), + ex.fhirType())); } if (r instanceof StructureDefinition) { StructureDefinition sd = (StructureDefinition) m; @@ -1364,15 +1369,15 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte } public T fetchResourceWithException(String cls, String uri) throws FHIRException { - return fetchResourceWithException(cls, uri, null); + return fetchResourceWithExceptionByVersion(cls, uri, null, null); } public T fetchResourceWithException(Class class_, String uri, CanonicalResource source) throws FHIRException { - return fetchResourceWithException(class_, uri, null, source); + return fetchResourceWithExceptionByVersion(class_, uri, null, source); } @SuppressWarnings("unchecked") - public T fetchResourceWithException(Class class_, String uri, String version, CanonicalResource source) throws FHIRException { + public T fetchResourceWithExceptionByVersion(Class class_, String uri, String version, CanonicalResource source) throws FHIRException { if (uri == null) { return null; } @@ -1382,9 +1387,13 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte } synchronized (lock) { - if (uri.contains("|")) { - version = uri.substring(uri.lastIndexOf("|")+1); - uri = uri.substring(0, uri.lastIndexOf("|")); + if (version == null) { + if (uri.contains("|")) { + version = uri.substring(uri.lastIndexOf("|")+1); + uri = uri.substring(0, uri.lastIndexOf("|")); + } + } else { + assert !uri.contains("|"); } if (uri.contains("#")) { uri = uri.substring(0, uri.indexOf("#")); @@ -1556,7 +1565,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte } @SuppressWarnings("unchecked") - public T fetchResourceWithException(String cls, String uri, CanonicalResource source) throws FHIRException { + public T fetchResourceWithExceptionByVersion(String cls, String uri, String version, CanonicalResource source) throws FHIRException { if (uri == null) { return null; } @@ -1566,10 +1575,14 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte } synchronized (lock) { - String version = null; - if (uri.contains("|")) { - version = uri.substring(uri.lastIndexOf("|")+1); - uri = uri.substring(0, uri.lastIndexOf("|")); + if (version == null) { + if (uri.contains("|")) { + version = uri.substring(uri.lastIndexOf("|")+1); + uri = uri.substring(0, uri.lastIndexOf("|")); + } + } else { + boolean b = !uri.contains("|"); + assert b; } if (uri.contains("#")) { uri = uri.substring(0, uri.indexOf("#")); @@ -1728,7 +1741,7 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte public T fetchResource(Class class_, String uri, String version) { try { - return fetchResourceWithException(class_, uri, version, null); + return fetchResourceWithExceptionByVersion(class_, uri, version, null); } catch (FHIRException e) { throw new Error(e); } @@ -1751,6 +1764,22 @@ public abstract class BaseWorkerContext extends I18nBase implements IWorkerConte } } + public boolean hasResourceVersion(Class class_, String uri, String version) { + try { + return fetchResourceWithExceptionByVersion(class_, uri, version, null) != null; + } catch (Exception e) { + return false; + } + } + + public boolean hasResourceVersion(String cls, String uri, String version) { + try { + return fetchResourceWithExceptionByVersion(cls, uri, version, null) != null; + } catch (Exception e) { + return false; + } + } + public TranslationServices translator() { return translator; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java index 0ad221c62..6ab1b474c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java @@ -86,6 +86,13 @@ public class CanonicalResourceManager { @Override public String toString() { return type+"/"+id+": "+url+"|"+version; + } + + public void hack(String url, String version) { + this.url = url; + this.version = version; + getResource().setUrl(url).setVersion(version); + } } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/IWorkerContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/IWorkerContext.java index 3521f353d..40f3dedbd 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/IWorkerContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/IWorkerContext.java @@ -193,6 +193,10 @@ public interface IWorkerContext { public Date getDate() { return date; } + public boolean isHTO() { + boolean b = id.startsWith("hl7.terminology.r"); + return b; + } } From 61a39b60bb65df2c2dce472569e91a53d50fb630 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 9 Aug 2022 20:19:20 +1000 Subject: [PATCH 003/156] Bundle rendering improvements --- .../r5/renderers/ProfileDrivenRenderer.java | 36 +++++--- .../r5/renderers/utils/RenderingContext.java | 86 +++++++++++-------- .../hl7/fhir/r5/renderers/utils/Resolver.java | 3 + .../hl7/fhir/r5/utils/PackageHackerR5.java | 40 +++++++++ 4 files changed, 120 insertions(+), 45 deletions(-) create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/PackageHackerR5.java diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index 932b251b8..5dad32806 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -66,6 +66,7 @@ import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; import org.hl7.fhir.r5.renderers.utils.DOMWrappers.BaseWrapperElement; import org.hl7.fhir.r5.renderers.utils.DOMWrappers.ResourceWrapperElement; import org.hl7.fhir.r5.renderers.utils.DirectWrappers; +import org.hl7.fhir.r5.renderers.utils.ElementWrappers; import org.hl7.fhir.r5.renderers.utils.DirectWrappers.BaseWrapperDirect; import org.hl7.fhir.r5.renderers.utils.DirectWrappers.PropertyWrapperDirect; import org.hl7.fhir.r5.renderers.utils.DirectWrappers.ResourceWrapperDirect; @@ -106,7 +107,10 @@ public class ProfileDrivenRenderer extends ResourceRenderer { if (context.isAddGeneratedNarrativeHeader()) { x.para().b().tx("Generated Narrative: "+r.fhirType()); } - if (context.isTechnicalMode()) { + if (!Utilities.noString(r.getId())) { + x.an(r.getId()); + } + if (context.isTechnicalMode() && !context.isContained()) { renderResourceHeader(r, x); } try { @@ -384,7 +388,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { if (r.getReference() != null && r.getReference().contains("#")) { if (containedIds.contains(r.getReference().substring(1))) { x.ah(r.getReference()).tx("See "+r.getReference()); - } else { + } else { // in this case, we render the resource in line ResourceWrapper rw = null; for (ResourceWrapper t : res.getContained()) { @@ -395,9 +399,17 @@ public class ProfileDrivenRenderer extends ResourceRenderer { if (rw == null) { renderReference(res, x, r); } else { - x.an(rw.getId()); - ResourceRenderer rr = RendererFactory.factory(rw, context.copy().setAddGeneratedNarrativeHeader(false)); - rr.render(parent.blockquote(), rw); + String ref = context.getResolver().urlForContained(context, res.fhirType(), res.getId(), rw.fhirType(), rw.getId()); + if (ref == null) { + x.an(rw.getId()); + RenderingContext ctxtc = context.copy(); + ctxtc.setAddGeneratedNarrativeHeader(false); + ctxtc.setContained(true); + ResourceRenderer rr = RendererFactory.factory(rw, ctxtc); + rr.render(parent.blockquote(), rw); + } else { + x.ah(ref).tx("See "+rw.fhirType()); + } } } } else { @@ -687,11 +699,15 @@ public class ProfileDrivenRenderer extends ResourceRenderer { boolean showCodeDetails, int indent, PropertyWrapper p, ElementDefinition child) throws UnsupportedEncodingException, IOException, EOperationOutcome { Map displayHints = readDisplayHints(child); if ("DomainResource.contained".equals(child.getBase().getPath())) { -// if (p.getValues().size() > 0 && child != null) { -// for (BaseWrapper v : p.getValues()) { -// x.an(v.get("id").primitiveValue()); -// } -// } + System.out.print("-"); +// for (BaseWrapper v : p.getValues()) { +// x.hr(); +// RenderingContext ctxt = context.clone(); +// ctxt.setContained(true); +// ResourceRenderer rnd = RendererFactory.factory(v.fhirType(), ctxt); +// ResourceWrapper rw = new ElementWrappers.ResourceWrapperMetaElement(ctxt, (org.hl7.fhir.r5.elementmodel.Element) v.getBase()); +// rnd.render(x.blockquote(), rw); +// } } else if (!exemptFromRendering(child)) { if (isExtension(p)) { hasExtensions = true; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index 3c8c78d04..9d0f99ceb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -105,6 +105,7 @@ public class RenderingContext { private boolean canonicalUrlsAsLinks; private boolean pretty; private boolean header; + private boolean contained; private ValidationOptions terminologyServiceOptions = new ValidationOptions(); private boolean noSlowLookup; @@ -153,11 +154,53 @@ public class RenderingContext { this.locale = new Locale.Builder().setLanguageTag("en-US").build(); profileUtilities = new ProfileUtilities(worker, null, null); } + public RenderingContext copy() { + RenderingContext res = new RenderingContext(worker, markdown, terminologyServiceOptions, specificationLink, localPrefix, lang, mode); + + res.resolver = resolver; + res.templateProvider = templateProvider; + res.services = services; + res.parser = parser; + + res.headerLevelContext = headerLevelContext; + res.canonicalUrlsAsLinks = canonicalUrlsAsLinks; + res.pretty = pretty; + res.contained = contained; + + res.noSlowLookup = noSlowLookup; + res.tooCostlyNoteEmpty = tooCostlyNoteEmpty; + res.tooCostlyNoteNotEmpty = tooCostlyNoteNotEmpty; + res.tooCostlyNoteEmptyDependent = tooCostlyNoteEmptyDependent; + res.tooCostlyNoteNotEmptyDependent = tooCostlyNoteNotEmptyDependent; + res.codeSystemPropList.addAll(codeSystemPropList); + + res.profileUtilities = profileUtilities; + res.definitionsTarget = definitionsTarget; + res.destDir = destDir; + res.addGeneratedNarrativeHeader = addGeneratedNarrativeHeader; + res.questionnaireMode = questionnaireMode; + res.header = header; + res.selfLink = selfLink; + res.inlineGraphics = inlineGraphics; + res.timeZoneId = timeZoneId; + res.dateTimeFormat = dateTimeFormat; + res.dateFormat = dateFormat; + res.dateYearFormat = dateYearFormat; + res.dateYearMonthFormat = dateYearMonthFormat; + res.targetVersion = targetVersion; + res.locale = locale; + + res.terminologyServiceOptions = terminologyServiceOptions.copy(); + return res; + } + public IWorkerContext getContext() { return worker; } + + // -- 2. Markdown support ------------------------------------------------------- public ProfileUtilities getProfileUtilities() { @@ -338,41 +381,6 @@ public class RenderingContext { return this; } - public RenderingContext copy() { - RenderingContext res = new RenderingContext(worker, markdown, terminologyServiceOptions, specificationLink, localPrefix, lang, mode); - - res.resolver = resolver; - res.templateProvider = templateProvider; - res.services = services; - res.parser = parser; - - res.headerLevelContext = headerLevelContext; - res.canonicalUrlsAsLinks = canonicalUrlsAsLinks; - res.pretty = pretty; - - res.noSlowLookup = noSlowLookup; - res.tooCostlyNoteEmpty = tooCostlyNoteEmpty; - res.tooCostlyNoteNotEmpty = tooCostlyNoteNotEmpty; - res.tooCostlyNoteEmptyDependent = tooCostlyNoteEmptyDependent; - res.tooCostlyNoteNotEmptyDependent = tooCostlyNoteNotEmptyDependent; - res.codeSystemPropList.addAll(codeSystemPropList); - - res.profileUtilities = profileUtilities; - res.definitionsTarget = definitionsTarget; - res.destDir = destDir; - res.addGeneratedNarrativeHeader = addGeneratedNarrativeHeader; - res.questionnaireMode = questionnaireMode; - res.header = header; - res.selfLink = selfLink; - res.inlineGraphics = inlineGraphics; - res.timeZoneId = timeZoneId; - res.dateTimeFormat = dateTimeFormat; - res.dateFormat = dateFormat; - res.dateYearFormat = dateYearFormat; - res.dateYearMonthFormat = dateYearMonthFormat; - - return res; - } public boolean isInlineGraphics() { return inlineGraphics; @@ -556,6 +564,14 @@ public class RenderingContext { public void setMode(ResourceRendererMode mode) { this.mode = mode; } + + public boolean isContained() { + return contained; + } + + public void setContained(boolean contained) { + this.contained = contained; + } } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/Resolver.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/Resolver.java index 13cbb5977..40b0b12c2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/Resolver.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/Resolver.java @@ -18,6 +18,9 @@ public class Resolver { public interface IReferenceResolver { ResourceWithReference resolve(RenderingContext context, String url); + + // returns null if contained resource is inlined + String urlForContained(RenderingContext context, String containingType, String containingId, String containedType, String containedId); } public static class ResourceContext { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/PackageHackerR5.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/PackageHackerR5.java new file mode 100644 index 000000000..356e37344 --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/PackageHackerR5.java @@ -0,0 +1,40 @@ +package org.hl7.fhir.r5.utils; + +import org.hl7.fhir.r5.context.CanonicalResourceManager.CanonicalResourceProxy; +import org.hl7.fhir.r5.context.IWorkerContext.PackageVersion; + +public class PackageHackerR5 { + + public static void fixLoadedResource(CanonicalResourceProxy r, PackageVersion packageInfo) { + if ("http://terminology.hl7.org/CodeSystem/v2-0391|2.6".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0391-2.6", "2.6"); + } + if ("http://terminology.hl7.org/CodeSystem/v2-0391|2.4".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0391-2.4", "2.4"); + } + if ("http://terminology.hl7.org/CodeSystem/v2-0360|2.7".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0360-2.7", "2.7"); + } + + if ("http://terminology.hl7.org/CodeSystem/v2-0006|2.1".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0006-2.1", "2.1"); + } + + if ("http://terminology.hl7.org/CodeSystem/v2-0360|2.7".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0360-2.7", "2.7"); + } + + if ("http://terminology.hl7.org/CodeSystem/v2-0006|2.4".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0006-2.4", "2.4"); + } + + if ("http://terminology.hl7.org/CodeSystem/v2-0360|2.3.1".equals(r.getUrl())) { + r.hack("http://terminology.hl7.org/CodeSystem/v2-0360-2.3.1", "2.3.1"); + } + + if (r.hasUrl() && r.getUrl().contains("|")) { + assert false; + } + } + +} From e2d1cbfffaf97f97363b4d8221078d458c5b19c8 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 9 Aug 2022 20:19:39 +1000 Subject: [PATCH 004/156] msic commit --- .../main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java | 1 + .../org/hl7/fhir/utilities/validation/ValidationOptions.java | 2 +- org.hl7.fhir.utilities/src/main/resources/Messages.properties | 3 ++- pom.xml | 2 +- 4 files changed, 5 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java index a181728fd..439d65e6a 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java @@ -82,6 +82,7 @@ public class I18nConstants { public static final String DOES_NOT_MATCH_SLICE_ = "Does_not_match_slice_"; public static final String DUPLICATE_ID = "DUPLICATE_ID"; public static final String DUPLICATE_RESOURCE_ = "Duplicate_Resource_"; + public static final String DUPLICATE_RESOURCE_VERSION = "DUPLICATE_RESOURCE_VERSION"; public static final String ELEMENT_ID__NULL__ON_ = "element_id__null__on_"; public static final String ELEMENT_MUST_HAVE_SOME_CONTENT = "Element_must_have_some_content"; public static final String ELEMENT__NULL_ = "element__null_"; diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/validation/ValidationOptions.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/validation/ValidationOptions.java index 5b41b758f..c8a695723 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/validation/ValidationOptions.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/validation/ValidationOptions.java @@ -40,7 +40,7 @@ public class ValidationOptions { return guessSystem; } - private ValidationOptions copy() { + public ValidationOptions copy() { ValidationOptions n = new ValidationOptions(language); n.useServer = useServer; n.useClient = useClient; diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index 7533aeaba..fb1b82c2b 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -416,7 +416,8 @@ No_Parameters_provided_to_expandVS = No Parameters provided to expandVS No_Expansion_Parameters_provided = No Expansion Parameters provided Unable_to_resolve_value_Set_ = Unable to resolve value Set {0} Delimited_versions_have_exact_match_for_delimiter____vs_ = Delimited versions have exact match for delimiter ''{0}'' : {1} vs {2} -Duplicate_Resource_ = Duplicate Resource {0} of type {1} +Duplicate_Resource_ = Duplicate Resource {0} of type {3} (existing version {2}, new version {1}) +DUPLICATE_RESOURCE_VERSION = Duplicate Resource {0} Version {1} of type {2} Error_expanding_ValueSet_running_without_terminology_services = Error expanding ValueSet: running without terminology services Error_validating_code_running_without_terminology_services = Error validating code: running without terminology services Unable_to_validate_code_without_using_server = Unable to validate code without using server diff --git a/pom.xml b/pom.xml index fdf7f5fb3..93de3d955 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.103 + 1.1.104-SNAPSHOT 5.7.1 1.8.2 3.0.0-M5 From 1aab88f6a799a748f8b2247ed0cd3183743068e5 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 9 Aug 2022 22:29:59 +1000 Subject: [PATCH 005/156] migrate r5 changes to r4b --- .../r4b/conformance/ProfileUtilities.java | 27 +- .../hl7/fhir/r4b/model/ElementDefinition.java | 20 ++ .../hl7/fhir/r4b/renderers/DataRenderer.java | 252 ++++++++++++++++-- .../r4b/renderers/ProfileDrivenRenderer.java | 30 ++- .../org/hl7/fhir/r4b/renderers/Renderer.java | 5 +- .../fhir/r4b/renderers/RendererFactory.java | 3 + .../fhir/r4b/renderers/ResourceRenderer.java | 17 +- .../r4b/renderers/utils/RenderingContext.java | 101 +++++-- .../fhir/r4b/renderers/utils/Resolver.java | 3 + .../r5/renderers/ProfileDrivenRenderer.java | 1 - 10 files changed, 389 insertions(+), 70 deletions(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java index 857170786..746bce8ee 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java @@ -624,6 +624,8 @@ public class ProfileUtilities extends TranslatingUtilities { throw new DefinitionException(context.formatMessage(I18nConstants.BASE__DERIVED_PROFILES_HAVE_DIFFERENT_TYPES____VS___, base.getUrl(), base.getType(), derived.getUrl(), derived.getType())); } + fixTypeOfResourceId(base); + if (snapshotStack.contains(derived.getUrl())) { throw new DefinitionException(context.formatMessage(I18nConstants.CIRCULAR_SNAPSHOT_REFERENCES_DETECTED_CANNOT_GENERATE_SNAPSHOT_STACK__, snapshotStack.toString())); } @@ -803,6 +805,25 @@ public class ProfileUtilities extends TranslatingUtilities { } } + private void fixTypeOfResourceId(StructureDefinition base) { + if (base.getKind() == StructureDefinitionKind.RESOURCE && (base.getFhirVersion() == null || VersionUtilities.isR4Plus(base.getFhirVersion().toCode()))) { + fixTypeOfResourceId(base.getSnapshot().getElement()); + fixTypeOfResourceId(base.getDifferential().getElement()); + } + } + + private void fixTypeOfResourceId(List list) { + for (ElementDefinition ed : list) { + if (ed.hasBase() && ed.getBase().getPath().equals("Resource.id")) { + for (TypeRefComponent tr : ed.getType()) { + tr.setCode("http://hl7.org/fhirpath/System.String"); + tr.removeExtension(ToolingExtensions.EXT_FHIR_TYPE); + ToolingExtensions.addUrlExtension(tr, ToolingExtensions.EXT_FHIR_TYPE, "id"); + } + } + } + } + public void checkDifferentialBaseType(StructureDefinition derived) throws Error { if (derived.hasDifferential() && !derived.getDifferential().getElementFirstRep().getPath().contains(".") && !derived.getDifferential().getElementFirstRep().getType().isEmpty()) { if (wantFixDifferentialFirstElementType && typeMatchesAncestor(derived.getDifferential().getElementFirstRep().getType(), derived.getBaseDefinition())) { @@ -3740,7 +3761,7 @@ public class ProfileUtilities extends TranslatingUtilities { } } else if (Utilities.isAbsoluteUrl(u)) { StructureDefinition sd = context.fetchResource(StructureDefinition.class, u); - if (sd != null) { + if (sd != null && pkp != null) { String disp = sd.hasTitle() ? sd.getTitle() : sd.getName(); String ref = pkp.getLinkForProfile(null, sd.getUrl()); if (ref != null && ref.contains("|")) @@ -4214,6 +4235,7 @@ public class ProfileUtilities extends TranslatingUtilities { Row currRow = row; List groups = readChoices(element, children); boolean isExtension = Utilities.existsInList(tail(element.getPath()), "extension", "modifierExtension"); + if (!element.prohibited()) { for (ElementDefinition child : children) { if (!child.hasSliceName()) { currRow = row; @@ -4224,6 +4246,7 @@ public class ProfileUtilities extends TranslatingUtilities { currRow = genElement(defPath, gen, childRow.getSubRows(), child, all, profiles, showMissing, profileBaseFileName, isExtension, snapshot, corePath, imagePath, false, logicalModel, isConstraintMode, allInvariants, currRow, mustSupport, rc); } } + } // if (!snapshot && (extensions == null || !extensions)) // for (ElementDefinition child : children) // if (child.getPath().endsWith(".extension") || child.getPath().endsWith(".modifierExtension")) @@ -4334,7 +4357,7 @@ public class ProfileUtilities extends TranslatingUtilities { res.add(addCell(row, gen.new Cell(null, null, "?gen-e1? "+element.getType().get(0).getProfile(), null, null))); res.add(generateDescription(gen, row, element, (ElementDefinition) element.getUserData(DERIVATION_POINTER), used.used, profile == null ? "" : profile.getUrl(), eurl, profile, corePath, imagePath, root, logicalModel, allInvariants, snapshot, mustSupport, allowSubRows, rc)); } else { - String name = urltail(eurl); + String name = element.hasSliceName() ? element.getSliceName() : urltail(eurl); nameCell.getPieces().get(0).setText(name); // left.getPieces().get(0).setReference((String) extDefn.getExtensionStructure().getTag("filename")); nameCell.getPieces().get(0).setHint(translate("sd.table", "Extension URL")+" = "+extDefn.getUrl()); diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/ElementDefinition.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/ElementDefinition.java index 7a94ef0ea..f1fa117ba 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/ElementDefinition.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/ElementDefinition.java @@ -11464,6 +11464,26 @@ When pattern[x] is used to constrain a complex object, it means that each proper return getType().size() == 1 && Utilities.existsInList(getType().get(0).getCode(), "Element", "BackboneElement"); } + public boolean prohibited() { + return "0".equals(getMax()); + } + + public boolean hasFixedOrPattern() { + return hasFixed() || hasPattern(); + } + + public DataType getFixedOrPattern() { + return hasFixed() ? getFixed() : getPattern(); + } + + public boolean isProhibited() { + return "0".equals(getMax()); + } + + public boolean isRequired() { + return getMin() == 1; + } + // end addition diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/DataRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/DataRenderer.java index 4eca5bbe4..3d6a46ac9 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/DataRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/DataRenderer.java @@ -1,5 +1,9 @@ package org.hl7.fhir.r4b.renderers; +import static java.time.temporal.ChronoField.DAY_OF_MONTH; +import static java.time.temporal.ChronoField.MONTH_OF_YEAR; +import static java.time.temporal.ChronoField.YEAR; + import java.io.IOException; import java.io.UnsupportedEncodingException; import java.math.BigDecimal; @@ -9,8 +13,12 @@ import java.text.SimpleDateFormat; import java.time.LocalDate; import java.time.ZoneId; import java.time.ZonedDateTime; +import java.time.chrono.IsoChronology; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeFormatterBuilder; import java.time.format.FormatStyle; +import java.time.format.ResolverStyle; +import java.time.format.SignStyle; import java.util.Currency; import java.util.List; import java.util.TimeZone; @@ -22,6 +30,7 @@ import org.hl7.fhir.r4b.context.IWorkerContext; import org.hl7.fhir.r4b.context.IWorkerContext.ValidationResult; import org.hl7.fhir.r4b.model.Address; import org.hl7.fhir.r4b.model.Annotation; +import org.hl7.fhir.r4b.model.BackboneType; import org.hl7.fhir.r4b.model.Base; import org.hl7.fhir.r4b.model.BaseDateTimeType; import org.hl7.fhir.r4b.model.CanonicalResource; @@ -39,6 +48,8 @@ import org.hl7.fhir.r4b.model.DataRequirement.SortDirection; import org.hl7.fhir.r4b.model.ContactPoint.ContactPointSystem; import org.hl7.fhir.r4b.model.DataType; import org.hl7.fhir.r4b.model.DateTimeType; +import org.hl7.fhir.r4b.model.DateType; +import org.hl7.fhir.r4b.model.ElementDefinition; import org.hl7.fhir.r4b.model.Enumeration; import org.hl7.fhir.r4b.model.Expression; import org.hl7.fhir.r4b.model.Extension; @@ -69,6 +80,7 @@ import org.hl7.fhir.r4b.renderers.utils.BaseWrappers.BaseWrapper; import org.hl7.fhir.r4b.renderers.utils.RenderingContext; import org.hl7.fhir.r4b.renderers.utils.RenderingContext.ResourceRendererMode; import org.hl7.fhir.r4b.utils.ToolingExtensions; +import org.hl7.fhir.r4b.utils.ToolingExtensions; import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; import org.hl7.fhir.utilities.MarkDownProcessor; import org.hl7.fhir.utilities.MarkDownProcessor.Dialect; @@ -348,8 +360,138 @@ public class DataRenderer extends Renderer { return value.primitiveValue(); } + // -- 6. General purpose extension rendering ---------------------------------------------- - // -- 5. Data type Rendering ---------------------------------------------- + public boolean hasRenderableExtensions(DataType element) { + for (Extension ext : element.getExtension()) { + if (canRender(ext)) { + return true; + } + } + return false; + } + + public boolean hasRenderableExtensions(BackboneType element) { + for (Extension ext : element.getExtension()) { + if (canRender(ext)) { + return true; + } + } + return element.hasModifierExtension(); + } + + private String getExtensionLabel(Extension ext) { + StructureDefinition sd = context.getWorker().fetchResource(StructureDefinition.class, ext.getUrl()); + if (sd != null && ext.getValue().isPrimitive() && sd.hasSnapshot()) { + for (ElementDefinition ed : sd.getSnapshot().getElement()) { + if (Utilities.existsInList(ed.getPath(), "Extension", "Extension.value[x]") && ed.hasLabel()) { + return ed.getLabel(); + } + } + } + return null; + } + + private boolean canRender(Extension ext) { + return getExtensionLabel(ext) != null; + } + + public void renderExtensionsInList(XhtmlNode ul, DataType element) throws FHIRFormatError, DefinitionException, IOException { + for (Extension ext : element.getExtension()) { + if (canRender(ext)) { + String lbl = getExtensionLabel(ext); + XhtmlNode li = ul.li(); + li.tx(lbl); + li.tx(": "); + render(li, ext.getValue()); + } + } + } + + public void renderExtensionsInList(XhtmlNode ul, BackboneType element) throws FHIRFormatError, DefinitionException, IOException { + for (Extension ext : element.getModifierExtension()) { + if (canRender(ext)) { + String lbl = getExtensionLabel(ext); + XhtmlNode li = ul.li(); + li = li.b(); + li.tx(lbl); + li.tx(": "); + render(li, ext.getValue()); + } else { + // somehow have to do better than this + XhtmlNode li = ul.li(); + li.b().tx("WARNING: Unrenderable Modifier Extension!"); + } + } + for (Extension ext : element.getExtension()) { + if (canRender(ext)) { + String lbl = getExtensionLabel(ext); + XhtmlNode li = ul.li(); + li.tx(lbl); + li.tx(": "); + render(li, ext.getValue()); + } + } + } + + public void renderExtensionsInText(XhtmlNode div, DataType element, String sep) throws FHIRFormatError, DefinitionException, IOException { + boolean first = true; + for (Extension ext : element.getExtension()) { + if (canRender(ext)) { + if (first) { + first = false; + } else { + div.tx(sep); + div.tx(" "); + } + + String lbl = getExtensionLabel(ext); + div.tx(lbl); + div.tx(": "); + render(div, ext.getValue()); + } + } + } + + public void renderExtensionsInList(XhtmlNode div, BackboneType element, String sep) throws FHIRFormatError, DefinitionException, IOException { + boolean first = true; + for (Extension ext : element.getModifierExtension()) { + if (first) { + first = false; + } else { + div.tx(sep); + div.tx(" "); + } + if (canRender(ext)) { + String lbl = getExtensionLabel(ext); + XhtmlNode b = div.b(); + b.tx(lbl); + b.tx(": "); + render(div, ext.getValue()); + } else { + // somehow have to do better than this + div.b().tx("WARNING: Unrenderable Modifier Extension!"); + } + } + for (Extension ext : element.getExtension()) { + if (canRender(ext)) { + if (first) { + first = false; + } else { + div.tx(sep); + div.tx(" "); + } + + String lbl = getExtensionLabel(ext); + div.tx(lbl); + div.tx(": "); + render(div, ext.getValue()); + } + } + + } + + // -- 6. Data type Rendering ---------------------------------------------- public static String display(IWorkerContext context, DataType type) { return new DataRenderer(new RenderingContext(context, null, null, "http://hl7.org/fhir/R4", "", null, ResourceRendererMode.END_USER)).display(type); @@ -413,15 +555,8 @@ public class DataRenderer extends Renderer { // mode - if rendering mode is technical, format defaults to XML format // locale - otherwise, format defaults to SHORT for the Locale (which defaults to default Locale) if (isOnlyDate(type.getPrecision())) { - DateTimeFormatter fmt = context.getDateFormat(); - if (fmt == null) { - if (context.isTechnicalMode()) { - fmt = DateTimeFormatter.ISO_DATE; - } else { - fmt = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(context.getLocale()); - } - } + DateTimeFormatter fmt = getDateFormatForPrecision(type); LocalDate date = LocalDate.of(type.getYear(), type.getMonth()+1, type.getDay()); return fmt.format(date); } @@ -442,6 +577,43 @@ public class DataRenderer extends Renderer { return fmt.format(zdt); } + private DateTimeFormatter getDateFormatForPrecision(BaseDateTimeType type) { + DateTimeFormatter fmt = getContextDateFormat(type); + if (fmt != null) { + return fmt; + } + if (context.isTechnicalMode()) { + switch (type.getPrecision()) { + case YEAR: + return new DateTimeFormatterBuilder().appendValue(YEAR, 4, 10, SignStyle.EXCEEDS_PAD).toFormatter(); + case MONTH: + return new DateTimeFormatterBuilder().appendValue(YEAR, 4, 10, SignStyle.EXCEEDS_PAD).appendLiteral('-').appendValue(MONTH_OF_YEAR, 2).toFormatter(); + default: + return DateTimeFormatter.ISO_DATE; + } + } else { + switch (type.getPrecision()) { + case YEAR: + return DateTimeFormatter.ofPattern("uuuu"); + case MONTH: + return DateTimeFormatter.ofPattern("MMM uuuu"); + default: + return DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT).withLocale(context.getLocale()); + } + } + } + + private DateTimeFormatter getContextDateFormat(BaseDateTimeType type) { + switch (type.getPrecision()) { + case YEAR: + return context.getDateYearFormat(); + case MONTH: + return context.getDateYearMonthFormat(); + default: + return context.getDateFormat(); + } + } + private boolean isOnlyDate(TemporalPrecisionEnum temporalPrecisionEnum) { return temporalPrecisionEnum == TemporalPrecisionEnum.YEAR || temporalPrecisionEnum == TemporalPrecisionEnum.MONTH || temporalPrecisionEnum == TemporalPrecisionEnum.DAY; } @@ -533,6 +705,12 @@ public class DataRenderer extends Renderer { } } + public void renderDate(XhtmlNode x, Base e) { + if (e.hasPrimitiveValue()) { + x.addText(displayDateTime((DateType) e)); + } + } + public void renderDateTime(XhtmlNode x, String s) { if (s != null) { DateTimeType dt = new DateTimeType(s); @@ -739,7 +917,7 @@ public class DataRenderer extends Renderer { CodeSystem cs = context.getWorker().fetchCodeSystem(system, version); if (cs != null && cs.hasUserData("path")) { if (!Utilities.noString(code)) { - return cs.getUserString("path")+"#"+Utilities.nmtokenize(code); + return cs.getUserString("path")+"#"+cs.getId()+"-"+Utilities.nmtokenize(code); } else { return cs.getUserString("path"); } @@ -755,8 +933,9 @@ public class DataRenderer extends Renderer { if (Utilities.noString(s)) s = lookupCode(c.getSystem(), c.getVersion(), c.getCode()); + CodeSystem cs = context.getWorker().fetchCodeSystem(c.getSystem()); - String sn = describeSystem(c.getSystem()); + String sn = cs != null ? cs.present() : describeSystem(c.getSystem()); String link = getLinkForCode(c.getSystem(), c.getVersion(), c.getCode()); if (link != null) { x.ah(link).tx(sn); @@ -821,11 +1000,11 @@ public class DataRenderer extends Renderer { return s; } - protected void renderCodeableConcept(XhtmlNode x, CodeableConcept cc) { + protected void renderCodeableConcept(XhtmlNode x, CodeableConcept cc) throws FHIRFormatError, DefinitionException, IOException { renderCodeableConcept(x, cc, false); } - protected void renderCodeableReference(XhtmlNode x, CodeableReference e, boolean showCodeDetails) { + protected void renderCodeableReference(XhtmlNode x, CodeableReference e, boolean showCodeDetails) throws FHIRFormatError, DefinitionException, IOException { if (e.hasConcept()) { renderCodeableConcept(x, e.getConcept(), showCodeDetails); } @@ -834,7 +1013,7 @@ public class DataRenderer extends Renderer { } } - protected void renderCodeableConcept(XhtmlNode x, CodeableConcept cc, boolean showCodeDetails) { + protected void renderCodeableConcept(XhtmlNode x, CodeableConcept cc, boolean showCodeDetails) throws FHIRFormatError, DefinitionException, IOException { if (cc.isEmpty()) { return; } @@ -890,6 +1069,12 @@ public class DataRenderer extends Renderer { sp.tx(" \""+c.getDisplay()+"\""); } } + if (hasRenderableExtensions(cc)) { + if (!first) { + sp.tx("; "); + } + renderExtensionsInText(sp, cc, ";"); + } sp.tx(")"); } else { @@ -1139,9 +1324,11 @@ public class DataRenderer extends Renderer { protected String displayQuantity(Quantity q) { StringBuilder s = new StringBuilder(); - s.append("(system = '").append(TerminologyRenderer.describeSystem(q.getSystem())) - .append("' code ").append(q.getCode()) - .append(" = '").append(lookupCode(q.getSystem(), null, q.getCode())).append("')"); + s.append(q.hasValue() ? q.getValue() : "?"); + if (q.hasUnit()) + s.append(" ").append(q.getUnit()); + else if (q.hasCode()) + s.append(" ").append(q.getCode()); return s.toString(); } @@ -1158,26 +1345,33 @@ public class DataRenderer extends Renderer { } if (q.hasUnit()) x.tx(" "+q.getUnit()); - else if (q.hasCode()) + else if (q.hasCode() && q.hasSystem()) { + // if there's a code there *shall* be a system, so if we've got one and not the other, things are invalid and we won't bother trying to render + if (q.hasSystem() && q.getSystem().equals("http://unitsofmeasure.org")) x.tx(" "+q.getCode()); + else + x.tx("(unit "+q.getCode()+" from "+q.getSystem()+")"); + } if (showCodeDetails && q.hasCode()) { x.span("background: LightGoldenRodYellow", null).tx(" (Details: "+TerminologyRenderer.describeSystem(q.getSystem())+" code "+q.getCode()+" = '"+lookupCode(q.getSystem(), null, q.getCode())+"')"); } } public String displayRange(Range q) { + if (!q.hasLow() && !q.hasHigh()) + return "?"; + StringBuilder b = new StringBuilder(); - if (q.hasLow()) - b.append(q.getLow().getValue().toString()); - else - b.append("?"); - b.append("-"); - if (q.hasHigh()) - b.append(q.getHigh().getValue().toString()); - else - b.append("?"); - if (q.getLow().hasUnit()) - b.append(" "+q.getLow().getUnit()); + + boolean sameUnits = (q.getLow().hasUnit() && q.getHigh().hasUnit() && q.getLow().getUnit().equals(q.getHigh().getUnit())) + || (q.getLow().hasCode() && q.getHigh().hasCode() && q.getLow().getCode().equals(q.getHigh().getCode())); + String low = "?"; + if (q.hasLow() && q.getLow().hasValue()) + low = sameUnits ? q.getLow().getValue().toString() : displayQuantity(q.getLow()); + String high = displayQuantity(q.getHigh()); + if (high.isEmpty()) + high = "?"; + b.append(low).append("\u00A0to\u00A0").append(high); return b.toString(); } diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java index fe4d47612..2f594eb4b 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java @@ -106,7 +106,10 @@ public class ProfileDrivenRenderer extends ResourceRenderer { if (context.isAddGeneratedNarrativeHeader()) { x.para().b().tx("Generated Narrative: "+r.fhirType()); } - if (context.isTechnicalMode()) { + if (!Utilities.noString(r.getId())) { + x.an(r.getId()); + } + if (context.isTechnicalMode() && !context.isContained()) { renderResourceHeader(r, x); } try { @@ -312,9 +315,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { x.addText(new Base64().encodeAsString(((Base64BinaryType) e).getValue())); else if (e instanceof org.hl7.fhir.r4b.model.DateType) { org.hl7.fhir.r4b.model.DateType dt = ((org.hl7.fhir.r4b.model.DateType) e); - if (((org.hl7.fhir.r4b.model.DateType) e).hasValue()) { - x.addText(((org.hl7.fhir.r4b.model.DateType) e).toHumanDisplay()); - } + renderDate(x, dt); } else if (e instanceof Enumeration) { Object ev = ((Enumeration) e).getValue(); x.addText(ev == null ? "" : ev.toString()); // todo: look up a display name if there is one @@ -397,9 +398,17 @@ public class ProfileDrivenRenderer extends ResourceRenderer { if (rw == null) { renderReference(res, x, r); } else { + String ref = context.getResolver().urlForContained(context, res.fhirType(), res.getId(), rw.fhirType(), rw.getId()); + if (ref == null) { x.an(rw.getId()); - ResourceRenderer rr = RendererFactory.factory(rw, context.copy().setAddGeneratedNarrativeHeader(false)); + RenderingContext ctxtc = context.copy(); + ctxtc.setAddGeneratedNarrativeHeader(false); + ctxtc.setContained(true); + ResourceRenderer rr = RendererFactory.factory(rw, ctxtc); rr.render(parent.blockquote(), rw); + } else { + x.ah(ref).tx("See "+rw.fhirType()); + } } } } else { @@ -649,7 +658,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { private boolean generateByProfile(StructureDefinition profile, boolean showCodeDetails) { XhtmlNode x = new XhtmlNode(NodeType.Element, "div"); if(context.isAddGeneratedNarrativeHeader()) { - x.para().b().tx("Generated Narrative"+(showCodeDetails ? " with Details" : "")); + x.para().b().tx("Generated Narrative: "+profile.present()+(showCodeDetails ? " with Details" : "")); } try { generateByProfile(rcontext.getResourceResource(), profile, rcontext.getResourceResource(), profile.getSnapshot().getElement(), profile.getSnapshot().getElement().get(0), getChildrenForPath(profile.getSnapshot().getElement(), rcontext.getResourceResource().getResourceType().toString()), x, rcontext.getResourceResource().getResourceType().toString(), showCodeDetails); @@ -689,10 +698,13 @@ public class ProfileDrivenRenderer extends ResourceRenderer { boolean showCodeDetails, int indent, PropertyWrapper p, ElementDefinition child) throws UnsupportedEncodingException, IOException, EOperationOutcome { Map displayHints = readDisplayHints(child); if ("DomainResource.contained".equals(child.getBase().getPath())) { -// if (p.getValues().size() > 0 && child != null) { // for (BaseWrapper v : p.getValues()) { -// x.an(v.get("id").primitiveValue()); -// } +// x.hr(); +// RenderingContext ctxt = context.clone(); +// ctxt.setContained(true); +// ResourceRenderer rnd = RendererFactory.factory(v.fhirType(), ctxt); +// ResourceWrapper rw = new ElementWrappers.ResourceWrapperMetaElement(ctxt, (org.hl7.fhir.r5.elementmodel.Element) v.getBase()); +// rnd.render(x.blockquote(), rw); // } } else if (!exemptFromRendering(child)) { if (isExtension(p)) { diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/Renderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/Renderer.java index 7e8cad5a2..2b7a59fa8 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/Renderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/Renderer.java @@ -53,7 +53,10 @@ public class Renderer { protected static final String RENDER_BUNDLE_IF_MOD = "RENDER_BUNDLE_IF_MOD"; protected static final String RENDER_BUNDLE_IF_MATCH = "RENDER_BUNDLE_IF_MATCH"; protected static final String RENDER_BUNDLE_IF_NONE = "RENDER_BUNDLE_IF_NONE"; - + protected static final String RENDER_BUNDLE_DOCUMENT_CONTENT = "RENDER_BUNDLE_DOCUMENT_CONTENT"; + protected static final String RENDER_BUNDLE_HEADER_DOC_ENTRY_URD = "RENDER_BUNDLE_HEADER_DOC_ENTRY_URD"; + protected static final String RENDER_BUNDLE_HEADER_DOC_ENTRY_U = "RENDER_BUNDLE_HEADER_DOC_ENTRY_U"; + protected static final String RENDER_BUNDLE_HEADER_DOC_ENTRY_RD = "RENDER_BUNDLE_HEADER_DOC_ENTRY_RD"; /** the plan here is to make this have it's own implementation of messages, rather than using the * validator messages, for better alignment with publisher I18n strategy diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/RendererFactory.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/RendererFactory.java index 67da72631..9b9af0a95 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/RendererFactory.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/RendererFactory.java @@ -114,6 +114,9 @@ public class RendererFactory { if ("Library".equals(resource.getName())) { return new LibraryRenderer(context); } + if ("Patient".equals(resource.getName())) { + return new PatientRenderer(context); + } if ("DiagnosticReport".equals(resource.getName())) { return new DiagnosticReportRenderer(context); } diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java index e932a1c61..f418074b7 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java @@ -158,9 +158,8 @@ public abstract class ResourceRenderer extends DataRenderer { if (target.hasUserData("path")) { x.ah(target.getUserString("path")).tx(cr.present()); } else { - url = url.substring(0, url.indexOf("|")); x.code().tx(url); - x.tx(": "+cr.present()); + x.tx(" ("+cr.present()+")"); } } } @@ -414,6 +413,8 @@ public abstract class ResourceRenderer extends DataRenderer { if (id != null || lang != null || versionId != null || lastUpdated != null) { XhtmlNode p = plateStyle(div.para()); p.tx("Resource "); + p.tx(r.fhirType()); + p.tx(" "); if (id != null) { p.tx("\""+id+"\" "); } @@ -489,4 +490,16 @@ public abstract class ResourceRenderer extends DataRenderer { private String getPrimitiveValue(ResourceWrapper r, String name) throws UnsupportedEncodingException, FHIRException, IOException { return r.has(name) && r.getChildByName(name).hasValues() ? r.getChildByName(name).getValues().get(0).getBase().primitiveValue() : null; } + + public void renderOrError(DomainResource dr) { + try { + render(dr); + } catch (Exception e) { + XhtmlNode x = new XhtmlNode(NodeType.Element, "div"); + x.para().tx("Error rendering: "+e.getMessage()); + dr.setText(null); + inject(dr, x, NarrativeStatus.GENERATED); + } + + } } \ No newline at end of file diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/RenderingContext.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/RenderingContext.java index 8fdb7a794..6b0a75f82 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/RenderingContext.java @@ -105,6 +105,7 @@ public class RenderingContext { private boolean canonicalUrlsAsLinks; private boolean pretty; private boolean header; + private boolean contained; private ValidationOptions terminologyServiceOptions = new ValidationOptions(); private boolean noSlowLookup; @@ -127,6 +128,8 @@ public class RenderingContext { private ZoneId timeZoneId; private DateTimeFormatter dateTimeFormat; private DateTimeFormatter dateFormat; + private DateTimeFormatter dateYearFormat; + private DateTimeFormatter dateYearMonthFormat; /** * @@ -151,6 +154,46 @@ public class RenderingContext { this.locale = new Locale.Builder().setLanguageTag("en-US").build(); profileUtilities = new ProfileUtilities(worker, null, null); } + public RenderingContext copy() { + RenderingContext res = new RenderingContext(worker, markdown, terminologyServiceOptions, specificationLink, localPrefix, lang, mode); + + res.resolver = resolver; + res.templateProvider = templateProvider; + res.services = services; + res.parser = parser; + + res.headerLevelContext = headerLevelContext; + res.canonicalUrlsAsLinks = canonicalUrlsAsLinks; + res.pretty = pretty; + res.contained = contained; + + res.noSlowLookup = noSlowLookup; + res.tooCostlyNoteEmpty = tooCostlyNoteEmpty; + res.tooCostlyNoteNotEmpty = tooCostlyNoteNotEmpty; + res.tooCostlyNoteEmptyDependent = tooCostlyNoteEmptyDependent; + res.tooCostlyNoteNotEmptyDependent = tooCostlyNoteNotEmptyDependent; + res.codeSystemPropList.addAll(codeSystemPropList); + + res.profileUtilities = profileUtilities; + res.definitionsTarget = definitionsTarget; + res.destDir = destDir; + res.addGeneratedNarrativeHeader = addGeneratedNarrativeHeader; + res.questionnaireMode = questionnaireMode; + res.header = header; + res.selfLink = selfLink; + res.inlineGraphics = inlineGraphics; + res.timeZoneId = timeZoneId; + res.dateTimeFormat = dateTimeFormat; + res.dateFormat = dateFormat; + res.dateYearFormat = dateYearFormat; + res.dateYearMonthFormat = dateYearMonthFormat; + res.targetVersion = targetVersion; + res.locale = locale; + + res.terminologyServiceOptions = terminologyServiceOptions.copy(); + return res; + } + public IWorkerContext getContext() { return worker; @@ -336,32 +379,6 @@ public class RenderingContext { return this; } - public RenderingContext copy() { - RenderingContext res = new RenderingContext(worker, markdown, terminologyServiceOptions, specificationLink, localPrefix, lang, mode); - - res.resolver = resolver; - res.templateProvider = templateProvider; - res.services = services; - res.parser = parser; - - res.headerLevelContext = headerLevelContext; - res.canonicalUrlsAsLinks = canonicalUrlsAsLinks; - res.pretty = pretty; - - res.noSlowLookup = noSlowLookup; - res.tooCostlyNoteEmpty = tooCostlyNoteEmpty; - res.tooCostlyNoteNotEmpty = tooCostlyNoteNotEmpty; - res.tooCostlyNoteEmptyDependent = tooCostlyNoteEmptyDependent; - res.tooCostlyNoteNotEmptyDependent = tooCostlyNoteNotEmptyDependent; - res.codeSystemPropList.addAll(codeSystemPropList); - - res.profileUtilities = profileUtilities; - res.definitionsTarget = definitionsTarget; - res.destDir = destDir; - res.addGeneratedNarrativeHeader = addGeneratedNarrativeHeader; - - return res; - } public boolean isInlineGraphics() { return inlineGraphics; @@ -514,6 +531,30 @@ public class RenderingContext { this.dateFormat = DateTimeFormatter.ofPattern(dateFormat); } + public DateTimeFormatter getDateYearFormat() { + return dateYearFormat; + } + + public void setDateYearFormat(DateTimeFormatter dateYearFormat) { + this.dateYearFormat = dateYearFormat; + } + + public void setDateYearFormatString(String dateYearFormat) { + this.dateYearFormat = DateTimeFormatter.ofPattern(dateYearFormat); + } + + public DateTimeFormatter getDateYearMonthFormat() { + return dateYearMonthFormat; + } + + public void setDateYearMonthFormat(DateTimeFormatter dateYearMonthFormat) { + this.dateYearMonthFormat = dateYearMonthFormat; + } + + public void setDateYearMonthFormatString(String dateYearMonthFormat) { + this.dateYearMonthFormat = DateTimeFormatter.ofPattern(dateYearMonthFormat); + } + public ResourceRendererMode getMode() { return mode; } @@ -521,6 +562,14 @@ public class RenderingContext { public void setMode(ResourceRendererMode mode) { this.mode = mode; } + + public boolean isContained() { + return contained; + } + + public void setContained(boolean contained) { + this.contained = contained; + } } \ No newline at end of file diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/Resolver.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/Resolver.java index 477c28268..0872e5616 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/Resolver.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/utils/Resolver.java @@ -18,6 +18,9 @@ public class Resolver { public interface IReferenceResolver { ResourceWithReference resolve(RenderingContext context, String url); + + // returns null if contained resource is inlined + String urlForContained(RenderingContext context, String containingType, String containingId, String containedType, String containedId); } public static class ResourceContext { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index 5dad32806..a27e8cbd8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -699,7 +699,6 @@ public class ProfileDrivenRenderer extends ResourceRenderer { boolean showCodeDetails, int indent, PropertyWrapper p, ElementDefinition child) throws UnsupportedEncodingException, IOException, EOperationOutcome { Map displayHints = readDisplayHints(child); if ("DomainResource.contained".equals(child.getBase().getPath())) { - System.out.print("-"); // for (BaseWrapper v : p.getValues()) { // x.hr(); // RenderingContext ctxt = context.clone(); From 056e41d19de2ba55461d3b0305a4352abe735c6c Mon Sep 17 00:00:00 2001 From: jamesagnew Date: Tue, 9 Aug 2022 11:23:23 -0400 Subject: [PATCH 006/156] Add Reference.resource to output of copy(). --- .../hl7/fhir/dstu2/model/BaseReference.java | 64 ++++++++++-------- .../fhir/dstu2016may/model/BaseReference.java | 64 ++++++++++-------- .../hl7/fhir/dstu3/model/BaseReference.java | 64 ++++++++++-------- .../org/hl7/fhir/r4/model/BaseReference.java | 66 +++++++++++-------- .../org/hl7/fhir/r4b/model/BaseReference.java | 64 ++++++++++-------- .../org/hl7/fhir/r5/model/BaseReference.java | 64 ++++++++++-------- 6 files changed, 217 insertions(+), 169 deletions(-) diff --git a/org.hl7.fhir.dstu2/src/main/java/org/hl7/fhir/dstu2/model/BaseReference.java b/org.hl7.fhir.dstu2/src/main/java/org/hl7/fhir/dstu2/model/BaseReference.java index 1efb86801..6ae24b6f6 100644 --- a/org.hl7.fhir.dstu2/src/main/java/org/hl7/fhir/dstu2/model/BaseReference.java +++ b/org.hl7.fhir.dstu2/src/main/java/org/hl7/fhir/dstu2/model/BaseReference.java @@ -1,33 +1,33 @@ package org.hl7.fhir.dstu2.model; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.instance.model.api.IAnyResource; @@ -93,4 +93,12 @@ public abstract class BaseReference extends Type implements IBaseReference, ICom return resource == null && super.isEmpty(); } + @Override + public void copyValues(Element dst) { + super.copyValues(dst); + if (resource != null && dst instanceof BaseReference) { + ((BaseReference) dst).setResource(resource); + } + } + } \ No newline at end of file diff --git a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseReference.java b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseReference.java index 96caeb34b..26ffabcc6 100644 --- a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseReference.java +++ b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseReference.java @@ -1,33 +1,33 @@ package org.hl7.fhir.dstu2016may.model; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.instance.model.api.IAnyResource; @@ -93,4 +93,12 @@ public abstract class BaseReference extends Type implements IBaseReference, ICom return resource == null && super.isEmpty(); } + @Override + public void copyValues(Element dst) { + super.copyValues(dst); + if (resource != null && dst instanceof BaseReference) { + ((BaseReference) dst).setResource(resource); + } + } + } \ No newline at end of file diff --git a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseReference.java b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseReference.java index 9f47c77db..d7cba0cdf 100644 --- a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseReference.java +++ b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseReference.java @@ -1,33 +1,33 @@ package org.hl7.fhir.dstu3.model; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.instance.model.api.IAnyResource; @@ -93,4 +93,12 @@ public abstract class BaseReference extends Type implements IBaseReference, ICom return resource == null && super.isEmpty(); } + @Override + public void copyValues(Element dst) { + super.copyValues(dst); + if (resource != null && dst instanceof BaseReference) { + ((BaseReference) dst).setResource(resource); + } + } + } \ No newline at end of file diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseReference.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseReference.java index 736397812..91ac4342f 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseReference.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseReference.java @@ -1,33 +1,33 @@ package org.hl7.fhir.r4.model; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.instance.model.api.IAnyResource; @@ -38,7 +38,7 @@ import org.hl7.fhir.instance.model.api.IIdType; public abstract class BaseReference extends Type implements IBaseReference, ICompositeType { - /** + /** * This is not a part of the "wire format" resource, but can be changed/accessed by parsers */ private transient IBaseResource resource; @@ -93,4 +93,12 @@ public abstract class BaseReference extends Type implements IBaseReference, ICom return resource == null && super.isEmpty(); } + @Override + public void copyValues(Element dst) { + super.copyValues(dst); + if (resource != null && dst instanceof BaseReference) { + ((BaseReference) dst).setResource(resource); + } + } + } \ No newline at end of file diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseReference.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseReference.java index 80e303499..5decb745f 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseReference.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseReference.java @@ -1,33 +1,33 @@ package org.hl7.fhir.r4b.model; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.instance.model.api.IAnyResource; @@ -93,4 +93,12 @@ public abstract class BaseReference extends DataType implements IBaseReference, return resource == null && super.isEmpty(); } + @Override + public void copyValues(Element dst) { + super.copyValues(dst); + if (resource != null && dst instanceof BaseReference) { + ((BaseReference) dst).setResource(resource); + } + } + } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseReference.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseReference.java index 1d9caede2..467c9063a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseReference.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseReference.java @@ -1,33 +1,33 @@ package org.hl7.fhir.r5.model; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.instance.model.api.IAnyResource; @@ -93,4 +93,12 @@ public abstract class BaseReference extends DataType implements IBaseReference, return resource == null && super.isEmpty(); } + @Override + public void copyValues(Element dst) { + super.copyValues(dst); + if (resource != null && dst instanceof BaseReference) { + ((BaseReference) dst).setResource(resource); + } + } + } \ No newline at end of file From ba2ff9390d9b8fe82b80f9cab239465aa84ae6fc Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 10 Aug 2022 21:26:48 +1000 Subject: [PATCH 007/156] Fix narrative generation issue --- .../fhir/r5/renderers/ProfileDrivenRenderer.java | 15 ++++++++++----- .../hl7/fhir/r5/renderers/ResourceRenderer.java | 6 +++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index a27e8cbd8..b79a4f61a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -104,14 +104,19 @@ public class ProfileDrivenRenderer extends ResourceRenderer { @Override public boolean render(XhtmlNode x, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + boolean idDone = false; + XhtmlNode p = x.para(); if (context.isAddGeneratedNarrativeHeader()) { - x.para().b().tx("Generated Narrative: "+r.fhirType()); - } - if (!Utilities.noString(r.getId())) { - x.an(r.getId()); + p.b().tx("Generated Narrative: "+r.fhirType()); + p.an(r.getId()); + idDone = true; } if (context.isTechnicalMode() && !context.isContained()) { - renderResourceHeader(r, x); + renderResourceHeader(r, x, !idDone); + idDone = true; + } + if (!Utilities.noString(r.getId()) && !idDone) { + x.para().an(r.getId()); } try { StructureDefinition sd = r.getDefinition(); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java index 72368b81a..1dc024895 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java @@ -398,12 +398,16 @@ public abstract class ResourceRenderer extends DataRenderer { return true; } - protected void renderResourceHeader(ResourceWrapper r, XhtmlNode x) throws UnsupportedEncodingException, FHIRException, IOException { + protected void renderResourceHeader(ResourceWrapper r, XhtmlNode x, boolean doId) throws UnsupportedEncodingException, FHIRException, IOException { XhtmlNode div = x.div().style("display: inline-block").style("background-color: #d9e0e7").style("padding: 6px") .style("margin: 4px").style("border: 1px solid #8da1b4") .style("border-radius: 5px").style("line-height: 60%"); String id = getPrimitiveValue(r, "id"); + if (doId) { + div.an(id); + } + String lang = getPrimitiveValue(r, "language"); String ir = getPrimitiveValue(r, "implicitRules"); BaseWrapper meta = r.getChildByName("meta").hasValues() ? r.getChildByName("meta").getValues().get(0) : null; From 84cb59683ce0eeefa37bfa38957a0a3a744b1a3a Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 10 Aug 2022 22:22:50 +1000 Subject: [PATCH 008/156] r4b changes for r5 --- .../fhir/r4b/renderers/ProfileDrivenRenderer.java | 15 ++++++++++----- .../hl7/fhir/r4b/renderers/ResourceRenderer.java | 6 +++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java index 2f594eb4b..2877aa34c 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ProfileDrivenRenderer.java @@ -103,14 +103,19 @@ public class ProfileDrivenRenderer extends ResourceRenderer { @Override public boolean render(XhtmlNode x, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + boolean idDone = false; + XhtmlNode p = x.para(); if (context.isAddGeneratedNarrativeHeader()) { - x.para().b().tx("Generated Narrative: "+r.fhirType()); - } - if (!Utilities.noString(r.getId())) { - x.an(r.getId()); + p.b().tx("Generated Narrative: "+r.fhirType()); + p.an(r.getId()); + idDone = true; } if (context.isTechnicalMode() && !context.isContained()) { - renderResourceHeader(r, x); + renderResourceHeader(r, x, !idDone); + idDone = true; + } + if (!Utilities.noString(r.getId()) && !idDone) { + x.para().an(r.getId()); } try { StructureDefinition sd = r.getDefinition(); diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java index f418074b7..5ed4e4081 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ResourceRenderer.java @@ -397,12 +397,16 @@ public abstract class ResourceRenderer extends DataRenderer { return true; } - protected void renderResourceHeader(ResourceWrapper r, XhtmlNode x) throws UnsupportedEncodingException, FHIRException, IOException { + protected void renderResourceHeader(ResourceWrapper r, XhtmlNode x, boolean doId) throws UnsupportedEncodingException, FHIRException, IOException { XhtmlNode div = x.div().style("display: inline-block").style("background-color: #d9e0e7").style("padding: 6px") .style("margin: 4px").style("border: 1px solid #8da1b4") .style("border-radius: 5px").style("line-height: 60%"); String id = getPrimitiveValue(r, "id"); + if (doId) { + div.an(id); + } + String lang = getPrimitiveValue(r, "language"); String ir = getPrimitiveValue(r, "implicitRules"); BaseWrapper meta = r.getChildByName("meta").hasValues() ? r.getChildByName("meta").getValues().get(0) : null; From 80ca7e31f9d1cde3be9c10f415972ffdb747dbf1 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 11 Aug 2022 19:16:49 +1000 Subject: [PATCH 009/156] Improvements to SearchParameterRenderer --- .../r5/renderers/SearchParameterRenderer.java | 51 ++++++++++++++----- .../hl7/fhir/r5/utils/ToolingExtensions.java | 1 + .../org/hl7/fhir/utilities/Utilities.java | 8 +++ 3 files changed, 48 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java index 6c96a64a1..b93c31767 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java @@ -2,6 +2,7 @@ package org.hl7.fhir.r5.renderers; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.util.List; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; @@ -37,7 +38,7 @@ public class SearchParameterRenderer extends TerminologyRenderer { } public boolean render(XhtmlNode x, Resource dr) throws IOException, FHIRException, EOperationOutcome { - return render(x, (OperationDefinition) dr); + return render(x, (SearchParameter) dr); } public boolean render(XhtmlNode x, SearchParameter spd) throws IOException, FHIRException, EOperationOutcome { @@ -56,7 +57,7 @@ public class SearchParameterRenderer extends TerminologyRenderer { for (CodeType t : spd.getBase()) { StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.toString()); if (sd != null && sd.hasUserData("path")) { - td.sep(", ").ah(sd.getUserString("path")).tx(t.getCode()); + td.ah(sd.getUserString("path")).sep(", ").tx(t.getCode()); } else { td.sep(", ").tx(t.getCode()); } @@ -82,12 +83,18 @@ public class SearchParameterRenderer extends TerminologyRenderer { tr = tbl.tr(); tr.td().tx(Utilities.pluralize("Target Resources", spd.getTarget().size())); td = tr.td(); - for (CodeType t : spd.getTarget()) { - StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.toString()); - if (sd != null && sd.hasUserData("path")) { - td.sep(", ").ah(sd.getUserString("path")).tx(t.getCode()); - } else { - td.sep(", ").tx(t.getCode()); + if (isAllConcreteResources(spd.getTarget())) { + td.ah(Utilities.pathURL(context.getSpecificationLink(), "resourcelist.html")).tx("All Resources"); + } else { + for (CodeType t : spd.getTarget()) { + StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.toString()); + if (sd != null && sd.hasUserData("path")) { + td.sep(", "); + td.ah(sd.getUserString("path")).tx(t.getCode()); + } else { + td.sep(", "); + td.tx(t.getCode()); + } } } } @@ -105,9 +112,11 @@ public class SearchParameterRenderer extends TerminologyRenderer { if (spd.hasComparator()) { tr = tbl.tr(); tr.td().tx("Comparators"); - td = tr.td().tx("Allowed: "); + td = tr.td(); + td.tx("Allowed: "); for (Enumeration t : spd.getComparator()) { - td.sep(", ").tx(t.asStringValue()); + td.sep(", "); + td.tx(t.asStringValue()); } } if (spd.hasModifier()) { @@ -115,7 +124,8 @@ public class SearchParameterRenderer extends TerminologyRenderer { tr.td().tx("Modifiers"); td = tr.td().tx("Allowed: "); for (Enumeration t : spd.getModifier()) { - td.sep(", ").tx(t.asStringValue()); + td.sep(", "); + td.tx(t.asStringValue()); } } if (spd.hasChain()) { @@ -123,7 +133,8 @@ public class SearchParameterRenderer extends TerminologyRenderer { tr.td().tx("Chains"); td = tr.td().tx("Allowed: "); for (StringType t : spd.getChain()) { - td.sep(", ").tx(t.asStringValue()); + td.sep(", "); + td.tx(t.asStringValue()); } } @@ -144,6 +155,22 @@ public class SearchParameterRenderer extends TerminologyRenderer { return false; } + private boolean isAllConcreteResources(List target) { + for (String s : context.getWorker().getResourceNames()) { + StructureDefinition sd = context.getWorker().fetchTypeDefinition(s); + if (!sd.getAbstract() && !Utilities.existsInList(sd.getType(), "Parameters")) { + boolean found = false; + for (CodeType c : target) { + found = found || sd.getName().equals(c.getValue()); + } + if (!found) { + return false; + } + } + } + return true; + } + public void describe(XhtmlNode x, OperationDefinition opd) { x.tx(display(opd)); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java index 0c0c3c990..c6903ad5d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java @@ -158,6 +158,7 @@ public class ToolingExtensions { public static final String EXT_SEC_CAT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category"; public static final String EXT_RESOURCE_CATEGORY = "http://hl7.org/fhir/StructureDefinition/structuredefinition-category"; public static final String EXT_RESOURCE_INTERFACE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-interface"; + public static final String EXT_RESOURCE_IMPLEMENTS = "http://hl7.org/fhir/StructureDefinition/structuredefinition-implements"; public static final String EXT_TABLE_NAME = "http://hl7.org/fhir/StructureDefinition/structuredefinition-table-name"; public static final String EXT_OO_FILE = "http://hl7.org/fhir/StructureDefinition/operationoutcome-file"; public static final String EXT_WORKGROUP = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"; diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java index 8bb68f5b7..3eb5189b0 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java @@ -892,6 +892,14 @@ public class Utilities { return false; } + public static String stringJoin(String sep, String... array) { + CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder(sep); + for (String s : array) + if (!noString(s)) + b.append(s); + return b.toString(); + } + public static String getFileNameForName(String name) { return name.toLowerCase(); From 6fb61b75f0b7aeb819531cf235cdfd50d7d25e37 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 12 Aug 2022 21:24:14 +1000 Subject: [PATCH 010/156] R5 related fixes --- .../fhir/r5/conformance/ProfileUtilities.java | 15 ++-- .../r5/context/CanonicalResourceManager.java | 1 + .../r5/renderers/utils/RenderingContext.java | 12 ++-- .../r5/test/NarrativeGenerationTests.java | 68 ++++++++++++++++++- .../hl7/fhir/utilities/VersionUtilities.java | 7 ++ 5 files changed, 92 insertions(+), 11 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 178ee5601..d420be9d2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -3721,14 +3721,19 @@ public class ProfileUtilities extends TranslatingUtilities { if (ref != null) { String[] parts = ref.split("\\|"); if (parts[0].startsWith("http:") || parts[0].startsWith("https:")) { - // c.addPiece(checkForNoChange(t, gen.new Piece(parts[0], "<" + parts[1] + ">", t.getCode()))); Lloyd - c.addPiece(checkForNoChange(t, gen.new Piece(parts[0], parts[1], t.getWorkingCode()))); + if (p.hasExtension(ToolingExtensions.EXT_PROFILE_ELEMENT)) { + String pp = p.getExtensionString(ToolingExtensions.EXT_PROFILE_ELEMENT); + pp = pp.substring(pp.indexOf(".")); + c.addPiece(checkForNoChange(t, gen.new Piece(parts[0], parts[1]+pp, t.getWorkingCode()))); + } else { + c.addPiece(checkForNoChange(t, gen.new Piece(parts[0], parts[1], t.getWorkingCode()))); + } } else { - // c.addPiece(checkForNoChange(t, gen.new Piece((t.getProfile().startsWith(corePath)? corePath: "")+parts[0], "<" + parts[1] + ">", t.getCode()))); c.addPiece(checkForNoChange(t, gen.new Piece((p.getValue().startsWith(corePath+"StructureDefinition")? corePath: "")+parts[0], parts[1], t.getWorkingCode()))); } - } else + } else { c.addPiece(checkForNoChange(t, gen.new Piece((p.getValue().startsWith(corePath)? corePath: "")+ref, t.getWorkingCode(), null))); + } if (!mustSupportMode && isMustSupport(p) && e.getMustSupport()) { c.addPiece(gen.new Piece(null, " ", null)); c.addStyledText(translate("sd.table", "This profile must be supported"), "S", "white", "red", null, false); @@ -5026,7 +5031,7 @@ public class ProfileUtilities extends TranslatingUtilities { Cell c = gen.new Cell(); row.getCells().add(c); - c.addPiece(gen.new Piece((ed.getBase().getPath().equals(ed.getPath()) ? ref+ed.getPath() : (VersionUtilities.isThisOrLater("4.1", context.getVersion()) ? corePath+"types-definitions.html#"+ed.getBase().getPath() : corePath+"element-definitions.html#"+ed.getBase().getPath())), t.getName(), null)); + c.addPiece(gen.new Piece((ed.getBase().getPath().equals(ed.getPath()) ? ref+ed.getPath() : (VersionUtilities.isR5Ver(context.getVersion()) ? corePath+"types-definitions.html#"+ed.getBase().getPath() : corePath+"element-definitions.html#"+ed.getBase().getPath())), t.getName(), null)); c = gen.new Cell(); row.getCells().add(c); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java index 6ab1b474c..039edd105 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/CanonicalResourceManager.java @@ -21,6 +21,7 @@ public class CanonicalResourceManager { private final String[] INVALID_TERMINOLOGY_URLS = { "http://snomed.info/sct", + "http://dicom.nema.org/resources/ontology/DCM", "http://nucc.org/provider-taxonomy" }; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index 9d0f99ceb..e81bb81d6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -115,7 +115,7 @@ public class RenderingContext { private String tooCostlyNoteNotEmptyDependent; private List codeSystemPropList = new ArrayList<>(); - private ProfileUtilities profileUtilities; + private ProfileUtilities profileUtilitiesR; private String definitionsTarget; private String destDir; private boolean inlineGraphics; @@ -152,7 +152,6 @@ public class RenderingContext { } // default to US locale - discussion here: https://github.com/hapifhir/org.hl7.fhir.core/issues/666 this.locale = new Locale.Builder().setLanguageTag("en-US").build(); - profileUtilities = new ProfileUtilities(worker, null, null); } public RenderingContext copy() { RenderingContext res = new RenderingContext(worker, markdown, terminologyServiceOptions, specificationLink, localPrefix, lang, mode); @@ -174,7 +173,7 @@ public class RenderingContext { res.tooCostlyNoteNotEmptyDependent = tooCostlyNoteNotEmptyDependent; res.codeSystemPropList.addAll(codeSystemPropList); - res.profileUtilities = profileUtilities; + res.profileUtilitiesR = profileUtilitiesR; res.definitionsTarget = definitionsTarget; res.destDir = destDir; res.addGeneratedNarrativeHeader = addGeneratedNarrativeHeader; @@ -204,7 +203,10 @@ public class RenderingContext { // -- 2. Markdown support ------------------------------------------------------- public ProfileUtilities getProfileUtilities() { - return profileUtilities; + if (profileUtilitiesR == null) { + profileUtilitiesR = new ProfileUtilities(worker, null, null); + } + return profileUtilitiesR; } public IWorkerContext getWorker() { @@ -331,7 +333,7 @@ public class RenderingContext { } public RenderingContext setProfileUtilities(ProfileUtilities profileUtilities) { - this.profileUtilities = profileUtilities; + this.profileUtilitiesR = profileUtilities; return this; } diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java index d31bfae21..483041201 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java @@ -8,24 +8,31 @@ import java.util.stream.Stream; import javax.xml.parsers.ParserConfigurationException; +import org.apache.commons.lang3.NotImplementedException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.r5.conformance.ProfileUtilities; +import org.hl7.fhir.r5.conformance.ProfileUtilities.ProfileKnowledgeProvider; import org.hl7.fhir.r5.context.IWorkerContext; import org.hl7.fhir.r5.elementmodel.Manager; import org.hl7.fhir.r5.elementmodel.Manager.FhirFormat; import org.hl7.fhir.r5.formats.JsonParser; import org.hl7.fhir.r5.formats.XmlParser; import org.hl7.fhir.r5.model.Base; +import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent; import org.hl7.fhir.r5.model.Resource; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.renderers.RendererFactory; import org.hl7.fhir.r5.renderers.utils.ElementWrappers; import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.RenderingContext.ITypeParser; import org.hl7.fhir.r5.renderers.utils.RenderingContext.ResourceRendererMode; +import org.hl7.fhir.r5.test.NarrativeGenerationTests.TestProfileKnowledgeProvider; import org.hl7.fhir.r5.test.utils.CompareUtilities; import org.hl7.fhir.r5.test.utils.TestingUtilities; import org.hl7.fhir.utilities.TerminologyServiceOptions; import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xhtml.XhtmlComposer; import org.hl7.fhir.utilities.xhtml.XhtmlNode; import org.hl7.fhir.utilities.xml.XMLUtil; @@ -40,6 +47,64 @@ import org.xml.sax.SAXException; public class NarrativeGenerationTests { + public class TestProfileKnowledgeProvider implements ProfileKnowledgeProvider { + + private IWorkerContext context; + + public TestProfileKnowledgeProvider(IWorkerContext context) { + this.context = context; + } + + @Override + public boolean isDatatype(String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public boolean isResource(String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public boolean hasLinkFor(String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public String getLinkFor(String corePath, String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public BindingResolution resolveBinding(StructureDefinition def, ElementDefinitionBindingComponent binding, String path) throws FHIRException { + throw new NotImplementedException(); + } + + @Override + public BindingResolution resolveBinding(StructureDefinition def, String url, String path) throws FHIRException { + throw new NotImplementedException(); + } + + @Override + public String getLinkForProfile(StructureDefinition profile, String url) { + if ("http://hl7.org/fhir/StructureDefinition/Composition".equals(url)) { + return "http://hl7.org/fhir/composition.html|TestComposition"; + } + throw new NotImplementedException(); + } + + @Override + public boolean prependLinks() { + throw new NotImplementedException(); + } + + @Override + public String getLinkForUrl(String corePath, String s) { + throw new NotImplementedException(); + } + + } + public class TestTypeParser implements ITypeParser { @Override @@ -111,7 +176,7 @@ public class NarrativeGenerationTests { @MethodSource("data") public void test(String id, TestDetails test) throws Exception { RenderingContext rc = new RenderingContext(context, null, null, "http://hl7.org/fhir", "", null, ResourceRendererMode.END_USER); - rc.setDestDir(""); + rc.setDestDir(Utilities.path("[tmp]", "narrative")); rc.setHeader(test.isHeader()); rc.setDefinitionsTarget("test.html"); rc.setTerminologyServiceOptions(TerminologyServiceOptions.defaults()); @@ -123,6 +188,7 @@ public class NarrativeGenerationTests { rc.setDateTimeFormatString("yyyy-MM-dd'T'HH:mm:ssZZZZZ"); rc.setDateFormatString("yyyy-MM-dd"); rc.setMode(test.technical ? ResourceRendererMode.TECHNICAL : ResourceRendererMode.END_USER); + rc.setProfileUtilities(new ProfileUtilities(rc.getContext(), null, new TestProfileKnowledgeProvider(rc.getContext()))); Resource source; diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/VersionUtilities.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/VersionUtilities.java index 6842dc95e..6c2c02c5b 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/VersionUtilities.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/VersionUtilities.java @@ -558,5 +558,12 @@ public class VersionUtilities { return version != null && (version.startsWith("4.") || version.startsWith("5.") || "current".equals(version)); } + public static boolean refersTo(String refVer, String v) { + if (v.length() > refVer.length()) { + v = v.substring(0, refVer.length()); + } + return refVer.equals(v); + } + } \ No newline at end of file From e854f016fe9d966e102c10329f9f50f99dacb89b Mon Sep 17 00:00:00 2001 From: Oliver Egger Date: Tue, 16 Aug 2022 17:45:04 +0200 Subject: [PATCH 011/156] PatientRenderer #896 --- .../main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java index a89517303..75d30d1ab 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java @@ -101,6 +101,9 @@ public class PatientRenderer extends ResourceRenderer { if (newUse == null) { return true; } + if (oldUse == null) { + return existsInList(newUse, NameUse.OFFICIAL, NameUse.USUAL); + } switch (oldUse) { case ANONYMOUS: return existsInList(newUse, NameUse.OFFICIAL, NameUse.USUAL); case MAIDEN: return existsInList(newUse, NameUse.OFFICIAL, NameUse.USUAL); From 7c5782689a46fae659ac73985f195296c28ed374 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 18 Aug 2022 09:38:44 +1000 Subject: [PATCH 012/156] Fix NPE issue rendering resources without ids --- .../java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index b79a4f61a..686b6a936 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -108,7 +108,9 @@ public class ProfileDrivenRenderer extends ResourceRenderer { XhtmlNode p = x.para(); if (context.isAddGeneratedNarrativeHeader()) { p.b().tx("Generated Narrative: "+r.fhirType()); - p.an(r.getId()); + if (!Utilities.noString(r.getId())) { + p.an(r.getId()); + } idDone = true; } if (context.isTechnicalMode() && !context.isContained()) { From cd820bdf3fd8e872589f73ce0c79aa333aff56f7 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 18 Aug 2022 09:39:01 +1000 Subject: [PATCH 013/156] Fix problem rendering ConceptMaps in value sets --- .../fhir/r5/renderers/ValueSetRenderer.java | 17 ++++++---- .../CommaSeparatedStringBuilder.java | 33 ++++++++++++++++--- 2 files changed, 39 insertions(+), 11 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index 139ef9028..a18097ec2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -108,6 +108,9 @@ public class ValueSetRenderer extends TerminologyRenderer { ConceptMap cm = (ConceptMap) md; if (isSource(vs, cm.getSourceScope())) { ConceptMapRenderInstructions re = findByTarget(cm.getTargetScope()); + if (re == null) { + re = new ConceptMapRenderInstructions(cm.present(), cm.getUrl(), false); + } if (re != null) { ValueSet vst = cm.hasTargetScope() ? getContext().getWorker().fetchResource(ValueSet.class, cm.hasTargetScopeCanonicalType() ? cm.getTargetScopeCanonicalType().getValue() : cm.getTargetScopeUriType().asStringValue()) : null; res.add(new UsedConceptMap(re, vst == null ? cm.getUserString("path") : vst.getUserString("path"), cm)); @@ -346,12 +349,14 @@ public class ValueSetRenderer extends TerminologyRenderer { return null; } String src = source.primitiveValue(); - if (src != null) - for (ConceptMapRenderInstructions t : renderingMaps) { - if (src.equals(t.getUrl())) - return t; - } - return null; + if (src == null) { + return null; + } + for (ConceptMapRenderInstructions t : renderingMaps) { + if (src.equals(t.getUrl())) + return t; + } + return null; } diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java index 89c2eec92..c4c917595 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java @@ -44,23 +44,45 @@ public class CommaSeparatedStringBuilder { String sep = ", "; StringBuilder b = new StringBuilder(); int count = 0; + String pending = null; + private String lastSep; public CommaSeparatedStringBuilder() { + this.sep = ", "; + this.lastSep = ", "; } public CommaSeparatedStringBuilder(String sep) { this.sep = sep; + this.lastSep = sep; } + public CommaSeparatedStringBuilder(String sep, String lastSep) { + this.sep = sep; + this.lastSep = lastSep; + } + + private void commit(boolean last) { + if (pending != null) { + if (!first) { + if (last) { + b.append(lastSep); + } else { + b.append(sep); + } + } + b.append(pending); + first = false; + } + } public void append(String value) { - if (!first) - b.append(sep); - b.append(value); - first = false; + commit(false); + pending = value; count++; } public int length() { + commit(false); return b.length(); } @@ -70,6 +92,7 @@ public class CommaSeparatedStringBuilder { @Override public String toString() { + commit(true); return b.toString(); } @@ -81,7 +104,7 @@ public class CommaSeparatedStringBuilder { public void addAll(List list) { for (String s : list) { - append(s); + appendIfNotNull(s); } } From e8009d3ce31dc48a2279a336c4470522a3c098a8 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 18 Aug 2022 09:39:15 +1000 Subject: [PATCH 014/156] fix SHEX generation issue --- .../fhir/r5/conformance/ShExGenerator.java | 53 +++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ShExGenerator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ShExGenerator.java index 580742349..07009a442 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ShExGenerator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ShExGenerator.java @@ -593,11 +593,11 @@ public class ShExGenerator { } } else if (typ.getCode().startsWith(Constants.NS_SYSTEM_TYPE)) { - String xt = typ.getWorkingCode(); + String xt = getShexCode(typ.getWorkingCode()); + // TODO: Remove the next line when the type of token gets switched to string // TODO: Add a rdf-type entry for valueInteger to xsd:integer (instead of int) - ST td_entry = tmplt(PRIMITIVE_ELEMENT_DEFN_TEMPLATE).add("typ", - xt.replace("xsd:token", "xsd:string").replace("xsd:int", "xsd:integer")); + ST td_entry = tmplt(PRIMITIVE_ELEMENT_DEFN_TEMPLATE).add("typ", xt); StringBuilder facets = new StringBuilder(); if(ed.hasMinValue()) { DataType mv = ed.getMinValue(); @@ -631,6 +631,53 @@ public class ShExGenerator { } } + private String getShexCode(String c) { + switch (c) { + case "boolean" : + return "xsd:boolean"; + case "integer" : + return "xsd:int"; + case "integer64" : + return "xsd:long"; + case "decimal" : + return "xsd:decimal, xsd:double"; + case "base64Binary" : + return "xsd:base64Binary"; + case "instant" : + return "xsd:dateTime"; + case "string" : + return "xsd:string"; + case "uri" : + return "xsd:anyURI"; + case "date" : + return "xsd:gYear, xsd:gYearMonth, xsd:date"; + case "dateTime" : + return "xsd:gYear, xsd:gYearMonth, xsd:date, xsd:dateTime"; + case "time" : + return "xsd:time"; + case "code" : + return "xsd:token"; + case "oid" : + return "xsd:anyURI"; + case "uuid" : + return "xsd:anyURI"; + case "url" : + return "xsd:anyURI"; + case "canonical" : + return "xsd:anyURI"; + case "id" : + return "xsd:string"; + case "unsignedInt" : + return "xsd:nonNegativeInteger"; + case "positiveInt" : + return "xsd:positiveInteger"; + case "markdown" : + return "xsd:string"; + } + throw new Error("Not implemented yet"); + + } + /** * Generate a set of alternative shapes * @param ed Containing element definition From fdb15b8951f5876c7efa0e5e7d1d42e0770b7ed4 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 18 Aug 2022 10:01:14 +1000 Subject: [PATCH 015/156] Fix ConceptMap rendering column title --- .../main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java index 5f422fdd1..f6a2a1f5d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java @@ -129,7 +129,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { XhtmlNode tr = tbl.tr(); tr.td().b().tx("Source Code"); tr.td().b().tx("Relationship"); - tr.td().b().tx("Destination Code"); + tr.td().b().tx("Target Code"); if (comment) tr.td().b().tx("Comment"); tr = tbl.tr(); From ae285401aed9cfa8c74f82680dc7c365b2595f22 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 19 Aug 2022 14:24:20 +1000 Subject: [PATCH 016/156] FHIR-25206 handle deprecated concepts properly when expanding value sets --- .../fhir/r5/renderers/ValueSetRenderer.java | 76 +++++++++++----- .../r5/terminologies/CodeSystemUtilities.java | 22 +++++ .../terminologies/ValueSetExpanderSimple.java | 86 +++++++++---------- .../r5/terminologies/ValueSetUtilities.java | 21 +++++ 4 files changed, 139 insertions(+), 66 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index a18097ec2..558be26cc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.Map; import java.util.Set; +import org.hamcrest.beans.HasProperty; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; @@ -36,6 +37,7 @@ import org.hl7.fhir.r5.model.PrimitiveType; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.model.ValueSet.ConceptPropertyComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptReferenceComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptReferenceDesignationComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent; @@ -44,6 +46,7 @@ import org.hl7.fhir.r5.model.ValueSet.ValueSetComposeComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionParameterComponent; +import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionPropertyComponent; import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.Resolver.ResourceContext; import org.hl7.fhir.r5.terminologies.CodeSystemUtilities; @@ -158,6 +161,7 @@ public class ValueSetRenderer extends TerminologyRenderer { boolean hasExtensions = false; List langs = new ArrayList(); Map designations = new HashMap<>(); // map of url = description, where url is the designation code. Designations that are for languages won't make it into this list + Map properties = new HashMap<>(); // map of url = description, where url is the designation code. Designations that are for languages won't make it into this list if (header) { XhtmlNode h = x.addTag(getHeader()); @@ -198,40 +202,32 @@ public class ValueSetRenderer extends TerminologyRenderer { } } - boolean doSystem = true; // checkDoSystem(vs, src); boolean doDefinition = checkDoDefinition(vs.getExpansion().getContains()); - if (doSystem && allFromOneSystem(vs)) { - doSystem = false; - XhtmlNode p = x.para(); - p.tx("All codes in this table are from the system "); - allCS = getContext().getWorker().fetchCodeSystem(vs.getExpansion().getContains().get(0).getSystem()); - String ref = null; - if (allCS != null) - ref = getCsRef(allCS); - if (ref == null) - p.code(vs.getExpansion().getContains().get(0).getSystem()); - else - p.ah(context.fixReference(ref)).code(vs.getExpansion().getContains().get(0).getSystem()); - } XhtmlNode t = x.table( "codes"); XhtmlNode tr = t.tr(); if (doLevel) tr.td().b().tx("Level"); tr.td().attribute("style", "white-space:nowrap").b().tx("Code"); - if (doSystem) - tr.td().b().tx("System"); + tr.td().b().tx("System"); XhtmlNode tdDisp = tr.td(); tdDisp.b().tx("Display"); boolean doDesignations = false; for (ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) { scanForDesignations(c, langs, designations); } + scanForProperties(vs.getExpansion(), langs, properties); if (doDefinition) { tr.td().b().tx("Definition"); doDesignations = false; + for (String n : Utilities.sorted(properties.keySet())) { + tr.td().b().ah(properties.get(n)).addText(n); + } } else { + for (String n : Utilities.sorted(properties.keySet())) { + tr.td().b().ah(properties.get(n)).addText(n); + } // if we're not doing definitions and we don't have too many languages, we'll do them in line - doDesignations = langs.size() + designations.size() < MAX_DESIGNATIONS_IN_LINE; + doDesignations = langs.size() + properties.size() + designations.size() < MAX_DESIGNATIONS_IN_LINE; if (doDesignations) { if (vs.hasLanguage()) { @@ -249,7 +245,7 @@ public class ValueSetRenderer extends TerminologyRenderer { addMapHeaders(tr, maps); for (ValueSetExpansionContainsComponent c : vs.getExpansion().getContains()) { - addExpansionRowToTable(t, c, 1, doLevel, doSystem, doDefinition, maps, allCS, langs, designations, doDesignations); + addExpansionRowToTable(t, c, 1, doLevel, true, doDefinition, maps, allCS, langs, designations, doDesignations, properties); } // now, build observed languages @@ -280,6 +276,30 @@ public class ValueSetRenderer extends TerminologyRenderer { return hasExtensions; } + + private void scanForProperties(ValueSetExpansionComponent exp, List langs, Map properties) { + properties.clear(); + for (ValueSetExpansionPropertyComponent pp : exp.getProperty()) { + if (pp.hasCode() && pp.hasUri() && anyActualproperties(exp.getContains(), pp.getCode())) { + properties.put(pp.getCode(), pp.getUri()); + } + } + } + + private boolean anyActualproperties(List contains, String pp) { + for (ValueSetExpansionContainsComponent c : contains) { + for (ConceptPropertyComponent cp : c.getProperty()) { + if (pp.equals(cp.getCode())) { + return true; + } + } + if (anyActualproperties(c.getContains(), pp)) { + return true; + } + } + return false; + } + private void generateContentModeNotices(XhtmlNode x, ValueSetExpansionComponent expansion) { generateContentModeNotice(x, expansion, "example", "Expansion based on example code system"); generateContentModeNotice(x, expansion, "fragment", "Expansion based on code system fragment"); @@ -715,7 +735,7 @@ public class ValueSetRenderer extends TerminologyRenderer { } } - private void addExpansionRowToTable(XhtmlNode t, ValueSetExpansionContainsComponent c, int i, boolean doLevel, boolean doSystem, boolean doDefinition, List maps, CodeSystem allCS, List langs, Map designations, boolean doDesignations) { + private void addExpansionRowToTable(XhtmlNode t, ValueSetExpansionContainsComponent c, int i, boolean doLevel, boolean doSystem, boolean doDefinition, List maps, CodeSystem allCS, List langs, Map designations, boolean doDesignations, Map properties) { XhtmlNode tr = t.tr(); XhtmlNode td = tr.td(); @@ -745,6 +765,13 @@ public class ValueSetRenderer extends TerminologyRenderer { if (cs != null) td.addText(CodeSystemUtilities.getCodeDefinition(cs, c.getCode())); } + for (String n : Utilities.sorted(properties.keySet())) { + td = tr.td(); + String ps = getPropertyValue(c, n); + if (!Utilities.noString(ps)) { + td.addText(ps); + } + } for (UsedConceptMap m : maps) { td = tr.td(); List mappings = findMappingsForCode(c.getCode(), m.getMap()); @@ -765,7 +792,7 @@ public class ValueSetRenderer extends TerminologyRenderer { addLangaugesToRow(c, langs, tr); } for (ValueSetExpansionContainsComponent cc : c.getContains()) { - addExpansionRowToTable(t, cc, i+1, doLevel, doSystem, doDefinition, maps, allCS, langs, designations, doDesignations); + addExpansionRowToTable(t, cc, i+1, doLevel, doSystem, doDefinition, maps, allCS, langs, designations, doDesignations, properties); } } @@ -773,6 +800,15 @@ public class ValueSetRenderer extends TerminologyRenderer { + private String getPropertyValue(ValueSetExpansionContainsComponent c, String n) { + for (ConceptPropertyComponent cp : c.getProperty()) { + if (n.equals(cp.getCode())) { + return cp.getValue().primitiveValue(); + } + } + return null; + } + private boolean checkSystemMatches(String system, ValueSetExpansionContainsComponent cc) { if (!system.equals(cc.getSystem())) return false; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java index 4f3c85b94..5870f52e6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java @@ -241,11 +241,33 @@ public class CodeSystemUtilities { } } + public static boolean isInactive(CodeSystem cs, ConceptDefinitionComponent def, boolean ignoreStatus) { + try { + for (ConceptPropertyComponent p : def.getProperty()) { + if (!ignoreStatus) { + if ("status".equals(p.getCode()) && p.hasValue() && p.hasValueCodeType() && "inactive".equals(p.getValueCodeType().getCode())) + return true; + } + // legacy + if ("inactive".equals(p.getCode()) && p.hasValue() && p.getValue() instanceof BooleanType) + return ((BooleanType) p.getValue()).getValue(); + } + return false; + } catch (FHIRException e) { + return false; + } + } + public static void setDeprecated(CodeSystem cs, ConceptDefinitionComponent concept, DateTimeType date) throws FHIRFormatError { setStatus(cs, concept, ConceptStatus.Deprecated); defineDeprecatedProperty(cs); concept.addProperty().setCode("deprecationDate").setValue(date); } + + + public static void setDeprecated(CodeSystem cs, ConceptDefinitionComponent concept) throws FHIRFormatError { + setStatus(cs, concept, ConceptStatus.Deprecated); + } public static boolean isInactive(CodeSystem cs, ConceptDefinitionComponent def) throws FHIRException { for (ConceptPropertyComponent p : def.getProperty()) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java index 538e66b64..9123b9225 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java @@ -108,6 +108,7 @@ import org.hl7.fhir.r5.model.ValueSet.ValueSetComposeComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionParameterComponent; +import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionPropertyComponent; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.utilities.Utilities; @@ -207,7 +208,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx } private ValueSetExpansionContainsComponent addCode(String system, String code, String display, ValueSetExpansionContainsComponent parent, List designations, Parameters expParams, - boolean isAbstract, boolean inactive, List filters, boolean noInactive) { + boolean isAbstract, boolean inactive, List filters, boolean noInactive, boolean deprecated, List vsProp) { if (filters != null && !filters.isEmpty() && !filterContainsCode(filters, system, code)) return null; @@ -222,6 +223,9 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx n.setAbstract(true); if (inactive) n.setInactive(true); + if (deprecated) { + ValueSetUtilities.setDeprecated(vsProp, n); + } if (expParams.getParameterBool("includeDesignations") && designations != null) { for (ConceptDefinitionDesignationComponent t : designations) { @@ -285,12 +289,12 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx return null; } - private void addCodeAndDescendents(ValueSetExpansionContainsComponent focus, ValueSetExpansionContainsComponent parent, Parameters expParams, List filters, boolean noInactive) throws FHIRException { + private void addCodeAndDescendents(ValueSetExpansionContainsComponent focus, ValueSetExpansionContainsComponent parent, Parameters expParams, List filters, boolean noInactive, List vsProps) throws FHIRException { focus.checkNoModifiers("Expansion.contains", "expanding"); ValueSetExpansionContainsComponent np = addCode(focus.getSystem(), focus.getCode(), focus.getDisplay(), parent, - convert(focus.getDesignation()), expParams, focus.getAbstract(), focus.getInactive(), filters, noInactive); + convert(focus.getDesignation()), expParams, focus.getAbstract(), focus.getInactive(), filters, noInactive, false, vsProps); for (ValueSetExpansionContainsComponent c : focus.getContains()) - addCodeAndDescendents(focus, np, expParams, filters, noInactive); + addCodeAndDescendents(focus, np, expParams, filters, noInactive, vsProps); } private List convert(List designations) { @@ -305,41 +309,31 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx return list; } - private void addCodeAndDescendents(CodeSystem cs, String system, ConceptDefinitionComponent def, ValueSetExpansionContainsComponent parent, Parameters expParams, List filters, ConceptDefinitionComponent exclusion, IConceptFilter filterFunc, boolean noInactive) throws FHIRException { + private void addCodeAndDescendents(CodeSystem cs, String system, ConceptDefinitionComponent def, ValueSetExpansionContainsComponent parent, Parameters expParams, List filters, ConceptDefinitionComponent exclusion, IConceptFilter filterFunc, boolean noInactive, List vsProps) throws FHIRException { def.checkNoModifiers("Code in Code System", "expanding"); if (exclusion != null) { if (exclusion.getCode().equals(def.getCode())) return; // excluded. } - if (!CodeSystemUtilities.isDeprecated(cs, def, false)) { - ValueSetExpansionContainsComponent np = null; - boolean abs = CodeSystemUtilities.isNotSelectable(cs, def); - boolean inc = CodeSystemUtilities.isInactive(cs, def); - if ((includeAbstract || !abs) && filterFunc.includeConcept(cs, def)) { - np = addCode(system, def.getCode(), def.getDisplay(), parent, def.getDesignation(), expParams, abs, inc, filters, noInactive); - } - for (ConceptDefinitionComponent c : def.getConcept()) { - addCodeAndDescendents(cs, system, c, np, expParams, filters, exclusion, filterFunc, noInactive); - } - if (def.hasUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK)) { - List children = (List) def.getUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK); - for (ConceptDefinitionComponent c : children) - addCodeAndDescendents(cs, system, c, np, expParams, filters, exclusion, filterFunc, noInactive); - } - } else { - for (ConceptDefinitionComponent c : def.getConcept()) { - addCodeAndDescendents(cs, system, c, null, expParams, filters, exclusion, filterFunc, noInactive); - } - if (def.hasUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK)) { - List children = (List) def.getUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK); - for (ConceptDefinitionComponent c : children) - addCodeAndDescendents(cs, system, c, null, expParams, filters, exclusion, filterFunc, noInactive); - } + ValueSetExpansionContainsComponent np = null; + boolean abs = CodeSystemUtilities.isNotSelectable(cs, def); + boolean inc = CodeSystemUtilities.isInactive(cs, def); + boolean dep = CodeSystemUtilities.isDeprecated(cs, def, false); + if ((includeAbstract || !abs) && filterFunc.includeConcept(cs, def)) { + np = addCode(system, def.getCode(), def.getDisplay(), parent, def.getDesignation(), expParams, abs, inc, filters, noInactive, dep, vsProps); + } + for (ConceptDefinitionComponent c : def.getConcept()) { + addCodeAndDescendents(cs, system, c, np, expParams, filters, exclusion, filterFunc, noInactive, vsProps); + } + if (def.hasUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK)) { + List children = (List) def.getUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK); + for (ConceptDefinitionComponent c : children) + addCodeAndDescendents(cs, system, c, np, expParams, filters, exclusion, filterFunc, noInactive, vsProps); } } - private void addCodes(ValueSetExpansionComponent expand, List params, Parameters expParams, List filters, boolean noInactive) throws ETooCostly, FHIRException { + private void addCodes(ValueSetExpansionComponent expand, List params, Parameters expParams, List filters, boolean noInactive, List vsProps) throws ETooCostly, FHIRException { if (expand != null) { if (expand.getContains().size() > maxExpansionSize) throw failCostly("Too many codes to display (>" + Integer.toString(expand.getContains().size()) + ")"); @@ -348,7 +342,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx params.add(p); } - copyImportContains(expand.getContains(), null, expParams, filters, noInactive); + copyImportContains(expand.getContains(), null, expParams, filters, noInactive, vsProps); } } @@ -578,11 +572,11 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx } } - private void copyImportContains(List list, ValueSetExpansionContainsComponent parent, Parameters expParams, List filter, boolean noInactive) throws FHIRException { + private void copyImportContains(List list, ValueSetExpansionContainsComponent parent, Parameters expParams, List filter, boolean noInactive, List vsProps) throws FHIRException { for (ValueSetExpansionContainsComponent c : list) { c.checkNoModifiers("Imported Expansion in Code System", "expanding"); - ValueSetExpansionContainsComponent np = addCode(c.getSystem(), c.getCode(), c.getDisplay(), parent, null, expParams, c.getAbstract(), c.getInactive(), filter, noInactive); - copyImportContains(c.getContains(), np, expParams, filter, noInactive); + ValueSetExpansionContainsComponent np = addCode(c.getSystem(), c.getCode(), c.getDisplay(), parent, null, expParams, c.getAbstract(), c.getInactive(), filter, noInactive, false, vsProps); + copyImportContains(c.getContains(), np, expParams, filter, noInactive, vsProps); } } @@ -599,18 +593,18 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx ValueSet base = imports.get(0); imports.remove(0); base.checkNoModifiers("Imported ValueSet", "expanding"); - copyImportContains(base.getExpansion().getContains(), null, expParams, imports, noInactive); + copyImportContains(base.getExpansion().getContains(), null, expParams, imports, noInactive, base.getExpansion().getProperty()); } else { CodeSystem cs = context.fetchCodeSystem(inc.getSystem()); if (isServerSide(inc.getSystem()) || (cs == null || (cs.getContent() != CodeSystemContentMode.COMPLETE && cs.getContent() != CodeSystemContentMode.FRAGMENT))) { - doServerIncludeCodes(inc, heirarchical, exp, imports, expParams, extensions, noInactive); + doServerIncludeCodes(inc, heirarchical, exp, imports, expParams, extensions, noInactive, valueSet.getExpansion().getProperty()); } else { doInternalIncludeCodes(inc, exp, expParams, imports, cs, noInactive); } } } - private void doServerIncludeCodes(ConceptSetComponent inc, boolean heirarchical, ValueSetExpansionComponent exp, List imports, Parameters expParams, List extensions, boolean noInactive) throws FHIRException { + private void doServerIncludeCodes(ConceptSetComponent inc, boolean heirarchical, ValueSetExpansionComponent exp, List imports, Parameters expParams, List extensions, boolean noInactive, List vsProps) throws FHIRException { ValueSetExpansionOutcome vso = context.expandVS(inc, heirarchical, noInactive); if (vso.getError() != null) { throw failTSE("Unable to expand imported value set: " + vso.getError()); @@ -634,7 +628,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx } } for (ValueSetExpansionContainsComponent cc : vs.getExpansion().getContains()) { - addCodeAndDescendents(cc, null, expParams, imports, noInactive); + addCodeAndDescendents(cc, null, expParams, imports, noInactive, vsProps); } } @@ -664,7 +658,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx if (inc.getConcept().size() == 0 && inc.getFilter().size() == 0) { // special case - add all the code system for (ConceptDefinitionComponent def : cs.getConcept()) { - addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, null, new AllConceptsFilter(), noInactive); + addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, null, new AllConceptsFilter(), noInactive, exp.getProperty()); } if (cs.getContent() == CodeSystemContentMode.FRAGMENT) { addFragmentWarning(exp, cs); @@ -693,7 +687,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx } else { inactive = CodeSystemUtilities.isInactive(cs, def); } - addCode(inc.getSystem(), c.getCode(), !Utilities.noString(c.getDisplay()) ? c.getDisplay() : def == null ? null : def.getDisplay(), null, convertDesignations(c.getDesignation()), expParams, false, inactive, imports, noInactive); + addCode(inc.getSystem(), c.getCode(), !Utilities.noString(c.getDisplay()) ? c.getDisplay() : def == null ? null : def.getDisplay(), null, convertDesignations(c.getDesignation()), expParams, false, inactive, imports, noInactive, false, exp.getProperty()); } } if (inc.getFilter().size() > 1) { @@ -710,14 +704,14 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx ConceptDefinitionComponent def = getConceptForCode(cs.getConcept(), fc.getValue()); if (def == null) throw failTSE("Code '" + fc.getValue() + "' not found in system '" + inc.getSystem() + "'"); - addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, null, new AllConceptsFilter(), noInactive); + addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, null, new AllConceptsFilter(), noInactive, exp.getProperty()); } else if ("concept".equals(fc.getProperty()) && fc.getOp() == FilterOperator.ISNOTA) { // special: all codes in the target code system that are not under the value ConceptDefinitionComponent defEx = getConceptForCode(cs.getConcept(), fc.getValue()); if (defEx == null) throw failTSE("Code '" + fc.getValue() + "' not found in system '" + inc.getSystem() + "'"); for (ConceptDefinitionComponent def : cs.getConcept()) { - addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, defEx, new AllConceptsFilter(), noInactive); + addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, defEx, new AllConceptsFilter(), noInactive, exp.getProperty()); } } else if ("concept".equals(fc.getProperty()) && fc.getOp() == FilterOperator.DESCENDENTOF) { // special: all codes in the target code system under the value @@ -725,11 +719,11 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx if (def == null) throw failTSE("Code '" + fc.getValue() + "' not found in system '" + inc.getSystem() + "'"); for (ConceptDefinitionComponent c : def.getConcept()) - addCodeAndDescendents(cs, inc.getSystem(), c, null, expParams, imports, null, new AllConceptsFilter(), noInactive); + addCodeAndDescendents(cs, inc.getSystem(), c, null, expParams, imports, null, new AllConceptsFilter(), noInactive, exp.getProperty()); if (def.hasUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK)) { List children = (List) def.getUserData(CodeSystemUtilities.USER_DATA_CROSS_LINK); for (ConceptDefinitionComponent c : children) - addCodeAndDescendents(cs, inc.getSystem(), c, null, expParams, imports, null, new AllConceptsFilter(), noInactive); + addCodeAndDescendents(cs, inc.getSystem(), c, null, expParams, imports, null, new AllConceptsFilter(), noInactive, exp.getProperty()); } } else if ("display".equals(fc.getProperty()) && fc.getOp() == FilterOperator.EQUAL) { @@ -740,13 +734,13 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx if (isNotBlank(def.getDisplay()) && isNotBlank(fc.getValue())) { if (def.getDisplay().contains(fc.getValue())) { addCode(inc.getSystem(), def.getCode(), def.getDisplay(), null, def.getDesignation(), expParams, CodeSystemUtilities.isNotSelectable(cs, def), CodeSystemUtilities.isInactive(cs, def), - imports, noInactive); + imports, noInactive, false, exp.getProperty()); } } } } else if (isDefinedProperty(cs, fc.getProperty())) { for (ConceptDefinitionComponent def : cs.getConcept()) { - addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, null, new PropertyFilter(fc, getPropertyDefinition(cs, fc.getProperty())), noInactive); + addCodeAndDescendents(cs, inc.getSystem(), def, null, expParams, imports, null, new PropertyFilter(fc, getPropertyDefinition(cs, fc.getProperty())), noInactive, exp.getProperty()); } } else { throw fail("Search by property[" + fc.getProperty() + "] and op[" + fc.getOp() + "] is not supported yet"); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java index af153bea1..ac06329ee 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java @@ -1,5 +1,7 @@ package org.hl7.fhir.r5.terminologies; +import java.util.List; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -31,16 +33,24 @@ package org.hl7.fhir.r5.terminologies; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.context.IWorkerContext; +import org.hl7.fhir.r5.model.BooleanType; import org.hl7.fhir.r5.model.CanonicalType; import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.DateTimeType; import org.hl7.fhir.r5.model.Enumerations.FilterOperator; import org.hl7.fhir.r5.model.Enumerations.PublicationStatus; import org.hl7.fhir.r5.model.Identifier; import org.hl7.fhir.r5.model.Meta; import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent; +import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent; +import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; +import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionPropertyComponent; +import org.hl7.fhir.r5.terminologies.CodeSystemUtilities.ConceptStatus; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.utilities.StandardsStatus; import org.hl7.fhir.utilities.Utilities; @@ -234,4 +244,15 @@ public class ValueSetUtilities { return vs; } + public static void setDeprecated(List vsProp, ValueSetExpansionContainsComponent n) { + n.addProperty().setCode("status").setValue(new CodeType("deprecated")); + for (ValueSetExpansionPropertyComponent o : vsProp) { + if ("status".equals(o.getCode())) { + return; + } + } + vsProp.add(new ValueSetExpansionPropertyComponent().setCode("status").setUri("http://hl7.org/fhir/concept-properties#status")); + } + + } \ No newline at end of file From 55ae5b6e9903321bd111a72544e12075216eebd6 Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 19 Aug 2022 10:18:36 -0400 Subject: [PATCH 017/156] Update windows image to windows-latest in PR pipeline (#893) * Update windows image to windows-latest in PR pipeline * Add JAVA_TOOL_OPTIONS to fix character related breakages in Windows tests Co-authored-by: dotasek --- pull-request-pipeline-parameterized.yml | 3 ++- pull-request-pipeline.yml | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pull-request-pipeline-parameterized.yml b/pull-request-pipeline-parameterized.yml index 17c86de20..b02bc4bd4 100644 --- a/pull-request-pipeline-parameterized.yml +++ b/pull-request-pipeline-parameterized.yml @@ -12,6 +12,7 @@ jobs: currentImage: ${{image.name}} codecov: $(CODECOV_TOKEN) VERSION: + JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF8 steps: # Runs 'mvn clean install' @@ -50,4 +51,4 @@ jobs: inputs: codeCoverageTool: 'JaCoCo' summaryFileLocation: '$(System.DefaultWorkingDirectory)/org.hl7.fhir.report/target/site/jacoco-aggregate/jacoco.xml' - reportDirectory: '$(System.DefaultWorkingDirectory)/org.hl7.fhir.report/target/site/jacoco-aggregate/' \ No newline at end of file + reportDirectory: '$(System.DefaultWorkingDirectory)/org.hl7.fhir.report/target/site/jacoco-aggregate/' diff --git a/pull-request-pipeline.yml b/pull-request-pipeline.yml index 173515b92..976b10d28 100644 --- a/pull-request-pipeline.yml +++ b/pull-request-pipeline.yml @@ -14,5 +14,5 @@ jobs: jdkVersions: [ '1.11', '1.17'] - name: macos-latest jdkVersions: [ '1.11', '1.17'] - - name: windows-2019 + - name: windows-latest jdkVersions: [ '1.11', '1.17'] \ No newline at end of file From 585c552b99c249be72fb43aab9c0dcde751749bd Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 19 Aug 2022 11:49:33 -0400 Subject: [PATCH 018/156] Fix ClassFormatException caused by JurisdictionUtilities (#898) Co-authored-by: dotasek --- pom.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/pom.xml b/pom.xml index 93de3d955..559c1c0a8 100644 --- a/pom.xml +++ b/pom.xml @@ -331,6 +331,7 @@ + org/hl7/fhir/r5/terminologies/JurisdictionUtilities org/hl7/fhir/r5/formats/JsonParser org/hl7/fhir/r5/formats/XmlParser org/hl7/fhir/r4b/formats/JsonParser From 0d5c03c632b8a865e152017ce26d92368d5df8af Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sun, 21 Aug 2022 03:48:27 +1000 Subject: [PATCH 019/156] more narrative work --- .../org/hl7/fhir/r5/conformance/ProfileUtilities.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index d420be9d2..fa80788e9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -312,7 +312,8 @@ public class ProfileUtilities extends TranslatingUtilities { return null; } } - + + public static final String CONSTRAINT_STYLE = "padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdeeee;"; private static final String ROW_COLOR_ERROR = "#ffcccc"; private static final String ROW_COLOR_FATAL = "#ff9999"; private static final String ROW_COLOR_WARNING = "#ffebcc"; @@ -3613,7 +3614,7 @@ public class ProfileUtilities extends TranslatingUtilities { private static final int AGG_IND = 1; private static final int AGG_GR = 2; private static final boolean TABLE_FORMAT_FOR_FIXED_VALUES = false; - + private Cell genTypes(HierarchicalTableGenerator gen, Row r, ElementDefinition e, String profileBaseFileName, StructureDefinition profile, String corePath, String imagePath, boolean root, boolean mustSupportMode) { Cell c = gen.new Cell(); r.getCells().add(c); @@ -4364,7 +4365,10 @@ public class ProfileUtilities extends TranslatingUtilities { checkForNoChange(element.getIsSummaryElement(), gc.addStyledText(translate("sd.table", "This element is included in summaries"), "\u03A3", null, null, null, false)); } if (element != null && (hasNonBaseConstraints(element.getConstraint()) || hasNonBaseConditions(element.getCondition()))) { - gc.addStyledText(translate("sd.table", "This element has or is affected by some invariants ("+listConstraintsAndConditions(element)+")"), "I", null, null, null, false); + Piece p = gc.addText("I"); + p.setHint(translate("sd.table", "This element has or is affected by some invariants ("+listConstraintsAndConditions(element)+")")); + p.addStyle(CONSTRAINT_STYLE); + p.setReference(context.getSpecUrl()+"conformance-rules.html#constraints"); } ExtensionContext extDefn = null; From b0c2e7146d65c5e38e57492e35b45b02a64336e7 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sun, 21 Aug 2022 04:15:25 +1000 Subject: [PATCH 020/156] compile fix --- .../org/hl7/fhir/r5/renderers/ValueSetRenderer.java | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index 558be26cc..db6ff9ccd 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -1,7 +1,5 @@ package org.hl7.fhir.r5.renderers; -import java.io.BufferedWriter; -import java.io.FileWriter; import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; @@ -9,12 +7,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; -import java.util.Set; -import org.hamcrest.beans.HasProperty; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; @@ -28,9 +23,7 @@ import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent; import org.hl7.fhir.r5.model.Coding; import org.hl7.fhir.r5.model.ConceptMap; import org.hl7.fhir.r5.model.DataType; -import org.hl7.fhir.r5.model.DomainResource; import org.hl7.fhir.r5.model.Enumerations.FilterOperator; -import org.hl7.fhir.r5.model.Questionnaire.QuestionnaireItemComponent; import org.hl7.fhir.r5.model.Extension; import org.hl7.fhir.r5.model.ExtensionHelper; import org.hl7.fhir.r5.model.PrimitiveType; @@ -42,7 +35,6 @@ import org.hl7.fhir.r5.model.ValueSet.ConceptReferenceComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptReferenceDesignationComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptSetFilterComponent; -import org.hl7.fhir.r5.model.ValueSet.ValueSetComposeComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionParameterComponent; @@ -54,10 +46,9 @@ import org.hl7.fhir.r5.terminologies.ValueSetExpander.ValueSetExpansionOutcome; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator; -import org.hl7.fhir.utilities.xhtml.XhtmlNode; import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.Row; import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.TableModel; -import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator.Title; +import org.hl7.fhir.utilities.xhtml.XhtmlNode; import com.google.common.collect.HashMultimap; import com.google.common.collect.Multimap; From fba2145a9c2c8249db0f53279c88adcb9ea6b31f Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 23 Aug 2022 22:32:40 +1000 Subject: [PATCH 021/156] Fix bug where instance validator doesn't check type of sub-extensions, and check type characteristics --- .../hl7/fhir/r5/conformance/ProfileUtilities.java | 3 ++- .../org/hl7/fhir/r5/utils/ToolingExtensions.java | 3 +++ .../hl7/fhir/utilities/i18n/I18nConstants.java | 2 ++ .../src/main/resources/Messages.properties | 2 ++ .../validation/instance/InstanceValidator.java | 15 ++++++++++++--- 5 files changed, 21 insertions(+), 4 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index fa80788e9..73a7e4765 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -3614,6 +3614,7 @@ public class ProfileUtilities extends TranslatingUtilities { private static final int AGG_IND = 1; private static final int AGG_GR = 2; private static final boolean TABLE_FORMAT_FOR_FIXED_VALUES = false; + public static final String CONSTRAINT_CHAR = "C"; private Cell genTypes(HierarchicalTableGenerator gen, Row r, ElementDefinition e, String profileBaseFileName, StructureDefinition profile, String corePath, String imagePath, boolean root, boolean mustSupportMode) { Cell c = gen.new Cell(); @@ -4365,7 +4366,7 @@ public class ProfileUtilities extends TranslatingUtilities { checkForNoChange(element.getIsSummaryElement(), gc.addStyledText(translate("sd.table", "This element is included in summaries"), "\u03A3", null, null, null, false)); } if (element != null && (hasNonBaseConstraints(element.getConstraint()) || hasNonBaseConditions(element.getCondition()))) { - Piece p = gc.addText("I"); + Piece p = gc.addText(ProfileUtilities.CONSTRAINT_CHAR); p.setHint(translate("sd.table", "This element has or is affected by some invariants ("+listConstraintsAndConditions(element)+")")); p.addStyle(CONSTRAINT_STYLE); p.setReference(context.getSpecUrl()+"conformance-rules.html#constraints"); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java index c6903ad5d..c0dd89535 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java @@ -207,6 +207,9 @@ public class ToolingExtensions { public static final String EXT_EXPAND_RULES = "http://hl7.org/fhir/StructureDefinition/valueset-expand-rules"; public static final String EXT_EXPAND_GROUP = "http://hl7.org/fhir/StructureDefinition/valueset-expand-group"; public static final String EXT_BINDING_ADDITIONAL = "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"; + public static final String EXT_MIN_LENGTH = "http://hl7.org/fhir/StructureDefinition/minLength"; + public static final String EXT_MAX_DECIMALS = "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces"; + public static final String EXT_MAX_SIZE = "http://hl7.org/fhir/StructureDefinition/maxSize"; // specific extension helpers diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java index 439d65e6a..47e2db330 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java @@ -381,8 +381,10 @@ public class I18nConstants { public static final String SD_ED_BIND_MULTIPLE_TYPES = "SD_ED_BIND_MULTIPLE_TYPES"; public static final String SD_VALUE_TYPE_IILEGAL = "SD_VALUE_TYPE_IILEGAL"; public static final String SD_VALUE_TYPE_REPEAT_HINT = "SD_VALUE_TYPE_REPEAT_HINT"; + public static final String SD_VALUE_COMPLEX_FIXED = "SD_VALUE_COMPLEX_FIXED"; public static final String SD_VALUE_TYPE_REPEAT_WARNING_DOTNET = "SD_VALUE_TYPE_REPEAT_WARNING_DOTNET"; public static final String SD_NO_TYPES_OR_CONTENTREF = "SD_NO_TYPES_OR_CONTENTREF"; + public static final String SD_ILLEGAL_CHARACTERISTICS = "SD_ILLEGAL_CHARACTERISTICS"; public static final String SEARCHPARAMETER_BASE_WRONG = "SEARCHPARAMETER_BASE_WRONG"; public static final String SEARCHPARAMETER_EXP_WRONG = "SEARCHPARAMETER_EXP_WRONG"; public static final String SEARCHPARAMETER_NOTFOUND = "SEARCHPARAMETER_NOTFOUND"; diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index fb1b82c2b..ca032b05c 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -720,3 +720,5 @@ TX_SERVER_NO_BATCH_RESPONSE = The server return null from a batch validation req BUNDLE_POSSSIBLE_MATCHES = The bundle contains no match for {1} by the rules of Bundle reference resolution, but it has multiple resources that match {0} by resource type and id BUNDLE_BUNDLE_POSSIBLE_MATCH_NO_FU = Entry {0} matches the reference {1} by type and id but it does not match the full target URL {2} by Bundle resolution rules BUNDLE_BUNDLE_POSSIBLE_MATCH_WRONG_FU = Entry {0} matches the reference {1} by type and id but it''s fullUrl {2} does not match the full target URL {3} by Bundle resolution rules +SD_ILLEGAL_CHARACTERISTICS = This element has a {0} but the types to do not make this kind of constraint relevant +SD_VALUE_COMPLEX_FIXED = For the complex type {0}, consider using a pattern rather than a fixed value to avoid over-constraining the instance diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 4188ebdd7..018fb7ea7 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -4994,11 +4994,15 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat type = checkDefn.getType().get(0).getWorkingCode(); String stype = ei.getElement().fhirType(); if (checkDefn.isChoice() && !stype.equals(type)) { - if ("Extension".equals(profile.getType())) { - // error will be raised elsewhere - } else { + if (extensionUrl != null && !isAbsolute(extensionUrl)) { rule(errors, IssueType.STRUCTURE, element.line(), element.col(), ei.getPath(), false, I18nConstants.EXTENSION_PROF_TYPE, profile.getUrl(), type, stype); + } else if (!isAbstractType(type) && !"Extension".equals(profile.getType())) { + rule(errors, IssueType.STRUCTURE, element.line(), element.col(), ei.getPath(), stype.equals(type), I18nConstants.EXTENSION_PROF_TYPE, profile.getUrl(), type, stype); } + } else if (!isAbstractType(type)) { + rule(errors, IssueType.STRUCTURE, element.line(), element.col(), ei.getPath(), stype.equals(type) || + (Utilities.existsInList(type, "string", "id") && Utilities.existsInList(stype, "string", "id")), // work around a r4 problem with id/string + I18nConstants.EXTENSION_PROF_TYPE, profile.getUrl(), type, stype); } // Excluding reference is a kludge to get around versioning issues @@ -5231,6 +5235,11 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } } + private boolean isAbstractType(String type) { + StructureDefinition sd = context.fetchTypeDefinition(type); + return sd != null && sd.getAbstract(); + } + private boolean isResourceAndTypes(ElementDefinition ed) { if (!Utilities.existsInList(ed.getBase().getPath(), "Bundle.entry.resource", "Bundle.entry.response.outcome", "DomainResource.contained", "Parameters.parameter.resource", "Parameters.parameter.part.resource")) { return false; From 2f6dfa62cabf9252be4275b9c22c4f461060dbff Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 23 Aug 2022 22:32:46 +1000 Subject: [PATCH 022/156] more --- .../org/hl7/fhir/validation/ValidatorCli.java | 2 +- .../type/StructureDefinitionValidator.java | 108 +++++++++++++++++- 2 files changed, 107 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidatorCli.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidatorCli.java index ac39d405d..d4fa6951c 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidatorCli.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/ValidatorCli.java @@ -255,7 +255,7 @@ public class ValidatorCli { System.out.println("Loading"); // Comment this out because definitions filename doesn't necessarily contain version (and many not even be 14 characters long). // Version gets spit out a couple of lines later after we've loaded the context - String definitions = VersionUtilities.packageForVersion(cliContext.getSv()) + "#" + VersionUtilities.getCurrentVersion(cliContext.getSv()); + String definitions = "dev".equals(cliContext.getSv()) ? "hl7.fhir.r5.core#current" : VersionUtilities.packageForVersion(cliContext.getSv()) + "#" + VersionUtilities.getCurrentVersion(cliContext.getSv()); ValidationEngine validator = validationService.initializeValidator(cliContext, definitions, tt); tts.end(); switch (cliContext.getMode()) { diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index f394b17dc..7f95e80c3 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -129,6 +129,8 @@ public class StructureDefinitionValidator extends BaseValidator { boolean typeMustSupport = false; List types = element.getChildrenByName("type"); Set typeCodes = new HashSet<>(); + Set characteristics = new HashSet<>(); + for (Element type : types) { if (hasMustSupportExtension(type)) { typeMustSupport = true; @@ -143,6 +145,12 @@ public class StructureDefinitionValidator extends BaseValidator { } } typeCodes.add(tc); + Set tcharacteristics = new HashSet<>(); + addCharacteristics(tcharacteristics, tc); + characteristics.addAll(tcharacteristics); + if (type.hasChildren("targetProfile")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), tcharacteristics.contains("has-target") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "targetProfile"); + } // check the stated profile - must be a constraint on the type if (snapshot || sd != null) { validateElementType(errors, type, stack.push(type, -1, null, null), sd, element.getChildValue("path")); @@ -156,6 +164,8 @@ public class StructureDefinitionValidator extends BaseValidator { } } if (element.hasChild("binding")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("can-bind") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Binding"); + Element binding = element.getNamedChild("binding"); validateBinding(errors, binding, stack.push(binding, -1, null, null), typeCodes, snapshot, element.getNamedChildValue("path")); } else { @@ -163,6 +173,25 @@ public class StructureDefinitionValidator extends BaseValidator { // String bt = boundType(typeCodes); // hint(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), !snapshot || bt == null, I18nConstants.SD_ED_SHOULD_BIND, element.getNamedChildValue("path"), bt); } + if (element.hasChild("maxLength")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxLength"); + } + if (element.hasExtension(ToolingExtensions.EXT_MIN_LENGTH)) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinLength Extension"); + } + if (element.hasChild("minValue")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinValue"); + } + if (element.hasChild("maxValue")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxValue"); + } + if (element.hasExtension(ToolingExtensions.EXT_MAX_DECIMALS)) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("is-continuous") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Decimal Places Extension"); + } + if (element.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-size") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Size"); + } + // in a snapshot, we validate that fixedValue, pattern, and defaultValue, if present, are all of the right type if (snapshot && (element.getIdBase() != null) && (element.getIdBase().contains("."))) { if (rule(errors, IssueType.EXCEPTION, stack.getLiteralPath(), !typeCodes.isEmpty() || element.hasChild("contentReference"), I18nConstants.SD_NO_TYPES_OR_CONTENTREF, element.getIdBase())) { @@ -179,7 +208,9 @@ public class StructureDefinitionValidator extends BaseValidator { hint(errors, IssueType.EXCEPTION, stack.push(v, -1, null, null).getLiteralPath(), !repeating, I18nConstants.SD_VALUE_TYPE_REPEAT_HINT, element.getIdBase(), "fixed"); if (isPrimitiveType(v.fhirType())) { warning(errors, IssueType.EXCEPTION, stack.push(v, -1, null, null).getLiteralPath(), !repeating, I18nConstants.SD_VALUE_TYPE_REPEAT_WARNING_DOTNET, element.getIdBase(), "fixed"); - } + } else { + warning(errors, IssueType.EXCEPTION, stack.push(v, -1, null, null).getLiteralPath(), false, I18nConstants.SD_VALUE_COMPLEX_FIXED, v.fhirType()); + } } v = element.getNamedChild("pattern"); if (v != null) { @@ -194,8 +225,81 @@ public class StructureDefinitionValidator extends BaseValidator { } } - + + private boolean addCharacteristics(Set set, String tc) { + switch (tc) { + case "boolean" : return addCharacteristicsForType(set); + case "integer" : return addCharacteristicsForType(set, "has-range", "has-length"); + case "integer64" : return addCharacteristicsForType(set, "has-range", "has-length"); + case "decimal" :return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); + case "base64Binary" : return addCharacteristicsForType(set, "has-size"); + case "instant" : return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); + case "string" : return addCharacteristicsForType(set, "has-length", "do-translations"); + case "uri" : return addCharacteristicsForType(set, "has-length", "can-bind"); + case "date" :return addCharacteristicsForType(set, "has-range", "has-length"); + case "dateTime" : return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); + case "time" :return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); + case "canonical" :return addCharacteristicsForType(set, "has-target", "has-length"); + case "code" :return addCharacteristicsForType(set, "has-length", "can-bind"); + case "id" :return addCharacteristicsForType(set, "has-length"); + case "markdown" :return addCharacteristicsForType(set, "do-translations"); + case "oid" :return addCharacteristicsForType(set, "has-length", "can-bind"); + case "positiveInt" :return addCharacteristicsForType(set, "has-range", "has-length"); + case "unsignedInt" :return addCharacteristicsForType(set, "has-range", "has-length"); + case "url" :return addCharacteristicsForType(set, "has-length", "can-bind"); + case "uuid" :return addCharacteristicsForType(set, "has-length", "can-bind"); + case "Address" :return addCharacteristicsForType(set, "do-translations"); + case "Age" : return addCharacteristicsForType(set, "has-range", "is-continuous"); + case "Annotation" :return addCharacteristicsForType(set); + case "Attachment" :return addCharacteristicsForType(set, "has-size", "do-translations"); + case "CodeableConcept" :return addCharacteristicsForType(set, "can-bind", "do-translations"); + case "CodeableReference" : return addCharacteristicsForType(set, "has-target", "can-bind", "do-translations"); + case "Coding" : return addCharacteristicsForType(set, "can-bind", "do-translations"); + case "ContactPoint" :return addCharacteristicsForType(set); + case "Count" :return addCharacteristicsForType(set, "has-range"); + case "Distance" :return addCharacteristicsForType(set, "has-range", "is-continuous"); + case "Duration" : return addCharacteristicsForType(set, "has-range", "is-continuous"); + case "HumanName" :return addCharacteristicsForType(set); + case "Identifier" : return addCharacteristicsForType(set); + case "Money" : return addCharacteristicsForType(set, "has-range", "is-continuous"); + case "Period" : return addCharacteristicsForType(set); + case "Quantity" :return addCharacteristicsForType(set, "has-range", "is-continuous", "can-bind", "has-units"); + case "Range" :return addCharacteristicsForType(set, "has-units"); + case "Ratio" :return addCharacteristicsForType(set, "has-units"); + case "RatioRange" : return addCharacteristicsForType(set, "has-units"); + case "Reference" : return addCharacteristicsForType(set, "has-target"); + case "SampledData" :return addCharacteristicsForType(set); + case "Signature" : return addCharacteristicsForType(set); + case "Timing" : return addCharacteristicsForType(set); + case "ContactDetail" :return addCharacteristicsForType(set); + case "Contributor" :return addCharacteristicsForType(set); + case "DataRequirement" :return addCharacteristicsForType(set); + case "Expression" : return addCharacteristicsForType(set); + case "ParameterDefinition" : return addCharacteristicsForType(set); + case "RelatedArtifact" :return addCharacteristicsForType(set); + case "TriggerDefinition" :return addCharacteristicsForType(set); + case "UsageContext" :return addCharacteristicsForType(set); + case "Dosage" : return addCharacteristicsForType(set); + case "Meta" :return addCharacteristicsForType(set); + case "Resource" :return addCharacteristicsForType(set); + case "Extension" :return addCharacteristicsForType(set); + case "Narrative" :return addCharacteristicsForType(set); + case "Element" :return addCharacteristicsForType(set); + case "BackboneElement" :return addCharacteristicsForType(set); + default: + throw new Error("Unhandled data type in addCharacterstics: "+tc); + } + } + + + private boolean addCharacteristicsForType(Set set, String... cl) { + for (String c : cl) { + set.add(c); + } + return true; + } + private boolean isPrimitiveType(String fhirType) { StructureDefinition sd = context.fetchTypeDefinition(fhirType); return sd != null && sd.getKind() == StructureDefinitionKind.PRIMITIVETYPE; From f8d7aa755e2c1f349d5c16e4534714b14037d30d Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 24 Aug 2022 14:53:56 -0400 Subject: [PATCH 023/156] Failing tests --- .../fhir/r4/model/DateTimeTypeFieldTests.java | 28 +++++++++++++++++++ .../r4b/model/DateTimeTypeFieldTests.java | 28 +++++++++++++++++++ .../fhir/r5/model/DateTimeTypeFieldTests.java | 28 +++++++++++++++++++ 3 files changed, 84 insertions(+) create mode 100644 org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java create mode 100644 org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java create mode 100644 org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java diff --git a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java new file mode 100644 index 000000000..a9ff75978 --- /dev/null +++ b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java @@ -0,0 +1,28 @@ +package org.hl7.fhir.r4.model; + +import ca.uhn.fhir.model.api.TemporalPrecisionEnum; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DateTimeTypeFieldTests { + @Test + public void testFieldSet() { + final int YEAR = 1979; + final int MONTH = 1; + final int DAY = 23; + final DateTimeType dateTimeYearFirst = new DateTimeType(); + dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeYearFirst.setYear(YEAR); + dateTimeYearFirst.setDay(DAY); + dateTimeYearFirst.setMonth(MONTH); + + final DateTimeType dateTimeDayFirst = new DateTimeType(); + dateTimeDayFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeDayFirst.setDay(DAY); + dateTimeDayFirst.setYear(YEAR); + dateTimeDayFirst.setMonth(MONTH); + + assertEquals(dateTimeYearFirst.asStringValue(), dateTimeDayFirst.asStringValue()); + } +} diff --git a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java new file mode 100644 index 000000000..5bf88467c --- /dev/null +++ b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java @@ -0,0 +1,28 @@ +package org.hl7.fhir.r4b.model; + +import ca.uhn.fhir.model.api.TemporalPrecisionEnum; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DateTimeTypeFieldTests { + @Test + public void testFieldSet() { + final int YEAR = 1979; + final int MONTH = 1; + final int DAY = 23; + final DateTimeType dateTimeYearFirst = new DateTimeType(); + dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeYearFirst.setYear(YEAR); + dateTimeYearFirst.setDay(DAY); + dateTimeYearFirst.setMonth(MONTH); + + final DateTimeType dateTimeDayFirst = new DateTimeType(); + dateTimeDayFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeDayFirst.setDay(DAY); + dateTimeDayFirst.setYear(YEAR); + dateTimeDayFirst.setMonth(MONTH); + + assertEquals(dateTimeYearFirst.asStringValue(), dateTimeDayFirst.asStringValue()); + } +} diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java new file mode 100644 index 000000000..026704ff4 --- /dev/null +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java @@ -0,0 +1,28 @@ +package org.hl7.fhir.r5.model; + +import ca.uhn.fhir.model.api.TemporalPrecisionEnum; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DateTimeTypeFieldTests { + @Test + public void testFieldSet() { + final int YEAR = 1979; + final int MONTH = 1; + final int DAY = 23; + final DateTimeType dateTimeYearFirst = new DateTimeType(); + dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeYearFirst.setYear(YEAR); + dateTimeYearFirst.setDay(DAY); + dateTimeYearFirst.setMonth(MONTH); + + final DateTimeType dateTimeDayFirst = new DateTimeType(); + dateTimeDayFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeDayFirst.setDay(DAY); + dateTimeDayFirst.setYear(YEAR); + dateTimeDayFirst.setMonth(MONTH); + + assertEquals(dateTimeYearFirst.asStringValue(), dateTimeDayFirst.asStringValue()); + } +} From 5b1ac27b1241ff740a15559f79e822c82c28ff3c Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 24 Aug 2022 14:54:08 -0400 Subject: [PATCH 024/156] Fix --- .../src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java | 2 +- .../src/main/java/org/hl7/fhir/r4b/model/BaseDateTimeType.java | 2 +- .../src/main/java/org/hl7/fhir/r5/model/BaseDateTimeType.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java index bb78e3de3..c390e7a92 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java @@ -537,7 +537,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(0, 0, 0); + cal = new GregorianCalendar(); } else { cal = getValueAsCalendar(); } diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseDateTimeType.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseDateTimeType.java index 53a806b46..730448ca1 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseDateTimeType.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/BaseDateTimeType.java @@ -544,7 +544,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(0, 0, 0); + cal = new GregorianCalendar(); } else { cal = getValueAsCalendar(); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseDateTimeType.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseDateTimeType.java index b40758101..c59da9c5c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseDateTimeType.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BaseDateTimeType.java @@ -544,7 +544,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(0, 0, 0); + cal = new GregorianCalendar(); } else { cal = getValueAsCalendar(); } From cc2ec05afe30e91a6cdc648e8e1379ca952c1e05 Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 24 Aug 2022 15:24:45 -0400 Subject: [PATCH 025/156] Improve test --- .../java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java | 5 +++-- .../java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java | 5 +++-- .../java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java index a9ff75978..fb9edb905 100644 --- a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java +++ b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/model/DateTimeTypeFieldTests.java @@ -9,7 +9,7 @@ public class DateTimeTypeFieldTests { @Test public void testFieldSet() { final int YEAR = 1979; - final int MONTH = 1; + final int MONTH = 0; // January final int DAY = 23; final DateTimeType dateTimeYearFirst = new DateTimeType(); dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); @@ -23,6 +23,7 @@ public class DateTimeTypeFieldTests { dateTimeDayFirst.setYear(YEAR); dateTimeDayFirst.setMonth(MONTH); - assertEquals(dateTimeYearFirst.asStringValue(), dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeYearFirst.asStringValue()); } } diff --git a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java index 5bf88467c..07cd7aeee 100644 --- a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java +++ b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/model/DateTimeTypeFieldTests.java @@ -9,7 +9,7 @@ public class DateTimeTypeFieldTests { @Test public void testFieldSet() { final int YEAR = 1979; - final int MONTH = 1; + final int MONTH = 0; // January final int DAY = 23; final DateTimeType dateTimeYearFirst = new DateTimeType(); dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); @@ -23,6 +23,7 @@ public class DateTimeTypeFieldTests { dateTimeDayFirst.setYear(YEAR); dateTimeDayFirst.setMonth(MONTH); - assertEquals(dateTimeYearFirst.asStringValue(), dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeYearFirst.asStringValue()); } } diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java index 026704ff4..be82d88d9 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/model/DateTimeTypeFieldTests.java @@ -9,7 +9,7 @@ public class DateTimeTypeFieldTests { @Test public void testFieldSet() { final int YEAR = 1979; - final int MONTH = 1; + final int MONTH = 0; // January final int DAY = 23; final DateTimeType dateTimeYearFirst = new DateTimeType(); dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); @@ -23,6 +23,7 @@ public class DateTimeTypeFieldTests { dateTimeDayFirst.setYear(YEAR); dateTimeDayFirst.setMonth(MONTH); - assertEquals(dateTimeYearFirst.asStringValue(), dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeYearFirst.asStringValue()); } } From e406fe364578df03291ef2a3933ac1c786a05350 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 25 Aug 2022 09:18:45 -0400 Subject: [PATCH 026/156] dstu2016may + dstu3 tests + fix --- .../dstu2016may/model/BaseDateTimeType.java | 2 +- .../model/DateTimeTypeFieldTests.java | 29 +++++++++++++++++++ .../fhir/dstu3/model/BaseDateTimeType.java | 2 +- .../dstu3/model/DateTimeTypeFieldTests.java | 29 +++++++++++++++++++ .../hl7/fhir/r4/model/BaseDateTimeType.java | 2 +- 5 files changed, 61 insertions(+), 3 deletions(-) create mode 100644 org.hl7.fhir.dstu2016may/src/test/java/org/hl7/fhir/dstu2016may/model/DateTimeTypeFieldTests.java create mode 100644 org.hl7.fhir.dstu3/src/test/java/org/hl7/fhir/dstu3/model/DateTimeTypeFieldTests.java diff --git a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseDateTimeType.java b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseDateTimeType.java index 7edc14fc2..dcf7c46a3 100644 --- a/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseDateTimeType.java +++ b/org.hl7.fhir.dstu2016may/src/main/java/org/hl7/fhir/dstu2016may/model/BaseDateTimeType.java @@ -675,7 +675,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(0, 0, 0); + cal = new GregorianCalendar(); } else { cal = getValueAsCalendar(); } diff --git a/org.hl7.fhir.dstu2016may/src/test/java/org/hl7/fhir/dstu2016may/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.dstu2016may/src/test/java/org/hl7/fhir/dstu2016may/model/DateTimeTypeFieldTests.java new file mode 100644 index 000000000..7e28d6efb --- /dev/null +++ b/org.hl7.fhir.dstu2016may/src/test/java/org/hl7/fhir/dstu2016may/model/DateTimeTypeFieldTests.java @@ -0,0 +1,29 @@ +package org.hl7.fhir.dstu2016may.model; + +import ca.uhn.fhir.model.api.TemporalPrecisionEnum; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DateTimeTypeFieldTests { + @Test + public void testFieldSet() { + final int YEAR = 1979; + final int MONTH = 0; // January + final int DAY = 23; + final DateTimeType dateTimeYearFirst = new DateTimeType(); + dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeYearFirst.setYear(YEAR); + dateTimeYearFirst.setDay(DAY); + dateTimeYearFirst.setMonth(MONTH); + + final DateTimeType dateTimeDayFirst = new DateTimeType(); + dateTimeDayFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeDayFirst.setDay(DAY); + dateTimeDayFirst.setYear(YEAR); + dateTimeDayFirst.setMonth(MONTH); + + assertEquals("1979-01-23",dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeYearFirst.asStringValue()); + } +} diff --git a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseDateTimeType.java b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseDateTimeType.java index 2d5bf4b0f..72c586e43 100644 --- a/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseDateTimeType.java +++ b/org.hl7.fhir.dstu3/src/main/java/org/hl7/fhir/dstu3/model/BaseDateTimeType.java @@ -539,7 +539,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(0, 0, 0); + cal = new GregorianCalendar(); } else { cal = getValueAsCalendar(); } diff --git a/org.hl7.fhir.dstu3/src/test/java/org/hl7/fhir/dstu3/model/DateTimeTypeFieldTests.java b/org.hl7.fhir.dstu3/src/test/java/org/hl7/fhir/dstu3/model/DateTimeTypeFieldTests.java new file mode 100644 index 000000000..fdb67a8bf --- /dev/null +++ b/org.hl7.fhir.dstu3/src/test/java/org/hl7/fhir/dstu3/model/DateTimeTypeFieldTests.java @@ -0,0 +1,29 @@ +package org.hl7.fhir.dstu3.model; + +import ca.uhn.fhir.model.api.TemporalPrecisionEnum; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class DateTimeTypeFieldTests { + @Test + public void testFieldSet() { + final int YEAR = 1979; + final int MONTH = 0; // January + final int DAY = 23; + final DateTimeType dateTimeYearFirst = new DateTimeType(); + dateTimeYearFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeYearFirst.setYear(YEAR); + dateTimeYearFirst.setDay(DAY); + dateTimeYearFirst.setMonth(MONTH); + + final DateTimeType dateTimeDayFirst = new DateTimeType(); + dateTimeDayFirst.setPrecision(TemporalPrecisionEnum.DAY); + dateTimeDayFirst.setDay(DAY); + dateTimeDayFirst.setYear(YEAR); + dateTimeDayFirst.setMonth(MONTH); + + assertEquals("1979-01-23",dateTimeDayFirst.asStringValue()); + assertEquals("1979-01-23",dateTimeYearFirst.asStringValue()); + } +} diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java index c390e7a92..ba4e24dee 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java @@ -537,7 +537,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(); + cal = new GregorianCalendar(0,0,0); } else { cal = getValueAsCalendar(); } From f96b13e3b9035bf719a9f9dc00182bd7450b1629 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 25 Aug 2022 09:39:22 -0400 Subject: [PATCH 027/156] Repair r4 Why did that get undone? --- .../src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java index ba4e24dee..c390e7a92 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/BaseDateTimeType.java @@ -537,7 +537,7 @@ public abstract class BaseDateTimeType extends PrimitiveType { validateValueInRange(theValue, theMinimum, theMaximum); Calendar cal; if (getValue() == null) { - cal = new GregorianCalendar(0,0,0); + cal = new GregorianCalendar(); } else { cal = getValueAsCalendar(); } From e79b2bf199d2df517fa9a59964d009297363a2f0 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 25 Aug 2022 10:02:13 -0400 Subject: [PATCH 028/156] Return lists for FHIRPath constants in r4 (#902) * Test for r5 * Test for r4b * r4 test + fix Co-authored-by: dotasek --- .../org/hl7/fhir/r4/utils/FHIRPathEngine.java | 42 ++++++------ .../org/hl7/fhir/r4/utils/LiquidEngine.java | 65 +++++++++---------- .../fhir/r4/utils/StructureMapUtilities.java | 7 +- .../org/hl7/fhir/r4/test/FHIRPathTests.java | 42 +++++++++--- .../fhir/r4/test/SnapShotGenerationTests.java | 2 +- .../org/hl7/fhir/r4b/test/FHIRPathTests.java | 42 ++++++++---- .../org/hl7/fhir/r5/test/FHIRPathTests.java | 50 +++++++++----- 7 files changed, 153 insertions(+), 97 deletions(-) diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java index 67391afa3..e057967b4 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/FHIRPathEngine.java @@ -199,7 +199,7 @@ public class FHIRPathEngine { * @param beforeContext - whether this is being called before the name is resolved locally, or not * @return the value of the reference (or null, if it's not valid, though can throw an exception if desired) */ - public Base resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException; + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException; public TypeDetails resolveConstantType(Object appContext, String name) throws PathEngineException; /** @@ -1162,9 +1162,9 @@ public class FHIRPathEngine { work.addAll(work2); break; case Constant: - Base b = resolveConstant(context, exp.getConstant(), false, exp); + List b = resolveConstant(context, exp.getConstant(), false, exp); if (b != null) - work.add(b); + work.addAll(b); break; case Group: work2 = execute(context, focus, exp.getGroup(), atEntry); @@ -1292,14 +1292,14 @@ public class FHIRPathEngine { return result; } - private Base resolveConstant(ExecutionContext context, Base constant, boolean beforeContext, ExpressionNode expr) throws PathEngineException { + private List resolveConstant(ExecutionContext context, Base constant, boolean beforeContext, ExpressionNode expr) throws PathEngineException { if (!(constant instanceof FHIRConstant)) - return constant; + return new ArrayList<>(Arrays.asList(constant)); FHIRConstant c = (FHIRConstant) constant; if (c.getValue().startsWith("%")) { return resolveConstant(context, c.getValue(), beforeContext, expr); } else if (c.getValue().startsWith("@")) { - return processDateConstant(context.appInfo, c.getValue().substring(1)); + return new ArrayList<>(Arrays.asList(processDateConstant(context.appInfo, c.getValue().substring(1)))); } else throw new PathEngineException("Invaild FHIR Constant "+c.getValue(), expr.getStart(), expr.toString()); } @@ -1323,31 +1323,31 @@ public class FHIRPathEngine { } - private Base resolveConstant(ExecutionContext context, String s, boolean beforeContext, ExpressionNode expr) throws PathEngineException { + private List resolveConstant(ExecutionContext context, String s, boolean beforeContext, ExpressionNode expr) throws PathEngineException { if (s.equals("%sct")) - return new StringType("http://snomed.info/sct").noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("http://snomed.info/sct").noExtensions())); else if (s.equals("%loinc")) - return new StringType("http://loinc.org").noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("http://loinc.org").noExtensions())); else if (s.equals("%ucum")) - return new StringType("http://unitsofmeasure.org").noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("http://unitsofmeasure.org").noExtensions())); else if (s.equals("%resource")) { if (context.focusResource == null) throw new PathEngineException("Cannot use %resource in this context", expr.getStart(), expr.toString()); - return context.focusResource; + return new ArrayList<>(Arrays.asList(context.focusResource)); } else if (s.equals("%rootResource")) { if (context.rootResource == null) throw new PathEngineException("Cannot use %rootResource in this context", expr.getStart(), expr.toString()); - return context.rootResource; + return new ArrayList<>(Arrays.asList(context.rootResource)); } else if (s.equals("%context")) { - return context.context; + return new ArrayList<>(Arrays.asList(context.context)); } else if (s.equals("%us-zip")) - return new StringType("[0-9]{5}(-[0-9]{4}){0,1}").noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("[0-9]{5}(-[0-9]{4}){0,1}").noExtensions())); else if (s.startsWith("%`vs-")) - return new StringType("http://hl7.org/fhir/ValueSet/"+s.substring(5, s.length()-1)+"").noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("http://hl7.org/fhir/ValueSet/"+s.substring(5, s.length()-1)+"").noExtensions())); else if (s.startsWith("%`cs-")) - return new StringType("http://hl7.org/fhir/"+s.substring(5, s.length()-1)+"").noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("http://hl7.org/fhir/"+s.substring(5, s.length()-1)+"").noExtensions())); else if (s.startsWith("%`ext-")) - return new StringType("http://hl7.org/fhir/StructureDefinition/"+s.substring(6, s.length()-1)).noExtensions(); + return new ArrayList<>(Arrays.asList(new StringType("http://hl7.org/fhir/StructureDefinition/"+s.substring(6, s.length()-1)).noExtensions())); else if (hostServices == null) throw new PathEngineException("Unknown fixed constant '"+s+"'", expr.getStart(), expr.toString()); else @@ -2401,9 +2401,9 @@ public class FHIRPathEngine { List result = new ArrayList(); if (atEntry && context.appInfo != null && hostServices != null) { // we'll see if the name matches a constant known by the context. - Base temp = hostServices.resolveConstant(context.appInfo, exp.getName(), true); + List temp = hostServices.resolveConstant(context.appInfo, exp.getName(), true); if (temp != null) { - result.add(temp); + result.addAll(temp); return result; } } @@ -2415,9 +2415,9 @@ public class FHIRPathEngine { if (atEntry && context.appInfo != null && hostServices != null && result.isEmpty()) { // well, we didn't get a match on the name - we'll see if the name matches a constant known by the context. // (if the name does match, and the user wants to get the constant value, they'll have to try harder... - Base temp = hostServices.resolveConstant(context.appInfo, exp.getName(), false); + List temp = hostServices.resolveConstant(context.appInfo, exp.getName(), false); if (temp != null) { - result.add(temp); + result.addAll(temp); } } return result; diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/LiquidEngine.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/LiquidEngine.java index 6a307b8ca..63deeda3f 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/LiquidEngine.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/LiquidEngine.java @@ -1,38 +1,35 @@ package org.hl7.fhir.r4.utils; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - POSSIBILITY OF SUCH DAMAGE. - - */ +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + */ import org.hl7.fhir.exceptions.FHIRException; @@ -365,10 +362,10 @@ public class LiquidEngine implements IEvaluationContext { } @Override - public Base resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { LiquidEngineContext ctxt = (LiquidEngineContext) appContext; if (ctxt.vars.containsKey(name)) - return ctxt.vars.get(name); + return new ArrayList<>(Arrays.asList(ctxt.vars.get(name))); if (externalHostServices == null) return null; return externalHostServices.resolveConstant(ctxt.externalContext, name, beforeContext); diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/StructureMapUtilities.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/StructureMapUtilities.java index 65286544b..01e3dfdf3 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/StructureMapUtilities.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/utils/StructureMapUtilities.java @@ -168,12 +168,15 @@ public class StructureMapUtilities { private class FFHIRPathHostServices implements IEvaluationContext{ - public Base resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { Variables vars = (Variables) appContext; Base res = vars.get(VariableMode.INPUT, name); if (res == null) res = vars.get(VariableMode.OUTPUT, name); - return res; + List result = new ArrayList(); + if (res != null) + result.add(res); + return result; } @Override diff --git a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java index 357f8e143..6dd98e693 100644 --- a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java +++ b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/FHIRPathTests.java @@ -11,10 +11,7 @@ import org.hl7.fhir.r4.utils.FHIRPathEngine; import org.hl7.fhir.r4.utils.FHIRPathEngine.IEvaluationContext; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xml.XMLUtil; -import org.junit.jupiter.api.Assertions; -import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Disabled; -import org.junit.jupiter.api.TestInstance; +import org.junit.jupiter.api.*; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -27,24 +24,24 @@ import javax.xml.parsers.ParserConfigurationException; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import java.util.stream.Stream; -@Disabled +import static org.junit.jupiter.api.Assertions.assertEquals; + + public class FHIRPathTests { public class FHIRPathTestEvaluationServices implements IEvaluationContext { @Override - public Base resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { throw new NotImplementedException("Not done yet (FHIRPathTestEvaluationServices.resolveConstant), when item is element"); } @Override public TypeDetails resolveConstantType(Object appContext, String name) throws PathEngineException { + throw new NotImplementedException("Not done yet (FHIRPathTestEvaluationServices.resolveConstantType), when item is element"); } @@ -136,9 +133,11 @@ public class FHIRPathTests { @SuppressWarnings("deprecation") + @Disabled @ParameterizedTest(name = "{index}: file {0}") @MethodSource("data") public void test(String name, Element test) throws FileNotFoundException, IOException, FHIRException, org.hl7.fhir.exceptions.FHIRException, UcumException { + fp.setHostServices(new FHIRPathTestEvaluationServices()); String input = test.getAttribute("inputfile"); String expression = XMLUtil.getNamedChild(test, "expression").getTextContent(); @@ -211,4 +210,27 @@ public class FHIRPathTests { } } } + + @Test + @DisplayName("resolveConstant returns a list of Base") + public void resolveConstantReturnsList() { + final String DUMMY_CONSTANT_1 = "dummyConstant1"; + final String DUMMY_CONSTANT_2 = "dummyConstant2"; + fp.setHostServices(new FHIRPathTestEvaluationServices() { + @Override + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + + return Arrays.asList( + new StringType(DUMMY_CONSTANT_1).noExtensions(), + new StringType(DUMMY_CONSTANT_2).noExtensions()); + } + }); + + ExpressionNode expressionNode = fp.parse("%dummyConstant"); + + List result = fp.evaluate(null, expressionNode); + assertEquals(2, result.size()); + assertEquals(DUMMY_CONSTANT_1, result.get(0).primitiveValue()); + assertEquals(DUMMY_CONSTANT_2, result.get(1).primitiveValue()); + } } \ No newline at end of file diff --git a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/SnapShotGenerationTests.java b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/SnapShotGenerationTests.java index 2b4a32a44..d646bcd4e 100644 --- a/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/SnapShotGenerationTests.java +++ b/org.hl7.fhir.r4/src/test/java/org/hl7/fhir/r4/test/SnapShotGenerationTests.java @@ -286,7 +286,7 @@ public class SnapShotGenerationTests { // FHIRPath methods @Override - public Base resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { throw new Error("Not implemented yet"); } diff --git a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java index d7a3645c5..fc5891eba 100644 --- a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java +++ b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/FHIRPathTests.java @@ -2,11 +2,7 @@ package org.hl7.fhir.r4b.test; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TimeZone; +import java.util.*; import java.util.stream.Stream; import javax.xml.parsers.ParserConfigurationException; @@ -17,14 +13,7 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.PathEngineException; import org.hl7.fhir.r4b.formats.JsonParser; import org.hl7.fhir.r4b.formats.XmlParser; -import org.hl7.fhir.r4b.model.Base; -import org.hl7.fhir.r4b.model.BooleanType; -import org.hl7.fhir.r4b.model.ExpressionNode; -import org.hl7.fhir.r4b.model.PrimitiveType; -import org.hl7.fhir.r4b.model.Quantity; -import org.hl7.fhir.r4b.model.Resource; -import org.hl7.fhir.r4b.model.TypeDetails; -import org.hl7.fhir.r4b.model.ValueSet; +import org.hl7.fhir.r4b.model.*; import org.hl7.fhir.r4b.test.FHIRPathTests.TestResultType; import org.hl7.fhir.r4b.test.utils.TestingUtilities; import org.hl7.fhir.r4b.utils.FHIRPathEngine; @@ -33,6 +22,8 @@ import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xml.XMLUtil; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -41,6 +32,8 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.SAXException; +import static org.junit.jupiter.api.Assertions.assertEquals; + public class FHIRPathTests { public enum TestResultType {OK, SYNTAX, SEMANTICS, EXECUTION} @@ -273,4 +266,27 @@ public class FHIRPathTests { } } } + + @Test + @DisplayName("resolveConstant returns a list of Base") + public void resolveConstantReturnsList() { + final String DUMMY_CONSTANT_1 = "dummyConstant1"; + final String DUMMY_CONSTANT_2 = "dummyConstant2"; + fp.setHostServices(new FHIRPathTestEvaluationServices() { + @Override + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + + return Arrays.asList( + new StringType(DUMMY_CONSTANT_1).noExtensions(), + new StringType(DUMMY_CONSTANT_2).noExtensions()); + } + }); + + ExpressionNode expressionNode = fp.parse("%dummyConstant"); + + List result = fp.evaluate(null, expressionNode); + assertEquals(2, result.size()); + assertEquals(DUMMY_CONSTANT_1, result.get(0).primitiveValue()); + assertEquals(DUMMY_CONSTANT_2, result.get(1).primitiveValue()); + } } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/FHIRPathTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/FHIRPathTests.java index d1f6d8aa4..53bcadcd4 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/FHIRPathTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/FHIRPathTests.java @@ -2,11 +2,7 @@ package org.hl7.fhir.r5.test; import java.io.FileNotFoundException; import java.io.IOException; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TimeZone; +import java.util.*; import java.util.stream.Stream; import javax.xml.parsers.ParserConfigurationException; @@ -17,14 +13,7 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.PathEngineException; import org.hl7.fhir.r5.formats.JsonParser; import org.hl7.fhir.r5.formats.XmlParser; -import org.hl7.fhir.r5.model.Base; -import org.hl7.fhir.r5.model.BooleanType; -import org.hl7.fhir.r5.model.ExpressionNode; -import org.hl7.fhir.r5.model.PrimitiveType; -import org.hl7.fhir.r5.model.Quantity; -import org.hl7.fhir.r5.model.Resource; -import org.hl7.fhir.r5.model.TypeDetails; -import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.model.*; import org.hl7.fhir.r5.test.utils.TestingUtilities; import org.hl7.fhir.r5.utils.FHIRPathEngine; import org.hl7.fhir.r5.utils.FHIRPathEngine.IEvaluationContext; @@ -32,6 +21,8 @@ import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xml.XMLUtil; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; @@ -40,6 +31,10 @@ import org.w3c.dom.Element; import org.w3c.dom.Node; import org.xml.sax.SAXException; +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; + public class FHIRPathTests { public enum TestResultType {OK, SYNTAX, SEMANTICS, EXECUTION} @@ -229,7 +224,7 @@ public class FHIRPathTests { List expected = new ArrayList(); XMLUtil.getNamedChildren(test, "output", expected); - Assertions.assertEquals(outcome.size(), expected.size(), String.format("Expected %d objects but found %d for expression %s", expected.size(), outcome.size(), expression)); + assertEquals(outcome.size(), expected.size(), String.format("Expected %d objects but found %d for expression %s", expected.size(), outcome.size(), expression)); if ("false".equals(test.getAttribute("ordered"))) { for (int i = 0; i < Math.min(outcome.size(), expected.size()); i++) { String tn = outcome.get(i).fhirType(); @@ -252,7 +247,7 @@ public class FHIRPathTests { for (int i = 0; i < Math.min(outcome.size(), expected.size()); i++) { String tn = expected.get(i).getAttribute("type"); if (!Utilities.noString(tn)) { - Assertions.assertEquals(tn, outcome.get(i).fhirType(), String.format("Outcome %d: Type should be %s but was %s", i, tn, outcome.get(i).fhirType())); + assertEquals(tn, outcome.get(i).fhirType(), String.format("Outcome %d: Type should be %s but was %s", i, tn, outcome.get(i).fhirType())); } String v = expected.get(i).getTextContent(); if (!Utilities.noString(v)) { @@ -265,11 +260,34 @@ public class FHIRPathTests { System.out.println(name); System.out.println(String.format("Outcome %d: Value should be %s but was %s for expression %s", i, v, ((PrimitiveType) outcome.get(i)).fpValue(), expression)); } - Assertions.assertEquals(v, ((PrimitiveType) outcome.get(i)).fpValue(), String.format("Outcome %d: Value should be %s but was %s for expression %s", i, v, ((PrimitiveType) outcome.get(i)).fpValue(), expression)); + assertEquals(v, ((PrimitiveType) outcome.get(i)).fpValue(), String.format("Outcome %d: Value should be %s but was %s for expression %s", i, v, ((PrimitiveType) outcome.get(i)).fpValue(), expression)); } } } } } } + + @Test + @DisplayName("resolveConstant returns a list of Base") + public void resolveConstantReturnsList() { + final String DUMMY_CONSTANT_1 = "dummyConstant1"; + final String DUMMY_CONSTANT_2 = "dummyConstant2"; + fp.setHostServices(new FHIRPathTestEvaluationServices() { + @Override + public List resolveConstant(Object appContext, String name, boolean beforeContext) throws PathEngineException { + + return Arrays.asList( + new StringType(DUMMY_CONSTANT_1).noExtensions(), + new StringType(DUMMY_CONSTANT_2).noExtensions()); + } + }); + + ExpressionNode expressionNode = fp.parse("%dummyConstant"); + + List result = fp.evaluate(null, expressionNode); + assertEquals(2, result.size()); + assertEquals(DUMMY_CONSTANT_1, result.get(0).primitiveValue()); + assertEquals(DUMMY_CONSTANT_2, result.get(1).primitiveValue()); + } } \ No newline at end of file From d078adf91e11ab1a21350e5d48fda05019512bcb Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 25 Aug 2022 12:15:37 -0400 Subject: [PATCH 029/156] Update RELEASE_NOTES.md --- RELEASE_NOTES.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..ed96fe2a8 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,16 @@ ## Other code changes -* no changes \ No newline at end of file + +* Return lists for FHIRPath constants in r4 +* FHIR-25206 handle deprecated concepts properly when expanding value sets +* Fix SHEX generation issue +* Fix ConceptMap rendering column title +* Fix problem rendering ConceptMaps in value sets +* Fix NPE issue rendering resources without ids +* Improvements to SearchParameterRenderer +* Add Reference.resource to output of copy() +* Migration of r5 changes to r4b +* Bundle rendering improvements +* Fix loading canonical resources so that duplicates with different versions is OK +* Fix generation of profiles on Resource.id From 5112fe18ca53bcbdfc9214035b1667d895c96ca2 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 25 Aug 2022 16:46:36 +0000 Subject: [PATCH 030/156] Release: v5.6.55 ## Validator Changes * no changes ## Other code changes * Return lists for FHIRPath constants in r4 * FHIR-25206 handle deprecated concepts properly when expanding value sets * Fix SHEX generation issue * Fix ConceptMap rendering column title * Fix problem rendering ConceptMaps in value sets * Fix NPE issue rendering resources without ids * Improvements to SearchParameterRenderer * Add Reference.resource to output of copy() * Migration of r5 changes to r4b * Bundle rendering improvements * Fix loading canonical resources so that duplicates with different versions is OK * Fix generation of profiles on Resource.id ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 70d320a2a..2c332ed97 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index a023ab237..5f8c4051c 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 5ed19418c..f9e172299 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index d43c572be..33155ea8b 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index c34aa14b0..32586f2bd 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index d51d6946e..48aa0401f 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 663fd9b79..bedea8240 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 065a62832..f65a596ce 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index de23a38f0..4f9317e3b 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 985ba4751..df0839a81 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index df1fbcbd9..93bc0f0bf 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 ../pom.xml diff --git a/pom.xml b/pom.xml index 559c1c0a8..f8411efac 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.55-SNAPSHOT + 5.6.55 pom From 540209b68fa16c0ce437292cb3d1f526994b59d2 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 25 Aug 2022 17:05:11 +0000 Subject: [PATCH 031/156] Updating version to: 5.6.56-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 14 +------------- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 13 insertions(+), 25 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index ed96fe2a8..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,16 +4,4 @@ ## Other code changes - -* Return lists for FHIRPath constants in r4 -* FHIR-25206 handle deprecated concepts properly when expanding value sets -* Fix SHEX generation issue -* Fix ConceptMap rendering column title -* Fix problem rendering ConceptMaps in value sets -* Fix NPE issue rendering resources without ids -* Improvements to SearchParameterRenderer -* Add Reference.resource to output of copy() -* Migration of r5 changes to r4b -* Bundle rendering improvements -* Fix loading canonical resources so that duplicates with different versions is OK -* Fix generation of profiles on Resource.id +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 2c332ed97..343426a92 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 5f8c4051c..95b941101 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index f9e172299..2521797eb 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 33155ea8b..87e51cd4e 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 32586f2bd..941245bbe 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 48aa0401f..716f5e97b 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index bedea8240..3f31493fe 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index f65a596ce..8898b1279 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 4f9317e3b..b9b6c8906 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index df0839a81..3090f54b8 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 93bc0f0bf..b6004465f 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index f8411efac..3e81e2b9f 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.55 + 5.6.56-SNAPSHOT pom From 2f4510c16d9925d58fa4d188ab24b12b27855fc8 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 20:53:59 +1000 Subject: [PATCH 032/156] lighten invariant background color --- .../main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 73a7e4765..670429e76 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -313,7 +313,7 @@ public class ProfileUtilities extends TranslatingUtilities { } } - public static final String CONSTRAINT_STYLE = "padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdeeee;"; + public static final String CONSTRAINT_STYLE = "padding-left: 3px; padding-right: 3px; border: 1px maroon solid; font-weight: bold; color: #301212; background-color: #fdf4f4;"; private static final String ROW_COLOR_ERROR = "#ffcccc"; private static final String ROW_COLOR_FATAL = "#ff9999"; private static final String ROW_COLOR_WARNING = "#ffebcc"; From 58017176fe0e65ff1f2a312bdad5fd8d6c296b54 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 20:56:23 +1000 Subject: [PATCH 033/156] code system rendering improvements --- .../fhir/r5/renderers/CodeSystemRenderer.java | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java index ef3309e8e..4ed97f849 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java @@ -95,9 +95,11 @@ public class CodeSystemRenderer extends TerminologyRenderer { if (cs.hasProperty()) { boolean hasRendered = false; boolean hasURI = false; + boolean hasDescription = false; for (PropertyComponent p : cs.getProperty()) { hasRendered = hasRendered || !p.getCode().equals(ToolingExtensions.getPresentation(p, p.getCodeElement())); hasURI = hasURI || p.hasUri(); + hasDescription = hasDescription || p.hasDescription(); } x.para().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Properties", getContext().getLang())); @@ -111,7 +113,9 @@ public class CodeSystemRenderer extends TerminologyRenderer { tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "URL", getContext().getLang())); } tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Type", getContext().getLang())); - tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Description", getContext().getLang())); + if (hasDescription) { + tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Description", getContext().getLang())); + } for (PropertyComponent p : cs.getProperty()) { tr = tbl.tr(); if (hasRendered) { @@ -122,7 +126,9 @@ public class CodeSystemRenderer extends TerminologyRenderer { tr.td().tx(p.getUri()); } tr.td().tx(p.hasType() ? p.getType().toCode() : ""); - tr.td().tx(p.getDescription()); + if (hasDescription) { + tr.td().tx(p.getDescription()); + } } } } @@ -130,13 +136,13 @@ public class CodeSystemRenderer extends TerminologyRenderer { private boolean generateCodeSystemContent(XhtmlNode x, CodeSystem cs, boolean hasExtensions, List maps) throws FHIRFormatError, DefinitionException, IOException { XhtmlNode p = x.para(); if (cs.getContent() == CodeSystemContentMode.COMPLETE) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines the following codes", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines the following codes", cs.getUrl())+":"); else if (cs.getContent() == CodeSystemContentMode.EXAMPLE) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines some example codes", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines some example codes", cs.getUrl())+":"); else if (cs.getContent() == CodeSystemContentMode.FRAGMENT ) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, of which the following are a subset", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, of which the following are a subset", cs.getUrl())+":"); else if (cs.getContent() == CodeSystemContentMode.NOTPRESENT ) { - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, but they are not represented here", cs.getUrl())); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, but they are not represented here", cs.getUrl())); return false; } XhtmlNode t = x.table( "codes"); From bdb5a466216495721e89ac7c8192a56797b97cda Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 20:59:11 +1000 Subject: [PATCH 034/156] render comments --- .../r5/renderers/ProfileDrivenRenderer.java | 12 +++++ .../r5/renderers/utils/RenderingContext.java | 48 ++++++++++++++----- 2 files changed, 47 insertions(+), 13 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index 686b6a936..d7d73a167 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -77,6 +77,7 @@ import org.hl7.fhir.r5.utils.EOperationOutcome; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.r5.utils.XVerExtensionManager; import org.hl7.fhir.r5.utils.XVerExtensionManager.XVerExtensionStatus; +import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xhtml.NodeType; import org.hl7.fhir.utilities.xhtml.XhtmlComposer; @@ -306,6 +307,9 @@ public class ProfileDrivenRenderer extends ResourceRenderer { return; Base e = ew.getBase(); + if (context.isShowComments()) { + x = renderCommentsSpan(x, e); + } if (e instanceof StringType) x.addText(((StringType) e).getValue()); @@ -436,6 +440,14 @@ public class ProfileDrivenRenderer extends ResourceRenderer { } } + private XhtmlNode renderCommentsSpan(XhtmlNode x, Base e) { + if (e.hasFormatComment()) { + return x.span(null, CommaSeparatedStringBuilder.join(" ", e.getFormatCommentsPost())); + } else { + return x; + } + } + private boolean displayLeaf(ResourceWrapper res, BaseWrapper ew, ElementDefinition defn, XhtmlNode x, String name, boolean showCodeDetails) throws FHIRException, UnsupportedEncodingException, IOException { return displayLeaf(res, ew, defn, x, name, showCodeDetails, true); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index e81bb81d6..57bb8c20d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -122,6 +122,7 @@ public class RenderingContext { private QuestionnaireRendererMode questionnaireMode = QuestionnaireRendererMode.FORM; private boolean addGeneratedNarrativeHeader = true; + private boolean showComments = false; private FhirPublication targetVersion; private Locale locale; @@ -188,6 +189,7 @@ public class RenderingContext { res.dateYearMonthFormat = dateYearMonthFormat; res.targetVersion = targetVersion; res.locale = locale; + res.showComments = showComments; res.terminologyServiceOptions = terminologyServiceOptions.copy(); return res; @@ -453,8 +455,9 @@ public class RenderingContext { return targetVersion; } - public void setTargetVersion(FhirPublication targetVersion) { + public RenderingContext setTargetVersion(FhirPublication targetVersion) { this.targetVersion = targetVersion; + return this; } public boolean isTechnicalMode() { @@ -473,8 +476,9 @@ public class RenderingContext { } } - public void setLocale(Locale locale) { + public RenderingContext setLocale(Locale locale) { this.locale = locale; + return this; } @@ -494,8 +498,9 @@ public class RenderingContext { return timeZoneId; } - public void setTimeZoneId(ZoneId timeZoneId) { + public RenderingContext setTimeZoneId(ZoneId timeZoneId) { this.timeZoneId = timeZoneId; + return this; } @@ -509,12 +514,14 @@ public class RenderingContext { return this.dateTimeFormat; } - public void setDateTimeFormat(DateTimeFormatter dateTimeFormat) { + public RenderingContext setDateTimeFormat(DateTimeFormatter dateTimeFormat) { this.dateTimeFormat = dateTimeFormat; + return this; } - public void setDateTimeFormatString(String dateTimeFormat) { + public RenderingContext setDateTimeFormatString(String dateTimeFormat) { this.dateTimeFormat = DateTimeFormatter.ofPattern(dateTimeFormat); + return this; } /** @@ -527,52 +534,67 @@ public class RenderingContext { return this.dateFormat; } - public void setDateFormat(DateTimeFormatter dateFormat) { + public RenderingContext setDateFormat(DateTimeFormatter dateFormat) { this.dateFormat = dateFormat; + return this; } - public void setDateFormatString(String dateFormat) { + public RenderingContext setDateFormatString(String dateFormat) { this.dateFormat = DateTimeFormatter.ofPattern(dateFormat); + return this; } public DateTimeFormatter getDateYearFormat() { return dateYearFormat; } - public void setDateYearFormat(DateTimeFormatter dateYearFormat) { + public RenderingContext setDateYearFormat(DateTimeFormatter dateYearFormat) { this.dateYearFormat = dateYearFormat; + return this; } - public void setDateYearFormatString(String dateYearFormat) { + public RenderingContext setDateYearFormatString(String dateYearFormat) { this.dateYearFormat = DateTimeFormatter.ofPattern(dateYearFormat); + return this; } public DateTimeFormatter getDateYearMonthFormat() { return dateYearMonthFormat; } - public void setDateYearMonthFormat(DateTimeFormatter dateYearMonthFormat) { + public RenderingContext setDateYearMonthFormat(DateTimeFormatter dateYearMonthFormat) { this.dateYearMonthFormat = dateYearMonthFormat; + return this; } - public void setDateYearMonthFormatString(String dateYearMonthFormat) { + public RenderingContext setDateYearMonthFormatString(String dateYearMonthFormat) { this.dateYearMonthFormat = DateTimeFormatter.ofPattern(dateYearMonthFormat); + return this; } public ResourceRendererMode getMode() { return mode; } - public void setMode(ResourceRendererMode mode) { + public RenderingContext setMode(ResourceRendererMode mode) { this.mode = mode; + return this; } public boolean isContained() { return contained; } - public void setContained(boolean contained) { + public RenderingContext setContained(boolean contained) { this.contained = contained; + return this; + } + public boolean isShowComments() { + return showComments; + } + public RenderingContext setShowComments(boolean showComments) { + this.showComments = showComments; + return this; } From fe2b06031a3eb34b6b565951358731d3ed46bb35 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 20:59:42 +1000 Subject: [PATCH 035/156] terminology utility improvements --- .../r5/terminologies/CodeSystemUtilities.java | 57 ++++++++++++++++++- .../r5/terminologies/ValueSetUtilities.java | 18 ++++++ 2 files changed, 74 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java index 5870f52e6..523538ad4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java @@ -53,10 +53,13 @@ import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.Coding; import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.DateTimeType; +import org.hl7.fhir.r5.model.DecimalType; import org.hl7.fhir.r5.model.Enumerations.PublicationStatus; import org.hl7.fhir.r5.terminologies.CodeSystemUtilities.ConceptDefinitionComponentSorter; import org.hl7.fhir.r5.model.Identifier; +import org.hl7.fhir.r5.model.IntegerType; import org.hl7.fhir.r5.model.Meta; +import org.hl7.fhir.r5.model.StringType; import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.utilities.StandardsStatus; @@ -68,7 +71,7 @@ public class CodeSystemUtilities { @Override public int compare(ConceptDefinitionComponent o1, ConceptDefinitionComponent o2) { - return o1.getCode().compareTo(o2.getCode()); + return o1.getCode().compareToIgnoreCase(o2.getCode()); } } @@ -177,6 +180,58 @@ public class CodeSystemUtilities { concept.addProperty().setCode("notSelectable").setValue(new BooleanType(true)); } + public static void setProperty(CodeSystem cs, ConceptDefinitionComponent concept, String code, DataType value) throws FHIRFormatError { + defineProperty(cs, code, propertyTypeForValue(value)); + ConceptPropertyComponent p = getProperty(concept, code); + if (p != null) + p.setValue(value); + else + concept.addProperty().setCode(code).setValue(value); + } + + + private static PropertyType propertyTypeForValue(DataType value) { + if (value instanceof BooleanType) { + return PropertyType.BOOLEAN; + } + if (value instanceof CodeType) { + return PropertyType.CODE; + } + if (value instanceof Coding) { + return PropertyType.CODING; + } + if (value instanceof DateTimeType) { + return PropertyType.DATETIME; + } + if (value instanceof DecimalType) { + return PropertyType.DECIMAL; + } + if (value instanceof IntegerType) { + return PropertyType.INTEGER; + } + if (value instanceof StringType) { + return PropertyType.STRING; + } + throw new Error("Unknown property type "+value.getClass().getName()); + } + + private static void defineProperty(CodeSystem cs, String code, PropertyType pt) { + String url = "http://hl7.org/fhir/concept-properties#"+code; + for (PropertyComponent p : cs.getProperty()) { + if (p.getCode().equals(code)) { + if (!p.getUri().equals(url)) { + throw new Error("URI mismatch for code "+code+" url = "+p.getUri()+" vs "+url); + } + if (!p.getType().equals(pt)) { + throw new Error("Type mismatch for code "+code+" type = "+p.getType()+" vs "+pt); + } + return; + } + } + cs.addProperty().setCode(code).setUri(url).setType(pt).setUri(url); + + } + public static void defineNotSelectableProperty(CodeSystem cs) { defineCodeSystemProperty(cs, "notSelectable", "Indicates that the code is abstract - only intended to be used as a selector for other concepts", PropertyType.BOOLEAN); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java index ac06329ee..1fc5ca3dd 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetUtilities.java @@ -1,5 +1,7 @@ package org.hl7.fhir.r5.terminologies; +import java.util.Collections; +import java.util.Comparator; import java.util.List; /* @@ -47,9 +49,11 @@ import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent; import org.hl7.fhir.r5.model.CodeType; +import org.hl7.fhir.r5.model.ValueSet.ConceptReferenceComponent; import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionPropertyComponent; +import org.hl7.fhir.r5.terminologies.CodeSystemUtilities.ConceptDefinitionComponentSorter; import org.hl7.fhir.r5.terminologies.CodeSystemUtilities.ConceptStatus; import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.utilities.StandardsStatus; @@ -255,4 +259,18 @@ public class ValueSetUtilities { } + public static class ConceptReferenceComponentSorter implements Comparator { + + @Override + public int compare(ConceptReferenceComponent o1, ConceptReferenceComponent o2) { + return o1.getCode().compareToIgnoreCase(o2.getCode()); + } + } + + + public static void sortInclude(ConceptSetComponent inc) { + Collections.sort(inc.getConcept(), new ConceptReferenceComponentSorter()); + } + + } \ No newline at end of file From b37c40419e19de7c356168d820bcd1f4cdcc70fe Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 21:00:08 +1000 Subject: [PATCH 036/156] Support descendents analysing fhirpath types --- .../org/hl7/fhir/r5/utils/FHIRPathEngine.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java index 939d93026..705a3a449 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/FHIRPathEngine.java @@ -583,7 +583,7 @@ public class FHIRPathEngine { fmt = fmt + " "+worker.formatMessage(I18nConstants.FHIRPATH_LOCATION, location); } if (holder != null) { - return new PathEngineException(fmt, holder.getStart(), holder.toString()); + return new PathEngineException(fmt, holder.getStart(), holder.toString()); } else { return new PathEngineException(fmt); } @@ -5503,10 +5503,11 @@ public class FHIRPathEngine { if (dt == null) { throw makeException(expr, I18nConstants.FHIRPATH_NO_TYPE, ProfileUtilities.sdNs(t.getCode(), worker.getOverrideVersionNs()), "getChildTypesByName"); } - sdl.add(dt); + addTypeAndDescendents(sdl, dt, worker.allStructures()); + // also add any descendant types } } else { - sdl.add(sd); + addTypeAndDescendents(sdl, sd, worker.allStructures()); if (type.contains("#")) { tail = type.substring(type.indexOf("#")+1); tail = tail.substring(tail.indexOf(".")); @@ -5596,6 +5597,15 @@ public class FHIRPathEngine { } } + private void addTypeAndDescendents(List sdl, StructureDefinition dt, List types) { + sdl.add(dt); + for (StructureDefinition sd : types) { + if (sd.hasBaseDefinition() && sd.getBaseDefinition().equals(dt.getUrl()) && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION) { + addTypeAndDescendents(sdl, sd, types); + } + } + } + private void getClassInfoChildTypesByName(String name, TypeDetails result) { if (name.equals("namespace")) { result.addType(TypeDetails.FP_String); From c16c88aba28650938c08d3a04b9e9782def7c431 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 21:00:23 +1000 Subject: [PATCH 037/156] rework fhir types code system --- .../org/hl7/fhir/r5/utils/QuestionnaireBuilder.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java index 4248ba585..70fa5823b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java @@ -443,7 +443,7 @@ public class QuestionnaireBuilder { if (u.getValue().startsWith("http://hl7.org/fhir/StructureDefinition/")) { ValueSetExpansionContainsComponent cc = vs.getExpansion().addContains(); cc.setCode(u.getValue().substring(40)); - cc.setSystem("http://hl7.org/fhir/resource-types"); + cc.setSystem("http://hl7.org/fhir/fhir-types"); cc.setDisplay(cc.getCode()); } } @@ -451,7 +451,7 @@ public class QuestionnaireBuilder { ValueSetExpansionContainsComponent cc = vs.getExpansion().addContains(); cc.setCode(t.getWorkingCode()); cc.setDisplay(t.getWorkingCode()); - cc.setSystem("http://hl7.org/fhir/data-types"); + cc.setSystem("http://hl7.org/fhir/fhir-types"); } else for (UriType u : t.getProfile()) { ProfileUtilities pu = new ProfileUtilities(context, null, null); StructureDefinition ps = pu.getProfile(profile, u.getValue()); @@ -459,7 +459,7 @@ public class QuestionnaireBuilder { ValueSetExpansionContainsComponent cc = vs.getExpansion().addContains(); cc.setCode(u.getValue()); cc.setDisplay(ps.getType()); - cc.setSystem("http://hl7.org/fhir/resource-types"); + cc.setSystem("http://hl7.org/fhir/fhir-types"); } } } @@ -489,7 +489,7 @@ public class QuestionnaireBuilder { Coding cc = new Coding(); a.setValue(cc); cc.setCode(u.getValue().substring(40)); - cc.setSystem("http://hl7.org/fhir/resource-types"); + cc.setSystem("http://hl7.org/fhir/fhir-types"); } } } else { @@ -502,10 +502,10 @@ public class QuestionnaireBuilder { if (ps != null) { cc.setCode(t.getProfile().get(0).getValue()); - cc.setSystem("http://hl7.org/fhir/resource-types"); + cc.setSystem("http://hl7.org/fhir/fhir-types"); } else { cc.setCode(t.getWorkingCode()); - cc.setSystem("http://hl7.org/fhir/data-types"); + cc.setSystem("http://hl7.org/fhir/fhir-types"); } } From 5fcc1866cd1abe4c8182781274a6aa37532ae55e Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 21:00:50 +1000 Subject: [PATCH 038/156] better support for allowExamples --- .../hl7/fhir/utilities/CommaSeparatedStringBuilder.java | 8 ++++++++ .../hl7/fhir/validation/instance/InstanceValidator.java | 6 +++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java index c4c917595..2ce6c8095 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/CommaSeparatedStringBuilder.java @@ -108,4 +108,12 @@ public class CommaSeparatedStringBuilder { } } + + public static String join(String sep, List list) { + CommaSeparatedStringBuilder b = new CommaSeparatedStringBuilder(sep); + for (String s : list) { + b.append(s); + } + return b.toString(); + } } \ No newline at end of file diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 018fb7ea7..903f6b154 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -950,7 +950,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat done = true; } } - hint(errors, IssueType.UNKNOWN, element.line(), element.col(), path, done, I18nConstants.TERMINOLOGY_TX_SYSTEM_NOTKNOWN, system); + if (!isAllowExamples() || !Utilities.startsWithInList(system, "http://example.org", "https://example.org")) { + hint(errors, IssueType.UNKNOWN, element.line(), element.col(), path, done, I18nConstants.TERMINOLOGY_TX_SYSTEM_NOTKNOWN, system); + } return true; } catch (Exception e) { return true; @@ -3205,6 +3207,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (pol == ReferenceValidationPolicy.CHECK_VALID) { // todo.... } + + // todo: if the content is a resource, check that Reference.type is describing a resource } private boolean isSuspiciousReference(String url) { From 1c29587015732abe5c777c5052b7b4d627318c47 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 21:18:39 +1000 Subject: [PATCH 039/156] fixed --- .../fhir/r4b/renderers/CodeSystemRenderer.java | 18 +++++++++++++----- .../fhir/r5/renderers/CodeSystemRenderer.java | 10 ++++++---- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/CodeSystemRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/CodeSystemRenderer.java index 6ec470092..241da9890 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/CodeSystemRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/CodeSystemRenderer.java @@ -95,9 +95,11 @@ public class CodeSystemRenderer extends TerminologyRenderer { if (cs.hasProperty()) { boolean hasRendered = false; boolean hasURI = false; + boolean hasDescription = false; for (PropertyComponent p : cs.getProperty()) { hasRendered = hasRendered || !p.getCode().equals(ToolingExtensions.getPresentation(p, p.getCodeElement())); hasURI = hasURI || p.hasUri(); + hasDescription = hasDescription || p.hasDescription(); } x.para().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Properties", getContext().getLang())); @@ -111,7 +113,9 @@ public class CodeSystemRenderer extends TerminologyRenderer { tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "URL", getContext().getLang())); } tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Type", getContext().getLang())); + if (hasDescription) { tr.td().b().tx(getContext().getWorker().translator().translate("xhtml-gen-cs", "Description", getContext().getLang())); + } for (PropertyComponent p : cs.getProperty()) { tr = tbl.tr(); if (hasRendered) { @@ -122,21 +126,25 @@ public class CodeSystemRenderer extends TerminologyRenderer { tr.td().tx(p.getUri()); } tr.td().tx(p.hasType() ? p.getType().toCode() : ""); + if (hasDescription) { tr.td().tx(p.getDescription()); } } } + } private boolean generateCodeSystemContent(XhtmlNode x, CodeSystem cs, boolean hasExtensions, List maps) throws FHIRFormatError, DefinitionException, IOException { XhtmlNode p = x.para(); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system ")); + p.code().tx(cs.getUrl()); if (cs.getContent() == CodeSystemContentMode.COMPLETE) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines the following codes", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines the following codes")+":"); else if (cs.getContent() == CodeSystemContentMode.EXAMPLE) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines some example codes", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines some example codes")+":"); else if (cs.getContent() == CodeSystemContentMode.FRAGMENT ) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, of which the following are a subset", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines many codes, of which the following are a subset")+":"); else if (cs.getContent() == CodeSystemContentMode.NOTPRESENT ) { - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, but they are not represented here", cs.getUrl())); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines many codes, but they are not represented here")); return false; } XhtmlNode t = x.table( "codes"); @@ -245,7 +253,7 @@ public class CodeSystemRenderer extends TerminologyRenderer { if (cs == null) { return false; } - return CodeSystemUtilities.hasCode(cs, code); + return code == null ? false : CodeSystemUtilities.hasCode(cs, code); } return false; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java index 4ed97f849..bb8d121b2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java @@ -135,14 +135,16 @@ public class CodeSystemRenderer extends TerminologyRenderer { private boolean generateCodeSystemContent(XhtmlNode x, CodeSystem cs, boolean hasExtensions, List maps) throws FHIRFormatError, DefinitionException, IOException { XhtmlNode p = x.para(); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system ")); + p.code().tx(cs.getUrl()); if (cs.getContent() == CodeSystemContentMode.COMPLETE) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines the following codes", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines the following codes")+":"); else if (cs.getContent() == CodeSystemContentMode.EXAMPLE) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines some example codes", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines some example codes")+":"); else if (cs.getContent() == CodeSystemContentMode.FRAGMENT ) - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, of which the following are a subset", cs.getUrl())+":"); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines many codes, of which the following are a subset")+":"); else if (cs.getContent() == CodeSystemContentMode.NOTPRESENT ) { - p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), "This code system %s defines many codes, but they are not represented here", cs.getUrl())); + p.tx(getContext().getWorker().translator().translateAndFormat("xhtml-gen-cs", getContext().getLang(), " defines many codes, but they are not represented here")); return false; } XhtmlNode t = x.table( "codes"); From 22d48d15cf626006c35533dbb52a688c6188ece8 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 26 Aug 2022 23:00:24 +1000 Subject: [PATCH 040/156] fix comment rendering --- .../hl7/fhir/r5/renderers/ProfileDrivenRenderer.java | 2 +- .../org/hl7/fhir/r5/renderers/utils/DOMWrappers.java | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index d7d73a167..62c9d5412 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -442,7 +442,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { private XhtmlNode renderCommentsSpan(XhtmlNode x, Base e) { if (e.hasFormatComment()) { - return x.span(null, CommaSeparatedStringBuilder.join(" ", e.getFormatCommentsPost())); + return x.span(null, CommaSeparatedStringBuilder.join(" ", e.getFormatCommentsPre())); } else { return x; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/DOMWrappers.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/DOMWrappers.java index f7800c7e6..ee4b11ada 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/DOMWrappers.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/DOMWrappers.java @@ -27,6 +27,7 @@ import org.hl7.fhir.utilities.xhtml.XhtmlParser; import org.hl7.fhir.utilities.xml.XMLUtil; import org.hl7.fhir.utilities.xml.XmlGenerator; import org.w3c.dom.Element; +import org.w3c.dom.Node; public class DOMWrappers { @@ -58,7 +59,15 @@ public class DOMWrappers { } catch (org.hl7.fhir.exceptions.FHIRException e) { throw new FHIRException(e.getMessage(), e); } - return context.getParser().parseType(xml, type); + Node n = element.getPreviousSibling(); + Base ret = context.getParser().parseType(xml, type); + while (n != null && (n.getNodeType() == Node.COMMENT_NODE || n.getNodeType() == Node.TEXT_NODE)) { + if (n.getNodeType() == Node.COMMENT_NODE) { + ret.getFormatCommentsPre().add(0, n.getTextContent()); + } + n = n.getPreviousSibling(); + } + return ret; } @Override From 813535454cf214e58be190b644533e406408fe76 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 27 Aug 2022 05:41:58 +1000 Subject: [PATCH 041/156] new release --- RELEASE_NOTES.md | 7 +++++-- pom.xml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..975694a36 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,10 @@ ## Validator Changes -* no changes +* Improve support for example code systems in example mode ## Other code changes -* no changes \ No newline at end of file +* Render Comments as span titles in ProfileDrivenRenderer +* Fix type analysis in FHIRPath for abstract types +* Terminology utilitty improvements for fhir-types code system +* Lighten invariant background colour diff --git a/pom.xml b/pom.xml index 3e81e2b9f..afa483621 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.104-SNAPSHOT + 1.1.104 5.7.1 1.8.2 3.0.0-M5 From 80dba17f7637e80bbe3a164ce9f3ba3ccd85ce5d Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 26 Aug 2022 16:18:23 -0400 Subject: [PATCH 042/156] Update RELEASE_NOTES.md ***NO_CI*** --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 975694a36..b9aaf0396 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -8,3 +8,4 @@ * Fix type analysis in FHIRPath for abstract types * Terminology utilitty improvements for fhir-types code system * Lighten invariant background colour +* Fixes to DateTimeType for setFieldValue() method From 51199251e858d695c2ea4fcdaa185b6d72b6db30 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Fri, 26 Aug 2022 20:57:04 +0000 Subject: [PATCH 043/156] Release: v5.6.56 ## Validator Changes * Improve support for example code systems in example mode ## Other code changes * Render Comments as span titles in ProfileDrivenRenderer * Fix type analysis in FHIRPath for abstract types * Terminology utilitty improvements for fhir-types code system * Lighten invariant background colour * Fixes to DateTimeType for setFieldValue() method ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 343426a92..7a1c486ea 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 95b941101..55a29fe11 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 2521797eb..3e37db771 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 87e51cd4e..b877bc9c9 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 941245bbe..9e246fc3d 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 716f5e97b..8cf0e5b2d 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 3f31493fe..fe9d7ee4e 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 8898b1279..db2ebf81e 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index b9b6c8906..8eea53fa3 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 3090f54b8..43e437bfe 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index b6004465f..3adee24fc 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 ../pom.xml diff --git a/pom.xml b/pom.xml index afa483621..c561b55d5 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.56-SNAPSHOT + 5.6.56 pom From 4b8f8e3d2bdccd70e067e783d8c7033ee45deb3f Mon Sep 17 00:00:00 2001 From: markiantorno Date: Fri, 26 Aug 2022 21:14:29 +0000 Subject: [PATCH 044/156] Updating version to: 5.6.57-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 8 ++------ org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 18 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b9aaf0396..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,11 +1,7 @@ ## Validator Changes -* Improve support for example code systems in example mode +* no changes ## Other code changes -* Render Comments as span titles in ProfileDrivenRenderer -* Fix type analysis in FHIRPath for abstract types -* Terminology utilitty improvements for fhir-types code system -* Lighten invariant background colour -* Fixes to DateTimeType for setFieldValue() method +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 7a1c486ea..ad8e6c646 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 55a29fe11..2562aaa3f 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 3e37db771..33c374279 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index b877bc9c9..4c4d42239 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 9e246fc3d..b558f75fd 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 8cf0e5b2d..99d7a7d2a 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index fe9d7ee4e..2c336a6a2 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index db2ebf81e..08fa54b7e 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 8eea53fa3..5f7cd95ca 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 43e437bfe..1a773ee6c 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 3adee24fc..4fc37a03c 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index c561b55d5..fcb4f5676 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.56 + 5.6.57-SNAPSHOT pom From d97e2d8534a0f58ca431380ffa6056b3df6ef31b Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 29 Aug 2022 12:44:27 +1000 Subject: [PATCH 045/156] FHIR-31356 Add quick links to copy 'coding' from value set and code system enumerations --- .../hl7/fhir/r5/renderers/CodeSystemRenderer.java | 15 ++++++++++++++- .../fhir/r5/renderers/TerminologyRenderer.java | 14 +++++++++++--- .../fhir/r5/renderers/utils/RenderingContext.java | 9 +++++++++ 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java index bb8d121b2..55151f29d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java @@ -183,7 +183,7 @@ public class CodeSystemRenderer extends TerminologyRenderer { hierarchy = hierarchy || csNav.isRestructure(); List langs = new ArrayList<>(); - addMapHeaders(addTableHeaderRowStandard(t, hierarchy, display, definitions, commentS, version, deprecated, properties, null, null, false), maps); + addCopyColumn(addMapHeaders(addTableHeaderRowStandard(t, hierarchy, display, definitions, commentS, version, deprecated, properties, null, null, false), maps)); for (ConceptDefinitionComponent c : csNav.getConcepts(null)) { hasExtensions = addDefineRowToTable(t, c, 0, hierarchy, display, definitions, commentS, version, deprecated, maps, cs.getUrl(), cs, properties, csNav, langs, isSupplement) || hasExtensions; } @@ -202,6 +202,13 @@ public class CodeSystemRenderer extends TerminologyRenderer { return hasExtensions; } + private void addCopyColumn(XhtmlNode tr) { + if (context.isCopyButton()) { + tr.td().b().tx("Copy"); + } + + } + private boolean conceptsHaveDefinition(ConceptDefinitionComponent c) { if (c.hasDefinition()) { return true; @@ -492,6 +499,12 @@ public class CodeSystemRenderer extends TerminologyRenderer { } td = tr.td().colspan(Integer.toString(w)); } + if (context.isCopyButton()) { + td = tr.td(); + clipboard(td, "icon_clipboard_x.png", "XML", "\n"+(cs.getVersionNeeded() ? "\n" : "")+"\n\n"); + td.nbsp(); + clipboard(td, "icon_clipboard_j.png", "JSON", "\"system\" : \""+Utilities.escapeXml(cs.getUrl())+"\",\n"+(cs.getVersionNeeded() ? "\"version\" : \""+Utilities.escapeXml(cs.getVersion())+"\",\n" : "")+"\"code\" : \""+Utilities.escapeXml(c.getCode())+"\",\n\"display\" : \""+Utilities.escapeXml(c.getDisplay())+"\"\n"); + } return hasExtensions; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java index d7fe9c06e..ed14cd19b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java @@ -111,7 +111,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer { } - protected void addMapHeaders(XhtmlNode tr, List maps) throws FHIRFormatError, DefinitionException, IOException { + protected XhtmlNode addMapHeaders(XhtmlNode tr, List maps) throws FHIRFormatError, DefinitionException, IOException { for (UsedConceptMap m : maps) { XhtmlNode td = tr.td(); XhtmlNode b = td.b(); @@ -120,6 +120,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer { if (m.getDetails().isDoDescription() && m.getMap().hasDescription()) addMarkdown(td, m.getMap().getDescription()); } + return tr; } protected String getHeader() { @@ -311,8 +312,6 @@ public abstract class TerminologyRenderer extends ResourceRenderer { } } - - protected String getDisplayForConcept(String system, String version, String value) { if (value == null || system == null) return null; @@ -320,4 +319,13 @@ public abstract class TerminologyRenderer extends ResourceRenderer { return cl == null ? null : cl.getDisplay(); } + + protected void clipboard(XhtmlNode x, String img, String title, String source) { + XhtmlNode span = x.span("cursor: pointer", "Copy "+title+" Format to clipboard"); + span.attribute("onClick", "navigator.clipboard.writeText('"+Utilities.escapeJson(source)+"');"); + span.img(img).setAttribute("width", "24px").setAttribute("height", "16px"); + } + + + } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index 57bb8c20d..dc854c463 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -131,6 +131,7 @@ public class RenderingContext { private DateTimeFormatter dateFormat; private DateTimeFormatter dateYearFormat; private DateTimeFormatter dateYearMonthFormat; + private boolean copyButton; /** * @@ -190,6 +191,7 @@ public class RenderingContext { res.targetVersion = targetVersion; res.locale = locale; res.showComments = showComments; + res.copyButton = copyButton; res.terminologyServiceOptions = terminologyServiceOptions.copy(); return res; @@ -596,6 +598,13 @@ public class RenderingContext { this.showComments = showComments; return this; } + public boolean isCopyButton() { + return copyButton; + } + public RenderingContext setCopyButton(boolean copyButton) { + this.copyButton = copyButton; + return this; + } } \ No newline at end of file From 17adc621d34d1069f7115283344bfc8afc2258dc Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 29 Aug 2022 12:45:42 +1000 Subject: [PATCH 046/156] get oid for canonical resource --- .../java/org/hl7/fhir/r5/model/CanonicalResource.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java index c9275b605..ad40e273c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java @@ -559,5 +559,14 @@ public abstract class CanonicalResource extends DomainResource { } // end addition + public String oid() { + for (Identifier id : getIdentifier()) { + if (id.getValue().startsWith("urn:oid:")) { + return id.getValue().substring(8); + } + } + return null; + } + } From 4db936752a80792d44eb40e4818c85aea1837297 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 29 Aug 2022 15:53:47 +1000 Subject: [PATCH 047/156] FHIR-24884 Define best practices for narrative for a resource --- .../hl7/fhir/r5/renderers/LiquidRenderer.java | 25 +++++++++++++++- .../hl7/fhir/r5/renderers/ListRenderer.java | 23 ++++++++------- .../r5/renderers/ProfileDrivenRenderer.java | 4 +++ .../fhir/r5/renderers/RendererFactory.java | 9 +++++- .../fhir/r5/renderers/ResourceRenderer.java | 10 +++++++ .../r5/renderers/utils/RenderingContext.java | 2 ++ .../org/hl7/fhir/r5/utils/LiquidEngine.java | 29 ++++++++++++++++++- .../r5/test/NarrativeGenerationTests.java | 4 +++ .../java/org/hl7/fhir/r5/test/VocabTests.java | 6 ++++ .../4.0.1/all-systems.cache | 9 ++++++ 10 files changed, 108 insertions(+), 13 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java index bc8eb4caa..7959109d7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java @@ -6,6 +6,8 @@ import java.io.UnsupportedEncodingException; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.r5.elementmodel.Element; +import org.hl7.fhir.r5.model.Base; import org.hl7.fhir.r5.model.DomainResource; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; @@ -13,12 +15,13 @@ import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.Resolver.ResourceContext; import org.hl7.fhir.r5.utils.EOperationOutcome; import org.hl7.fhir.r5.utils.LiquidEngine; +import org.hl7.fhir.r5.utils.LiquidEngine.ILiquidRenderingSupport; import org.hl7.fhir.r5.utils.LiquidEngine.LiquidDocument; import org.hl7.fhir.utilities.xhtml.NodeType; import org.hl7.fhir.utilities.xhtml.XhtmlNode; import org.hl7.fhir.utilities.xhtml.XhtmlParser; -public class LiquidRenderer extends ResourceRenderer { +public class LiquidRenderer extends ResourceRenderer implements ILiquidRenderingSupport { private String liquidTemplate; @@ -56,6 +59,7 @@ public class LiquidRenderer extends ResourceRenderer { XhtmlNode xn; try { engine.setIncludeResolver(new LiquidRendererIncludeResolver(context)); + engine.setRenderingSupport(this); LiquidDocument doc = engine.parse(liquidTemplate, "template"); String html = engine.evaluate(doc, r, rcontext); xn = new XhtmlParser().parseFragment(html); @@ -102,4 +106,23 @@ public class LiquidRenderer extends ResourceRenderer { return true; } + public RendererType getRendererType() { + return RendererType.LIQUID; + } + + @Override + public String renderForLiquid(Base base) throws FHIRException { + try { + if (base instanceof Element) { + return displayBase(context.getParser().parseType((Element) base)); + } else { + return displayBase(base); + } + } catch (FHIRFormatError e) { + throw new FHIRException(e); + } catch (IOException e) { + throw new FHIRException(e); + } + } + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java index 8f0d1a1c1..60746987c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ListRenderer.java @@ -207,7 +207,6 @@ public class ListRenderer extends ResourceRenderer { } } - private XhtmlNode shortForRef(XhtmlNode x, Base ref) throws UnsupportedEncodingException, IOException { if (ref == null) { x.tx("(null)"); @@ -215,16 +214,20 @@ public class ListRenderer extends ResourceRenderer { String disp = ref.getChildByName("display") != null && ref.getChildByName("display").hasValues() ? ref.getChildByName("display").getValues().get(0).primitiveValue() : null; if (ref.getChildByName("reference").hasValues()) { String url = ref.getChildByName("reference").getValues().get(0).primitiveValue(); - ResourceWithReference r = context.getResolver().resolve(context, url); - if (r == null) { - if (disp == null) { - disp = url; - } - x.tx(disp); - } else if (r.getResource() != null) { - RendererFactory.factory(r.getResource().getName(), context).renderReference(r.getResource(), x, (Reference) ref); + if (url.startsWith("#")) { + x.tx("?ngen-16a?"); } else { - RendererFactory.factory(url, context).renderReference(r.getResource(), x, (Reference) ref); + ResourceWithReference r = context.getResolver().resolve(context, url); + if (r == null) { + if (disp == null) { + disp = url; + } + x.tx(disp); + } else if (r.getResource() != null) { + RendererFactory.factory(r.getResource().getName(), context).renderReference(r.getResource(), x, (Reference) ref); + } else { + x.ah(r.getReference()).tx(url); + } } } else if (disp != null) { x.tx(disp); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index 62c9d5412..944444d6f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -1015,4 +1015,8 @@ public class ProfileDrivenRenderer extends ResourceRenderer { return context.getWorker().getResourceNames().contains(resource.fhirType()); } + public RendererType getRendererType() { + return RendererType.PROFILE; + } + } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/RendererFactory.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/RendererFactory.java index 9d974bb21..3f5e006c4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/RendererFactory.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/RendererFactory.java @@ -5,6 +5,7 @@ import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.Resolver.ResourceContext; +import org.hl7.fhir.utilities.Utilities; public class RendererFactory { @@ -131,5 +132,11 @@ public class RendererFactory { return factory(rw, lrc, null); } - + public static boolean hasSpecificRenderer(String rt) { + + return Utilities.existsInList(rt, + "CodeSystem", "ValueSet", "ConceptMap", + "CapabilityStatement", "CompartmentDefinition", "ImplementationGuide", "Library", "NamingSystem", "OperationDefinition", "Questionnaire", "SearchParameter", "StructureDefinition"); + } + } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java index 1dc024895..79798edcb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java @@ -26,6 +26,7 @@ import org.hl7.fhir.r5.renderers.utils.BaseWrappers.PropertyWrapper; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; import org.hl7.fhir.r5.renderers.utils.DirectWrappers.ResourceWrapperDirect; import org.hl7.fhir.r5.renderers.utils.ElementWrappers.ResourceWrapperMetaElement; +import org.hl7.fhir.r5.renderers.ResourceRenderer.RendererType; import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.Resolver.ResourceContext; import org.hl7.fhir.r5.renderers.utils.Resolver.ResourceWithReference; @@ -39,6 +40,11 @@ import org.hl7.fhir.utilities.xhtml.XhtmlNode; public abstract class ResourceRenderer extends DataRenderer { + public enum RendererType { + NATIVE, PROFILE, LIQUID + + } + protected ResourceContext rcontext; protected XVerExtensionManager xverManager; protected boolean forResource; @@ -507,4 +513,8 @@ public abstract class ResourceRenderer extends DataRenderer { } } + + public RendererType getRendererType() { + return RendererType.NATIVE; + } } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index dc854c463..370e4a2ad 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -15,6 +15,7 @@ import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.conformance.ProfileUtilities; import org.hl7.fhir.r5.conformance.ProfileUtilities.ProfileKnowledgeProvider; import org.hl7.fhir.r5.context.IWorkerContext; +import org.hl7.fhir.r5.elementmodel.Element; import org.hl7.fhir.r5.model.Base; import org.hl7.fhir.r5.model.DomainResource; import org.hl7.fhir.r5.model.Enumerations.FHIRVersion; @@ -38,6 +39,7 @@ public class RenderingContext { // parses xml to an XML instance. Whatever codes provides this needs to provide something that parses the right version public interface ITypeParser { Base parseType(String xml, String type) throws FHIRFormatError, IOException, FHIRException ; + Base parseType(Element base) throws FHIRFormatError, IOException, FHIRException ; } /** diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java index 043ede0cc..7521c4107 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java @@ -1,5 +1,6 @@ package org.hl7.fhir.r5.utils; +import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; @@ -37,22 +38,31 @@ import java.util.Map; */ import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.exceptions.PathEngineException; import org.hl7.fhir.r5.context.IWorkerContext; +import org.hl7.fhir.r5.elementmodel.Element; import org.hl7.fhir.r5.model.Base; import org.hl7.fhir.r5.model.ExpressionNode; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.model.Tuple; import org.hl7.fhir.r5.model.TypeDetails; import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.renderers.utils.BaseWrappers.BaseWrapper; +import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; import org.hl7.fhir.r5.utils.FHIRPathEngine.ExpressionNodeWithOffset; import org.hl7.fhir.r5.utils.FHIRPathEngine.IEvaluationContext; +import org.hl7.fhir.r5.utils.LiquidEngine.ILiquidRenderingSupport; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xhtml.NodeType; import org.hl7.fhir.utilities.xhtml.XhtmlNode; public class LiquidEngine implements IEvaluationContext { + public interface ILiquidRenderingSupport { + String renderForLiquid(Base i) throws FHIRException; + } + public interface ILiquidEngineIncludeResolver { public String fetchInclude(LiquidEngine engine, String name); } @@ -60,6 +70,7 @@ public class LiquidEngine implements IEvaluationContext { private IEvaluationContext externalHostServices; private FHIRPathEngine engine; private ILiquidEngineIncludeResolver includeResolver; + private ILiquidRenderingSupport renderingSupport; private class LiquidEngineContext { private Object externalContext; @@ -92,6 +103,14 @@ public class LiquidEngine implements IEvaluationContext { this.includeResolver = includeResolver; } + public ILiquidRenderingSupport getRenderingSupport() { + return renderingSupport; + } + + public void setRenderingSupport(ILiquidRenderingSupport renderingSupport) { + this.renderingSupport = renderingSupport; + } + public LiquidDocument parse(String source, String sourceName) throws FHIRException { return new LiquidParser(source).parse(sourceName); } @@ -104,6 +123,7 @@ public class LiquidEngine implements IEvaluationContext { } return b.toString(); } + private abstract class LiquidNode { protected void closeUp() { @@ -130,6 +150,7 @@ public class LiquidEngine implements IEvaluationContext { public void evaluate(StringBuilder b, Base resource, LiquidEngineContext ctxt) { b.append(constant); } + } private class LiquidStatement extends LiquidNode { @@ -140,7 +161,13 @@ public class LiquidEngine implements IEvaluationContext { public void evaluate(StringBuilder b, Base resource, LiquidEngineContext ctxt) throws FHIRException { if (compiled == null) compiled = engine.parse(statement); - b.append(engine.evaluateToString(ctxt, resource, resource, resource, compiled)); + List items = engine.evaluate(ctxt, resource, resource, resource, compiled); + boolean first = true; + for (Base i : items) { + if (first) first = false; else b.append(", "); + String s = renderingSupport != null ? renderingSupport.renderForLiquid(i) : null; + b.append(s != null ? s : engine.convertToString(i)); + } } } diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java index 483041201..42cb884eb 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java @@ -111,6 +111,10 @@ public class NarrativeGenerationTests { public Base parseType(String xml, String type) throws FHIRFormatError, IOException, FHIRException { return new org.hl7.fhir.r5.formats.XmlParser().parseType(xml, type); } + @Override + public Base parseType(org.hl7.fhir.r5.elementmodel.Element e) throws FHIRFormatError, IOException, FHIRException { + throw new NotImplementedException(); + } } public static final String WINDOWS = "WINDOWS"; diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/VocabTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/VocabTests.java index 18e5d428c..5e74e075e 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/VocabTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/VocabTests.java @@ -9,6 +9,7 @@ import java.util.stream.Stream; import javax.xml.parsers.ParserConfigurationException; +import org.apache.commons.lang3.NotImplementedException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.context.IWorkerContext; @@ -50,6 +51,11 @@ public class VocabTests { public Base parseType(String xml, String type) throws FHIRFormatError, IOException, FHIRException { return new org.hl7.fhir.r5.formats.XmlParser().parseType(xml, type); } + + @Override + public Base parseType(org.hl7.fhir.r5.elementmodel.Element e) throws FHIRFormatError, IOException, FHIRException { + throw new NotImplementedException(); + } } private static IWorkerContext context; diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache index 14c90b885..795bf7576 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache @@ -1542,3 +1542,12 @@ v: { "system" : "urn:iso:std:iso:3166" } ------------------------------------------------------------------------------------- +{"code" : { + "code" : "en-AU" +}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "4.0.1", "lang":"en-AU", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "English (Australia)", + "code" : "en-AU", + "system" : "urn:ietf:bcp:47" +} +------------------------------------------------------------------------------------- From 3b4260d955779b46b1ed73628ca10c90dba0ea8b Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 29 Aug 2022 16:17:21 +1000 Subject: [PATCH 048/156] FHIR-24884 Define best practices for narrative for a resource --- .../org/hl7/fhir/r5/renderers/LiquidRenderer.java | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java index 7959109d7..76cee540e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java @@ -8,6 +8,7 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.elementmodel.Element; import org.hl7.fhir.r5.model.Base; +import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.DomainResource; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; @@ -18,6 +19,7 @@ import org.hl7.fhir.r5.utils.LiquidEngine; import org.hl7.fhir.r5.utils.LiquidEngine.ILiquidRenderingSupport; import org.hl7.fhir.r5.utils.LiquidEngine.LiquidDocument; import org.hl7.fhir.utilities.xhtml.NodeType; +import org.hl7.fhir.utilities.xhtml.XhtmlComposer; import org.hl7.fhir.utilities.xhtml.XhtmlNode; import org.hl7.fhir.utilities.xhtml.XhtmlParser; @@ -94,6 +96,7 @@ public class LiquidRenderer extends ResourceRenderer implements ILiquidRendering XhtmlNode xn; try { LiquidDocument doc = engine.parse(liquidTemplate, "template"); + engine.setRenderingSupport(this); String html = engine.evaluate(doc, r.getBase(), rcontext); xn = new XhtmlParser().parseFragment(html); if (!x.getName().equals("div")) @@ -114,10 +117,16 @@ public class LiquidRenderer extends ResourceRenderer implements ILiquidRendering public String renderForLiquid(Base base) throws FHIRException { try { if (base instanceof Element) { - return displayBase(context.getParser().parseType((Element) base)); - } else { - return displayBase(base); + base = context.getParser().parseType((Element) base); } + XhtmlNode x = new XhtmlNode(NodeType.Element); + if (base instanceof DataType) { + render(x, (DataType) base); + } else { + x.tx(base.toString()); + } + String res = new XhtmlComposer(true).compose(x).substring(5); + return res.substring(0, res.length()-6); } catch (FHIRFormatError e) { throw new FHIRException(e); } catch (IOException e) { From 832da9fc6bf15d79ffcf15c0dbfee8421a031bde Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 29 Aug 2022 17:52:39 +1000 Subject: [PATCH 049/156] fix up rendering --- .../hl7/fhir/r5/renderers/LiquidRenderer.java | 28 ++++++++++++++++--- .../org/hl7/fhir/r5/utils/LiquidEngine.java | 4 +-- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java index 76cee540e..938f32bdc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LiquidRenderer.java @@ -10,8 +10,10 @@ import org.hl7.fhir.r5.elementmodel.Element; import org.hl7.fhir.r5.model.Base; import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.DomainResource; +import org.hl7.fhir.r5.model.Reference; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; +import org.hl7.fhir.r5.renderers.LiquidRenderer.LiquidRendererContxt; import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.Resolver.ResourceContext; import org.hl7.fhir.r5.utils.EOperationOutcome; @@ -25,6 +27,22 @@ import org.hl7.fhir.utilities.xhtml.XhtmlParser; public class LiquidRenderer extends ResourceRenderer implements ILiquidRenderingSupport { + public class LiquidRendererContxt { + + private ResourceContext rcontext; + private ResourceWrapper resource; + + public LiquidRendererContxt(ResourceContext rcontext, ResourceWrapper r) { + this.rcontext = rcontext; + this.resource = r; + } + + public ResourceWrapper getResource() { + return resource; + } + + } + private String liquidTemplate; public LiquidRenderer(RenderingContext context, String liquidTemplate) { @@ -97,7 +115,7 @@ public class LiquidRenderer extends ResourceRenderer implements ILiquidRendering try { LiquidDocument doc = engine.parse(liquidTemplate, "template"); engine.setRenderingSupport(this); - String html = engine.evaluate(doc, r.getBase(), rcontext); + String html = engine.evaluate(doc, r.getBase(), new LiquidRendererContxt(rcontext, r)); xn = new XhtmlParser().parseFragment(html); if (!x.getName().equals("div")) throw new FHIRException("Error in template: Root element is not 'div'"); @@ -114,13 +132,15 @@ public class LiquidRenderer extends ResourceRenderer implements ILiquidRendering } @Override - public String renderForLiquid(Base base) throws FHIRException { + public String renderForLiquid(Object appContext, Base base) throws FHIRException { try { if (base instanceof Element) { base = context.getParser().parseType((Element) base); } - XhtmlNode x = new XhtmlNode(NodeType.Element); - if (base instanceof DataType) { + XhtmlNode x = new XhtmlNode(NodeType.Element, "div"); + if (base instanceof Reference) { + renderReference(((LiquidRendererContxt) appContext).getResource(), x, (Reference) base); + } else if (base instanceof DataType) { render(x, (DataType) base); } else { x.tx(base.toString()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java index 7521c4107..f502dccba 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/LiquidEngine.java @@ -60,7 +60,7 @@ import org.hl7.fhir.utilities.xhtml.XhtmlNode; public class LiquidEngine implements IEvaluationContext { public interface ILiquidRenderingSupport { - String renderForLiquid(Base i) throws FHIRException; + String renderForLiquid(Object appContext, Base i) throws FHIRException; } public interface ILiquidEngineIncludeResolver { @@ -165,7 +165,7 @@ public class LiquidEngine implements IEvaluationContext { boolean first = true; for (Base i : items) { if (first) first = false; else b.append(", "); - String s = renderingSupport != null ? renderingSupport.renderForLiquid(i) : null; + String s = renderingSupport != null ? renderingSupport.renderForLiquid(ctxt.externalContext, i) : null; b.append(s != null ? s : engine.convertToString(i)); } } From e8b329bc847287bc4db633586c1a2449b5a8c371 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 20:02:29 +1000 Subject: [PATCH 050/156] #908 - fix erroneous type characteristics error in differentials --- .../type/StructureDefinitionValidator.java | 42 ++++++++++--------- 1 file changed, 22 insertions(+), 20 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index 7f95e80c3..c6f698b78 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -164,8 +164,9 @@ public class StructureDefinitionValidator extends BaseValidator { } } if (element.hasChild("binding")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("can-bind") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Binding"); - + if (!typeCodes.isEmpty()) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("can-bind") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Binding"); + } Element binding = element.getNamedChild("binding"); validateBinding(errors, binding, stack.push(binding, -1, null, null), typeCodes, snapshot, element.getNamedChildValue("path")); } else { @@ -173,25 +174,26 @@ public class StructureDefinitionValidator extends BaseValidator { // String bt = boundType(typeCodes); // hint(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), !snapshot || bt == null, I18nConstants.SD_ED_SHOULD_BIND, element.getNamedChildValue("path"), bt); } - if (element.hasChild("maxLength")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxLength"); + if (!typeCodes.isEmpty()) { + if (element.hasChild("maxLength")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxLength"); + } + if (element.hasExtension(ToolingExtensions.EXT_MIN_LENGTH)) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinLength Extension"); + } + if (element.hasChild("minValue")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinValue"); + } + if (element.hasChild("maxValue")) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxValue"); + } + if (element.hasExtension(ToolingExtensions.EXT_MAX_DECIMALS)) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("is-continuous") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Decimal Places Extension"); + } + if (element.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-size") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Size"); + } } - if (element.hasExtension(ToolingExtensions.EXT_MIN_LENGTH)) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinLength Extension"); - } - if (element.hasChild("minValue")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinValue"); - } - if (element.hasChild("maxValue")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxValue"); - } - if (element.hasExtension(ToolingExtensions.EXT_MAX_DECIMALS)) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("is-continuous") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Decimal Places Extension"); - } - if (element.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-size") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Size"); - } - // in a snapshot, we validate that fixedValue, pattern, and defaultValue, if present, are all of the right type if (snapshot && (element.getIdBase() != null) && (element.getIdBase().contains("."))) { if (rule(errors, IssueType.EXCEPTION, stack.getLiteralPath(), !typeCodes.isEmpty() || element.hasChild("contentReference"), I18nConstants.SD_NO_TYPES_OR_CONTENTREF, element.getIdBase())) { From 1edb6e5c8d11dbb6d73ed2c8900730f4246e3137 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:40:49 +1000 Subject: [PATCH 051/156] fix broken paths rendering extensions --- .../hl7/fhir/r5/conformance/ProfileUtilities.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 670429e76..18a768c8f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -3540,7 +3540,7 @@ public class ProfileUtilities extends TranslatingUtilities { if (ved != null && ued != null) { Row r1 = gen.new Row(); r.getSubRows().add(r1); - r1.getCells().add(gen.new Cell(null, defFile == null ? "" : defFile+"-definitions.html#extension."+ed.getName(), ((UriType) ued.getFixed()).getValue(), null, null)); + r1.getCells().add(gen.new Cell(null, defFile == null ? "" : defFile+"-definitions.html#"+ed.getId()+"."+c.getId(), ((UriType) ued.getFixed()).getValue(), null, null)); r1.getCells().add(gen.new Cell()); r1.getCells().add(gen.new Cell(null, null, describeCardinality(c, null, new UnusedTracker()), null, null)); genTypes(gen, r1, ved, defFile, ed, corePath, imagePath, false, false); @@ -6882,5 +6882,16 @@ public class ProfileUtilities extends TranslatingUtilities { this.masterSourceFileNames = masterSourceFileNames; } + public static ElementDefinitionConstraintComponent findConstraint(StructureDefinition sd, String inv) { + for (ElementDefinition ed : sd.getSnapshot().getElement()) { + for (ElementDefinitionConstraintComponent c : ed.getConstraint()) { + if (c.getKey().equals(inv)) { + return c; + } + } + } + return null; + } + } From 8e6cd3c16c778583680f28cf20faabb4f9918ac9 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:41:28 +1000 Subject: [PATCH 052/156] Process markdown in ValueSet definitions --- .../java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index db6ff9ccd..485d8eb5e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -726,7 +726,7 @@ public class ValueSetRenderer extends TerminologyRenderer { } } - private void addExpansionRowToTable(XhtmlNode t, ValueSetExpansionContainsComponent c, int i, boolean doLevel, boolean doSystem, boolean doDefinition, List maps, CodeSystem allCS, List langs, Map designations, boolean doDesignations, Map properties) { + private void addExpansionRowToTable(XhtmlNode t, ValueSetExpansionContainsComponent c, int i, boolean doLevel, boolean doSystem, boolean doDefinition, List maps, CodeSystem allCS, List langs, Map designations, boolean doDesignations, Map properties) throws FHIRFormatError, DefinitionException, IOException { XhtmlNode tr = t.tr(); XhtmlNode td = tr.td(); @@ -753,8 +753,10 @@ public class ValueSetRenderer extends TerminologyRenderer { if (cs == null) cs = getContext().getWorker().fetchCodeSystem(c.getSystem()); td = tr.td(); - if (cs != null) - td.addText(CodeSystemUtilities.getCodeDefinition(cs, c.getCode())); + if (cs != null) { + String defn = CodeSystemUtilities.getCodeDefinition(cs, c.getCode()); + addMarkdown(td, defn); + } } for (String n : Utilities.sorted(properties.keySet())) { td = tr.td(); From 157fd68eca6b566734fffb07ea993d3e424cf12c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:42:01 +1000 Subject: [PATCH 053/156] check inactive property as well as status property when checking for active codes --- .../org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java index 523538ad4..74094c34a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/CodeSystemUtilities.java @@ -326,8 +326,12 @@ public class CodeSystemUtilities { public static boolean isInactive(CodeSystem cs, ConceptDefinitionComponent def) throws FHIRException { for (ConceptPropertyComponent p : def.getProperty()) { - if ("status".equals(p.getCode()) && p.hasValueStringType()) + if ("status".equals(p.getCode()) && p.hasValueStringType()) { return "inactive".equals(p.getValueStringType().primitiveValue()) || "retired".equals(p.getValueStringType().primitiveValue()); + } + if ("inactive".equals(p.getCode()) && p.hasValueBooleanType()) { + return p.getValueBooleanType().getValue(); + } } return false; } From fd76766da74d0a37c141454209b06fb91b590694 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:42:16 +1000 Subject: [PATCH 054/156] check activeOnly parameter --- .../terminologies/ValueSetExpanderSimple.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java index 9123b9225..0a8b5b973 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ValueSetExpanderSimple.java @@ -427,7 +427,7 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx focus.getExpansion().setTimestampElement(DateTimeType.now()); focus.getExpansion().setIdentifier(Factory.createUUID()); for (ParametersParameterComponent p : expParams.getParameter()) { - if (Utilities.existsInList(p.getName(), "includeDesignations", "excludeNested")) + if (Utilities.existsInList(p.getName(), "includeDesignations", "excludeNested", "activeOnly")) focus.getExpansion().addParameter().setName(p.getName()).setValue(p.getValue()); } @@ -487,10 +487,24 @@ public class ValueSetExpanderSimple extends ValueSetWorker implements ValueSetEx first = false; else canBeHeirarchy = false; - includeCodes(inc, exp, expParams, canBeHeirarchy, compose.hasInactive() && !compose.getInactive(), extensions, valueSet); + includeCodes(inc, exp, expParams, canBeHeirarchy, compose.hasInactive() ? !compose.getInactive() : checkNoInActiveFromParam(expParams), extensions, valueSet); } } + /** + * returns true if activeOnly = true + * @param expParams + * @return + */ + private boolean checkNoInActiveFromParam(Parameters expParams) { + for (ParametersParameterComponent p : expParams.getParameter()) { + if (p.getName().equals("activeOnly")) { + return p.getValueBooleanType().getValue(); + } + } + return false; + } + private ValueSet importValueSet(String value, ValueSetExpansionComponent exp, Parameters expParams, boolean noInactive, ValueSet valueSet) throws ETooCostly, TerminologyServiceException, FileNotFoundException, IOException, FHIRFormatError { if (value == null) throw fail("unable to find value set with no identity"); From 85ea0511873ca8d34360c550614ea78e2f16db91 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:43:58 +1000 Subject: [PATCH 055/156] fix duplicate ids in questionnaires --- .../fhir/r5/utils/QuestionnaireBuilder.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java index 70fa5823b..f83a2f8be 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java @@ -5,8 +5,10 @@ package org.hl7.fhir.r5.utils; import java.util.ArrayList; import java.util.HashMap; +import java.util.HashSet; import java.util.List; import java.util.Map; +import java.util.Set; import org.apache.commons.lang3.NotImplementedException; import org.hl7.fhir.exceptions.DefinitionException; @@ -114,6 +116,7 @@ public class QuestionnaireBuilder { private Factory factory = new Factory(); private Map vsCache = new HashMap(); private ValueSetExpander expander; + private Set linkIds = new HashSet<>(); // sometimes, when this is used, the questionnaire is already build and cached, and we are // processing the response. for technical reasons, we still go through the process, but @@ -209,9 +212,9 @@ public class QuestionnaireBuilder { // give it a fake group to build Questionnaire.QuestionnaireItemComponent group = new Questionnaire.QuestionnaireItemComponent(); group.setType(QuestionnaireItemType.GROUP); - buildGroup(group, profile, profile.getSnapshot().getElement().get(0), list, answerGroups); + buildGroup(group, profile, profile.getSnapshot().getElement().get(0), profile.getSnapshot().getElement().get(0).getPath(), list, answerGroups); } else - buildGroup(questionnaire.getItem().get(0), profile, profile.getSnapshot().getElement().get(0), list, answerGroups); + buildGroup(questionnaire.getItem().get(0), profile, profile.getSnapshot().getElement().get(0), profile.getSnapshot().getElement().get(0).getPath(), list, answerGroups); // // NarrativeGenerator ngen = new NarrativeGenerator(context); // ngen.generate(result); @@ -253,9 +256,13 @@ public class QuestionnaireBuilder { return prefix+Integer.toString(lastid); } - private void buildGroup(QuestionnaireItemComponent group, StructureDefinition profile, ElementDefinition element, + private void buildGroup(QuestionnaireItemComponent group, StructureDefinition profile, ElementDefinition element, String path, List parents, List answerGroups) throws FHIRException { - group.setLinkId(element.getPath()); // todo: this will be wrong when we start slicing + if (linkIds.contains(path)) { + return; + } + linkIds.add(path); + group.setLinkId(path); // todo: this will be wrong when we start slicing group.setText(element.getShort()); // todo - may need to prepend the name tail... if (element.getComment() != null) { Questionnaire.QuestionnaireItemComponent display = new Questionnaire.QuestionnaireItemComponent(); @@ -273,8 +280,10 @@ public class QuestionnaireBuilder { if (!element.getMax().equals("*")) ToolingExtensions.addMax(group, Integer.parseInt(element.getMax())); + int i = 0; for (org.hl7.fhir.r5.model.QuestionnaireResponse.QuestionnaireResponseItemComponent ag : answerGroups) { - ag.setLinkId(group.getLinkId()); + i++; + ag.setLinkId(group.getLinkId()+i); ag.setText(group.getText()); } @@ -295,9 +304,9 @@ public class QuestionnaireBuilder { // if the element has a type, we add a question. else we add a group on the basis that // it will have children of its own if (child.getType().isEmpty() || isAbstractType(child.getType())) - buildGroup(childGroup, profile, child, nparents, nResponse); + buildGroup(childGroup, profile, child, path+"."+child.getName(), nparents, nResponse); else if (isInlineDataType(child.getType())) - buildGroup(childGroup, profile, child, nparents, nResponse); // todo: get the right children for this one... + buildGroup(childGroup, profile, child, path+"."+child.getName(), nparents, nResponse); // todo: get the right children for this one... else buildQuestion(childGroup, profile, child, child.getPath(), nResponse, parents); } @@ -765,7 +774,7 @@ public class QuestionnaireBuilder { StructureDefinition sd = context.fetchTypeDefinition(tc); if (sd == null) throw new NotImplementedException("Unhandled Data Type: "+tc+" on element "+element.getPath()); - buildGroup(group, sd, sd.getSnapshot().getElementFirstRep(), parents, answerGroups); + buildGroup(group, sd, sd.getSnapshot().getElementFirstRep(), path+"."+sd.getSnapshot().getElementFirstRep().getPath(), parents, answerGroups); } } From bb05e8a597bfa961ca2bfa9f6b8de4afae50f0bd Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:44:09 +1000 Subject: [PATCH 056/156] Add types to wildcard list --- .../src/main/java/org/hl7/fhir/r5/utils/TypesUtilities.java | 2 ++ 1 file changed, 2 insertions(+) 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 203612486..2b3eb83fd 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 @@ -160,6 +160,8 @@ public class TypesUtilities { res.add(new WildcardInformation("RelatedArtifact", TypeClassification.METADATATYPE)); res.add(new WildcardInformation("TriggerDefinition", TypeClassification.METADATATYPE)); res.add(new WildcardInformation("UsageContext", TypeClassification.METADATATYPE)); + res.add(new WildcardInformation("Availability", TypeClassification.METADATATYPE)); + res.add(new WildcardInformation("ExtendedContactDetail", TypeClassification.METADATATYPE)); // special cases res.add(new WildcardInformation("Dosage", TypeClassification.SPECIAL)); From d55120d34f4adf283d05d6449fd2751e2a958414 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 22:44:26 +1000 Subject: [PATCH 057/156] debugging fix --- .../org/hl7/fhir/validation/instance/InstanceValidator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 903f6b154..4360240b3 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -5657,7 +5657,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (n == null) { long t = System.nanoTime(); try { - n = fpe.parse(FHIRPathExpressionFixer.fixExpr(inv.getExpression(), inv.getKey())); + String expr = FHIRPathExpressionFixer.fixExpr(inv.getExpression(), inv.getKey()); + n = fpe.parse(expr); } catch (FHIRLexerException e) { rule(errors, IssueType.INVARIANT, element.line(), element.col(), path, false, I18nConstants.PROBLEM_PROCESSING_EXPRESSION__IN_PROFILE__PATH__, inv.getExpression(), profile.getUrl(), path, e.getMessage()); return; From 0e93366bcd4859497f6bbd70cabb64aef1ce4ffd Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 1 Sep 2022 23:06:08 +1000 Subject: [PATCH 058/156] release notes --- RELEASE_NOTES.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..7c3d5c9c9 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,11 @@ ## Validator Changes -* no changes +* fix erroneous type characteristics error in StructureDefinition.differentials ## Other code changes -* no changes \ No newline at end of file +* ValuesetExpansion: Pay attention to inactive property, and activeOnly parameter +* fix broken paths rendering extensions +* Process markdown in code definitions when rendering ValueSets +* Fix duplicate ids in generated questionnaires +* Add types to wildcard list From 8a38b3685500329e783e4e77ea01d8be5638568d Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 1 Sep 2022 13:27:25 +0000 Subject: [PATCH 059/156] Release: v5.6.57 ## Validator Changes * fix erroneous type characteristics error in StructureDefinition.differentials ## Other code changes * ValuesetExpansion: Pay attention to inactive property, and activeOnly parameter * fix broken paths rendering extensions * Process markdown in code definitions when rendering ValueSets * Fix duplicate ids in generated questionnaires * Add types to wildcard list ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index ad8e6c646..ccfd252ba 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 2562aaa3f..bc1575b91 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 33c374279..5793032a2 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 4c4d42239..2c6f48e32 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index b558f75fd..df620dc54 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 99d7a7d2a..20260fb7b 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 2c336a6a2..61ab71c50 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 08fa54b7e..4575b2faa 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 5f7cd95ca..049251f9a 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 1a773ee6c..c15edfda9 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 4fc37a03c..7ad0da83b 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 ../pom.xml diff --git a/pom.xml b/pom.xml index fcb4f5676..eaa7bc43d 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.57-SNAPSHOT + 5.6.57 pom From 6f73511fe7f73f92d1b0013ed0c342204be0af24 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 1 Sep 2022 13:44:59 +0000 Subject: [PATCH 060/156] Updating version to: 5.6.58-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 8 ++------ org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 18 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7c3d5c9c9..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,11 +1,7 @@ ## Validator Changes -* fix erroneous type characteristics error in StructureDefinition.differentials +* no changes ## Other code changes -* ValuesetExpansion: Pay attention to inactive property, and activeOnly parameter -* fix broken paths rendering extensions -* Process markdown in code definitions when rendering ValueSets -* Fix duplicate ids in generated questionnaires -* Add types to wildcard list +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index ccfd252ba..dd9777d5b 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index bc1575b91..69dbc4bb6 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 5793032a2..fcf2b93cc 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 2c6f48e32..8d9382e4e 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index df620dc54..7ddca362c 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 20260fb7b..d14726035 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 61ab71c50..5aa437973 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 4575b2faa..38c939a8e 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 049251f9a..0e2c335bd 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index c15edfda9..c33ed8f4c 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 7ad0da83b..be424f280 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index eaa7bc43d..4e808a1a9 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.57 + 5.6.58-SNAPSHOT pom From 40ff51b75eab6ef6fb2b3d6d673aba3205d3458c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 2 Sep 2022 21:57:46 +1000 Subject: [PATCH 061/156] remove useless FHIRPath tests --- .../java/org/hl7/fhir/r5/utils/TypesUtilities.java | 2 +- .../fhir/validation/profile/ProfileValidator.java | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) 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 2b3eb83fd..294ecb8ec 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 @@ -46,7 +46,7 @@ public class TypesUtilities { public String toDisplay() { switch (this) { - case DATATYPE: return "Data Type"; + case DATATYPE: return "Datatype"; case METADATATYPE: return "MetaDataType"; case PRIMITIVE: return "Primitive Type"; case SPECIAL: return "Special Type"; diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/profile/ProfileValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/profile/ProfileValidator.java index 60972c62e..c09a5cdbc 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/profile/ProfileValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/profile/ProfileValidator.java @@ -51,9 +51,11 @@ public class ProfileValidator extends BaseValidator { private boolean checkAggregation = false; private boolean checkMustSupport = false; + private FHIRPathEngine fpe; public ProfileValidator(IWorkerContext context, XVerExtensionManager xverManager) { super(context, xverManager); + fpe = new FHIRPathEngine(context); } public boolean isCheckAggregation() { @@ -95,16 +97,15 @@ public class ProfileValidator extends BaseValidator { Hashtable snapshotElements = new Hashtable(); for (ElementDefinition ed : profile.getSnapshot().getElement()) { snapshotElements.put(ed.getId(), ed); - checkExtensions(profile, errors, "snapshot", ed); for (ElementDefinitionConstraintComponent inv : ed.getConstraint()) { if (forBuild) { if (!inExemptList(inv.getKey())) { if (rule(errors, IssueType.BUSINESSRULE, profile.getId()+"::"+ed.getPath()+"::"+inv.getKey(), inv.hasExpression(), "The invariant has no FHIR Path expression ("+inv.getXpath()+")")) { - try { - new FHIRPathEngine(context).check(null, profile.getType(), ed.getPath(), inv.getExpression()); // , inv.hasXpath() && inv.getXpath().startsWith("@value") - } catch (Exception e) { -// rule(errors, IssueType.STRUCTURE, profile.getId()+"::"+ed.getPath()+"::"+inv.getId(), exprExt != null, e.getMessage()); - } +// try { +// fpe.check(null, profile.getType(), ed.getPath(), inv.getExpression()); // , inv.hasXpath() && inv.getXpath().startsWith("@value") +// } catch (Exception e) { +// // rule(errors, IssueType.STRUCTURE, profile.getId()+"::"+ed.getPath()+"::"+inv.getId(), false, e.getMessage()); +// } } } } From f366962f5123135acc6c29eb122cf6569111fe5a Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 3 Sep 2022 07:37:38 +1000 Subject: [PATCH 062/156] Fix bindings constraint issue in validator --- .../src/main/resources/Messages.properties | 2 +- .../type/StructureDefinitionValidator.java | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index ca032b05c..7dc2bedf5 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -720,5 +720,5 @@ TX_SERVER_NO_BATCH_RESPONSE = The server return null from a batch validation req BUNDLE_POSSSIBLE_MATCHES = The bundle contains no match for {1} by the rules of Bundle reference resolution, but it has multiple resources that match {0} by resource type and id BUNDLE_BUNDLE_POSSIBLE_MATCH_NO_FU = Entry {0} matches the reference {1} by type and id but it does not match the full target URL {2} by Bundle resolution rules BUNDLE_BUNDLE_POSSIBLE_MATCH_WRONG_FU = Entry {0} matches the reference {1} by type and id but it''s fullUrl {2} does not match the full target URL {3} by Bundle resolution rules -SD_ILLEGAL_CHARACTERISTICS = This element has a {0} but the types to do not make this kind of constraint relevant +SD_ILLEGAL_CHARACTERISTICS = This element has a {0} but the types {1} to do not make this kind of constraint relevant SD_VALUE_COMPLEX_FIXED = For the complex type {0}, consider using a pattern rather than a fixed value to avoid over-constraining the instance diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index c6f698b78..a37bd532d 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -149,7 +149,7 @@ public class StructureDefinitionValidator extends BaseValidator { addCharacteristics(tcharacteristics, tc); characteristics.addAll(tcharacteristics); if (type.hasChildren("targetProfile")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), tcharacteristics.contains("has-target") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "targetProfile"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), tcharacteristics.contains("has-target") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "targetProfile", tc); } // check the stated profile - must be a constraint on the type if (snapshot || sd != null) { @@ -165,7 +165,7 @@ public class StructureDefinitionValidator extends BaseValidator { } if (element.hasChild("binding")) { if (!typeCodes.isEmpty()) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("can-bind") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Binding"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("can-bind") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Binding", typeCodes); } Element binding = element.getNamedChild("binding"); validateBinding(errors, binding, stack.push(binding, -1, null, null), typeCodes, snapshot, element.getNamedChildValue("path")); @@ -176,22 +176,22 @@ public class StructureDefinitionValidator extends BaseValidator { } if (!typeCodes.isEmpty()) { if (element.hasChild("maxLength")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxLength"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxLength", typeCodes); } if (element.hasExtension(ToolingExtensions.EXT_MIN_LENGTH)) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinLength Extension"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-length") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinLength Extension", typeCodes); } if (element.hasChild("minValue")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinValue"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MinValue", typeCodes); } if (element.hasChild("maxValue")) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxValue"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-range") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "MaxValue", typeCodes); } if (element.hasExtension(ToolingExtensions.EXT_MAX_DECIMALS)) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("is-continuous") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Decimal Places Extension"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("is-continuous") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Decimal Places Extension", typeCodes); } if (element.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { - rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-size") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Size"); + rule(errors, IssueType.BUSINESSRULE, stack.getLiteralPath(), characteristics.contains("has-size") , I18nConstants.SD_ILLEGAL_CHARACTERISTICS, "Max Size", typeCodes); } } // in a snapshot, we validate that fixedValue, pattern, and defaultValue, if present, are all of the right type @@ -285,7 +285,7 @@ public class StructureDefinitionValidator extends BaseValidator { case "Dosage" : return addCharacteristicsForType(set); case "Meta" :return addCharacteristicsForType(set); case "Resource" :return addCharacteristicsForType(set); - case "Extension" :return addCharacteristicsForType(set); + case "Extension" :return addCharacteristicsForType(set, "can-bind"); case "Narrative" :return addCharacteristicsForType(set); case "Element" :return addCharacteristicsForType(set); case "BackboneElement" :return addCharacteristicsForType(set); From d8b7e587a3b68eb08d3f7d6e5011de1ab933b744 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 3 Sep 2022 08:06:21 +1000 Subject: [PATCH 063/156] Remove Contributor Datatype --- .../main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java | 2 +- .../src/main/java/org/hl7/fhir/r5/utils/TypesUtilities.java | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 18a768c8f..a30c324de 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -5365,7 +5365,7 @@ public class ProfileUtilities extends TranslatingUtilities { StructureDefinition sd = context.fetchTypeDefinition(value); if (sd == null) // might be running before all SDs are available return Utilities.existsInList(value, "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "Reference", "SampledData", "Signature", "Timing", - "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext"); + "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext"); else return sd.getKind() == StructureDefinitionKind.COMPLEXTYPE && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION; } 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 294ecb8ec..c9e2069fe 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 @@ -153,7 +153,6 @@ public class TypesUtilities { // metadata types res.add(new WildcardInformation("ContactDetail", TypeClassification.METADATATYPE)); - res.add(new WildcardInformation("Contributor", TypeClassification.METADATATYPE)); res.add(new WildcardInformation("DataRequirement", TypeClassification.METADATATYPE)); res.add(new WildcardInformation("Expression", TypeClassification.METADATATYPE)); res.add(new WildcardInformation("ParameterDefinition", TypeClassification.METADATATYPE)); From f67c08d0afbf1d5e8c50de5305adf4229e7250f1 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 3 Sep 2022 08:07:12 +1000 Subject: [PATCH 064/156] undo change --- .../main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index a30c324de..18a768c8f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -5365,7 +5365,7 @@ public class ProfileUtilities extends TranslatingUtilities { StructureDefinition sd = context.fetchTypeDefinition(value); if (sd == null) // might be running before all SDs are available return Utilities.existsInList(value, "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "Reference", "SampledData", "Signature", "Timing", - "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext"); + "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext"); else return sd.getKind() == StructureDefinitionKind.COMPLEXTYPE && sd.getDerivation() == TypeDerivationRule.SPECIALIZATION; } From 4d4009f0e4769b1ff7d41ba869fd55e59e6a8b27 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 3 Sep 2022 10:38:27 +1000 Subject: [PATCH 065/156] fix syntax --- .../src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java index 0cd802218..c5efe3318 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java @@ -120,6 +120,9 @@ public abstract class ParserBase { public Element parseSingle(InputStream stream) throws IOException, FHIRFormatError, DefinitionException, FHIRException { List res = parse(stream); + if (res.size() == 1) { + throw new FHIRException("Parsing FHIR content returned no elements in a context where one element is required"); + } if (res.size() != 1) { throw new FHIRException("Parsing FHIR content returned multiple elements in a context where only one element is allowed"); } From fa22d50297c59c4813d95dbb0c6016d6827488d8 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 3 Sep 2022 21:31:24 +1000 Subject: [PATCH 066/156] utilities for OID rework in R5 --- .../hl7/fhir/r5/elementmodel/ParserBase.java | 2 +- .../hl7/fhir/r5/model/CanonicalResource.java | 13 +++++++ .../r5/terminologies/ConceptMapUtilities.java | 34 +++++++++++++++++++ .../org/hl7/fhir/utilities/xml/XMLUtil.java | 7 ++++ 4 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ConceptMapUtilities.java diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java index c5efe3318..7bad1a90f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/ParserBase.java @@ -120,7 +120,7 @@ public abstract class ParserBase { public Element parseSingle(InputStream stream) throws IOException, FHIRFormatError, DefinitionException, FHIRException { List res = parse(stream); - if (res.size() == 1) { + if (res.size() == 0) { throw new FHIRException("Parsing FHIR content returned no elements in a context where one element is required"); } if (res.size() != 1) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java index ad40e273c..8f6c6ab74 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java @@ -35,6 +35,10 @@ import java.util.ArrayList; import java.util.Date; import java.util.List; import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.json.JsonUtilities; + +import com.google.gson.JsonObject; + import org.hl7.fhir.r5.model.Enumerations.*; import org.hl7.fhir.instance.model.api.IBaseBackboneElement; import org.hl7.fhir.exceptions.FHIRException; @@ -568,5 +572,14 @@ public abstract class CanonicalResource extends DomainResource { return null; } + public String getOid() { + for (Identifier id : getIdentifier()) { + if ("urn:ietf:rfc:3986".equals(id.getSystem()) && id.hasValue() && id.getValue().startsWith("urn:oid:")) { + return id.getValue().substring(8); + } + } + return null; + } + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ConceptMapUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ConceptMapUtilities.java new file mode 100644 index 000000000..3878c0fda --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/terminologies/ConceptMapUtilities.java @@ -0,0 +1,34 @@ +package org.hl7.fhir.r5.terminologies; + +import org.hl7.fhir.r5.model.ConceptMap; +import org.hl7.fhir.r5.model.Identifier; +import org.hl7.fhir.r5.model.ValueSet; + +public class ConceptMapUtilities { + + public static boolean hasOID(ConceptMap cm) { + return getOID(cm) != null; + } + + public static String getOID(ConceptMap cm) { + for (Identifier id : cm.getIdentifier()) { + if ("urn:ietf:rfc:3986".equals(id.getSystem()) && id.hasValue() && id.getValue().startsWith("urn:oid:")) + return id.getValue().substring(8); + } + return null; + } + + public static void setOID(ConceptMap cm, String oid) { + if (!oid.startsWith("urn:oid:")) + oid = "urn:oid:" + oid; + for (Identifier id : cm.getIdentifier()) { + if ("urn:ietf:rfc:3986".equals(id.getSystem()) && id.hasValue() && id.getValue().startsWith("urn:oid:")) { + id.setValue(oid); + return; + } + } + cm.addIdentifier().setSystem("urn:ietf:rfc:3986").setValue(oid); + } + + +} 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 34ba270a5..e2b6f6679 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 @@ -461,6 +461,13 @@ public class XMLUtil { return builder.parse(new FileInputStream(filename)); } + public static Document parseFileToDom(String filename, boolean ns) throws ParserConfigurationException, SAXException, IOException { + DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); + factory.setNamespaceAware(ns); + DocumentBuilder builder = factory.newDocumentBuilder(); + return builder.parse(new FileInputStream(filename)); + } + public static Element getLastChild(Element e) { if (e == null) return null; From 2150a17c69a95c3c0a5124b316528be745f219b0 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sun, 4 Sep 2022 07:13:58 +1000 Subject: [PATCH 067/156] changing the way extensions are managed in the build --- .../src/main/java/org/hl7/fhir/r5/utils/BuildExtensions.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/BuildExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/BuildExtensions.java index 868952976..622deab85 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/BuildExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/BuildExtensions.java @@ -38,8 +38,6 @@ public class BuildExtensions extends ToolingExtensions { public static final String EXT_WEBSITE = "http://hl7.org/fhir/build/StructureDefinition/website"; public static final String EXT_EMAIL = "http://hl7.org/fhir/build/StructureDefinition/email"; public static final String EXT_COPYRIGHT = "http://hl7.org/fhir/build/StructureDefinition/copyright"; - public static final String EXT_CS_OID = "http://hl7.org/fhir/build/StructureDefinition/cs-oid"; - public static final String EXT_VS_OID = "http://hl7.org/fhir/build/StructureDefinition/vs-oid"; public static final String EXT_STATUS = "http://hl7.org/fhir/build/StructureDefinition/status"; public static final String EXT_INTRODUCTION = "http://hl7.org/fhir/build/StructureDefinition/introduction"; public static final String EXT_NOTES = "http://hl7.org/fhir/build/StructureDefinition/notes"; From 287fed51174fcf402a506834dc27a0c0e8a71323 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sun, 4 Sep 2022 08:15:03 +1000 Subject: [PATCH 068/156] release --- RELEASE_NOTES.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..44b240d48 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,9 @@ ## Validator Changes -* no changes +* Allow binding as a type characteristic for Extension ## Other code changes -* no changes \ No newline at end of file +* OID support refactoring +* Remove Contributor Datatype from R5 +* R5 Build efficiency fixes From 719f28dcd247fad1b34cc912cf0e1892354d0deb Mon Sep 17 00:00:00 2001 From: markiantorno Date: Sat, 3 Sep 2022 23:48:53 +0000 Subject: [PATCH 069/156] Release: v5.6.58 ## Validator Changes * Allow binding as a type characteristic for Extension ## Other code changes * OID support refactoring * Remove Contributor Datatype from R5 * R5 Build efficiency fixes ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index dd9777d5b..c39ef488c 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 69dbc4bb6..9911814ce 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index fcf2b93cc..b39eafb03 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 8d9382e4e..9d07c100b 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 7ddca362c..6adc4b1ec 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index d14726035..1bbdd9d71 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 5aa437973..e32371d02 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 38c939a8e..ea03e4d08 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 0e2c335bd..bf015943e 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index c33ed8f4c..c2453e71b 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index be424f280..d1e4471dd 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 ../pom.xml diff --git a/pom.xml b/pom.xml index 4e808a1a9..05433493d 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.58-SNAPSHOT + 5.6.58 pom From df2a768778745666c75e5ccd3a7c190abf12ce81 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Sun, 4 Sep 2022 00:09:47 +0000 Subject: [PATCH 070/156] Updating version to: 5.6.59-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 6 ++---- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 16 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 44b240d48..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,9 +1,7 @@ ## Validator Changes -* Allow binding as a type characteristic for Extension +* no changes ## Other code changes -* OID support refactoring -* Remove Contributor Datatype from R5 -* R5 Build efficiency fixes +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index c39ef488c..25f028d99 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 9911814ce..04b558ffa 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index b39eafb03..3f3ca96fc 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 9d07c100b..d7537337b 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 6adc4b1ec..f67b5181f 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 1bbdd9d71..d353f3df6 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index e32371d02..e7136d473 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index ea03e4d08..2fb4c8db7 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index bf015943e..ab41929e0 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index c2453e71b..d9dd03f72 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index d1e4471dd..d863a04ec 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 05433493d..bbf7077ce 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.58 + 5.6.59-SNAPSHOT pom From f346a94c596acd16a2a291ceeea4c29767bd3f9f Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 5 Sep 2022 16:24:50 +1000 Subject: [PATCH 071/156] update for R5 ballot version --- .../org/hl7/fhir/r5/model/Enumerations.java | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) 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 7c205f623..294e0083c 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 @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Mon, Jul 18, 2022 12:45+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Jul 18, 2022 12:45+1000 for FHIR v5.0.0-ballot import org.hl7.fhir.instance.model.api.*; @@ -6703,7 +6703,7 @@ The primary difference between a medicationusage and a medicationadministration /** * R5 Snapshot2 */ - _5_0_0SNAPSHOT2, + _5_0_0BALLOT, /** * added to help the parsers */ @@ -6817,8 +6817,8 @@ The primary difference between a medicationusage and a medicationadministration return _5_0_0CIBUILD; if ("5.0.0-snapshot1".equals(codeString)) return _5_0_0SNAPSHOT1; - if ("5.0.0-snapshot2".equals(codeString)) - return _5_0_0SNAPSHOT2; + if ("5.0.0-ballot".equals(codeString)) + return _5_0_0BALLOT; throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } public String toCode() { @@ -6876,7 +6876,7 @@ The primary difference between a medicationusage and a medicationadministration case _5_0_0: return "5.0.0"; case _5_0_0CIBUILD: return "5.0.0-cibuild"; case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; - case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; + case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } @@ -6936,7 +6936,7 @@ The primary difference between a medicationusage and a medicationadministration case _5_0_0: return "http://hl7.org/fhir/FHIR-version"; case _5_0_0CIBUILD: return "http://hl7.org/fhir/FHIR-version"; case _5_0_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; - case _5_0_0SNAPSHOT2: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0BALLOT: return "http://hl7.org/fhir/FHIR-version"; case NULL: return null; default: return "?"; } @@ -6996,7 +6996,7 @@ The primary difference between a medicationusage and a medicationadministration case _5_0_0: return "R5"; case _5_0_0CIBUILD: return "R5 CIBuild"; case _5_0_0SNAPSHOT1: return "R5 Snapshot1"; - case _5_0_0SNAPSHOT2: return "R5 Snapshot2"; + case _5_0_0BALLOT: return "R5 Snapshot2"; case NULL: return null; default: return "?"; } @@ -7056,7 +7056,7 @@ The primary difference between a medicationusage and a medicationadministration case _5_0_0: return "5.0.0"; case _5_0_0CIBUILD: return "5.0.0-cibuild"; case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; - case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; + case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } @@ -7074,7 +7074,7 @@ The primary difference between a medicationusage and a medicationadministration public static boolean isValidCode(String codeString) { return Utilities.existsInList(codeString, "0.01", "0.05", "0.06", "0.11", "0.0.80", "0.0.81" ,"0.0.82", "0.4.0", "0.5.0", "1.0.0", "1.0.1", "1.0.2", "1.1.0", "1.4.0", "1.6.0", "1.8.0", "3.0.0", "3.0.1", "3.0.2", "3.3.0", "3.5.0", - "4.0.0", "4.0.1", "4.1.0" ,"4.2.0" ,"4.3.0-snapshot1" ,"4.3.0-cibuild" ,"4.3.0", "5.0.0", "5.0.0-cibuild", "5.0.0-snapshot1", "5.0.0-snapshot2"); + "4.0.0", "4.0.1", "4.1.0" ,"4.2.0" ,"4.3.0-snapshot1" ,"4.3.0-cibuild" ,"4.3.0", "5.0.0", "5.0.0-cibuild", "5.0.0-snapshot1", "5.0.0-ballot"); } @@ -7202,8 +7202,8 @@ The primary difference between a medicationusage and a medicationadministration return FHIRVersion._5_0_0CIBUILD; if ("5.0.0-snapshot1".equals(codeString)) return FHIRVersion._5_0_0SNAPSHOT1; - if ("5.0.0-snapshot2".equals(codeString)) - return FHIRVersion._5_0_0SNAPSHOT2; + if ("5.0.0-ballot".equals(codeString)) + return FHIRVersion._5_0_0BALLOT; throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -7320,8 +7320,8 @@ The primary difference between a medicationusage and a medicationadministration return new Enumeration(this, FHIRVersion._5_0_0CIBUILD); if ("5.0.0-snapshot1".equals(codeString)) return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT1); - if ("5.0.0-snapshot2".equals(codeString)) - return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT2); + if ("5.0.0-ballot".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0BALLOT); throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } public String toCode(FHIRVersion code) { @@ -7431,8 +7431,8 @@ The primary difference between a medicationusage and a medicationadministration return "5.0.0-cibuild"; if (code == FHIRVersion._5_0_0SNAPSHOT1) return "5.0.0-snapshot1"; - if (code == FHIRVersion._5_0_0SNAPSHOT2) - return "5.0.0-snapshot2"; + if (code == FHIRVersion._5_0_0BALLOT) + return "5.0.0-ballot"; return "?"; } public String toSystem(FHIRVersion code) { From 619b60fdcf2dad03dad665392002c1bf7e7e66c4 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 5 Sep 2022 23:22:19 +1000 Subject: [PATCH 072/156] Regenerate R5 --- .../analytics/SearchParameterAnalysis.java | 4 +- .../ElementDefinition10_50.java | 4 +- .../complextypes10_50/SampledData10_50.java | 4 +- .../conv10_50/resources10_50/Bundle10_50.java | 5 +- .../resources10_50/Composition10_50.java | 13 +- .../resources10_50/Conformance10_50.java | 12 +- .../resources10_50/DetectedIssue10_50.java | 6 +- .../resources10_50/DiagnosticReport10_50.java | 4 - .../DocumentReference10_50.java | 8 +- .../resources10_50/Encounter10_50.java | 16 +- .../conv10_50/resources10_50/Group10_50.java | 19 +- .../HealthcareService10_50.java | 144 +- .../ImplementationGuide10_50.java | 12 +- .../resources10_50/Location10_50.java | 15 +- .../OperationDefinition10_50.java | 8 +- .../resources10_50/Organization10_50.java | 8 +- .../resources10_50/SearchParameter10_50.java | 39 +- .../resources10_50/TestScript10_50.java | 4 +- .../ElementDefinition14_50.java | 4 +- .../complextypes14_50/SampledData14_50.java | 4 +- .../conv14_50/resources14_50/Bundle14_50.java | 5 +- .../resources14_50/Conformance14_50.java | 12 +- .../ImplementationGuide14_50.java | 21 +- .../OperationDefinition14_50.java | 4 +- .../resources14_50/SearchParameter14_50.java | 39 +- .../datatypes30_50/DataRequirement30_50.java | 4 +- .../ElementDefinition30_50.java | 6 +- .../ParameterDefinition30_50.java | 2 +- .../complextypes30_50/SampledData30_50.java | 4 +- .../primitivetypes30_50/Code30_50.java | 12 + .../conv30_50/resources30_50/Bundle30_50.java | 5 +- .../CapabilityStatement30_50.java | 12 +- .../resources30_50/Composition30_50.java | 13 +- .../resources30_50/DetectedIssue30_50.java | 44 +- .../resources30_50/DiagnosticReport30_50.java | 4 - .../DocumentReference30_50.java | 8 +- .../resources30_50/Encounter30_50.java | 16 +- .../resources30_50/GraphDefinition30_50.java | 4 +- .../conv30_50/resources30_50/Group30_50.java | 19 +- .../HealthcareService30_50.java | 146 +- .../ImplementationGuide30_50.java | 20 +- .../resources30_50/Location30_50.java | 15 +- .../OperationDefinition30_50.java | 4 +- .../resources30_50/Organization30_50.java | 8 +- .../resources30_50/SearchParameter30_50.java | 39 +- .../resources30_50/TestScript30_50.java | 4 +- .../general40_50/SampledData40_50.java | 4 +- .../metadata40_50/DataRequirement40_50.java | 2 +- .../ParameterDefinition40_50.java | 2 +- .../primitive40_50/Code40_50.java | 12 +- .../special40_50/ElementDefinition40_50.java | 6 +- .../conv40_50/resources40_50/Bundle40_50.java | 5 +- .../CapabilityStatement40_50.java | 16 +- .../CompartmentDefinition40_50.java | 4 +- .../resources40_50/Composition40_50.java | 12 +- .../resources40_50/DetectedIssue40_50.java | 44 +- .../resources40_50/DiagnosticReport40_50.java | 4 - .../DocumentReference40_50.java | 8 +- .../resources40_50/Encounter40_50.java | 28 +- .../resources40_50/GraphDefinition40_50.java | 4 +- .../conv40_50/resources40_50/Group40_50.java | 19 +- .../HealthcareService40_50.java | 144 +- .../ImplementationGuide40_50.java | 47 +- .../resources40_50/Location40_50.java | 99 +- .../OperationDefinition40_50.java | 4 +- .../resources40_50/Organization40_50.java | 8 +- .../resources40_50/SearchParameter40_50.java | 39 +- .../TerminologyCapabilities40_50.java | 16 +- .../resources40_50/TestScript40_50.java | 4 +- .../general43_50/SampledData43_50.java | 4 +- .../metadata43_50/DataRequirement43_50.java | 2 +- .../ParameterDefinition43_50.java | 2 +- .../primitive43_50/Code43_50.java | 10 +- .../special43_50/ElementDefinition43_50.java | 6 +- .../conv43_50/resources43_50/Bundle43_50.java | 5 +- .../CapabilityStatement43_50.java | 16 +- .../CompartmentDefinition43_50.java | 4 +- .../resources43_50/Composition43_50.java | 14 +- .../resources43_50/DetectedIssue43_50.java | 44 +- .../resources43_50/DiagnosticReport43_50.java | 4 - .../DocumentReference43_50.java | 8 +- .../resources43_50/Encounter43_50.java | 28 +- .../resources43_50/GraphDefinition43_50.java | 4 +- .../conv43_50/resources43_50/Group43_50.java | 19 +- .../HealthcareService43_50.java | 148 +- .../ImplementationGuide43_50.java | 44 +- .../resources43_50/Location43_50.java | 99 +- .../OperationDefinition43_50.java | 4 +- .../resources43_50/Organization43_50.java | 8 +- .../resources43_50/SearchParameter43_50.java | 39 +- .../TerminologyCapabilities43_50.java | 16 +- .../resources43_50/TestScript43_50.java | 4 +- .../configuration/CanonicalResource.java | 21 +- .../configuration/ElementDefinition.java | 20 + .../core/generator/analysis/Analyser.java | 6 +- .../codegen/JavaResourceGenerator.java | 31 +- .../core/generator/engine/Definitions.java | 38 +- .../org/hl7/fhir/r5/formats/JsonParser.java | 9934 ++++++++---- .../org/hl7/fhir/r5/formats/RdfParser.java | 3534 +++-- .../org/hl7/fhir/r5/formats/XmlParser.java | 7568 ++++++--- .../java/org/hl7/fhir/r5/model/Account.java | 864 +- .../hl7/fhir/r5/model/ActivityDefinition.java | 798 +- .../hl7/fhir/r5/model/ActorDefinition.java | 2067 +++ .../java/org/hl7/fhir/r5/model/Address.java | 5 +- .../model/AdministrableProductDefinition.java | 22 +- .../org/hl7/fhir/r5/model/AdverseEvent.java | 245 +- .../main/java/org/hl7/fhir/r5/model/Age.java | 4 +- .../hl7/fhir/r5/model/AllergyIntolerance.java | 20 +- .../org/hl7/fhir/r5/model/Annotation.java | 4 +- .../org/hl7/fhir/r5/model/Appointment.java | 2472 ++- .../fhir/r5/model/AppointmentResponse.java | 302 +- .../hl7/fhir/r5/model/ArtifactAssessment.java | 2 +- .../org/hl7/fhir/r5/model/Attachment.java | 4 +- .../org/hl7/fhir/r5/model/AuditEvent.java | 16 +- .../org/hl7/fhir/r5/model/Availability.java | 955 ++ .../hl7/fhir/r5/model/BackboneElement.java | 4 +- .../org/hl7/fhir/r5/model/BackboneType.java | 4 +- .../java/org/hl7/fhir/r5/model/Basic.java | 4 +- .../java/org/hl7/fhir/r5/model/Binary.java | 2 +- .../r5/model/BiologicallyDerivedProduct.java | 32 +- .../org/hl7/fhir/r5/model/BodyStructure.java | 2 +- .../java/org/hl7/fhir/r5/model/Bundle.java | 2180 ++- .../hl7/fhir/r5/model/CanonicalResource.java | 80 +- .../fhir/r5/model/CapabilityStatement.java | 652 +- .../fhir/r5/model/CapabilityStatement2.java | 7251 --------- .../java/org/hl7/fhir/r5/model/CarePlan.java | 52 +- .../java/org/hl7/fhir/r5/model/CareTeam.java | 18 +- .../org/hl7/fhir/r5/model/ChargeItem.java | 396 +- .../fhir/r5/model/ChargeItemDefinition.java | 1124 +- .../java/org/hl7/fhir/r5/model/Citation.java | 1761 +-- .../java/org/hl7/fhir/r5/model/Claim.java | 1387 +- .../org/hl7/fhir/r5/model/ClaimResponse.java | 1560 +- .../hl7/fhir/r5/model/ClinicalImpression.java | 89 +- .../fhir/r5/model/ClinicalUseDefinition.java | 84 +- .../org/hl7/fhir/r5/model/CodeSystem.java | 1095 +- .../hl7/fhir/r5/model/CodeableConcept.java | 4 +- .../hl7/fhir/r5/model/CodeableReference.java | 4 +- .../java/org/hl7/fhir/r5/model/Coding.java | 4 +- .../org/hl7/fhir/r5/model/Communication.java | 6 +- .../fhir/r5/model/CommunicationRequest.java | 10 +- .../fhir/r5/model/CompartmentDefinition.java | 484 +- .../org/hl7/fhir/r5/model/Composition.java | 338 +- .../org/hl7/fhir/r5/model/ConceptMap.java | 1327 +- .../java/org/hl7/fhir/r5/model/Condition.java | 56 +- .../fhir/r5/model/ConditionDefinition.java | 189 +- .../java/org/hl7/fhir/r5/model/Consent.java | 238 +- .../java/org/hl7/fhir/r5/model/Constants.java | 10 +- .../org/hl7/fhir/r5/model/ContactDetail.java | 4 +- .../org/hl7/fhir/r5/model/ContactPoint.java | 4 +- .../java/org/hl7/fhir/r5/model/Contract.java | 4 +- .../org/hl7/fhir/r5/model/Contributor.java | 4 +- .../java/org/hl7/fhir/r5/model/Count.java | 4 +- .../java/org/hl7/fhir/r5/model/Coverage.java | 1142 +- .../r5/model/CoverageEligibilityRequest.java | 2 +- .../r5/model/CoverageEligibilityResponse.java | 2 +- .../hl7/fhir/r5/model/DataRequirement.java | 726 +- .../java/org/hl7/fhir/r5/model/DataType.java | 4 +- .../org/hl7/fhir/r5/model/DetectedIssue.java | 413 +- .../java/org/hl7/fhir/r5/model/Device.java | 805 +- .../hl7/fhir/r5/model/DeviceDefinition.java | 1290 +- .../org/hl7/fhir/r5/model/DeviceDispense.java | 2 +- .../org/hl7/fhir/r5/model/DeviceMetric.java | 2 +- .../org/hl7/fhir/r5/model/DeviceRequest.java | 153 +- .../org/hl7/fhir/r5/model/DeviceUsage.java | 30 +- .../hl7/fhir/r5/model/DiagnosticReport.java | 450 +- .../java/org/hl7/fhir/r5/model/Distance.java | 4 +- .../hl7/fhir/r5/model/DocumentManifest.java | 16 +- .../hl7/fhir/r5/model/DocumentReference.java | 79 +- .../org/hl7/fhir/r5/model/DomainResource.java | 14 +- .../java/org/hl7/fhir/r5/model/Dosage.java | 4 +- .../java/org/hl7/fhir/r5/model/Duration.java | 4 +- .../java/org/hl7/fhir/r5/model/Element.java | 18 +- .../hl7/fhir/r5/model/ElementDefinition.java | 1324 +- .../java/org/hl7/fhir/r5/model/Encounter.java | 1012 +- .../java/org/hl7/fhir/r5/model/Endpoint.java | 252 +- .../hl7/fhir/r5/model/EnrollmentRequest.java | 2 +- .../hl7/fhir/r5/model/EnrollmentResponse.java | 2 +- .../org/hl7/fhir/r5/model/Enumerations.java | 13087 +++++++++++----- .../org/hl7/fhir/r5/model/EpisodeOfCare.java | 199 +- .../hl7/fhir/r5/model/EventDefinition.java | 123 +- .../java/org/hl7/fhir/r5/model/Evidence.java | 249 +- .../org/hl7/fhir/r5/model/EvidenceReport.java | 193 +- .../hl7/fhir/r5/model/EvidenceVariable.java | 810 +- .../hl7/fhir/r5/model/ExampleScenario.java | 2461 +-- .../fhir/r5/model/ExplanationOfBenefit.java | 2907 +++- .../org/hl7/fhir/r5/model/Expression.java | 18 +- .../fhir/r5/model/ExtendedContactDetail.java | 93 +- .../java/org/hl7/fhir/r5/model/Extension.java | 76 +- .../fhir/r5/model/FamilyMemberHistory.java | 20 +- .../main/java/org/hl7/fhir/r5/model/Flag.java | 12 +- .../org/hl7/fhir/r5/model/FormularyItem.java | 2 +- .../org/hl7/fhir/r5/model/GenomicStudy.java | 3634 +++++ .../main/java/org/hl7/fhir/r5/model/Goal.java | 12 +- .../hl7/fhir/r5/model/GraphDefinition.java | 375 +- .../java/org/hl7/fhir/r5/model/Group.java | 402 +- .../hl7/fhir/r5/model/GuidanceResponse.java | 12 +- .../hl7/fhir/r5/model/HealthcareService.java | 1108 +- .../java/org/hl7/fhir/r5/model/HumanName.java | 4 +- .../org/hl7/fhir/r5/model/Identifier.java | 24 +- .../hl7/fhir/r5/model/ImagingSelection.java | 439 +- .../org/hl7/fhir/r5/model/ImagingStudy.java | 14 +- .../org/hl7/fhir/r5/model/Immunization.java | 876 +- .../fhir/r5/model/ImmunizationEvaluation.java | 2 +- .../r5/model/ImmunizationRecommendation.java | 198 +- .../fhir/r5/model/ImplementationGuide.java | 1066 +- .../org/hl7/fhir/r5/model/Ingredient.java | 22 +- .../org/hl7/fhir/r5/model/InsurancePlan.java | 4 +- .../hl7/fhir/r5/model/InventoryReport.java | 2 +- .../java/org/hl7/fhir/r5/model/Invoice.java | 743 +- .../java/org/hl7/fhir/r5/model/Library.java | 123 +- .../java/org/hl7/fhir/r5/model/Linkage.java | 6 +- .../org/hl7/fhir/r5/model/ListResource.java | 48 +- .../java/org/hl7/fhir/r5/model/Location.java | 868 +- .../r5/model/ManufacturedItemDefinition.java | 1284 +- .../hl7/fhir/r5/model/MarketingStatus.java | 4 +- .../java/org/hl7/fhir/r5/model/Measure.java | 509 +- .../org/hl7/fhir/r5/model/MeasureReport.java | 291 +- .../org/hl7/fhir/r5/model/Medication.java | 10 +- .../r5/model/MedicationAdministration.java | 273 +- .../hl7/fhir/r5/model/MedicationDispense.java | 20 +- .../fhir/r5/model/MedicationKnowledge.java | 2 +- .../hl7/fhir/r5/model/MedicationRequest.java | 296 +- .../hl7/fhir/r5/model/MedicationUsage.java | 20 +- .../r5/model/MedicinalProductDefinition.java | 264 +- .../hl7/fhir/r5/model/MessageDefinition.java | 109 +- .../org/hl7/fhir/r5/model/MessageHeader.java | 60 +- .../main/java/org/hl7/fhir/r5/model/Meta.java | 4 +- .../hl7/fhir/r5/model/MetadataResource.java | 6 +- .../hl7/fhir/r5/model/MolecularSequence.java | 770 +- .../hl7/fhir/r5/model/MonetaryComponent.java | 585 + .../java/org/hl7/fhir/r5/model/Money.java | 4 +- .../org/hl7/fhir/r5/model/NamingSystem.java | 1631 +- .../java/org/hl7/fhir/r5/model/Narrative.java | 4 +- .../hl7/fhir/r5/model/NutritionIntake.java | 6 +- .../org/hl7/fhir/r5/model/NutritionOrder.java | 2252 ++- .../hl7/fhir/r5/model/NutritionProduct.java | 2 +- .../org/hl7/fhir/r5/model/Observation.java | 46 +- .../fhir/r5/model/ObservationDefinition.java | 4 +- .../fhir/r5/model/OperationDefinition.java | 803 +- .../hl7/fhir/r5/model/OperationOutcome.java | 2 +- .../org/hl7/fhir/r5/model/Organization.java | 625 +- .../r5/model/OrganizationAffiliation.java | 122 +- .../r5/model/PackagedProductDefinition.java | 2 +- .../fhir/r5/model/ParameterDefinition.java | 34 +- .../org/hl7/fhir/r5/model/Parameters.java | 76 +- .../java/org/hl7/fhir/r5/model/Patient.java | 74 +- .../org/hl7/fhir/r5/model/PaymentNotice.java | 12 +- .../fhir/r5/model/PaymentReconciliation.java | 1496 +- .../java/org/hl7/fhir/r5/model/Period.java | 4 +- .../org/hl7/fhir/r5/model/Permission.java | 2626 +++- .../java/org/hl7/fhir/r5/model/Person.java | 138 +- .../org/hl7/fhir/r5/model/PlanDefinition.java | 425 +- .../org/hl7/fhir/r5/model/Population.java | 4 +- .../org/hl7/fhir/r5/model/Practitioner.java | 362 +- .../hl7/fhir/r5/model/PractitionerRole.java | 992 +- .../java/org/hl7/fhir/r5/model/Procedure.java | 198 +- .../hl7/fhir/r5/model/ProductShelfLife.java | 4 +- .../org/hl7/fhir/r5/model/Provenance.java | 12 +- .../java/org/hl7/fhir/r5/model/Quantity.java | 4 +- .../org/hl7/fhir/r5/model/Questionnaire.java | 345 +- .../fhir/r5/model/QuestionnaireResponse.java | 15 +- .../java/org/hl7/fhir/r5/model/Range.java | 4 +- .../java/org/hl7/fhir/r5/model/Ratio.java | 4 +- .../org/hl7/fhir/r5/model/RatioRange.java | 4 +- .../java/org/hl7/fhir/r5/model/Reference.java | 6 +- .../fhir/r5/model/RegulatedAuthorization.java | 86 +- .../hl7/fhir/r5/model/RelatedArtifact.java | 238 +- .../org/hl7/fhir/r5/model/RelatedPerson.java | 32 +- .../org/hl7/fhir/r5/model/RequestGroup.java | 614 +- .../fhir/r5/model/RequestOrchestration.java | 5752 +++++++ .../org/hl7/fhir/r5/model/Requirements.java | 2831 ++++ .../org/hl7/fhir/r5/model/ResearchStudy.java | 1163 +- .../hl7/fhir/r5/model/ResearchSubject.java | 162 +- .../hl7/fhir/r5/model/ResourceFactory.java | 26 +- .../org/hl7/fhir/r5/model/ResourceType.java | 27 +- .../org/hl7/fhir/r5/model/RiskAssessment.java | 12 +- .../org/hl7/fhir/r5/model/SampledData.java | 194 +- .../java/org/hl7/fhir/r5/model/Schedule.java | 109 +- .../hl7/fhir/r5/model/SearchParameter.java | 584 +- .../org/hl7/fhir/r5/model/ServiceRequest.java | 144 +- .../java/org/hl7/fhir/r5/model/Signature.java | 4 +- .../main/java/org/hl7/fhir/r5/model/Slot.java | 2 +- .../java/org/hl7/fhir/r5/model/Specimen.java | 303 +- .../hl7/fhir/r5/model/SpecimenDefinition.java | 339 +- .../fhir/r5/model/StructureDefinition.java | 363 +- .../org/hl7/fhir/r5/model/StructureMap.java | 250 +- .../org/hl7/fhir/r5/model/Subscription.java | 101 +- .../hl7/fhir/r5/model/SubscriptionStatus.java | 4 +- .../hl7/fhir/r5/model/SubscriptionTopic.java | 179 +- .../java/org/hl7/fhir/r5/model/Substance.java | 2 +- .../fhir/r5/model/SubstanceDefinition.java | 2 +- .../fhir/r5/model/SubstanceNucleicAcid.java | 2 +- .../hl7/fhir/r5/model/SubstancePolymer.java | 2 +- .../hl7/fhir/r5/model/SubstanceProtein.java | 2 +- .../model/SubstanceReferenceInformation.java | 2 +- .../r5/model/SubstanceSourceMaterial.java | 2 +- .../org/hl7/fhir/r5/model/SupplyDelivery.java | 174 +- .../org/hl7/fhir/r5/model/SupplyRequest.java | 2 +- .../main/java/org/hl7/fhir/r5/model/Task.java | 716 +- .../r5/model/TerminologyCapabilities.java | 1304 +- .../org/hl7/fhir/r5/model/TestReport.java | 2 +- .../org/hl7/fhir/r5/model/TestScript.java | 3967 +---- .../java/org/hl7/fhir/r5/model/Timing.java | 4 +- .../java/org/hl7/fhir/r5/model/Transport.java | 162 +- .../hl7/fhir/r5/model/TriggerDefinition.java | 138 +- .../org/hl7/fhir/r5/model/TypeConvertor.java | 24 +- .../org/hl7/fhir/r5/model/UsageContext.java | 4 +- .../java/org/hl7/fhir/r5/model/ValueSet.java | 1618 +- .../hl7/fhir/r5/model/VerificationResult.java | 4 +- .../fhir/r5/model/VirtualServiceDetail.java | 559 + .../hl7/fhir/r5/model/VisionPrescription.java | 12 +- .../hl7/fhir/r5/openapi/OpenApiGenerator.java | 2 +- .../hl7/fhir/r5/renderers/BundleRenderer.java | 2 +- .../hl7/fhir/r5/renderers/DataRenderer.java | 8 +- .../r5/renderers/SearchParameterRenderer.java | 12 +- .../fhir/r5/utils/GraphDefinitionEngine.java | 2 +- .../java/org/hl7/fhir/r5/utils/IGHelper.java | 8 +- .../hl7/fhir/r5/test/GraphQLEngineTests.java | 5 +- 318 files changed, 85640 insertions(+), 42720 deletions(-) create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActorDefinition.java create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Availability.java delete mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement2.java create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GenomicStudy.java create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MonetaryComponent.java create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestOrchestration.java create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java create mode 100644 org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VirtualServiceDetail.java diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java index 2b8036620..53d44ac93 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java @@ -130,12 +130,12 @@ public class SearchParameterAnalysis implements IPackageVisitorProcessor { for (org.hl7.fhir.r5.model.Bundle.BundleEntryComponent bnd : ((org.hl7.fhir.r5.model.Bundle) res).getEntry()) { if (bnd.getResource() != null && bnd.getResource() instanceof org.hl7.fhir.r5.model.SearchParameter) { org.hl7.fhir.r5.model.SearchParameter sp = (org.hl7.fhir.r5.model.SearchParameter) bnd.getResource(); - analysis.seeUsage(core, sp.getTypeElement().primitiveValue(), sp.getXpathUsageElement().primitiveValue(), sp.getUrl()); + analysis.seeUsage(core, sp.getTypeElement().primitiveValue(), sp.getProcessingModeElement().primitiveValue(), sp.getUrl()); } } } else { org.hl7.fhir.r5.model.SearchParameter sp = (org.hl7.fhir.r5.model.SearchParameter) res; - analysis.seeUsage(core, sp.getTypeElement().primitiveValue(), sp.getXpathUsageElement().primitiveValue(), sp.getUrl()); + analysis.seeUsage(core, sp.getTypeElement().primitiveValue(), sp.getProcessingModeElement().primitiveValue(), sp.getUrl()); } } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java index 4163b1c57..674a4e6ad 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java @@ -372,7 +372,7 @@ public class ElementDefinition10_50 { ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); if (src.hasKeyElement()) tgt.setKeyElement(Id10_50.convertId(src.getKeyElement())); if (src.hasRequirementsElement()) - tgt.setRequirementsElement(String10_50.convertString(src.getRequirementsElement())); + tgt.setRequirementsElement(String10_50.convertStringToMarkdown(src.getRequirementsElement())); if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); if (src.hasHumanElement()) tgt.setHumanElement(String10_50.convertString(src.getHumanElement())); tgt.setExpression(ToolingExtensions.readStringExtension(src, ToolingExtensions.EXT_EXPRESSION)); @@ -444,7 +444,7 @@ public class ElementDefinition10_50 { ElementDefinition.ElementDefinitionBindingComponent tgt = new ElementDefinition.ElementDefinitionBindingComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); if (src.hasStrength()) tgt.setStrengthElement(Enumerations10_50.convertBindingStrength(src.getStrengthElement())); - if (src.hasDescriptionElement()) tgt.setDescriptionElement(String10_50.convertString(src.getDescriptionElement())); + if (src.hasDescriptionElement()) tgt.setDescriptionElement(String10_50.convertStringToMarkdown(src.getDescriptionElement())); if (src.hasValueSet()) { org.hl7.fhir.r5.model.DataType vs = ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().convertType(src.getValueSet()); if (vs != null) { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/SampledData10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/SampledData10_50.java index c472ec91e..2e7ce8f79 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/SampledData10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/SampledData10_50.java @@ -12,7 +12,7 @@ public class SampledData10_50 { org.hl7.fhir.r5.model.SampledData tgt = new org.hl7.fhir.r5.model.SampledData(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity10_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriodElement()) tgt.setPeriodElement(Decimal10_50.convertDecimal(src.getPeriodElement())); + if (src.hasPeriodElement()) tgt.setIntervalElement(Decimal10_50.convertDecimal(src.getPeriodElement())); if (src.hasFactorElement()) tgt.setFactorElement(Decimal10_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimitElement()) tgt.setLowerLimitElement(Decimal10_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimitElement()) tgt.setUpperLimitElement(Decimal10_50.convertDecimal(src.getUpperLimitElement())); @@ -27,7 +27,7 @@ public class SampledData10_50 { org.hl7.fhir.dstu2.model.SampledData tgt = new org.hl7.fhir.dstu2.model.SampledData(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity10_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriodElement()) tgt.setPeriodElement(Decimal10_50.convertDecimal(src.getPeriodElement())); + if (src.hasIntervalElement()) tgt.setPeriodElement(Decimal10_50.convertDecimal(src.getIntervalElement())); if (src.hasFactorElement()) tgt.setFactorElement(Decimal10_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimitElement()) tgt.setLowerLimitElement(Decimal10_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimitElement()) tgt.setUpperLimitElement(Decimal10_50.convertDecimal(src.getUpperLimitElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java index 07afc2a77..fb6c66c5c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java @@ -5,6 +5,7 @@ import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Signature10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; import org.hl7.fhir.utilities.FhirPublication; public class Bundle10_50 { @@ -195,7 +196,7 @@ public class Bundle10_50 { org.hl7.fhir.r5.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r5.model.Bundle.BundleLinkComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); if (src.hasRelationElement()) - tgt.setRelationElement(String10_50.convertString(src.getRelationElement())); + tgt.setRelation(LinkRelationTypes.fromCode(src.getRelation())); if (src.hasUrlElement()) tgt.setUrlElement(Uri10_50.convertUri(src.getUrlElement())); return tgt; @@ -207,7 +208,7 @@ public class Bundle10_50 { org.hl7.fhir.dstu2.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.dstu2.model.Bundle.BundleLinkComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); if (src.hasRelationElement()) - tgt.setRelationElement(String10_50.convertString(src.getRelationElement())); + tgt.setRelation((src.getRelation().toCode())); if (src.hasUrlElement()) tgt.setUrlElement(Uri10_50.convertUri(src.getUrlElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java index 964affc1f..a40e2da7b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java @@ -9,6 +9,7 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identi import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.exceptions.FHIRException; import java.util.Collections; @@ -21,7 +22,7 @@ public class Composition10_50 { org.hl7.fhir.r5.model.Composition tgt = new org.hl7.fhir.r5.model.Composition(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier10_50.convertIdentifier(src.getIdentifier())); + tgt.addIdentifier(Identifier10_50.convertIdentifier(src.getIdentifier())); if (src.hasDate()) tgt.setDateElement(DateTime10_50.convertDateTime(src.getDateElement())); if (src.hasType()) @@ -34,12 +35,12 @@ public class Composition10_50 { tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); try { if (src.hasConfidentiality()) - tgt.setConfidentiality(src.getConfidentiality()); + tgt.getMeta().addSecurity().setCodeElement(Code43_50.convertCode(src.getConfidentialityElement())); } catch (org.hl7.fhir.exceptions.FHIRException e) { throw new FHIRException(e); } if (src.hasSubject()) - tgt.setSubject(Reference10_50.convertReference(src.getSubject())); + tgt.addSubject(Reference10_50.convertReference(src.getSubject())); for (org.hl7.fhir.dstu2.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference10_50.convertReference(t)); for (org.hl7.fhir.dstu2.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); @@ -60,7 +61,7 @@ public class Composition10_50 { org.hl7.fhir.dstu2.model.Composition tgt = new org.hl7.fhir.dstu2.model.Composition(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier10_50.convertIdentifier(src.getIdentifier())); + tgt.setIdentifier(Identifier10_50.convertIdentifier(src.getIdentifierFirstRep())); if (src.hasDate()) tgt.setDateElement(DateTime10_50.convertDateTime(src.getDateElement())); if (src.hasType()) @@ -71,9 +72,9 @@ public class Composition10_50 { tgt.setTitleElement(String10_50.convertString(src.getTitleElement())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); - tgt.setConfidentiality(src.getConfidentiality()); + tgt.setConfidentiality(src.getMeta().getSecurityFirstRep().getCode()); if (src.hasSubject()) - tgt.setSubject(Reference10_50.convertReference(src.getSubject())); + tgt.setSubject(Reference10_50.convertReference(src.getSubjectFirstRep())); for (org.hl7.fhir.r5.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference10_50.convertReference(t)); for (org.hl7.fhir.r5.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java index ba2973125..e9faf46ff 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java @@ -713,26 +713,26 @@ public class Conformance10_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityModeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); switch (src.getValue()) { case CLIENT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.CLIENT); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.CLIENT); break; case SERVER: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.SERVER); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.SERVER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.NULL); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.NULL); break; } return tgt; } - static public org.hl7.fhir.dstu2.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu2.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu2.model.Enumeration tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.Conformance.RestfulConformanceModeEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DetectedIssue10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DetectedIssue10_50.java index e04a2079c..f7c98e686 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DetectedIssue10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DetectedIssue10_50.java @@ -16,8 +16,8 @@ public class DetectedIssue10_50 { return null; org.hl7.fhir.dstu2.model.DetectedIssue tgt = new org.hl7.fhir.dstu2.model.DetectedIssue(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt); - if (src.hasPatient()) - tgt.setPatient(Reference10_50.convertReference(src.getPatient())); + if (src.hasSubject()) + tgt.setPatient(Reference10_50.convertReference(src.getSubject())); if (src.hasCode()) tgt.setCategory(CodeableConcept10_50.convertCodeableConcept(src.getCode())); if (src.hasSeverity()) @@ -44,7 +44,7 @@ public class DetectedIssue10_50 { org.hl7.fhir.r5.model.DetectedIssue tgt = new org.hl7.fhir.r5.model.DetectedIssue(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyDomainResource(src, tgt); if (src.hasPatient()) - tgt.setPatient(Reference10_50.convertReference(src.getPatient())); + tgt.setSubject(Reference10_50.convertReference(src.getPatient())); if (src.hasCategory()) tgt.setCode(CodeableConcept10_50.convertCodeableConcept(src.getCategory())); if (src.hasSeverity()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DiagnosticReport10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DiagnosticReport10_50.java index 6d227f0d0..d19be176f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DiagnosticReport10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DiagnosticReport10_50.java @@ -34,8 +34,6 @@ public class DiagnosticReport10_50 { tgt.setIssuedElement(Instant10_50.convertInstant(src.getIssuedElement())); for (org.hl7.fhir.dstu2.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference10_50.convertReference(t)); for (org.hl7.fhir.dstu2.model.Reference t : src.getResult()) tgt.addResult(Reference10_50.convertReference(t)); - for (org.hl7.fhir.dstu2.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference10_50.convertReference(t)); for (org.hl7.fhir.dstu2.model.DiagnosticReport.DiagnosticReportImageComponent t : src.getImage()) tgt.addMedia(convertDiagnosticReportImageComponent(t)); if (src.hasConclusionElement()) @@ -70,8 +68,6 @@ public class DiagnosticReport10_50 { tgt.setIssuedElement(Instant10_50.convertInstant(src.getIssuedElement())); for (org.hl7.fhir.r5.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference10_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getResult()) tgt.addResult(Reference10_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference10_50.convertReference(t)); for (org.hl7.fhir.r5.model.DiagnosticReport.DiagnosticReportMediaComponent t : src.getMedia()) tgt.addImage(convertDiagnosticReportImageComponent(t)); if (src.hasConclusionElement()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java index 60bf0aa37..cb92a443e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java @@ -155,8 +155,8 @@ public class DocumentReference10_50 { tgt.setFacilityType(CodeableConcept10_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept10_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference10_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference10_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.r5.model.Reference t : src.getRelated()) // tgt.addRelated(convertDocumentReferenceContextRelatedComponent(t)); } @@ -172,8 +172,8 @@ public class DocumentReference10_50 { tgt.setFacilityType(CodeableConcept10_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept10_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference10_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference10_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.dstu2.model.DocumentReference.DocumentReferenceContextRelatedComponent t : src.getRelated()) // tgt.addRelated(convertDocumentReferenceContextRelatedComponent(t)); } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Encounter10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Encounter10_50.java index 8be6b75f1..c78219419 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Encounter10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Encounter10_50.java @@ -21,7 +21,7 @@ public class Encounter10_50 { if (src.hasStatus()) tgt.setStatusElement(convertEncounterState(src.getStatusElement())); if (src.hasClass_()) - tgt.setClass_( convertEncounterClass(src.getClass_().getCodingFirstRep())); + tgt.setClass_( convertEncounterClass(src.getClass_FirstRep().getCodingFirstRep())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept10_50.convertCodeableConcept(t)); if (src.hasPriority()) @@ -43,8 +43,8 @@ public class Encounter10_50 { for (CodeableReference t : src.getReason()) if (t.hasConcept()) tgt.addReason(CodeableConcept10_50.convertCodeableConcept(t.getConcept())); - if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + if (src.hasAdmission()) + tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getAdmission())); for (org.hl7.fhir.r5.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -64,7 +64,7 @@ public class Encounter10_50 { if (src.hasStatus()) tgt.setStatusElement(convertEncounterState(src.getStatusElement())); if (src.hasClass_()) - tgt.setClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(convertEncounterClass(src.getClass_()))); + tgt.addClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(convertEncounterClass(src.getClass_()))); for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept10_50.convertCodeableConcept(t)); if (src.hasPriority()) @@ -86,7 +86,7 @@ public class Encounter10_50 { for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getReason()) tgt.addReason(CodeableConcept10_50.convertCodeableConceptToCodableReference(t)); if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + tgt.setAdmission(convertEncounterHospitalizationComponent(src.getHospitalization())); for (org.hl7.fhir.dstu2.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -143,10 +143,10 @@ public class Encounter10_50 { } } - public static org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.dstu2.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent convertEncounterHospitalizationComponent(org.hl7.fhir.dstu2.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent(); + org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); if (src.hasPreAdmissionIdentifier()) tgt.setPreAdmissionIdentifier(Identifier10_50.convertIdentifier(src.getPreAdmissionIdentifier())); @@ -169,7 +169,7 @@ public class Encounter10_50 { return tgt; } - public static org.hl7.fhir.dstu2.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.dstu2.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu2.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.dstu2.model.Encounter.EncounterHospitalizationComponent(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Group10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Group10_50.java index 0a12e70cb..c5ba568f0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Group10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Group10_50.java @@ -9,6 +9,7 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Bool import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.UnsignedInt10_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Group.GroupMembershipBasis; public class Group10_50 { @@ -21,8 +22,8 @@ public class Group10_50 { tgt.addIdentifier(Identifier10_50.convertIdentifier(t)); if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); - if (src.hasActualElement()) - tgt.setActualElement(Boolean10_50.convertBoolean(src.getActualElement())); + if (src.hasMembership()) + tgt.setActual(src.getMembership() == GroupMembershipBasis.ENUMERATED); if (src.hasCode()) tgt.setCode(CodeableConcept10_50.convertCodeableConcept(src.getCode())); if (src.hasNameElement()) @@ -46,7 +47,7 @@ public class Group10_50 { if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); if (src.hasActualElement()) - tgt.setActualElement(Boolean10_50.convertBoolean(src.getActualElement())); + tgt.setMembership(src.getActual() ? GroupMembershipBasis.ENUMERATED : GroupMembershipBasis.DEFINITIONAL); if (src.hasCode()) tgt.setCode(CodeableConcept10_50.convertCodeableConcept(src.getCode())); if (src.hasNameElement()) @@ -138,12 +139,6 @@ public class Group10_50 { case DEVICE: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.NULL); break; @@ -169,12 +164,6 @@ public class Group10_50 { case DEVICE: tgt.setValue(org.hl7.fhir.dstu2.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.dstu2.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.dstu2.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.dstu2.model.Group.GroupType.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java index 048e5abae..9bb75272e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java @@ -7,6 +7,7 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Bool import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Time10_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; import java.util.stream.Collectors; @@ -101,7 +102,8 @@ public class HealthcareService10_50 { tgt.setExtraDetails(src.getExtraDetails()); if (src.hasPhoto()) tgt.setPhoto(Attachment10_50.convertAttachment(src.getPhoto())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference10_50.convertReference(t)); @@ -119,12 +121,12 @@ public class HealthcareService10_50 { tgt.addReferralMethod(CodeableConcept10_50.convertCodeableConcept(t)); if (src.hasAppointmentRequiredElement()) tgt.setAppointmentRequiredElement(Boolean10_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptionsElement()) - tgt.setAvailabilityExceptionsElement(String10_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptionsElement()) +// tgt.setAvailabilityExceptionsElement(String10_50.convertString(src.getAvailabilityExceptionsElement())); return tgt; } @@ -150,7 +152,7 @@ public class HealthcareService10_50 { if (src.hasPhoto()) tgt.setPhoto(Attachment10_50.convertAttachment(src.getPhoto())); for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint10_50.convertContactPoint(t)); for (org.hl7.fhir.dstu2.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference10_50.convertReference(t)); for (org.hl7.fhir.dstu2.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -166,70 +168,70 @@ public class HealthcareService10_50 { tgt.addReferralMethod(CodeableConcept10_50.convertCodeableConcept(t)); if (src.hasAppointmentRequiredElement()) tgt.setAppointmentRequiredElement(Boolean10_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptionsElement()) - tgt.setAvailabilityExceptionsElement(String10_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptionsElement()) +// tgt.setAvailabilityExceptionsElement(String10_50.convertString(src.getAvailabilityExceptionsElement())); return tgt; } - public static org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService10_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDayElement()) - tgt.setAllDayElement(Boolean10_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTimeElement()) - tgt.setAvailableStartTimeElement(Time10_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTimeElement()) - tgt.setAvailableEndTimeElement(Time10_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService10_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDayElement()) - tgt.setAllDayElement(Boolean10_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTimeElement()) - tgt.setAvailableStartTimeElement(Time10_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTimeElement()) - tgt.setAvailableEndTimeElement(Time10_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); - if (src.hasDescriptionElement()) - tgt.setDescriptionElement(String10_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period10_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); - if (src.hasDescriptionElement()) - tgt.setDescriptionElement(String10_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period10_50.convertPeriod(src.getDuring())); - return tgt; - } +// public static org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService10_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDayElement()) +// tgt.setAllDayElement(Boolean10_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTimeElement()) +// tgt.setAvailableStartTimeElement(Time10_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTimeElement()) +// tgt.setAvailableEndTimeElement(Time10_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService10_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDayElement()) +// tgt.setAllDayElement(Boolean10_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTimeElement()) +// tgt.setAvailableStartTimeElement(Time10_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTimeElement()) +// tgt.setAvailableEndTimeElement(Time10_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); +// if (src.hasDescriptionElement()) +// tgt.setDescriptionElement(String10_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period10_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.dstu2.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); +// if (src.hasDescriptionElement()) +// tgt.setDescriptionElement(String10_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period10_50.convertPeriod(src.getDuring())); +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java index 24ffdbc72..80c4db629 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java @@ -212,8 +212,8 @@ public class ImplementationGuide10_50 { return null; org.hl7.fhir.dstu2.model.ImplementationGuide.ImplementationGuidePackageResourceComponent tgt = new org.hl7.fhir.dstu2.model.ImplementationGuide.ImplementationGuidePackageResourceComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); - if (src.hasExampleCanonicalType()) - tgt.setExampleFor(Reference10_50.convertCanonicalToReference(src.getExampleCanonicalType())); + if (src.hasProfile()) + tgt.setExampleFor(Reference10_50.convertCanonicalToReference(src.getProfile().get(0))); if (src.hasName()) tgt.setNameElement(String10_50.convertString(src.getNameElement())); if (src.hasDescription()) @@ -229,7 +229,7 @@ public class ImplementationGuide10_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); if (src.hasExampleFor()) - tgt.setExample(Reference10_50.convertReferenceToCanonical(src.getExampleFor())); + tgt.getProfile().add(Reference10_50.convertReferenceToCanonical(src.getExampleFor())); if (src.hasName()) tgt.setNameElement(String10_50.convertString(src.getNameElement())); if (src.hasDescription()) @@ -248,7 +248,7 @@ public class ImplementationGuide10_50 { ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); if (src.hasSource()) { if (src.hasSourceElement()) - tgt.setName(convertUriToUrl(src.getSourceElement())); + tgt.setName(src.getSource()); } if (src.hasNameElement()) tgt.setTitleElement(String10_50.convertString(src.getNameElement())); @@ -264,8 +264,8 @@ public class ImplementationGuide10_50 { return null; org.hl7.fhir.dstu2.model.ImplementationGuide.ImplementationGuidePageComponent tgt = new org.hl7.fhir.dstu2.model.ImplementationGuide.ImplementationGuidePageComponent(); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyBackboneElement(src,tgt); - if (src.hasNameUrlType()) - tgt.setSource(src.getNameUrlType().getValue()); + if (src.hasName()) + tgt.setSource(src.getName()); if (src.hasTitleElement()) tgt.setNameElement(String10_50.convertString(src.getTitleElement())); if (src.hasGeneration()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Location10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Location10_50.java index ff8e64cfe..911cb3f59 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Location10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Location10_50.java @@ -9,6 +9,8 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identi import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Decimal10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ContactPoint; +import org.hl7.fhir.r5.model.ExtendedContactDetail; public class Location10_50 { @@ -29,12 +31,13 @@ public class Location10_50 { tgt.setModeElement(convertLocationMode(src.getModeElement())); if (src.hasType()) tgt.setType(CodeableConcept10_50.convertCodeableConcept(src.getTypeFirstRep())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address10_50.convertAddress(src.getAddress())); - if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept10_50.convertCodeableConcept(src.getPhysicalType())); + if (src.hasForm()) + tgt.setPhysicalType(CodeableConcept10_50.convertCodeableConcept(src.getForm())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) @@ -62,11 +65,11 @@ public class Location10_50 { if (src.hasType()) tgt.addType(CodeableConcept10_50.convertCodeableConcept(src.getType())); for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint10_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address10_50.convertAddress(src.getAddress())); if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept10_50.convertCodeableConcept(src.getPhysicalType())); + tgt.setForm(CodeableConcept10_50.convertCodeableConcept(src.getPhysicalType())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java index a82f595ae..e0bf5c1ca 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java @@ -10,7 +10,7 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes; +import org.hl7.fhir.r5.model.Enumerations.FHIRTypes; import org.hl7.fhir.r5.model.Enumerations.SearchParamType; import org.hl7.fhir.utilities.Utilities; @@ -180,14 +180,14 @@ public class OperationDefinition10_50 { if (src.hasMaxElement()) tgt.setMaxElement(String10_50.convertString(src.getMaxElement())); if (src.hasDocumentationElement()) - tgt.setDocumentationElement(String10_50.convertString(src.getDocumentationElement())); + tgt.setDocumentationElement(String10_50.convertStringToMarkdown(src.getDocumentationElement())); if (Utilities.existsInList(src.getType(), "token", "reference", "composite", "number", "date", "quantity", "uri")) { - tgt.setType(FHIRAllTypes.STRING); + tgt.setType(Enumerations.FHIRTypes.STRING); if (src.hasType()) tgt.setSearchType(SearchParamType.fromCode(src.getType())); } else { if (src.hasType()) - tgt.setType(Enumerations.FHIRAllTypes.fromCode(src.getType())); + tgt.setType(Enumerations.FHIRTypes.fromCode(src.getType())); } tgt.addTargetProfile(src.getProfile().getReference()); if (src.hasBinding()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java index 2a5839caf..b0dc63263 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java @@ -6,6 +6,7 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; public class Organization10_50 { @@ -23,7 +24,7 @@ public class Organization10_50 { if (src.hasNameElement()) tgt.setNameElement(String10_50.convertString(src.getNameElement())); for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint10_50.convertContactPoint(t)); for (org.hl7.fhir.dstu2.model.Address t : src.getAddress()) tgt.addAddress(Address10_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference10_50.convertReference(src.getPartOf())); @@ -45,8 +46,9 @@ public class Organization10_50 { tgt.setType(CodeableConcept10_50.convertCodeableConcept(src.getTypeFirstRep())); if (src.hasNameElement()) tgt.setNameElement(String10_50.convertString(src.getNameElement())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address10_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference10_50.convertReference(src.getPartOf())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java index 2115a435c..4eb1f97df 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java @@ -6,6 +6,9 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class SearchParameter10_50 { @@ -32,16 +35,16 @@ public class SearchParameter10_50 { tgt.setRequirements(src.getPurpose()); if (src.hasCodeElement()) tgt.setCodeElement(Code10_50.convertCode(src.getCodeElement())); - for (CodeType t : src.getBase()) tgt.setBase(t.asStringValue()); + for (Enumeration t : src.getBase()) tgt.setBase(t.asStringValue()); if (src.hasType()) tgt.setTypeElement(Enumerations10_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) tgt.setDescription(src.getDescription()); org.hl7.fhir.dstu2.utils.ToolingExtensions.setStringExtension(tgt, ToolingExtensions.EXT_EXPRESSION, src.getExpression()); - if (src.hasXpathElement()) - tgt.setXpathElement(String10_50.convertString(src.getXpathElement())); - if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); +// if (src.hasXpathElement()) +// tgt.setXpathElement(String10_50.convertString(src.getXpathElement())); + if (src.hasProcessingMode()) + tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); for (CodeType t : src.getTarget()) tgt.addTarget(t.getValue()); return tgt; } @@ -69,16 +72,16 @@ public class SearchParameter10_50 { tgt.setPurpose(src.getRequirements()); if (src.hasCodeElement()) tgt.setCodeElement(Code10_50.convertCode(src.getCodeElement())); - tgt.addBase(src.getBase()); + tgt.addBase(Enumerations.AllResourceTypes.fromCode(src.getBase())); if (src.hasType()) tgt.setTypeElement(Enumerations10_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) tgt.setDescription(src.getDescription()); tgt.setExpression(ToolingExtensions.readStringExtension(src, ToolingExtensions.EXT_EXPRESSION)); - if (src.hasXpathElement()) - tgt.setXpathElement(String10_50.convertString(src.getXpathElement())); +// if (src.hasXpathElement()) +// tgt.setXpathElement(String10_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); + tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); for (org.hl7.fhir.dstu2.model.CodeType t : src.getTarget()) tgt.addTarget(t.getValue()); return tgt; } @@ -107,35 +110,35 @@ public class SearchParameter10_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.XPathUsageTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeTypeEnumFactory()); ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); switch (src.getValue()) { case NORMAL: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NORMAL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NORMAL); break; case PHONETIC: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.PHONETIC); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.PHONETIC); break; case NEARBY: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case DISTANCE: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case OTHER: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NULL); break; } return tgt; } - static public org.hl7.fhir.dstu2.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu2.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu2.model.Enumeration tgt = new org.hl7.fhir.dstu2.model.Enumeration<>(new org.hl7.fhir.dstu2.model.SearchParameter.XPathUsageTypeEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java index 0eef2ddd6..a4025b56a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java @@ -286,7 +286,7 @@ public class TestScript10_50 { if (src.hasPathElement()) tgt.setPathElement(String10_50.convertString(src.getPathElement())); if (src.hasResource()) - tgt.setResource(TestScript.FHIRDefinedType.fromCode(src.getResource())); + tgt.setResource(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCodeElement()) @@ -329,7 +329,7 @@ public class TestScript10_50 { tgt.setOperatorElement(convertAssertionOperatorType(src.getOperatorElement())); if (src.hasPathElement()) tgt.setPathElement(String10_50.convertString(src.getPathElement())); - tgt.setResource(src.getResource().toCode()); + tgt.setResource(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCodeElement()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java index 5fcd024b0..6ca4afd90 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java @@ -486,7 +486,7 @@ public class ElementDefinition14_50 { org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyElement(src, tgt); if (src.hasKeyElement()) tgt.setKeyElement(Id14_50.convertId(src.getKeyElement())); - if (src.hasRequirements()) tgt.setRequirementsElement(String14_50.convertString(src.getRequirementsElement())); + if (src.hasRequirements()) tgt.setRequirementsElement(String14_50.convertStringToMarkdown(src.getRequirementsElement())); if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); if (src.hasHumanElement()) tgt.setHumanElement(String14_50.convertString(src.getHumanElement())); if (src.hasExpression()) tgt.setExpression(convertToR4Expression(src.getExpression())); @@ -556,7 +556,7 @@ public class ElementDefinition14_50 { org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyElement(src, tgt); if (src.hasStrength()) tgt.setStrengthElement(Enumerations14_50.convertBindingStrength(src.getStrengthElement())); - if (src.hasDescription()) tgt.setDescriptionElement(String14_50.convertString(src.getDescriptionElement())); + if (src.hasDescription()) tgt.setDescriptionElement(String14_50.convertStringToMarkdown(src.getDescriptionElement())); if (src.hasValueSet()) { org.hl7.fhir.r5.model.DataType t = ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().convertType(src.getValueSet()); if (t instanceof org.hl7.fhir.r5.model.Reference) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/SampledData14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/SampledData14_50.java index 38f39c265..6e5223d33 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/SampledData14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/SampledData14_50.java @@ -12,7 +12,7 @@ public class SampledData14_50 { org.hl7.fhir.r5.model.SampledData tgt = new org.hl7.fhir.r5.model.SampledData(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity14_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriodElement()) tgt.setPeriodElement(Decimal14_50.convertDecimal(src.getPeriodElement())); + if (src.hasPeriodElement()) tgt.setIntervalElement(Decimal14_50.convertDecimal(src.getPeriodElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal14_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal14_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal14_50.convertDecimal(src.getUpperLimitElement())); @@ -27,7 +27,7 @@ public class SampledData14_50 { org.hl7.fhir.dstu2016may.model.SampledData tgt = new org.hl7.fhir.dstu2016may.model.SampledData(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity14_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriodElement()) tgt.setPeriodElement(Decimal14_50.convertDecimal(src.getPeriodElement())); + if (src.hasIntervalElement()) tgt.setPeriodElement(Decimal14_50.convertDecimal(src.getIntervalElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal14_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal14_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal14_50.convertDecimal(src.getUpperLimitElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java index a3083f7a1..55a1785e2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java @@ -4,6 +4,7 @@ import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Signature14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; public class Bundle14_50 { @@ -183,7 +184,7 @@ public class Bundle14_50 { org.hl7.fhir.dstu2016may.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.dstu2016may.model.Bundle.BundleLinkComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyBackboneElement(src,tgt); if (src.hasRelationElement()) - tgt.setRelationElement(String14_50.convertString(src.getRelationElement())); + tgt.setRelation((src.getRelation().toCode())); if (src.hasUrlElement()) tgt.setUrlElement(Uri14_50.convertUri(src.getUrlElement())); return tgt; @@ -195,7 +196,7 @@ public class Bundle14_50 { org.hl7.fhir.r5.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r5.model.Bundle.BundleLinkComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyBackboneElement(src,tgt); if (src.hasRelationElement()) - tgt.setRelationElement(String14_50.convertString(src.getRelationElement())); + tgt.setRelation(LinkRelationTypes.fromCode(src.getRelation())); if (src.hasUrlElement()) tgt.setUrlElement(Uri14_50.convertUri(src.getUrlElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java index c570211c7..d56d89b15 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java @@ -701,26 +701,26 @@ public class Conformance14_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.dstu2016may.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.dstu2016may.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityModeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyElement(src, tgt); switch (src.getValue()) { case CLIENT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.CLIENT); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.CLIENT); break; case SERVER: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.SERVER); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.SERVER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.NULL); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.NULL); break; } return tgt; } - static public org.hl7.fhir.dstu2016may.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu2016may.model.Enumeration convertRestfulConformanceMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu2016may.model.Enumeration tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.Conformance.RestfulConformanceModeEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java index c22072a47..5ce47d596 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java @@ -6,6 +6,7 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Reference14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.dstu2016may.model.ImplementationGuide; import org.hl7.fhir.dstu2016may.model.ImplementationGuide.GuidePageKind; import org.hl7.fhir.exceptions.FHIRException; @@ -223,12 +224,11 @@ public class ImplementationGuide14_50 { return null; org.hl7.fhir.dstu2016may.model.ImplementationGuide.ImplementationGuidePackageResourceComponent tgt = new org.hl7.fhir.dstu2016may.model.ImplementationGuide.ImplementationGuidePackageResourceComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyBackboneElement(src,tgt); - if (src.hasExampleCanonicalType()) { - if (src.hasExampleCanonicalType()) - tgt.setExampleFor(Reference14_50.convertCanonicalToReference(src.getExampleCanonicalType())); + if (src.hasProfile()) { + tgt.setExampleFor(Reference14_50.convertCanonicalToReference(src.getProfile().get(0))); tgt.setExample(true); - } else if (src.hasExampleBooleanType()) - tgt.setExample(src.getExampleBooleanType().getValue()); + } else if (src.hasIsExample()) + tgt.setExample(src.getIsExample()); else tgt.setExample(false); if (src.hasName()) @@ -246,10 +246,9 @@ public class ImplementationGuide14_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyBackboneElement(src,tgt); if (src.hasExampleFor()) { - DataType t = ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().convertType(src.getExampleFor()); - tgt.setExample(t instanceof org.hl7.fhir.r5.model.Reference ? new CanonicalType(((org.hl7.fhir.r5.model.Reference) t).getReference()) : t); + tgt.getProfile().add(Reference14_50.convertReferenceToCanonical(src.getExampleFor())); } else if (src.hasExample()) - tgt.setExample(new org.hl7.fhir.r5.model.BooleanType(src.getExample())); + tgt.setIsExampleElement(new org.hl7.fhir.r5.model.BooleanType(src.getExample())); if (src.hasName()) tgt.setNameElement(String14_50.convertString(src.getNameElement())); if (src.hasDescription()) @@ -266,8 +265,8 @@ public class ImplementationGuide14_50 { return null; org.hl7.fhir.dstu2016may.model.ImplementationGuide.ImplementationGuidePageComponent tgt = new org.hl7.fhir.dstu2016may.model.ImplementationGuide.ImplementationGuidePageComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyBackboneElement(src,tgt); - if (src.hasNameUrlType()) - tgt.setSource(src.getNameUrlType().getValue()); + if (src.hasName()) + tgt.setSource(src.getName()); if (src.hasTitleElement()) tgt.setNameElement(String14_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -283,7 +282,7 @@ public class ImplementationGuide14_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyBackboneElement(src,tgt); if (src.hasSource()) - tgt.setName(convertUriToUrl(src.getSourceElement())); + tgt.setNameElement(convertUriToUrl(src.getSourceElement())); if (src.hasNameElement()) tgt.setTitleElement(String14_50.convertString(src.getNameElement())); if (src.hasKind()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java index 46b76301e..f23a0ecbe 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java @@ -217,9 +217,9 @@ public class OperationDefinition14_50 { if (src.hasMaxElement()) tgt.setMaxElement(String14_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) - tgt.setDocumentationElement(String14_50.convertString(src.getDocumentationElement())); + tgt.setDocumentationElement(String14_50.convertStringToMarkdown(src.getDocumentationElement())); if (src.hasType()) - tgt.setType(Enumerations.FHIRAllTypes.fromCode(src.getType())); + tgt.setType(Enumerations.FHIRTypes.fromCode(src.getType())); if (src.hasSearchType()) tgt.setSearchTypeElement(Enumerations14_50.convertSearchParamType(src.getSearchTypeElement())); tgt.addTargetProfile(src.getProfile().getReference()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java index 1fbf578dc..191416a88 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java @@ -7,6 +7,9 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Contac import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class SearchParameter14_50 { @@ -38,17 +41,17 @@ public class SearchParameter14_50 { tgt.setRequirements(src.getPurpose()); if (src.hasCodeElement()) tgt.setCodeElement(Code14_50.convertCode(src.getCodeElement())); - for (CodeType t : src.getBase()) tgt.setBase(t.asStringValue()); + for (Enumeration t : src.getBase()) tgt.setBase(t.asStringValue()); if (src.hasType()) tgt.setTypeElement(Enumerations14_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) tgt.setDescription(src.getDescription()); if (src.hasExpression()) tgt.setExpression(ElementDefinition14_50.convertTo2016MayExpression(src.getExpression())); - if (src.hasXpath()) - tgt.setXpathElement(String14_50.convertString(src.getXpathElement())); - if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String14_50.convertString(src.getXpathElement())); + if (src.hasProcessingMode()) + tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); for (CodeType t : src.getTarget()) tgt.addTarget(t.getValue()); return tgt; } @@ -81,17 +84,17 @@ public class SearchParameter14_50 { tgt.setPurpose(src.getRequirements()); if (src.hasCodeElement()) tgt.setCodeElement(Code14_50.convertCode(src.getCodeElement())); - tgt.addBase(src.getBase()); + tgt.addBase(Enumerations.AllResourceTypes.fromCode(src.getBase())); if (src.hasType()) tgt.setTypeElement(Enumerations14_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) tgt.setDescription(src.getDescription()); if (src.hasExpression()) tgt.setExpression(ElementDefinition14_50.convertToR4Expression(src.getExpression())); - if (src.hasXpath()) - tgt.setXpathElement(String14_50.convertString(src.getXpathElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String14_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); + tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); for (org.hl7.fhir.dstu2016may.model.CodeType t : src.getTarget()) tgt.addTarget(t.getValue()); return tgt; } @@ -120,7 +123,7 @@ public class SearchParameter14_50 { return tgt; } - static public org.hl7.fhir.dstu2016may.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu2016may.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu2016may.model.Enumeration tgt = new org.hl7.fhir.dstu2016may.model.Enumeration<>(new org.hl7.fhir.dstu2016may.model.SearchParameter.XPathUsageTypeEnumFactory()); @@ -143,29 +146,29 @@ public class SearchParameter14_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.dstu2016may.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.dstu2016may.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.XPathUsageTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeTypeEnumFactory()); ConversionContext14_50.INSTANCE.getVersionConvertor_14_50().copyElement(src, tgt); switch (src.getValue()) { case NORMAL: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NORMAL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NORMAL); break; case PHONETIC: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.PHONETIC); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.PHONETIC); break; case NEARBY: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case DISTANCE: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case OTHER: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NULL); break; } return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/DataRequirement30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/DataRequirement30_50.java index 696546a5c..3b5eb1ef9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/DataRequirement30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/DataRequirement30_50.java @@ -16,11 +16,11 @@ public class DataRequirement30_50 { ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt, VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME); if (src.hasType()) { if (src.hasExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME)) { - tgt.setType(Enumerations.FHIRAllTypes.fromCode(src.getExtensionString(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME))); + tgt.setType(Enumerations.FHIRTypes.fromCode(src.getExtensionString(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME))); } else { String n = VersionConvertorResourceNameMapper.mapName3to5(src.getType()); if (n != null) { - tgt.setType(Enumerations.FHIRAllTypes.fromCode(n)); + tgt.setType(Enumerations.FHIRTypes.fromCode(n)); } tgt.addExtension(VersionConvertorConstants.EXT_ACTUAL_RESOURCE_NAME, new org.hl7.fhir.r5.model.CodeType(src.getType())); } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java index ea475c06f..9dd84c33f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java @@ -548,7 +548,7 @@ public class ElementDefinition30_50 { ElementDefinition.ElementDefinitionConstraintComponent tgt = new ElementDefinition.ElementDefinitionConstraintComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); if (src.hasKey()) tgt.setKeyElement(Id30_50.convertId(src.getKeyElement())); - if (src.hasRequirements()) tgt.setRequirementsElement(String30_50.convertString(src.getRequirementsElement())); + if (src.hasRequirements()) tgt.setRequirementsElement(String30_50.convertStringToMarkdown(src.getRequirementsElement())); if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); if (src.hasHuman()) tgt.setHumanElement(String30_50.convertString(src.getHumanElement())); if (src.hasExpression()) tgt.setExpressionElement(String30_50.convertString(src.getExpressionElement())); @@ -620,7 +620,7 @@ public class ElementDefinition30_50 { ElementDefinition.ElementDefinitionBindingComponent tgt = new ElementDefinition.ElementDefinitionBindingComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt, VersionConvertor_30_50.EXT_SRC_TYPE); if (src.hasStrength()) tgt.setStrengthElement(Enumerations30_50.convertBindingStrength(src.getStrengthElement())); - if (src.hasDescription()) tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); + if (src.hasDescription()) tgt.setDescriptionElement(String30_50.convertStringToMarkdown(src.getDescriptionElement())); if (src.hasValueSet()) { DataType t = ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getValueSet()); if (t instanceof org.hl7.fhir.r5.model.Reference) { @@ -665,7 +665,7 @@ public class ElementDefinition30_50 { if (src.hasIdentity()) tgt.setIdentityElement(Id30_50.convertId(src.getIdentityElement())); if (src.hasLanguage()) tgt.setLanguageElement(Code30_50.convertCode(src.getLanguageElement())); if (src.hasMap()) tgt.setMapElement(String30_50.convertString(src.getMapElement())); - if (src.hasComment()) tgt.setCommentElement(String30_50.convertString(src.getCommentElement())); + if (src.hasComment()) tgt.setCommentElement(String30_50.convertStringToMarkdown(src.getCommentElement())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ParameterDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ParameterDefinition30_50.java index 8355b3641..fb9bc51e2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ParameterDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ParameterDefinition30_50.java @@ -16,7 +16,7 @@ public class ParameterDefinition30_50 { if (src.hasMin()) tgt.setMinElement(Integer30_50.convertInteger(src.getMinElement())); if (src.hasMax()) tgt.setMaxElement(String30_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) tgt.setDocumentationElement(String30_50.convertString(src.getDocumentationElement())); - if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(src.getType())); + if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.getType())); if (src.hasProfile()) { tgt.setProfile(Reference30_50.convertReference(src.getProfile()).getReference()); } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/SampledData30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/SampledData30_50.java index ac0d924e3..63ef2481c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/SampledData30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/SampledData30_50.java @@ -12,7 +12,7 @@ public class SampledData30_50 { org.hl7.fhir.r5.model.SampledData tgt = new org.hl7.fhir.r5.model.SampledData(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity30_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriod()) tgt.setPeriodElement(Decimal30_50.convertDecimal(src.getPeriodElement())); + if (src.hasPeriod()) tgt.setIntervalElement(Decimal30_50.convertDecimal(src.getPeriodElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal30_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal30_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal30_50.convertDecimal(src.getUpperLimitElement())); @@ -26,7 +26,7 @@ public class SampledData30_50 { org.hl7.fhir.dstu3.model.SampledData tgt = new org.hl7.fhir.dstu3.model.SampledData(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity30_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriod()) tgt.setPeriodElement(Decimal30_50.convertDecimal(src.getPeriodElement())); + if (src.hasInterval()) tgt.setPeriodElement(Decimal30_50.convertDecimal(src.getIntervalElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal30_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal30_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal30_50.convertDecimal(src.getUpperLimitElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Code30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Code30_50.java index 0a8c4c1f8..1aaeeaab7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Code30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Code30_50.java @@ -2,6 +2,8 @@ package org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class Code30_50 { public static org.hl7.fhir.r5.model.CodeType convertCode(org.hl7.fhir.dstu3.model.CodeType src) throws FHIRException { @@ -39,4 +41,14 @@ public class Code30_50 { ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); return tgt; } + + + public static org.hl7.fhir.r5.model.Enumeration convertResourceEnum(org.hl7.fhir.dstu3.model.CodeType src) { + return new Enumeration(new org.hl7.fhir.r5.model.Enumerations.AllResourceTypesEnumFactory(), src.getValue()); + } + + public static org.hl7.fhir.dstu3.model.CodeType convertResourceEnum(org.hl7.fhir.r5.model.Enumeration src) { + return new org.hl7.fhir.dstu3.model.CodeType(src.getCode()); + } + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java index cd2777c30..cc6eb49cd 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java @@ -5,6 +5,7 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identi import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Signature30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; public class Bundle30_50 { @@ -192,7 +193,7 @@ public class Bundle30_50 { org.hl7.fhir.r5.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r5.model.Bundle.BundleLinkComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasRelation()) - tgt.setRelationElement(String30_50.convertString(src.getRelationElement())); + tgt.setRelation(LinkRelationTypes.fromCode(src.getRelation())); if (src.hasUrl()) tgt.setUrlElement(Uri30_50.convertUri(src.getUrlElement())); return tgt; @@ -204,7 +205,7 @@ public class Bundle30_50 { org.hl7.fhir.dstu3.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.dstu3.model.Bundle.BundleLinkComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasRelation()) - tgt.setRelationElement(String30_50.convertString(src.getRelationElement())); + tgt.setRelation((src.getRelation().toCode())); if (src.hasUrl()) tgt.setUrlElement(Uri30_50.convertUri(src.getUrlElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java index df6ccb879..f4fedb71c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java @@ -878,7 +878,7 @@ public class CapabilityStatement30_50 { return tgt; } - static public org.hl7.fhir.dstu3.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu3.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); @@ -897,20 +897,20 @@ public class CapabilityStatement30_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityModeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); switch (src.getValue()) { case CLIENT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.CLIENT); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.CLIENT); break; case SERVER: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.SERVER); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.SERVER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.NULL); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.NULL); break; } return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java index 2481fb6b6..f906a022c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java @@ -10,6 +10,7 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identi import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.RelatedArtifact; @@ -23,7 +24,7 @@ public class Composition30_50 { org.hl7.fhir.r5.model.Composition tgt = new org.hl7.fhir.r5.model.Composition(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier30_50.convertIdentifier(src.getIdentifier())); + tgt.addIdentifier(Identifier30_50.convertIdentifier(src.getIdentifier())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); if (src.hasType()) @@ -31,7 +32,7 @@ public class Composition30_50 { if (src.hasClass_()) tgt.addCategory(CodeableConcept30_50.convertCodeableConcept(src.getClass_())); if (src.hasSubject()) - tgt.setSubject(Reference30_50.convertReference(src.getSubject())); + tgt.addSubject(Reference30_50.convertReference(src.getSubject())); if (src.hasEncounter()) tgt.setEncounter(Reference30_50.convertReference(src.getEncounter())); if (src.hasDate()) @@ -40,7 +41,7 @@ public class Composition30_50 { if (src.hasTitle()) tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); if (src.hasConfidentiality()) - tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getConfidentialityElement())); + tgt.getMeta().addSecurity().setCodeElement(Code30_50.convertCode(src.getConfidentialityElement())); for (org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -60,7 +61,7 @@ public class Composition30_50 { org.hl7.fhir.dstu3.model.Composition tgt = new org.hl7.fhir.dstu3.model.Composition(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier30_50.convertIdentifier(src.getIdentifier())); + tgt.setIdentifier(Identifier30_50.convertIdentifier(src.getIdentifierFirstRep())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); if (src.hasType()) @@ -68,7 +69,7 @@ public class Composition30_50 { if (src.hasCategory()) tgt.setClass_(CodeableConcept30_50.convertCodeableConcept(src.getCategoryFirstRep())); if (src.hasSubject()) - tgt.setSubject(Reference30_50.convertReference(src.getSubject())); + tgt.setSubject(Reference30_50.convertReference(src.getSubjectFirstRep())); if (src.hasEncounter()) tgt.setEncounter(Reference30_50.convertReference(src.getEncounter())); if (src.hasDate()) @@ -77,6 +78,8 @@ public class Composition30_50 { if (src.hasTitle()) tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); if (src.hasConfidentiality()) + tgt.setConfidentiality(src.getMeta().getSecurityFirstRep().getCode()); + tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getConfidentialityElement())); for (org.hl7.fhir.r5.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DetectedIssue30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DetectedIssue30_50.java index 826997444..d990fbefc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DetectedIssue30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DetectedIssue30_50.java @@ -24,8 +24,8 @@ public class DetectedIssue30_50 { tgt.setCategory(CodeableConcept30_50.convertCodeableConcept(src.getCode())); if (src.hasSeverity()) tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement())); - if (src.hasPatient()) - tgt.setPatient(Reference30_50.convertReference(src.getPatient())); + if (src.hasSubject()) + tgt.setPatient(Reference30_50.convertReference(src.getSubject())); if (src.hasIdentifiedDateTimeType()) tgt.setDateElement(DateTime30_50.convertDateTime(src.getIdentifiedDateTimeType())); if (src.hasAuthor()) @@ -54,7 +54,7 @@ public class DetectedIssue30_50 { if (src.hasSeverity()) tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement())); if (src.hasPatient()) - tgt.setPatient(Reference30_50.convertReference(src.getPatient())); + tgt.setSubject(Reference30_50.convertReference(src.getPatient())); if (src.hasDate()) tgt.setIdentified(DateTime30_50.convertDateTime(src.getDateElement())); if (src.hasAuthor()) @@ -142,73 +142,61 @@ public class DetectedIssue30_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ObservationStatusEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatusEnumFactory()); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); switch (src.getValue()) { case REGISTERED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.REGISTERED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case PRELIMINARY: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.PRELIMINARY); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case FINAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.FINAL); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.FINAL); break; case AMENDED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.AMENDED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.FINAL); break; case CORRECTED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.CORRECTED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.MITIGATED); break; case CANCELLED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.CANCELLED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.MITIGATED); break; case ENTEREDINERROR: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.ENTEREDINERROR); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.ENTEREDINERROR); break; case UNKNOWN: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.UNKNOWN); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.NULL); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.NULL); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.NULL); break; } return tgt; } - static public org.hl7.fhir.dstu3.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu3.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatusEnumFactory()); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); switch (src.getValue()) { - case REGISTERED: - tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.REGISTERED); - break; case PRELIMINARY: tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case FINAL: tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.FINAL); break; - case AMENDED: - tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.AMENDED); - break; - case CORRECTED: + case MITIGATED: tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.CORRECTED); break; - case CANCELLED: - tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.CANCELLED); - break; case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.ENTEREDINERROR); break; - case UNKNOWN: - tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.UNKNOWN); - break; default: tgt.setValue(org.hl7.fhir.dstu3.model.DetectedIssue.DetectedIssueStatus.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DiagnosticReport30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DiagnosticReport30_50.java index cdb35f4c0..f71ef01cf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DiagnosticReport30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DiagnosticReport30_50.java @@ -35,8 +35,6 @@ public class DiagnosticReport30_50 { tgt.setIssuedElement(Instant30_50.convertInstant(src.getIssuedElement())); for (org.hl7.fhir.dstu3.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference30_50.convertReference(t)); for (org.hl7.fhir.dstu3.model.Reference t : src.getResult()) tgt.addResult(Reference30_50.convertReference(t)); - for (org.hl7.fhir.dstu3.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference30_50.convertReference(t)); for (org.hl7.fhir.dstu3.model.DiagnosticReport.DiagnosticReportImageComponent t : src.getImage()) tgt.addMedia(convertDiagnosticReportImageComponent(t)); if (src.hasConclusion()) @@ -72,8 +70,6 @@ public class DiagnosticReport30_50 { tgt.setIssuedElement(Instant30_50.convertInstant(src.getIssuedElement())); for (org.hl7.fhir.r5.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference30_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getResult()) tgt.addResult(Reference30_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference30_50.convertReference(t)); for (org.hl7.fhir.r5.model.DiagnosticReport.DiagnosticReportMediaComponent t : src.getMedia()) tgt.addImage(convertDiagnosticReportImageComponent(t)); if (src.hasConclusion()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java index c2fac30cb..2156f1f4b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java @@ -120,8 +120,8 @@ public class DocumentReference30_50 { tgt.setFacilityType(CodeableConcept30_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept30_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference30_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference30_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.r5.model.Reference t : src.getRelated()) // tgt.addRelated(convertDocumentReferenceContextRelatedComponent(t)); } @@ -137,8 +137,8 @@ public class DocumentReference30_50 { tgt.setFacilityType(CodeableConcept30_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept30_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference30_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference30_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.dstu3.model.DocumentReference.DocumentReferenceContextRelatedComponent t : src.getRelated()) // tgt.addRelated(convertDocumentReferenceContextRelatedComponent(t)); } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java index 7c8e3f5cf..652c4703f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java @@ -45,7 +45,7 @@ public class Encounter30_50 { for (org.hl7.fhir.dstu3.model.Encounter.StatusHistoryComponent t : src.getStatusHistory()) tgt.addStatusHistory(convertStatusHistoryComponent(t)); if (src.hasClass_()) - tgt.setClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(Coding30_50.convertCoding(src.getClass_()))); + tgt.addClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(Coding30_50.convertCoding(src.getClass_()))); for (org.hl7.fhir.dstu3.model.Encounter.ClassHistoryComponent t : src.getClassHistory()) tgt.addClassHistory(convertClassHistoryComponent(t)); for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getType()) @@ -72,7 +72,7 @@ public class Encounter30_50 { tgt.addDiagnosis(convertDiagnosisComponent(t)); for (org.hl7.fhir.dstu3.model.Reference t : src.getAccount()) tgt.addAccount(Reference30_50.convertReference(t)); if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + tgt.setAdmission(convertEncounterHospitalizationComponent(src.getHospitalization())); for (org.hl7.fhir.dstu3.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -94,7 +94,7 @@ public class Encounter30_50 { for (org.hl7.fhir.r5.model.Encounter.StatusHistoryComponent t : src.getStatusHistory()) tgt.addStatusHistory(convertStatusHistoryComponent(t)); if (src.hasClass_()) - tgt.setClass_(Coding30_50.convertCoding(src.getClass_())); + tgt.setClass_(Coding30_50.convertCoding(src.getClass_FirstRep())); for (org.hl7.fhir.r5.model.Encounter.ClassHistoryComponent t : src.getClassHistory()) tgt.addClassHistory(convertClassHistoryComponent(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) @@ -121,8 +121,8 @@ public class Encounter30_50 { for (org.hl7.fhir.r5.model.Encounter.DiagnosisComponent t : src.getDiagnosis()) tgt.addDiagnosis(convertDiagnosisComponent(t)); for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference30_50.convertReference(t)); - if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + if (src.hasAdmission()) + tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getAdmission())); for (org.hl7.fhir.r5.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -132,7 +132,7 @@ public class Encounter30_50 { return tgt; } - public static org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent src) throws FHIRException { if (src == null) return null; org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent(); @@ -158,10 +158,10 @@ public class Encounter30_50 { return tgt; } - public static org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent convertEncounterHospitalizationComponent(org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { if (src == null) return null; - org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent(); + org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasPreAdmissionIdentifier()) tgt.setPreAdmissionIdentifier(Identifier30_50.convertIdentifier(src.getPreAdmissionIdentifier())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java index ac0224e80..9ac2a8689 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java @@ -269,7 +269,7 @@ public class GraphDefinition30_50 { org.hl7.fhir.dstu3.model.GraphDefinition.GraphDefinitionLinkTargetComponent tgt = new org.hl7.fhir.dstu3.model.GraphDefinition.GraphDefinitionLinkTargetComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasType()) - tgt.setTypeElement(Code30_50.convertCode(src.getTypeElement())); + tgt.setTypeElement(Code30_50.convertResourceEnum(src.getTypeElement())); if (src.hasProfile()) tgt.setProfile(src.getProfile()); for (org.hl7.fhir.r5.model.GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent t : src.getCompartment()) @@ -285,7 +285,7 @@ public class GraphDefinition30_50 { org.hl7.fhir.r5.model.GraphDefinition.GraphDefinitionLinkTargetComponent tgt = new org.hl7.fhir.r5.model.GraphDefinition.GraphDefinitionLinkTargetComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasType()) - tgt.setTypeElement(Code30_50.convertCode(src.getTypeElement())); + tgt.setTypeElement(Code30_50.convertResourceEnum(src.getTypeElement())); if (src.hasProfile()) tgt.setProfile(src.getProfile()); for (org.hl7.fhir.dstu3.model.GraphDefinition.GraphDefinitionLinkTargetCompartmentComponent t : src.getCompartment()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Group30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Group30_50.java index 0616fcc30..470574630 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Group30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Group30_50.java @@ -9,6 +9,7 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Bool import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Group.GroupMembershipBasis; public class Group30_50 { @@ -24,7 +25,7 @@ public class Group30_50 { if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); if (src.hasActual()) - tgt.setActualElement(Boolean30_50.convertBoolean(src.getActualElement())); + tgt.setMembership(src.getActual() ? GroupMembershipBasis.ENUMERATED : GroupMembershipBasis.DEFINITIONAL); if (src.hasCode()) tgt.setCode(CodeableConcept30_50.convertCodeableConcept(src.getCode())); if (src.hasName()) @@ -49,8 +50,8 @@ public class Group30_50 { tgt.setActiveElement(Boolean30_50.convertBoolean(src.getActiveElement())); if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); - if (src.hasActual()) - tgt.setActualElement(Boolean30_50.convertBoolean(src.getActualElement())); + if (src.hasMembership()) + tgt.setActual(src.getMembership() == GroupMembershipBasis.ENUMERATED); if (src.hasCode()) tgt.setCode(CodeableConcept30_50.convertCodeableConcept(src.getCode())); if (src.hasName()) @@ -142,12 +143,6 @@ public class Group30_50 { case DEVICE: tgt.setValue(org.hl7.fhir.dstu3.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.dstu3.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.dstu3.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.dstu3.model.Group.GroupType.NULL); break; @@ -173,12 +168,6 @@ public class Group30_50 { case DEVICE: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java index 4dbf8376e..96a96a25d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java @@ -8,6 +8,7 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Stri import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Time30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; +import org.hl7.fhir.r5.model.ExtendedContactDetail; import org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceEligibilityComponent; import java.util.stream.Collectors; @@ -41,7 +42,7 @@ public class HealthcareService30_50 { if (src.hasPhoto()) tgt.setPhoto(Attachment30_50.convertAttachment(src.getPhoto())); for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint30_50.convertContactPoint(t)); for (org.hl7.fhir.dstu3.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference30_50.convertReference(t)); for (org.hl7.fhir.dstu3.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -59,12 +60,12 @@ public class HealthcareService30_50 { tgt.addReferralMethod(CodeableConcept30_50.convertCodeableConcept(t)); if (src.hasAppointmentRequired()) tgt.setAppointmentRequiredElement(Boolean30_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.dstu3.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference30_50.convertReference(t)); return tgt; } @@ -95,8 +96,9 @@ public class HealthcareService30_50 { tgt.setExtraDetails(src.getExtraDetails()); if (src.hasPhoto()) tgt.setPhoto(Attachment30_50.convertAttachment(src.getPhoto())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference30_50.convertReference(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -113,49 +115,49 @@ public class HealthcareService30_50 { tgt.addReferralMethod(CodeableConcept30_50.convertCodeableConcept(t)); if (src.hasAppointmentRequired()) tgt.setAppointmentRequiredElement(Boolean30_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference30_50.convertReference(t)); return tgt; } - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService30_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService30_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService30_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService30_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } static public org.hl7.fhir.dstu3.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) @@ -224,28 +226,28 @@ public class HealthcareService30_50 { } return tgt; } - - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); - return tgt; - } +// +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.dstu3.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java index 2177800f3..135cfcc53 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java @@ -196,12 +196,11 @@ public class ImplementationGuide30_50 { return null; org.hl7.fhir.dstu3.model.ImplementationGuide.ImplementationGuidePackageResourceComponent tgt = new org.hl7.fhir.dstu3.model.ImplementationGuide.ImplementationGuidePackageResourceComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasExampleCanonicalType()) { - if (src.hasExampleCanonicalType()) - tgt.setExampleFor(Reference30_50.convertCanonicalToReference(src.getExampleCanonicalType())); + if (src.hasProfile()) { + tgt.setExampleFor(Reference30_50.convertCanonicalToReference(src.getProfile().get(0))); tgt.setExample(true); - } else if (src.hasExampleBooleanType()) - tgt.setExample(src.getExampleBooleanType().getValue()); + } else if (src.hasIsExample()) + tgt.setExample(src.getIsExample()); else tgt.setExample(false); if (src.hasName()) @@ -219,10 +218,9 @@ public class ImplementationGuide30_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionResourceComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasExampleFor()) { - org.hl7.fhir.r5.model.DataType t = ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getExampleFor()); - tgt.setExample(t instanceof org.hl7.fhir.r5.model.Reference ? new org.hl7.fhir.r5.model.CanonicalType(((org.hl7.fhir.r5.model.Reference) t).getReference()) : t); + tgt.getProfile().add(Reference30_50.convertReferenceToCanonical(src.getExampleFor())); } else if (src.hasExample()) - tgt.setExample(new org.hl7.fhir.r5.model.BooleanType(src.getExample())); + tgt.setIsExampleElement(new org.hl7.fhir.r5.model.BooleanType(src.getExample())); if (src.hasName()) tgt.setNameElement(String30_50.convertString(src.getNameElement())); if (src.hasDescription()) @@ -239,8 +237,8 @@ public class ImplementationGuide30_50 { return null; org.hl7.fhir.dstu3.model.ImplementationGuide.ImplementationGuidePageComponent tgt = new org.hl7.fhir.dstu3.model.ImplementationGuide.ImplementationGuidePageComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasNameUrlType()) - tgt.setSource(src.getNameUrlType().getValue()); + if (src.hasName()) + tgt.setSource(src.getName()); if (src.hasTitle()) tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -256,7 +254,7 @@ public class ImplementationGuide30_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); if (src.hasSource()) - tgt.setName(convertUriToUrl(src.getSourceElement())); + tgt.setNameElement(convertUriToUrl(src.getSourceElement())); if (src.hasTitle()) tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); if (src.hasKind()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java index 2b61d36b0..c636b5668 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java @@ -6,6 +6,8 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ContactPoint; +import org.hl7.fhir.r5.model.ExtendedContactDetail; public class Location30_50 { @@ -30,11 +32,11 @@ public class Location30_50 { if (src.hasType()) tgt.addType(CodeableConcept30_50.convertCodeableConcept(src.getType())); for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint30_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address30_50.convertAddress(src.getAddress())); if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept30_50.convertCodeableConcept(src.getPhysicalType())); + tgt.setForm(CodeableConcept30_50.convertCodeableConcept(src.getPhysicalType())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) @@ -65,12 +67,13 @@ public class Location30_50 { tgt.setModeElement(convertLocationMode(src.getModeElement())); if (src.hasType()) tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getTypeFirstRep())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address30_50.convertAddress(src.getAddress())); - if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept30_50.convertCodeableConcept(src.getPhysicalType())); + if (src.hasForm()) + tgt.setPhysicalType(CodeableConcept30_50.convertCodeableConcept(src.getForm())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java index 6d76d954b..f92a11026 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java @@ -190,9 +190,9 @@ public class OperationDefinition30_50 { if (src.hasMax()) tgt.setMaxElement(String30_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) - tgt.setDocumentationElement(String30_50.convertString(src.getDocumentationElement())); + tgt.setDocumentationElement(String30_50.convertStringToMarkdown(src.getDocumentationElement())); if (src.hasType()) - tgt.setType(Enumerations.FHIRAllTypes.fromCode(src.getType())); + tgt.setType(Enumerations.FHIRTypes.fromCode(src.getType())); if (src.hasSearchType()) tgt.setSearchTypeElement(Enumerations30_50.convertSearchParamType(src.getSearchTypeElement())); if (src.hasProfile()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java index 474d49c9a..4721d4746 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java @@ -6,6 +6,7 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; public class Organization30_50 { @@ -24,7 +25,7 @@ public class Organization30_50 { tgt.setNameElement(String30_50.convertString(src.getNameElement())); for (org.hl7.fhir.dstu3.model.StringType t : src.getAlias()) tgt.addAlias(t.getValue()); for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint30_50.convertContactPoint(t)); for (org.hl7.fhir.dstu3.model.Address t : src.getAddress()) tgt.addAddress(Address30_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference30_50.convertReference(src.getPartOf())); @@ -48,8 +49,9 @@ public class Organization30_50 { if (src.hasName()) tgt.setNameElement(String30_50.convertString(src.getNameElement())); for (org.hl7.fhir.r5.model.StringType t : src.getAlias()) tgt.addAlias(t.getValue()); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address30_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference30_50.convertReference(src.getPartOf())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java index f135d82ed..87ddf7099 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java @@ -7,6 +7,9 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; import java.util.stream.Collectors; @@ -207,7 +210,7 @@ public class SearchParameter30_50 { tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.dstu3.model.CodeType t : src.getBase()) tgt.addBase(t.getValue()); + for (org.hl7.fhir.dstu3.model.CodeType t : src.getBase()) tgt.addBase(Enumerations.AllResourceTypes.fromCode(t.getValue())); if (src.hasType()) tgt.setTypeElement(Enumerations30_50.convertSearchParamType(src.getTypeElement())); if (src.hasDerivedFrom()) @@ -216,10 +219,10 @@ public class SearchParameter30_50 { tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); if (src.hasExpression()) tgt.setExpressionElement(String30_50.convertString(src.getExpressionElement())); - if (src.hasXpath()) - tgt.setXpathElement(String30_50.convertString(src.getXpathElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String30_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); + tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); for (org.hl7.fhir.dstu3.model.CodeType t : src.getTarget()) tgt.addTarget(t.getValue()); tgt.setComparator(src.getComparator().stream() .map(SearchParameter30_50::convertSearchComparator) @@ -262,7 +265,7 @@ public class SearchParameter30_50 { tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.r5.model.CodeType t : src.getBase()) tgt.addBase(t.getValue()); + for (Enumeration t : src.getBase()) tgt.addBase(t.getValue().toCode()); if (src.hasType()) tgt.setTypeElement(Enumerations30_50.convertSearchParamType(src.getTypeElement())); if (src.hasDerivedFrom()) @@ -271,10 +274,10 @@ public class SearchParameter30_50 { tgt.setDescriptionElement(MarkDown30_50.convertMarkdown(src.getDescriptionElement())); if (src.hasExpression()) tgt.setExpressionElement(String30_50.convertString(src.getExpressionElement())); - if (src.hasXpath()) - tgt.setXpathElement(String30_50.convertString(src.getXpathElement())); - if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String30_50.convertString(src.getXpathElement())); + if (src.hasProcessingMode()) + tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); for (org.hl7.fhir.r5.model.CodeType t : src.getTarget()) tgt.addTarget(t.getValue()); tgt.setComparator(src.getComparator().stream() .map(SearchParameter30_50::convertSearchComparator) @@ -312,35 +315,35 @@ public class SearchParameter30_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.XPathUsageTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeTypeEnumFactory()); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); switch (src.getValue()) { case NORMAL: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NORMAL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NORMAL); break; case PHONETIC: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.PHONETIC); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.PHONETIC); break; case NEARBY: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case DISTANCE: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case OTHER: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NULL); break; } return tgt; } - static public org.hl7.fhir.dstu3.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu3.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.SearchParameter.XPathUsageTypeEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java index e44ca1475..73b6b0847 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java @@ -538,7 +538,7 @@ public class TestScript30_50 { tgt.setRequestMethodElement(convertTestScriptRequestMethodCode(src.getRequestMethodElement())); if (src.hasRequestURL()) tgt.setRequestURLElement(String30_50.convertString(src.getRequestURLElement())); if (src.hasResource()) - tgt.setResource(org.hl7.fhir.r5.model.TestScript.FHIRDefinedType.fromCode(src.getResource())); + tgt.setResource(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCode()) tgt.setResponseCodeElement(String30_50.convertString(src.getResponseCodeElement())); if (src.hasSourceId()) tgt.setSourceIdElement(Id30_50.convertId(src.getSourceIdElement())); @@ -573,7 +573,7 @@ public class TestScript30_50 { if (src.hasRequestMethod()) tgt.setRequestMethodElement(convertTestScriptRequestMethodCode(src.getRequestMethodElement())); if (src.hasRequestURL()) tgt.setRequestURLElement(String30_50.convertString(src.getRequestURLElement())); - if (src.hasResource()) tgt.setResource(src.getResource().toCode()); + if (src.hasResource()) tgt.setResource(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCode()) tgt.setResponseCodeElement(String30_50.convertString(src.getResponseCodeElement())); if (src.hasSourceId()) tgt.setSourceIdElement(Id30_50.convertId(src.getSourceIdElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/SampledData40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/SampledData40_50.java index 28b4bd98e..490c1dbb0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/SampledData40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/SampledData40_50.java @@ -12,7 +12,7 @@ public class SampledData40_50 { org.hl7.fhir.r5.model.SampledData tgt = new org.hl7.fhir.r5.model.SampledData(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity40_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriod()) tgt.setPeriodElement(Decimal40_50.convertDecimal(src.getPeriodElement())); + if (src.hasPeriod()) tgt.setIntervalElement(Decimal40_50.convertDecimal(src.getPeriodElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal40_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal40_50.convertDecimal(src.getUpperLimitElement())); @@ -26,7 +26,7 @@ public class SampledData40_50 { org.hl7.fhir.r4.model.SampledData tgt = new org.hl7.fhir.r4.model.SampledData(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity40_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriod()) tgt.setPeriodElement(Decimal40_50.convertDecimal(src.getPeriodElement())); + if (src.hasInterval()) tgt.setPeriodElement(Decimal40_50.convertDecimal(src.getIntervalElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal40_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal40_50.convertDecimal(src.getUpperLimitElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/DataRequirement40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/DataRequirement40_50.java index 02dca0cdb..5432d5221 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/DataRequirement40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/DataRequirement40_50.java @@ -13,7 +13,7 @@ public class DataRequirement40_50 { org.hl7.fhir.r5.model.DataRequirement tgt = new org.hl7.fhir.r5.model.DataRequirement(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); if (src.hasType()) - tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(convertResourceName4to5(src.getType()))); + tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(convertResourceName4to5(src.getType()))); for (org.hl7.fhir.r4.model.CanonicalType t : src.getProfile()) tgt.getProfile().add(Canonical40_50.convertCanonical(t)); if (src.hasSubject()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/ParameterDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/ParameterDefinition40_50.java index 7094436e0..e36b71456 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/ParameterDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/metadata40_50/ParameterDefinition40_50.java @@ -17,7 +17,7 @@ public class ParameterDefinition40_50 { if (src.hasMin()) tgt.setMinElement(Integer40_50.convertInteger(src.getMinElement())); if (src.hasMax()) tgt.setMaxElement(String40_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) tgt.setDocumentationElement(String40_50.convertString(src.getDocumentationElement())); - if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(src.getType())); + if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.getType())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Code40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Code40_50.java index bc9b42cfa..9d660d988 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Code40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Code40_50.java @@ -2,6 +2,8 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class Code40_50 { public static org.hl7.fhir.r5.model.CodeType convertCode(org.hl7.fhir.r4.model.CodeType src) throws FHIRException { @@ -16,11 +18,13 @@ public class Code40_50 { return tgt; } - public static org.hl7.fhir.r5.model.CodeType convertResourceEnum(org.hl7.fhir.r4.model.CodeType src) { - return Code40_50.convertCode(src); + + public static org.hl7.fhir.r5.model.Enumeration convertResourceEnum(org.hl7.fhir.r4.model.CodeType src) { + return new Enumeration(new org.hl7.fhir.r5.model.Enumerations.AllResourceTypesEnumFactory(), src.getCode()); } - public static org.hl7.fhir.r4.model.CodeType convertResourceEnum(org.hl7.fhir.r5.model.CodeType src) { - return Code40_50.convertCode(src); + public static org.hl7.fhir.r4.model.CodeType convertResourceEnum(org.hl7.fhir.r5.model.Enumeration src) { + return new org.hl7.fhir.r4.model.CodeType(src.getCode()); } + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java index 4c390bae8..53a86b30d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java @@ -507,7 +507,7 @@ public class ElementDefinition40_50 { org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); if (src.hasKey()) tgt.setKeyElement(Id40_50.convertId(src.getKeyElement())); - if (src.hasRequirements()) tgt.setRequirementsElement(String40_50.convertString(src.getRequirementsElement())); + if (src.hasRequirements()) tgt.setRequirementsElement(String40_50.convertStringToMarkdown(src.getRequirementsElement())); if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); if (src.hasHuman()) tgt.setHumanElement(String40_50.convertString(src.getHumanElement())); if (src.hasExpression()) tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); @@ -579,7 +579,7 @@ public class ElementDefinition40_50 { org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); if (src.hasStrength()) tgt.setStrengthElement(Enumerations40_50.convertBindingStrength(src.getStrengthElement())); - if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); + if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement())); if (src.hasValueSet()) tgt.setValueSetElement(Canonical40_50.convertCanonical(src.getValueSetElement())); return tgt; } @@ -601,7 +601,7 @@ public class ElementDefinition40_50 { if (src.hasIdentity()) tgt.setIdentityElement(Id40_50.convertId(src.getIdentityElement())); if (src.hasLanguage()) tgt.setLanguageElement(Code40_50.convertCode(src.getLanguageElement())); if (src.hasMap()) tgt.setMapElement(String40_50.convertString(src.getMapElement())); - if (src.hasComment()) tgt.setCommentElement(String40_50.convertString(src.getCommentElement())); + if (src.hasComment()) tgt.setCommentElement(String40_50.convertStringToMarkdown(src.getCommentElement())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java index 6ec0f513c..0603baa50 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java @@ -5,6 +5,7 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Signature40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; /* Copyright (c) 2011+, HL7, Inc. @@ -165,7 +166,7 @@ public class Bundle40_50 { org.hl7.fhir.r5.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r5.model.Bundle.BundleLinkComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasRelation()) - tgt.setRelationElement(String40_50.convertString(src.getRelationElement())); + tgt.setRelation(LinkRelationTypes.fromCode(src.getRelation())); if (src.hasUrl()) tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement())); return tgt; @@ -177,7 +178,7 @@ public class Bundle40_50 { org.hl7.fhir.r4.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r4.model.Bundle.BundleLinkComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasRelation()) - tgt.setRelationElement(String40_50.convertString(src.getRelationElement())); + tgt.setRelation((src.getRelation().toCode())); if (src.hasUrl()) tgt.setUrlElement(Uri40_50.convertUri(src.getUrlElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java index 7e0ecf21b..31214e5be 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java @@ -306,26 +306,26 @@ public class CapabilityStatement40_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityModeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case CLIENT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.CLIENT); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.CLIENT); break; case SERVER: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.SERVER); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.SERVER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.NULL); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); @@ -378,7 +378,7 @@ public class CapabilityStatement40_50 { org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestResourceComponent tgt = new org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestResourceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code40_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r4.model.CanonicalType t : src.getSupportedProfile()) @@ -421,7 +421,7 @@ public class CapabilityStatement40_50 { org.hl7.fhir.r4.model.CapabilityStatement.CapabilityStatementRestResourceComponent tgt = new org.hl7.fhir.r4.model.CapabilityStatement.CapabilityStatementRestResourceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code40_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r5.model.CanonicalType t : src.getSupportedProfile()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java index 10341e6bf..ac5b10039 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java @@ -171,7 +171,7 @@ public class CompartmentDefinition40_50 { org.hl7.fhir.r5.model.CompartmentDefinition.CompartmentDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.CompartmentDefinition.CompartmentDefinitionResourceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code40_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); for (org.hl7.fhir.r4.model.StringType t : src.getParam()) tgt.getParam().add(String40_50.convertString(t)); if (src.hasDocumentation()) tgt.setDocumentationElement(String40_50.convertString(src.getDocumentationElement())); @@ -184,7 +184,7 @@ public class CompartmentDefinition40_50 { org.hl7.fhir.r4.model.CompartmentDefinition.CompartmentDefinitionResourceComponent tgt = new org.hl7.fhir.r4.model.CompartmentDefinition.CompartmentDefinitionResourceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code40_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); for (org.hl7.fhir.r5.model.StringType t : src.getParam()) tgt.getParam().add(String40_50.convertString(t)); if (src.hasDocumentation()) tgt.setDocumentationElement(String40_50.convertString(src.getDocumentationElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java index 13988b251..d462dd93e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java @@ -6,10 +6,12 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Narrative40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.RelatedArtifact; @@ -50,7 +52,7 @@ public class Composition40_50 { org.hl7.fhir.r5.model.Composition tgt = new org.hl7.fhir.r5.model.Composition(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); + tgt.addIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); if (src.hasType()) @@ -58,7 +60,7 @@ public class Composition40_50 { for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCategory()) tgt.addCategory(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasSubject()) - tgt.setSubject(Reference40_50.convertReference(src.getSubject())); + tgt.addSubject(Reference40_50.convertReference(src.getSubject())); if (src.hasEncounter()) tgt.setEncounter(Reference40_50.convertReference(src.getEncounter())); if (src.hasDate()) @@ -67,7 +69,7 @@ public class Composition40_50 { if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); if (src.hasConfidentiality()) - tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getConfidentialityElement())); + tgt.getMeta().addSecurity().setCodeElement(Code40_50.convertCode(src.getConfidentialityElement())); for (org.hl7.fhir.r4.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -87,7 +89,7 @@ public class Composition40_50 { org.hl7.fhir.r4.model.Composition tgt = new org.hl7.fhir.r4.model.Composition(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); + tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifierFirstRep())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); if (src.hasType()) @@ -95,7 +97,7 @@ public class Composition40_50 { for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCategory()) tgt.addCategory(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasSubject()) - tgt.setSubject(Reference40_50.convertReference(src.getSubject())); + tgt.setSubject(Reference40_50.convertReference(src.getSubjectFirstRep())); if (src.hasEncounter()) tgt.setEncounter(Reference40_50.convertReference(src.getEncounter())); if (src.hasDate()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DetectedIssue40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DetectedIssue40_50.java index baf97ff32..a76097c27 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DetectedIssue40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DetectedIssue40_50.java @@ -54,7 +54,7 @@ public class DetectedIssue40_50 { if (src.hasSeverity()) tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement())); if (src.hasPatient()) - tgt.setPatient(Reference40_50.convertReference(src.getPatient())); + tgt.setSubject(Reference40_50.convertReference(src.getPatient())); if (src.hasIdentified()) tgt.setIdentified(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getIdentified())); if (src.hasAuthor()) @@ -84,8 +84,8 @@ public class DetectedIssue40_50 { tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); if (src.hasSeverity()) tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement())); - if (src.hasPatient()) - tgt.setPatient(Reference40_50.convertReference(src.getPatient())); + if (src.hasSubject()) + tgt.setPatient(Reference40_50.convertReference(src.getSubject())); if (src.hasIdentified()) tgt.setIdentified(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getIdentified())); if (src.hasAuthor()) @@ -102,73 +102,61 @@ public class DetectedIssue40_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ObservationStatusEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatusEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case REGISTERED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.REGISTERED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case PRELIMINARY: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.PRELIMINARY); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case FINAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.FINAL); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.FINAL); break; case AMENDED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.AMENDED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.FINAL); break; case CORRECTED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.CORRECTED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.MITIGATED); break; case CANCELLED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.CANCELLED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.MITIGATED); break; case ENTEREDINERROR: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.ENTEREDINERROR); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.ENTEREDINERROR); break; case UNKNOWN: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.UNKNOWN); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.NULL); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.NULL); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatusEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { - case REGISTERED: - tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.REGISTERED); - break; case PRELIMINARY: tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case FINAL: tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.FINAL); break; - case AMENDED: - tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.AMENDED); - break; - case CORRECTED: + case MITIGATED: tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.CORRECTED); break; - case CANCELLED: - tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.CANCELLED); - break; case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.ENTEREDINERROR); break; - case UNKNOWN: - tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.UNKNOWN); - break; default: tgt.setValue(org.hl7.fhir.r4.model.DetectedIssue.DetectedIssueStatus.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DiagnosticReport40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DiagnosticReport40_50.java index c422294f1..715ad9750 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DiagnosticReport40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DiagnosticReport40_50.java @@ -67,8 +67,6 @@ public class DiagnosticReport40_50 { tgt.addResultsInterpreter(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.Reference t : src.getResult()) tgt.addResult(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r4.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.DiagnosticReport.DiagnosticReportMediaComponent t : src.getMedia()) tgt.addMedia(convertDiagnosticReportMediaComponent(t)); if (src.hasConclusion()) @@ -107,8 +105,6 @@ public class DiagnosticReport40_50 { tgt.addResultsInterpreter(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getResult()) tgt.addResult(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.DiagnosticReport.DiagnosticReportMediaComponent t : src.getMedia()) tgt.addMedia(convertDiagnosticReportMediaComponent(t)); if (src.hasConclusion()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java index ef09e9b5e..64adc2c0b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java @@ -274,8 +274,8 @@ public class DocumentReference40_50 { tgt.setFacilityType(CodeableConcept40_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept40_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference40_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference40_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.r4.model.Reference t : src.getRelated()) tgt.addRelated(Reference40_50.convertReference(t)); } @@ -290,8 +290,8 @@ public class DocumentReference40_50 { tgt.setFacilityType(CodeableConcept40_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept40_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference40_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference40_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.r5.model.Reference t : src.getRelated()) tgt.addRelated(Reference40_50.convertReference(t)); } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java index 1e459198c..04ae29853 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java @@ -50,13 +50,13 @@ public class Encounter40_50 { for (org.hl7.fhir.r4.model.Encounter.StatusHistoryComponent t : src.getStatusHistory()) tgt.addStatusHistory(convertStatusHistoryComponent(t)); if (src.hasClass_()) - tgt.setClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(Coding40_50.convertCoding(src.getClass_()))); + tgt.addClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(Coding40_50.convertCoding(src.getClass_()))); for (org.hl7.fhir.r4.model.Encounter.ClassHistoryComponent t : src.getClassHistory()) tgt.addClassHistory(convertClassHistoryComponent(t)); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasServiceType()) - tgt.setServiceType(new CodeableReference(CodeableConcept40_50.convertCodeableConcept(src.getServiceType()))); + tgt.addServiceType(new CodeableReference(CodeableConcept40_50.convertCodeableConcept(src.getServiceType()))); if (src.hasPriority()) tgt.setPriority(CodeableConcept40_50.convertCodeableConcept(src.getPriority())); if (src.hasSubject()) @@ -80,7 +80,7 @@ public class Encounter40_50 { tgt.addDiagnosis(convertDiagnosisComponent(t)); for (org.hl7.fhir.r4.model.Reference t : src.getAccount()) tgt.addAccount(Reference40_50.convertReference(t)); if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + tgt.setAdmission(convertEncounterHospitalizationComponent(src.getHospitalization())); for (org.hl7.fhir.r4.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -102,13 +102,13 @@ public class Encounter40_50 { for (org.hl7.fhir.r5.model.Encounter.StatusHistoryComponent t : src.getStatusHistory()) tgt.addStatusHistory(convertStatusHistoryComponent(t)); if (src.hasClass_()) - tgt.setClass_(Coding40_50.convertCoding(src.getClass_().getCodingFirstRep())); + tgt.setClass_(Coding40_50.convertCoding(src.getClass_FirstRep().getCodingFirstRep())); for (org.hl7.fhir.r5.model.Encounter.ClassHistoryComponent t : src.getClassHistory()) tgt.addClassHistory(convertClassHistoryComponent(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); - if (src.getServiceType().hasConcept()) - tgt.setServiceType(CodeableConcept40_50.convertCodeableConcept(src.getServiceType().getConcept())); + if (src.getServiceTypeFirstRep().hasConcept()) + tgt.setServiceType(CodeableConcept40_50.convertCodeableConcept(src.getServiceTypeFirstRep().getConcept())); if (src.hasPriority()) tgt.setPriority(CodeableConcept40_50.convertCodeableConcept(src.getPriority())); if (src.hasSubject()) @@ -133,8 +133,8 @@ public class Encounter40_50 { for (org.hl7.fhir.r5.model.Encounter.DiagnosisComponent t : src.getDiagnosis()) tgt.addDiagnosis(convertDiagnosisComponent(t)); for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference40_50.convertReference(t)); - if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + if (src.hasAdmission()) + tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getAdmission())); for (org.hl7.fhir.r5.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -319,10 +319,10 @@ public class Encounter40_50 { return tgt; } - public static org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { if (src == null) return null; - org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent(); + org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasPreAdmissionIdentifier()) tgt.setPreAdmissionIdentifier(Identifier40_50.convertIdentifier(src.getPreAdmissionIdentifier())); @@ -345,7 +345,7 @@ public class Encounter40_50 { return tgt; } - public static org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent src) throws FHIRException { if (src == null) return null; org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.r4.model.Encounter.EncounterHospitalizationComponent(); @@ -381,7 +381,7 @@ public class Encounter40_50 { if (src.hasStatus()) tgt.setStatusElement(convertEncounterLocationStatus(src.getStatusElement())); if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept40_50.convertCodeableConcept(src.getPhysicalType())); + tgt.setForm(CodeableConcept40_50.convertCodeableConcept(src.getPhysicalType())); if (src.hasPeriod()) tgt.setPeriod(Period40_50.convertPeriod(src.getPeriod())); return tgt; @@ -396,8 +396,8 @@ public class Encounter40_50 { tgt.setLocation(Reference40_50.convertReference(src.getLocation())); if (src.hasStatus()) tgt.setStatusElement(convertEncounterLocationStatus(src.getStatusElement())); - if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept40_50.convertCodeableConcept(src.getPhysicalType())); + if (src.hasForm()) + tgt.setPhysicalType(CodeableConcept40_50.convertCodeableConcept(src.getForm())); if (src.hasPeriod()) tgt.setPeriod(Period40_50.convertPeriod(src.getPeriod())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java index 0eb97d3eb..aab9b7a79 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java @@ -68,7 +68,7 @@ public class GraphDefinition40_50 { if (src.hasPurpose()) tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); if (src.hasStart()) - tgt.setStartElement(Code40_50.convertResourceEnum(src.getStartElement())); + tgt.setStartElement(Code40_50.convertCode(src.getStartElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r4.model.GraphDefinition.GraphDefinitionLinkComponent t : src.getLink()) @@ -106,7 +106,7 @@ public class GraphDefinition40_50 { if (src.hasPurpose()) tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); if (src.hasStart()) - tgt.setStartElement(Code40_50.convertResourceEnum(src.getStartElement())); + tgt.setStartElement(Code40_50.convertCode(src.getStartElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r5.model.GraphDefinition.GraphDefinitionLinkComponent t : src.getLink()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Group40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Group40_50.java index 06c86a64d..348c73461 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Group40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Group40_50.java @@ -9,6 +9,7 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Group.GroupMembershipBasis; /* Copyright (c) 2011+, HL7, Inc. @@ -53,7 +54,7 @@ public class Group40_50 { if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); if (src.hasActual()) - tgt.setActualElement(Boolean40_50.convertBoolean(src.getActualElement())); + tgt.setMembership(src.getActual() ? GroupMembershipBasis.ENUMERATED : GroupMembershipBasis.DEFINITIONAL); if (src.hasCode()) tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); if (src.hasName()) @@ -80,8 +81,8 @@ public class Group40_50 { tgt.setActiveElement(Boolean40_50.convertBoolean(src.getActiveElement())); if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); - if (src.hasActual()) - tgt.setActualElement(Boolean40_50.convertBoolean(src.getActualElement())); + if (src.hasMembership()) + tgt.setActual(src.getMembership() == GroupMembershipBasis.ENUMERATED); if (src.hasCode()) tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); if (src.hasName()) @@ -115,12 +116,6 @@ public class Group40_50 { case DEVICE: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.NULL); break; @@ -146,12 +141,6 @@ public class Group40_50 { case DEVICE: tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.r4.model.Group.GroupType.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java index 932049f99..88f7b2e88 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java @@ -8,6 +8,7 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; import java.util.stream.Collectors; @@ -69,7 +70,7 @@ public class HealthcareService40_50 { if (src.hasPhoto()) tgt.setPhoto(Attachment40_50.convertAttachment(src.getPhoto())); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint40_50.convertContactPoint(t)); for (org.hl7.fhir.r4.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -86,12 +87,12 @@ public class HealthcareService40_50 { tgt.addReferralMethod(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasAppointmentRequired()) tgt.setAppointmentRequiredElement(Boolean40_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r4.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } @@ -122,8 +123,9 @@ public class HealthcareService40_50 { tgt.setExtraDetailsElement(MarkDown40_50.convertMarkdown(src.getExtraDetailsElement())); if (src.hasPhoto()) tgt.setPhoto(Attachment40_50.convertAttachment(src.getPhoto())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -140,12 +142,12 @@ public class HealthcareService40_50 { tgt.addReferralMethod(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasAppointmentRequired()) tgt.setAppointmentRequiredElement(Boolean40_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } @@ -174,39 +176,39 @@ public class HealthcareService40_50 { return tgt; } - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService40_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService40_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } - public static org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService40_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } +// public static org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService40_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) @@ -275,28 +277,28 @@ public class HealthcareService40_50 { } return tgt; } - - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); - return tgt; - } +// +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index 180b4904f..c0fe7464e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -6,6 +6,8 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDet import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; @@ -2311,7 +2313,7 @@ public class ImplementationGuide40_50 { tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); for (org.hl7.fhir.r4.model.Extension e : org.hl7.fhir.r4.utils.ToolingExtensions.getExtensions(src, EXT_IG_DEFINITION_PARAMETER)) { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent p = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); - p.setCode(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "code")); + p.getCode().setCode(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "code")); p.setValue(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "Value")); tgt.addParameter(p); } @@ -2332,11 +2334,11 @@ public class ImplementationGuide40_50 { if (src.hasPage()) tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) { - if (Utilities.existsInList(t.getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) + if (Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); else { org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); - org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.StringType(t.getCode())); + org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.StringType(t.getCode().getCode())); org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue())); e.addExtension(eCode); e.addExtension(eValue); @@ -2386,8 +2388,10 @@ public class ImplementationGuide40_50 { tgt.setNameElement(String40_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertStringToMarkdown(src.getDescriptionElement())); - if (src.hasExample()) - tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getExample())); + if (src.hasExampleBooleanType()) + tgt.setIsExampleElement(Boolean40_50.convertBoolean(src.getExampleBooleanType())); + if (src.hasExampleCanonicalType()) + tgt.getProfile().add(Canonical40_50.convertCanonical(src.getExampleCanonicalType())); if (src.hasGroupingId()) tgt.setGroupingIdElement(Id40_50.convertId(src.getGroupingIdElement())); return tgt; @@ -2400,15 +2404,14 @@ public class ImplementationGuide40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasReference()) tgt.setReference(Reference40_50.convertReference(src.getReference())); - tgt.setFhirVersion(src.getFhirVersion().stream() - .map(Enumerations40_50::convertFHIRVersion) - .collect(Collectors.toList())); if (src.hasName()) tgt.setNameElement(String40_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); - if (src.hasExample()) - tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getExample())); + if (src.hasIsExample()) + tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getIsExampleElement())); + if (src.hasProfile()) + tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getProfile().get(0))); if (src.hasGroupingId()) tgt.setGroupingIdElement(Id40_50.convertId(src.getGroupingIdElement())); return tgt; @@ -2419,8 +2422,10 @@ public class ImplementationGuide40_50 { return null; org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasName()) - tgt.setName(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getName())); + if (src.hasNameReference()) + tgt.setName(src.getNameReference().getReference()); + if (src.hasNameUrlType()) + tgt.setName(src.getNameUrlType().getValue()); if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -2436,7 +2441,7 @@ public class ImplementationGuide40_50 { org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasName()) - tgt.setName(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getName())); + tgt.setName(new org.hl7.fhir.r4.model.UrlType(src.getName())); if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -2502,7 +2507,7 @@ public class ImplementationGuide40_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(String40_50.convertString(src.getCodeElement())); + tgt.getCode().setCode(src.getCode()); if (src.hasValue()) tgt.setValueElement(String40_50.convertString(src.getValueElement())); return tgt; @@ -2514,7 +2519,7 @@ public class ImplementationGuide40_50 { org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(String40_50.convertString(src.getCodeElement())); + tgt.setCode(src.getCode().getCode()); if (src.hasValue()) tgt.setValueElement(String40_50.convertString(src.getValueElement())); return tgt; @@ -2645,8 +2650,10 @@ public class ImplementationGuide40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasReference()) tgt.setReference(Reference40_50.convertReference(src.getReference())); - if (src.hasExample()) - tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getExample())); + if (src.hasExampleBooleanType()) + tgt.setIsExampleElement(Boolean40_50.convertBoolean(src.getExampleBooleanType())); + if (src.hasExampleCanonicalType()) + tgt.getProfile().add((Canonical40_50.convertCanonical(src.getExampleCanonicalType()))); if (src.hasRelativePath()) tgt.setRelativePathElement(Url40_50.convertUrl(src.getRelativePathElement())); return tgt; @@ -2659,8 +2666,10 @@ public class ImplementationGuide40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasReference()) tgt.setReference(Reference40_50.convertReference(src.getReference())); - if (src.hasExample()) - tgt.setExample(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getExample())); + if (src.hasIsExample()) + tgt.setExample(Boolean40_50.convertBoolean(src.getIsExampleElement())); + if (src.hasProfile()) + tgt.setExample(Canonical40_50.convertCanonical(src.getProfile().get(0))); if (src.hasRelativePath()) tgt.setRelativePathElement(Url40_50.convertUrl(src.getRelativePathElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java index e459dd678..383169423 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java @@ -8,6 +8,8 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ContactPoint; +import org.hl7.fhir.r5.model.ExtendedContactDetail; import java.util.stream.Collectors; @@ -63,21 +65,21 @@ public class Location40_50 { for (org.hl7.fhir.r4.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint40_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address40_50.convertAddress(src.getAddress())); if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept40_50.convertCodeableConcept(src.getPhysicalType())); + tgt.setForm(CodeableConcept40_50.convertCodeableConcept(src.getPhysicalType())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) tgt.setManagingOrganization(Reference40_50.convertReference(src.getManagingOrganization())); if (src.hasPartOf()) tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); - for (org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) - tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) +// tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r4.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } @@ -102,22 +104,23 @@ public class Location40_50 { tgt.setModeElement(convertLocationMode(src.getModeElement())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address40_50.convertAddress(src.getAddress())); - if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept40_50.convertCodeableConcept(src.getPhysicalType())); + if (src.hasForm()) + tgt.setPhysicalType(CodeableConcept40_50.convertCodeableConcept(src.getForm())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) tgt.setManagingOrganization(Reference40_50.convertReference(src.getManagingOrganization())); if (src.hasPartOf()) tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); - for (org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) - tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) +// tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } @@ -231,40 +234,40 @@ public class Location40_50 { tgt.setAltitudeElement(Decimal40_50.convertDecimal(src.getAltitudeElement())); return tgt; } - - public static org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(Location40_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); - if (src.hasOpeningTime()) - tgt.setOpeningTimeElement(Time40_50.convertTime(src.getOpeningTimeElement())); - if (src.hasClosingTime()) - tgt.setClosingTimeElement(Time40_50.convertTime(src.getClosingTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(Location40_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); - if (src.hasOpeningTime()) - tgt.setOpeningTimeElement(Time40_50.convertTime(src.getOpeningTimeElement())); - if (src.hasClosingTime()) - tgt.setClosingTimeElement(Time40_50.convertTime(src.getClosingTimeElement())); - return tgt; - } +// +// public static org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(Location40_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); +// if (src.hasOpeningTime()) +// tgt.setOpeningTimeElement(Time40_50.convertTime(src.getOpeningTimeElement())); +// if (src.hasClosingTime()) +// tgt.setClosingTimeElement(Time40_50.convertTime(src.getClosingTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r4.model.Location.LocationHoursOfOperationComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(Location40_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); +// if (src.hasOpeningTime()) +// tgt.setOpeningTimeElement(Time40_50.convertTime(src.getOpeningTimeElement())); +// if (src.hasClosingTime()) +// tgt.setClosingTimeElement(Time40_50.convertTime(src.getClosingTimeElement())); +// return tgt; +// } static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java index fc2360a30..955289aa4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java @@ -209,9 +209,9 @@ public class OperationDefinition40_50 { if (src.hasMax()) tgt.setMaxElement(String40_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) - tgt.setDocumentationElement(String40_50.convertString(src.getDocumentationElement())); + tgt.setDocumentationElement(String40_50.convertStringToMarkdown(src.getDocumentationElement())); if (src.hasType()) - tgt.getTypeElement().setValue(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(src.getType())); + tgt.getTypeElement().setValue(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.getType())); for (org.hl7.fhir.r4.model.CanonicalType t : src.getTargetProfile()) tgt.getTargetProfile().add(Canonical40_50.convertCanonical(t)); if (src.hasSearchType()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java index 9729a0f65..a067091a2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java @@ -6,6 +6,7 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; /* Copyright (c) 2011+, HL7, Inc. @@ -53,7 +54,7 @@ public class Organization40_50 { tgt.setNameElement(String40_50.convertString(src.getNameElement())); for (org.hl7.fhir.r4.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t)); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint40_50.convertContactPoint(t)); for (org.hl7.fhir.r4.model.Address t : src.getAddress()) tgt.addAddress(Address40_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); @@ -77,8 +78,9 @@ public class Organization40_50 { if (src.hasName()) tgt.setNameElement(String40_50.convertString(src.getNameElement())); for (org.hl7.fhir.r5.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address40_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java index e680acbda..7f615ecb5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java @@ -7,6 +7,9 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageConte import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; import java.util.stream.Collectors; @@ -74,15 +77,15 @@ public class SearchParameter40_50 { tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.r4.model.CodeType t : src.getBase()) tgt.getBase().add(Code40_50.convertResourceEnum(t)); + for (org.hl7.fhir.r4.model.CodeType t : src.getBase()) tgt.getBase().add(new Enumeration(new Enumerations.AllResourceTypesEnumFactory(), t.getCode())); if (src.hasType()) tgt.setTypeElement(Enumerations40_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); - if (src.hasXpath()) - tgt.setXpathElement(String40_50.convertString(src.getXpathElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String40_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); + tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); for (org.hl7.fhir.r4.model.CodeType t : src.getTarget()) tgt.getTarget().add(Code40_50.convertResourceEnum(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean40_50.convertBoolean(src.getMultipleOrElement())); @@ -133,15 +136,15 @@ public class SearchParameter40_50 { tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); - for (CodeType t : src.getBase()) tgt.getBase().add(Code40_50.convertResourceEnum(t)); + for (Enumeration t : src.getBase()) tgt.getBase().add(new org.hl7.fhir.r4.model.CodeType(t.getCode())); if (src.hasType()) tgt.setTypeElement(Enumerations40_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); - if (src.hasXpath()) - tgt.setXpathElement(String40_50.convertString(src.getXpathElement())); - if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String40_50.convertString(src.getXpathElement())); + if (src.hasProcessingMode()) + tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); for (CodeType t : src.getTarget()) tgt.getTarget().add(Code40_50.convertResourceEnum(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean40_50.convertBoolean(src.getMultipleOrElement())); @@ -159,35 +162,35 @@ public class SearchParameter40_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.XPathUsageTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeTypeEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case NORMAL: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NORMAL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NORMAL); break; case PHONETIC: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.PHONETIC); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.PHONETIC); break; case NEARBY: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case DISTANCE: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case OTHER: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.SearchParameter.XPathUsageTypeEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java index 481ce513f..8774833b0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java @@ -6,6 +6,10 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDet import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r4.model.CodeType; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.TerminologyCapabilities.CommonLanguages; +import org.hl7.fhir.r5.model.TerminologyCapabilities.CommonLanguagesEnumFactory; /* Copyright (c) 2011+, HL7, Inc. @@ -201,10 +205,10 @@ public class TerminologyCapabilities40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case EXPLICIT: - tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.EXPLICIT); + tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.INCOMPOSE); break; case ALL: - tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.ALL); + tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.INCOMPOSEOREXPANSION); break; default: tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.NULL); @@ -219,10 +223,10 @@ public class TerminologyCapabilities40_50 { org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.TerminologyCapabilities.CodeSearchSupportEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { - case EXPLICIT: + case INCOMPOSE: tgt.setValue(org.hl7.fhir.r4.model.TerminologyCapabilities.CodeSearchSupport.EXPLICIT); break; - case ALL: + case INCOMPOSEOREXPANSION: tgt.setValue(org.hl7.fhir.r4.model.TerminologyCapabilities.CodeSearchSupport.ALL); break; default: @@ -319,7 +323,7 @@ public class TerminologyCapabilities40_50 { tgt.setIsDefaultElement(Boolean40_50.convertBoolean(src.getIsDefaultElement())); if (src.hasCompositional()) tgt.setCompositionalElement(Boolean40_50.convertBoolean(src.getCompositionalElement())); - for (org.hl7.fhir.r4.model.CodeType t : src.getLanguage()) tgt.getLanguage().add(Code40_50.convertCode(t)); + for (org.hl7.fhir.r4.model.CodeType t : src.getLanguage()) tgt.getLanguage().add(new Enumeration(new CommonLanguagesEnumFactory(), t.getCode())); for (org.hl7.fhir.r4.model.TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent t : src.getFilter()) tgt.addFilter(convertTerminologyCapabilitiesCodeSystemVersionFilterComponent(t)); for (org.hl7.fhir.r4.model.CodeType t : src.getProperty()) tgt.getProperty().add(Code40_50.convertCode(t)); @@ -337,7 +341,7 @@ public class TerminologyCapabilities40_50 { tgt.setIsDefaultElement(Boolean40_50.convertBoolean(src.getIsDefaultElement())); if (src.hasCompositional()) tgt.setCompositionalElement(Boolean40_50.convertBoolean(src.getCompositionalElement())); - for (org.hl7.fhir.r5.model.CodeType t : src.getLanguage()) tgt.getLanguage().add(Code40_50.convertCode(t)); + for (Enumeration t : src.getLanguage()) tgt.getLanguage().add(new CodeType(t.getCode())); for (org.hl7.fhir.r5.model.TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent t : src.getFilter()) tgt.addFilter(convertTerminologyCapabilitiesCodeSystemVersionFilterComponent(t)); for (org.hl7.fhir.r5.model.CodeType t : src.getProperty()) tgt.getProperty().add(Code40_50.convertCode(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java index 2c58b884a..4bb079f34 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java @@ -653,7 +653,7 @@ public class TestScript40_50 { if (src.hasRequestURL()) tgt.setRequestURLElement(String40_50.convertString(src.getRequestURLElement())); if (src.hasResource()) - tgt.setResource(org.hl7.fhir.r5.model.TestScript.FHIRDefinedType.fromCode(src.getResource())); + tgt.setResource(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCode()) @@ -705,7 +705,7 @@ public class TestScript40_50 { if (src.hasRequestURL()) tgt.setRequestURLElement(String40_50.convertString(src.getRequestURLElement())); if (src.hasResource()) - tgt.setResource(src.getResource().toCode()); + tgt.setResource(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCode()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/SampledData43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/SampledData43_50.java index 445afc983..41a7a43a8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/SampledData43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/SampledData43_50.java @@ -12,7 +12,7 @@ public class SampledData43_50 { org.hl7.fhir.r5.model.SampledData tgt = new org.hl7.fhir.r5.model.SampledData(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity43_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriod()) tgt.setPeriodElement(Decimal43_50.convertDecimal(src.getPeriodElement())); + if (src.hasPeriod()) tgt.setIntervalElement(Decimal43_50.convertDecimal(src.getPeriodElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal43_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal43_50.convertDecimal(src.getUpperLimitElement())); @@ -26,7 +26,7 @@ public class SampledData43_50 { org.hl7.fhir.r4b.model.SampledData tgt = new org.hl7.fhir.r4b.model.SampledData(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); if (src.hasOrigin()) tgt.setOrigin(SimpleQuantity43_50.convertSimpleQuantity(src.getOrigin())); - if (src.hasPeriod()) tgt.setPeriodElement(Decimal43_50.convertDecimal(src.getPeriodElement())); + if (src.hasInterval()) tgt.setPeriodElement(Decimal43_50.convertDecimal(src.getIntervalElement())); if (src.hasFactor()) tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); if (src.hasLowerLimit()) tgt.setLowerLimitElement(Decimal43_50.convertDecimal(src.getLowerLimitElement())); if (src.hasUpperLimit()) tgt.setUpperLimitElement(Decimal43_50.convertDecimal(src.getUpperLimitElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/DataRequirement43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/DataRequirement43_50.java index b445cb9d3..09cf9773a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/DataRequirement43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/DataRequirement43_50.java @@ -13,7 +13,7 @@ public class DataRequirement43_50 { org.hl7.fhir.r5.model.DataRequirement tgt = new org.hl7.fhir.r5.model.DataRequirement(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); if (src.hasType()) - tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(convertResourceName4to5(src.getType().toCode()))); + tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(convertResourceName4to5(src.getType().toCode()))); for (org.hl7.fhir.r4b.model.CanonicalType t : src.getProfile()) tgt.getProfile().add(Canonical43_50.convertCanonical(t)); if (src.hasSubject()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/ParameterDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/ParameterDefinition43_50.java index 0742491da..98a738cfd 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/ParameterDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/metadata43_50/ParameterDefinition43_50.java @@ -17,7 +17,7 @@ public class ParameterDefinition43_50 { if (src.hasMin()) tgt.setMinElement(Integer43_50.convertInteger(src.getMinElement())); if (src.hasMax()) tgt.setMaxElement(String43_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) tgt.setDocumentationElement(String43_50.convertString(src.getDocumentationElement())); - if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(src.getType().toCode())); + if (src.hasType()) tgt.setType(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.getType().toCode())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Code43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Code43_50.java index 05d71a37b..ed4e83d5a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Code43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Code43_50.java @@ -2,6 +2,8 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class Code43_50 { public static org.hl7.fhir.r5.model.CodeType convertCode(org.hl7.fhir.r4b.model.CodeType src) throws FHIRException { @@ -16,11 +18,11 @@ public class Code43_50 { return tgt; } - public static org.hl7.fhir.r5.model.CodeType convertResourceEnum(org.hl7.fhir.r4b.model.CodeType src) { - return Code43_50.convertCode(src); + public static org.hl7.fhir.r5.model.Enumeration convertResourceEnum(org.hl7.fhir.r4b.model.CodeType src) { + return new Enumeration(new org.hl7.fhir.r5.model.Enumerations.AllResourceTypesEnumFactory(), src.getCode()); } - public static org.hl7.fhir.r4b.model.CodeType convertResourceEnum(org.hl7.fhir.r5.model.CodeType src) { - return Code43_50.convertCode(src); + public static org.hl7.fhir.r4b.model.CodeType convertResourceEnum(org.hl7.fhir.r5.model.Enumeration src) { + return new org.hl7.fhir.r4b.model.CodeType(src.getCode()); } } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java index fad40ac0e..8d4796d29 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java @@ -507,7 +507,7 @@ public class ElementDefinition43_50 { org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionConstraintComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); if (src.hasKey()) tgt.setKeyElement(Id43_50.convertId(src.getKeyElement())); - if (src.hasRequirements()) tgt.setRequirementsElement(String43_50.convertString(src.getRequirementsElement())); + if (src.hasRequirements()) tgt.setRequirementsElement(String43_50.convertStringToMarkdown(src.getRequirementsElement())); if (src.hasSeverity()) tgt.setSeverityElement(convertConstraintSeverity(src.getSeverityElement())); if (src.hasHuman()) tgt.setHumanElement(String43_50.convertString(src.getHumanElement())); if (src.hasExpression()) tgt.setExpressionElement(String43_50.convertString(src.getExpressionElement())); @@ -579,7 +579,7 @@ public class ElementDefinition43_50 { org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent tgt = new org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); if (src.hasStrength()) tgt.setStrengthElement(Enumerations43_50.convertBindingStrength(src.getStrengthElement())); - if (src.hasDescription()) tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); + if (src.hasDescription()) tgt.setDescriptionElement(String43_50.convertStringToMarkdown(src.getDescriptionElement())); if (src.hasValueSet()) tgt.setValueSetElement(Canonical43_50.convertCanonical(src.getValueSetElement())); return tgt; } @@ -601,7 +601,7 @@ public class ElementDefinition43_50 { if (src.hasIdentity()) tgt.setIdentityElement(Id43_50.convertId(src.getIdentityElement())); if (src.hasLanguage()) tgt.setLanguageElement(Code43_50.convertCode(src.getLanguageElement())); if (src.hasMap()) tgt.setMapElement(String43_50.convertString(src.getMapElement())); - if (src.hasComment()) tgt.setCommentElement(String43_50.convertString(src.getCommentElement())); + if (src.hasComment()) tgt.setCommentElement(String43_50.convertStringToMarkdown(src.getCommentElement())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java index 40b980df5..3229fe46f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java @@ -5,6 +5,7 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Signature43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; /* Copyright (c) 2011+, HL7, Inc. @@ -165,7 +166,7 @@ public class Bundle43_50 { org.hl7.fhir.r5.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r5.model.Bundle.BundleLinkComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasRelation()) - tgt.setRelationElement(String43_50.convertString(src.getRelationElement())); + tgt.setRelation(LinkRelationTypes.fromCode(src.getRelation())); if (src.hasUrl()) tgt.setUrlElement(Uri43_50.convertUri(src.getUrlElement())); return tgt; @@ -177,7 +178,7 @@ public class Bundle43_50 { org.hl7.fhir.r4b.model.Bundle.BundleLinkComponent tgt = new org.hl7.fhir.r4b.model.Bundle.BundleLinkComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasRelation()) - tgt.setRelationElement(String43_50.convertString(src.getRelationElement())); + tgt.setRelation((src.getRelation().toCode())); if (src.hasUrl()) tgt.setUrlElement(Uri43_50.convertUri(src.getUrlElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java index 952611673..6c46f7855 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java @@ -306,26 +306,26 @@ public class CapabilityStatement43_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityModeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case CLIENT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.CLIENT); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.CLIENT); break; case SERVER: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.SERVER); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.SERVER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode.NULL); + tgt.setValue(org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertRestfulCapabilityMode(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.CapabilityStatement.RestfulCapabilityModeEnumFactory()); @@ -378,7 +378,7 @@ public class CapabilityStatement43_50 { org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestResourceComponent tgt = new org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestResourceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code43_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code43_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r4b.model.CanonicalType t : src.getSupportedProfile()) @@ -421,7 +421,7 @@ public class CapabilityStatement43_50 { org.hl7.fhir.r4b.model.CapabilityStatement.CapabilityStatementRestResourceComponent tgt = new org.hl7.fhir.r4b.model.CapabilityStatement.CapabilityStatementRestResourceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code43_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code43_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r5.model.CanonicalType t : src.getSupportedProfile()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java index 11907b284..f5c95e119 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java @@ -171,7 +171,7 @@ public class CompartmentDefinition43_50 { org.hl7.fhir.r5.model.CompartmentDefinition.CompartmentDefinitionResourceComponent tgt = new org.hl7.fhir.r5.model.CompartmentDefinition.CompartmentDefinitionResourceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code43_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); for (org.hl7.fhir.r4b.model.StringType t : src.getParam()) tgt.getParam().add(String43_50.convertString(t)); if (src.hasDocumentation()) tgt.setDocumentationElement(String43_50.convertString(src.getDocumentationElement())); @@ -184,7 +184,7 @@ public class CompartmentDefinition43_50 { org.hl7.fhir.r4b.model.CompartmentDefinition.CompartmentDefinitionResourceComponent tgt = new org.hl7.fhir.r4b.model.CompartmentDefinition.CompartmentDefinitionResourceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code43_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); for (org.hl7.fhir.r5.model.StringType t : src.getParam()) tgt.getParam().add(String43_50.convertString(t)); if (src.hasDocumentation()) tgt.setDocumentationElement(String43_50.convertString(src.getDocumentationElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java index 03e16db2f..4f8a92536 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java @@ -51,7 +51,7 @@ public class Composition43_50 { org.hl7.fhir.r5.model.Composition tgt = new org.hl7.fhir.r5.model.Composition(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier())); + tgt.addIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); if (src.hasType()) @@ -59,7 +59,7 @@ public class Composition43_50 { for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getCategory()) tgt.addCategory(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasSubject()) - tgt.setSubject(Reference43_50.convertReference(src.getSubject())); + tgt.addSubject(Reference43_50.convertReference(src.getSubject())); if (src.hasEncounter()) tgt.setEncounter(Reference43_50.convertReference(src.getEncounter())); if (src.hasDate()) @@ -68,7 +68,7 @@ public class Composition43_50 { if (src.hasTitle()) tgt.setTitleElement(String43_50.convertString(src.getTitleElement())); if (src.hasConfidentiality()) - tgt.setConfidentialityElement(Code43_50.convertCode(src.getConfidentialityElement())); + tgt.getMeta().addSecurity().setCodeElement(Code43_50.convertCode(src.getConfidentialityElement())); for (org.hl7.fhir.r4b.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -88,7 +88,7 @@ public class Composition43_50 { org.hl7.fhir.r4b.model.Composition tgt = new org.hl7.fhir.r4b.model.Composition(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier())); + tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifierFirstRep())); if (src.hasStatus()) tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); if (src.hasType()) @@ -96,7 +96,7 @@ public class Composition43_50 { for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCategory()) tgt.addCategory(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasSubject()) - tgt.setSubject(Reference43_50.convertReference(src.getSubject())); + tgt.setSubject(Reference43_50.convertReference(src.getSubjectFirstRep())); if (src.hasEncounter()) tgt.setEncounter(Reference43_50.convertReference(src.getEncounter())); if (src.hasDate()) @@ -104,8 +104,8 @@ public class Composition43_50 { for (org.hl7.fhir.r5.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference43_50.convertReference(t)); if (src.hasTitle()) tgt.setTitleElement(String43_50.convertString(src.getTitleElement())); - if (src.hasConfidentiality()) - tgt.setConfidentialityElement(Code43_50.convertCode(src.getConfidentialityElement())); + if (src.getMeta().hasSecurity()) + tgt.setConfidentialityElement(Code43_50.convertCode(src.getMeta().getSecurityFirstRep().getCodeElement())); for (org.hl7.fhir.r5.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DetectedIssue43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DetectedIssue43_50.java index 6e85c52e7..1e6e9cfb6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DetectedIssue43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DetectedIssue43_50.java @@ -54,7 +54,7 @@ public class DetectedIssue43_50 { if (src.hasSeverity()) tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement())); if (src.hasPatient()) - tgt.setPatient(Reference43_50.convertReference(src.getPatient())); + tgt.setSubject(Reference43_50.convertReference(src.getPatient())); if (src.hasIdentified()) tgt.setIdentified(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getIdentified())); if (src.hasAuthor()) @@ -84,8 +84,8 @@ public class DetectedIssue43_50 { tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); if (src.hasSeverity()) tgt.setSeverityElement(convertDetectedIssueSeverity(src.getSeverityElement())); - if (src.hasPatient()) - tgt.setPatient(Reference43_50.convertReference(src.getPatient())); + if (src.hasSubject()) + tgt.setPatient(Reference43_50.convertReference(src.getSubject())); if (src.hasIdentified()) tgt.setIdentified(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getIdentified())); if (src.hasAuthor()) @@ -102,73 +102,61 @@ public class DetectedIssue43_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ObservationStatusEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatusEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case REGISTERED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.REGISTERED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case PRELIMINARY: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.PRELIMINARY); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.PRELIMINARY); break; case FINAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.FINAL); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.FINAL); break; case AMENDED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.AMENDED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.FINAL); break; case CORRECTED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.CORRECTED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.MITIGATED); break; case CANCELLED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.CANCELLED); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.MITIGATED); break; case ENTEREDINERROR: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.ENTEREDINERROR); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.ENTEREDINERROR); break; case UNKNOWN: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.UNKNOWN); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.NULL); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ObservationStatus.NULL); + tgt.setValue(org.hl7.fhir.r5.model.DetectedIssue.DetectedIssueStatus.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertDetectedIssueStatus(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.ObservationStatusEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { - case REGISTERED: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.REGISTERED); - break; case PRELIMINARY: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.PRELIMINARY); break; case FINAL: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.FINAL); break; - case AMENDED: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.AMENDED); - break; - case CORRECTED: + case MITIGATED: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.CORRECTED); break; - case CANCELLED: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.CANCELLED); - break; case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.ENTEREDINERROR); break; - case UNKNOWN: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.UNKNOWN); - break; default: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.ObservationStatus.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DiagnosticReport43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DiagnosticReport43_50.java index be962723b..e3d5d0c23 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DiagnosticReport43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DiagnosticReport43_50.java @@ -67,8 +67,6 @@ public class DiagnosticReport43_50 { tgt.addResultsInterpreter(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getResult()) tgt.addResult(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r4b.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.DiagnosticReport.DiagnosticReportMediaComponent t : src.getMedia()) tgt.addMedia(convertDiagnosticReportMediaComponent(t)); if (src.hasConclusion()) @@ -107,8 +105,6 @@ public class DiagnosticReport43_50 { tgt.addResultsInterpreter(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getSpecimen()) tgt.addSpecimen(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getResult()) tgt.addResult(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getImagingStudy()) - tgt.addImagingStudy(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.DiagnosticReport.DiagnosticReportMediaComponent t : src.getMedia()) tgt.addMedia(convertDiagnosticReportMediaComponent(t)); if (src.hasConclusion()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java index 467aa7a48..381d6df5c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java @@ -274,8 +274,8 @@ public class DocumentReference43_50 { tgt.setFacilityType(CodeableConcept43_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept43_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference43_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference43_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.r4b.model.Reference t : src.getRelated()) tgt.addRelated(Reference43_50.convertReference(t)); } @@ -290,8 +290,8 @@ public class DocumentReference43_50 { tgt.setFacilityType(CodeableConcept43_50.convertCodeableConcept(src.getFacilityType())); if (src.hasPracticeSetting()) tgt.setPracticeSetting(CodeableConcept43_50.convertCodeableConcept(src.getPracticeSetting())); - if (src.hasSourcePatientInfo()) - tgt.setSourcePatientInfo(Reference43_50.convertReference(src.getSourcePatientInfo())); +// if (src.hasSourcePatientInfo()) +// tgt.setSourcePatientInfo(Reference43_50.convertReference(src.getSourcePatientInfo())); // for (org.hl7.fhir.r5.model.Reference t : src.getRelated()) tgt.addRelated(Reference43_50.convertReference(t)); } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java index 31f055dc6..efab202b3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java @@ -50,13 +50,13 @@ public class Encounter43_50 { for (org.hl7.fhir.r4b.model.Encounter.StatusHistoryComponent t : src.getStatusHistory()) tgt.addStatusHistory(convertStatusHistoryComponent(t)); if (src.hasClass_()) - tgt.setClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(Coding43_50.convertCoding(src.getClass_()))); + tgt.addClass_(new org.hl7.fhir.r5.model.CodeableConcept().addCoding(Coding43_50.convertCoding(src.getClass_()))); for (org.hl7.fhir.r4b.model.Encounter.ClassHistoryComponent t : src.getClassHistory()) tgt.addClassHistory(convertClassHistoryComponent(t)); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasServiceType()) - tgt.setServiceType(new CodeableReference(CodeableConcept43_50.convertCodeableConcept(src.getServiceType()))); + tgt.addServiceType(new CodeableReference(CodeableConcept43_50.convertCodeableConcept(src.getServiceType()))); if (src.hasPriority()) tgt.setPriority(CodeableConcept43_50.convertCodeableConcept(src.getPriority())); if (src.hasSubject()) @@ -80,7 +80,7 @@ public class Encounter43_50 { tgt.addDiagnosis(convertDiagnosisComponent(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getAccount()) tgt.addAccount(Reference43_50.convertReference(t)); if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + tgt.setAdmission(convertEncounterHospitalizationComponent(src.getHospitalization())); for (org.hl7.fhir.r4b.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -102,13 +102,13 @@ public class Encounter43_50 { for (org.hl7.fhir.r5.model.Encounter.StatusHistoryComponent t : src.getStatusHistory()) tgt.addStatusHistory(convertStatusHistoryComponent(t)); if (src.hasClass_()) - tgt.setClass_(Coding43_50.convertCoding(src.getClass_().getCodingFirstRep())); + tgt.setClass_(Coding43_50.convertCoding(src.getClass_FirstRep().getCodingFirstRep())); for (org.hl7.fhir.r5.model.Encounter.ClassHistoryComponent t : src.getClassHistory()) tgt.addClassHistory(convertClassHistoryComponent(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); - if (src.getServiceType().hasConcept()) - tgt.setServiceType(CodeableConcept43_50.convertCodeableConcept(src.getServiceType().getConcept())); + if (src.getServiceTypeFirstRep().hasConcept()) + tgt.setServiceType(CodeableConcept43_50.convertCodeableConcept(src.getServiceTypeFirstRep().getConcept())); if (src.hasPriority()) tgt.setPriority(CodeableConcept43_50.convertCodeableConcept(src.getPriority())); if (src.hasSubject()) @@ -133,8 +133,8 @@ public class Encounter43_50 { for (org.hl7.fhir.r5.model.Encounter.DiagnosisComponent t : src.getDiagnosis()) tgt.addDiagnosis(convertDiagnosisComponent(t)); for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference43_50.convertReference(t)); - if (src.hasHospitalization()) - tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getHospitalization())); + if (src.hasAdmission()) + tgt.setHospitalization(convertEncounterHospitalizationComponent(src.getAdmission())); for (org.hl7.fhir.r5.model.Encounter.EncounterLocationComponent t : src.getLocation()) tgt.addLocation(convertEncounterLocationComponent(t)); if (src.hasServiceProvider()) @@ -319,10 +319,10 @@ public class Encounter43_50 { return tgt; } - public static org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r4b.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r4b.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { if (src == null) return null; - org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent(); + org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent tgt = new org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasPreAdmissionIdentifier()) tgt.setPreAdmissionIdentifier(Identifier43_50.convertIdentifier(src.getPreAdmissionIdentifier())); @@ -345,7 +345,7 @@ public class Encounter43_50 { return tgt; } - public static org.hl7.fhir.r4b.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterHospitalizationComponent src) throws FHIRException { + public static org.hl7.fhir.r4b.model.Encounter.EncounterHospitalizationComponent convertEncounterHospitalizationComponent(org.hl7.fhir.r5.model.Encounter.EncounterAdmissionComponent src) throws FHIRException { if (src == null) return null; org.hl7.fhir.r4b.model.Encounter.EncounterHospitalizationComponent tgt = new org.hl7.fhir.r4b.model.Encounter.EncounterHospitalizationComponent(); @@ -381,7 +381,7 @@ public class Encounter43_50 { if (src.hasStatus()) tgt.setStatusElement(convertEncounterLocationStatus(src.getStatusElement())); if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept43_50.convertCodeableConcept(src.getPhysicalType())); + tgt.setForm(CodeableConcept43_50.convertCodeableConcept(src.getPhysicalType())); if (src.hasPeriod()) tgt.setPeriod(Period43_50.convertPeriod(src.getPeriod())); return tgt; @@ -396,8 +396,8 @@ public class Encounter43_50 { tgt.setLocation(Reference43_50.convertReference(src.getLocation())); if (src.hasStatus()) tgt.setStatusElement(convertEncounterLocationStatus(src.getStatusElement())); - if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept43_50.convertCodeableConcept(src.getPhysicalType())); + if (src.hasForm()) + tgt.setPhysicalType(CodeableConcept43_50.convertCodeableConcept(src.getForm())); if (src.hasPeriod()) tgt.setPeriod(Period43_50.convertPeriod(src.getPeriod())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java index 40d460064..448b42805 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java @@ -68,7 +68,7 @@ public class GraphDefinition43_50 { if (src.hasPurpose()) tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); if (src.hasStart()) - tgt.setStartElement(Code43_50.convertResourceEnum(src.getStartElement())); + tgt.setStartElement(Code43_50.convertCode(src.getStartElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r4b.model.GraphDefinition.GraphDefinitionLinkComponent t : src.getLink()) @@ -106,7 +106,7 @@ public class GraphDefinition43_50 { if (src.hasPurpose()) tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); if (src.hasStart()) - tgt.setStartElement(Code43_50.convertResourceEnum(src.getStartElement())); + tgt.setStartElement(Code43_50.convertCode(src.getStartElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); for (org.hl7.fhir.r5.model.GraphDefinition.GraphDefinitionLinkComponent t : src.getLink()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Group43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Group43_50.java index 91f092101..ac5484d0f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Group43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Group43_50.java @@ -9,6 +9,7 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Group.GroupMembershipBasis; /* Copyright (c) 2011+, HL7, Inc. @@ -53,7 +54,7 @@ public class Group43_50 { if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); if (src.hasActual()) - tgt.setActualElement(Boolean43_50.convertBoolean(src.getActualElement())); + tgt.setMembership(src.getActual() ? GroupMembershipBasis.ENUMERATED : GroupMembershipBasis.DEFINITIONAL); if (src.hasCode()) tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); if (src.hasName()) @@ -80,8 +81,8 @@ public class Group43_50 { tgt.setActiveElement(Boolean43_50.convertBoolean(src.getActiveElement())); if (src.hasType()) tgt.setTypeElement(convertGroupType(src.getTypeElement())); - if (src.hasActual()) - tgt.setActualElement(Boolean43_50.convertBoolean(src.getActualElement())); + if (src.hasMembership()) + tgt.setActual(src.getMembership() == GroupMembershipBasis.ENUMERATED); if (src.hasCode()) tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); if (src.hasName()) @@ -115,12 +116,6 @@ public class Group43_50 { case DEVICE: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Group.GroupType.NULL); break; @@ -146,12 +141,6 @@ public class Group43_50 { case DEVICE: tgt.setValue(org.hl7.fhir.r4b.model.Group.GroupType.DEVICE); break; - case MEDICATION: - tgt.setValue(org.hl7.fhir.r4b.model.Group.GroupType.MEDICATION); - break; - case SUBSTANCE: - tgt.setValue(org.hl7.fhir.r4b.model.Group.GroupType.SUBSTANCE); - break; default: tgt.setValue(org.hl7.fhir.r4b.model.Group.GroupType.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java index e540035d3..de0f04428 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java @@ -8,6 +8,7 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; import java.util.stream.Collectors; @@ -69,7 +70,7 @@ public class HealthcareService43_50 { if (src.hasPhoto()) tgt.setPhoto(Attachment43_50.convertAttachment(src.getPhoto())); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint43_50.convertContactPoint(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -86,12 +87,12 @@ public class HealthcareService43_50 { tgt.addReferralMethod(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasAppointmentRequired()) tgt.setAppointmentRequiredElement(Boolean43_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r4b.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } @@ -122,8 +123,9 @@ public class HealthcareService43_50 { tgt.setExtraDetailsElement(MarkDown43_50.convertMarkdown(src.getExtraDetailsElement())); if (src.hasPhoto()) tgt.setPhoto(Attachment43_50.convertAttachment(src.getPhoto())); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Reference t : src.getCoverageArea()) tgt.addCoverageArea(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getServiceProvisionCode()) @@ -140,12 +142,12 @@ public class HealthcareService43_50 { tgt.addReferralMethod(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasAppointmentRequired()) tgt.setAppointmentRequiredElement(Boolean43_50.convertBoolean(src.getAppointmentRequiredElement())); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertHealthcareServiceAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertHealthcareServiceNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } @@ -173,40 +175,40 @@ public class HealthcareService43_50 { tgt.setCommentElement(MarkDown43_50.convertMarkdown(src.getCommentElement())); return tgt; } - - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService43_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(HealthcareService43_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } +// +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService43_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent convertHealthcareServiceAvailableTimeComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent tgt = new org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceAvailableTimeComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(HealthcareService43_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) @@ -275,28 +277,28 @@ public class HealthcareService43_50 { } return tgt; } - - public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); - return tgt; - } +// +// public static org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent convertHealthcareServiceNotAvailableComponent(org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent tgt = new org.hl7.fhir.r4b.model.HealthcareService.HealthcareServiceNotAvailableComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java index b82f098dc..0db9e3d9c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java @@ -1,6 +1,8 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; @@ -2311,7 +2313,7 @@ public class ImplementationGuide43_50 { tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); for (org.hl7.fhir.r4b.model.Extension e : org.hl7.fhir.r4b.utils.ToolingExtensions.getExtensions(src, EXT_IG_DEFINITION_PARAMETER)) { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent p = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); - p.setCode(org.hl7.fhir.r4b.utils.ToolingExtensions.readStringExtension(e, "code")); + p.getCode().setCode(org.hl7.fhir.r4b.utils.ToolingExtensions.readStringExtension(e, "code")); p.setValue(org.hl7.fhir.r4b.utils.ToolingExtensions.readStringExtension(e, "Value")); tgt.addParameter(p); } @@ -2332,11 +2334,11 @@ public class ImplementationGuide43_50 { if (src.hasPage()) tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) { - if (Utilities.existsInList(t.getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) + if (Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); else { org.hl7.fhir.r4b.model.Extension e = new org.hl7.fhir.r4b.model.Extension(EXT_IG_DEFINITION_PARAMETER); - org.hl7.fhir.r4b.model.Extension eCode = new org.hl7.fhir.r4b.model.Extension("code", new org.hl7.fhir.r4b.model.StringType(t.getCode())); + org.hl7.fhir.r4b.model.Extension eCode = new org.hl7.fhir.r4b.model.Extension("code", new org.hl7.fhir.r4b.model.StringType(t.getCode().getCode())); org.hl7.fhir.r4b.model.Extension eValue = new org.hl7.fhir.r4b.model.Extension("value", new org.hl7.fhir.r4b.model.StringType(t.getValue())); e.addExtension(eCode); e.addExtension(eValue); @@ -2386,8 +2388,10 @@ public class ImplementationGuide43_50 { tgt.setNameElement(String43_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(String43_50.convertStringToMarkdown(src.getDescriptionElement())); - if (src.hasExample()) - tgt.setExample(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getExample())); + if (src.hasExampleBooleanType()) + tgt.setIsExampleElement(Boolean43_50.convertBoolean(src.getExampleBooleanType())); + if (src.hasExampleCanonicalType()) + tgt.getProfile().add(Canonical43_50.convertCanonical(src.getExampleCanonicalType())); if (src.hasGroupingId()) tgt.setGroupingIdElement(Id43_50.convertId(src.getGroupingIdElement())); return tgt; @@ -2407,8 +2411,10 @@ public class ImplementationGuide43_50 { tgt.setNameElement(String43_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); - if (src.hasExample()) - tgt.setExample(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getExample())); + if (src.hasIsExample()) + tgt.setExample(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getIsExampleElement())); + if (src.hasProfile()) + tgt.setExample(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getProfile().get(0))); if (src.hasGroupingId()) tgt.setGroupingIdElement(Id43_50.convertId(src.getGroupingIdElement())); return tgt; @@ -2419,8 +2425,10 @@ public class ImplementationGuide43_50 { return null; org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasName()) - tgt.setName(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getName())); + if (src.hasNameReference()) + tgt.setName(src.getNameReference().getReference()); + else if (src.hasNameUrlType()) + tgt.setName(src.getNameUrlType().getValue()); if (src.hasTitle()) tgt.setTitleElement(String43_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -2436,7 +2444,7 @@ public class ImplementationGuide43_50 { org.hl7.fhir.r4b.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r4b.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasName()) - tgt.setName(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getName())); + tgt.setName(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getNameElement())); if (src.hasTitle()) tgt.setTitleElement(String43_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -2502,7 +2510,7 @@ public class ImplementationGuide43_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.getCodeElement().setValueAsString(src.getCode().toCode()); + tgt.getCode().setCode(src.getCode().toCode()); if (src.hasValue()) tgt.setValueElement(String43_50.convertString(src.getValueElement())); return tgt; @@ -2514,7 +2522,7 @@ public class ImplementationGuide43_50 { org.hl7.fhir.r4b.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r4b.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.getCodeElement().setValueAsString(src.getCode()); + tgt.getCodeElement().setValueAsString(src.getCode().getCode()); if (src.hasValue()) tgt.setValueElement(String43_50.convertString(src.getValueElement())); return tgt; @@ -2645,8 +2653,10 @@ public class ImplementationGuide43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasReference()) tgt.setReference(Reference43_50.convertReference(src.getReference())); - if (src.hasExample()) - tgt.setExample(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getExample())); + if (src.hasExampleBooleanType()) + tgt.setIsExampleElement(Boolean43_50.convertBoolean(src.getExampleBooleanType())); + if (src.hasExampleCanonicalType()) + tgt.getProfile().add((Canonical43_50.convertCanonical(src.getExampleCanonicalType()))); if (src.hasRelativePath()) tgt.setRelativePathElement(Url43_50.convertUrl(src.getRelativePathElement())); return tgt; @@ -2659,8 +2669,10 @@ public class ImplementationGuide43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasReference()) tgt.setReference(Reference43_50.convertReference(src.getReference())); - if (src.hasExample()) - tgt.setExample(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getExample())); + if (src.hasIsExample()) + tgt.setExample(Boolean43_50.convertBoolean(src.getIsExampleElement())); + if (src.hasProfile()) + tgt.setExample(Canonical43_50.convertCanonical(src.getProfile().get(0))); if (src.hasRelativePath()) tgt.setRelativePathElement(Url43_50.convertUrl(src.getRelativePathElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java index 003093ae2..ce1991392 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java @@ -8,6 +8,8 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ContactPoint; +import org.hl7.fhir.r5.model.ExtendedContactDetail; import java.util.stream.Collectors; @@ -63,21 +65,21 @@ public class Location43_50 { for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint43_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address43_50.convertAddress(src.getAddress())); if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept43_50.convertCodeableConcept(src.getPhysicalType())); + tgt.setForm(CodeableConcept43_50.convertCodeableConcept(src.getPhysicalType())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) tgt.setManagingOrganization(Reference43_50.convertReference(src.getManagingOrganization())); if (src.hasPartOf()) tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); - for (org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) - tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) +// tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r4b.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } @@ -102,22 +104,23 @@ public class Location43_50 { tgt.setModeElement(convertLocationMode(src.getModeElement())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); if (src.hasAddress()) tgt.setAddress(Address43_50.convertAddress(src.getAddress())); - if (src.hasPhysicalType()) - tgt.setPhysicalType(CodeableConcept43_50.convertCodeableConcept(src.getPhysicalType())); + if (src.hasForm()) + tgt.setPhysicalType(CodeableConcept43_50.convertCodeableConcept(src.getForm())); if (src.hasPosition()) tgt.setPosition(convertLocationPositionComponent(src.getPosition())); if (src.hasManagingOrganization()) tgt.setManagingOrganization(Reference43_50.convertReference(src.getManagingOrganization())); if (src.hasPartOf()) tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); - for (org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) - tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); +// for (org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent t : src.getHoursOfOperation()) +// tgt.addHoursOfOperation(convertLocationHoursOfOperationComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } @@ -231,40 +234,40 @@ public class Location43_50 { tgt.setAltitudeElement(Decimal43_50.convertDecimal(src.getAltitudeElement())); return tgt; } - - public static org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(Location43_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); - if (src.hasOpeningTime()) - tgt.setOpeningTimeElement(Time43_50.convertTime(src.getOpeningTimeElement())); - if (src.hasClosingTime()) - tgt.setClosingTimeElement(Time43_50.convertTime(src.getClosingTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(Location43_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); - if (src.hasOpeningTime()) - tgt.setOpeningTimeElement(Time43_50.convertTime(src.getOpeningTimeElement())); - if (src.hasClosingTime()) - tgt.setClosingTimeElement(Time43_50.convertTime(src.getClosingTimeElement())); - return tgt; - } +// +// public static org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(Location43_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); +// if (src.hasOpeningTime()) +// tgt.setOpeningTimeElement(Time43_50.convertTime(src.getOpeningTimeElement())); +// if (src.hasClosingTime()) +// tgt.setClosingTimeElement(Time43_50.convertTime(src.getClosingTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent convertLocationHoursOfOperationComponent(org.hl7.fhir.r5.model.Location.LocationHoursOfOperationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent tgt = new org.hl7.fhir.r4b.model.Location.LocationHoursOfOperationComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(Location43_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); +// if (src.hasOpeningTime()) +// tgt.setOpeningTimeElement(Time43_50.convertTime(src.getOpeningTimeElement())); +// if (src.hasClosingTime()) +// tgt.setClosingTimeElement(Time43_50.convertTime(src.getClosingTimeElement())); +// return tgt; +// } static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java index 2e9a44de6..ad68abe12 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java @@ -209,9 +209,9 @@ public class OperationDefinition43_50 { if (src.hasMax()) tgt.setMaxElement(String43_50.convertString(src.getMaxElement())); if (src.hasDocumentation()) - tgt.setDocumentationElement(String43_50.convertString(src.getDocumentationElement())); + tgt.setDocumentationElement(String43_50.convertStringToMarkdown(src.getDocumentationElement())); if (src.hasType()) - tgt.getTypeElement().setValue(org.hl7.fhir.r5.model.Enumerations.FHIRAllTypes.fromCode(src.getType().toCode())); + tgt.getTypeElement().setValue(org.hl7.fhir.r5.model.Enumerations.FHIRTypes.fromCode(src.getType().toCode())); for (org.hl7.fhir.r4b.model.CanonicalType t : src.getTargetProfile()) tgt.getTargetProfile().add(Canonical43_50.convertCanonical(t)); if (src.hasSearchType()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java index 38c153746..d6a4e0271 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java @@ -6,6 +6,7 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.ExtendedContactDetail; /* Copyright (c) 2011+, HL7, Inc. @@ -53,7 +54,7 @@ public class Organization43_50 { tgt.setNameElement(String43_50.convertString(src.getNameElement())); for (org.hl7.fhir.r4b.model.StringType t : src.getAlias()) tgt.getAlias().add(String43_50.convertString(t)); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint43_50.convertContactPoint(t)); for (org.hl7.fhir.r4b.model.Address t : src.getAddress()) tgt.addAddress(Address43_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); @@ -77,8 +78,9 @@ public class Organization43_50 { if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); for (org.hl7.fhir.r5.model.StringType t : src.getAlias()) tgt.getAlias().add(String43_50.convertString(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + for (ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address43_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java index 25c9962d3..33f931731 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java @@ -7,6 +7,9 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageConte import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; import java.util.stream.Collectors; @@ -74,15 +77,15 @@ public class SearchParameter43_50 { tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.r4b.model.CodeType t : src.getBase()) tgt.getBase().add(Code43_50.convertResourceEnum(t)); + for (org.hl7.fhir.r4b.model.CodeType t : src.getBase()) tgt.getBase().add(new Enumeration(new Enumerations.AllResourceTypesEnumFactory(), t.getCode())); if (src.hasType()) tgt.setTypeElement(Enumerations43_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) tgt.setExpressionElement(String43_50.convertString(src.getExpressionElement())); - if (src.hasXpath()) - tgt.setXpathElement(String43_50.convertString(src.getXpathElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String43_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); + tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); for (org.hl7.fhir.r4b.model.CodeType t : src.getTarget()) tgt.getTarget().add(Code43_50.convertResourceEnum(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean43_50.convertBoolean(src.getMultipleOrElement())); @@ -133,15 +136,15 @@ public class SearchParameter43_50 { tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); - for (CodeType t : src.getBase()) tgt.getBase().add(Code43_50.convertResourceEnum(t)); + for (Enumeration t : src.getBase()) tgt.getBase().add(new org.hl7.fhir.r4b.model.CodeType(t.getCode())); if (src.hasType()) tgt.setTypeElement(Enumerations43_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) tgt.setExpressionElement(String43_50.convertString(src.getExpressionElement())); - if (src.hasXpath()) - tgt.setXpathElement(String43_50.convertString(src.getXpathElement())); - if (src.hasXpathUsage()) - tgt.setXpathUsageElement(convertXPathUsageType(src.getXpathUsageElement())); +// if (src.hasXpath()) +// tgt.setXpathElement(String43_50.convertString(src.getXpathElement())); + if (src.hasProcessingMode()) + tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); for (CodeType t : src.getTarget()) tgt.getTarget().add(Code43_50.convertResourceEnum(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean43_50.convertBoolean(src.getMultipleOrElement())); @@ -159,35 +162,35 @@ public class SearchParameter43_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertXPathUsageType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.XPathUsageTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeTypeEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case NORMAL: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NORMAL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NORMAL); break; case PHONETIC: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.PHONETIC); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.PHONETIC); break; case NEARBY: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case DISTANCE: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; case OTHER: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.OTHER); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.OTHER); break; default: - tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.XPathUsageType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.SearchParameter.SearchProcessingModeType.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertXPathUsageType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.SearchParameter.XPathUsageTypeEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java index 76a0815b2..620de12f9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java @@ -6,6 +6,10 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDet import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r4b.model.CodeType; +import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.TerminologyCapabilities.CommonLanguages; +import org.hl7.fhir.r5.model.TerminologyCapabilities.CommonLanguagesEnumFactory; /* Copyright (c) 2011+, HL7, Inc. @@ -201,10 +205,10 @@ public class TerminologyCapabilities43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case EXPLICIT: - tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.EXPLICIT); + tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.INCOMPOSE); break; case ALL: - tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.ALL); + tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.INCOMPOSEOREXPANSION); break; default: tgt.setValue(org.hl7.fhir.r5.model.TerminologyCapabilities.CodeSearchSupport.NULL); @@ -219,10 +223,10 @@ public class TerminologyCapabilities43_50 { org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.TerminologyCapabilities.CodeSearchSupportEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { - case EXPLICIT: + case INCOMPOSE: tgt.setValue(org.hl7.fhir.r4b.model.TerminologyCapabilities.CodeSearchSupport.EXPLICIT); break; - case ALL: + case INCOMPOSEOREXPANSION: tgt.setValue(org.hl7.fhir.r4b.model.TerminologyCapabilities.CodeSearchSupport.ALL); break; default: @@ -319,7 +323,7 @@ public class TerminologyCapabilities43_50 { tgt.setIsDefaultElement(Boolean43_50.convertBoolean(src.getIsDefaultElement())); if (src.hasCompositional()) tgt.setCompositionalElement(Boolean43_50.convertBoolean(src.getCompositionalElement())); - for (org.hl7.fhir.r4b.model.CodeType t : src.getLanguage()) tgt.getLanguage().add(Code43_50.convertCode(t)); + for (org.hl7.fhir.r4b.model.CodeType t : src.getLanguage()) tgt.getLanguage().add(new Enumeration(new CommonLanguagesEnumFactory(), t.getCode())); for (org.hl7.fhir.r4b.model.TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent t : src.getFilter()) tgt.addFilter(convertTerminologyCapabilitiesCodeSystemVersionFilterComponent(t)); for (org.hl7.fhir.r4b.model.CodeType t : src.getProperty()) tgt.getProperty().add(Code43_50.convertCode(t)); @@ -337,7 +341,7 @@ public class TerminologyCapabilities43_50 { tgt.setIsDefaultElement(Boolean43_50.convertBoolean(src.getIsDefaultElement())); if (src.hasCompositional()) tgt.setCompositionalElement(Boolean43_50.convertBoolean(src.getCompositionalElement())); - for (org.hl7.fhir.r5.model.CodeType t : src.getLanguage()) tgt.getLanguage().add(Code43_50.convertCode(t)); + for (Enumeration t : src.getLanguage()) tgt.getLanguage().add(new CodeType(t.getCode())); for (org.hl7.fhir.r5.model.TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent t : src.getFilter()) tgt.addFilter(convertTerminologyCapabilitiesCodeSystemVersionFilterComponent(t)); for (org.hl7.fhir.r5.model.CodeType t : src.getProperty()) tgt.getProperty().add(Code43_50.convertCode(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java index cb783f9bb..e8a24ae27 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java @@ -653,7 +653,7 @@ public class TestScript43_50 { if (src.hasRequestURL()) tgt.setRequestURLElement(String43_50.convertString(src.getRequestURLElement())); if (src.hasResource()) - tgt.setResource(org.hl7.fhir.r5.model.TestScript.FHIRDefinedType.fromCode(src.getResource().toCode())); + tgt.setResource(src.getResource().toCode()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCode()) @@ -705,7 +705,7 @@ public class TestScript43_50 { if (src.hasRequestURL()) tgt.setRequestURLElement(String43_50.convertString(src.getRequestURLElement())); if (src.hasResource()) - tgt.getResourceElement().setValueAsString(src.getResource().toCode()); + tgt.getResourceElement().setValueAsString(src.getResource()); if (src.hasResponse()) tgt.setResponseElement(convertAssertionResponseTypes(src.getResponseElement())); if (src.hasResponseCode()) diff --git a/org.hl7.fhir.core.generator/configuration/CanonicalResource.java b/org.hl7.fhir.core.generator/configuration/CanonicalResource.java index 4226ae149..aabda0ba1 100644 --- a/org.hl7.fhir.core.generator/configuration/CanonicalResource.java +++ b/org.hl7.fhir.core.generator/configuration/CanonicalResource.java @@ -21,4 +21,23 @@ public String getVersionedUrl() { return hasVersion() ? getUrl()+"|"+getVersion() : getUrl(); - } \ No newline at end of file + } + + + public String oid() { + for (Identifier id : getIdentifier()) { + if (id.getValue().startsWith("urn:oid:")) { + return id.getValue().substring(8); + } + } + return null; + } + + public String getOid() { + for (Identifier id : getIdentifier()) { + if ("urn:ietf:rfc:3986".equals(id.getSystem()) && id.hasValue() && id.getValue().startsWith("urn:oid:")) { + return id.getValue().substring(8); + } + } + return null; + } diff --git a/org.hl7.fhir.core.generator/configuration/ElementDefinition.java b/org.hl7.fhir.core.generator/configuration/ElementDefinition.java index c3faf3de3..56e2a3a96 100644 --- a/org.hl7.fhir.core.generator/configuration/ElementDefinition.java +++ b/org.hl7.fhir.core.generator/configuration/ElementDefinition.java @@ -111,3 +111,23 @@ return getType().size() == 1 && Utilities.existsInList(getType().get(0).getCode(), "Element", "BackboneElement"); } + + public boolean prohibited() { + return "0".equals(getMax()); + } + + public boolean hasFixedOrPattern() { + return hasFixed() || hasPattern(); + } + + public DataType getFixedOrPattern() { + return hasFixed() ? getFixed() : getPattern(); + } + + public boolean isProhibited() { + return "0".equals(getMax()); + } + + public boolean isRequired() { + return getMin() == 1; + } diff --git a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java index 14638344a..4a84c22e2 100644 --- a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java +++ b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java @@ -14,8 +14,8 @@ import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; import org.hl7.fhir.r5.model.Enumerations.BindingStrength; -import org.hl7.fhir.r5.model.Enumerations.ResourceTypeEnum; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r5.model.ValueSet.ConceptSetComponent; import org.hl7.fhir.r5.utils.ToolingExtensions; @@ -309,8 +309,8 @@ public class Analyser { if (!Utilities.existsInList(name, "Resource")) { for (SearchParameter sp : definitions.getSearchParams().getList()) { boolean relevant = false; - for (CodeType c : sp.getBase()) { - if (c.getValue().equals(name)) { + for (Enumeration c : sp.getBase()) { + if (c.getValue().toCode().equals(name)) { relevant = true; break; } diff --git a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/codegen/JavaResourceGenerator.java b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/codegen/JavaResourceGenerator.java index 8b82377dd..a6af294d8 100644 --- a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/codegen/JavaResourceGenerator.java +++ b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/codegen/JavaResourceGenerator.java @@ -54,7 +54,6 @@ import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; import org.hl7.fhir.r5.model.Enumeration; -import org.hl7.fhir.r5.model.Enumerations.ResourceTypeEnum; import org.hl7.fhir.r5.model.Enumerations.SearchParamType; import org.hl7.fhir.r5.model.SearchParameter; import org.hl7.fhir.r5.model.StringType; @@ -2364,7 +2363,7 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent */ jdoc(indent, "@return Returns a reference to this for easy method chaining"); write(indent+"public " + className + " set"+getTitle(getElementName(e.getName(), false))+"(" + "List<"+listGenericType+"> the" + getTitle(getElementName(e.getName(), false)) + ") { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); /* @@ -2380,7 +2379,7 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent */ jdoc(indent, "@return {@link #"+getElementName(e.getName(), true)+"} ("+replaceTitle(analysis.getName(), e.getDefinition())+")"); write(indent+"public "+tn+" add"+getTitle(getElementName(e.getName(), false))+"Element(){//2 \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); /* @@ -2388,7 +2387,7 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent */ jdoc(indent, "@param value {@link #"+getElementName(e.getName(), true)+"} ("+replaceTitle(analysis.getName(), e.getDefinition())+")"); write(indent+"public "+className+" add"+getTitle(getElementName(e.getName(), false))+"("+simpleType+" value) { //1\r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); /* @@ -2404,21 +2403,21 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent * addXXX() for repeatable composite */ write(indent+"public "+tn+" add"+getTitle(getElementName(e.getName(), false))+"() { //3\r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); /* * addXXX(foo) for repeatable composite */ write(indent+"public "+className+" add"+getTitle(getElementName(e.getName(), false))+"("+tn+" t) { //3\r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); } else { /* * addXXX(foo) for repeatable composite */ write(indent+"public "+className+" add"+getTitle(getElementName(e.getName(), false))+"("+tn+" t) { //3\r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); } @@ -2428,7 +2427,7 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent if (!"DomainResource".equals(className)) { jdoc(indent, "@return The first repetition of repeating field {@link #"+getElementName(e.getName(), true)+"}, creating it if it does not already exist {2}"); write(indent+"public "+tn+" get"+getTitle(getElementName(e.getName(), false))+"FirstRep() { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); } } @@ -2456,10 +2455,10 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent write("\r\n"); jdoc(indent, "@param value {@link #"+getElementName(e.getName(), true)+"} ("+replaceTitle(analysis.getName(), e.getDefinition())+"). This is the underlying object with id, value and extensions. The accessor \"get"+getTitle(getElementName(e.getName(), false))+"\" gives direct access to the value"); write(indent+"public "+className+" set"+getTitle(getElementName(e.getName(), false))+"Element("+tn+" value) { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); write(indent+"public "+simpleType+" get"+getTitle(getElementName(e.getName(), false))+"() { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); generateUnimplementedSetter(analysis, e, indent, className, tn, simpleType, analysis.getName()); @@ -2471,16 +2470,18 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent } else { jdoc(indent, "@return {@link #"+getElementName(e.getName(), true)+"} ("+replaceTitle(analysis.getName(), e.getDefinition())+")"); write(indent+"public "+tn+" get"+getTitle(getElementName(e.getName(), false))+"() { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); if (e.getType().size() > 1 && (tn.equals("DataType") || !tn.endsWith(".DataType"))) { for (TypeRefComponent t : e.getType()) { jdoc(indent, "@return {@link #"+getElementName(e.getName(), true)+"} ("+replaceTitle(analysis.getName(), e.getDefinition())+")"); String ttn = getTypename(t); - write(indent+"public "+ttn+" get"+getTitle(getElementName(e.getName(), false))+ttn+"() { throws FHIRException; \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+"public "+ttn+" get"+getTitle(getElementName(e.getName(), false))+ttn+"() { \r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); write(indent+"public boolean has"+getTitle(getElementName(e.getName(), false))+ttn+"() { \r\n"); + write(indent+" return false;////K \r\n"); + write(indent+"}\r\n"); } } write(indent+"public boolean has"+getTitle(getElementName(e.getName(), false))+"() { \r\n"); @@ -2488,7 +2489,7 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent write(indent+"}\r\n"); jdoc(indent, "@param value {@link #"+getElementName(e.getName(), true)+"} ("+replaceTitle(analysis.getName(), e.getDefinition())+")"); write(indent+"public "+className+" set"+getTitle(getElementName(e.getName(), false))+"("+tn+" value) { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); write("\r\n"); } @@ -2500,7 +2501,7 @@ private void generatePropertyMaker(Analysis analysis, TypeInfo ti, String indent private void generateUnimplementedSetter(Analysis analysis, ElementDefinition e, String indent, String className, String tn, String simpleType, String rn) throws IOException { jdoc(indent, "@param value "+replaceTitle(rn, e.getDefinition())); write(indent+"public "+className+" set"+getTitle(getElementName(e.getName(), false))+"("+simpleType+" value) { \r\n"); - write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\");\r\n"); + write(indent+" throw new Error(\"The resource type \\\""+analysis.getName()+"\\\" does not implement the property \\\""+e.getName()+"\\\"\"); \r\n"); write(indent+"}\r\n"); } } \ No newline at end of file diff --git a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/engine/Definitions.java b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/engine/Definitions.java index 2d5b43709..c89686454 100644 --- a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/engine/Definitions.java +++ b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/engine/Definitions.java @@ -13,6 +13,8 @@ import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r5.model.StructureDefinition.TypeDerivationRule; import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.utils.ToolingExtensions; +import org.hl7.fhir.utilities.Utilities; public class Definitions { @@ -77,25 +79,31 @@ public class Definitions { return sd; } public void fix() { - StructureDefinition aa = structures.get("http://hl7.org/fhir/StructureDefinition/ArtifactAssessment"); - if (aa != null) { - for (ElementDefinition ed : aa.getSnapshot().getElement()) { - fixAATypes(ed); - } - for (ElementDefinition ed : aa.getDifferential().getElement()) { - fixAATypes(ed); +// StructureDefinition aa = structures.get("http://hl7.org/fhir/StructureDefinition/ArtifactAssessment"); +// if (aa != null) { +// for (ElementDefinition ed : aa.getSnapshot().getElement()) { +// fixAATypes(ed); +// } +// for (ElementDefinition ed : aa.getDifferential().getElement()) { +// fixAATypes(ed); +// } +// } + for (StructureDefinition sd : structures.getList()) { + if (sd.hasExtension(ToolingExtensions.EXT_RESOURCE_IMPLEMENTS) && + !Utilities.existsInList(sd.getType(), "MedicationKnowledge", "ObservationDefinition", "SpecimenDefinition")) { + sd.setBaseDefinition(ToolingExtensions.readStringExtension(sd, ToolingExtensions.EXT_RESOURCE_IMPLEMENTS)); } } } - private void fixAATypes(ElementDefinition ed) { - if (ed.getPath().equals("ArtifactAssessment.approvalDate")) { - ed.getTypeFirstRep().setCode("date"); - } - if (ed.getPath().equals("ArtifactAssessment.lastReviewDate")) { - ed.getTypeFirstRep().setCode("date"); - } - } +// private void fixAATypes(ElementDefinition ed) { +// if (ed.getPath().equals("ArtifactAssessment.approvalDate")) { +// ed.getTypeFirstRep().setCode("date"); +// } +// if (ed.getPath().equals("ArtifactAssessment.lastReviewDate")) { +// ed.getTypeFirstRep().setCode("date"); +// } +// } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java index 696fc95ea..7965c2c28 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java @@ -30,7 +30,7 @@ package org.hl7.fhir.r5.formats; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent @@ -371,6 +371,85 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_pages"), res.getPagesElement()); } + protected Availability parseAvailability(JsonObject json) throws IOException, FHIRFormatError { + Availability res = new Availability(); + parseAvailabilityProperties(json, res); + return res; + } + + protected void parseAvailabilityProperties(JsonObject json, Availability res) throws IOException, FHIRFormatError { + parseDataTypeProperties(json, res); + if (json.has("availableTime")) { + JsonArray array = getJArray(json, "availableTime"); + for (int i = 0; i < array.size(); i++) { + res.getAvailableTime().add(parseAvailabilityAvailableTimeComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("notAvailableTime")) { + JsonArray array = getJArray(json, "notAvailableTime"); + for (int i = 0; i < array.size(); i++) { + res.getNotAvailableTime().add(parseAvailabilityNotAvailableTimeComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected Availability.AvailabilityAvailableTimeComponent parseAvailabilityAvailableTimeComponent(JsonObject json) throws IOException, FHIRFormatError { + Availability.AvailabilityAvailableTimeComponent res = new Availability.AvailabilityAvailableTimeComponent(); + parseAvailabilityAvailableTimeComponentProperties(json, res); + return res; + } + + protected void parseAvailabilityAvailableTimeComponentProperties(JsonObject json, Availability.AvailabilityAvailableTimeComponent res) throws IOException, FHIRFormatError { + parseElementProperties(json, res); + if (json.has("daysOfWeek")) { + JsonArray array = getJArray(json, "daysOfWeek"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getDaysOfWeek().add(new Enumeration(new Enumerations.DaysOfWeekEnumFactory(), Enumerations.DaysOfWeek.NULL)); + } else {; + res.getDaysOfWeek().add(parseEnumeration(array.get(i).getAsString(), Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); + } + } + }; + if (json.has("_daysOfWeek")) { + JsonArray array = getJArray(json, "_daysOfWeek"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getDaysOfWeek().size()) + res.getDaysOfWeek().add(parseEnumeration(null, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getDaysOfWeek().get(i)); + } + }; + if (json.has("allDay")) + res.setAllDayElement(parseBoolean(json.get("allDay").getAsBoolean())); + if (json.has("_allDay")) + parseElementProperties(getJObject(json, "_allDay"), res.getAllDayElement()); + if (json.has("availableStartTime")) + res.setAvailableStartTimeElement(parseTime(json.get("availableStartTime").getAsString())); + if (json.has("_availableStartTime")) + parseElementProperties(getJObject(json, "_availableStartTime"), res.getAvailableStartTimeElement()); + if (json.has("availableEndTime")) + res.setAvailableEndTimeElement(parseTime(json.get("availableEndTime").getAsString())); + if (json.has("_availableEndTime")) + parseElementProperties(getJObject(json, "_availableEndTime"), res.getAvailableEndTimeElement()); + } + + protected Availability.AvailabilityNotAvailableTimeComponent parseAvailabilityNotAvailableTimeComponent(JsonObject json) throws IOException, FHIRFormatError { + Availability.AvailabilityNotAvailableTimeComponent res = new Availability.AvailabilityNotAvailableTimeComponent(); + parseAvailabilityNotAvailableTimeComponentProperties(json, res); + return res; + } + + protected void parseAvailabilityNotAvailableTimeComponentProperties(JsonObject json, Availability.AvailabilityNotAvailableTimeComponent res) throws IOException, FHIRFormatError { + parseElementProperties(json, res); + if (json.has("description")) + res.setDescriptionElement(parseString(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("during")) + res.setDuring(parsePeriod(getJObject(json, "during"))); + } + protected CodeableConcept parseCodeableConcept(JsonObject json) throws IOException, FHIRFormatError { CodeableConcept res = new CodeableConcept(); parseCodeableConceptProperties(json, res); @@ -526,7 +605,7 @@ public class JsonParser extends JsonParserBase { protected void parseDataRequirementProperties(JsonObject json, DataRequirement res) throws IOException, FHIRFormatError { parseDataTypeProperties(json, res); if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); if (json.has("profile")) { @@ -582,6 +661,12 @@ public class JsonParser extends JsonParserBase { res.getDateFilter().add(parseDataRequirementDateFilterComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("valueFilter")) { + JsonArray array = getJArray(json, "valueFilter"); + for (int i = 0; i < array.size(); i++) { + res.getValueFilter().add(parseDataRequirementValueFilterComponent(array.get(i).getAsJsonObject())); + } + }; if (json.has("limit")) res.setLimitElement(parsePositiveInt(json.get("limit").getAsString())); if (json.has("_limit")) @@ -643,6 +728,31 @@ public class JsonParser extends JsonParserBase { res.setValue(value); } + protected DataRequirement.DataRequirementValueFilterComponent parseDataRequirementValueFilterComponent(JsonObject json) throws IOException, FHIRFormatError { + DataRequirement.DataRequirementValueFilterComponent res = new DataRequirement.DataRequirementValueFilterComponent(); + parseDataRequirementValueFilterComponentProperties(json, res); + return res; + } + + protected void parseDataRequirementValueFilterComponentProperties(JsonObject json, DataRequirement.DataRequirementValueFilterComponent res) throws IOException, FHIRFormatError { + parseElementProperties(json, res); + if (json.has("path")) + res.setPathElement(parseString(json.get("path").getAsString())); + if (json.has("_path")) + parseElementProperties(getJObject(json, "_path"), res.getPathElement()); + if (json.has("searchParam")) + res.setSearchParamElement(parseString(json.get("searchParam").getAsString())); + if (json.has("_searchParam")) + parseElementProperties(getJObject(json, "_searchParam"), res.getSearchParamElement()); + if (json.has("comparator")) + res.setComparatorElement(parseEnumeration(json.get("comparator").getAsString(), DataRequirement.ValueFilterComparator.NULL, new DataRequirement.ValueFilterComparatorEnumFactory())); + if (json.has("_comparator")) + parseElementProperties(getJObject(json, "_comparator"), res.getComparatorElement()); + DataType value = parseType("value", json); + if (value != null) + res.setValue(value); + } + protected DataRequirement.DataRequirementSortComponent parseDataRequirementSortComponent(JsonObject json) throws IOException, FHIRFormatError { DataRequirement.DataRequirementSortComponent res = new DataRequirement.DataRequirementSortComponent(); parseDataRequirementSortComponentProperties(json, res); @@ -1124,13 +1234,17 @@ public class JsonParser extends JsonParserBase { if (json.has("_key")) parseElementProperties(getJObject(json, "_key"), res.getKeyElement()); if (json.has("requirements")) - res.setRequirementsElement(parseString(json.get("requirements").getAsString())); + res.setRequirementsElement(parseMarkdown(json.get("requirements").getAsString())); if (json.has("_requirements")) parseElementProperties(getJObject(json, "_requirements"), res.getRequirementsElement()); if (json.has("severity")) res.setSeverityElement(parseEnumeration(json.get("severity").getAsString(), ElementDefinition.ConstraintSeverity.NULL, new ElementDefinition.ConstraintSeverityEnumFactory())); if (json.has("_severity")) parseElementProperties(getJObject(json, "_severity"), res.getSeverityElement()); + if (json.has("suppress")) + res.setSuppressElement(parseBoolean(json.get("suppress").getAsBoolean())); + if (json.has("_suppress")) + parseElementProperties(getJObject(json, "_suppress"), res.getSuppressElement()); if (json.has("human")) res.setHumanElement(parseString(json.get("human").getAsString())); if (json.has("_human")) @@ -1162,7 +1276,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_strength")) parseElementProperties(getJObject(json, "_strength"), res.getStrengthElement()); if (json.has("description")) - res.setDescriptionElement(parseString(json.get("description").getAsString())); + res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); if (json.has("_description")) parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); if (json.has("valueSet")) @@ -1192,7 +1306,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_map")) parseElementProperties(getJObject(json, "_map"), res.getMapElement()); if (json.has("comment")) - res.setCommentElement(parseString(json.get("comment").getAsString())); + res.setCommentElement(parseMarkdown(json.get("comment").getAsString())); if (json.has("_comment")) parseElementProperties(getJObject(json, "_comment"), res.getCommentElement()); } @@ -1237,8 +1351,12 @@ public class JsonParser extends JsonParserBase { parseDataTypeProperties(json, res); if (json.has("purpose")) res.setPurpose(parseCodeableConcept(getJObject(json, "purpose"))); - if (json.has("name")) - res.setName(parseHumanName(getJObject(json, "name"))); + if (json.has("name")) { + JsonArray array = getJArray(json, "name"); + for (int i = 0; i < array.size(); i++) { + res.getName().add(parseHumanName(array.get(i).getAsJsonObject())); + } + }; if (json.has("telecom")) { JsonArray array = getJArray(json, "telecom"); for (int i = 0; i < array.size(); i++) { @@ -1454,6 +1572,28 @@ public class JsonParser extends JsonParserBase { }; } + protected MonetaryComponent parseMonetaryComponent(JsonObject json) throws IOException, FHIRFormatError { + MonetaryComponent res = new MonetaryComponent(); + parseMonetaryComponentProperties(json, res); + return res; + } + + protected void parseMonetaryComponentProperties(JsonObject json, MonetaryComponent res) throws IOException, FHIRFormatError { + parseDataTypeProperties(json, res); + if (json.has("type")) + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), MonetaryComponent.PriceComponentType.NULL, new MonetaryComponent.PriceComponentTypeEnumFactory())); + if (json.has("_type")) + parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("code")) + res.setCode(parseCodeableConcept(getJObject(json, "code"))); + if (json.has("factor")) + res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); + if (json.has("_factor")) + parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("amount")) + res.setAmount(parseMoney(getJObject(json, "amount"))); + } + protected Money parseMoney(JsonObject json) throws IOException, FHIRFormatError { Money res = new Money(); parseMoneyProperties(json, res); @@ -1517,7 +1657,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_documentation")) parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); if (json.has("profile")) @@ -1720,6 +1860,14 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_resource"), res.getResourceElement()); if (json.has("resourceReference")) res.setResourceReference(parseReference(getJObject(json, "resourceReference"))); + if (json.has("publicationStatus")) + res.setPublicationStatusElement(parseEnumeration(json.get("publicationStatus").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + if (json.has("_publicationStatus")) + parseElementProperties(getJObject(json, "_publicationStatus"), res.getPublicationStatusElement()); + if (json.has("publicationDate")) + res.setPublicationDateElement(parseDate(json.get("publicationDate").getAsString())); + if (json.has("_publicationDate")) + parseElementProperties(getJObject(json, "_publicationDate"), res.getPublicationDateElement()); } protected SampledData parseSampledData(JsonObject json) throws IOException, FHIRFormatError { @@ -1732,10 +1880,14 @@ public class JsonParser extends JsonParserBase { parseDataTypeProperties(json, res); if (json.has("origin")) res.setOrigin(parseQuantity(getJObject(json, "origin"))); - if (json.has("period")) - res.setPeriodElement(parseDecimal(json.get("period").getAsBigDecimal())); - if (json.has("_period")) - parseElementProperties(getJObject(json, "_period"), res.getPeriodElement()); + if (json.has("interval")) + res.setIntervalElement(parseDecimal(json.get("interval").getAsBigDecimal())); + if (json.has("_interval")) + parseElementProperties(getJObject(json, "_interval"), res.getIntervalElement()); + if (json.has("intervalUnit")) + res.setIntervalUnitElement(parseCode(json.get("intervalUnit").getAsString())); + if (json.has("_intervalUnit")) + parseElementProperties(getJObject(json, "_intervalUnit"), res.getIntervalUnitElement()); if (json.has("factor")) res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) @@ -1957,6 +2109,12 @@ public class JsonParser extends JsonParserBase { res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("code")) + res.setCode(parseCodeableConcept(getJObject(json, "code"))); + if (json.has("subscriptionTopic")) + res.setSubscriptionTopicElement(parseCanonical(json.get("subscriptionTopic").getAsString())); + if (json.has("_subscriptionTopic")) + parseElementProperties(getJObject(json, "_subscriptionTopic"), res.getSubscriptionTopicElement()); DataType timing = parseType("timing", json); if (timing != null) res.setTiming(timing); @@ -1985,6 +2143,48 @@ public class JsonParser extends JsonParserBase { res.setValue(value); } + protected VirtualServiceDetail parseVirtualServiceDetail(JsonObject json) throws IOException, FHIRFormatError { + VirtualServiceDetail res = new VirtualServiceDetail(); + parseVirtualServiceDetailProperties(json, res); + return res; + } + + protected void parseVirtualServiceDetailProperties(JsonObject json, VirtualServiceDetail res) throws IOException, FHIRFormatError { + parseDataTypeProperties(json, res); + if (json.has("channelType")) + res.setChannelType(parseCoding(getJObject(json, "channelType"))); + DataType address = parseType("address", json); + if (address != null) + res.setAddress(address); + if (json.has("additionalInfo")) { + JsonArray array = getJArray(json, "additionalInfo"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getAdditionalInfo().add(new UrlType()); + } else {; + res.getAdditionalInfo().add(parseUrl(array.get(i).getAsString())); + } + } + }; + if (json.has("_additionalInfo")) { + JsonArray array = getJArray(json, "_additionalInfo"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getAdditionalInfo().size()) + res.getAdditionalInfo().add(parseUrl(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getAdditionalInfo().get(i)); + } + }; + if (json.has("maxParticipants")) + res.setMaxParticipantsElement(parsePositiveInt(json.get("maxParticipants").getAsString())); + if (json.has("_maxParticipants")) + parseElementProperties(getJObject(json, "_maxParticipants"), res.getMaxParticipantsElement()); + if (json.has("sessionKey")) + res.setSessionKeyElement(parseString(json.get("sessionKey").getAsString())); + if (json.has("_sessionKey")) + parseElementProperties(getJObject(json, "_sessionKey"), res.getSessionKeyElement()); + } + protected void parseCanonicalResourceProperties(JsonObject json, CanonicalResource res) throws IOException, FHIRFormatError { parseDomainResourceProperties(json, res); } @@ -2087,8 +2287,24 @@ public class JsonParser extends JsonParserBase { res.getGuarantor().add(parseAccountGuarantorComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("partOf")) - res.setPartOf(parseReference(getJObject(json, "partOf"))); + if (json.has("relatedAccount")) { + JsonArray array = getJArray(json, "relatedAccount"); + for (int i = 0; i < array.size(); i++) { + res.getRelatedAccount().add(parseAccountRelatedAccountComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("currency")) + res.setCurrency(parseCodeableConcept(getJObject(json, "currency"))); + if (json.has("balance")) { + JsonArray array = getJArray(json, "balance"); + for (int i = 0; i < array.size(); i++) { + res.getBalance().add(parseAccountBalanceComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("calculatedAt")) + res.setCalculatedAtElement(parseInstant(json.get("calculatedAt").getAsString())); + if (json.has("_calculatedAt")) + parseElementProperties(getJObject(json, "_calculatedAt"), res.getCalculatedAtElement()); } protected Account.CoverageComponent parseAccountCoverageComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -2125,6 +2341,40 @@ public class JsonParser extends JsonParserBase { res.setPeriod(parsePeriod(getJObject(json, "period"))); } + protected Account.AccountRelatedAccountComponent parseAccountRelatedAccountComponent(JsonObject json) throws IOException, FHIRFormatError { + Account.AccountRelatedAccountComponent res = new Account.AccountRelatedAccountComponent(); + parseAccountRelatedAccountComponentProperties(json, res); + return res; + } + + protected void parseAccountRelatedAccountComponentProperties(JsonObject json, Account.AccountRelatedAccountComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("relationship")) + res.setRelationship(parseCodeableConcept(getJObject(json, "relationship"))); + if (json.has("account")) + res.setAccount(parseReference(getJObject(json, "account"))); + } + + protected Account.AccountBalanceComponent parseAccountBalanceComponent(JsonObject json) throws IOException, FHIRFormatError { + Account.AccountBalanceComponent res = new Account.AccountBalanceComponent(); + parseAccountBalanceComponentProperties(json, res); + return res; + } + + protected void parseAccountBalanceComponentProperties(JsonObject json, Account.AccountBalanceComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("aggregate")) + res.setAggregate(parseCodeableConcept(getJObject(json, "aggregate"))); + if (json.has("term")) + res.setTerm(parseCodeableConcept(getJObject(json, "term"))); + if (json.has("estimate")) + res.setEstimateElement(parseBoolean(json.get("estimate").getAsBoolean())); + if (json.has("_estimate")) + parseElementProperties(getJObject(json, "_estimate"), res.getEstimateElement()); + if (json.has("amount")) + res.setAmount(parseMoney(getJObject(json, "amount"))); + } + protected ActivityDefinition parseActivityDefinition(JsonObject json) throws IOException, FHIRFormatError { ActivityDefinition res = new ActivityDefinition(); parseActivityDefinitionProperties(json, res); @@ -2278,7 +2528,7 @@ public class JsonParser extends JsonParserBase { } }; if (json.has("kind")) - res.setKindElement(parseEnumeration(json.get("kind").getAsString(), ActivityDefinition.RequestResourceType.NULL, new ActivityDefinition.RequestResourceTypeEnumFactory())); + res.setKindElement(parseEnumeration(json.get("kind").getAsString(), ActivityDefinition.RequestResourceTypes.NULL, new ActivityDefinition.RequestResourceTypesEnumFactory())); if (json.has("_kind")) parseElementProperties(getJObject(json, "_kind"), res.getKindElement()); if (json.has("profile")) @@ -2302,6 +2552,9 @@ public class JsonParser extends JsonParserBase { DataType timing = parseType("timing", json); if (timing != null) res.setTiming(timing); + DataType asNeeded = parseType("asNeeded", json); + if (asNeeded != null) + res.setAsNeeded(asNeeded); if (json.has("location")) res.setLocation(parseCodeableReference(getJObject(json, "location"))); if (json.has("participant")) { @@ -2330,19 +2583,58 @@ public class JsonParser extends JsonParserBase { if (json.has("specimenRequirement")) { JsonArray array = getJArray(json, "specimenRequirement"); for (int i = 0; i < array.size(); i++) { - res.getSpecimenRequirement().add(parseReference(array.get(i).getAsJsonObject())); + if (array.get(i).isJsonNull()) { + res.getSpecimenRequirement().add(new CanonicalType()); + } else {; + res.getSpecimenRequirement().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_specimenRequirement")) { + JsonArray array = getJArray(json, "_specimenRequirement"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getSpecimenRequirement().size()) + res.getSpecimenRequirement().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getSpecimenRequirement().get(i)); } }; if (json.has("observationRequirement")) { JsonArray array = getJArray(json, "observationRequirement"); for (int i = 0; i < array.size(); i++) { - res.getObservationRequirement().add(parseReference(array.get(i).getAsJsonObject())); + if (array.get(i).isJsonNull()) { + res.getObservationRequirement().add(new CanonicalType()); + } else {; + res.getObservationRequirement().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_observationRequirement")) { + JsonArray array = getJArray(json, "_observationRequirement"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getObservationRequirement().size()) + res.getObservationRequirement().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getObservationRequirement().get(i)); } }; if (json.has("observationResultRequirement")) { JsonArray array = getJArray(json, "observationResultRequirement"); for (int i = 0; i < array.size(); i++) { - res.getObservationResultRequirement().add(parseReference(array.get(i).getAsJsonObject())); + if (array.get(i).isJsonNull()) { + res.getObservationResultRequirement().add(new CanonicalType()); + } else {; + res.getObservationResultRequirement().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_observationResultRequirement")) { + JsonArray array = getJArray(json, "_observationResultRequirement"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getObservationResultRequirement().size()) + res.getObservationResultRequirement().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getObservationResultRequirement().get(i)); } }; if (json.has("transform")) @@ -2369,6 +2661,10 @@ public class JsonParser extends JsonParserBase { res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("typeCanonical")) + res.setTypeCanonicalElement(parseCanonical(json.get("typeCanonical").getAsString())); + if (json.has("_typeCanonical")) + parseElementProperties(getJObject(json, "_typeCanonical"), res.getTypeCanonicalElement()); if (json.has("typeReference")) res.setTypeReference(parseReference(getJObject(json, "typeReference"))); if (json.has("role")) @@ -2393,6 +2689,138 @@ public class JsonParser extends JsonParserBase { res.setExpression(parseExpression(getJObject(json, "expression"))); } + protected ActorDefinition parseActorDefinition(JsonObject json) throws IOException, FHIRFormatError { + ActorDefinition res = new ActorDefinition(); + parseActorDefinitionProperties(json, res); + return res; + } + + protected void parseActorDefinitionProperties(JsonObject json, ActorDefinition res) throws IOException, FHIRFormatError { + parseCanonicalResourceProperties(json, res); + if (json.has("url")) + res.setUrlElement(parseUri(json.get("url").getAsString())); + if (json.has("_url")) + parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; + if (json.has("version")) + res.setVersionElement(parseString(json.get("version").getAsString())); + if (json.has("_version")) + parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + if (json.has("name")) + res.setNameElement(parseString(json.get("name").getAsString())); + if (json.has("_name")) + parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); + if (json.has("status")) + res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + if (json.has("_status")) + parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("experimental")) + res.setExperimentalElement(parseBoolean(json.get("experimental").getAsBoolean())); + if (json.has("_experimental")) + parseElementProperties(getJObject(json, "_experimental"), res.getExperimentalElement()); + if (json.has("date")) + res.setDateElement(parseDateTime(json.get("date").getAsString())); + if (json.has("_date")) + parseElementProperties(getJObject(json, "_date"), res.getDateElement()); + if (json.has("publisher")) + res.setPublisherElement(parseString(json.get("publisher").getAsString())); + if (json.has("_publisher")) + parseElementProperties(getJObject(json, "_publisher"), res.getPublisherElement()); + if (json.has("contact")) { + JsonArray array = getJArray(json, "contact"); + for (int i = 0; i < array.size(); i++) { + res.getContact().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("description")) + res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("useContext")) { + JsonArray array = getJArray(json, "useContext"); + for (int i = 0; i < array.size(); i++) { + res.getUseContext().add(parseUsageContext(array.get(i).getAsJsonObject())); + } + }; + if (json.has("jurisdiction")) { + JsonArray array = getJArray(json, "jurisdiction"); + for (int i = 0; i < array.size(); i++) { + res.getJurisdiction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("purpose")) + res.setPurposeElement(parseMarkdown(json.get("purpose").getAsString())); + if (json.has("_purpose")) + parseElementProperties(getJObject(json, "_purpose"), res.getPurposeElement()); + if (json.has("copyright")) + res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); + if (json.has("_copyright")) + parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); + if (json.has("type")) + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ExampleScenarioActorType.NULL, new Enumerations.ExampleScenarioActorTypeEnumFactory())); + if (json.has("_type")) + parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("documentation")) + res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); + if (json.has("_documentation")) + parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); + if (json.has("reference")) { + JsonArray array = getJArray(json, "reference"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getReference().add(new UrlType()); + } else {; + res.getReference().add(parseUrl(array.get(i).getAsString())); + } + } + }; + if (json.has("_reference")) { + JsonArray array = getJArray(json, "_reference"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getReference().size()) + res.getReference().add(parseUrl(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getReference().get(i)); + } + }; + if (json.has("capabilities")) + res.setCapabilitiesElement(parseCanonical(json.get("capabilities").getAsString())); + if (json.has("_capabilities")) + parseElementProperties(getJObject(json, "_capabilities"), res.getCapabilitiesElement()); + if (json.has("derivedFrom")) { + JsonArray array = getJArray(json, "derivedFrom"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getDerivedFrom().add(new CanonicalType()); + } else {; + res.getDerivedFrom().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_derivedFrom")) { + JsonArray array = getJArray(json, "_derivedFrom"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getDerivedFrom().size()) + res.getDerivedFrom().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getDerivedFrom().get(i)); + } + }; + } + protected AdministrableProductDefinition parseAdministrableProductDefinition(JsonObject json) throws IOException, FHIRFormatError { AdministrableProductDefinition res = new AdministrableProductDefinition(); parseAdministrableProductDefinitionProperties(json, res); @@ -2599,6 +3027,12 @@ public class JsonParser extends JsonParserBase { res.getParticipant().add(parseAdverseEventParticipantComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("study")) { + JsonArray array = getJArray(json, "study"); + for (int i = 0; i < array.size(); i++) { + res.getStudy().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("expectedInResearchStudy")) res.setExpectedInResearchStudyElement(parseBoolean(json.get("expectedInResearchStudy").getAsBoolean())); if (json.has("_expectedInResearchStudy")) @@ -2633,10 +3067,10 @@ public class JsonParser extends JsonParserBase { res.getSupportingInfo().add(parseAdverseEventSupportingInfoComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("study")) { - JsonArray array = getJArray(json, "study"); + if (json.has("note")) { + JsonArray array = getJArray(json, "note"); for (int i = 0; i < array.size(); i++) { - res.getStudy().add(parseReference(array.get(i).getAsJsonObject())); + res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); } }; } @@ -2892,6 +3326,12 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); if (json.has("cancellationReason")) res.setCancellationReason(parseCodeableConcept(getJObject(json, "cancellationReason"))); + if (json.has("class")) { + JsonArray array = getJArray(json, "class"); + for (int i = 0; i < array.size(); i++) { + res.getClass_().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("serviceCategory")) { JsonArray array = getJArray(json, "serviceCategory"); for (int i = 0; i < array.size(); i++) { @@ -2930,12 +3370,22 @@ public class JsonParser extends JsonParserBase { res.getReplaces().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("virtualService")) { + JsonArray array = getJArray(json, "virtualService"); + for (int i = 0; i < array.size(); i++) { + res.getVirtualService().add(parseVirtualServiceDetail(array.get(i).getAsJsonObject())); + } + }; if (json.has("supportingInformation")) { JsonArray array = getJArray(json, "supportingInformation"); for (int i = 0; i < array.size(); i++) { res.getSupportingInformation().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("previousAppointment")) + res.setPreviousAppointment(parseReference(getJObject(json, "previousAppointment"))); + if (json.has("originatingAppointment")) + res.setOriginatingAppointment(parseReference(getJObject(json, "originatingAppointment"))); if (json.has("start")) res.setStartElement(parseInstant(json.get("start").getAsString())); if (json.has("_start")) @@ -2996,6 +3446,20 @@ public class JsonParser extends JsonParserBase { res.getRequestedPeriod().add(parsePeriod(array.get(i).getAsJsonObject())); } }; + if (json.has("recurrenceId")) + res.setRecurrenceIdElement(parsePositiveInt(json.get("recurrenceId").getAsString())); + if (json.has("_recurrenceId")) + parseElementProperties(getJObject(json, "_recurrenceId"), res.getRecurrenceIdElement()); + if (json.has("occurrenceChanged")) + res.setOccurrenceChangedElement(parseBoolean(json.get("occurrenceChanged").getAsBoolean())); + if (json.has("_occurrenceChanged")) + parseElementProperties(getJObject(json, "_occurrenceChanged"), res.getOccurrenceChangedElement()); + if (json.has("recurrenceTemplate")) { + JsonArray array = getJArray(json, "recurrenceTemplate"); + for (int i = 0; i < array.size(); i++) { + res.getRecurrenceTemplate().add(parseAppointmentRecurrenceTemplateComponent(array.get(i).getAsJsonObject())); + } + }; } protected Appointment.AppointmentParticipantComponent parseAppointmentParticipantComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -3026,6 +3490,169 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); } + protected Appointment.AppointmentRecurrenceTemplateComponent parseAppointmentRecurrenceTemplateComponent(JsonObject json) throws IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateComponent(); + parseAppointmentRecurrenceTemplateComponentProperties(json, res); + return res; + } + + protected void parseAppointmentRecurrenceTemplateComponentProperties(JsonObject json, Appointment.AppointmentRecurrenceTemplateComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("timezone")) + res.setTimezone(parseCodeableConcept(getJObject(json, "timezone"))); + if (json.has("recurrenceType")) + res.setRecurrenceType(parseCodeableConcept(getJObject(json, "recurrenceType"))); + if (json.has("lastOccurrenceDate")) + res.setLastOccurrenceDateElement(parseDate(json.get("lastOccurrenceDate").getAsString())); + if (json.has("_lastOccurrenceDate")) + parseElementProperties(getJObject(json, "_lastOccurrenceDate"), res.getLastOccurrenceDateElement()); + if (json.has("occurrenceCount")) + res.setOccurrenceCountElement(parsePositiveInt(json.get("occurrenceCount").getAsString())); + if (json.has("_occurrenceCount")) + parseElementProperties(getJObject(json, "_occurrenceCount"), res.getOccurrenceCountElement()); + if (json.has("occurrenceDate")) { + JsonArray array = getJArray(json, "occurrenceDate"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getOccurrenceDate().add(new DateType()); + } else {; + res.getOccurrenceDate().add(parseDate(array.get(i).getAsString())); + } + } + }; + if (json.has("_occurrenceDate")) { + JsonArray array = getJArray(json, "_occurrenceDate"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getOccurrenceDate().size()) + res.getOccurrenceDate().add(parseDate(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getOccurrenceDate().get(i)); + } + }; + if (json.has("weeklyTemplate")) + res.setWeeklyTemplate(parseAppointmentRecurrenceTemplateWeeklyTemplateComponent(getJObject(json, "weeklyTemplate"))); + if (json.has("monthlyTemplate")) + res.setMonthlyTemplate(parseAppointmentRecurrenceTemplateMonthlyTemplateComponent(getJObject(json, "monthlyTemplate"))); + if (json.has("yearlyTemplate")) + res.setYearlyTemplate(parseAppointmentRecurrenceTemplateYearlyTemplateComponent(getJObject(json, "yearlyTemplate"))); + if (json.has("excludingDate")) { + JsonArray array = getJArray(json, "excludingDate"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getExcludingDate().add(new DateType()); + } else {; + res.getExcludingDate().add(parseDate(array.get(i).getAsString())); + } + } + }; + if (json.has("_excludingDate")) { + JsonArray array = getJArray(json, "_excludingDate"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getExcludingDate().size()) + res.getExcludingDate().add(parseDate(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getExcludingDate().get(i)); + } + }; + if (json.has("excludingRecurrenceId")) { + JsonArray array = getJArray(json, "excludingRecurrenceId"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getExcludingRecurrenceId().add(new PositiveIntType()); + } else {; + res.getExcludingRecurrenceId().add(parsePositiveInt(array.get(i).getAsString())); + } + } + }; + if (json.has("_excludingRecurrenceId")) { + JsonArray array = getJArray(json, "_excludingRecurrenceId"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getExcludingRecurrenceId().size()) + res.getExcludingRecurrenceId().add(parsePositiveInt(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getExcludingRecurrenceId().get(i)); + } + }; + } + + protected Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent parseAppointmentRecurrenceTemplateWeeklyTemplateComponent(JsonObject json) throws IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent(); + parseAppointmentRecurrenceTemplateWeeklyTemplateComponentProperties(json, res); + return res; + } + + protected void parseAppointmentRecurrenceTemplateWeeklyTemplateComponentProperties(JsonObject json, Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("monday")) + res.setMondayElement(parseBoolean(json.get("monday").getAsBoolean())); + if (json.has("_monday")) + parseElementProperties(getJObject(json, "_monday"), res.getMondayElement()); + if (json.has("tuesday")) + res.setTuesdayElement(parseBoolean(json.get("tuesday").getAsBoolean())); + if (json.has("_tuesday")) + parseElementProperties(getJObject(json, "_tuesday"), res.getTuesdayElement()); + if (json.has("wednesday")) + res.setWednesdayElement(parseBoolean(json.get("wednesday").getAsBoolean())); + if (json.has("_wednesday")) + parseElementProperties(getJObject(json, "_wednesday"), res.getWednesdayElement()); + if (json.has("thursday")) + res.setThursdayElement(parseBoolean(json.get("thursday").getAsBoolean())); + if (json.has("_thursday")) + parseElementProperties(getJObject(json, "_thursday"), res.getThursdayElement()); + if (json.has("friday")) + res.setFridayElement(parseBoolean(json.get("friday").getAsBoolean())); + if (json.has("_friday")) + parseElementProperties(getJObject(json, "_friday"), res.getFridayElement()); + if (json.has("saturday")) + res.setSaturdayElement(parseBoolean(json.get("saturday").getAsBoolean())); + if (json.has("_saturday")) + parseElementProperties(getJObject(json, "_saturday"), res.getSaturdayElement()); + if (json.has("sunday")) + res.setSundayElement(parseBoolean(json.get("sunday").getAsBoolean())); + if (json.has("_sunday")) + parseElementProperties(getJObject(json, "_sunday"), res.getSundayElement()); + if (json.has("weekInterval")) + res.setWeekIntervalElement(parsePositiveInt(json.get("weekInterval").getAsString())); + if (json.has("_weekInterval")) + parseElementProperties(getJObject(json, "_weekInterval"), res.getWeekIntervalElement()); + } + + protected Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent parseAppointmentRecurrenceTemplateMonthlyTemplateComponent(JsonObject json) throws IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent(); + parseAppointmentRecurrenceTemplateMonthlyTemplateComponentProperties(json, res); + return res; + } + + protected void parseAppointmentRecurrenceTemplateMonthlyTemplateComponentProperties(JsonObject json, Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("dayOfMonth")) + res.setDayOfMonthElement(parsePositiveInt(json.get("dayOfMonth").getAsString())); + if (json.has("_dayOfMonth")) + parseElementProperties(getJObject(json, "_dayOfMonth"), res.getDayOfMonthElement()); + if (json.has("nthWeekOfMonth")) + res.setNthWeekOfMonth(parseCoding(getJObject(json, "nthWeekOfMonth"))); + if (json.has("dayOfWeek")) + res.setDayOfWeek(parseCoding(getJObject(json, "dayOfWeek"))); + if (json.has("monthInterval")) + res.setMonthIntervalElement(parsePositiveInt(json.get("monthInterval").getAsString())); + if (json.has("_monthInterval")) + parseElementProperties(getJObject(json, "_monthInterval"), res.getMonthIntervalElement()); + } + + protected Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent parseAppointmentRecurrenceTemplateYearlyTemplateComponent(JsonObject json) throws IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent(); + parseAppointmentRecurrenceTemplateYearlyTemplateComponentProperties(json, res); + return res; + } + + protected void parseAppointmentRecurrenceTemplateYearlyTemplateComponentProperties(JsonObject json, Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("yearInterval")) + res.setYearIntervalElement(parsePositiveInt(json.get("yearInterval").getAsString())); + if (json.has("_yearInterval")) + parseElementProperties(getJObject(json, "_yearInterval"), res.getYearIntervalElement()); + } + protected AppointmentResponse parseAppointmentResponse(JsonObject json) throws IOException, FHIRFormatError { AppointmentResponse res = new AppointmentResponse(); parseAppointmentResponseProperties(json, res); @@ -3042,6 +3669,10 @@ public class JsonParser extends JsonParserBase { }; if (json.has("appointment")) res.setAppointment(parseReference(getJObject(json, "appointment"))); + if (json.has("proposedNewTime")) + res.setProposedNewTimeElement(parseBoolean(json.get("proposedNewTime").getAsBoolean())); + if (json.has("_proposedNewTime")) + parseElementProperties(getJObject(json, "_proposedNewTime"), res.getProposedNewTimeElement()); if (json.has("start")) res.setStartElement(parseInstant(json.get("start").getAsString())); if (json.has("_start")) @@ -3066,6 +3697,18 @@ public class JsonParser extends JsonParserBase { res.setCommentElement(parseString(json.get("comment").getAsString())); if (json.has("_comment")) parseElementProperties(getJObject(json, "_comment"), res.getCommentElement()); + if (json.has("recurring")) + res.setRecurringElement(parseBoolean(json.get("recurring").getAsBoolean())); + if (json.has("_recurring")) + parseElementProperties(getJObject(json, "_recurring"), res.getRecurringElement()); + if (json.has("occurrenceDate")) + res.setOccurrenceDateElement(parseDate(json.get("occurrenceDate").getAsString())); + if (json.has("_occurrenceDate")) + parseElementProperties(getJObject(json, "_occurrenceDate"), res.getOccurrenceDateElement()); + if (json.has("recurrenceId")) + res.setRecurrenceIdElement(parsePositiveInt(json.get("recurrenceId").getAsString())); + if (json.has("_recurrenceId")) + parseElementProperties(getJObject(json, "_recurrenceId"), res.getRecurrenceIdElement()); } protected ArtifactAssessment parseArtifactAssessment(JsonObject json) throws IOException, FHIRFormatError { @@ -3448,7 +4091,7 @@ public class JsonParser extends JsonParserBase { if (json.has("productCategory")) res.setProductCategory(parseCoding(getJObject(json, "productCategory"))); if (json.has("productCode")) - res.setProductCode(parseCoding(getJObject(json, "productCode"))); + res.setProductCode(parseCodeableConcept(getJObject(json, "productCode"))); if (json.has("parent")) { JsonArray array = getJArray(json, "parent"); for (int i = 0; i < array.size(); i++) { @@ -3651,6 +4294,8 @@ public class JsonParser extends JsonParserBase { }; if (json.has("signature")) res.setSignature(parseSignature(getJObject(json, "signature"))); + if (json.has("issues")) + res.setIssues(parseResource(getJObject(json, "issues"))); } protected Bundle.BundleLinkComponent parseBundleLinkComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -3662,7 +4307,7 @@ public class JsonParser extends JsonParserBase { protected void parseBundleLinkComponentProperties(JsonObject json, Bundle.BundleLinkComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("relation")) - res.setRelationElement(parseString(json.get("relation").getAsString())); + res.setRelationElement(parseEnumeration(json.get("relation").getAsString(), Bundle.LinkRelationTypes.NULL, new Bundle.LinkRelationTypesEnumFactory())); if (json.has("_relation")) parseElementProperties(getJObject(json, "_relation"), res.getRelationElement()); if (json.has("url")) @@ -3795,6 +4440,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -3849,6 +4497,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("kind")) res.setKindElement(parseEnumeration(json.get("kind").getAsString(), Enumerations.CapabilityStatementKind.NULL, new Enumerations.CapabilityStatementKindEnumFactory())); if (json.has("_kind")) @@ -3937,6 +4589,25 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getPatchFormat().get(i)); } }; + if (json.has("acceptLanguage")) { + JsonArray array = getJArray(json, "acceptLanguage"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getAcceptLanguage().add(new CodeType()); + } else {; + res.getAcceptLanguage().add(parseCode(array.get(i).getAsString())); + } + } + }; + if (json.has("_acceptLanguage")) { + JsonArray array = getJArray(json, "_acceptLanguage"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getAcceptLanguage().size()) + res.getAcceptLanguage().add(parseCode(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getAcceptLanguage().get(i)); + } + }; if (json.has("implementationGuide")) { JsonArray array = getJArray(json, "implementationGuide"); for (int i = 0; i < array.size(); i++) { @@ -4027,7 +4698,7 @@ public class JsonParser extends JsonParserBase { protected void parseCapabilityStatementRestComponentProperties(JsonObject json, CapabilityStatement.CapabilityStatementRestComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("mode")) - res.setModeElement(parseEnumeration(json.get("mode").getAsString(), Enumerations.RestfulCapabilityMode.NULL, new Enumerations.RestfulCapabilityModeEnumFactory())); + res.setModeElement(parseEnumeration(json.get("mode").getAsString(), CapabilityStatement.RestfulCapabilityMode.NULL, new CapabilityStatement.RestfulCapabilityModeEnumFactory())); if (json.has("_mode")) parseElementProperties(getJObject(json, "_mode"), res.getModeElement()); if (json.has("documentation")) @@ -4174,6 +4845,10 @@ public class JsonParser extends JsonParserBase { res.setConditionalUpdateElement(parseBoolean(json.get("conditionalUpdate").getAsBoolean())); if (json.has("_conditionalUpdate")) parseElementProperties(getJObject(json, "_conditionalUpdate"), res.getConditionalUpdateElement()); + if (json.has("conditionalPatch")) + res.setConditionalPatchElement(parseBoolean(json.get("conditionalPatch").getAsBoolean())); + if (json.has("_conditionalPatch")) + parseElementProperties(getJObject(json, "_conditionalPatch"), res.getConditionalPatchElement()); if (json.has("conditionalDelete")) res.setConditionalDeleteElement(parseEnumeration(json.get("conditionalDelete").getAsString(), CapabilityStatement.ConditionalDeleteStatus.NULL, new CapabilityStatement.ConditionalDeleteStatusEnumFactory())); if (json.has("_conditionalDelete")) @@ -4419,491 +5094,6 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_profile"), res.getProfileElement()); } - protected CapabilityStatement2 parseCapabilityStatement2(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2 res = new CapabilityStatement2(); - parseCapabilityStatement2Properties(json, res); - return res; - } - - protected void parseCapabilityStatement2Properties(JsonObject json, CapabilityStatement2 res) throws IOException, FHIRFormatError { - parseCanonicalResourceProperties(json, res); - if (json.has("url")) - res.setUrlElement(parseUri(json.get("url").getAsString())); - if (json.has("_url")) - parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); - if (json.has("version")) - res.setVersionElement(parseString(json.get("version").getAsString())); - if (json.has("_version")) - parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); - if (json.has("title")) - res.setTitleElement(parseString(json.get("title").getAsString())); - if (json.has("_title")) - parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); - if (json.has("status")) - res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); - if (json.has("_status")) - parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); - if (json.has("experimental")) - res.setExperimentalElement(parseBoolean(json.get("experimental").getAsBoolean())); - if (json.has("_experimental")) - parseElementProperties(getJObject(json, "_experimental"), res.getExperimentalElement()); - if (json.has("date")) - res.setDateElement(parseDateTime(json.get("date").getAsString())); - if (json.has("_date")) - parseElementProperties(getJObject(json, "_date"), res.getDateElement()); - if (json.has("publisher")) - res.setPublisherElement(parseString(json.get("publisher").getAsString())); - if (json.has("_publisher")) - parseElementProperties(getJObject(json, "_publisher"), res.getPublisherElement()); - if (json.has("contact")) { - JsonArray array = getJArray(json, "contact"); - for (int i = 0; i < array.size(); i++) { - res.getContact().add(parseContactDetail(array.get(i).getAsJsonObject())); - } - }; - if (json.has("description")) - res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); - if (json.has("_description")) - parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); - if (json.has("useContext")) { - JsonArray array = getJArray(json, "useContext"); - for (int i = 0; i < array.size(); i++) { - res.getUseContext().add(parseUsageContext(array.get(i).getAsJsonObject())); - } - }; - if (json.has("jurisdiction")) { - JsonArray array = getJArray(json, "jurisdiction"); - for (int i = 0; i < array.size(); i++) { - res.getJurisdiction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - if (json.has("purpose")) - res.setPurposeElement(parseMarkdown(json.get("purpose").getAsString())); - if (json.has("_purpose")) - parseElementProperties(getJObject(json, "_purpose"), res.getPurposeElement()); - if (json.has("copyright")) - res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); - if (json.has("_copyright")) - parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); - if (json.has("kind")) - res.setKindElement(parseEnumeration(json.get("kind").getAsString(), Enumerations.CapabilityStatementKind.NULL, new Enumerations.CapabilityStatementKindEnumFactory())); - if (json.has("_kind")) - parseElementProperties(getJObject(json, "_kind"), res.getKindElement()); - if (json.has("instantiates")) { - JsonArray array = getJArray(json, "instantiates"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiates().add(new CanonicalType()); - } else {; - res.getInstantiates().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiates")) { - JsonArray array = getJArray(json, "_instantiates"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiates().size()) - res.getInstantiates().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiates().get(i)); - } - }; - if (json.has("imports")) { - JsonArray array = getJArray(json, "imports"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getImports().add(new CanonicalType()); - } else {; - res.getImports().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_imports")) { - JsonArray array = getJArray(json, "_imports"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getImports().size()) - res.getImports().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getImports().get(i)); - } - }; - if (json.has("software")) - res.setSoftware(parseCapabilityStatement2SoftwareComponent(getJObject(json, "software"))); - if (json.has("implementation")) - res.setImplementation(parseCapabilityStatement2ImplementationComponent(getJObject(json, "implementation"))); - if (json.has("fhirVersion")) - res.setFhirVersionElement(parseEnumeration(json.get("fhirVersion").getAsString(), Enumerations.FHIRVersion.NULL, new Enumerations.FHIRVersionEnumFactory())); - if (json.has("_fhirVersion")) - parseElementProperties(getJObject(json, "_fhirVersion"), res.getFhirVersionElement()); - if (json.has("format")) { - JsonArray array = getJArray(json, "format"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getFormat().add(new CodeType()); - } else {; - res.getFormat().add(parseCode(array.get(i).getAsString())); - } - } - }; - if (json.has("_format")) { - JsonArray array = getJArray(json, "_format"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getFormat().size()) - res.getFormat().add(parseCode(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getFormat().get(i)); - } - }; - if (json.has("patchFormat")) { - JsonArray array = getJArray(json, "patchFormat"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getPatchFormat().add(new CodeType()); - } else {; - res.getPatchFormat().add(parseCode(array.get(i).getAsString())); - } - } - }; - if (json.has("_patchFormat")) { - JsonArray array = getJArray(json, "_patchFormat"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getPatchFormat().size()) - res.getPatchFormat().add(parseCode(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getPatchFormat().get(i)); - } - }; - if (json.has("implementationGuide")) { - JsonArray array = getJArray(json, "implementationGuide"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getImplementationGuide().add(new CanonicalType()); - } else {; - res.getImplementationGuide().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_implementationGuide")) { - JsonArray array = getJArray(json, "_implementationGuide"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getImplementationGuide().size()) - res.getImplementationGuide().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getImplementationGuide().get(i)); - } - }; - if (json.has("rest")) { - JsonArray array = getJArray(json, "rest"); - for (int i = 0; i < array.size(); i++) { - res.getRest().add(parseCapabilityStatement2RestComponent(array.get(i).getAsJsonObject())); - } - }; - } - - protected CapabilityStatement2.CapabilityStatement2SoftwareComponent parseCapabilityStatement2SoftwareComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2SoftwareComponent res = new CapabilityStatement2.CapabilityStatement2SoftwareComponent(); - parseCapabilityStatement2SoftwareComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2SoftwareComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2SoftwareComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); - if (json.has("version")) - res.setVersionElement(parseString(json.get("version").getAsString())); - if (json.has("_version")) - parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); - if (json.has("releaseDate")) - res.setReleaseDateElement(parseDateTime(json.get("releaseDate").getAsString())); - if (json.has("_releaseDate")) - parseElementProperties(getJObject(json, "_releaseDate"), res.getReleaseDateElement()); - } - - protected CapabilityStatement2.CapabilityStatement2ImplementationComponent parseCapabilityStatement2ImplementationComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2ImplementationComponent res = new CapabilityStatement2.CapabilityStatement2ImplementationComponent(); - parseCapabilityStatement2ImplementationComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2ImplementationComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2ImplementationComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("description")) - res.setDescriptionElement(parseString(json.get("description").getAsString())); - if (json.has("_description")) - parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); - if (json.has("url")) - res.setUrlElement(parseUrl(json.get("url").getAsString())); - if (json.has("_url")) - parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); - if (json.has("custodian")) - res.setCustodian(parseReference(getJObject(json, "custodian"))); - } - - protected CapabilityStatement2.CapabilityStatement2RestComponent parseCapabilityStatement2RestComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestComponent res = new CapabilityStatement2.CapabilityStatement2RestComponent(); - parseCapabilityStatement2RestComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2RestComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2RestComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("mode")) - res.setModeElement(parseEnumeration(json.get("mode").getAsString(), Enumerations.RestfulCapabilityMode.NULL, new Enumerations.RestfulCapabilityModeEnumFactory())); - if (json.has("_mode")) - parseElementProperties(getJObject(json, "_mode"), res.getModeElement()); - if (json.has("documentation")) - res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); - if (json.has("_documentation")) - parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); - if (json.has("feature")) { - JsonArray array = getJArray(json, "feature"); - for (int i = 0; i < array.size(); i++) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("resource")) { - JsonArray array = getJArray(json, "resource"); - for (int i = 0; i < array.size(); i++) { - res.getResource().add(parseCapabilityStatement2RestResourceComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("interaction")) { - JsonArray array = getJArray(json, "interaction"); - for (int i = 0; i < array.size(); i++) { - res.getInteraction().add(parseCapabilityStatement2SystemInteractionComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("searchParam")) { - JsonArray array = getJArray(json, "searchParam"); - for (int i = 0; i < array.size(); i++) { - res.getSearchParam().add(parseCapabilityStatement2RestResourceSearchParamComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("operation")) { - JsonArray array = getJArray(json, "operation"); - for (int i = 0; i < array.size(); i++) { - res.getOperation().add(parseCapabilityStatement2RestResourceOperationComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("compartment")) { - JsonArray array = getJArray(json, "compartment"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getCompartment().add(new CanonicalType()); - } else {; - res.getCompartment().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_compartment")) { - JsonArray array = getJArray(json, "_compartment"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getCompartment().size()) - res.getCompartment().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getCompartment().get(i)); - } - }; - } - - protected CapabilityStatement2.CapabilityStatement2RestFeatureComponent parseCapabilityStatement2RestFeatureComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestFeatureComponent res = new CapabilityStatement2.CapabilityStatement2RestFeatureComponent(); - parseCapabilityStatement2RestFeatureComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2RestFeatureComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2RestFeatureComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("code")) - res.setCodeElement(parseEnumeration(json.get("code").getAsString(), CapabilityStatement2.CapabilityFeature.NULL, new CapabilityStatement2.CapabilityFeatureEnumFactory())); - if (json.has("_code")) - parseElementProperties(getJObject(json, "_code"), res.getCodeElement()); - if (json.has("value")) - res.setValueElement(parseEnumeration(json.get("value").getAsString(), CapabilityStatement2.CapabilityFeatureValue.NULL, new CapabilityStatement2.CapabilityFeatureValueEnumFactory())); - if (json.has("_value")) - parseElementProperties(getJObject(json, "_value"), res.getValueElement()); - } - - protected CapabilityStatement2.CapabilityStatement2RestResourceComponent parseCapabilityStatement2RestResourceComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestResourceComponent res = new CapabilityStatement2.CapabilityStatement2RestResourceComponent(); - parseCapabilityStatement2RestResourceComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2RestResourceComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2RestResourceComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("type")) - res.setTypeElement(parseCode(json.get("type").getAsString())); - if (json.has("_type")) - parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("profile")) - res.setProfileElement(parseCanonical(json.get("profile").getAsString())); - if (json.has("_profile")) - parseElementProperties(getJObject(json, "_profile"), res.getProfileElement()); - if (json.has("supportedProfile")) { - JsonArray array = getJArray(json, "supportedProfile"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getSupportedProfile().add(new CanonicalType()); - } else {; - res.getSupportedProfile().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_supportedProfile")) { - JsonArray array = getJArray(json, "_supportedProfile"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getSupportedProfile().size()) - res.getSupportedProfile().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getSupportedProfile().get(i)); - } - }; - if (json.has("documentation")) - res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); - if (json.has("_documentation")) - parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); - if (json.has("feature")) { - JsonArray array = getJArray(json, "feature"); - for (int i = 0; i < array.size(); i++) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("interaction")) { - JsonArray array = getJArray(json, "interaction"); - for (int i = 0; i < array.size(); i++) { - res.getInteraction().add(parseCapabilityStatement2ResourceInteractionComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("searchParam")) { - JsonArray array = getJArray(json, "searchParam"); - for (int i = 0; i < array.size(); i++) { - res.getSearchParam().add(parseCapabilityStatement2RestResourceSearchParamComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("operation")) { - JsonArray array = getJArray(json, "operation"); - for (int i = 0; i < array.size(); i++) { - res.getOperation().add(parseCapabilityStatement2RestResourceOperationComponent(array.get(i).getAsJsonObject())); - } - }; - } - - protected CapabilityStatement2.ResourceInteractionComponent parseCapabilityStatement2ResourceInteractionComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.ResourceInteractionComponent res = new CapabilityStatement2.ResourceInteractionComponent(); - parseCapabilityStatement2ResourceInteractionComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2ResourceInteractionComponentProperties(JsonObject json, CapabilityStatement2.ResourceInteractionComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("code")) - res.setCodeElement(parseEnumeration(json.get("code").getAsString(), CapabilityStatement2.TypeRestfulInteraction.NULL, new CapabilityStatement2.TypeRestfulInteractionEnumFactory())); - if (json.has("_code")) - parseElementProperties(getJObject(json, "_code"), res.getCodeElement()); - if (json.has("documentation")) - res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); - if (json.has("_documentation")) - parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); - if (json.has("feature")) { - JsonArray array = getJArray(json, "feature"); - for (int i = 0; i < array.size(); i++) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(array.get(i).getAsJsonObject())); - } - }; - } - - protected CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent parseCapabilityStatement2RestResourceSearchParamComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent res = new CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent(); - parseCapabilityStatement2RestResourceSearchParamComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2RestResourceSearchParamComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); - if (json.has("definition")) - res.setDefinitionElement(parseCanonical(json.get("definition").getAsString())); - if (json.has("_definition")) - parseElementProperties(getJObject(json, "_definition"), res.getDefinitionElement()); - if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); - if (json.has("_type")) - parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("documentation")) - res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); - if (json.has("_documentation")) - parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); - if (json.has("feature")) { - JsonArray array = getJArray(json, "feature"); - for (int i = 0; i < array.size(); i++) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(array.get(i).getAsJsonObject())); - } - }; - } - - protected CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent parseCapabilityStatement2RestResourceOperationComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent res = new CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent(); - parseCapabilityStatement2RestResourceOperationComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2RestResourceOperationComponentProperties(JsonObject json, CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); - if (json.has("definition")) - res.setDefinitionElement(parseCanonical(json.get("definition").getAsString())); - if (json.has("_definition")) - parseElementProperties(getJObject(json, "_definition"), res.getDefinitionElement()); - if (json.has("documentation")) - res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); - if (json.has("_documentation")) - parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); - if (json.has("feature")) { - JsonArray array = getJArray(json, "feature"); - for (int i = 0; i < array.size(); i++) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(array.get(i).getAsJsonObject())); - } - }; - } - - protected CapabilityStatement2.SystemInteractionComponent parseCapabilityStatement2SystemInteractionComponent(JsonObject json) throws IOException, FHIRFormatError { - CapabilityStatement2.SystemInteractionComponent res = new CapabilityStatement2.SystemInteractionComponent(); - parseCapabilityStatement2SystemInteractionComponentProperties(json, res); - return res; - } - - protected void parseCapabilityStatement2SystemInteractionComponentProperties(JsonObject json, CapabilityStatement2.SystemInteractionComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("code")) - res.setCodeElement(parseEnumeration(json.get("code").getAsString(), CapabilityStatement2.SystemRestfulInteraction.NULL, new CapabilityStatement2.SystemRestfulInteractionEnumFactory())); - if (json.has("_code")) - parseElementProperties(getJObject(json, "_code"), res.getCodeElement()); - if (json.has("documentation")) - res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); - if (json.has("_documentation")) - parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); - if (json.has("feature")) { - JsonArray array = getJArray(json, "feature"); - for (int i = 0; i < array.size(); i++) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(array.get(i).getAsJsonObject())); - } - }; - } - protected CarePlan parseCarePlan(JsonObject json) throws IOException, FHIRFormatError { CarePlan res = new CarePlan(); parseCarePlanProperties(json, res); @@ -5328,8 +5518,8 @@ public class JsonParser extends JsonParserBase { res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("subject")) res.setSubject(parseReference(getJObject(json, "subject"))); - if (json.has("context")) - res.setContext(parseReference(getJObject(json, "context"))); + if (json.has("encounter")) + res.setEncounter(parseReference(getJObject(json, "encounter"))); DataType occurrence = parseType("occurrence", json); if (occurrence != null) res.setOccurrence(occurrence); @@ -5353,16 +5543,12 @@ public class JsonParser extends JsonParserBase { res.getBodysite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; - if (json.has("factorOverride")) - res.setFactorOverrideElement(parseDecimal(json.get("factorOverride").getAsBigDecimal())); - if (json.has("_factorOverride")) - parseElementProperties(getJObject(json, "_factorOverride"), res.getFactorOverrideElement()); - if (json.has("priceOverride")) - res.setPriceOverride(parseMoney(getJObject(json, "priceOverride"))); + if (json.has("unitPriceComponent")) + res.setUnitPriceComponent(parseMonetaryComponent(getJObject(json, "unitPriceComponent"))); + if (json.has("totalPriceComponent")) + res.setTotalPriceComponent(parseMonetaryComponent(getJObject(json, "totalPriceComponent"))); if (json.has("overrideReason")) - res.setOverrideReasonElement(parseString(json.get("overrideReason").getAsString())); - if (json.has("_overrideReason")) - parseElementProperties(getJObject(json, "_overrideReason"), res.getOverrideReasonElement()); + res.setOverrideReason(parseCodeableConcept(getJObject(json, "overrideReason"))); if (json.has("enterer")) res.setEnterer(parseReference(getJObject(json, "enterer"))); if (json.has("enteredDate")) @@ -5378,7 +5564,7 @@ public class JsonParser extends JsonParserBase { if (json.has("service")) { JsonArray array = getJArray(json, "service"); for (int i = 0; i < array.size(); i++) { - res.getService().add(parseReference(array.get(i).getAsJsonObject())); + res.getService().add(parseCodeableReference(array.get(i).getAsJsonObject())); } }; if (json.has("product")) { @@ -5443,6 +5629,10 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + if (json.has("name")) + res.setNameElement(parseString(json.get("name").getAsString())); + if (json.has("_name")) + parseElementProperties(getJObject(json, "_name"), res.getNameElement()); if (json.has("title")) res.setTitleElement(parseString(json.get("title").getAsString())); if (json.has("_title")) @@ -5542,6 +5732,10 @@ public class JsonParser extends JsonParserBase { res.getJurisdiction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("purpose")) + res.setPurposeElement(parseMarkdown(json.get("purpose").getAsString())); + if (json.has("_purpose")) + parseElementProperties(getJObject(json, "_purpose"), res.getPurposeElement()); if (json.has("copyright")) res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) @@ -5554,8 +5748,6 @@ public class JsonParser extends JsonParserBase { res.setLastReviewDateElement(parseDate(json.get("lastReviewDate").getAsString())); if (json.has("_lastReviewDate")) parseElementProperties(getJObject(json, "_lastReviewDate"), res.getLastReviewDateElement()); - if (json.has("effectivePeriod")) - res.setEffectivePeriod(parsePeriod(getJObject(json, "effectivePeriod"))); if (json.has("code")) res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("instance")) { @@ -5586,18 +5778,12 @@ public class JsonParser extends JsonParserBase { protected void parseChargeItemDefinitionApplicabilityComponentProperties(JsonObject json, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("description")) - res.setDescriptionElement(parseString(json.get("description").getAsString())); - if (json.has("_description")) - parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); - if (json.has("language")) - res.setLanguageElement(parseString(json.get("language").getAsString())); - if (json.has("_language")) - parseElementProperties(getJObject(json, "_language"), res.getLanguageElement()); - if (json.has("expression")) - res.setExpressionElement(parseString(json.get("expression").getAsString())); - if (json.has("_expression")) - parseElementProperties(getJObject(json, "_expression"), res.getExpressionElement()); + if (json.has("condition")) + res.setCondition(parseExpression(getJObject(json, "condition"))); + if (json.has("effectivePeriod")) + res.setEffectivePeriod(parsePeriod(getJObject(json, "effectivePeriod"))); + if (json.has("relatedArtifact")) + res.setRelatedArtifact(parseRelatedArtifact(getJObject(json, "relatedArtifact"))); } protected ChargeItemDefinition.ChargeItemDefinitionPropertyGroupComponent parseChargeItemDefinitionPropertyGroupComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -5617,33 +5803,11 @@ public class JsonParser extends JsonParserBase { if (json.has("priceComponent")) { JsonArray array = getJArray(json, "priceComponent"); for (int i = 0; i < array.size(); i++) { - res.getPriceComponent().add(parseChargeItemDefinitionPropertyGroupPriceComponentComponent(array.get(i).getAsJsonObject())); + res.getPriceComponent().add(parseMonetaryComponent(array.get(i).getAsJsonObject())); } }; } - protected ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent parseChargeItemDefinitionPropertyGroupPriceComponentComponent(JsonObject json) throws IOException, FHIRFormatError { - ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent res = new ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - parseChargeItemDefinitionPropertyGroupPriceComponentComponentProperties(json, res); - return res; - } - - protected void parseChargeItemDefinitionPropertyGroupPriceComponentComponentProperties(JsonObject json, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.InvoicePriceComponentType.NULL, new Enumerations.InvoicePriceComponentTypeEnumFactory())); - if (json.has("_type")) - parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("code")) - res.setCode(parseCodeableConcept(getJObject(json, "code"))); - if (json.has("factor")) - res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); - if (json.has("_factor")) - parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); - if (json.has("amount")) - res.setAmount(parseMoney(getJObject(json, "amount"))); - } - protected Citation parseCitation(JsonObject json) throws IOException, FHIRFormatError { Citation res = new Citation(); parseCitationProperties(json, res); @@ -6078,8 +6242,36 @@ public class JsonParser extends JsonParserBase { parseBackboneElementProperties(json, res); if (json.has("publishedIn")) res.setPublishedIn(parseCitationCitedArtifactPublicationFormPublishedInComponent(getJObject(json, "publishedIn"))); - if (json.has("periodicRelease")) - res.setPeriodicRelease(parseCitationCitedArtifactPublicationFormPeriodicReleaseComponent(getJObject(json, "periodicRelease"))); + if (json.has("citedMedium")) + res.setCitedMedium(parseCodeableConcept(getJObject(json, "citedMedium"))); + if (json.has("volume")) + res.setVolumeElement(parseString(json.get("volume").getAsString())); + if (json.has("_volume")) + parseElementProperties(getJObject(json, "_volume"), res.getVolumeElement()); + if (json.has("issue")) + res.setIssueElement(parseString(json.get("issue").getAsString())); + if (json.has("_issue")) + parseElementProperties(getJObject(json, "_issue"), res.getIssueElement()); + if (json.has("publicationDateYear")) + res.setPublicationDateYearElement(parseString(json.get("publicationDateYear").getAsString())); + if (json.has("_publicationDateYear")) + parseElementProperties(getJObject(json, "_publicationDateYear"), res.getPublicationDateYearElement()); + if (json.has("publicationDateMonth")) + res.setPublicationDateMonthElement(parseString(json.get("publicationDateMonth").getAsString())); + if (json.has("_publicationDateMonth")) + parseElementProperties(getJObject(json, "_publicationDateMonth"), res.getPublicationDateMonthElement()); + if (json.has("publicationDateDay")) + res.setPublicationDateDayElement(parseString(json.get("publicationDateDay").getAsString())); + if (json.has("_publicationDateDay")) + parseElementProperties(getJObject(json, "_publicationDateDay"), res.getPublicationDateDayElement()); + if (json.has("publicationDateSeason")) + res.setPublicationDateSeasonElement(parseString(json.get("publicationDateSeason").getAsString())); + if (json.has("_publicationDateSeason")) + parseElementProperties(getJObject(json, "_publicationDateSeason"), res.getPublicationDateSeasonElement()); + if (json.has("publicationDateText")) + res.setPublicationDateTextElement(parseString(json.get("publicationDateText").getAsString())); + if (json.has("_publicationDateText")) + parseElementProperties(getJObject(json, "_publicationDateText"), res.getPublicationDateTextElement()); if (json.has("articleDate")) res.setArticleDateElement(parseDateTime(json.get("articleDate").getAsString())); if (json.has("_articleDate")) @@ -6148,62 +6340,6 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_publisherLocation"), res.getPublisherLocationElement()); } - protected Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent parseCitationCitedArtifactPublicationFormPeriodicReleaseComponent(JsonObject json) throws IOException, FHIRFormatError { - Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent res = new Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent(); - parseCitationCitedArtifactPublicationFormPeriodicReleaseComponentProperties(json, res); - return res; - } - - protected void parseCitationCitedArtifactPublicationFormPeriodicReleaseComponentProperties(JsonObject json, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("citedMedium")) - res.setCitedMedium(parseCodeableConcept(getJObject(json, "citedMedium"))); - if (json.has("volume")) - res.setVolumeElement(parseString(json.get("volume").getAsString())); - if (json.has("_volume")) - parseElementProperties(getJObject(json, "_volume"), res.getVolumeElement()); - if (json.has("issue")) - res.setIssueElement(parseString(json.get("issue").getAsString())); - if (json.has("_issue")) - parseElementProperties(getJObject(json, "_issue"), res.getIssueElement()); - if (json.has("dateOfPublication")) - res.setDateOfPublication(parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(getJObject(json, "dateOfPublication"))); - } - - protected Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(JsonObject json) throws IOException, FHIRFormatError { - Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent res = new Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(); - parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentProperties(json, res); - return res; - } - - protected void parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentProperties(JsonObject json, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("date")) - res.setDateElement(parseDate(json.get("date").getAsString())); - if (json.has("_date")) - parseElementProperties(getJObject(json, "_date"), res.getDateElement()); - if (json.has("year")) - res.setYearElement(parseString(json.get("year").getAsString())); - if (json.has("_year")) - parseElementProperties(getJObject(json, "_year"), res.getYearElement()); - if (json.has("month")) - res.setMonthElement(parseString(json.get("month").getAsString())); - if (json.has("_month")) - parseElementProperties(getJObject(json, "_month"), res.getMonthElement()); - if (json.has("day")) - res.setDayElement(parseString(json.get("day").getAsString())); - if (json.has("_day")) - parseElementProperties(getJObject(json, "_day"), res.getDayElement()); - if (json.has("season")) - res.setSeasonElement(parseString(json.get("season").getAsString())); - if (json.has("_season")) - parseElementProperties(getJObject(json, "_season"), res.getSeasonElement()); - if (json.has("text")) - res.setTextElement(parseString(json.get("text").getAsString())); - if (json.has("_text")) - parseElementProperties(getJObject(json, "_text"), res.getTextElement()); - } - protected Citation.CitationCitedArtifactWebLocationComponent parseCitationCitedArtifactWebLocationComponent(JsonObject json) throws IOException, FHIRFormatError { Citation.CitationCitedArtifactWebLocationComponent res = new Citation.CitationCitedArtifactWebLocationComponent(); parseCitationCitedArtifactWebLocationComponentProperties(json, res); @@ -6244,7 +6380,7 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "artifactAssessment"); for (int i = 0; i < array.size(); i++) { res.getArtifactAssessment().add(parseReference(array.get(i).getAsJsonObject())); - } + } }; } @@ -6412,8 +6548,16 @@ public class JsonParser extends JsonParserBase { res.setPayee(parseClaimPayeeComponent(getJObject(json, "payee"))); if (json.has("referral")) res.setReferral(parseReference(getJObject(json, "referral"))); + if (json.has("encounter")) { + JsonArray array = getJArray(json, "encounter"); + for (int i = 0; i < array.size(); i++) { + res.getEncounter().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("facility")) res.setFacility(parseReference(getJObject(json, "facility"))); + if (json.has("diagnosisRelatedGroup")) + res.setDiagnosisRelatedGroup(parseCodeableConcept(getJObject(json, "diagnosisRelatedGroup"))); if (json.has("careTeam")) { JsonArray array = getJArray(json, "careTeam"); for (int i = 0; i < array.size(); i++) { @@ -6446,6 +6590,8 @@ public class JsonParser extends JsonParserBase { }; if (json.has("accident")) res.setAccident(parseClaimAccidentComponent(getJObject(json, "accident"))); + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("item")) { JsonArray array = getJArray(json, "item"); for (int i = 0; i < array.size(); i++) { @@ -6506,8 +6652,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_responsible"), res.getResponsibleElement()); if (json.has("role")) res.setRole(parseCodeableConcept(getJObject(json, "role"))); - if (json.has("qualification")) - res.setQualification(parseCodeableConcept(getJObject(json, "qualification"))); + if (json.has("specialty")) + res.setSpecialty(parseCodeableConcept(getJObject(json, "specialty"))); } protected Claim.SupportingInformationComponent parseClaimSupportingInformationComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -6559,8 +6705,6 @@ public class JsonParser extends JsonParserBase { }; if (json.has("onAdmission")) res.setOnAdmission(parseCodeableConcept(getJObject(json, "onAdmission"))); - if (json.has("packageCode")) - res.setPackageCode(parseCodeableConcept(getJObject(json, "packageCode"))); } protected Claim.ProcedureComponent parseClaimProcedureComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -6756,6 +6900,8 @@ public class JsonParser extends JsonParserBase { res.setCategory(parseCodeableConcept(getJObject(json, "category"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -6774,6 +6920,8 @@ public class JsonParser extends JsonParserBase { DataType location = parseType("location", json); if (location != null) res.setLocation(location); + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -6782,6 +6930,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("udi")) { @@ -6790,12 +6940,10 @@ public class JsonParser extends JsonParserBase { res.getUdi().add(parseReference(array.get(i).getAsJsonObject())); } }; - if (json.has("bodySite")) - res.setBodySite(parseCodeableConcept(getJObject(json, "bodySite"))); - if (json.has("subSite")) { - JsonArray array = getJArray(json, "subSite"); + if (json.has("bodySite")) { + JsonArray array = getJArray(json, "bodySite"); for (int i = 0; i < array.size(); i++) { - res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getBodySite().add(parseClaimBodySiteComponent(array.get(i).getAsJsonObject())); } }; if (json.has("encounter")) { @@ -6812,6 +6960,28 @@ public class JsonParser extends JsonParserBase { }; } + protected Claim.BodySiteComponent parseClaimBodySiteComponent(JsonObject json) throws IOException, FHIRFormatError { + Claim.BodySiteComponent res = new Claim.BodySiteComponent(); + parseClaimBodySiteComponentProperties(json, res); + return res; + } + + protected void parseClaimBodySiteComponentProperties(JsonObject json, Claim.BodySiteComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("site")) { + JsonArray array = getJArray(json, "site"); + for (int i = 0; i < array.size(); i++) { + res.getSite().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("subSite")) { + JsonArray array = getJArray(json, "subSite"); + for (int i = 0; i < array.size(); i++) { + res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + } + protected Claim.DetailComponent parseClaimDetailComponent(JsonObject json) throws IOException, FHIRFormatError { Claim.DetailComponent res = new Claim.DetailComponent(); parseClaimDetailComponentProperties(json, res); @@ -6830,6 +7000,8 @@ public class JsonParser extends JsonParserBase { res.setCategory(parseCodeableConcept(getJObject(json, "category"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -6842,6 +7014,8 @@ public class JsonParser extends JsonParserBase { res.getProgramCode().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -6850,6 +7024,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("udi")) { @@ -6884,6 +7060,8 @@ public class JsonParser extends JsonParserBase { res.setCategory(parseCodeableConcept(getJObject(json, "category"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -6896,6 +7074,8 @@ public class JsonParser extends JsonParserBase { res.getProgramCode().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -6904,6 +7084,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("udi")) { @@ -6956,6 +7138,8 @@ public class JsonParser extends JsonParserBase { res.setOutcomeElement(parseEnumeration(json.get("outcome").getAsString(), Enumerations.ClaimProcessingCodes.NULL, new Enumerations.ClaimProcessingCodesEnumFactory())); if (json.has("_outcome")) parseElementProperties(getJObject(json, "_outcome"), res.getOutcomeElement()); + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("disposition")) res.setDispositionElement(parseString(json.get("disposition").getAsString())); if (json.has("_disposition")) @@ -6968,6 +7152,14 @@ public class JsonParser extends JsonParserBase { res.setPreAuthPeriod(parsePeriod(getJObject(json, "preAuthPeriod"))); if (json.has("payeeType")) res.setPayeeType(parseCodeableConcept(getJObject(json, "payeeType"))); + if (json.has("encounter")) { + JsonArray array = getJArray(json, "encounter"); + for (int i = 0; i < array.size(); i++) { + res.getEncounter().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("diagnosisRelatedGroup")) + res.setDiagnosisRelatedGroup(parseCodeableConcept(getJObject(json, "diagnosisRelatedGroup"))); if (json.has("item")) { JsonArray array = getJArray(json, "item"); for (int i = 0; i < array.size(); i++) { @@ -7057,6 +7249,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -7122,6 +7316,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -7167,6 +7363,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -7246,8 +7444,12 @@ public class JsonParser extends JsonParserBase { res.getProvider().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("revenue")) + res.setRevenue(parseCodeableConcept(getJObject(json, "revenue"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -7274,14 +7476,14 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); - if (json.has("bodySite")) - res.setBodySite(parseCodeableConcept(getJObject(json, "bodySite"))); - if (json.has("subSite")) { - JsonArray array = getJArray(json, "subSite"); + if (json.has("bodySite")) { + JsonArray array = getJArray(json, "bodySite"); for (int i = 0; i < array.size(); i++) { - res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getBodySite().add(parseClaimResponseBodySiteComponent(array.get(i).getAsJsonObject())); } }; if (json.has("noteNumber")) { @@ -7303,6 +7505,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -7317,6 +7521,28 @@ public class JsonParser extends JsonParserBase { }; } + protected ClaimResponse.BodySiteComponent parseClaimResponseBodySiteComponent(JsonObject json) throws IOException, FHIRFormatError { + ClaimResponse.BodySiteComponent res = new ClaimResponse.BodySiteComponent(); + parseClaimResponseBodySiteComponentProperties(json, res); + return res; + } + + protected void parseClaimResponseBodySiteComponentProperties(JsonObject json, ClaimResponse.BodySiteComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("site")) { + JsonArray array = getJArray(json, "site"); + for (int i = 0; i < array.size(); i++) { + res.getSite().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("subSite")) { + JsonArray array = getJArray(json, "subSite"); + for (int i = 0; i < array.size(); i++) { + res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + } + protected ClaimResponse.AddedItemDetailComponent parseClaimResponseAddedItemDetailComponent(JsonObject json) throws IOException, FHIRFormatError { ClaimResponse.AddedItemDetailComponent res = new ClaimResponse.AddedItemDetailComponent(); parseClaimResponseAddedItemDetailComponentProperties(json, res); @@ -7325,8 +7551,12 @@ public class JsonParser extends JsonParserBase { protected void parseClaimResponseAddedItemDetailComponentProperties(JsonObject json, ClaimResponse.AddedItemDetailComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); + if (json.has("revenue")) + res.setRevenue(parseCodeableConcept(getJObject(json, "revenue"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -7341,6 +7571,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("noteNumber")) { @@ -7362,6 +7594,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -7384,8 +7618,12 @@ public class JsonParser extends JsonParserBase { protected void parseClaimResponseAddedItemSubDetailComponentProperties(JsonObject json, ClaimResponse.AddedItemSubDetailComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); + if (json.has("revenue")) + res.setRevenue(parseCodeableConcept(getJObject(json, "revenue"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -7400,6 +7638,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("noteNumber")) { @@ -7421,6 +7661,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -7586,6 +7828,8 @@ public class JsonParser extends JsonParserBase { res.getProblem().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("changePattern")) + res.setChangePattern(parseCodeableConcept(getJObject(json, "changePattern"))); if (json.has("protocol")) { JsonArray array = getJArray(json, "protocol"); for (int i = 0; i < array.size(); i++) { @@ -7749,8 +7993,8 @@ public class JsonParser extends JsonParserBase { parseBackboneElementProperties(json, res); if (json.has("relationshipType")) res.setRelationshipType(parseCodeableConcept(getJObject(json, "relationshipType"))); - if (json.has("therapy")) - res.setTherapy(parseCodeableReference(getJObject(json, "therapy"))); + if (json.has("treatment")) + res.setTreatment(parseCodeableReference(getJObject(json, "treatment"))); } protected ClinicalUseDefinition.ClinicalUseDefinitionIndicationComponent parseClinicalUseDefinitionIndicationComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -7870,7 +8114,7 @@ public class JsonParser extends JsonParserBase { } protected void parseCodeSystemProperties(JsonObject json, CodeSystem res) throws IOException, FHIRFormatError { - parseCanonicalResourceProperties(json, res); + parseMetadataResourceProperties(json, res); if (json.has("url")) res.setUrlElement(parseUri(json.get("url").getAsString())); if (json.has("_url")) @@ -7939,6 +8183,52 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("approvalDate")) + res.setApprovalDateElement(parseDate(json.get("approvalDate").getAsString())); + if (json.has("_approvalDate")) + parseElementProperties(getJObject(json, "_approvalDate"), res.getApprovalDateElement()); + if (json.has("lastReviewDate")) + res.setLastReviewDateElement(parseDate(json.get("lastReviewDate").getAsString())); + if (json.has("_lastReviewDate")) + parseElementProperties(getJObject(json, "_lastReviewDate"), res.getLastReviewDateElement()); + if (json.has("effectivePeriod")) + res.setEffectivePeriod(parsePeriod(getJObject(json, "effectivePeriod"))); + if (json.has("topic")) { + JsonArray array = getJArray(json, "topic"); + for (int i = 0; i < array.size(); i++) { + res.getTopic().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("author")) { + JsonArray array = getJArray(json, "author"); + for (int i = 0; i < array.size(); i++) { + res.getAuthor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("editor")) { + JsonArray array = getJArray(json, "editor"); + for (int i = 0; i < array.size(); i++) { + res.getEditor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("reviewer")) { + JsonArray array = getJArray(json, "reviewer"); + for (int i = 0; i < array.size(); i++) { + res.getReviewer().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("endorser")) { + JsonArray array = getJArray(json, "endorser"); + for (int i = 0; i < array.size(); i++) { + res.getEndorser().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("relatedArtifact")) { + JsonArray array = getJArray(json, "relatedArtifact"); + for (int i = 0; i < array.size(); i++) { + res.getRelatedArtifact().add(parseRelatedArtifact(array.get(i).getAsJsonObject())); + } + }; if (json.has("caseSensitive")) res.setCaseSensitiveElement(parseBoolean(json.get("caseSensitive").getAsBoolean())); if (json.has("_caseSensitive")) @@ -8112,6 +8402,12 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_language"), res.getLanguageElement()); if (json.has("use")) res.setUse(parseCoding(getJObject(json, "use"))); + if (json.has("additionalUse")) { + JsonArray array = getJArray(json, "additionalUse"); + for (int i = 0; i < array.size(); i++) { + res.getAdditionalUse().add(parseCoding(array.get(i).getAsJsonObject())); + } + }; if (json.has("value")) res.setValueElement(parseString(json.get("value").getAsString())); if (json.has("_value")) @@ -8426,10 +8722,17 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); if (json.has("status")) res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); if (json.has("_status")) @@ -8517,6 +8820,14 @@ public class JsonParser extends JsonParserBase { res.setDocumentationElement(parseString(json.get("documentation").getAsString())); if (json.has("_documentation")) parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); + if (json.has("startParam")) + res.setStartParamElement(parseUri(json.get("startParam").getAsString())); + if (json.has("_startParam")) + parseElementProperties(getJObject(json, "_startParam"), res.getStartParamElement()); + if (json.has("endParam")) + res.setEndParamElement(parseUri(json.get("endParam").getAsString())); + if (json.has("_endParam")) + parseElementProperties(getJObject(json, "_endParam"), res.getEndParamElement()); } protected Composition parseComposition(JsonObject json) throws IOException, FHIRFormatError { @@ -8531,8 +8842,12 @@ public class JsonParser extends JsonParserBase { res.setUrlElement(parseUri(json.get("url").getAsString())); if (json.has("_url")) parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); - if (json.has("identifier")) - res.setIdentifier(parseIdentifier(getJObject(json, "identifier"))); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; if (json.has("version")) res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) @@ -8549,8 +8864,12 @@ public class JsonParser extends JsonParserBase { res.getCategory().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; - if (json.has("subject")) - res.setSubject(parseReference(getJObject(json, "subject"))); + if (json.has("subject")) { + JsonArray array = getJArray(json, "subject"); + for (int i = 0; i < array.size(); i++) { + res.getSubject().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("encounter")) res.setEncounter(parseReference(getJObject(json, "encounter"))); if (json.has("date")) @@ -8583,10 +8902,6 @@ public class JsonParser extends JsonParserBase { res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); } }; - if (json.has("confidentiality")) - res.setConfidentialityElement(parseCode(json.get("confidentiality").getAsString())); - if (json.has("_confidentiality")) - parseElementProperties(getJObject(json, "_confidentiality"), res.getConfidentialityElement()); if (json.has("attester")) { JsonArray array = getJArray(json, "attester"); for (int i = 0; i < array.size(); i++) { @@ -8779,6 +9094,52 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("approvalDate")) + res.setApprovalDateElement(parseDate(json.get("approvalDate").getAsString())); + if (json.has("_approvalDate")) + parseElementProperties(getJObject(json, "_approvalDate"), res.getApprovalDateElement()); + if (json.has("lastReviewDate")) + res.setLastReviewDateElement(parseDate(json.get("lastReviewDate").getAsString())); + if (json.has("_lastReviewDate")) + parseElementProperties(getJObject(json, "_lastReviewDate"), res.getLastReviewDateElement()); + if (json.has("effectivePeriod")) + res.setEffectivePeriod(parsePeriod(getJObject(json, "effectivePeriod"))); + if (json.has("topic")) { + JsonArray array = getJArray(json, "topic"); + for (int i = 0; i < array.size(); i++) { + res.getTopic().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("author")) { + JsonArray array = getJArray(json, "author"); + for (int i = 0; i < array.size(); i++) { + res.getAuthor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("editor")) { + JsonArray array = getJArray(json, "editor"); + for (int i = 0; i < array.size(); i++) { + res.getEditor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("reviewer")) { + JsonArray array = getJArray(json, "reviewer"); + for (int i = 0; i < array.size(); i++) { + res.getReviewer().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("endorser")) { + JsonArray array = getJArray(json, "endorser"); + for (int i = 0; i < array.size(); i++) { + res.getEndorser().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("relatedArtifact")) { + JsonArray array = getJArray(json, "relatedArtifact"); + for (int i = 0; i < array.size(); i++) { + res.getRelatedArtifact().add(parseRelatedArtifact(array.get(i).getAsJsonObject())); + } + }; DataType sourceScope = parseType("sourceScope", json); if (sourceScope != null) res.setSourceScope(sourceScope); @@ -9436,7 +9797,7 @@ public class JsonParser extends JsonParserBase { protected void parseConsentProvisionComponentProperties(JsonObject json, Consent.ProvisionComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Consent.ConsentProvisionType.NULL, new Consent.ConsentProvisionTypeEnumFactory())); + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ConsentProvisionType.NULL, new Enumerations.ConsentProvisionTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); if (json.has("period")) @@ -9518,7 +9879,7 @@ public class JsonParser extends JsonParserBase { protected void parseConsentProvisionDataComponentProperties(JsonObject json, Consent.ProvisionDataComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("meaning")) - res.setMeaningElement(parseEnumeration(json.get("meaning").getAsString(), Consent.ConsentDataMeaning.NULL, new Consent.ConsentDataMeaningEnumFactory())); + res.setMeaningElement(parseEnumeration(json.get("meaning").getAsString(), Enumerations.ConsentDataMeaning.NULL, new Enumerations.ConsentDataMeaningEnumFactory())); if (json.has("_meaning")) parseElementProperties(getJObject(json, "_meaning"), res.getMeaningElement()); if (json.has("reference")) @@ -10414,14 +10775,28 @@ public class JsonParser extends JsonParserBase { res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("kind")) + res.setKindElement(parseEnumeration(json.get("kind").getAsString(), Coverage.Kind.NULL, new Coverage.KindEnumFactory())); + if (json.has("_kind")) + parseElementProperties(getJObject(json, "_kind"), res.getKindElement()); + if (json.has("paymentBy")) { + JsonArray array = getJArray(json, "paymentBy"); + for (int i = 0; i < array.size(); i++) { + res.getPaymentBy().add(parseCoveragePaymentByComponent(array.get(i).getAsJsonObject())); + } + }; if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); if (json.has("policyHolder")) res.setPolicyHolder(parseReference(getJObject(json, "policyHolder"))); if (json.has("subscriber")) res.setSubscriber(parseReference(getJObject(json, "subscriber"))); - if (json.has("subscriberId")) - res.setSubscriberId(parseIdentifier(getJObject(json, "subscriberId"))); + if (json.has("subscriberId")) { + JsonArray array = getJArray(json, "subscriberId"); + for (int i = 0; i < array.size(); i++) { + res.getSubscriberId().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; if (json.has("beneficiary")) res.setBeneficiary(parseReference(getJObject(json, "beneficiary"))); if (json.has("dependent")) @@ -10432,12 +10807,8 @@ public class JsonParser extends JsonParserBase { res.setRelationship(parseCodeableConcept(getJObject(json, "relationship"))); if (json.has("period")) res.setPeriod(parsePeriod(getJObject(json, "period"))); - if (json.has("payor")) { - JsonArray array = getJArray(json, "payor"); - for (int i = 0; i < array.size(); i++) { - res.getPayor().add(parseReference(array.get(i).getAsJsonObject())); - } - }; + if (json.has("insurer")) + res.setInsurer(parseReference(getJObject(json, "insurer"))); if (json.has("class")) { JsonArray array = getJArray(json, "class"); for (int i = 0; i < array.size(); i++) { @@ -10468,6 +10839,24 @@ public class JsonParser extends JsonParserBase { res.getContract().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("insurancePlan")) + res.setInsurancePlan(parseReference(getJObject(json, "insurancePlan"))); + } + + protected Coverage.CoveragePaymentByComponent parseCoveragePaymentByComponent(JsonObject json) throws IOException, FHIRFormatError { + Coverage.CoveragePaymentByComponent res = new Coverage.CoveragePaymentByComponent(); + parseCoveragePaymentByComponentProperties(json, res); + return res; + } + + protected void parseCoveragePaymentByComponentProperties(JsonObject json, Coverage.CoveragePaymentByComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("party")) + res.setParty(parseReference(getJObject(json, "party"))); + if (json.has("responsibility")) + res.setResponsibilityElement(parseString(json.get("responsibility").getAsString())); + if (json.has("_responsibility")) + parseElementProperties(getJObject(json, "_responsibility"), res.getResponsibilityElement()); } protected Coverage.ClassComponent parseCoverageClassComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -10481,9 +10870,7 @@ public class JsonParser extends JsonParserBase { if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); if (json.has("value")) - res.setValueElement(parseString(json.get("value").getAsString())); - if (json.has("_value")) - parseElementProperties(getJObject(json, "_value"), res.getValueElement()); + res.setValue(parseIdentifier(getJObject(json, "value"))); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -10500,6 +10887,14 @@ public class JsonParser extends JsonParserBase { parseBackboneElementProperties(json, res); if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); + if (json.has("category")) + res.setCategory(parseCodeableConcept(getJObject(json, "category"))); + if (json.has("network")) + res.setNetwork(parseCodeableConcept(getJObject(json, "network"))); + if (json.has("unit")) + res.setUnit(parseCodeableConcept(getJObject(json, "unit"))); + if (json.has("term")) + res.setTerm(parseCodeableConcept(getJObject(json, "term"))); DataType value = parseType("value", json); if (value != null) res.setValue(value); @@ -10922,17 +11317,23 @@ public class JsonParser extends JsonParserBase { } }; if (json.has("status")) - res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.ObservationStatus.NULL, new Enumerations.ObservationStatusEnumFactory())); + res.setStatusElement(parseEnumeration(json.get("status").getAsString(), DetectedIssue.DetectedIssueStatus.NULL, new DetectedIssue.DetectedIssueStatusEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("category")) { + JsonArray array = getJArray(json, "category"); + for (int i = 0; i < array.size(); i++) { + res.getCategory().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("code")) res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("severity")) res.setSeverityElement(parseEnumeration(json.get("severity").getAsString(), DetectedIssue.DetectedIssueSeverity.NULL, new DetectedIssue.DetectedIssueSeverityEnumFactory())); if (json.has("_severity")) parseElementProperties(getJObject(json, "_severity"), res.getSeverityElement()); - if (json.has("patient")) - res.setPatient(parseReference(getJObject(json, "patient"))); + if (json.has("subject")) + res.setSubject(parseReference(getJObject(json, "subject"))); DataType identified = parseType("identified", json); if (identified != null) res.setIdentified(identified); @@ -11036,12 +11437,8 @@ public class JsonParser extends JsonParserBase { res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Device.FHIRDeviceStatus.NULL, new Device.FHIRDeviceStatusEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); - if (json.has("statusReason")) { - JsonArray array = getJArray(json, "statusReason"); - for (int i = 0; i < array.size(); i++) { - res.getStatusReason().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; + if (json.has("availabilityStatus")) + res.setAvailabilityStatus(parseCodeableConcept(getJObject(json, "availabilityStatus"))); if (json.has("biologicalSourceEvent")) res.setBiologicalSourceEvent(parseIdentifier(getJObject(json, "biologicalSourceEvent"))); if (json.has("manufacturer")) @@ -11078,6 +11475,12 @@ public class JsonParser extends JsonParserBase { res.setPartNumberElement(parseString(json.get("partNumber").getAsString())); if (json.has("_partNumber")) parseElementProperties(getJObject(json, "_partNumber"), res.getPartNumberElement()); + if (json.has("category")) { + JsonArray array = getJArray(json, "category"); + for (int i = 0; i < array.size(); i++) { + res.getCategory().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("type")) { JsonArray array = getJArray(json, "type"); for (int i = 0; i < array.size(); i++) { @@ -11102,12 +11505,10 @@ public class JsonParser extends JsonParserBase { res.getProperty().add(parseDevicePropertyComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("subject")) - res.setSubject(parseReference(getJObject(json, "subject"))); - if (json.has("operationalState")) { - JsonArray array = getJArray(json, "operationalState"); + if (json.has("operation")) { + JsonArray array = getJArray(json, "operation"); for (int i = 0; i < array.size(); i++) { - res.getOperationalState().add(parseDeviceOperationalStateComponent(array.get(i).getAsJsonObject())); + res.getOperation().add(parseDeviceOperationComponent(array.get(i).getAsJsonObject())); } }; if (json.has("association")) { @@ -11136,10 +11537,10 @@ public class JsonParser extends JsonParserBase { res.getEndpoint().add(parseReference(array.get(i).getAsJsonObject())); } }; - if (json.has("link")) { - JsonArray array = getJArray(json, "link"); + if (json.has("gateway")) { + JsonArray array = getJArray(json, "gateway"); for (int i = 0; i < array.size(); i++) { - res.getLink().add(parseDeviceLinkComponent(array.get(i).getAsJsonObject())); + res.getGateway().add(parseCodeableReference(array.get(i).getAsJsonObject())); } }; if (json.has("note")) { @@ -11265,13 +11666,13 @@ public class JsonParser extends JsonParserBase { res.setValue(value); } - protected Device.DeviceOperationalStateComponent parseDeviceOperationalStateComponent(JsonObject json) throws IOException, FHIRFormatError { - Device.DeviceOperationalStateComponent res = new Device.DeviceOperationalStateComponent(); - parseDeviceOperationalStateComponentProperties(json, res); + protected Device.DeviceOperationComponent parseDeviceOperationComponent(JsonObject json) throws IOException, FHIRFormatError { + Device.DeviceOperationComponent res = new Device.DeviceOperationComponent(); + parseDeviceOperationComponentProperties(json, res); return res; } - protected void parseDeviceOperationalStateComponentProperties(JsonObject json, Device.DeviceOperationalStateComponent res) throws IOException, FHIRFormatError { + protected void parseDeviceOperationComponentProperties(JsonObject json, Device.DeviceOperationComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("status")) res.setStatus(parseCodeableConcept(getJObject(json, "status"))); @@ -11292,7 +11693,7 @@ public class JsonParser extends JsonParserBase { if (json.has("cycle")) res.setCycle(parseCount(getJObject(json, "cycle"))); if (json.has("duration")) - res.setDuration(parseCodeableConcept(getJObject(json, "duration"))); + res.setDuration(parseDuration(getJObject(json, "duration"))); } protected Device.DeviceAssociationComponent parseDeviceAssociationComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -11317,20 +11718,6 @@ public class JsonParser extends JsonParserBase { res.setBodyStructure(parseCodeableReference(getJObject(json, "bodyStructure"))); } - protected Device.DeviceLinkComponent parseDeviceLinkComponent(JsonObject json) throws IOException, FHIRFormatError { - Device.DeviceLinkComponent res = new Device.DeviceLinkComponent(); - parseDeviceLinkComponentProperties(json, res); - return res; - } - - protected void parseDeviceLinkComponentProperties(JsonObject json, Device.DeviceLinkComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("relation")) - res.setRelation(parseCoding(getJObject(json, "relation"))); - if (json.has("relatedDevice")) - res.setRelatedDevice(parseCodeableReference(getJObject(json, "relatedDevice"))); - } - protected DeviceDefinition parseDeviceDefinition(JsonObject json) throws IOException, FHIRFormatError { DeviceDefinition res = new DeviceDefinition(); parseDeviceDefinitionProperties(json, res); @@ -11355,6 +11742,12 @@ public class JsonParser extends JsonParserBase { res.getUdiDeviceIdentifier().add(parseDeviceDefinitionUdiDeviceIdentifierComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("regulatoryIdentifier")) { + JsonArray array = getJArray(json, "regulatoryIdentifier"); + for (int i = 0; i < array.size(); i++) { + res.getRegulatoryIdentifier().add(parseDeviceDefinitionRegulatoryIdentifierComponent(array.get(i).getAsJsonObject())); + } + }; if (json.has("partNumber")) res.setPartNumberElement(parseString(json.get("partNumber").getAsString())); if (json.has("_partNumber")) @@ -11528,6 +11921,32 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_subJurisdiction"), res.getSubJurisdictionElement()); } + protected DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent parseDeviceDefinitionRegulatoryIdentifierComponent(JsonObject json) throws IOException, FHIRFormatError { + DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent res = new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent(); + parseDeviceDefinitionRegulatoryIdentifierComponentProperties(json, res); + return res; + } + + protected void parseDeviceDefinitionRegulatoryIdentifierComponentProperties(JsonObject json, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("type")) + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), DeviceDefinition.DeviceDefinitionRegulatoryIdentifierType.NULL, new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierTypeEnumFactory())); + if (json.has("_type")) + parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("deviceIdentifier")) + res.setDeviceIdentifierElement(parseString(json.get("deviceIdentifier").getAsString())); + if (json.has("_deviceIdentifier")) + parseElementProperties(getJObject(json, "_deviceIdentifier"), res.getDeviceIdentifierElement()); + if (json.has("issuer")) + res.setIssuerElement(parseUri(json.get("issuer").getAsString())); + if (json.has("_issuer")) + parseElementProperties(getJObject(json, "_issuer"), res.getIssuerElement()); + if (json.has("jurisdiction")) + res.setJurisdictionElement(parseUri(json.get("jurisdiction").getAsString())); + if (json.has("_jurisdiction")) + parseElementProperties(getJObject(json, "_jurisdiction"), res.getJurisdictionElement()); + } + protected DeviceDefinition.DeviceDefinitionDeviceNameComponent parseDeviceDefinitionDeviceNameComponent(JsonObject json) throws IOException, FHIRFormatError { DeviceDefinition.DeviceDefinitionDeviceNameComponent res = new DeviceDefinition.DeviceDefinitionDeviceNameComponent(); parseDeviceDefinitionDeviceNameComponentProperties(json, res); @@ -11605,7 +12024,7 @@ public class JsonParser extends JsonParserBase { if (json.has("udiDeviceIdentifier")) { JsonArray array = getJArray(json, "udiDeviceIdentifier"); for (int i = 0; i < array.size(); i++) { - res.getUdiDeviceIdentifier().add(parseDeviceDefinitionPackagingUdiDeviceIdentifierComponent(array.get(i).getAsJsonObject())); + res.getUdiDeviceIdentifier().add(parseDeviceDefinitionUdiDeviceIdentifierComponent(array.get(i).getAsJsonObject())); } }; if (json.has("packaging")) { @@ -11636,46 +12055,6 @@ public class JsonParser extends JsonParserBase { }; } - protected DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent parseDeviceDefinitionPackagingUdiDeviceIdentifierComponent(JsonObject json) throws IOException, FHIRFormatError { - DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent res = new DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent(); - parseDeviceDefinitionPackagingUdiDeviceIdentifierComponentProperties(json, res); - return res; - } - - protected void parseDeviceDefinitionPackagingUdiDeviceIdentifierComponentProperties(JsonObject json, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("deviceIdentifier")) - res.setDeviceIdentifierElement(parseString(json.get("deviceIdentifier").getAsString())); - if (json.has("_deviceIdentifier")) - parseElementProperties(getJObject(json, "_deviceIdentifier"), res.getDeviceIdentifierElement()); - if (json.has("issuer")) - res.setIssuerElement(parseUri(json.get("issuer").getAsString())); - if (json.has("_issuer")) - parseElementProperties(getJObject(json, "_issuer"), res.getIssuerElement()); - if (json.has("jurisdiction")) - res.setJurisdictionElement(parseUri(json.get("jurisdiction").getAsString())); - if (json.has("_jurisdiction")) - parseElementProperties(getJObject(json, "_jurisdiction"), res.getJurisdictionElement()); - if (json.has("marketDistribution")) - res.setMarketDistribution(parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(getJObject(json, "marketDistribution"))); - } - - protected DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(JsonObject json) throws IOException, FHIRFormatError { - DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent res = new DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(); - parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentProperties(json, res); - return res; - } - - protected void parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentProperties(JsonObject json, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("marketPeriod")) - res.setMarketPeriod(parsePeriod(getJObject(json, "marketPeriod"))); - if (json.has("subJurisdiction")) - res.setSubJurisdictionElement(parseUri(json.get("subJurisdiction").getAsString())); - if (json.has("_subJurisdiction")) - parseElementProperties(getJObject(json, "_subJurisdiction"), res.getSubJurisdictionElement()); - } - protected DeviceDefinition.DeviceDefinitionVersionComponent parseDeviceDefinitionVersionComponent(JsonObject json) throws IOException, FHIRFormatError { DeviceDefinition.DeviceDefinitionVersionComponent res = new DeviceDefinition.DeviceDefinitionVersionComponent(); parseDeviceDefinitionVersionComponentProperties(json, res); @@ -12120,6 +12499,12 @@ public class JsonParser extends JsonParserBase { res.getReason().add(parseCodeableReference(array.get(i).getAsJsonObject())); } }; + if (json.has("asNeeded")) + res.setAsNeededElement(parseBoolean(json.get("asNeeded").getAsBoolean())); + if (json.has("_asNeeded")) + parseElementProperties(getJObject(json, "_asNeeded"), res.getAsNeededElement()); + if (json.has("asNeededFor")) + res.setAsNeededFor(parseCodeableConcept(getJObject(json, "asNeededFor"))); if (json.has("insurance")) { JsonArray array = getJArray(json, "insurance"); for (int i = 0; i < array.size(); i++) { @@ -12329,10 +12714,16 @@ public class JsonParser extends JsonParserBase { res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); } }; - if (json.has("imagingStudy")) { - JsonArray array = getJArray(json, "imagingStudy"); + if (json.has("study")) { + JsonArray array = getJArray(json, "study"); for (int i = 0; i < array.size(); i++) { - res.getImagingStudy().add(parseReference(array.get(i).getAsJsonObject())); + res.getStudy().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("supportingInfo")) { + JsonArray array = getJArray(json, "supportingInfo"); + for (int i = 0; i < array.size(); i++) { + res.getSupportingInfo().add(parseDiagnosticReportSupportingInfoComponent(array.get(i).getAsJsonObject())); } }; if (json.has("media")) { @@ -12361,6 +12752,20 @@ public class JsonParser extends JsonParserBase { }; } + protected DiagnosticReport.DiagnosticReportSupportingInfoComponent parseDiagnosticReportSupportingInfoComponent(JsonObject json) throws IOException, FHIRFormatError { + DiagnosticReport.DiagnosticReportSupportingInfoComponent res = new DiagnosticReport.DiagnosticReportSupportingInfoComponent(); + parseDiagnosticReportSupportingInfoComponentProperties(json, res); + return res; + } + + protected void parseDiagnosticReportSupportingInfoComponentProperties(JsonObject json, DiagnosticReport.DiagnosticReportSupportingInfoComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); + if (json.has("reference")) + res.setReference(parseReference(getJObject(json, "reference"))); + } + protected DiagnosticReport.DiagnosticReportMediaComponent parseDiagnosticReportMediaComponent(JsonObject json) throws IOException, FHIRFormatError { DiagnosticReport.DiagnosticReportMediaComponent res = new DiagnosticReport.DiagnosticReportMediaComponent(); parseDiagnosticReportMediaComponentProperties(json, res); @@ -12549,8 +12954,6 @@ public class JsonParser extends JsonParserBase { res.getContent().add(parseDocumentReferenceContentComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("sourcePatientInfo")) - res.setSourcePatientInfo(parseReference(getJObject(json, "sourcePatientInfo"))); } protected DocumentReference.DocumentReferenceAttesterComponent parseDocumentReferenceAttesterComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -12640,24 +13043,32 @@ public class JsonParser extends JsonParserBase { res.getStatusHistory().add(parseEncounterStatusHistoryComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("class")) - res.setClass_(parseCodeableConcept(getJObject(json, "class"))); + if (json.has("class")) { + JsonArray array = getJArray(json, "class"); + for (int i = 0; i < array.size(); i++) { + res.getClass_().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("classHistory")) { JsonArray array = getJArray(json, "classHistory"); for (int i = 0; i < array.size(); i++) { res.getClassHistory().add(parseEncounterClassHistoryComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("priority")) + res.setPriority(parseCodeableConcept(getJObject(json, "priority"))); if (json.has("type")) { JsonArray array = getJArray(json, "type"); for (int i = 0; i < array.size(); i++) { res.getType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; - if (json.has("serviceType")) - res.setServiceType(parseCodeableReference(getJObject(json, "serviceType"))); - if (json.has("priority")) - res.setPriority(parseCodeableConcept(getJObject(json, "priority"))); + if (json.has("serviceType")) { + JsonArray array = getJArray(json, "serviceType"); + for (int i = 0; i < array.size(); i++) { + res.getServiceType().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("subject")) res.setSubject(parseReference(getJObject(json, "subject"))); if (json.has("subjectStatus")) @@ -12674,6 +13085,16 @@ public class JsonParser extends JsonParserBase { res.getBasedOn().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("careTeam")) { + JsonArray array = getJArray(json, "careTeam"); + for (int i = 0; i < array.size(); i++) { + res.getCareTeam().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("partOf")) + res.setPartOf(parseReference(getJObject(json, "partOf"))); + if (json.has("serviceProvider")) + res.setServiceProvider(parseReference(getJObject(json, "serviceProvider"))); if (json.has("participant")) { JsonArray array = getJArray(json, "participant"); for (int i = 0; i < array.size(); i++) { @@ -12686,6 +13107,12 @@ public class JsonParser extends JsonParserBase { res.getAppointment().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("virtualService")) { + JsonArray array = getJArray(json, "virtualService"); + for (int i = 0; i < array.size(); i++) { + res.getVirtualService().add(parseVirtualServiceDetail(array.get(i).getAsJsonObject())); + } + }; if (json.has("actualPeriod")) res.setActualPeriod(parsePeriod(getJObject(json, "actualPeriod"))); if (json.has("plannedStartDate")) @@ -12716,18 +13143,14 @@ public class JsonParser extends JsonParserBase { res.getAccount().add(parseReference(array.get(i).getAsJsonObject())); } }; - if (json.has("hospitalization")) - res.setHospitalization(parseEncounterHospitalizationComponent(getJObject(json, "hospitalization"))); + if (json.has("admission")) + res.setAdmission(parseEncounterAdmissionComponent(getJObject(json, "admission"))); if (json.has("location")) { JsonArray array = getJArray(json, "location"); for (int i = 0; i < array.size(); i++) { res.getLocation().add(parseEncounterLocationComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("serviceProvider")) - res.setServiceProvider(parseReference(getJObject(json, "serviceProvider"))); - if (json.has("partOf")) - res.setPartOf(parseReference(getJObject(json, "partOf"))); } protected Encounter.StatusHistoryComponent parseEncounterStatusHistoryComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -12798,13 +13221,13 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_rank"), res.getRankElement()); } - protected Encounter.EncounterHospitalizationComponent parseEncounterHospitalizationComponent(JsonObject json) throws IOException, FHIRFormatError { - Encounter.EncounterHospitalizationComponent res = new Encounter.EncounterHospitalizationComponent(); - parseEncounterHospitalizationComponentProperties(json, res); + protected Encounter.EncounterAdmissionComponent parseEncounterAdmissionComponent(JsonObject json) throws IOException, FHIRFormatError { + Encounter.EncounterAdmissionComponent res = new Encounter.EncounterAdmissionComponent(); + parseEncounterAdmissionComponentProperties(json, res); return res; } - protected void parseEncounterHospitalizationComponentProperties(JsonObject json, Encounter.EncounterHospitalizationComponent res) throws IOException, FHIRFormatError { + protected void parseEncounterAdmissionComponentProperties(JsonObject json, Encounter.EncounterAdmissionComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("preAdmissionIdentifier")) res.setPreAdmissionIdentifier(parseIdentifier(getJObject(json, "preAdmissionIdentifier"))); @@ -12852,8 +13275,8 @@ public class JsonParser extends JsonParserBase { res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Encounter.EncounterLocationStatus.NULL, new Encounter.EncounterLocationStatusEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); - if (json.has("physicalType")) - res.setPhysicalType(parseCodeableConcept(getJObject(json, "physicalType"))); + if (json.has("form")) + res.setForm(parseCodeableConcept(getJObject(json, "form"))); if (json.has("period")) res.setPeriod(parsePeriod(getJObject(json, "period"))); } @@ -12879,13 +13302,23 @@ public class JsonParser extends JsonParserBase { if (json.has("connectionType")) { JsonArray array = getJArray(json, "connectionType"); for (int i = 0; i < array.size(); i++) { - res.getConnectionType().add(parseCoding(array.get(i).getAsJsonObject())); + res.getConnectionType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("description")) + res.setDescriptionElement(parseString(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("environmentType")) { + JsonArray array = getJArray(json, "environmentType"); + for (int i = 0; i < array.size(); i++) { + res.getEnvironmentType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("managingOrganization")) res.setManagingOrganization(parseReference(getJObject(json, "managingOrganization"))); if (json.has("contact")) { @@ -13066,10 +13499,10 @@ public class JsonParser extends JsonParserBase { }; if (json.has("careManager")) res.setCareManager(parseReference(getJObject(json, "careManager"))); - if (json.has("team")) { - JsonArray array = getJArray(json, "team"); + if (json.has("careTeam")) { + JsonArray array = getJArray(json, "careTeam"); for (int i = 0; i < array.size(); i++) { - res.getTeam().add(parseReference(array.get(i).getAsJsonObject())); + res.getCareTeam().add(parseReference(array.get(i).getAsJsonObject())); } }; if (json.has("account")) { @@ -13105,7 +13538,7 @@ public class JsonParser extends JsonParserBase { protected void parseEpisodeOfCareDiagnosisComponentProperties(JsonObject json, EpisodeOfCare.DiagnosisComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("condition")) - res.setCondition(parseReference(getJObject(json, "condition"))); + res.setCondition(parseCodeableReference(getJObject(json, "condition"))); if (json.has("role")) res.setRole(parseCodeableConcept(getJObject(json, "role"))); if (json.has("rank")) @@ -13376,8 +13809,12 @@ public class JsonParser extends JsonParserBase { }; if (json.has("synthesisType")) res.setSynthesisType(parseCodeableConcept(getJObject(json, "synthesisType"))); - if (json.has("studyType")) - res.setStudyType(parseCodeableConcept(getJObject(json, "studyType"))); + if (json.has("studyDesign")) { + JsonArray array = getJArray(json, "studyDesign"); + for (int i = 0; i < array.size(); i++) { + res.getStudyDesign().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("statistic")) { JsonArray array = getJArray(json, "statistic"); for (int i = 0; i < array.size(); i++) { @@ -14056,24 +14493,12 @@ public class JsonParser extends JsonParserBase { res.setDefinitionByTypeAndValue(parseEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(getJObject(json, "definitionByTypeAndValue"))); if (json.has("definitionByCombination")) res.setDefinitionByCombination(parseEvidenceVariableCharacteristicDefinitionByCombinationComponent(getJObject(json, "definitionByCombination"))); - if (json.has("method")) { - JsonArray array = getJArray(json, "method"); - for (int i = 0; i < array.size(); i++) { - res.getMethod().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - if (json.has("device")) - res.setDevice(parseReference(getJObject(json, "device"))); if (json.has("timeFromEvent")) { JsonArray array = getJArray(json, "timeFromEvent"); for (int i = 0; i < array.size(); i++) { res.getTimeFromEvent().add(parseEvidenceVariableCharacteristicTimeFromEventComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("groupMeasure")) - res.setGroupMeasureElement(parseEnumeration(json.get("groupMeasure").getAsString(), EvidenceVariable.GroupMeasure.NULL, new EvidenceVariable.GroupMeasureEnumFactory())); - if (json.has("_groupMeasure")) - parseElementProperties(getJObject(json, "_groupMeasure"), res.getGroupMeasureElement()); } protected EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent parseEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14084,9 +14509,16 @@ public class JsonParser extends JsonParserBase { protected void parseEvidenceVariableCharacteristicDefinitionByTypeAndValueComponentProperties(JsonObject json, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - DataType type = parseType("type", json); - if (type != null) - res.setType(type); + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); + if (json.has("method")) { + JsonArray array = getJArray(json, "method"); + for (int i = 0; i < array.size(); i++) { + res.getMethod().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("device")) + res.setDevice(parseReference(getJObject(json, "device"))); DataType value = parseType("value", json); if (value != null) res.setValue(value); @@ -14184,10 +14616,17 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); if (json.has("status")) res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); if (json.has("_status")) @@ -14210,6 +14649,10 @@ public class JsonParser extends JsonParserBase { res.getContact().add(parseContactDetail(array.get(i).getAsJsonObject())); } }; + if (json.has("description")) + res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); if (json.has("useContext")) { JsonArray array = getJArray(json, "useContext"); for (int i = 0; i < array.size(); i++) { @@ -14230,6 +14673,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("actor")) { JsonArray array = getJArray(json, "actor"); for (int i = 0; i < array.size(); i++) { @@ -14248,25 +14695,6 @@ public class JsonParser extends JsonParserBase { res.getProcess().add(parseExampleScenarioProcessComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("workflow")) { - JsonArray array = getJArray(json, "workflow"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getWorkflow().add(new CanonicalType()); - } else {; - res.getWorkflow().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_workflow")) { - JsonArray array = getJArray(json, "_workflow"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getWorkflow().size()) - res.getWorkflow().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getWorkflow().get(i)); - } - }; } protected ExampleScenario.ExampleScenarioActorComponent parseExampleScenarioActorComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14277,18 +14705,18 @@ public class JsonParser extends JsonParserBase { protected void parseExampleScenarioActorComponentProperties(JsonObject json, ExampleScenario.ExampleScenarioActorComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("actorId")) - res.setActorIdElement(parseString(json.get("actorId").getAsString())); - if (json.has("_actorId")) - parseElementProperties(getJObject(json, "_actorId"), res.getActorIdElement()); + if (json.has("key")) + res.setKeyElement(parseString(json.get("key").getAsString())); + if (json.has("_key")) + parseElementProperties(getJObject(json, "_key"), res.getKeyElement()); if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), ExampleScenario.ExampleScenarioActorType.NULL, new ExampleScenario.ExampleScenarioActorTypeEnumFactory())); + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ExampleScenarioActorType.NULL, new Enumerations.ExampleScenarioActorTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); if (json.has("description")) res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); if (json.has("_description")) @@ -14303,22 +14731,29 @@ public class JsonParser extends JsonParserBase { protected void parseExampleScenarioInstanceComponentProperties(JsonObject json, ExampleScenario.ExampleScenarioInstanceComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("resourceId")) - res.setResourceIdElement(parseString(json.get("resourceId").getAsString())); - if (json.has("_resourceId")) - parseElementProperties(getJObject(json, "_resourceId"), res.getResourceIdElement()); - if (json.has("type")) - res.setTypeElement(parseCode(json.get("type").getAsString())); - if (json.has("_type")) - parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("key")) + res.setKeyElement(parseString(json.get("key").getAsString())); + if (json.has("_key")) + parseElementProperties(getJObject(json, "_key"), res.getKeyElement()); + if (json.has("structureType")) + res.setStructureType(parseCoding(getJObject(json, "structureType"))); + if (json.has("structureVersion")) + res.setStructureVersionElement(parseString(json.get("structureVersion").getAsString())); + if (json.has("_structureVersion")) + parseElementProperties(getJObject(json, "_structureVersion"), res.getStructureVersionElement()); + DataType structureProfile = parseType("structureProfile", json); + if (structureProfile != null) + res.setStructureProfile(structureProfile); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); if (json.has("description")) res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); if (json.has("_description")) parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("content")) + res.setContent(parseReference(getJObject(json, "content"))); if (json.has("version")) { JsonArray array = getJArray(json, "version"); for (int i = 0; i < array.size(); i++) { @@ -14341,14 +14776,16 @@ public class JsonParser extends JsonParserBase { protected void parseExampleScenarioInstanceVersionComponentProperties(JsonObject json, ExampleScenario.ExampleScenarioInstanceVersionComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("versionId")) - res.setVersionIdElement(parseString(json.get("versionId").getAsString())); - if (json.has("_versionId")) - parseElementProperties(getJObject(json, "_versionId"), res.getVersionIdElement()); + if (json.has("key")) + res.setKeyElement(parseString(json.get("key").getAsString())); + if (json.has("_key")) + parseElementProperties(getJObject(json, "_key"), res.getKeyElement()); if (json.has("description")) res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); if (json.has("_description")) parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("content")) + res.setContent(parseReference(getJObject(json, "content"))); } protected ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent parseExampleScenarioInstanceContainedInstanceComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14359,14 +14796,14 @@ public class JsonParser extends JsonParserBase { protected void parseExampleScenarioInstanceContainedInstanceComponentProperties(JsonObject json, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("resourceId")) - res.setResourceIdElement(parseString(json.get("resourceId").getAsString())); - if (json.has("_resourceId")) - parseElementProperties(getJObject(json, "_resourceId"), res.getResourceIdElement()); - if (json.has("versionId")) - res.setVersionIdElement(parseString(json.get("versionId").getAsString())); - if (json.has("_versionId")) - parseElementProperties(getJObject(json, "_versionId"), res.getVersionIdElement()); + if (json.has("instanceReference")) + res.setInstanceReferenceElement(parseString(json.get("instanceReference").getAsString())); + if (json.has("_instanceReference")) + parseElementProperties(getJObject(json, "_instanceReference"), res.getInstanceReferenceElement()); + if (json.has("versionReference")) + res.setVersionReferenceElement(parseString(json.get("versionReference").getAsString())); + if (json.has("_versionReference")) + parseElementProperties(getJObject(json, "_versionReference"), res.getVersionReferenceElement()); } protected ExampleScenario.ExampleScenarioProcessComponent parseExampleScenarioProcessComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14409,16 +14846,16 @@ public class JsonParser extends JsonParserBase { protected void parseExampleScenarioProcessStepComponentProperties(JsonObject json, ExampleScenario.ExampleScenarioProcessStepComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("process")) { - JsonArray array = getJArray(json, "process"); - for (int i = 0; i < array.size(); i++) { - res.getProcess().add(parseExampleScenarioProcessComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("pause")) - res.setPauseElement(parseBoolean(json.get("pause").getAsBoolean())); - if (json.has("_pause")) - parseElementProperties(getJObject(json, "_pause"), res.getPauseElement()); + if (json.has("number")) + res.setNumberElement(parseString(json.get("number").getAsString())); + if (json.has("_number")) + parseElementProperties(getJObject(json, "_number"), res.getNumberElement()); + if (json.has("process")) + res.setProcess(parseExampleScenarioProcessComponent(getJObject(json, "process"))); + if (json.has("workflow")) + res.setWorkflowElement(parseCanonical(json.get("workflow").getAsString())); + if (json.has("_workflow")) + parseElementProperties(getJObject(json, "_workflow"), res.getWorkflowElement()); if (json.has("operation")) res.setOperation(parseExampleScenarioProcessStepOperationComponent(getJObject(json, "operation"))); if (json.has("alternative")) { @@ -14427,6 +14864,10 @@ public class JsonParser extends JsonParserBase { res.getAlternative().add(parseExampleScenarioProcessStepAlternativeComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("pause")) + res.setPauseElement(parseBoolean(json.get("pause").getAsBoolean())); + if (json.has("_pause")) + parseElementProperties(getJObject(json, "_pause"), res.getPauseElement()); } protected ExampleScenario.ExampleScenarioProcessStepOperationComponent parseExampleScenarioProcessStepOperationComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14437,18 +14878,12 @@ public class JsonParser extends JsonParserBase { protected void parseExampleScenarioProcessStepOperationComponentProperties(JsonObject json, ExampleScenario.ExampleScenarioProcessStepOperationComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("number")) - res.setNumberElement(parseString(json.get("number").getAsString())); - if (json.has("_number")) - parseElementProperties(getJObject(json, "_number"), res.getNumberElement()); if (json.has("type")) - res.setTypeElement(parseString(json.get("type").getAsString())); - if (json.has("_type")) - parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("name")) - res.setNameElement(parseString(json.get("name").getAsString())); - if (json.has("_name")) - parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + res.setType(parseCoding(getJObject(json, "type"))); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); if (json.has("initiator")) res.setInitiatorElement(parseString(json.get("initiator").getAsString())); if (json.has("_initiator")) @@ -14559,6 +14994,12 @@ public class JsonParser extends JsonParserBase { res.setPayee(parseExplanationOfBenefitPayeeComponent(getJObject(json, "payee"))); if (json.has("referral")) res.setReferral(parseReference(getJObject(json, "referral"))); + if (json.has("encounter")) { + JsonArray array = getJArray(json, "encounter"); + for (int i = 0; i < array.size(); i++) { + res.getEncounter().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("facility")) res.setFacility(parseReference(getJObject(json, "facility"))); if (json.has("claim")) @@ -14569,6 +15010,8 @@ public class JsonParser extends JsonParserBase { res.setOutcomeElement(parseEnumeration(json.get("outcome").getAsString(), Enumerations.ClaimProcessingCodes.NULL, new Enumerations.ClaimProcessingCodesEnumFactory())); if (json.has("_outcome")) parseElementProperties(getJObject(json, "_outcome"), res.getOutcomeElement()); + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("disposition")) res.setDispositionElement(parseString(json.get("disposition").getAsString())); if (json.has("_disposition")) @@ -14598,6 +15041,8 @@ public class JsonParser extends JsonParserBase { res.getPreAuthRefPeriod().add(parsePeriod(array.get(i).getAsJsonObject())); } }; + if (json.has("diagnosisRelatedGroup")) + res.setDiagnosisRelatedGroup(parseCodeableConcept(getJObject(json, "diagnosisRelatedGroup"))); if (json.has("careTeam")) { JsonArray array = getJArray(json, "careTeam"); for (int i = 0; i < array.size(); i++) { @@ -14634,6 +15079,8 @@ public class JsonParser extends JsonParserBase { }; if (json.has("accident")) res.setAccident(parseExplanationOfBenefitAccidentComponent(getJObject(json, "accident"))); + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("item")) { JsonArray array = getJArray(json, "item"); for (int i = 0; i < array.size(); i++) { @@ -14730,8 +15177,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_responsible"), res.getResponsibleElement()); if (json.has("role")) res.setRole(parseCodeableConcept(getJObject(json, "role"))); - if (json.has("qualification")) - res.setQualification(parseCodeableConcept(getJObject(json, "qualification"))); + if (json.has("specialty")) + res.setSpecialty(parseCodeableConcept(getJObject(json, "specialty"))); } protected ExplanationOfBenefit.SupportingInformationComponent parseExplanationOfBenefitSupportingInformationComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14783,8 +15230,6 @@ public class JsonParser extends JsonParserBase { }; if (json.has("onAdmission")) res.setOnAdmission(parseCodeableConcept(getJObject(json, "onAdmission"))); - if (json.has("packageCode")) - res.setPackageCode(parseCodeableConcept(getJObject(json, "packageCode"))); } protected ExplanationOfBenefit.ProcedureComponent parseExplanationOfBenefitProcedureComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -14968,6 +15413,8 @@ public class JsonParser extends JsonParserBase { res.setCategory(parseCodeableConcept(getJObject(json, "category"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -14986,6 +15433,8 @@ public class JsonParser extends JsonParserBase { DataType location = parseType("location", json); if (location != null) res.setLocation(location); + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -14994,6 +15443,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("udi")) { @@ -15002,12 +15453,10 @@ public class JsonParser extends JsonParserBase { res.getUdi().add(parseReference(array.get(i).getAsJsonObject())); } }; - if (json.has("bodySite")) - res.setBodySite(parseCodeableConcept(getJObject(json, "bodySite"))); - if (json.has("subSite")) { - JsonArray array = getJArray(json, "subSite"); + if (json.has("bodySite")) { + JsonArray array = getJArray(json, "bodySite"); for (int i = 0; i < array.size(); i++) { - res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getBodySite().add(parseExplanationOfBenefitBodySiteComponent(array.get(i).getAsJsonObject())); } }; if (json.has("encounter")) { @@ -15035,6 +15484,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -15049,6 +15500,28 @@ public class JsonParser extends JsonParserBase { }; } + protected ExplanationOfBenefit.BodySiteComponent parseExplanationOfBenefitBodySiteComponent(JsonObject json) throws IOException, FHIRFormatError { + ExplanationOfBenefit.BodySiteComponent res = new ExplanationOfBenefit.BodySiteComponent(); + parseExplanationOfBenefitBodySiteComponentProperties(json, res); + return res; + } + + protected void parseExplanationOfBenefitBodySiteComponentProperties(JsonObject json, ExplanationOfBenefit.BodySiteComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("site")) { + JsonArray array = getJArray(json, "site"); + for (int i = 0; i < array.size(); i++) { + res.getSite().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("subSite")) { + JsonArray array = getJArray(json, "subSite"); + for (int i = 0; i < array.size(); i++) { + res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + } + protected ExplanationOfBenefit.AdjudicationComponent parseExplanationOfBenefitAdjudicationComponent(JsonObject json) throws IOException, FHIRFormatError { ExplanationOfBenefit.AdjudicationComponent res = new ExplanationOfBenefit.AdjudicationComponent(); parseExplanationOfBenefitAdjudicationComponentProperties(json, res); @@ -15087,6 +15560,8 @@ public class JsonParser extends JsonParserBase { res.setCategory(parseCodeableConcept(getJObject(json, "category"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -15099,6 +15574,8 @@ public class JsonParser extends JsonParserBase { res.getProgramCode().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -15107,6 +15584,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("udi")) { @@ -15134,6 +15613,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -15166,6 +15647,8 @@ public class JsonParser extends JsonParserBase { res.setCategory(parseCodeableConcept(getJObject(json, "category"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -15178,6 +15661,8 @@ public class JsonParser extends JsonParserBase { res.getProgramCode().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -15186,6 +15671,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("udi")) { @@ -15213,6 +15700,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -15292,8 +15781,12 @@ public class JsonParser extends JsonParserBase { res.getProvider().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("revenue")) + res.setRevenue(parseCodeableConcept(getJObject(json, "revenue"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { @@ -15312,6 +15805,8 @@ public class JsonParser extends JsonParserBase { DataType location = parseType("location", json); if (location != null) res.setLocation(location); + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -15320,14 +15815,14 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); - if (json.has("bodySite")) - res.setBodySite(parseCodeableConcept(getJObject(json, "bodySite"))); - if (json.has("subSite")) { - JsonArray array = getJArray(json, "subSite"); + if (json.has("bodySite")) { + JsonArray array = getJArray(json, "bodySite"); for (int i = 0; i < array.size(); i++) { - res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getBodySite().add(parseExplanationOfBenefitBodySiteComponentA(array.get(i).getAsJsonObject())); } }; if (json.has("noteNumber")) { @@ -15349,6 +15844,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -15363,6 +15860,28 @@ public class JsonParser extends JsonParserBase { }; } + protected ExplanationOfBenefit.BodySiteComponentA parseExplanationOfBenefitBodySiteComponentA(JsonObject json) throws IOException, FHIRFormatError { + ExplanationOfBenefit.BodySiteComponentA res = new ExplanationOfBenefit.BodySiteComponentA(); + parseExplanationOfBenefitBodySiteComponentAProperties(json, res); + return res; + } + + protected void parseExplanationOfBenefitBodySiteComponentAProperties(JsonObject json, ExplanationOfBenefit.BodySiteComponentA res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("site")) { + JsonArray array = getJArray(json, "site"); + for (int i = 0; i < array.size(); i++) { + res.getSite().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("subSite")) { + JsonArray array = getJArray(json, "subSite"); + for (int i = 0; i < array.size(); i++) { + res.getSubSite().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + } + protected ExplanationOfBenefit.AddedItemDetailComponent parseExplanationOfBenefitAddedItemDetailComponent(JsonObject json) throws IOException, FHIRFormatError { ExplanationOfBenefit.AddedItemDetailComponent res = new ExplanationOfBenefit.AddedItemDetailComponent(); parseExplanationOfBenefitAddedItemDetailComponentProperties(json, res); @@ -15371,14 +15890,20 @@ public class JsonParser extends JsonParserBase { protected void parseExplanationOfBenefitAddedItemDetailComponentProperties(JsonObject json, ExplanationOfBenefit.AddedItemDetailComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); + if (json.has("revenue")) + res.setRevenue(parseCodeableConcept(getJObject(json, "revenue"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { res.getModifier().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -15387,6 +15912,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("noteNumber")) { @@ -15408,6 +15935,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -15430,14 +15959,20 @@ public class JsonParser extends JsonParserBase { protected void parseExplanationOfBenefitAddedItemDetailSubDetailComponentProperties(JsonObject json, ExplanationOfBenefit.AddedItemDetailSubDetailComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); + if (json.has("revenue")) + res.setRevenue(parseCodeableConcept(getJObject(json, "revenue"))); if (json.has("productOrService")) res.setProductOrService(parseCodeableConcept(getJObject(json, "productOrService"))); + if (json.has("productOrServiceEnd")) + res.setProductOrServiceEnd(parseCodeableConcept(getJObject(json, "productOrServiceEnd"))); if (json.has("modifier")) { JsonArray array = getJArray(json, "modifier"); for (int i = 0; i < array.size(); i++) { res.getModifier().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("patientPaid")) + res.setPatientPaid(parseMoney(getJObject(json, "patientPaid"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("unitPrice")) @@ -15446,6 +15981,8 @@ public class JsonParser extends JsonParserBase { res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); if (json.has("_factor")) parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); + if (json.has("tax")) + res.setTax(parseMoney(getJObject(json, "tax"))); if (json.has("net")) res.setNet(parseMoney(getJObject(json, "net"))); if (json.has("noteNumber")) { @@ -15467,6 +16004,8 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getNoteNumber().get(i)); } }; + if (json.has("decision")) + res.setDecision(parseCodeableConcept(getJObject(json, "decision"))); if (json.has("adjudication")) { JsonArray array = getJArray(json, "adjudication"); for (int i = 0; i < array.size(); i++) { @@ -15814,6 +16353,239 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); } + protected GenomicStudy parseGenomicStudy(JsonObject json) throws IOException, FHIRFormatError { + GenomicStudy res = new GenomicStudy(); + parseGenomicStudyProperties(json, res); + return res; + } + + protected void parseGenomicStudyProperties(JsonObject json, GenomicStudy res) throws IOException, FHIRFormatError { + parseDomainResourceProperties(json, res); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; + if (json.has("status")) + res.setStatus(parseCodeableConcept(getJObject(json, "status"))); + if (json.has("type")) { + JsonArray array = getJArray(json, "type"); + for (int i = 0; i < array.size(); i++) { + res.getType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("subject")) + res.setSubject(parseReference(getJObject(json, "subject"))); + if (json.has("encounter")) + res.setEncounter(parseReference(getJObject(json, "encounter"))); + if (json.has("startDate")) + res.setStartDateElement(parseDateTime(json.get("startDate").getAsString())); + if (json.has("_startDate")) + parseElementProperties(getJObject(json, "_startDate"), res.getStartDateElement()); + if (json.has("basedOn")) { + JsonArray array = getJArray(json, "basedOn"); + for (int i = 0; i < array.size(); i++) { + res.getBasedOn().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("referrer")) + res.setReferrer(parseReference(getJObject(json, "referrer"))); + if (json.has("interpreter")) { + JsonArray array = getJArray(json, "interpreter"); + for (int i = 0; i < array.size(); i++) { + res.getInterpreter().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("reason")) { + JsonArray array = getJArray(json, "reason"); + for (int i = 0; i < array.size(); i++) { + res.getReason().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("instantiatesCanonical")) + res.setInstantiatesCanonicalElement(parseCanonical(json.get("instantiatesCanonical").getAsString())); + if (json.has("_instantiatesCanonical")) + parseElementProperties(getJObject(json, "_instantiatesCanonical"), res.getInstantiatesCanonicalElement()); + if (json.has("instantiatesUri")) + res.setInstantiatesUriElement(parseUri(json.get("instantiatesUri").getAsString())); + if (json.has("_instantiatesUri")) + parseElementProperties(getJObject(json, "_instantiatesUri"), res.getInstantiatesUriElement()); + if (json.has("note")) { + JsonArray array = getJArray(json, "note"); + for (int i = 0; i < array.size(); i++) { + res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); + } + }; + if (json.has("description")) + res.setDescriptionElement(parseString(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("analysis")) { + JsonArray array = getJArray(json, "analysis"); + for (int i = 0; i < array.size(); i++) { + res.getAnalysis().add(parseGenomicStudyAnalysisComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected GenomicStudy.GenomicStudyAnalysisComponent parseGenomicStudyAnalysisComponent(JsonObject json) throws IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisComponent res = new GenomicStudy.GenomicStudyAnalysisComponent(); + parseGenomicStudyAnalysisComponentProperties(json, res); + return res; + } + + protected void parseGenomicStudyAnalysisComponentProperties(JsonObject json, GenomicStudy.GenomicStudyAnalysisComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; + if (json.has("methodType")) { + JsonArray array = getJArray(json, "methodType"); + for (int i = 0; i < array.size(); i++) { + res.getMethodType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("changeType")) { + JsonArray array = getJArray(json, "changeType"); + for (int i = 0; i < array.size(); i++) { + res.getChangeType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("genomeBuild")) + res.setGenomeBuild(parseCodeableConcept(getJObject(json, "genomeBuild"))); + if (json.has("instantiatesCanonical")) + res.setInstantiatesCanonicalElement(parseCanonical(json.get("instantiatesCanonical").getAsString())); + if (json.has("_instantiatesCanonical")) + parseElementProperties(getJObject(json, "_instantiatesCanonical"), res.getInstantiatesCanonicalElement()); + if (json.has("instantiatesUri")) + res.setInstantiatesUriElement(parseUri(json.get("instantiatesUri").getAsString())); + if (json.has("_instantiatesUri")) + parseElementProperties(getJObject(json, "_instantiatesUri"), res.getInstantiatesUriElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); + if (json.has("subject")) + res.setSubject(parseReference(getJObject(json, "subject"))); + if (json.has("specimen")) { + JsonArray array = getJArray(json, "specimen"); + for (int i = 0; i < array.size(); i++) { + res.getSpecimen().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("date")) + res.setDateElement(parseDateTime(json.get("date").getAsString())); + if (json.has("_date")) + parseElementProperties(getJObject(json, "_date"), res.getDateElement()); + if (json.has("note")) { + JsonArray array = getJArray(json, "note"); + for (int i = 0; i < array.size(); i++) { + res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); + } + }; + if (json.has("protocolPerformed")) + res.setProtocolPerformed(parseReference(getJObject(json, "protocolPerformed"))); + if (json.has("regionsStudied")) { + JsonArray array = getJArray(json, "regionsStudied"); + for (int i = 0; i < array.size(); i++) { + res.getRegionsStudied().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("regionsCalled")) { + JsonArray array = getJArray(json, "regionsCalled"); + for (int i = 0; i < array.size(); i++) { + res.getRegionsCalled().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("input")) { + JsonArray array = getJArray(json, "input"); + for (int i = 0; i < array.size(); i++) { + res.getInput().add(parseGenomicStudyAnalysisInputComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("output")) { + JsonArray array = getJArray(json, "output"); + for (int i = 0; i < array.size(); i++) { + res.getOutput().add(parseGenomicStudyAnalysisOutputComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("performer")) { + JsonArray array = getJArray(json, "performer"); + for (int i = 0; i < array.size(); i++) { + res.getPerformer().add(parseGenomicStudyAnalysisPerformerComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("device")) { + JsonArray array = getJArray(json, "device"); + for (int i = 0; i < array.size(); i++) { + res.getDevice().add(parseGenomicStudyAnalysisDeviceComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected GenomicStudy.GenomicStudyAnalysisInputComponent parseGenomicStudyAnalysisInputComponent(JsonObject json) throws IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisInputComponent res = new GenomicStudy.GenomicStudyAnalysisInputComponent(); + parseGenomicStudyAnalysisInputComponentProperties(json, res); + return res; + } + + protected void parseGenomicStudyAnalysisInputComponentProperties(JsonObject json, GenomicStudy.GenomicStudyAnalysisInputComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("file")) + res.setFile(parseReference(getJObject(json, "file"))); + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); + DataType generatedBy = parseType("generatedBy", json); + if (generatedBy != null) + res.setGeneratedBy(generatedBy); + } + + protected GenomicStudy.GenomicStudyAnalysisOutputComponent parseGenomicStudyAnalysisOutputComponent(JsonObject json) throws IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisOutputComponent res = new GenomicStudy.GenomicStudyAnalysisOutputComponent(); + parseGenomicStudyAnalysisOutputComponentProperties(json, res); + return res; + } + + protected void parseGenomicStudyAnalysisOutputComponentProperties(JsonObject json, GenomicStudy.GenomicStudyAnalysisOutputComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("file")) + res.setFile(parseReference(getJObject(json, "file"))); + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); + } + + protected GenomicStudy.GenomicStudyAnalysisPerformerComponent parseGenomicStudyAnalysisPerformerComponent(JsonObject json) throws IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisPerformerComponent res = new GenomicStudy.GenomicStudyAnalysisPerformerComponent(); + parseGenomicStudyAnalysisPerformerComponentProperties(json, res); + return res; + } + + protected void parseGenomicStudyAnalysisPerformerComponentProperties(JsonObject json, GenomicStudy.GenomicStudyAnalysisPerformerComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("actor")) + res.setActor(parseReference(getJObject(json, "actor"))); + if (json.has("role")) + res.setRole(parseCodeableConcept(getJObject(json, "role"))); + } + + protected GenomicStudy.GenomicStudyAnalysisDeviceComponent parseGenomicStudyAnalysisDeviceComponent(JsonObject json) throws IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisDeviceComponent res = new GenomicStudy.GenomicStudyAnalysisDeviceComponent(); + parseGenomicStudyAnalysisDeviceComponentProperties(json, res); + return res; + } + + protected void parseGenomicStudyAnalysisDeviceComponentProperties(JsonObject json, GenomicStudy.GenomicStudyAnalysisDeviceComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("device")) + res.setDevice(parseReference(getJObject(json, "device"))); + if (json.has("function")) + res.setFunction(parseCodeableConcept(getJObject(json, "function"))); + } + protected Goal parseGoal(JsonObject json) throws IOException, FHIRFormatError { Goal res = new Goal(); parseGoalProperties(json, res); @@ -15923,10 +16695,17 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); if (json.has("status")) res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); if (json.has("_status")) @@ -16030,7 +16809,7 @@ public class JsonParser extends JsonParserBase { protected void parseGraphDefinitionLinkTargetComponentProperties(JsonObject json, GraphDefinition.GraphDefinitionLinkTargetComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("type")) - res.setTypeElement(parseCode(json.get("type").getAsString())); + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); if (json.has("params")) @@ -16107,10 +16886,10 @@ public class JsonParser extends JsonParserBase { res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Group.GroupType.NULL, new Group.GroupTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("actual")) - res.setActualElement(parseBoolean(json.get("actual").getAsBoolean())); - if (json.has("_actual")) - parseElementProperties(getJObject(json, "_actual"), res.getActualElement()); + if (json.has("membership")) + res.setMembershipElement(parseEnumeration(json.get("membership").getAsString(), Group.GroupMembershipBasis.NULL, new Group.GroupMembershipBasisEnumFactory())); + if (json.has("_membership")) + parseElementProperties(getJObject(json, "_membership"), res.getMembershipElement()); if (json.has("code")) res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("name")) @@ -16263,6 +17042,12 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_active"), res.getActiveElement()); if (json.has("providedBy")) res.setProvidedBy(parseReference(getJObject(json, "providedBy"))); + if (json.has("offeredIn")) { + JsonArray array = getJArray(json, "offeredIn"); + for (int i = 0; i < array.size(); i++) { + res.getOfferedIn().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("category")) { JsonArray array = getJArray(json, "category"); for (int i = 0; i < array.size(); i++) { @@ -16307,12 +17092,6 @@ public class JsonParser extends JsonParserBase { res.getContact().add(parseExtendedContactDetail(array.get(i).getAsJsonObject())); } }; - if (json.has("telecom")) { - JsonArray array = getJArray(json, "telecom"); - for (int i = 0; i < array.size(); i++) { - res.getTelecom().add(parseContactPoint(array.get(i).getAsJsonObject())); - } - }; if (json.has("coverageArea")) { JsonArray array = getJArray(json, "coverageArea"); for (int i = 0; i < array.size(); i++) { @@ -16359,22 +17138,12 @@ public class JsonParser extends JsonParserBase { res.setAppointmentRequiredElement(parseBoolean(json.get("appointmentRequired").getAsBoolean())); if (json.has("_appointmentRequired")) parseElementProperties(getJObject(json, "_appointmentRequired"), res.getAppointmentRequiredElement()); - if (json.has("availableTime")) { - JsonArray array = getJArray(json, "availableTime"); + if (json.has("availability")) { + JsonArray array = getJArray(json, "availability"); for (int i = 0; i < array.size(); i++) { - res.getAvailableTime().add(parseHealthcareServiceAvailableTimeComponent(array.get(i).getAsJsonObject())); + res.getAvailability().add(parseAvailability(array.get(i).getAsJsonObject())); } }; - if (json.has("notAvailable")) { - JsonArray array = getJArray(json, "notAvailable"); - for (int i = 0; i < array.size(); i++) { - res.getNotAvailable().add(parseHealthcareServiceNotAvailableComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("availabilityExceptions")) - res.setAvailabilityExceptionsElement(parseString(json.get("availabilityExceptions").getAsString())); - if (json.has("_availabilityExceptions")) - parseElementProperties(getJObject(json, "_availabilityExceptions"), res.getAvailabilityExceptionsElement()); if (json.has("endpoint")) { JsonArray array = getJArray(json, "endpoint"); for (int i = 0; i < array.size(); i++) { @@ -16399,63 +17168,6 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_comment"), res.getCommentElement()); } - protected HealthcareService.HealthcareServiceAvailableTimeComponent parseHealthcareServiceAvailableTimeComponent(JsonObject json) throws IOException, FHIRFormatError { - HealthcareService.HealthcareServiceAvailableTimeComponent res = new HealthcareService.HealthcareServiceAvailableTimeComponent(); - parseHealthcareServiceAvailableTimeComponentProperties(json, res); - return res; - } - - protected void parseHealthcareServiceAvailableTimeComponentProperties(JsonObject json, HealthcareService.HealthcareServiceAvailableTimeComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("daysOfWeek")) { - JsonArray array = getJArray(json, "daysOfWeek"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getDaysOfWeek().add(new Enumeration(new Enumerations.DaysOfWeekEnumFactory(), Enumerations.DaysOfWeek.NULL)); - } else {; - res.getDaysOfWeek().add(parseEnumeration(array.get(i).getAsString(), Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - } - } - }; - if (json.has("_daysOfWeek")) { - JsonArray array = getJArray(json, "_daysOfWeek"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getDaysOfWeek().size()) - res.getDaysOfWeek().add(parseEnumeration(null, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getDaysOfWeek().get(i)); - } - }; - if (json.has("allDay")) - res.setAllDayElement(parseBoolean(json.get("allDay").getAsBoolean())); - if (json.has("_allDay")) - parseElementProperties(getJObject(json, "_allDay"), res.getAllDayElement()); - if (json.has("availableStartTime")) - res.setAvailableStartTimeElement(parseTime(json.get("availableStartTime").getAsString())); - if (json.has("_availableStartTime")) - parseElementProperties(getJObject(json, "_availableStartTime"), res.getAvailableStartTimeElement()); - if (json.has("availableEndTime")) - res.setAvailableEndTimeElement(parseTime(json.get("availableEndTime").getAsString())); - if (json.has("_availableEndTime")) - parseElementProperties(getJObject(json, "_availableEndTime"), res.getAvailableEndTimeElement()); - } - - protected HealthcareService.HealthcareServiceNotAvailableComponent parseHealthcareServiceNotAvailableComponent(JsonObject json) throws IOException, FHIRFormatError { - HealthcareService.HealthcareServiceNotAvailableComponent res = new HealthcareService.HealthcareServiceNotAvailableComponent(); - parseHealthcareServiceNotAvailableComponentProperties(json, res); - return res; - } - - protected void parseHealthcareServiceNotAvailableComponentProperties(JsonObject json, HealthcareService.HealthcareServiceNotAvailableComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("description")) - res.setDescriptionElement(parseString(json.get("description").getAsString())); - if (json.has("_description")) - parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); - if (json.has("during")) - res.setDuring(parsePeriod(getJObject(json, "during"))); - } - protected ImagingSelection parseImagingSelection(JsonObject json) throws IOException, FHIRFormatError { ImagingSelection res = new ImagingSelection(); parseImagingSelectionProperties(json, res); @@ -16520,12 +17232,22 @@ public class JsonParser extends JsonParserBase { res.setSeriesUidElement(parseId(json.get("seriesUid").getAsString())); if (json.has("_seriesUid")) parseElementProperties(getJObject(json, "_seriesUid"), res.getSeriesUidElement()); + if (json.has("seriesNumber")) + res.setSeriesNumberElement(parseUnsignedInt(json.get("seriesNumber").getAsString())); + if (json.has("_seriesNumber")) + parseElementProperties(getJObject(json, "_seriesNumber"), res.getSeriesNumberElement()); if (json.has("frameOfReferenceUid")) res.setFrameOfReferenceUidElement(parseId(json.get("frameOfReferenceUid").getAsString())); if (json.has("_frameOfReferenceUid")) parseElementProperties(getJObject(json, "_frameOfReferenceUid"), res.getFrameOfReferenceUidElement()); if (json.has("bodySite")) res.setBodySite(parseCodeableReference(getJObject(json, "bodySite"))); + if (json.has("focus")) { + JsonArray array = getJArray(json, "focus"); + for (int i = 0; i < array.size(); i++) { + res.getFocus().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("instance")) { JsonArray array = getJArray(json, "instance"); for (int i = 0; i < array.size(); i++) { @@ -16566,6 +17288,10 @@ public class JsonParser extends JsonParserBase { res.setUidElement(parseId(json.get("uid").getAsString())); if (json.has("_uid")) parseElementProperties(getJObject(json, "_uid"), res.getUidElement()); + if (json.has("number")) + res.setNumberElement(parseUnsignedInt(json.get("number").getAsString())); + if (json.has("_number")) + parseElementProperties(getJObject(json, "_number"), res.getNumberElement()); if (json.has("sopClass")) res.setSopClass(parseCoding(getJObject(json, "sopClass"))); if (json.has("subset")) { @@ -16628,13 +17354,13 @@ public class JsonParser extends JsonParserBase { }; } - protected ImagingSelection.ImagingSelectionImageRegionComponent parseImagingSelectionImageRegionComponent(JsonObject json) throws IOException, FHIRFormatError { - ImagingSelection.ImagingSelectionImageRegionComponent res = new ImagingSelection.ImagingSelectionImageRegionComponent(); + protected ImagingSelection.ImageRegionComponent parseImagingSelectionImageRegionComponent(JsonObject json) throws IOException, FHIRFormatError { + ImagingSelection.ImageRegionComponent res = new ImagingSelection.ImageRegionComponent(); parseImagingSelectionImageRegionComponentProperties(json, res); return res; } - protected void parseImagingSelectionImageRegionComponentProperties(JsonObject json, ImagingSelection.ImagingSelectionImageRegionComponent res) throws IOException, FHIRFormatError { + protected void parseImagingSelectionImageRegionComponentProperties(JsonObject json, ImagingSelection.ImageRegionComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("regionType")) res.setRegionTypeElement(parseEnumeration(json.get("regionType").getAsString(), ImagingSelection.ImagingSelection3DGraphicType.NULL, new ImagingSelection.ImagingSelection3DGraphicTypeEnumFactory())); @@ -16865,44 +17591,6 @@ public class JsonParser extends JsonParserBase { res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); } }; - if (json.has("instantiatesCanonical")) { - JsonArray array = getJArray(json, "instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesCanonical().add(new CanonicalType()); - } else {; - res.getInstantiatesCanonical().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesCanonical")) { - JsonArray array = getJArray(json, "_instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesCanonical().size()) - res.getInstantiatesCanonical().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesCanonical().get(i)); - } - }; - if (json.has("instantiatesUri")) { - JsonArray array = getJArray(json, "instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesUri().add(new UriType()); - } else {; - res.getInstantiatesUri().add(parseUri(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesUri")) { - JsonArray array = getJArray(json, "_instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesUri().size()) - res.getInstantiatesUri().add(parseUri(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesUri().get(i)); - } - }; if (json.has("basedOn")) { JsonArray array = getJArray(json, "basedOn"); for (int i = 0; i < array.size(); i++) { @@ -16917,8 +17605,10 @@ public class JsonParser extends JsonParserBase { res.setStatusReason(parseCodeableConcept(getJObject(json, "statusReason"))); if (json.has("vaccineCode")) res.setVaccineCode(parseCodeableConcept(getJObject(json, "vaccineCode"))); + if (json.has("administeredProduct")) + res.setAdministeredProduct(parseCodeableReference(getJObject(json, "administeredProduct"))); if (json.has("manufacturer")) - res.setManufacturer(parseReference(getJObject(json, "manufacturer"))); + res.setManufacturer(parseCodeableReference(getJObject(json, "manufacturer"))); if (json.has("lotNumber")) res.setLotNumberElement(parseString(json.get("lotNumber").getAsString())); if (json.has("_lotNumber")) @@ -16931,6 +17621,12 @@ public class JsonParser extends JsonParserBase { res.setPatient(parseReference(getJObject(json, "patient"))); if (json.has("encounter")) res.setEncounter(parseReference(getJObject(json, "encounter"))); + if (json.has("supportingInformation")) { + JsonArray array = getJArray(json, "supportingInformation"); + for (int i = 0; i < array.size(); i++) { + res.getSupportingInformation().add(parseReference(array.get(i).getAsJsonObject())); + } + }; DataType occurrence = parseType("occurrence", json); if (occurrence != null) res.setOccurrence(occurrence); @@ -16976,16 +17672,10 @@ public class JsonParser extends JsonParserBase { res.getSubpotentReason().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; - if (json.has("education")) { - JsonArray array = getJArray(json, "education"); - for (int i = 0; i < array.size(); i++) { - res.getEducation().add(parseImmunizationEducationComponent(array.get(i).getAsJsonObject())); - } - }; if (json.has("programEligibility")) { JsonArray array = getJArray(json, "programEligibility"); for (int i = 0; i < array.size(); i++) { - res.getProgramEligibility().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getProgramEligibility().add(parseImmunizationProgramEligibilityComponent(array.get(i).getAsJsonObject())); } }; if (json.has("fundingSource")) @@ -17018,30 +17708,18 @@ public class JsonParser extends JsonParserBase { res.setActor(parseReference(getJObject(json, "actor"))); } - protected Immunization.ImmunizationEducationComponent parseImmunizationEducationComponent(JsonObject json) throws IOException, FHIRFormatError { - Immunization.ImmunizationEducationComponent res = new Immunization.ImmunizationEducationComponent(); - parseImmunizationEducationComponentProperties(json, res); + protected Immunization.ImmunizationProgramEligibilityComponent parseImmunizationProgramEligibilityComponent(JsonObject json) throws IOException, FHIRFormatError { + Immunization.ImmunizationProgramEligibilityComponent res = new Immunization.ImmunizationProgramEligibilityComponent(); + parseImmunizationProgramEligibilityComponentProperties(json, res); return res; } - protected void parseImmunizationEducationComponentProperties(JsonObject json, Immunization.ImmunizationEducationComponent res) throws IOException, FHIRFormatError { + protected void parseImmunizationProgramEligibilityComponentProperties(JsonObject json, Immunization.ImmunizationProgramEligibilityComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("documentType")) - res.setDocumentTypeElement(parseString(json.get("documentType").getAsString())); - if (json.has("_documentType")) - parseElementProperties(getJObject(json, "_documentType"), res.getDocumentTypeElement()); - if (json.has("reference")) - res.setReferenceElement(parseUri(json.get("reference").getAsString())); - if (json.has("_reference")) - parseElementProperties(getJObject(json, "_reference"), res.getReferenceElement()); - if (json.has("publicationDate")) - res.setPublicationDateElement(parseDateTime(json.get("publicationDate").getAsString())); - if (json.has("_publicationDate")) - parseElementProperties(getJObject(json, "_publicationDate"), res.getPublicationDateElement()); - if (json.has("presentationDate")) - res.setPresentationDateElement(parseDateTime(json.get("presentationDate").getAsString())); - if (json.has("_presentationDate")) - parseElementProperties(getJObject(json, "_presentationDate"), res.getPresentationDateElement()); + if (json.has("program")) + res.setProgram(parseCodeableConcept(getJObject(json, "program"))); + if (json.has("programStatus")) + res.setProgramStatus(parseCodeableConcept(getJObject(json, "programStatus"))); } protected Immunization.ImmunizationReactionComponent parseImmunizationReactionComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -17164,44 +17842,6 @@ public class JsonParser extends JsonParserBase { res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); } }; - if (json.has("instantiatesCanonical")) { - JsonArray array = getJArray(json, "instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesCanonical().add(new CanonicalType()); - } else {; - res.getInstantiatesCanonical().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesCanonical")) { - JsonArray array = getJArray(json, "_instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesCanonical().size()) - res.getInstantiatesCanonical().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesCanonical().get(i)); - } - }; - if (json.has("instantiatesUri")) { - JsonArray array = getJArray(json, "instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesUri().add(new UriType()); - } else {; - res.getInstantiatesUri().add(parseUri(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesUri")) { - JsonArray array = getJArray(json, "_instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesUri().size()) - res.getInstantiatesUri().add(parseUri(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesUri().get(i)); - } - }; if (json.has("patient")) res.setPatient(parseReference(getJObject(json, "patient"))); if (json.has("date")) @@ -17320,6 +17960,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -17370,6 +18013,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("packageId")) res.setPackageIdElement(parseId(json.get("packageId").getAsString())); if (json.has("_packageId")) @@ -17435,6 +18082,10 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + if (json.has("reason")) + res.setReasonElement(parseMarkdown(json.get("reason").getAsString())); + if (json.has("_reason")) + parseElementProperties(getJObject(json, "_reason"), res.getReasonElement()); } protected ImplementationGuide.ImplementationGuideGlobalComponent parseImplementationGuideGlobalComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -17546,9 +18197,29 @@ public class JsonParser extends JsonParserBase { res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); if (json.has("_description")) parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); - DataType example = parseType("example", json); - if (example != null) - res.setExample(example); + if (json.has("isExample")) + res.setIsExampleElement(parseBoolean(json.get("isExample").getAsBoolean())); + if (json.has("_isExample")) + parseElementProperties(getJObject(json, "_isExample"), res.getIsExampleElement()); + if (json.has("profile")) { + JsonArray array = getJArray(json, "profile"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getProfile().add(new CanonicalType()); + } else {; + res.getProfile().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_profile")) { + JsonArray array = getJArray(json, "_profile"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getProfile().size()) + res.getProfile().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getProfile().get(i)); + } + }; if (json.has("groupingId")) res.setGroupingIdElement(parseId(json.get("groupingId").getAsString())); if (json.has("_groupingId")) @@ -17563,9 +18234,13 @@ public class JsonParser extends JsonParserBase { protected void parseImplementationGuideDefinitionPageComponentProperties(JsonObject json, ImplementationGuide.ImplementationGuideDefinitionPageComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - DataType name = parseType("name", json); - if (name != null) - res.setName(name); + DataType source = parseType("source", json); + if (source != null) + res.setSource(source); + if (json.has("name")) + res.setNameElement(parseUrl(json.get("name").getAsString())); + if (json.has("_name")) + parseElementProperties(getJObject(json, "_name"), res.getNameElement()); if (json.has("title")) res.setTitleElement(parseString(json.get("title").getAsString())); if (json.has("_title")) @@ -17591,9 +18266,7 @@ public class JsonParser extends JsonParserBase { protected void parseImplementationGuideDefinitionParameterComponentProperties(JsonObject json, ImplementationGuide.ImplementationGuideDefinitionParameterComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("code")) - res.setCodeElement(parseString(json.get("code").getAsString())); - if (json.has("_code")) - parseElementProperties(getJObject(json, "_code"), res.getCodeElement()); + res.setCode(parseCoding(getJObject(json, "code"))); if (json.has("value")) res.setValueElement(parseString(json.get("value").getAsString())); if (json.has("_value")) @@ -17696,9 +18369,29 @@ public class JsonParser extends JsonParserBase { parseBackboneElementProperties(json, res); if (json.has("reference")) res.setReference(parseReference(getJObject(json, "reference"))); - DataType example = parseType("example", json); - if (example != null) - res.setExample(example); + if (json.has("isExample")) + res.setIsExampleElement(parseBoolean(json.get("isExample").getAsBoolean())); + if (json.has("_isExample")) + parseElementProperties(getJObject(json, "_isExample"), res.getIsExampleElement()); + if (json.has("profile")) { + JsonArray array = getJArray(json, "profile"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getProfile().add(new CanonicalType()); + } else {; + res.getProfile().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_profile")) { + JsonArray array = getJArray(json, "_profile"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getProfile().size()) + res.getProfile().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getProfile().get(i)); + } + }; if (json.has("relativePath")) res.setRelativePathElement(parseUrl(json.get("relativePath").getAsString())); if (json.has("_relativePath")) @@ -18292,6 +18985,13 @@ public class JsonParser extends JsonParserBase { res.setDateElement(parseDateTime(json.get("date").getAsString())); if (json.has("_date")) parseElementProperties(getJObject(json, "_date"), res.getDateElement()); + if (json.has("creation")) + res.setCreationElement(parseDateTime(json.get("creation").getAsString())); + if (json.has("_creation")) + parseElementProperties(getJObject(json, "_creation"), res.getCreationElement()); + DataType period = parseType("period", json); + if (period != null) + res.setPeriod(period); if (json.has("participant")) { JsonArray array = getJArray(json, "participant"); for (int i = 0; i < array.size(); i++) { @@ -18311,7 +19011,7 @@ public class JsonParser extends JsonParserBase { if (json.has("totalPriceComponent")) { JsonArray array = getJArray(json, "totalPriceComponent"); for (int i = 0; i < array.size(); i++) { - res.getTotalPriceComponent().add(parseInvoiceLineItemPriceComponentComponent(array.get(i).getAsJsonObject())); + res.getTotalPriceComponent().add(parseMonetaryComponent(array.get(i).getAsJsonObject())); } }; if (json.has("totalNet")) @@ -18356,39 +19056,20 @@ public class JsonParser extends JsonParserBase { res.setSequenceElement(parsePositiveInt(json.get("sequence").getAsString())); if (json.has("_sequence")) parseElementProperties(getJObject(json, "_sequence"), res.getSequenceElement()); + DataType serviced = parseType("serviced", json); + if (serviced != null) + res.setServiced(serviced); DataType chargeItem = parseType("chargeItem", json); if (chargeItem != null) res.setChargeItem(chargeItem); if (json.has("priceComponent")) { JsonArray array = getJArray(json, "priceComponent"); for (int i = 0; i < array.size(); i++) { - res.getPriceComponent().add(parseInvoiceLineItemPriceComponentComponent(array.get(i).getAsJsonObject())); + res.getPriceComponent().add(parseMonetaryComponent(array.get(i).getAsJsonObject())); } }; } - protected Invoice.InvoiceLineItemPriceComponentComponent parseInvoiceLineItemPriceComponentComponent(JsonObject json) throws IOException, FHIRFormatError { - Invoice.InvoiceLineItemPriceComponentComponent res = new Invoice.InvoiceLineItemPriceComponentComponent(); - parseInvoiceLineItemPriceComponentComponentProperties(json, res); - return res; - } - - protected void parseInvoiceLineItemPriceComponentComponentProperties(JsonObject json, Invoice.InvoiceLineItemPriceComponentComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.InvoicePriceComponentType.NULL, new Enumerations.InvoicePriceComponentTypeEnumFactory())); - if (json.has("_type")) - parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("code")) - res.setCode(parseCodeableConcept(getJObject(json, "code"))); - if (json.has("factor")) - res.setFactorElement(parseDecimal(json.get("factor").getAsBigDecimal())); - if (json.has("_factor")) - parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); - if (json.has("amount")) - res.setAmount(parseMoney(getJObject(json, "amount"))); - } - protected Library parseLibrary(JsonObject json) throws IOException, FHIRFormatError { Library res = new Library(); parseLibraryProperties(json, res); @@ -18723,32 +19404,34 @@ public class JsonParser extends JsonParserBase { res.getContact().add(parseExtendedContactDetail(array.get(i).getAsJsonObject())); } }; - if (json.has("telecom")) { - JsonArray array = getJArray(json, "telecom"); - for (int i = 0; i < array.size(); i++) { - res.getTelecom().add(parseContactPoint(array.get(i).getAsJsonObject())); - } - }; if (json.has("address")) res.setAddress(parseAddress(getJObject(json, "address"))); - if (json.has("physicalType")) - res.setPhysicalType(parseCodeableConcept(getJObject(json, "physicalType"))); + if (json.has("form")) + res.setForm(parseCodeableConcept(getJObject(json, "form"))); if (json.has("position")) res.setPosition(parseLocationPositionComponent(getJObject(json, "position"))); if (json.has("managingOrganization")) res.setManagingOrganization(parseReference(getJObject(json, "managingOrganization"))); if (json.has("partOf")) res.setPartOf(parseReference(getJObject(json, "partOf"))); + if (json.has("characteristic")) { + JsonArray array = getJArray(json, "characteristic"); + for (int i = 0; i < array.size(); i++) { + res.getCharacteristic().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("hoursOfOperation")) { JsonArray array = getJArray(json, "hoursOfOperation"); for (int i = 0; i < array.size(); i++) { - res.getHoursOfOperation().add(parseLocationHoursOfOperationComponent(array.get(i).getAsJsonObject())); + res.getHoursOfOperation().add(parseAvailability(array.get(i).getAsJsonObject())); + } + }; + if (json.has("virtualService")) { + JsonArray array = getJArray(json, "virtualService"); + for (int i = 0; i < array.size(); i++) { + res.getVirtualService().add(parseVirtualServiceDetail(array.get(i).getAsJsonObject())); } }; - if (json.has("availabilityExceptions")) - res.setAvailabilityExceptionsElement(parseString(json.get("availabilityExceptions").getAsString())); - if (json.has("_availabilityExceptions")) - parseElementProperties(getJObject(json, "_availabilityExceptions"), res.getAvailabilityExceptionsElement()); if (json.has("endpoint")) { JsonArray array = getJArray(json, "endpoint"); for (int i = 0; i < array.size(); i++) { @@ -18779,47 +19462,6 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_altitude"), res.getAltitudeElement()); } - protected Location.LocationHoursOfOperationComponent parseLocationHoursOfOperationComponent(JsonObject json) throws IOException, FHIRFormatError { - Location.LocationHoursOfOperationComponent res = new Location.LocationHoursOfOperationComponent(); - parseLocationHoursOfOperationComponentProperties(json, res); - return res; - } - - protected void parseLocationHoursOfOperationComponentProperties(JsonObject json, Location.LocationHoursOfOperationComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("daysOfWeek")) { - JsonArray array = getJArray(json, "daysOfWeek"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getDaysOfWeek().add(new Enumeration(new Enumerations.DaysOfWeekEnumFactory(), Enumerations.DaysOfWeek.NULL)); - } else {; - res.getDaysOfWeek().add(parseEnumeration(array.get(i).getAsString(), Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - } - } - }; - if (json.has("_daysOfWeek")) { - JsonArray array = getJArray(json, "_daysOfWeek"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getDaysOfWeek().size()) - res.getDaysOfWeek().add(parseEnumeration(null, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getDaysOfWeek().get(i)); - } - }; - if (json.has("allDay")) - res.setAllDayElement(parseBoolean(json.get("allDay").getAsBoolean())); - if (json.has("_allDay")) - parseElementProperties(getJObject(json, "_allDay"), res.getAllDayElement()); - if (json.has("openingTime")) - res.setOpeningTimeElement(parseTime(json.get("openingTime").getAsString())); - if (json.has("_openingTime")) - parseElementProperties(getJObject(json, "_openingTime"), res.getOpeningTimeElement()); - if (json.has("closingTime")) - res.setClosingTimeElement(parseTime(json.get("closingTime").getAsString())); - if (json.has("_closingTime")) - parseElementProperties(getJObject(json, "_closingTime"), res.getClosingTimeElement()); - } - protected ManufacturedItemDefinition parseManufacturedItemDefinition(JsonObject json) throws IOException, FHIRFormatError { ManufacturedItemDefinition res = new ManufacturedItemDefinition(); parseManufacturedItemDefinitionProperties(json, res); @@ -18838,6 +19480,10 @@ public class JsonParser extends JsonParserBase { res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("name")) + res.setNameElement(parseString(json.get("name").getAsString())); + if (json.has("_name")) + parseElementProperties(getJObject(json, "_name"), res.getNameElement()); if (json.has("manufacturedDoseForm")) res.setManufacturedDoseForm(parseCodeableConcept(getJObject(json, "manufacturedDoseForm"))); if (json.has("unitOfPresentation")) @@ -18848,6 +19494,12 @@ public class JsonParser extends JsonParserBase { res.getManufacturer().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("marketingStatus")) { + JsonArray array = getJArray(json, "marketingStatus"); + for (int i = 0; i < array.size(); i++) { + res.getMarketingStatus().add(parseMarketingStatus(array.get(i).getAsJsonObject())); + } + }; if (json.has("ingredient")) { JsonArray array = getJArray(json, "ingredient"); for (int i = 0; i < array.size(); i++) { @@ -18860,6 +19512,12 @@ public class JsonParser extends JsonParserBase { res.getProperty().add(parseManufacturedItemDefinitionPropertyComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("component")) { + JsonArray array = getJArray(json, "component"); + for (int i = 0; i < array.size(); i++) { + res.getComponent().add(parseManufacturedItemDefinitionComponentComponent(array.get(i).getAsJsonObject())); + } + }; } protected ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent parseManufacturedItemDefinitionPropertyComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -18877,6 +19535,82 @@ public class JsonParser extends JsonParserBase { res.setValue(value); } + protected ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent parseManufacturedItemDefinitionComponentComponent(JsonObject json) throws IOException, FHIRFormatError { + ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent res = new ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent(); + parseManufacturedItemDefinitionComponentComponentProperties(json, res); + return res; + } + + protected void parseManufacturedItemDefinitionComponentComponentProperties(JsonObject json, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); + if (json.has("function")) { + JsonArray array = getJArray(json, "function"); + for (int i = 0; i < array.size(); i++) { + res.getFunction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("amount")) { + JsonArray array = getJArray(json, "amount"); + for (int i = 0; i < array.size(); i++) { + res.getAmount().add(parseQuantity(array.get(i).getAsJsonObject())); + } + }; + if (json.has("constituent")) { + JsonArray array = getJArray(json, "constituent"); + for (int i = 0; i < array.size(); i++) { + res.getConstituent().add(parseManufacturedItemDefinitionComponentConstituentComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("property")) { + JsonArray array = getJArray(json, "property"); + for (int i = 0; i < array.size(); i++) { + res.getProperty().add(parseManufacturedItemDefinitionPropertyComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("component")) { + JsonArray array = getJArray(json, "component"); + for (int i = 0; i < array.size(); i++) { + res.getComponent().add(parseManufacturedItemDefinitionComponentComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent parseManufacturedItemDefinitionComponentConstituentComponent(JsonObject json) throws IOException, FHIRFormatError { + ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent res = new ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent(); + parseManufacturedItemDefinitionComponentConstituentComponentProperties(json, res); + return res; + } + + protected void parseManufacturedItemDefinitionComponentConstituentComponentProperties(JsonObject json, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("amount")) { + JsonArray array = getJArray(json, "amount"); + for (int i = 0; i < array.size(); i++) { + res.getAmount().add(parseQuantity(array.get(i).getAsJsonObject())); + } + }; + if (json.has("location")) { + JsonArray array = getJArray(json, "location"); + for (int i = 0; i < array.size(); i++) { + res.getLocation().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("function")) { + JsonArray array = getJArray(json, "function"); + for (int i = 0; i < array.size(); i++) { + res.getFunction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("locationForIngredient")) { + JsonArray array = getJArray(json, "locationForIngredient"); + for (int i = 0; i < array.size(); i++) { + res.getLocationForIngredient().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + } + protected Measure parseMeasure(JsonObject json) throws IOException, FHIRFormatError { Measure res = new Measure(); parseMeasureProperties(json, res); @@ -18923,7 +19657,7 @@ public class JsonParser extends JsonParserBase { if (subject != null) res.setSubject(subject); if (json.has("basis")) - res.setBasisElement(parseEnumeration(json.get("basis").getAsString(), Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setBasisElement(parseEnumeration(json.get("basis").getAsString(), Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); if (json.has("_basis")) parseElementProperties(getJObject(json, "_basis"), res.getBasisElement()); if (json.has("date")) @@ -19067,23 +19801,10 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_clinicalRecommendationStatement"), res.getClinicalRecommendationStatementElement()); if (json.has("improvementNotation")) res.setImprovementNotation(parseCodeableConcept(getJObject(json, "improvementNotation"))); - if (json.has("definition")) { - JsonArray array = getJArray(json, "definition"); + if (json.has("term")) { + JsonArray array = getJArray(json, "term"); for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getDefinition().add(new MarkdownType()); - } else {; - res.getDefinition().add(parseMarkdown(array.get(i).getAsString())); - } - } - }; - if (json.has("_definition")) { - JsonArray array = getJArray(json, "_definition"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getDefinition().size()) - res.getDefinition().add(parseMarkdown(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getDefinition().get(i)); + res.getTerm().add(parseMeasureTermComponent(array.get(i).getAsJsonObject())); } }; if (json.has("guidance")) @@ -19104,6 +19825,22 @@ public class JsonParser extends JsonParserBase { }; } + protected Measure.MeasureTermComponent parseMeasureTermComponent(JsonObject json) throws IOException, FHIRFormatError { + Measure.MeasureTermComponent res = new Measure.MeasureTermComponent(); + parseMeasureTermComponentProperties(json, res); + return res; + } + + protected void parseMeasureTermComponentProperties(JsonObject json, Measure.MeasureTermComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("code")) + res.setCode(parseCodeableConcept(getJObject(json, "code"))); + if (json.has("definition")) + res.setDefinitionElement(parseMarkdown(json.get("definition").getAsString())); + if (json.has("_definition")) + parseElementProperties(getJObject(json, "_definition"), res.getDefinitionElement()); + } + protected Measure.MeasureGroupComponent parseMeasureGroupComponent(JsonObject json) throws IOException, FHIRFormatError { Measure.MeasureGroupComponent res = new Measure.MeasureGroupComponent(); parseMeasureGroupComponentProperties(json, res); @@ -19125,7 +19862,7 @@ public class JsonParser extends JsonParserBase { } }; if (json.has("basis")) - res.setBasisElement(parseEnumeration(json.get("basis").getAsString(), Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setBasisElement(parseEnumeration(json.get("basis").getAsString(), Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); if (json.has("_basis")) parseElementProperties(getJObject(json, "_basis"), res.getBasisElement()); if (json.has("scoring")) @@ -19278,8 +20015,12 @@ public class JsonParser extends JsonParserBase { res.setReporter(parseReference(getJObject(json, "reporter"))); if (json.has("reportingVendor")) res.setReportingVendor(parseReference(getJObject(json, "reportingVendor"))); + if (json.has("location")) + res.setLocation(parseReference(getJObject(json, "location"))); if (json.has("period")) res.setPeriod(parsePeriod(getJObject(json, "period"))); + if (json.has("inputParameters")) + res.setInputParameters(parseReference(getJObject(json, "inputParameters"))); if (json.has("scoring")) res.setScoring(parseCodeableConcept(getJObject(json, "scoring"))); if (json.has("improvementNotation")) @@ -19351,12 +20092,8 @@ public class JsonParser extends JsonParserBase { protected void parseMeasureReportGroupStratifierComponentProperties(JsonObject json, MeasureReport.MeasureReportGroupStratifierComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("code")) { - JsonArray array = getJArray(json, "code"); - for (int i = 0; i < array.size(); i++) { - res.getCode().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; + if (json.has("code")) + res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("stratum")) { JsonArray array = getJArray(json, "stratum"); for (int i = 0; i < array.size(); i++) { @@ -19513,44 +20250,6 @@ public class JsonParser extends JsonParserBase { res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); } }; - if (json.has("instantiatesCanonical")) { - JsonArray array = getJArray(json, "instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesCanonical().add(new CanonicalType()); - } else {; - res.getInstantiatesCanonical().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesCanonical")) { - JsonArray array = getJArray(json, "_instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesCanonical().size()) - res.getInstantiatesCanonical().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesCanonical().get(i)); - } - }; - if (json.has("instantiatesUri")) { - JsonArray array = getJArray(json, "instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesUri().add(new UriType()); - } else {; - res.getInstantiatesUri().add(parseUri(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesUri")) { - JsonArray array = getJArray(json, "_instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesUri().size()) - res.getInstantiatesUri().add(parseUri(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesUri().get(i)); - } - }; if (json.has("basedOn")) { JsonArray array = getJArray(json, "basedOn"); for (int i = 0; i < array.size(); i++) { @@ -20342,44 +21041,6 @@ public class JsonParser extends JsonParserBase { res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); } }; - if (json.has("instantiatesCanonical")) { - JsonArray array = getJArray(json, "instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesCanonical().add(new CanonicalType()); - } else {; - res.getInstantiatesCanonical().add(parseCanonical(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesCanonical")) { - JsonArray array = getJArray(json, "_instantiatesCanonical"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesCanonical().size()) - res.getInstantiatesCanonical().add(parseCanonical(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesCanonical().get(i)); - } - }; - if (json.has("instantiatesUri")) { - JsonArray array = getJArray(json, "instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getInstantiatesUri().add(new UriType()); - } else {; - res.getInstantiatesUri().add(parseUri(array.get(i).getAsString())); - } - } - }; - if (json.has("_instantiatesUri")) { - JsonArray array = getJArray(json, "_instantiatesUri"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getInstantiatesUri().size()) - res.getInstantiatesUri().add(parseUri(null)); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesUri().get(i)); - } - }; if (json.has("basedOn")) { JsonArray array = getJArray(json, "basedOn"); for (int i = 0; i < array.size(); i++) { @@ -20854,27 +21515,27 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_productName"), res.getProductNameElement()); if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); - if (json.has("namePart")) { - JsonArray array = getJArray(json, "namePart"); + if (json.has("part")) { + JsonArray array = getJArray(json, "part"); for (int i = 0; i < array.size(); i++) { - res.getNamePart().add(parseMedicinalProductDefinitionNameNamePartComponent(array.get(i).getAsJsonObject())); + res.getPart().add(parseMedicinalProductDefinitionNamePartComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("countryLanguage")) { - JsonArray array = getJArray(json, "countryLanguage"); + if (json.has("usage")) { + JsonArray array = getJArray(json, "usage"); for (int i = 0; i < array.size(); i++) { - res.getCountryLanguage().add(parseMedicinalProductDefinitionNameCountryLanguageComponent(array.get(i).getAsJsonObject())); + res.getUsage().add(parseMedicinalProductDefinitionNameUsageComponent(array.get(i).getAsJsonObject())); } }; } - protected MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent parseMedicinalProductDefinitionNameNamePartComponent(JsonObject json) throws IOException, FHIRFormatError { - MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent(); - parseMedicinalProductDefinitionNameNamePartComponentProperties(json, res); + protected MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent parseMedicinalProductDefinitionNamePartComponent(JsonObject json) throws IOException, FHIRFormatError { + MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent(); + parseMedicinalProductDefinitionNamePartComponentProperties(json, res); return res; } - protected void parseMedicinalProductDefinitionNameNamePartComponentProperties(JsonObject json, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent res) throws IOException, FHIRFormatError { + protected void parseMedicinalProductDefinitionNamePartComponentProperties(JsonObject json, MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("part")) res.setPartElement(parseString(json.get("part").getAsString())); @@ -20884,13 +21545,13 @@ public class JsonParser extends JsonParserBase { res.setType(parseCodeableConcept(getJObject(json, "type"))); } - protected MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent parseMedicinalProductDefinitionNameCountryLanguageComponent(JsonObject json) throws IOException, FHIRFormatError { - MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent(); - parseMedicinalProductDefinitionNameCountryLanguageComponentProperties(json, res); + protected MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent parseMedicinalProductDefinitionNameUsageComponent(JsonObject json) throws IOException, FHIRFormatError { + MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent(); + parseMedicinalProductDefinitionNameUsageComponentProperties(json, res); return res; } - protected void parseMedicinalProductDefinitionNameCountryLanguageComponentProperties(JsonObject json, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent res) throws IOException, FHIRFormatError { + protected void parseMedicinalProductDefinitionNameUsageComponentProperties(JsonObject json, MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("country")) res.setCountry(parseCodeableConcept(getJObject(json, "country"))); @@ -21271,8 +21932,8 @@ public class JsonParser extends JsonParserBase { res.setTypeElement(parseEnumeration(json.get("type").getAsString(), MolecularSequence.SequenceType.NULL, new MolecularSequence.SequenceTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); - if (json.has("patient")) - res.setPatient(parseReference(getJObject(json, "patient"))); + if (json.has("subject")) + res.setSubject(parseReference(getJObject(json, "subject"))); if (json.has("specimen")) res.setSpecimen(parseReference(getJObject(json, "specimen"))); if (json.has("device")) @@ -21295,20 +21956,26 @@ public class JsonParser extends JsonParserBase { res.getRelative().add(parseMolecularSequenceRelativeComponent(array.get(i).getAsJsonObject())); } }; - } + } protected MolecularSequence.MolecularSequenceRelativeComponent parseMolecularSequenceRelativeComponent(JsonObject json) throws IOException, FHIRFormatError { MolecularSequence.MolecularSequenceRelativeComponent res = new MolecularSequence.MolecularSequenceRelativeComponent(); parseMolecularSequenceRelativeComponentProperties(json, res); return res; - } + } protected void parseMolecularSequenceRelativeComponentProperties(JsonObject json, MolecularSequence.MolecularSequenceRelativeComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("coordinateSystem")) res.setCoordinateSystem(parseCodeableConcept(getJObject(json, "coordinateSystem"))); - if (json.has("reference")) - res.setReference(parseMolecularSequenceRelativeReferenceComponent(getJObject(json, "reference"))); + if (json.has("ordinalPosition")) + res.setOrdinalPositionElement(parseInteger(json.get("ordinalPosition").getAsLong())); + if (json.has("_ordinalPosition")) + parseElementProperties(getJObject(json, "_ordinalPosition"), res.getOrdinalPositionElement()); + if (json.has("sequenceRange")) + res.setSequenceRange(parseRange(getJObject(json, "sequenceRange"))); + if (json.has("startingSequence")) + res.setStartingSequence(parseMolecularSequenceRelativeStartingSequenceComponent(getJObject(json, "startingSequence"))); if (json.has("edit")) { JsonArray array = getJArray(json, "edit"); for (int i = 0; i < array.size(); i++) { @@ -21317,21 +21984,21 @@ public class JsonParser extends JsonParserBase { }; } - protected MolecularSequence.MolecularSequenceRelativeReferenceComponent parseMolecularSequenceRelativeReferenceComponent(JsonObject json) throws IOException, FHIRFormatError { - MolecularSequence.MolecularSequenceRelativeReferenceComponent res = new MolecularSequence.MolecularSequenceRelativeReferenceComponent(); - parseMolecularSequenceRelativeReferenceComponentProperties(json, res); + protected MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent parseMolecularSequenceRelativeStartingSequenceComponent(JsonObject json) throws IOException, FHIRFormatError { + MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent res = new MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent(); + parseMolecularSequenceRelativeStartingSequenceComponentProperties(json, res); return res; } - protected void parseMolecularSequenceRelativeReferenceComponentProperties(JsonObject json, MolecularSequence.MolecularSequenceRelativeReferenceComponent res) throws IOException, FHIRFormatError { + protected void parseMolecularSequenceRelativeStartingSequenceComponentProperties(JsonObject json, MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("referenceSequenceAssembly")) - res.setReferenceSequenceAssembly(parseCodeableConcept(getJObject(json, "referenceSequenceAssembly"))); + if (json.has("genomeAssembly")) + res.setGenomeAssembly(parseCodeableConcept(getJObject(json, "genomeAssembly"))); if (json.has("chromosome")) res.setChromosome(parseCodeableConcept(getJObject(json, "chromosome"))); - DataType referenceSequence = parseType("referenceSequence", json); - if (referenceSequence != null) - res.setReferenceSequence(referenceSequence); + DataType sequence = parseType("sequence", json); + if (sequence != null) + res.setSequence(sequence); if (json.has("windowStart")) res.setWindowStartElement(parseInteger(json.get("windowStart").getAsLong())); if (json.has("_windowStart")) @@ -21366,14 +22033,14 @@ public class JsonParser extends JsonParserBase { res.setEndElement(parseInteger(json.get("end").getAsLong())); if (json.has("_end")) parseElementProperties(getJObject(json, "_end"), res.getEndElement()); - if (json.has("observedAllele")) - res.setObservedAlleleElement(parseString(json.get("observedAllele").getAsString())); - if (json.has("_observedAllele")) - parseElementProperties(getJObject(json, "_observedAllele"), res.getObservedAlleleElement()); - if (json.has("referenceAllele")) - res.setReferenceAlleleElement(parseString(json.get("referenceAllele").getAsString())); - if (json.has("_referenceAllele")) - parseElementProperties(getJObject(json, "_referenceAllele"), res.getReferenceAlleleElement()); + if (json.has("replacementSequence")) + res.setReplacementSequenceElement(parseString(json.get("replacementSequence").getAsString())); + if (json.has("_replacementSequence")) + parseElementProperties(getJObject(json, "_replacementSequence"), res.getReplacementSequenceElement()); + if (json.has("replacedSequence")) + res.setReplacedSequenceElement(parseString(json.get("replacedSequence").getAsString())); + if (json.has("_replacedSequence")) + parseElementProperties(getJObject(json, "_replacedSequence"), res.getReplacedSequenceElement()); } protected NamingSystem parseNamingSystem(JsonObject json) throws IOException, FHIRFormatError { @@ -21388,6 +22055,12 @@ public class JsonParser extends JsonParserBase { res.setUrlElement(parseUri(json.get("url").getAsString())); if (json.has("_url")) parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; if (json.has("version")) res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) @@ -21408,6 +22081,10 @@ public class JsonParser extends JsonParserBase { res.setKindElement(parseEnumeration(json.get("kind").getAsString(), NamingSystem.NamingSystemType.NULL, new NamingSystem.NamingSystemTypeEnumFactory())); if (json.has("_kind")) parseElementProperties(getJObject(json, "_kind"), res.getKindElement()); + if (json.has("experimental")) + res.setExperimentalElement(parseBoolean(json.get("experimental").getAsBoolean())); + if (json.has("_experimental")) + parseElementProperties(getJObject(json, "_experimental"), res.getExperimentalElement()); if (json.has("date")) res.setDateElement(parseDateTime(json.get("date").getAsString())); if (json.has("_date")) @@ -21444,6 +22121,60 @@ public class JsonParser extends JsonParserBase { res.getJurisdiction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("purpose")) + res.setPurposeElement(parseMarkdown(json.get("purpose").getAsString())); + if (json.has("_purpose")) + parseElementProperties(getJObject(json, "_purpose"), res.getPurposeElement()); + if (json.has("copyright")) + res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); + if (json.has("_copyright")) + parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("approvalDate")) + res.setApprovalDateElement(parseDate(json.get("approvalDate").getAsString())); + if (json.has("_approvalDate")) + parseElementProperties(getJObject(json, "_approvalDate"), res.getApprovalDateElement()); + if (json.has("lastReviewDate")) + res.setLastReviewDateElement(parseDate(json.get("lastReviewDate").getAsString())); + if (json.has("_lastReviewDate")) + parseElementProperties(getJObject(json, "_lastReviewDate"), res.getLastReviewDateElement()); + if (json.has("effectivePeriod")) + res.setEffectivePeriod(parsePeriod(getJObject(json, "effectivePeriod"))); + if (json.has("topic")) { + JsonArray array = getJArray(json, "topic"); + for (int i = 0; i < array.size(); i++) { + res.getTopic().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("author")) { + JsonArray array = getJArray(json, "author"); + for (int i = 0; i < array.size(); i++) { + res.getAuthor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("editor")) { + JsonArray array = getJArray(json, "editor"); + for (int i = 0; i < array.size(); i++) { + res.getEditor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("reviewer")) { + JsonArray array = getJArray(json, "reviewer"); + for (int i = 0; i < array.size(); i++) { + res.getReviewer().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("endorser")) { + JsonArray array = getJArray(json, "endorser"); + for (int i = 0; i < array.size(); i++) { + res.getEndorser().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("relatedArtifact")) { + JsonArray array = getJArray(json, "relatedArtifact"); + for (int i = 0; i < array.size(); i++) { + res.getRelatedArtifact().add(parseRelatedArtifact(array.get(i).getAsJsonObject())); + } + }; if (json.has("usage")) res.setUsageElement(parseString(json.get("usage").getAsString())); if (json.has("_usage")) @@ -21743,6 +22474,12 @@ public class JsonParser extends JsonParserBase { parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiates().get(i)); } }; + if (json.has("basedOn")) { + JsonArray array = getJArray(json, "basedOn"); + for (int i = 0; i < array.size(); i++) { + res.getBasedOn().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("status")) res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); if (json.has("_status")) @@ -21751,16 +22488,32 @@ public class JsonParser extends JsonParserBase { res.setIntentElement(parseEnumeration(json.get("intent").getAsString(), Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); if (json.has("_intent")) parseElementProperties(getJObject(json, "_intent"), res.getIntentElement()); - if (json.has("patient")) - res.setPatient(parseReference(getJObject(json, "patient"))); + if (json.has("priority")) + res.setPriorityElement(parseEnumeration(json.get("priority").getAsString(), Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + if (json.has("_priority")) + parseElementProperties(getJObject(json, "_priority"), res.getPriorityElement()); + if (json.has("subject")) + res.setSubject(parseReference(getJObject(json, "subject"))); if (json.has("encounter")) res.setEncounter(parseReference(getJObject(json, "encounter"))); + if (json.has("supportingInformation")) { + JsonArray array = getJArray(json, "supportingInformation"); + for (int i = 0; i < array.size(); i++) { + res.getSupportingInformation().add(parseReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("dateTime")) res.setDateTimeElement(parseDateTime(json.get("dateTime").getAsString())); if (json.has("_dateTime")) parseElementProperties(getJObject(json, "_dateTime"), res.getDateTimeElement()); if (json.has("orderer")) res.setOrderer(parseReference(getJObject(json, "orderer"))); + if (json.has("performer")) { + JsonArray array = getJArray(json, "performer"); + for (int i = 0; i < array.size(); i++) { + res.getPerformer().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("allergyIntolerance")) { JsonArray array = getJArray(json, "allergyIntolerance"); for (int i = 0; i < array.size(); i++) { @@ -21779,6 +22532,10 @@ public class JsonParser extends JsonParserBase { res.getExcludeFoodModifier().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("outsideFoodAllowed")) + res.setOutsideFoodAllowedElement(parseBoolean(json.get("outsideFoodAllowed").getAsBoolean())); + if (json.has("_outsideFoodAllowed")) + parseElementProperties(getJObject(json, "_outsideFoodAllowed"), res.getOutsideFoodAllowedElement()); if (json.has("oralDiet")) res.setOralDiet(parseNutritionOrderOralDietComponent(getJObject(json, "oralDiet"))); if (json.has("supplement")) { @@ -21811,12 +22568,8 @@ public class JsonParser extends JsonParserBase { res.getType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; - if (json.has("schedule")) { - JsonArray array = getJArray(json, "schedule"); - for (int i = 0; i < array.size(); i++) { - res.getSchedule().add(parseTiming(array.get(i).getAsJsonObject())); - } - }; + if (json.has("schedule")) + res.setSchedule(parseNutritionOrderOralDietScheduleComponent(getJObject(json, "schedule"))); if (json.has("nutrient")) { JsonArray array = getJArray(json, "nutrient"); for (int i = 0; i < array.size(); i++) { @@ -21841,6 +22594,28 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_instruction"), res.getInstructionElement()); } + protected NutritionOrder.NutritionOrderOralDietScheduleComponent parseNutritionOrderOralDietScheduleComponent(JsonObject json) throws IOException, FHIRFormatError { + NutritionOrder.NutritionOrderOralDietScheduleComponent res = new NutritionOrder.NutritionOrderOralDietScheduleComponent(); + parseNutritionOrderOralDietScheduleComponentProperties(json, res); + return res; + } + + protected void parseNutritionOrderOralDietScheduleComponentProperties(JsonObject json, NutritionOrder.NutritionOrderOralDietScheduleComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("timing")) { + JsonArray array = getJArray(json, "timing"); + for (int i = 0; i < array.size(); i++) { + res.getTiming().add(parseTiming(array.get(i).getAsJsonObject())); + } + }; + if (json.has("asNeeded")) + res.setAsNeededElement(parseBoolean(json.get("asNeeded").getAsBoolean())); + if (json.has("_asNeeded")) + parseElementProperties(getJObject(json, "_asNeeded"), res.getAsNeededElement()); + if (json.has("asNeededFor")) + res.setAsNeededFor(parseCodeableConcept(getJObject(json, "asNeededFor"))); + } + protected NutritionOrder.NutritionOrderOralDietNutrientComponent parseNutritionOrderOralDietNutrientComponent(JsonObject json) throws IOException, FHIRFormatError { NutritionOrder.NutritionOrderOralDietNutrientComponent res = new NutritionOrder.NutritionOrderOralDietNutrientComponent(); parseNutritionOrderOralDietNutrientComponentProperties(json, res); @@ -21878,17 +22653,13 @@ public class JsonParser extends JsonParserBase { protected void parseNutritionOrderSupplementComponentProperties(JsonObject json, NutritionOrder.NutritionOrderSupplementComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("type")) - res.setType(parseCodeableConcept(getJObject(json, "type"))); + res.setType(parseCodeableReference(getJObject(json, "type"))); if (json.has("productName")) res.setProductNameElement(parseString(json.get("productName").getAsString())); if (json.has("_productName")) parseElementProperties(getJObject(json, "_productName"), res.getProductNameElement()); - if (json.has("schedule")) { - JsonArray array = getJArray(json, "schedule"); - for (int i = 0; i < array.size(); i++) { - res.getSchedule().add(parseTiming(array.get(i).getAsJsonObject())); - } - }; + if (json.has("schedule")) + res.setSchedule(parseNutritionOrderSupplementScheduleComponent(getJObject(json, "schedule"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); if (json.has("instruction")) @@ -21897,6 +22668,28 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_instruction"), res.getInstructionElement()); } + protected NutritionOrder.NutritionOrderSupplementScheduleComponent parseNutritionOrderSupplementScheduleComponent(JsonObject json) throws IOException, FHIRFormatError { + NutritionOrder.NutritionOrderSupplementScheduleComponent res = new NutritionOrder.NutritionOrderSupplementScheduleComponent(); + parseNutritionOrderSupplementScheduleComponentProperties(json, res); + return res; + } + + protected void parseNutritionOrderSupplementScheduleComponentProperties(JsonObject json, NutritionOrder.NutritionOrderSupplementScheduleComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("timing")) { + JsonArray array = getJArray(json, "timing"); + for (int i = 0; i < array.size(); i++) { + res.getTiming().add(parseTiming(array.get(i).getAsJsonObject())); + } + }; + if (json.has("asNeeded")) + res.setAsNeededElement(parseBoolean(json.get("asNeeded").getAsBoolean())); + if (json.has("_asNeeded")) + parseElementProperties(getJObject(json, "_asNeeded"), res.getAsNeededElement()); + if (json.has("asNeededFor")) + res.setAsNeededFor(parseCodeableConcept(getJObject(json, "asNeededFor"))); + } + protected NutritionOrder.NutritionOrderEnteralFormulaComponent parseNutritionOrderEnteralFormulaComponent(JsonObject json) throws IOException, FHIRFormatError { NutritionOrder.NutritionOrderEnteralFormulaComponent res = new NutritionOrder.NutritionOrderEnteralFormulaComponent(); parseNutritionOrderEnteralFormulaComponentProperties(json, res); @@ -21906,21 +22699,27 @@ public class JsonParser extends JsonParserBase { protected void parseNutritionOrderEnteralFormulaComponentProperties(JsonObject json, NutritionOrder.NutritionOrderEnteralFormulaComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("baseFormulaType")) - res.setBaseFormulaType(parseCodeableConcept(getJObject(json, "baseFormulaType"))); + res.setBaseFormulaType(parseCodeableReference(getJObject(json, "baseFormulaType"))); if (json.has("baseFormulaProductName")) res.setBaseFormulaProductNameElement(parseString(json.get("baseFormulaProductName").getAsString())); if (json.has("_baseFormulaProductName")) parseElementProperties(getJObject(json, "_baseFormulaProductName"), res.getBaseFormulaProductNameElement()); - if (json.has("additiveType")) - res.setAdditiveType(parseCodeableConcept(getJObject(json, "additiveType"))); - if (json.has("additiveProductName")) - res.setAdditiveProductNameElement(parseString(json.get("additiveProductName").getAsString())); - if (json.has("_additiveProductName")) - parseElementProperties(getJObject(json, "_additiveProductName"), res.getAdditiveProductNameElement()); + if (json.has("deliveryDevice")) { + JsonArray array = getJArray(json, "deliveryDevice"); + for (int i = 0; i < array.size(); i++) { + res.getDeliveryDevice().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("additive")) { + JsonArray array = getJArray(json, "additive"); + for (int i = 0; i < array.size(); i++) { + res.getAdditive().add(parseNutritionOrderEnteralFormulaAdditiveComponent(array.get(i).getAsJsonObject())); + } + }; if (json.has("caloricDensity")) res.setCaloricDensity(parseQuantity(getJObject(json, "caloricDensity"))); - if (json.has("routeofAdministration")) - res.setRouteofAdministration(parseCodeableConcept(getJObject(json, "routeofAdministration"))); + if (json.has("routeOfAdministration")) + res.setRouteOfAdministration(parseCodeableConcept(getJObject(json, "routeOfAdministration"))); if (json.has("administration")) { JsonArray array = getJArray(json, "administration"); for (int i = 0; i < array.size(); i++) { @@ -21935,6 +22734,24 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_administrationInstruction"), res.getAdministrationInstructionElement()); } + protected NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent parseNutritionOrderEnteralFormulaAdditiveComponent(JsonObject json) throws IOException, FHIRFormatError { + NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent(); + parseNutritionOrderEnteralFormulaAdditiveComponentProperties(json, res); + return res; + } + + protected void parseNutritionOrderEnteralFormulaAdditiveComponentProperties(JsonObject json, NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("type")) + res.setType(parseCodeableReference(getJObject(json, "type"))); + if (json.has("productName")) + res.setProductNameElement(parseString(json.get("productName").getAsString())); + if (json.has("_productName")) + parseElementProperties(getJObject(json, "_productName"), res.getProductNameElement()); + if (json.has("quantity")) + res.setQuantity(parseQuantity(getJObject(json, "quantity"))); + } + protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent parseNutritionOrderEnteralFormulaAdministrationComponent(JsonObject json) throws IOException, FHIRFormatError { NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); parseNutritionOrderEnteralFormulaAdministrationComponentProperties(json, res); @@ -21944,7 +22761,7 @@ public class JsonParser extends JsonParserBase { protected void parseNutritionOrderEnteralFormulaAdministrationComponentProperties(JsonObject json, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("schedule")) - res.setSchedule(parseTiming(getJObject(json, "schedule"))); + res.setSchedule(parseNutritionOrderEnteralFormulaAdministrationScheduleComponent(getJObject(json, "schedule"))); if (json.has("quantity")) res.setQuantity(parseQuantity(getJObject(json, "quantity"))); DataType rate = parseType("rate", json); @@ -21952,6 +22769,28 @@ public class JsonParser extends JsonParserBase { res.setRate(rate); } + protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent parseNutritionOrderEnteralFormulaAdministrationScheduleComponent(JsonObject json) throws IOException, FHIRFormatError { + NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent(); + parseNutritionOrderEnteralFormulaAdministrationScheduleComponentProperties(json, res); + return res; + } + + protected void parseNutritionOrderEnteralFormulaAdministrationScheduleComponentProperties(JsonObject json, NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("timing")) { + JsonArray array = getJArray(json, "timing"); + for (int i = 0; i < array.size(); i++) { + res.getTiming().add(parseTiming(array.get(i).getAsJsonObject())); + } + }; + if (json.has("asNeeded")) + res.setAsNeededElement(parseBoolean(json.get("asNeeded").getAsBoolean())); + if (json.has("_asNeeded")) + parseElementProperties(getJObject(json, "_asNeeded"), res.getAsNeededElement()); + if (json.has("asNeededFor")) + res.setAsNeededFor(parseCodeableConcept(getJObject(json, "asNeededFor"))); + } + protected NutritionProduct parseNutritionProduct(JsonObject json) throws IOException, FHIRFormatError { NutritionProduct res = new NutritionProduct(); parseNutritionProductProperties(json, res); @@ -22633,6 +23472,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -22687,6 +23529,14 @@ public class JsonParser extends JsonParserBase { res.setPurposeElement(parseMarkdown(json.get("purpose").getAsString())); if (json.has("_purpose")) parseElementProperties(getJObject(json, "_purpose"), res.getPurposeElement()); + if (json.has("copyright")) + res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); + if (json.has("_copyright")) + parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("affectsState")) res.setAffectsStateElement(parseBoolean(json.get("affectsState").getAsBoolean())); if (json.has("_affectsState")) @@ -22772,6 +23622,25 @@ public class JsonParser extends JsonParserBase { res.setUseElement(parseEnumeration(json.get("use").getAsString(), Enumerations.OperationParameterUse.NULL, new Enumerations.OperationParameterUseEnumFactory())); if (json.has("_use")) parseElementProperties(getJObject(json, "_use"), res.getUseElement()); + if (json.has("scope")) { + JsonArray array = getJArray(json, "scope"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getScope().add(new Enumeration(new OperationDefinition.OperationParameterScopeEnumFactory(), OperationDefinition.OperationParameterScope.NULL)); + } else {; + res.getScope().add(parseEnumeration(array.get(i).getAsString(), OperationDefinition.OperationParameterScope.NULL, new OperationDefinition.OperationParameterScopeEnumFactory())); + } + } + }; + if (json.has("_scope")) { + JsonArray array = getJArray(json, "_scope"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getScope().size()) + res.getScope().add(parseEnumeration(null, OperationDefinition.OperationParameterScope.NULL, new OperationDefinition.OperationParameterScopeEnumFactory())); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getScope().get(i)); + } + }; if (json.has("min")) res.setMinElement(parseInteger(json.get("min").getAsLong())); if (json.has("_min")) @@ -22781,13 +23650,32 @@ public class JsonParser extends JsonParserBase { if (json.has("_max")) parseElementProperties(getJObject(json, "_max"), res.getMaxElement()); if (json.has("documentation")) - res.setDocumentationElement(parseString(json.get("documentation").getAsString())); + res.setDocumentationElement(parseMarkdown(json.get("documentation").getAsString())); if (json.has("_documentation")) parseElementProperties(getJObject(json, "_documentation"), res.getDocumentationElement()); if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("allowedType")) { + JsonArray array = getJArray(json, "allowedType"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getAllowedType().add(new Enumeration(new Enumerations.FHIRTypesEnumFactory(), Enumerations.FHIRTypes.NULL)); + } else {; + res.getAllowedType().add(parseEnumeration(array.get(i).getAsString(), Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); + } + } + }; + if (json.has("_allowedType")) { + JsonArray array = getJArray(json, "_allowedType"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getAllowedType().size()) + res.getAllowedType().add(parseEnumeration(null, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getAllowedType().get(i)); + } + }; if (json.has("targetProfile")) { JsonArray array = getJArray(json, "targetProfile"); for (int i = 0; i < array.size(); i++) { @@ -23031,18 +23919,6 @@ public class JsonParser extends JsonParserBase { res.getContact().add(parseExtendedContactDetail(array.get(i).getAsJsonObject())); } }; - if (json.has("telecom")) { - JsonArray array = getJArray(json, "telecom"); - for (int i = 0; i < array.size(); i++) { - res.getTelecom().add(parseContactPoint(array.get(i).getAsJsonObject())); - } - }; - if (json.has("address")) { - JsonArray array = getJArray(json, "address"); - for (int i = 0; i < array.size(); i++) { - res.getAddress().add(parseAddress(array.get(i).getAsJsonObject())); - } - }; if (json.has("partOf")) res.setPartOf(parseReference(getJObject(json, "partOf"))); if (json.has("endpoint")) { @@ -23051,6 +23927,34 @@ public class JsonParser extends JsonParserBase { res.getEndpoint().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("qualification")) { + JsonArray array = getJArray(json, "qualification"); + for (int i = 0; i < array.size(); i++) { + res.getQualification().add(parseOrganizationQualificationComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected Organization.OrganizationQualificationComponent parseOrganizationQualificationComponent(JsonObject json) throws IOException, FHIRFormatError { + Organization.OrganizationQualificationComponent res = new Organization.OrganizationQualificationComponent(); + parseOrganizationQualificationComponentProperties(json, res); + return res; + } + + protected void parseOrganizationQualificationComponentProperties(JsonObject json, Organization.OrganizationQualificationComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; + if (json.has("code")) + res.setCode(parseCodeableConcept(getJObject(json, "code"))); + if (json.has("period")) + res.setPeriod(parsePeriod(getJObject(json, "period"))); + if (json.has("issuer")) + res.setIssuer(parseReference(getJObject(json, "issuer"))); } protected OrganizationAffiliation parseOrganizationAffiliation(JsonObject json) throws IOException, FHIRFormatError { @@ -23107,10 +24011,10 @@ public class JsonParser extends JsonParserBase { res.getHealthcareService().add(parseReference(array.get(i).getAsJsonObject())); } }; - if (json.has("telecom")) { - JsonArray array = getJArray(json, "telecom"); + if (json.has("contact")) { + JsonArray array = getJArray(json, "contact"); for (int i = 0; i < array.size(); i++) { - res.getTelecom().add(parseContactPoint(array.get(i).getAsJsonObject())); + res.getContact().add(parseExtendedContactDetail(array.get(i).getAsJsonObject())); } }; if (json.has("endpoint")) { @@ -23559,16 +24463,24 @@ public class JsonParser extends JsonParserBase { res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); } }; + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); if (json.has("status")) res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("kind")) + res.setKind(parseCodeableConcept(getJObject(json, "kind"))); if (json.has("period")) res.setPeriod(parsePeriod(getJObject(json, "period"))); if (json.has("created")) res.setCreatedElement(parseDateTime(json.get("created").getAsString())); if (json.has("_created")) parseElementProperties(getJObject(json, "_created"), res.getCreatedElement()); + if (json.has("enterer")) + res.setEnterer(parseReference(getJObject(json, "enterer"))); + if (json.has("issuerType")) + res.setIssuerType(parseCodeableConcept(getJObject(json, "issuerType"))); if (json.has("paymentIssuer")) res.setPaymentIssuer(parseReference(getJObject(json, "paymentIssuer"))); if (json.has("request")) @@ -23583,18 +24495,50 @@ public class JsonParser extends JsonParserBase { res.setDispositionElement(parseString(json.get("disposition").getAsString())); if (json.has("_disposition")) parseElementProperties(getJObject(json, "_disposition"), res.getDispositionElement()); - if (json.has("paymentDate")) - res.setPaymentDateElement(parseDate(json.get("paymentDate").getAsString())); - if (json.has("_paymentDate")) - parseElementProperties(getJObject(json, "_paymentDate"), res.getPaymentDateElement()); - if (json.has("paymentAmount")) - res.setPaymentAmount(parseMoney(getJObject(json, "paymentAmount"))); + if (json.has("date")) + res.setDateElement(parseDate(json.get("date").getAsString())); + if (json.has("_date")) + parseElementProperties(getJObject(json, "_date"), res.getDateElement()); + if (json.has("location")) + res.setLocation(parseReference(getJObject(json, "location"))); + if (json.has("method")) + res.setMethod(parseCodeableConcept(getJObject(json, "method"))); + if (json.has("cardBrand")) + res.setCardBrandElement(parseString(json.get("cardBrand").getAsString())); + if (json.has("_cardBrand")) + parseElementProperties(getJObject(json, "_cardBrand"), res.getCardBrandElement()); + if (json.has("accountNumber")) + res.setAccountNumberElement(parseString(json.get("accountNumber").getAsString())); + if (json.has("_accountNumber")) + parseElementProperties(getJObject(json, "_accountNumber"), res.getAccountNumberElement()); + if (json.has("expirationDate")) + res.setExpirationDateElement(parseDate(json.get("expirationDate").getAsString())); + if (json.has("_expirationDate")) + parseElementProperties(getJObject(json, "_expirationDate"), res.getExpirationDateElement()); + if (json.has("processor")) + res.setProcessorElement(parseString(json.get("processor").getAsString())); + if (json.has("_processor")) + parseElementProperties(getJObject(json, "_processor"), res.getProcessorElement()); + if (json.has("referenceNumber")) + res.setReferenceNumberElement(parseString(json.get("referenceNumber").getAsString())); + if (json.has("_referenceNumber")) + parseElementProperties(getJObject(json, "_referenceNumber"), res.getReferenceNumberElement()); + if (json.has("authorization")) + res.setAuthorizationElement(parseString(json.get("authorization").getAsString())); + if (json.has("_authorization")) + parseElementProperties(getJObject(json, "_authorization"), res.getAuthorizationElement()); + if (json.has("tenderedAmount")) + res.setTenderedAmount(parseMoney(getJObject(json, "tenderedAmount"))); + if (json.has("returnedAmount")) + res.setReturnedAmount(parseMoney(getJObject(json, "returnedAmount"))); + if (json.has("amount")) + res.setAmount(parseMoney(getJObject(json, "amount"))); if (json.has("paymentIdentifier")) res.setPaymentIdentifier(parseIdentifier(getJObject(json, "paymentIdentifier"))); - if (json.has("detail")) { - JsonArray array = getJArray(json, "detail"); + if (json.has("allocation")) { + JsonArray array = getJArray(json, "allocation"); for (int i = 0; i < array.size(); i++) { - res.getDetail().add(parsePaymentReconciliationDetailsComponent(array.get(i).getAsJsonObject())); + res.getAllocation().add(parsePaymentReconciliationAllocationComponent(array.get(i).getAsJsonObject())); } }; if (json.has("formCode")) @@ -23607,22 +24551,29 @@ public class JsonParser extends JsonParserBase { }; } - protected PaymentReconciliation.DetailsComponent parsePaymentReconciliationDetailsComponent(JsonObject json) throws IOException, FHIRFormatError { - PaymentReconciliation.DetailsComponent res = new PaymentReconciliation.DetailsComponent(); - parsePaymentReconciliationDetailsComponentProperties(json, res); + protected PaymentReconciliation.PaymentReconciliationAllocationComponent parsePaymentReconciliationAllocationComponent(JsonObject json) throws IOException, FHIRFormatError { + PaymentReconciliation.PaymentReconciliationAllocationComponent res = new PaymentReconciliation.PaymentReconciliationAllocationComponent(); + parsePaymentReconciliationAllocationComponentProperties(json, res); return res; } - protected void parsePaymentReconciliationDetailsComponentProperties(JsonObject json, PaymentReconciliation.DetailsComponent res) throws IOException, FHIRFormatError { + protected void parsePaymentReconciliationAllocationComponentProperties(JsonObject json, PaymentReconciliation.PaymentReconciliationAllocationComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("identifier")) res.setIdentifier(parseIdentifier(getJObject(json, "identifier"))); if (json.has("predecessor")) res.setPredecessor(parseIdentifier(getJObject(json, "predecessor"))); + if (json.has("target")) + res.setTarget(parseReference(getJObject(json, "target"))); + DataType targetItem = parseType("targetItem", json); + if (targetItem != null) + res.setTargetItem(targetItem); + if (json.has("encounter")) + res.setEncounter(parseReference(getJObject(json, "encounter"))); + if (json.has("account")) + res.setAccount(parseReference(getJObject(json, "account"))); if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); - if (json.has("request")) - res.setRequest(parseReference(getJObject(json, "request"))); if (json.has("submitter")) res.setSubmitter(parseReference(getJObject(json, "submitter"))); if (json.has("response")) @@ -23669,83 +24620,39 @@ public class JsonParser extends JsonParserBase { res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Permission.PermissionStatus.NULL, new Permission.PermissionStatusEnumFactory())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); - if (json.has("intent")) - res.setIntent(parseCodeableConcept(getJObject(json, "intent"))); if (json.has("asserter")) res.setAsserter(parseReference(getJObject(json, "asserter"))); - if (json.has("assertionDate")) { - JsonArray array = getJArray(json, "assertionDate"); + if (json.has("date")) { + JsonArray array = getJArray(json, "date"); for (int i = 0; i < array.size(); i++) { if (array.get(i).isJsonNull()) { - res.getAssertionDate().add(new DateTimeType()); + res.getDate().add(new DateTimeType()); } else {; - res.getAssertionDate().add(parseDateTime(array.get(i).getAsString())); + res.getDate().add(parseDateTime(array.get(i).getAsString())); } } }; - if (json.has("_assertionDate")) { - JsonArray array = getJArray(json, "_assertionDate"); + if (json.has("_date")) { + JsonArray array = getJArray(json, "_date"); for (int i = 0; i < array.size(); i++) { - if (i == res.getAssertionDate().size()) - res.getAssertionDate().add(parseDateTime(null)); + if (i == res.getDate().size()) + res.getDate().add(parseDateTime(null)); if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getAssertionDate().get(i)); + parseElementProperties(array.get(i).getAsJsonObject(), res.getDate().get(i)); } }; if (json.has("validity")) res.setValidity(parsePeriod(getJObject(json, "validity"))); - if (json.has("purpose")) { - JsonArray array = getJArray(json, "purpose"); - for (int i = 0; i < array.size(); i++) { - res.getPurpose().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - if (json.has("dataScope")) { - JsonArray array = getJArray(json, "dataScope"); - for (int i = 0; i < array.size(); i++) { - res.getDataScope().add(parseExpression(array.get(i).getAsJsonObject())); - } - }; - if (json.has("processingActivity")) { - JsonArray array = getJArray(json, "processingActivity"); - for (int i = 0; i < array.size(); i++) { - res.getProcessingActivity().add(parsePermissionProcessingActivityComponent(array.get(i).getAsJsonObject())); - } - }; if (json.has("justification")) res.setJustification(parsePermissionJustificationComponent(getJObject(json, "justification"))); - if (json.has("usageLimitations")) { - JsonArray array = getJArray(json, "usageLimitations"); + if (json.has("combining")) + res.setCombiningElement(parseEnumeration(json.get("combining").getAsString(), Permission.PermissionRuleCombining.NULL, new Permission.PermissionRuleCombiningEnumFactory())); + if (json.has("_combining")) + parseElementProperties(getJObject(json, "_combining"), res.getCombiningElement()); + if (json.has("rule")) { + JsonArray array = getJArray(json, "rule"); for (int i = 0; i < array.size(); i++) { - res.getUsageLimitations().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - } - - protected Permission.PermissionProcessingActivityComponent parsePermissionProcessingActivityComponent(JsonObject json) throws IOException, FHIRFormatError { - Permission.PermissionProcessingActivityComponent res = new Permission.PermissionProcessingActivityComponent(); - parsePermissionProcessingActivityComponentProperties(json, res); - return res; - } - - protected void parsePermissionProcessingActivityComponentProperties(JsonObject json, Permission.PermissionProcessingActivityComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("partyReference")) { - JsonArray array = getJArray(json, "partyReference"); - for (int i = 0; i < array.size(); i++) { - res.getPartyReference().add(parseReference(array.get(i).getAsJsonObject())); - } - }; - if (json.has("partyCodeableConcept")) { - JsonArray array = getJArray(json, "partyCodeableConcept"); - for (int i = 0; i < array.size(); i++) { - res.getPartyCodeableConcept().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - if (json.has("purpose")) { - JsonArray array = getJArray(json, "purpose"); - for (int i = 0; i < array.size(); i++) { - res.getPurpose().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getRule().add(parsePermissionRuleComponent(array.get(i).getAsJsonObject())); } }; } @@ -23758,16 +24665,122 @@ public class JsonParser extends JsonParserBase { protected void parsePermissionJustificationComponentProperties(JsonObject json, Permission.PermissionJustificationComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); + if (json.has("basis")) { + JsonArray array = getJArray(json, "basis"); + for (int i = 0; i < array.size(); i++) { + res.getBasis().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("evidence")) { JsonArray array = getJArray(json, "evidence"); for (int i = 0; i < array.size(); i++) { res.getEvidence().add(parseReference(array.get(i).getAsJsonObject())); } }; - if (json.has("grounds")) { - JsonArray array = getJArray(json, "grounds"); + } + + protected Permission.RuleComponent parsePermissionRuleComponent(JsonObject json) throws IOException, FHIRFormatError { + Permission.RuleComponent res = new Permission.RuleComponent(); + parsePermissionRuleComponentProperties(json, res); + return res; + } + + protected void parsePermissionRuleComponentProperties(JsonObject json, Permission.RuleComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("type")) + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ConsentProvisionType.NULL, new Enumerations.ConsentProvisionTypeEnumFactory())); + if (json.has("_type")) + parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("data")) { + JsonArray array = getJArray(json, "data"); for (int i = 0; i < array.size(); i++) { - res.getGrounds().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getData().add(parsePermissionRuleDataComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("activity")) { + JsonArray array = getJArray(json, "activity"); + for (int i = 0; i < array.size(); i++) { + res.getActivity().add(parsePermissionRuleActivityComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("limit")) { + JsonArray array = getJArray(json, "limit"); + for (int i = 0; i < array.size(); i++) { + res.getLimit().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + } + + protected Permission.RuleDataComponent parsePermissionRuleDataComponent(JsonObject json) throws IOException, FHIRFormatError { + Permission.RuleDataComponent res = new Permission.RuleDataComponent(); + parsePermissionRuleDataComponentProperties(json, res); + return res; + } + + protected void parsePermissionRuleDataComponentProperties(JsonObject json, Permission.RuleDataComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("resource")) { + JsonArray array = getJArray(json, "resource"); + for (int i = 0; i < array.size(); i++) { + res.getResource().add(parsePermissionRuleDataResourceComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("security")) { + JsonArray array = getJArray(json, "security"); + for (int i = 0; i < array.size(); i++) { + res.getSecurity().add(parseCoding(array.get(i).getAsJsonObject())); + } + }; + if (json.has("period")) { + JsonArray array = getJArray(json, "period"); + for (int i = 0; i < array.size(); i++) { + res.getPeriod().add(parsePeriod(array.get(i).getAsJsonObject())); + } + }; + if (json.has("expression")) + res.setExpression(parseExpression(getJObject(json, "expression"))); + } + + protected Permission.RuleDataResourceComponent parsePermissionRuleDataResourceComponent(JsonObject json) throws IOException, FHIRFormatError { + Permission.RuleDataResourceComponent res = new Permission.RuleDataResourceComponent(); + parsePermissionRuleDataResourceComponentProperties(json, res); + return res; + } + + protected void parsePermissionRuleDataResourceComponentProperties(JsonObject json, Permission.RuleDataResourceComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("meaning")) + res.setMeaningElement(parseEnumeration(json.get("meaning").getAsString(), Enumerations.ConsentDataMeaning.NULL, new Enumerations.ConsentDataMeaningEnumFactory())); + if (json.has("_meaning")) + parseElementProperties(getJObject(json, "_meaning"), res.getMeaningElement()); + if (json.has("reference")) + res.setReference(parseReference(getJObject(json, "reference"))); + } + + protected Permission.RuleActivityComponent parsePermissionRuleActivityComponent(JsonObject json) throws IOException, FHIRFormatError { + Permission.RuleActivityComponent res = new Permission.RuleActivityComponent(); + parsePermissionRuleActivityComponentProperties(json, res); + return res; + } + + protected void parsePermissionRuleActivityComponentProperties(JsonObject json, Permission.RuleActivityComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("actor")) { + JsonArray array = getJArray(json, "actor"); + for (int i = 0; i < array.size(); i++) { + res.getActor().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("action")) { + JsonArray array = getJArray(json, "action"); + for (int i = 0; i < array.size(); i++) { + res.getAction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("purpose")) { + JsonArray array = getJArray(json, "purpose"); + for (int i = 0; i < array.size(); i++) { + res.getPurpose().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; } @@ -23827,14 +24840,14 @@ public class JsonParser extends JsonParserBase { res.getPhoto().add(parseAttachment(array.get(i).getAsJsonObject())); } }; - if (json.has("managingOrganization")) - res.setManagingOrganization(parseReference(getJObject(json, "managingOrganization"))); if (json.has("communication")) { JsonArray array = getJArray(json, "communication"); for (int i = 0; i < array.size(); i++) { res.getCommunication().add(parsePersonCommunicationComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("managingOrganization")) + res.setManagingOrganization(parseReference(getJObject(json, "managingOrganization"))); if (json.has("link")) { JsonArray array = getJArray(json, "link"); for (int i = 0; i < array.size(); i++) { @@ -24047,6 +25060,9 @@ public class JsonParser extends JsonParserBase { res.getAction().add(parsePlanDefinitionActionComponent(array.get(i).getAsJsonObject())); } }; + DataType asNeeded = parseType("asNeeded", json); + if (asNeeded != null) + res.setAsNeeded(asNeeded); } protected PlanDefinition.PlanDefinitionGoalComponent parsePlanDefinitionGoalComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -24138,6 +25154,10 @@ public class JsonParser extends JsonParserBase { res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("typeCanonical")) + res.setTypeCanonicalElement(parseCanonical(json.get("typeCanonical").getAsString())); + if (json.has("_typeCanonical")) + parseElementProperties(getJObject(json, "_typeCanonical"), res.getTypeCanonicalElement()); if (json.has("typeReference")) res.setTypeReference(parseReference(getJObject(json, "typeReference"))); if (json.has("role")) @@ -24389,6 +25409,10 @@ public class JsonParser extends JsonParserBase { res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("typeCanonical")) + res.setTypeCanonicalElement(parseCanonical(json.get("typeCanonical").getAsString())); + if (json.has("_typeCanonical")) + parseElementProperties(getJObject(json, "_typeCanonical"), res.getTypeCanonicalElement()); if (json.has("typeReference")) res.setTypeReference(parseReference(getJObject(json, "typeReference"))); if (json.has("role")) @@ -24443,6 +25467,14 @@ public class JsonParser extends JsonParserBase { res.getTelecom().add(parseContactPoint(array.get(i).getAsJsonObject())); } }; + if (json.has("gender")) + res.setGenderElement(parseEnumeration(json.get("gender").getAsString(), Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); + if (json.has("_gender")) + parseElementProperties(getJObject(json, "_gender"), res.getGenderElement()); + if (json.has("birthDate")) + res.setBirthDateElement(parseDate(json.get("birthDate").getAsString())); + if (json.has("_birthDate")) + parseElementProperties(getJObject(json, "_birthDate"), res.getBirthDateElement()); DataType deceased = parseType("deceased", json); if (deceased != null) res.setDeceased(deceased); @@ -24452,14 +25484,6 @@ public class JsonParser extends JsonParserBase { res.getAddress().add(parseAddress(array.get(i).getAsJsonObject())); } }; - if (json.has("gender")) - res.setGenderElement(parseEnumeration(json.get("gender").getAsString(), Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); - if (json.has("_gender")) - parseElementProperties(getJObject(json, "_gender"), res.getGenderElement()); - if (json.has("birthDate")) - res.setBirthDateElement(parseDate(json.get("birthDate").getAsString())); - if (json.has("_birthDate")) - parseElementProperties(getJObject(json, "_birthDate"), res.getBirthDateElement()); if (json.has("photo")) { JsonArray array = getJArray(json, "photo"); for (int i = 0; i < array.size(); i++) { @@ -24556,28 +25580,12 @@ public class JsonParser extends JsonParserBase { res.getContact().add(parseExtendedContactDetail(array.get(i).getAsJsonObject())); } }; - if (json.has("telecom")) { - JsonArray array = getJArray(json, "telecom"); + if (json.has("availability")) { + JsonArray array = getJArray(json, "availability"); for (int i = 0; i < array.size(); i++) { - res.getTelecom().add(parseContactPoint(array.get(i).getAsJsonObject())); + res.getAvailability().add(parseAvailability(array.get(i).getAsJsonObject())); } }; - if (json.has("availableTime")) { - JsonArray array = getJArray(json, "availableTime"); - for (int i = 0; i < array.size(); i++) { - res.getAvailableTime().add(parsePractitionerRoleAvailableTimeComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("notAvailable")) { - JsonArray array = getJArray(json, "notAvailable"); - for (int i = 0; i < array.size(); i++) { - res.getNotAvailable().add(parsePractitionerRoleNotAvailableComponent(array.get(i).getAsJsonObject())); - } - }; - if (json.has("availabilityExceptions")) - res.setAvailabilityExceptionsElement(parseString(json.get("availabilityExceptions").getAsString())); - if (json.has("_availabilityExceptions")) - parseElementProperties(getJObject(json, "_availabilityExceptions"), res.getAvailabilityExceptionsElement()); if (json.has("endpoint")) { JsonArray array = getJArray(json, "endpoint"); for (int i = 0; i < array.size(); i++) { @@ -24586,63 +25594,6 @@ public class JsonParser extends JsonParserBase { }; } - protected PractitionerRole.PractitionerRoleAvailableTimeComponent parsePractitionerRoleAvailableTimeComponent(JsonObject json) throws IOException, FHIRFormatError { - PractitionerRole.PractitionerRoleAvailableTimeComponent res = new PractitionerRole.PractitionerRoleAvailableTimeComponent(); - parsePractitionerRoleAvailableTimeComponentProperties(json, res); - return res; - } - - protected void parsePractitionerRoleAvailableTimeComponentProperties(JsonObject json, PractitionerRole.PractitionerRoleAvailableTimeComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("daysOfWeek")) { - JsonArray array = getJArray(json, "daysOfWeek"); - for (int i = 0; i < array.size(); i++) { - if (array.get(i).isJsonNull()) { - res.getDaysOfWeek().add(new Enumeration(new Enumerations.DaysOfWeekEnumFactory(), Enumerations.DaysOfWeek.NULL)); - } else {; - res.getDaysOfWeek().add(parseEnumeration(array.get(i).getAsString(), Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - } - } - }; - if (json.has("_daysOfWeek")) { - JsonArray array = getJArray(json, "_daysOfWeek"); - for (int i = 0; i < array.size(); i++) { - if (i == res.getDaysOfWeek().size()) - res.getDaysOfWeek().add(parseEnumeration(null, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - if (array.get(i) instanceof JsonObject) - parseElementProperties(array.get(i).getAsJsonObject(), res.getDaysOfWeek().get(i)); - } - }; - if (json.has("allDay")) - res.setAllDayElement(parseBoolean(json.get("allDay").getAsBoolean())); - if (json.has("_allDay")) - parseElementProperties(getJObject(json, "_allDay"), res.getAllDayElement()); - if (json.has("availableStartTime")) - res.setAvailableStartTimeElement(parseTime(json.get("availableStartTime").getAsString())); - if (json.has("_availableStartTime")) - parseElementProperties(getJObject(json, "_availableStartTime"), res.getAvailableStartTimeElement()); - if (json.has("availableEndTime")) - res.setAvailableEndTimeElement(parseTime(json.get("availableEndTime").getAsString())); - if (json.has("_availableEndTime")) - parseElementProperties(getJObject(json, "_availableEndTime"), res.getAvailableEndTimeElement()); - } - - protected PractitionerRole.PractitionerRoleNotAvailableComponent parsePractitionerRoleNotAvailableComponent(JsonObject json) throws IOException, FHIRFormatError { - PractitionerRole.PractitionerRoleNotAvailableComponent res = new PractitionerRole.PractitionerRoleNotAvailableComponent(); - parsePractitionerRoleNotAvailableComponentProperties(json, res); - return res; - } - - protected void parsePractitionerRoleNotAvailableComponentProperties(JsonObject json, PractitionerRole.PractitionerRoleNotAvailableComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("description")) - res.setDescriptionElement(parseString(json.get("description").getAsString())); - if (json.has("_description")) - parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); - if (json.has("during")) - res.setDuring(parsePeriod(getJObject(json, "during"))); - } - protected Procedure parseProcedure(JsonObject json) throws IOException, FHIRFormatError { Procedure res = new Procedure(); parseProcedureProperties(json, res); @@ -24723,6 +25674,8 @@ public class JsonParser extends JsonParserBase { res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("subject")) res.setSubject(parseReference(getJObject(json, "subject"))); + if (json.has("focus")) + res.setFocus(parseReference(getJObject(json, "focus"))); if (json.has("encounter")) res.setEncounter(parseReference(getJObject(json, "encounter"))); DataType occurrence = parseType("occurrence", json); @@ -24823,6 +25776,8 @@ public class JsonParser extends JsonParserBase { res.setActor(parseReference(getJObject(json, "actor"))); if (json.has("onBehalfOf")) res.setOnBehalfOf(parseReference(getJObject(json, "onBehalfOf"))); + if (json.has("period")) + res.setPeriod(parsePeriod(getJObject(json, "period"))); } protected Procedure.ProcedureFocalDeviceComponent parseProcedureFocalDeviceComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -24985,6 +25940,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -25077,6 +26035,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("approvalDate")) res.setApprovalDateElement(parseDate(json.get("approvalDate").getAsString())); if (json.has("_approvalDate")) @@ -25128,7 +26090,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_prefix")) parseElementProperties(getJObject(json, "_prefix"), res.getPrefixElement()); if (json.has("text")) - res.setTextElement(parseMarkdown(json.get("text").getAsString())); + res.setTextElement(parseString(json.get("text").getAsString())); if (json.has("_text")) parseElementProperties(getJObject(json, "_text"), res.getTextElement()); if (json.has("type")) @@ -25391,8 +26353,12 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_statusDate"), res.getStatusDateElement()); if (json.has("validityPeriod")) res.setValidityPeriod(parsePeriod(getJObject(json, "validityPeriod"))); - if (json.has("indication")) - res.setIndication(parseCodeableReference(getJObject(json, "indication"))); + if (json.has("indication")) { + JsonArray array = getJArray(json, "indication"); + for (int i = 0; i < array.size(); i++) { + res.getIndication().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("intendedUse")) res.setIntendedUse(parseCodeableConcept(getJObject(json, "intendedUse"))); if (json.has("basis")) { @@ -25591,15 +26557,15 @@ public class JsonParser extends JsonParserBase { if (json.has("groupIdentifier")) res.setGroupIdentifier(parseIdentifier(getJObject(json, "groupIdentifier"))); if (json.has("status")) - res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); + res.setStatusElement(parseCode(json.get("status").getAsString())); if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); if (json.has("intent")) - res.setIntentElement(parseEnumeration(json.get("intent").getAsString(), Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); + res.setIntentElement(parseCode(json.get("intent").getAsString())); if (json.has("_intent")) parseElementProperties(getJObject(json, "_intent"), res.getIntentElement()); if (json.has("priority")) - res.setPriorityElement(parseEnumeration(json.get("priority").getAsString(), Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + res.setPriorityElement(parseCode(json.get("priority").getAsString())); if (json.has("_priority")) parseElementProperties(getJObject(json, "_priority"), res.getPriorityElement()); if (json.has("code")) @@ -25669,7 +26635,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_textEquivalent")) parseElementProperties(getJObject(json, "_textEquivalent"), res.getTextEquivalentElement()); if (json.has("priority")) - res.setPriorityElement(parseEnumeration(json.get("priority").getAsString(), Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + res.setPriorityElement(parseCode(json.get("priority").getAsString())); if (json.has("_priority")) parseElementProperties(getJObject(json, "_priority"), res.getPriorityElement()); if (json.has("code")) { @@ -25716,23 +26682,23 @@ public class JsonParser extends JsonParserBase { if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); if (json.has("groupingBehavior")) - res.setGroupingBehaviorElement(parseEnumeration(json.get("groupingBehavior").getAsString(), Enumerations.ActionGroupingBehavior.NULL, new Enumerations.ActionGroupingBehaviorEnumFactory())); + res.setGroupingBehaviorElement(parseCode(json.get("groupingBehavior").getAsString())); if (json.has("_groupingBehavior")) parseElementProperties(getJObject(json, "_groupingBehavior"), res.getGroupingBehaviorElement()); if (json.has("selectionBehavior")) - res.setSelectionBehaviorElement(parseEnumeration(json.get("selectionBehavior").getAsString(), Enumerations.ActionSelectionBehavior.NULL, new Enumerations.ActionSelectionBehaviorEnumFactory())); + res.setSelectionBehaviorElement(parseCode(json.get("selectionBehavior").getAsString())); if (json.has("_selectionBehavior")) parseElementProperties(getJObject(json, "_selectionBehavior"), res.getSelectionBehaviorElement()); if (json.has("requiredBehavior")) - res.setRequiredBehaviorElement(parseEnumeration(json.get("requiredBehavior").getAsString(), Enumerations.ActionRequiredBehavior.NULL, new Enumerations.ActionRequiredBehaviorEnumFactory())); + res.setRequiredBehaviorElement(parseCode(json.get("requiredBehavior").getAsString())); if (json.has("_requiredBehavior")) parseElementProperties(getJObject(json, "_requiredBehavior"), res.getRequiredBehaviorElement()); if (json.has("precheckBehavior")) - res.setPrecheckBehaviorElement(parseEnumeration(json.get("precheckBehavior").getAsString(), Enumerations.ActionPrecheckBehavior.NULL, new Enumerations.ActionPrecheckBehaviorEnumFactory())); + res.setPrecheckBehaviorElement(parseCode(json.get("precheckBehavior").getAsString())); if (json.has("_precheckBehavior")) parseElementProperties(getJObject(json, "_precheckBehavior"), res.getPrecheckBehaviorElement()); if (json.has("cardinalityBehavior")) - res.setCardinalityBehaviorElement(parseEnumeration(json.get("cardinalityBehavior").getAsString(), Enumerations.ActionCardinalityBehavior.NULL, new Enumerations.ActionCardinalityBehaviorEnumFactory())); + res.setCardinalityBehaviorElement(parseCode(json.get("cardinalityBehavior").getAsString())); if (json.has("_cardinalityBehavior")) parseElementProperties(getJObject(json, "_cardinalityBehavior"), res.getCardinalityBehaviorElement()); if (json.has("resource")) @@ -25754,7 +26720,7 @@ public class JsonParser extends JsonParserBase { protected void parseRequestGroupActionConditionComponentProperties(JsonObject json, RequestGroup.RequestGroupActionConditionComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("kind")) - res.setKindElement(parseEnumeration(json.get("kind").getAsString(), Enumerations.ActionConditionKind.NULL, new Enumerations.ActionConditionKindEnumFactory())); + res.setKindElement(parseCode(json.get("kind").getAsString())); if (json.has("_kind")) parseElementProperties(getJObject(json, "_kind"), res.getKindElement()); if (json.has("expression")) @@ -25774,7 +26740,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_targetId")) parseElementProperties(getJObject(json, "_targetId"), res.getTargetIdElement()); if (json.has("relationship")) - res.setRelationshipElement(parseEnumeration(json.get("relationship").getAsString(), Enumerations.ActionRelationshipType.NULL, new Enumerations.ActionRelationshipTypeEnumFactory())); + res.setRelationshipElement(parseCode(json.get("relationship").getAsString())); if (json.has("_relationship")) parseElementProperties(getJObject(json, "_relationship"), res.getRelationshipElement()); DataType offset = parseType("offset", json); @@ -25791,7 +26757,7 @@ public class JsonParser extends JsonParserBase { protected void parseRequestGroupActionParticipantComponentProperties(JsonObject json, RequestGroup.RequestGroupActionParticipantComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("type")) - res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + res.setTypeElement(parseCode(json.get("type").getAsString())); if (json.has("_type")) parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); if (json.has("typeReference")) @@ -25804,6 +26770,572 @@ public class JsonParser extends JsonParserBase { res.setActor(parseReference(getJObject(json, "actor"))); } + protected RequestOrchestration parseRequestOrchestration(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration res = new RequestOrchestration(); + parseRequestOrchestrationProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationProperties(JsonObject json, RequestOrchestration res) throws IOException, FHIRFormatError { + parseDomainResourceProperties(json, res); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; + if (json.has("instantiatesCanonical")) { + JsonArray array = getJArray(json, "instantiatesCanonical"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getInstantiatesCanonical().add(new CanonicalType()); + } else {; + res.getInstantiatesCanonical().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_instantiatesCanonical")) { + JsonArray array = getJArray(json, "_instantiatesCanonical"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getInstantiatesCanonical().size()) + res.getInstantiatesCanonical().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesCanonical().get(i)); + } + }; + if (json.has("instantiatesUri")) { + JsonArray array = getJArray(json, "instantiatesUri"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getInstantiatesUri().add(new UriType()); + } else {; + res.getInstantiatesUri().add(parseUri(array.get(i).getAsString())); + } + } + }; + if (json.has("_instantiatesUri")) { + JsonArray array = getJArray(json, "_instantiatesUri"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getInstantiatesUri().size()) + res.getInstantiatesUri().add(parseUri(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getInstantiatesUri().get(i)); + } + }; + if (json.has("basedOn")) { + JsonArray array = getJArray(json, "basedOn"); + for (int i = 0; i < array.size(); i++) { + res.getBasedOn().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("replaces")) { + JsonArray array = getJArray(json, "replaces"); + for (int i = 0; i < array.size(); i++) { + res.getReplaces().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("groupIdentifier")) + res.setGroupIdentifier(parseIdentifier(getJObject(json, "groupIdentifier"))); + if (json.has("status")) + res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); + if (json.has("_status")) + parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("intent")) + res.setIntentElement(parseEnumeration(json.get("intent").getAsString(), Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); + if (json.has("_intent")) + parseElementProperties(getJObject(json, "_intent"), res.getIntentElement()); + if (json.has("priority")) + res.setPriorityElement(parseEnumeration(json.get("priority").getAsString(), Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + if (json.has("_priority")) + parseElementProperties(getJObject(json, "_priority"), res.getPriorityElement()); + if (json.has("code")) + res.setCode(parseCodeableConcept(getJObject(json, "code"))); + if (json.has("subject")) + res.setSubject(parseReference(getJObject(json, "subject"))); + if (json.has("encounter")) + res.setEncounter(parseReference(getJObject(json, "encounter"))); + if (json.has("authoredOn")) + res.setAuthoredOnElement(parseDateTime(json.get("authoredOn").getAsString())); + if (json.has("_authoredOn")) + parseElementProperties(getJObject(json, "_authoredOn"), res.getAuthoredOnElement()); + if (json.has("author")) + res.setAuthor(parseReference(getJObject(json, "author"))); + if (json.has("reason")) { + JsonArray array = getJArray(json, "reason"); + for (int i = 0; i < array.size(); i++) { + res.getReason().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("goal")) { + JsonArray array = getJArray(json, "goal"); + for (int i = 0; i < array.size(); i++) { + res.getGoal().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("note")) { + JsonArray array = getJArray(json, "note"); + for (int i = 0; i < array.size(); i++) { + res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); + } + }; + if (json.has("action")) { + JsonArray array = getJArray(json, "action"); + for (int i = 0; i < array.size(); i++) { + res.getAction().add(parseRequestOrchestrationActionComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected RequestOrchestration.RequestOrchestrationActionComponent parseRequestOrchestrationActionComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionComponent res = new RequestOrchestration.RequestOrchestrationActionComponent(); + parseRequestOrchestrationActionComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("linkId")) + res.setLinkIdElement(parseString(json.get("linkId").getAsString())); + if (json.has("_linkId")) + parseElementProperties(getJObject(json, "_linkId"), res.getLinkIdElement()); + if (json.has("prefix")) + res.setPrefixElement(parseString(json.get("prefix").getAsString())); + if (json.has("_prefix")) + parseElementProperties(getJObject(json, "_prefix"), res.getPrefixElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); + if (json.has("description")) + res.setDescriptionElement(parseString(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("textEquivalent")) + res.setTextEquivalentElement(parseString(json.get("textEquivalent").getAsString())); + if (json.has("_textEquivalent")) + parseElementProperties(getJObject(json, "_textEquivalent"), res.getTextEquivalentElement()); + if (json.has("priority")) + res.setPriorityElement(parseEnumeration(json.get("priority").getAsString(), Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + if (json.has("_priority")) + parseElementProperties(getJObject(json, "_priority"), res.getPriorityElement()); + if (json.has("code")) { + JsonArray array = getJArray(json, "code"); + for (int i = 0; i < array.size(); i++) { + res.getCode().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("documentation")) { + JsonArray array = getJArray(json, "documentation"); + for (int i = 0; i < array.size(); i++) { + res.getDocumentation().add(parseRelatedArtifact(array.get(i).getAsJsonObject())); + } + }; + if (json.has("goal")) { + JsonArray array = getJArray(json, "goal"); + for (int i = 0; i < array.size(); i++) { + res.getGoal().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + if (json.has("condition")) { + JsonArray array = getJArray(json, "condition"); + for (int i = 0; i < array.size(); i++) { + res.getCondition().add(parseRequestOrchestrationActionConditionComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("input")) { + JsonArray array = getJArray(json, "input"); + for (int i = 0; i < array.size(); i++) { + res.getInput().add(parseRequestOrchestrationActionInputComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("output")) { + JsonArray array = getJArray(json, "output"); + for (int i = 0; i < array.size(); i++) { + res.getOutput().add(parseRequestOrchestrationActionOutputComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("relatedAction")) { + JsonArray array = getJArray(json, "relatedAction"); + for (int i = 0; i < array.size(); i++) { + res.getRelatedAction().add(parseRequestOrchestrationActionRelatedActionComponent(array.get(i).getAsJsonObject())); + } + }; + DataType timing = parseType("timing", json); + if (timing != null) + res.setTiming(timing); + if (json.has("location")) + res.setLocation(parseCodeableReference(getJObject(json, "location"))); + if (json.has("participant")) { + JsonArray array = getJArray(json, "participant"); + for (int i = 0; i < array.size(); i++) { + res.getParticipant().add(parseRequestOrchestrationActionParticipantComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("type")) + res.setType(parseCodeableConcept(getJObject(json, "type"))); + if (json.has("groupingBehavior")) + res.setGroupingBehaviorElement(parseEnumeration(json.get("groupingBehavior").getAsString(), Enumerations.ActionGroupingBehavior.NULL, new Enumerations.ActionGroupingBehaviorEnumFactory())); + if (json.has("_groupingBehavior")) + parseElementProperties(getJObject(json, "_groupingBehavior"), res.getGroupingBehaviorElement()); + if (json.has("selectionBehavior")) + res.setSelectionBehaviorElement(parseEnumeration(json.get("selectionBehavior").getAsString(), Enumerations.ActionSelectionBehavior.NULL, new Enumerations.ActionSelectionBehaviorEnumFactory())); + if (json.has("_selectionBehavior")) + parseElementProperties(getJObject(json, "_selectionBehavior"), res.getSelectionBehaviorElement()); + if (json.has("requiredBehavior")) + res.setRequiredBehaviorElement(parseEnumeration(json.get("requiredBehavior").getAsString(), Enumerations.ActionRequiredBehavior.NULL, new Enumerations.ActionRequiredBehaviorEnumFactory())); + if (json.has("_requiredBehavior")) + parseElementProperties(getJObject(json, "_requiredBehavior"), res.getRequiredBehaviorElement()); + if (json.has("precheckBehavior")) + res.setPrecheckBehaviorElement(parseEnumeration(json.get("precheckBehavior").getAsString(), Enumerations.ActionPrecheckBehavior.NULL, new Enumerations.ActionPrecheckBehaviorEnumFactory())); + if (json.has("_precheckBehavior")) + parseElementProperties(getJObject(json, "_precheckBehavior"), res.getPrecheckBehaviorElement()); + if (json.has("cardinalityBehavior")) + res.setCardinalityBehaviorElement(parseEnumeration(json.get("cardinalityBehavior").getAsString(), Enumerations.ActionCardinalityBehavior.NULL, new Enumerations.ActionCardinalityBehaviorEnumFactory())); + if (json.has("_cardinalityBehavior")) + parseElementProperties(getJObject(json, "_cardinalityBehavior"), res.getCardinalityBehaviorElement()); + if (json.has("resource")) + res.setResource(parseReference(getJObject(json, "resource"))); + DataType definition = parseType("definition", json); + if (definition != null) + res.setDefinition(definition); + if (json.has("transform")) + res.setTransformElement(parseCanonical(json.get("transform").getAsString())); + if (json.has("_transform")) + parseElementProperties(getJObject(json, "_transform"), res.getTransformElement()); + if (json.has("dynamicValue")) { + JsonArray array = getJArray(json, "dynamicValue"); + for (int i = 0; i < array.size(); i++) { + res.getDynamicValue().add(parseRequestOrchestrationActionDynamicValueComponent(array.get(i).getAsJsonObject())); + } + }; + if (json.has("action")) { + JsonArray array = getJArray(json, "action"); + for (int i = 0; i < array.size(); i++) { + res.getAction().add(parseRequestOrchestrationActionComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected RequestOrchestration.RequestOrchestrationActionConditionComponent parseRequestOrchestrationActionConditionComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionConditionComponent res = new RequestOrchestration.RequestOrchestrationActionConditionComponent(); + parseRequestOrchestrationActionConditionComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionConditionComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionConditionComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("kind")) + res.setKindElement(parseEnumeration(json.get("kind").getAsString(), Enumerations.ActionConditionKind.NULL, new Enumerations.ActionConditionKindEnumFactory())); + if (json.has("_kind")) + parseElementProperties(getJObject(json, "_kind"), res.getKindElement()); + if (json.has("expression")) + res.setExpression(parseExpression(getJObject(json, "expression"))); + } + + protected RequestOrchestration.RequestOrchestrationActionInputComponent parseRequestOrchestrationActionInputComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionInputComponent res = new RequestOrchestration.RequestOrchestrationActionInputComponent(); + parseRequestOrchestrationActionInputComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionInputComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionInputComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); + if (json.has("requirement")) + res.setRequirement(parseDataRequirement(getJObject(json, "requirement"))); + if (json.has("relatedData")) + res.setRelatedDataElement(parseId(json.get("relatedData").getAsString())); + if (json.has("_relatedData")) + parseElementProperties(getJObject(json, "_relatedData"), res.getRelatedDataElement()); + } + + protected RequestOrchestration.RequestOrchestrationActionOutputComponent parseRequestOrchestrationActionOutputComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionOutputComponent res = new RequestOrchestration.RequestOrchestrationActionOutputComponent(); + parseRequestOrchestrationActionOutputComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionOutputComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionOutputComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); + if (json.has("requirement")) + res.setRequirement(parseDataRequirement(getJObject(json, "requirement"))); + if (json.has("relatedData")) + res.setRelatedDataElement(parseString(json.get("relatedData").getAsString())); + if (json.has("_relatedData")) + parseElementProperties(getJObject(json, "_relatedData"), res.getRelatedDataElement()); + } + + protected RequestOrchestration.RequestOrchestrationActionRelatedActionComponent parseRequestOrchestrationActionRelatedActionComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionRelatedActionComponent res = new RequestOrchestration.RequestOrchestrationActionRelatedActionComponent(); + parseRequestOrchestrationActionRelatedActionComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionRelatedActionComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionRelatedActionComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("targetId")) + res.setTargetIdElement(parseId(json.get("targetId").getAsString())); + if (json.has("_targetId")) + parseElementProperties(getJObject(json, "_targetId"), res.getTargetIdElement()); + if (json.has("relationship")) + res.setRelationshipElement(parseEnumeration(json.get("relationship").getAsString(), Enumerations.ActionRelationshipType.NULL, new Enumerations.ActionRelationshipTypeEnumFactory())); + if (json.has("_relationship")) + parseElementProperties(getJObject(json, "_relationship"), res.getRelationshipElement()); + DataType offset = parseType("offset", json); + if (offset != null) + res.setOffset(offset); + } + + protected RequestOrchestration.RequestOrchestrationActionParticipantComponent parseRequestOrchestrationActionParticipantComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionParticipantComponent res = new RequestOrchestration.RequestOrchestrationActionParticipantComponent(); + parseRequestOrchestrationActionParticipantComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionParticipantComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionParticipantComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("type")) + res.setTypeElement(parseEnumeration(json.get("type").getAsString(), Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + if (json.has("_type")) + parseElementProperties(getJObject(json, "_type"), res.getTypeElement()); + if (json.has("typeCanonical")) + res.setTypeCanonicalElement(parseCanonical(json.get("typeCanonical").getAsString())); + if (json.has("_typeCanonical")) + parseElementProperties(getJObject(json, "_typeCanonical"), res.getTypeCanonicalElement()); + if (json.has("typeReference")) + res.setTypeReference(parseReference(getJObject(json, "typeReference"))); + if (json.has("role")) + res.setRole(parseCodeableConcept(getJObject(json, "role"))); + if (json.has("function")) + res.setFunction(parseCodeableConcept(getJObject(json, "function"))); + DataType actor = parseType("actor", json); + if (actor != null) + res.setActor(actor); + } + + protected RequestOrchestration.RequestOrchestrationActionDynamicValueComponent parseRequestOrchestrationActionDynamicValueComponent(JsonObject json) throws IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionDynamicValueComponent res = new RequestOrchestration.RequestOrchestrationActionDynamicValueComponent(); + parseRequestOrchestrationActionDynamicValueComponentProperties(json, res); + return res; + } + + protected void parseRequestOrchestrationActionDynamicValueComponentProperties(JsonObject json, RequestOrchestration.RequestOrchestrationActionDynamicValueComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("path")) + res.setPathElement(parseString(json.get("path").getAsString())); + if (json.has("_path")) + parseElementProperties(getJObject(json, "_path"), res.getPathElement()); + if (json.has("expression")) + res.setExpression(parseExpression(getJObject(json, "expression"))); + } + + protected Requirements parseRequirements(JsonObject json) throws IOException, FHIRFormatError { + Requirements res = new Requirements(); + parseRequirementsProperties(json, res); + return res; + } + + protected void parseRequirementsProperties(JsonObject json, Requirements res) throws IOException, FHIRFormatError { + parseCanonicalResourceProperties(json, res); + if (json.has("url")) + res.setUrlElement(parseUri(json.get("url").getAsString())); + if (json.has("_url")) + parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); + if (json.has("identifier")) { + JsonArray array = getJArray(json, "identifier"); + for (int i = 0; i < array.size(); i++) { + res.getIdentifier().add(parseIdentifier(array.get(i).getAsJsonObject())); + } + }; + if (json.has("version")) + res.setVersionElement(parseString(json.get("version").getAsString())); + if (json.has("_version")) + parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + if (json.has("name")) + res.setNameElement(parseString(json.get("name").getAsString())); + if (json.has("_name")) + parseElementProperties(getJObject(json, "_name"), res.getNameElement()); + if (json.has("title")) + res.setTitleElement(parseString(json.get("title").getAsString())); + if (json.has("_title")) + parseElementProperties(getJObject(json, "_title"), res.getTitleElement()); + if (json.has("status")) + res.setStatusElement(parseEnumeration(json.get("status").getAsString(), Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + if (json.has("_status")) + parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); + if (json.has("experimental")) + res.setExperimentalElement(parseBoolean(json.get("experimental").getAsBoolean())); + if (json.has("_experimental")) + parseElementProperties(getJObject(json, "_experimental"), res.getExperimentalElement()); + if (json.has("date")) + res.setDateElement(parseDateTime(json.get("date").getAsString())); + if (json.has("_date")) + parseElementProperties(getJObject(json, "_date"), res.getDateElement()); + if (json.has("publisher")) + res.setPublisherElement(parseString(json.get("publisher").getAsString())); + if (json.has("_publisher")) + parseElementProperties(getJObject(json, "_publisher"), res.getPublisherElement()); + if (json.has("contact")) { + JsonArray array = getJArray(json, "contact"); + for (int i = 0; i < array.size(); i++) { + res.getContact().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("description")) + res.setDescriptionElement(parseMarkdown(json.get("description").getAsString())); + if (json.has("_description")) + parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); + if (json.has("useContext")) { + JsonArray array = getJArray(json, "useContext"); + for (int i = 0; i < array.size(); i++) { + res.getUseContext().add(parseUsageContext(array.get(i).getAsJsonObject())); + } + }; + if (json.has("jurisdiction")) { + JsonArray array = getJArray(json, "jurisdiction"); + for (int i = 0; i < array.size(); i++) { + res.getJurisdiction().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("purpose")) + res.setPurposeElement(parseMarkdown(json.get("purpose").getAsString())); + if (json.has("_purpose")) + parseElementProperties(getJObject(json, "_purpose"), res.getPurposeElement()); + if (json.has("copyright")) + res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); + if (json.has("_copyright")) + parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); + if (json.has("derivedFrom")) { + JsonArray array = getJArray(json, "derivedFrom"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getDerivedFrom().add(new CanonicalType()); + } else {; + res.getDerivedFrom().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_derivedFrom")) { + JsonArray array = getJArray(json, "_derivedFrom"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getDerivedFrom().size()) + res.getDerivedFrom().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getDerivedFrom().get(i)); + } + }; + if (json.has("actor")) { + JsonArray array = getJArray(json, "actor"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getActor().add(new CanonicalType()); + } else {; + res.getActor().add(parseCanonical(array.get(i).getAsString())); + } + } + }; + if (json.has("_actor")) { + JsonArray array = getJArray(json, "_actor"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getActor().size()) + res.getActor().add(parseCanonical(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getActor().get(i)); + } + }; + if (json.has("statement")) { + JsonArray array = getJArray(json, "statement"); + for (int i = 0; i < array.size(); i++) { + res.getStatement().add(parseRequirementsStatementComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected Requirements.RequirementsStatementComponent parseRequirementsStatementComponent(JsonObject json) throws IOException, FHIRFormatError { + Requirements.RequirementsStatementComponent res = new Requirements.RequirementsStatementComponent(); + parseRequirementsStatementComponentProperties(json, res); + return res; + } + + protected void parseRequirementsStatementComponentProperties(JsonObject json, Requirements.RequirementsStatementComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("key")) + res.setKeyElement(parseId(json.get("key").getAsString())); + if (json.has("_key")) + parseElementProperties(getJObject(json, "_key"), res.getKeyElement()); + if (json.has("label")) + res.setLabelElement(parseString(json.get("label").getAsString())); + if (json.has("_label")) + parseElementProperties(getJObject(json, "_label"), res.getLabelElement()); + if (json.has("conformance")) + res.setConformanceElement(parseEnumeration(json.get("conformance").getAsString(), Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); + if (json.has("_conformance")) + parseElementProperties(getJObject(json, "_conformance"), res.getConformanceElement()); + if (json.has("requirement")) + res.setRequirementElement(parseMarkdown(json.get("requirement").getAsString())); + if (json.has("_requirement")) + parseElementProperties(getJObject(json, "_requirement"), res.getRequirementElement()); + if (json.has("derivedFrom")) + res.setDerivedFromElement(parseString(json.get("derivedFrom").getAsString())); + if (json.has("_derivedFrom")) + parseElementProperties(getJObject(json, "_derivedFrom"), res.getDerivedFromElement()); + if (json.has("satisfiedBy")) { + JsonArray array = getJArray(json, "satisfiedBy"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getSatisfiedBy().add(new UrlType()); + } else {; + res.getSatisfiedBy().add(parseUrl(array.get(i).getAsString())); + } + } + }; + if (json.has("_satisfiedBy")) { + JsonArray array = getJArray(json, "_satisfiedBy"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getSatisfiedBy().size()) + res.getSatisfiedBy().add(parseUrl(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getSatisfiedBy().get(i)); + } + }; + if (json.has("reference")) { + JsonArray array = getJArray(json, "reference"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getReference().add(new UrlType()); + } else {; + res.getReference().add(parseUrl(array.get(i).getAsString())); + } + } + }; + if (json.has("_reference")) { + JsonArray array = getJArray(json, "_reference"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getReference().size()) + res.getReference().add(parseUrl(null)); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getReference().get(i)); + } + }; + if (json.has("source")) { + JsonArray array = getJArray(json, "source"); + for (int i = 0; i < array.size(); i++) { + res.getSource().add(parseReference(array.get(i).getAsJsonObject())); + } + }; + } + protected ResearchStudy parseResearchStudy(JsonObject json) throws IOException, FHIRFormatError { ResearchStudy res = new ResearchStudy(); parseResearchStudyProperties(json, res); @@ -25870,10 +27402,10 @@ public class JsonParser extends JsonParserBase { res.setPrimaryPurposeType(parseCodeableConcept(getJObject(json, "primaryPurposeType"))); if (json.has("phase")) res.setPhase(parseCodeableConcept(getJObject(json, "phase"))); - if (json.has("category")) { - JsonArray array = getJArray(json, "category"); + if (json.has("studyDesign")) { + JsonArray array = getJArray(json, "studyDesign"); for (int i = 0; i < array.size(); i++) { - res.getCategory().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getStudyDesign().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; if (json.has("focus")) { @@ -25894,10 +27426,10 @@ public class JsonParser extends JsonParserBase { res.getKeyword().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; - if (json.has("location")) { - JsonArray array = getJArray(json, "location"); + if (json.has("region")) { + JsonArray array = getJArray(json, "region"); for (int i = 0; i < array.size(); i++) { - res.getLocation().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getRegion().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; if (json.has("descriptionSummary")) @@ -25910,16 +27442,6 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_description"), res.getDescriptionElement()); if (json.has("period")) res.setPeriod(parsePeriod(getJObject(json, "period"))); - if (json.has("contact")) { - JsonArray array = getJArray(json, "contact"); - for (int i = 0; i < array.size(); i++) { - res.getContact().add(parseContactDetail(array.get(i).getAsJsonObject())); - } - }; - if (json.has("sponsor")) - res.setSponsor(parseReference(getJObject(json, "sponsor"))); - if (json.has("principalInvestigator")) - res.setPrincipalInvestigator(parseReference(getJObject(json, "principalInvestigator"))); if (json.has("site")) { JsonArray array = getJArray(json, "site"); for (int i = 0; i < array.size(); i++) { @@ -25932,10 +27454,10 @@ public class JsonParser extends JsonParserBase { res.getNote().add(parseAnnotation(array.get(i).getAsJsonObject())); } }; - if (json.has("classification")) { - JsonArray array = getJArray(json, "classification"); + if (json.has("classifier")) { + JsonArray array = getJArray(json, "classifier"); for (int i = 0; i < array.size(); i++) { - res.getClassification().add(parseResearchStudyClassificationComponent(array.get(i).getAsJsonObject())); + res.getClassifier().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; if (json.has("associatedParty")) { @@ -25944,16 +27466,10 @@ public class JsonParser extends JsonParserBase { res.getAssociatedParty().add(parseResearchStudyAssociatedPartyComponent(array.get(i).getAsJsonObject())); } }; - if (json.has("currentState")) { - JsonArray array = getJArray(json, "currentState"); + if (json.has("progressStatus")) { + JsonArray array = getJArray(json, "progressStatus"); for (int i = 0; i < array.size(); i++) { - res.getCurrentState().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - if (json.has("statusDate")) { - JsonArray array = getJArray(json, "statusDate"); - for (int i = 0; i < array.size(); i++) { - res.getStatusDate().add(parseResearchStudyStatusDateComponent(array.get(i).getAsJsonObject())); + res.getProgressStatus().add(parseResearchStudyProgressStatusComponent(array.get(i).getAsJsonObject())); } }; if (json.has("whyStopped")) @@ -26030,24 +27546,6 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_factor"), res.getFactorElement()); } - protected ResearchStudy.ResearchStudyClassificationComponent parseResearchStudyClassificationComponent(JsonObject json) throws IOException, FHIRFormatError { - ResearchStudy.ResearchStudyClassificationComponent res = new ResearchStudy.ResearchStudyClassificationComponent(); - parseResearchStudyClassificationComponentProperties(json, res); - return res; - } - - protected void parseResearchStudyClassificationComponentProperties(JsonObject json, ResearchStudy.ResearchStudyClassificationComponent res) throws IOException, FHIRFormatError { - parseBackboneElementProperties(json, res); - if (json.has("type")) - res.setType(parseCodeableConcept(getJObject(json, "type"))); - if (json.has("classifier")) { - JsonArray array = getJArray(json, "classifier"); - for (int i = 0; i < array.size(); i++) { - res.getClassifier().add(parseCodeableConcept(array.get(i).getAsJsonObject())); - } - }; - } - protected ResearchStudy.ResearchStudyAssociatedPartyComponent parseResearchStudyAssociatedPartyComponent(JsonObject json) throws IOException, FHIRFormatError { ResearchStudy.ResearchStudyAssociatedPartyComponent res = new ResearchStudy.ResearchStudyAssociatedPartyComponent(); parseResearchStudyAssociatedPartyComponentProperties(json, res); @@ -26078,16 +27576,16 @@ public class JsonParser extends JsonParserBase { res.setParty(parseReference(getJObject(json, "party"))); } - protected ResearchStudy.ResearchStudyStatusDateComponent parseResearchStudyStatusDateComponent(JsonObject json) throws IOException, FHIRFormatError { - ResearchStudy.ResearchStudyStatusDateComponent res = new ResearchStudy.ResearchStudyStatusDateComponent(); - parseResearchStudyStatusDateComponentProperties(json, res); + protected ResearchStudy.ResearchStudyProgressStatusComponent parseResearchStudyProgressStatusComponent(JsonObject json) throws IOException, FHIRFormatError { + ResearchStudy.ResearchStudyProgressStatusComponent res = new ResearchStudy.ResearchStudyProgressStatusComponent(); + parseResearchStudyProgressStatusComponentProperties(json, res); return res; } - protected void parseResearchStudyStatusDateComponentProperties(JsonObject json, ResearchStudy.ResearchStudyStatusDateComponent res) throws IOException, FHIRFormatError { + protected void parseResearchStudyProgressStatusComponentProperties(JsonObject json, ResearchStudy.ResearchStudyProgressStatusComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); - if (json.has("activity")) - res.setActivity(parseCodeableConcept(getJObject(json, "activity"))); + if (json.has("state")) + res.setState(parseCodeableConcept(getJObject(json, "state"))); if (json.has("actual")) res.setActualElement(parseBoolean(json.get("actual").getAsBoolean())); if (json.has("_actual")) @@ -26410,6 +27908,10 @@ public class JsonParser extends JsonParserBase { res.getSpecialty().add(parseCodeableConcept(array.get(i).getAsJsonObject())); } }; + if (json.has("name")) + res.setNameElement(parseString(json.get("name").getAsString())); + if (json.has("_name")) + parseElementProperties(getJObject(json, "_name"), res.getNameElement()); if (json.has("actor")) { JsonArray array = getJArray(json, "actor"); for (int i = 0; i < array.size(); i++) { @@ -26440,6 +27942,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -26502,9 +28007,9 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "base"); for (int i = 0; i < array.size(); i++) { if (array.get(i).isJsonNull()) { - res.getBase().add(new CodeType()); + res.getBase().add(new Enumeration(new Enumerations.AllResourceTypesEnumFactory(), Enumerations.AllResourceTypes.NULL)); } else {; - res.getBase().add(parseCode(array.get(i).getAsString())); + res.getBase().add(parseEnumeration(array.get(i).getAsString(), Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); } } }; @@ -26512,7 +28017,7 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "_base"); for (int i = 0; i < array.size(); i++) { if (i == res.getBase().size()) - res.getBase().add(parseCode(null)); + res.getBase().add(parseEnumeration(null, Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); if (array.get(i) instanceof JsonObject) parseElementProperties(array.get(i).getAsJsonObject(), res.getBase().get(i)); } @@ -26525,14 +28030,14 @@ public class JsonParser extends JsonParserBase { res.setExpressionElement(parseString(json.get("expression").getAsString())); if (json.has("_expression")) parseElementProperties(getJObject(json, "_expression"), res.getExpressionElement()); - if (json.has("xpath")) - res.setXpathElement(parseString(json.get("xpath").getAsString())); - if (json.has("_xpath")) - parseElementProperties(getJObject(json, "_xpath"), res.getXpathElement()); - if (json.has("xpathUsage")) - res.setXpathUsageElement(parseEnumeration(json.get("xpathUsage").getAsString(), SearchParameter.XPathUsageType.NULL, new SearchParameter.XPathUsageTypeEnumFactory())); - if (json.has("_xpathUsage")) - parseElementProperties(getJObject(json, "_xpathUsage"), res.getXpathUsageElement()); + if (json.has("processingMode")) + res.setProcessingModeElement(parseEnumeration(json.get("processingMode").getAsString(), SearchParameter.SearchProcessingModeType.NULL, new SearchParameter.SearchProcessingModeTypeEnumFactory())); + if (json.has("_processingMode")) + parseElementProperties(getJObject(json, "_processingMode"), res.getProcessingModeElement()); + if (json.has("constraint")) + res.setConstraintElement(parseString(json.get("constraint").getAsString())); + if (json.has("_constraint")) + parseElementProperties(getJObject(json, "_constraint"), res.getConstraintElement()); if (json.has("target")) { JsonArray array = getJArray(json, "target"); for (int i = 0; i < array.size(); i++) { @@ -26732,7 +28237,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_doNotPerform")) parseElementProperties(getJObject(json, "_doNotPerform"), res.getDoNotPerformElement()); if (json.has("code")) - res.setCode(parseCodeableConcept(getJObject(json, "code"))); + res.setCode(parseCodeableReference(getJObject(json, "code"))); if (json.has("orderDetail")) { JsonArray array = getJArray(json, "orderDetail"); for (int i = 0; i < array.size(); i++) { @@ -26930,6 +28435,16 @@ public class JsonParser extends JsonParserBase { res.getRequest().add(parseReference(array.get(i).getAsJsonObject())); } }; + if (json.has("combined")) + res.setCombinedElement(parseEnumeration(json.get("combined").getAsString(), Specimen.SpecimenCombined.NULL, new Specimen.SpecimenCombinedEnumFactory())); + if (json.has("_combined")) + parseElementProperties(getJObject(json, "_combined"), res.getCombinedElement()); + if (json.has("role")) { + JsonArray array = getJArray(json, "role"); + for (int i = 0; i < array.size(); i++) { + res.getRole().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; if (json.has("feature")) { JsonArray array = getJArray(json, "feature"); for (int i = 0; i < array.size(); i++) { @@ -27064,7 +28579,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_url")) parseElementProperties(getJObject(json, "_url"), res.getUrlElement()); if (json.has("identifier")) - res.setIdentifier(parseIdentifier(getJObject(json, "identifier"))); + res.addIdentifier(parseIdentifier(getJObject(json, "identifier"))); if (json.has("version")) res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) @@ -27334,6 +28849,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -27388,6 +28906,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("keyword")) { JsonArray array = getJArray(json, "keyword"); for (int i = 0; i < array.size(); i++) { @@ -27553,6 +29075,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -27607,6 +29132,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("structure")) { JsonArray array = getJArray(json, "structure"); for (int i = 0; i < array.size(); i++) { @@ -27950,6 +29479,8 @@ public class JsonParser extends JsonParserBase { res.setEndElement(parseInstant(json.get("end").getAsString())); if (json.has("_end")) parseElementProperties(getJObject(json, "_end"), res.getEndElement()); + if (json.has("managingEntity")) + res.setManagingEntity(parseReference(getJObject(json, "managingEntity"))); if (json.has("reason")) res.setReasonElement(parseString(json.get("reason").getAsString())); if (json.has("_reason")) @@ -28190,6 +29721,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("approvalDate")) res.setApprovalDateElement(parseDate(json.get("approvalDate").getAsString())); if (json.has("_approvalDate")) @@ -29595,8 +31130,12 @@ public class JsonParser extends JsonParserBase { res.setPatient(parseReference(getJObject(json, "patient"))); if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); - if (json.has("suppliedItem")) - res.setSuppliedItem(parseSupplyDeliverySuppliedItemComponent(getJObject(json, "suppliedItem"))); + if (json.has("suppliedItem")) { + JsonArray array = getJArray(json, "suppliedItem"); + for (int i = 0; i < array.size(); i++) { + res.getSuppliedItem().add(parseSupplyDeliverySuppliedItemComponent(array.get(i).getAsJsonObject())); + } + }; DataType occurrence = parseType("occurrence", json); if (occurrence != null) res.setOccurrence(occurrence); @@ -29750,7 +31289,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_status")) parseElementProperties(getJObject(json, "_status"), res.getStatusElement()); if (json.has("statusReason")) - res.setStatusReason(parseCodeableConcept(getJObject(json, "statusReason"))); + res.setStatusReason(parseCodeableReference(getJObject(json, "statusReason"))); if (json.has("businessStatus")) res.setBusinessStatus(parseCodeableConcept(getJObject(json, "businessStatus"))); if (json.has("intent")) @@ -29761,6 +31300,10 @@ public class JsonParser extends JsonParserBase { res.setPriorityElement(parseEnumeration(json.get("priority").getAsString(), Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); if (json.has("_priority")) parseElementProperties(getJObject(json, "_priority"), res.getPriorityElement()); + if (json.has("doNotPerform")) + res.setDoNotPerformElement(parseBoolean(json.get("doNotPerform").getAsBoolean())); + if (json.has("_doNotPerform")) + parseElementProperties(getJObject(json, "_doNotPerform"), res.getDoNotPerformElement()); if (json.has("code")) res.setCode(parseCodeableConcept(getJObject(json, "code"))); if (json.has("description")) @@ -29773,6 +31316,8 @@ public class JsonParser extends JsonParserBase { res.setFor(parseReference(getJObject(json, "for"))); if (json.has("encounter")) res.setEncounter(parseReference(getJObject(json, "encounter"))); + if (json.has("requestedPeriod")) + res.setRequestedPeriod(parsePeriod(getJObject(json, "requestedPeriod"))); if (json.has("executionPeriod")) res.setExecutionPeriod(parsePeriod(getJObject(json, "executionPeriod"))); if (json.has("authoredOn")) @@ -29785,20 +31330,22 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_lastModified"), res.getLastModifiedElement()); if (json.has("requester")) res.setRequester(parseReference(getJObject(json, "requester"))); - if (json.has("performerType")) { - JsonArray array = getJArray(json, "performerType"); + if (json.has("requestedPerformer")) { + JsonArray array = getJArray(json, "requestedPerformer"); for (int i = 0; i < array.size(); i++) { - res.getPerformerType().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + res.getRequestedPerformer().add(parseCodeableReference(array.get(i).getAsJsonObject())); } }; if (json.has("owner")) res.setOwner(parseReference(getJObject(json, "owner"))); if (json.has("location")) res.setLocation(parseReference(getJObject(json, "location"))); - if (json.has("reasonCode")) - res.setReasonCode(parseCodeableConcept(getJObject(json, "reasonCode"))); - if (json.has("reasonReference")) - res.setReasonReference(parseReference(getJObject(json, "reasonReference"))); + if (json.has("reason")) { + JsonArray array = getJArray(json, "reason"); + for (int i = 0; i < array.size(); i++) { + res.getReason().add(parseCodeableReference(array.get(i).getAsJsonObject())); + } + }; if (json.has("insurance")) { JsonArray array = getJArray(json, "insurance"); for (int i = 0; i < array.size(); i++) { @@ -29822,7 +31369,7 @@ public class JsonParser extends JsonParserBase { if (json.has("input")) { JsonArray array = getJArray(json, "input"); for (int i = 0; i < array.size(); i++) { - res.getInput().add(parseTaskParameterComponent(array.get(i).getAsJsonObject())); + res.getInput().add(parseTaskInputComponent(array.get(i).getAsJsonObject())); } }; if (json.has("output")) { @@ -29855,13 +31402,13 @@ public class JsonParser extends JsonParserBase { }; } - protected Task.ParameterComponent parseTaskParameterComponent(JsonObject json) throws IOException, FHIRFormatError { - Task.ParameterComponent res = new Task.ParameterComponent(); - parseTaskParameterComponentProperties(json, res); + protected Task.TaskInputComponent parseTaskInputComponent(JsonObject json) throws IOException, FHIRFormatError { + Task.TaskInputComponent res = new Task.TaskInputComponent(); + parseTaskInputComponentProperties(json, res); return res; } - protected void parseTaskParameterComponentProperties(JsonObject json, Task.ParameterComponent res) throws IOException, FHIRFormatError { + protected void parseTaskInputComponentProperties(JsonObject json, Task.TaskInputComponent res) throws IOException, FHIRFormatError { parseBackboneElementProperties(json, res); if (json.has("type")) res.setType(parseCodeableConcept(getJObject(json, "type"))); @@ -30047,6 +31594,10 @@ public class JsonParser extends JsonParserBase { res.getVersion().add(parseTerminologyCapabilitiesCodeSystemVersionComponent(array.get(i).getAsJsonObject())); } }; + if (json.has("content")) + res.setContentElement(parseCode(json.get("content").getAsString())); + if (json.has("_content")) + parseElementProperties(getJObject(json, "_content"), res.getContentElement()); if (json.has("subsumption")) res.setSubsumptionElement(parseBoolean(json.get("subsumption").getAsBoolean())); if (json.has("_subsumption")) @@ -30077,9 +31628,9 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "language"); for (int i = 0; i < array.size(); i++) { if (array.get(i).isJsonNull()) { - res.getLanguage().add(new CodeType()); + res.getLanguage().add(new Enumeration(new TerminologyCapabilities.CommonLanguagesEnumFactory(), TerminologyCapabilities.CommonLanguages.NULL)); } else {; - res.getLanguage().add(parseCode(array.get(i).getAsString())); + res.getLanguage().add(parseEnumeration(array.get(i).getAsString(), TerminologyCapabilities.CommonLanguages.NULL, new TerminologyCapabilities.CommonLanguagesEnumFactory())); } } }; @@ -30087,7 +31638,7 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "_language"); for (int i = 0; i < array.size(); i++) { if (i == res.getLanguage().size()) - res.getLanguage().add(parseCode(null)); + res.getLanguage().add(parseEnumeration(null, TerminologyCapabilities.CommonLanguages.NULL, new TerminologyCapabilities.CommonLanguagesEnumFactory())); if (array.get(i) instanceof JsonObject) parseElementProperties(array.get(i).getAsJsonObject(), res.getLanguage().get(i)); } @@ -30484,6 +32035,9 @@ public class JsonParser extends JsonParserBase { res.setVersionElement(parseString(json.get("version").getAsString())); if (json.has("_version")) parseElementProperties(getJObject(json, "_version"), res.getVersionElement()); + DataType versionAlgorithm = parseType("versionAlgorithm", json); + if (versionAlgorithm != null) + res.setVersionAlgorithm(versionAlgorithm); if (json.has("name")) res.setNameElement(parseString(json.get("name").getAsString())); if (json.has("_name")) @@ -30538,6 +32092,10 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("copyrightLabel")) + res.setCopyrightLabelElement(parseString(json.get("copyrightLabel").getAsString())); + if (json.has("_copyrightLabel")) + parseElementProperties(getJObject(json, "_copyrightLabel"), res.getCopyrightLabelElement()); if (json.has("origin")) { JsonArray array = getJArray(json, "origin"); for (int i = 0; i < array.size(); i++) { @@ -31003,7 +32561,7 @@ public class JsonParser extends JsonParserBase { if (json.has("_requestURL")) parseElementProperties(getJObject(json, "_requestURL"), res.getRequestURLElement()); if (json.has("resource")) - res.setResourceElement(parseEnumeration(json.get("resource").getAsString(), TestScript.FHIRDefinedType.NULL, new TestScript.FHIRDefinedTypeEnumFactory())); + res.setResourceElement(parseUri(json.get("resource").getAsString())); if (json.has("_resource")) parseElementProperties(getJObject(json, "_resource"), res.getResourceElement()); if (json.has("response")) @@ -31291,7 +32849,7 @@ public class JsonParser extends JsonParserBase { } protected void parseValueSetProperties(JsonObject json, ValueSet res) throws IOException, FHIRFormatError { - parseCanonicalResourceProperties(json, res); + parseMetadataResourceProperties(json, res); if (json.has("url")) res.setUrlElement(parseUri(json.get("url").getAsString())); if (json.has("_url")) @@ -31364,6 +32922,52 @@ public class JsonParser extends JsonParserBase { res.setCopyrightElement(parseMarkdown(json.get("copyright").getAsString())); if (json.has("_copyright")) parseElementProperties(getJObject(json, "_copyright"), res.getCopyrightElement()); + if (json.has("approvalDate")) + res.setApprovalDateElement(parseDate(json.get("approvalDate").getAsString())); + if (json.has("_approvalDate")) + parseElementProperties(getJObject(json, "_approvalDate"), res.getApprovalDateElement()); + if (json.has("lastReviewDate")) + res.setLastReviewDateElement(parseDate(json.get("lastReviewDate").getAsString())); + if (json.has("_lastReviewDate")) + parseElementProperties(getJObject(json, "_lastReviewDate"), res.getLastReviewDateElement()); + if (json.has("effectivePeriod")) + res.setEffectivePeriod(parsePeriod(getJObject(json, "effectivePeriod"))); + if (json.has("topic")) { + JsonArray array = getJArray(json, "topic"); + for (int i = 0; i < array.size(); i++) { + res.getTopic().add(parseCodeableConcept(array.get(i).getAsJsonObject())); + } + }; + if (json.has("author")) { + JsonArray array = getJArray(json, "author"); + for (int i = 0; i < array.size(); i++) { + res.getAuthor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("editor")) { + JsonArray array = getJArray(json, "editor"); + for (int i = 0; i < array.size(); i++) { + res.getEditor().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("reviewer")) { + JsonArray array = getJArray(json, "reviewer"); + for (int i = 0; i < array.size(); i++) { + res.getReviewer().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("endorser")) { + JsonArray array = getJArray(json, "endorser"); + for (int i = 0; i < array.size(); i++) { + res.getEndorser().add(parseContactDetail(array.get(i).getAsJsonObject())); + } + }; + if (json.has("relatedArtifact")) { + JsonArray array = getJArray(json, "relatedArtifact"); + for (int i = 0; i < array.size(); i++) { + res.getRelatedArtifact().add(parseRelatedArtifact(array.get(i).getAsJsonObject())); + } + }; if (json.has("compose")) res.setCompose(parseValueSetComposeComponent(getJObject(json, "compose"))); if (json.has("expansion")) @@ -31512,6 +33116,12 @@ public class JsonParser extends JsonParserBase { parseElementProperties(getJObject(json, "_language"), res.getLanguageElement()); if (json.has("use")) res.setUse(parseCoding(getJObject(json, "use"))); + if (json.has("additionalUse")) { + JsonArray array = getJArray(json, "additionalUse"); + for (int i = 0; i < array.size(); i++) { + res.getAdditionalUse().add(parseCoding(array.get(i).getAsJsonObject())); + } + }; if (json.has("value")) res.setValueElement(parseString(json.get("value").getAsString())); if (json.has("_value")) @@ -31552,6 +33162,10 @@ public class JsonParser extends JsonParserBase { res.setIdentifierElement(parseUri(json.get("identifier").getAsString())); if (json.has("_identifier")) parseElementProperties(getJObject(json, "_identifier"), res.getIdentifierElement()); + if (json.has("next")) + res.setNextElement(parseUri(json.get("next").getAsString())); + if (json.has("_next")) + parseElementProperties(getJObject(json, "_next"), res.getNextElement()); if (json.has("timestamp")) res.setTimestampElement(parseDateTime(json.get("timestamp").getAsString())); if (json.has("_timestamp")) @@ -31686,6 +33300,29 @@ public class JsonParser extends JsonParserBase { DataType value = parseType("value", json); if (value != null) res.setValue(value); + if (json.has("subProperty")) { + JsonArray array = getJArray(json, "subProperty"); + for (int i = 0; i < array.size(); i++) { + res.getSubProperty().add(parseValueSetConceptSubPropertyComponent(array.get(i).getAsJsonObject())); + } + }; + } + + protected ValueSet.ConceptSubPropertyComponent parseValueSetConceptSubPropertyComponent(JsonObject json) throws IOException, FHIRFormatError { + ValueSet.ConceptSubPropertyComponent res = new ValueSet.ConceptSubPropertyComponent(); + parseValueSetConceptSubPropertyComponentProperties(json, res); + return res; + } + + protected void parseValueSetConceptSubPropertyComponentProperties(JsonObject json, ValueSet.ConceptSubPropertyComponent res) throws IOException, FHIRFormatError { + parseBackboneElementProperties(json, res); + if (json.has("code")) + res.setCodeElement(parseCode(json.get("code").getAsString())); + if (json.has("_code")) + parseElementProperties(getJObject(json, "_code"), res.getCodeElement()); + DataType value = parseType("value", json); + if (value != null) + res.setValue(value); } protected ValueSet.ValueSetScopeComponent parseValueSetScopeComponent(JsonObject json) throws IOException, FHIRFormatError { @@ -32011,6 +33648,8 @@ public class JsonParser extends JsonParserBase { return parseAccount(json); } else if (t.equals("ActivityDefinition")) { return parseActivityDefinition(json); + } else if (t.equals("ActorDefinition")) { + return parseActorDefinition(json); } else if (t.equals("AdministrableProductDefinition")) { return parseAdministrableProductDefinition(json); } else if (t.equals("AdverseEvent")) { @@ -32037,8 +33676,6 @@ public class JsonParser extends JsonParserBase { return parseBundle(json); } else if (t.equals("CapabilityStatement")) { return parseCapabilityStatement(json); - } else if (t.equals("CapabilityStatement2")) { - return parseCapabilityStatement2(json); } else if (t.equals("CarePlan")) { return parseCarePlan(json); } else if (t.equals("CareTeam")) { @@ -32131,6 +33768,8 @@ public class JsonParser extends JsonParserBase { return parseFlag(json); } else if (t.equals("FormularyItem")) { return parseFormularyItem(json); + } else if (t.equals("GenomicStudy")) { + return parseGenomicStudy(json); } else if (t.equals("Goal")) { return parseGoal(json); } else if (t.equals("GraphDefinition")) { @@ -32249,6 +33888,10 @@ public class JsonParser extends JsonParserBase { return parseRelatedPerson(json); } else if (t.equals("RequestGroup")) { return parseRequestGroup(json); + } else if (t.equals("RequestOrchestration")) { + return parseRequestOrchestration(json); + } else if (t.equals("Requirements")) { + return parseRequirements(json); } else if (t.equals("ResearchStudy")) { return parseResearchStudy(json); } else if (t.equals("ResearchSubject")) { @@ -32445,6 +34088,8 @@ public class JsonParser extends JsonParserBase { return parseAnnotation(getJObject(json, prefix+"Annotation")); } else if (json.has(prefix+"Attachment")) { return parseAttachment(getJObject(json, prefix+"Attachment")); + } else if (json.has(prefix+"Availability")) { + return parseAvailability(getJObject(json, prefix+"Availability")); } else if (json.has(prefix+"CodeableConcept")) { return parseCodeableConcept(getJObject(json, prefix+"CodeableConcept")); } else if (json.has(prefix+"CodeableReference")) { @@ -32483,6 +34128,8 @@ public class JsonParser extends JsonParserBase { return parseMarketingStatus(getJObject(json, prefix+"MarketingStatus")); } else if (json.has(prefix+"Meta")) { return parseMeta(getJObject(json, prefix+"Meta")); + } else if (json.has(prefix+"MonetaryComponent")) { + return parseMonetaryComponent(getJObject(json, prefix+"MonetaryComponent")); } else if (json.has(prefix+"Money")) { return parseMoney(getJObject(json, prefix+"Money")); } else if (json.has(prefix+"Narrative")) { @@ -32517,6 +34164,8 @@ public class JsonParser extends JsonParserBase { return parseTriggerDefinition(getJObject(json, prefix+"TriggerDefinition")); } else if (json.has(prefix+"UsageContext")) { return parseUsageContext(getJObject(json, prefix+"UsageContext")); + } else if (json.has(prefix+"VirtualServiceDetail")) { + return parseVirtualServiceDetail(getJObject(json, prefix+"VirtualServiceDetail")); } else { return null; @@ -32538,6 +34187,8 @@ public class JsonParser extends JsonParserBase { return parseAnnotation(json); } else if (type.equals("Attachment")) { return parseAttachment(json); + } else if (type.equals("Availability")) { + return parseAvailability(json); } else if (type.equals("CodeableConcept")) { return parseCodeableConcept(json); } else if (type.equals("CodeableReference")) { @@ -32576,6 +34227,8 @@ public class JsonParser extends JsonParserBase { return parseMarketingStatus(json); } else if (type.equals("Meta")) { return parseMeta(json); + } else if (type.equals("MonetaryComponent")) { + return parseMonetaryComponent(json); } else if (type.equals("Money")) { return parseMoney(json); } else if (type.equals("Narrative")) { @@ -32610,6 +34263,8 @@ public class JsonParser extends JsonParserBase { return parseTriggerDefinition(json); } else if (type.equals("UsageContext")) { return parseUsageContext(json); + } else if (type.equals("VirtualServiceDetail")) { + return parseVirtualServiceDetail(json); } else { throw new FHIRFormatError("Unknown Type "+type); @@ -32629,6 +34284,9 @@ public class JsonParser extends JsonParserBase { if (json.has(prefix+"Attachment")) { return true; }; + if (json.has(prefix+"Availability")) { + return true; + }; if (json.has(prefix+"CodeableConcept")) { return true; }; @@ -32686,6 +34344,9 @@ public class JsonParser extends JsonParserBase { if (json.has(prefix+"Meta")) { return true; }; + if (json.has(prefix+"MonetaryComponent")) { + return true; + }; if (json.has(prefix+"Money")) { return true; }; @@ -32737,12 +34398,18 @@ public class JsonParser extends JsonParserBase { if (json.has(prefix+"UsageContext")) { return true; }; + if (json.has(prefix+"VirtualServiceDetail")) { + return true; + }; if (json.has(prefix+"Account")) { return true; }; if (json.has(prefix+"ActivityDefinition")) { return true; }; + if (json.has(prefix+"ActorDefinition")) { + return true; + }; if (json.has(prefix+"AdministrableProductDefinition")) { return true; }; @@ -32782,9 +34449,6 @@ public class JsonParser extends JsonParserBase { if (json.has(prefix+"CapabilityStatement")) { return true; }; - if (json.has(prefix+"CapabilityStatement2")) { - return true; - }; if (json.has(prefix+"CarePlan")) { return true; }; @@ -32923,6 +34587,9 @@ public class JsonParser extends JsonParserBase { if (json.has(prefix+"FormularyItem")) { return true; }; + if (json.has(prefix+"GenomicStudy")) { + return true; + }; if (json.has(prefix+"Goal")) { return true; }; @@ -33100,6 +34767,12 @@ public class JsonParser extends JsonParserBase { if (json.has(prefix+"RequestGroup")) { return true; }; + if (json.has(prefix+"RequestOrchestration")) { + return true; + }; + if (json.has(prefix+"Requirements")) { + return true; + }; if (json.has(prefix+"ResearchStudy")) { return true; }; @@ -33367,25 +35040,6 @@ public class JsonParser extends JsonParserBase { writeNull(name); } - protected void composeIdCore(String name, IdType value, boolean inArray) throws IOException { - if (value != null && value.hasValue()) { - prop(name, toString(value.getValue())); - } - else if (inArray) - writeNull(name); - } - - protected void composeIdExtras(String name, IdType value, boolean inArray) throws IOException { - if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || makeComments(value))) { - open(inArray ? null : "_"+name); - composeElementProperties(value); - close(); - } - else if (inArray) - writeNull(name); - } - - protected void composeOidCore(String name, OidType value, boolean inArray) throws IOException { if (value != null && value.hasValue()) { prop(name, toString(value.getValue())); @@ -33584,6 +35238,23 @@ public class JsonParser extends JsonParserBase { writeNull(name); } + protected void composeIdCore(String name, IdType value, boolean inArray) throws IOException { + if (value != null && value.hasValue()) { + prop(name, toString(value.getValue())); + } + else if (inArray) + writeNull(name); + } + + protected void composeIdExtras(String name, IdType value, boolean inArray) throws IOException { + if (value != null && (!Utilities.noString(value.getId()) || ExtensionHelper.hasExtensions(value) || makeComments(value))) { + open(inArray ? null : "_"+name); + composeElementProperties(value); + close(); + } + else if (inArray) + writeNull(name); + } protected void composePositiveIntCore(String name, PositiveIntType value, boolean inArray) throws IOException { if (value != null && value.hasValue()) { @@ -33818,6 +35489,85 @@ public class JsonParser extends JsonParserBase { } } + protected void composeAvailability(String name, Availability element) throws IOException { + if (element != null) { + open(name); + composeAvailabilityProperties(element); + close(); + } + } + + protected void composeAvailabilityProperties(Availability element) throws IOException { + composeDataTypeProperties(element); + if (element.hasAvailableTime()) { + openArray("availableTime"); + for (Availability.AvailabilityAvailableTimeComponent e : element.getAvailableTime()) + composeAvailabilityAvailableTimeComponent(null, e); + closeArray(); + }; + if (element.hasNotAvailableTime()) { + openArray("notAvailableTime"); + for (Availability.AvailabilityNotAvailableTimeComponent e : element.getNotAvailableTime()) + composeAvailabilityNotAvailableTimeComponent(null, e); + closeArray(); + }; + } + + protected void composeAvailabilityAvailableTimeComponent(String name, Availability.AvailabilityAvailableTimeComponent element) throws IOException { + if (element != null) { + open(name); + composeAvailabilityAvailableTimeComponentProperties(element); + close(); + } + } + + protected void composeAvailabilityAvailableTimeComponentProperties(Availability.AvailabilityAvailableTimeComponent element) throws IOException { + composeElementProperties(element); + if (element.hasDaysOfWeek()) { + openArray("daysOfWeek"); + for (Enumeration e : element.getDaysOfWeek()) + composeEnumerationCore(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); + closeArray(); + if (anyHasExtras(element.getDaysOfWeek())) { + openArray("_daysOfWeek"); + for (Enumeration e : element.getDaysOfWeek()) + composeEnumerationExtras(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); + closeArray(); + } + }; + if (element.hasAllDayElement()) { + composeBooleanCore("allDay", element.getAllDayElement(), false); + composeBooleanExtras("allDay", element.getAllDayElement(), false); + } + if (element.hasAvailableStartTimeElement()) { + composeTimeCore("availableStartTime", element.getAvailableStartTimeElement(), false); + composeTimeExtras("availableStartTime", element.getAvailableStartTimeElement(), false); + } + if (element.hasAvailableEndTimeElement()) { + composeTimeCore("availableEndTime", element.getAvailableEndTimeElement(), false); + composeTimeExtras("availableEndTime", element.getAvailableEndTimeElement(), false); + } + } + + protected void composeAvailabilityNotAvailableTimeComponent(String name, Availability.AvailabilityNotAvailableTimeComponent element) throws IOException { + if (element != null) { + open(name); + composeAvailabilityNotAvailableTimeComponentProperties(element); + close(); + } + } + + protected void composeAvailabilityNotAvailableTimeComponentProperties(Availability.AvailabilityNotAvailableTimeComponent element) throws IOException { + composeElementProperties(element); + if (element.hasDescriptionElement()) { + composeStringCore("description", element.getDescriptionElement(), false); + composeStringExtras("description", element.getDescriptionElement(), false); + } + if (element.hasDuring()) { + composePeriod("during", element.getDuring()); + } + } + protected void composeCodeableConcept(String name, CodeableConcept element) throws IOException { if (element != null) { open(name); @@ -33992,8 +35742,8 @@ public class JsonParser extends JsonParserBase { protected void composeDataRequirementProperties(DataRequirement element) throws IOException { composeDataTypeProperties(element); if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory(), false); } if (element.hasProfile()) { if (anyHasValue(element.getProfile())) { @@ -34038,6 +35788,12 @@ public class JsonParser extends JsonParserBase { composeDataRequirementDateFilterComponent(null, e); closeArray(); }; + if (element.hasValueFilter()) { + openArray("valueFilter"); + for (DataRequirement.DataRequirementValueFilterComponent e : element.getValueFilter()) + composeDataRequirementValueFilterComponent(null, e); + closeArray(); + }; if (element.hasLimitElement()) { composePositiveIntCore("limit", element.getLimitElement(), false); composePositiveIntExtras("limit", element.getLimitElement(), false); @@ -34103,6 +35859,33 @@ public class JsonParser extends JsonParserBase { } } + protected void composeDataRequirementValueFilterComponent(String name, DataRequirement.DataRequirementValueFilterComponent element) throws IOException { + if (element != null) { + open(name); + composeDataRequirementValueFilterComponentProperties(element); + close(); + } + } + + protected void composeDataRequirementValueFilterComponentProperties(DataRequirement.DataRequirementValueFilterComponent element) throws IOException { + composeElementProperties(element); + if (element.hasPathElement()) { + composeStringCore("path", element.getPathElement(), false); + composeStringExtras("path", element.getPathElement(), false); + } + if (element.hasSearchParamElement()) { + composeStringCore("searchParam", element.getSearchParamElement(), false); + composeStringExtras("searchParam", element.getSearchParamElement(), false); + } + if (element.hasComparatorElement()) { + composeEnumerationCore("comparator", element.getComparatorElement(), new DataRequirement.ValueFilterComparatorEnumFactory(), false); + composeEnumerationExtras("comparator", element.getComparatorElement(), new DataRequirement.ValueFilterComparatorEnumFactory(), false); + } + if (element.hasValue()) { + composeType("value", element.getValue()); + } + } + protected void composeDataRequirementSortComponent(String name, DataRequirement.DataRequirementSortComponent element) throws IOException { if (element != null) { open(name); @@ -34584,13 +36367,17 @@ public class JsonParser extends JsonParserBase { composeIdExtras("key", element.getKeyElement(), false); } if (element.hasRequirementsElement()) { - composeStringCore("requirements", element.getRequirementsElement(), false); - composeStringExtras("requirements", element.getRequirementsElement(), false); + composeMarkdownCore("requirements", element.getRequirementsElement(), false); + composeMarkdownExtras("requirements", element.getRequirementsElement(), false); } if (element.hasSeverityElement()) { composeEnumerationCore("severity", element.getSeverityElement(), new ElementDefinition.ConstraintSeverityEnumFactory(), false); composeEnumerationExtras("severity", element.getSeverityElement(), new ElementDefinition.ConstraintSeverityEnumFactory(), false); } + if (element.hasSuppressElement()) { + composeBooleanCore("suppress", element.getSuppressElement(), false); + composeBooleanExtras("suppress", element.getSuppressElement(), false); + } if (element.hasHumanElement()) { composeStringCore("human", element.getHumanElement(), false); composeStringExtras("human", element.getHumanElement(), false); @@ -34624,8 +36411,8 @@ public class JsonParser extends JsonParserBase { composeEnumerationExtras("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory(), false); } if (element.hasDescriptionElement()) { - composeStringCore("description", element.getDescriptionElement(), false); - composeStringExtras("description", element.getDescriptionElement(), false); + composeMarkdownCore("description", element.getDescriptionElement(), false); + composeMarkdownExtras("description", element.getDescriptionElement(), false); } if (element.hasValueSetElement()) { composeCanonicalCore("valueSet", element.getValueSetElement(), false); @@ -34656,8 +36443,8 @@ public class JsonParser extends JsonParserBase { composeStringExtras("map", element.getMapElement(), false); } if (element.hasCommentElement()) { - composeStringCore("comment", element.getCommentElement(), false); - composeStringExtras("comment", element.getCommentElement(), false); + composeMarkdownCore("comment", element.getCommentElement(), false); + composeMarkdownExtras("comment", element.getCommentElement(), false); } } @@ -34707,8 +36494,11 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept("purpose", element.getPurpose()); } if (element.hasName()) { - composeHumanName("name", element.getName()); - } + openArray("name"); + for (HumanName e : element.getName()) + composeHumanName(null, e); + closeArray(); + }; if (element.hasTelecom()) { openArray("telecom"); for (ContactPoint e : element.getTelecom()) @@ -34925,6 +36715,32 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeMonetaryComponent(String name, MonetaryComponent element) throws IOException { + if (element != null) { + open(name); + composeMonetaryComponentProperties(element); + close(); + } + } + + protected void composeMonetaryComponentProperties(MonetaryComponent element) throws IOException { + composeDataTypeProperties(element); + if (element.hasTypeElement()) { + composeEnumerationCore("type", element.getTypeElement(), new MonetaryComponent.PriceComponentTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new MonetaryComponent.PriceComponentTypeEnumFactory(), false); + } + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasFactorElement()) { + composeDecimalCore("factor", element.getFactorElement(), false); + composeDecimalExtras("factor", element.getFactorElement(), false); + } + if (element.hasAmount()) { + composeMoney("amount", element.getAmount()); + } + } + protected void composeMoney(String name, Money element) throws IOException { if (element != null) { open(name); @@ -34999,8 +36815,8 @@ public class JsonParser extends JsonParserBase { composeStringExtras("documentation", element.getDocumentationElement(), false); } if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory(), false); } if (element.hasProfileElement()) { composeCanonicalCore("profile", element.getProfileElement(), false); @@ -35234,6 +37050,14 @@ public class JsonParser extends JsonParserBase { if (element.hasResourceReference()) { composeReference("resourceReference", element.getResourceReference()); } + if (element.hasPublicationStatusElement()) { + composeEnumerationCore("publicationStatus", element.getPublicationStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); + composeEnumerationExtras("publicationStatus", element.getPublicationStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); + } + if (element.hasPublicationDateElement()) { + composeDateCore("publicationDate", element.getPublicationDateElement(), false); + composeDateExtras("publicationDate", element.getPublicationDateElement(), false); + } } protected void composeSampledData(String name, SampledData element) throws IOException { @@ -35249,9 +37073,13 @@ public class JsonParser extends JsonParserBase { if (element.hasOrigin()) { composeQuantity("origin", element.getOrigin()); } - if (element.hasPeriodElement()) { - composeDecimalCore("period", element.getPeriodElement(), false); - composeDecimalExtras("period", element.getPeriodElement(), false); + if (element.hasIntervalElement()) { + composeDecimalCore("interval", element.getIntervalElement(), false); + composeDecimalExtras("interval", element.getIntervalElement(), false); + } + if (element.hasIntervalUnitElement()) { + composeCodeCore("intervalUnit", element.getIntervalUnitElement(), false); + composeCodeExtras("intervalUnit", element.getIntervalUnitElement(), false); } if (element.hasFactorElement()) { composeDecimalCore("factor", element.getFactorElement(), false); @@ -35462,6 +37290,13 @@ public class JsonParser extends JsonParserBase { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); } + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasSubscriptionTopicElement()) { + composeCanonicalCore("subscriptionTopic", element.getSubscriptionTopicElement(), false); + composeCanonicalExtras("subscriptionTopic", element.getSubscriptionTopicElement(), false); + } if (element.hasTiming()) { composeType("timing", element.getTiming()); } @@ -35494,6 +37329,46 @@ public class JsonParser extends JsonParserBase { } } + protected void composeVirtualServiceDetail(String name, VirtualServiceDetail element) throws IOException { + if (element != null) { + open(name); + composeVirtualServiceDetailProperties(element); + close(); + } + } + + protected void composeVirtualServiceDetailProperties(VirtualServiceDetail element) throws IOException { + composeDataTypeProperties(element); + if (element.hasChannelType()) { + composeCoding("channelType", element.getChannelType()); + } + if (element.hasAddress()) { + composeType("address", element.getAddress()); + } + if (element.hasAdditionalInfo()) { + if (anyHasValue(element.getAdditionalInfo())) { + openArray("additionalInfo"); + for (UrlType e : element.getAdditionalInfo()) + composeUrlCore(null, e, e != element.getAdditionalInfo().get(element.getAdditionalInfo().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getAdditionalInfo())) { + openArray("_additionalInfo"); + for (UrlType e : element.getAdditionalInfo()) + composeUrlExtras(null, e, true); + closeArray(); + } + }; + if (element.hasMaxParticipantsElement()) { + composePositiveIntCore("maxParticipants", element.getMaxParticipantsElement(), false); + composePositiveIntExtras("maxParticipants", element.getMaxParticipantsElement(), false); + } + if (element.hasSessionKeyElement()) { + composeStringCore("sessionKey", element.getSessionKeyElement(), false); + composeStringExtras("sessionKey", element.getSessionKeyElement(), false); + } + } + protected void composeCanonicalResourceProperties(CanonicalResource element) throws IOException { composeDomainResourceProperties(element); } @@ -35606,8 +37481,24 @@ public class JsonParser extends JsonParserBase { composeGuarantorComponent(null, e); closeArray(); }; - if (element.hasPartOf()) { - composeReference("partOf", element.getPartOf()); + if (element.hasRelatedAccount()) { + openArray("relatedAccount"); + for (Account.AccountRelatedAccountComponent e : element.getRelatedAccount()) + composeAccountRelatedAccountComponent(null, e); + closeArray(); + }; + if (element.hasCurrency()) { + composeCodeableConcept("currency", element.getCurrency()); + } + if (element.hasBalance()) { + openArray("balance"); + for (Account.AccountBalanceComponent e : element.getBalance()) + composeAccountBalanceComponent(null, e); + closeArray(); + }; + if (element.hasCalculatedAtElement()) { + composeInstantCore("calculatedAt", element.getCalculatedAtElement(), false); + composeInstantExtras("calculatedAt", element.getCalculatedAtElement(), false); } } @@ -35652,6 +37543,49 @@ public class JsonParser extends JsonParserBase { } } + protected void composeAccountRelatedAccountComponent(String name, Account.AccountRelatedAccountComponent element) throws IOException { + if (element != null) { + open(name); + composeAccountRelatedAccountComponentProperties(element); + close(); + } + } + + protected void composeAccountRelatedAccountComponentProperties(Account.AccountRelatedAccountComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasRelationship()) { + composeCodeableConcept("relationship", element.getRelationship()); + } + if (element.hasAccount()) { + composeReference("account", element.getAccount()); + } + } + + protected void composeAccountBalanceComponent(String name, Account.AccountBalanceComponent element) throws IOException { + if (element != null) { + open(name); + composeAccountBalanceComponentProperties(element); + close(); + } + } + + protected void composeAccountBalanceComponentProperties(Account.AccountBalanceComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasAggregate()) { + composeCodeableConcept("aggregate", element.getAggregate()); + } + if (element.hasTerm()) { + composeCodeableConcept("term", element.getTerm()); + } + if (element.hasEstimateElement()) { + composeBooleanCore("estimate", element.getEstimateElement(), false); + composeBooleanExtras("estimate", element.getEstimateElement(), false); + } + if (element.hasAmount()) { + composeMoney("amount", element.getAmount()); + } + } + protected void composeActivityDefinition(String name, ActivityDefinition element) throws IOException { if (element != null) { prop("resourceType", name); @@ -35802,8 +37736,8 @@ public class JsonParser extends JsonParserBase { } }; if (element.hasKindElement()) { - composeEnumerationCore("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypeEnumFactory(), false); - composeEnumerationExtras("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypeEnumFactory(), false); + composeEnumerationCore("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypesEnumFactory(), false); + composeEnumerationExtras("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypesEnumFactory(), false); } if (element.hasProfileElement()) { composeCanonicalCore("profile", element.getProfileElement(), false); @@ -35827,6 +37761,9 @@ public class JsonParser extends JsonParserBase { if (element.hasTiming()) { composeType("timing", element.getTiming()); } + if (element.hasAsNeeded()) { + composeType("asNeeded", element.getAsNeeded()); + } if (element.hasLocation()) { composeCodeableReference("location", element.getLocation()); } @@ -35855,22 +37792,46 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasSpecimenRequirement()) { - openArray("specimenRequirement"); - for (Reference e : element.getSpecimenRequirement()) - composeReference(null, e); - closeArray(); + if (anyHasValue(element.getSpecimenRequirement())) { + openArray("specimenRequirement"); + for (CanonicalType e : element.getSpecimenRequirement()) + composeCanonicalCore(null, e, e != element.getSpecimenRequirement().get(element.getSpecimenRequirement().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getSpecimenRequirement())) { + openArray("_specimenRequirement"); + for (CanonicalType e : element.getSpecimenRequirement()) + composeCanonicalExtras(null, e, true); + closeArray(); + } }; if (element.hasObservationRequirement()) { - openArray("observationRequirement"); - for (Reference e : element.getObservationRequirement()) - composeReference(null, e); - closeArray(); + if (anyHasValue(element.getObservationRequirement())) { + openArray("observationRequirement"); + for (CanonicalType e : element.getObservationRequirement()) + composeCanonicalCore(null, e, e != element.getObservationRequirement().get(element.getObservationRequirement().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getObservationRequirement())) { + openArray("_observationRequirement"); + for (CanonicalType e : element.getObservationRequirement()) + composeCanonicalExtras(null, e, true); + closeArray(); + } }; if (element.hasObservationResultRequirement()) { - openArray("observationResultRequirement"); - for (Reference e : element.getObservationResultRequirement()) - composeReference(null, e); - closeArray(); + if (anyHasValue(element.getObservationResultRequirement())) { + openArray("observationResultRequirement"); + for (CanonicalType e : element.getObservationResultRequirement()) + composeCanonicalCore(null, e, e != element.getObservationResultRequirement().get(element.getObservationResultRequirement().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getObservationResultRequirement())) { + openArray("_observationResultRequirement"); + for (CanonicalType e : element.getObservationResultRequirement()) + composeCanonicalExtras(null, e, true); + closeArray(); + } }; if (element.hasTransformElement()) { composeCanonicalCore("transform", element.getTransformElement(), false); @@ -35898,6 +37859,10 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); } + if (element.hasTypeCanonicalElement()) { + composeCanonicalCore("typeCanonical", element.getTypeCanonicalElement(), false); + composeCanonicalExtras("typeCanonical", element.getTypeCanonicalElement(), false); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -35928,6 +37893,129 @@ public class JsonParser extends JsonParserBase { } } + protected void composeActorDefinition(String name, ActorDefinition element) throws IOException { + if (element != null) { + prop("resourceType", name); + composeActorDefinitionProperties(element); + } + } + + protected void composeActorDefinitionProperties(ActorDefinition element) throws IOException { + composeCanonicalResourceProperties(element); + if (element.hasUrlElement()) { + composeUriCore("url", element.getUrlElement(), false); + composeUriExtras("url", element.getUrlElement(), false); + } + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; + if (element.hasVersionElement()) { + composeStringCore("version", element.getVersionElement(), false); + composeStringExtras("version", element.getVersionElement(), false); + } + if (element.hasNameElement()) { + composeStringCore("name", element.getNameElement(), false); + composeStringExtras("name", element.getNameElement(), false); + } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } + if (element.hasStatusElement()) { + composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); + composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); + } + if (element.hasExperimentalElement()) { + composeBooleanCore("experimental", element.getExperimentalElement(), false); + composeBooleanExtras("experimental", element.getExperimentalElement(), false); + } + if (element.hasDateElement()) { + composeDateTimeCore("date", element.getDateElement(), false); + composeDateTimeExtras("date", element.getDateElement(), false); + } + if (element.hasPublisherElement()) { + composeStringCore("publisher", element.getPublisherElement(), false); + composeStringExtras("publisher", element.getPublisherElement(), false); + } + if (element.hasContact()) { + openArray("contact"); + for (ContactDetail e : element.getContact()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasDescriptionElement()) { + composeMarkdownCore("description", element.getDescriptionElement(), false); + composeMarkdownExtras("description", element.getDescriptionElement(), false); + } + if (element.hasUseContext()) { + openArray("useContext"); + for (UsageContext e : element.getUseContext()) + composeUsageContext(null, e); + closeArray(); + }; + if (element.hasJurisdiction()) { + openArray("jurisdiction"); + for (CodeableConcept e : element.getJurisdiction()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasPurposeElement()) { + composeMarkdownCore("purpose", element.getPurposeElement(), false); + composeMarkdownExtras("purpose", element.getPurposeElement(), false); + } + if (element.hasCopyrightElement()) { + composeMarkdownCore("copyright", element.getCopyrightElement(), false); + composeMarkdownExtras("copyright", element.getCopyrightElement(), false); + } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } + if (element.hasTypeElement()) { + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ExampleScenarioActorTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ExampleScenarioActorTypeEnumFactory(), false); + } + if (element.hasDocumentationElement()) { + composeMarkdownCore("documentation", element.getDocumentationElement(), false); + composeMarkdownExtras("documentation", element.getDocumentationElement(), false); + } + if (element.hasReference()) { + if (anyHasValue(element.getReference())) { + openArray("reference"); + for (UrlType e : element.getReference()) + composeUrlCore(null, e, e != element.getReference().get(element.getReference().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getReference())) { + openArray("_reference"); + for (UrlType e : element.getReference()) + composeUrlExtras(null, e, true); + closeArray(); + } + }; + if (element.hasCapabilitiesElement()) { + composeCanonicalCore("capabilities", element.getCapabilitiesElement(), false); + composeCanonicalExtras("capabilities", element.getCapabilitiesElement(), false); + } + if (element.hasDerivedFrom()) { + if (anyHasValue(element.getDerivedFrom())) { + openArray("derivedFrom"); + for (CanonicalType e : element.getDerivedFrom()) + composeCanonicalCore(null, e, e != element.getDerivedFrom().get(element.getDerivedFrom().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getDerivedFrom())) { + openArray("_derivedFrom"); + for (CanonicalType e : element.getDerivedFrom()) + composeCanonicalExtras(null, e, true); + closeArray(); + } + }; + } + protected void composeAdministrableProductDefinition(String name, AdministrableProductDefinition element) throws IOException { if (element != null) { prop("resourceType", name); @@ -36164,6 +38252,12 @@ public class JsonParser extends JsonParserBase { composeAdverseEventParticipantComponent(null, e); closeArray(); }; + if (element.hasStudy()) { + openArray("study"); + for (Reference e : element.getStudy()) + composeReference(null, e); + closeArray(); + }; if (element.hasExpectedInResearchStudyElement()) { composeBooleanCore("expectedInResearchStudy", element.getExpectedInResearchStudyElement(), false); composeBooleanExtras("expectedInResearchStudy", element.getExpectedInResearchStudyElement(), false); @@ -36198,10 +38292,10 @@ public class JsonParser extends JsonParserBase { composeAdverseEventSupportingInfoComponent(null, e); closeArray(); }; - if (element.hasStudy()) { - openArray("study"); - for (Reference e : element.getStudy()) - composeReference(null, e); + if (element.hasNote()) { + openArray("note"); + for (Annotation e : element.getNote()) + composeAnnotation(null, e); closeArray(); }; } @@ -36486,6 +38580,12 @@ public class JsonParser extends JsonParserBase { if (element.hasCancellationReason()) { composeCodeableConcept("cancellationReason", element.getCancellationReason()); } + if (element.hasClass_()) { + openArray("class"); + for (CodeableConcept e : element.getClass_()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasServiceCategory()) { openArray("serviceCategory"); for (CodeableConcept e : element.getServiceCategory()) @@ -36526,12 +38626,24 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasVirtualService()) { + openArray("virtualService"); + for (VirtualServiceDetail e : element.getVirtualService()) + composeVirtualServiceDetail(null, e); + closeArray(); + }; if (element.hasSupportingInformation()) { openArray("supportingInformation"); for (Reference e : element.getSupportingInformation()) composeReference(null, e); closeArray(); }; + if (element.hasPreviousAppointment()) { + composeReference("previousAppointment", element.getPreviousAppointment()); + } + if (element.hasOriginatingAppointment()) { + composeReference("originatingAppointment", element.getOriginatingAppointment()); + } if (element.hasStartElement()) { composeInstantCore("start", element.getStartElement(), false); composeInstantExtras("start", element.getStartElement(), false); @@ -36593,6 +38705,20 @@ public class JsonParser extends JsonParserBase { composePeriod(null, e); closeArray(); }; + if (element.hasRecurrenceIdElement()) { + composePositiveIntCore("recurrenceId", element.getRecurrenceIdElement(), false); + composePositiveIntExtras("recurrenceId", element.getRecurrenceIdElement(), false); + } + if (element.hasOccurrenceChangedElement()) { + composeBooleanCore("occurrenceChanged", element.getOccurrenceChangedElement(), false); + composeBooleanExtras("occurrenceChanged", element.getOccurrenceChangedElement(), false); + } + if (element.hasRecurrenceTemplate()) { + openArray("recurrenceTemplate"); + for (Appointment.AppointmentRecurrenceTemplateComponent e : element.getRecurrenceTemplate()) + composeAppointmentRecurrenceTemplateComponent(null, e); + closeArray(); + }; } protected void composeAppointmentParticipantComponent(String name, Appointment.AppointmentParticipantComponent element) throws IOException { @@ -36627,6 +38753,169 @@ public class JsonParser extends JsonParserBase { } } + protected void composeAppointmentRecurrenceTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateComponent element) throws IOException { + if (element != null) { + open(name); + composeAppointmentRecurrenceTemplateComponentProperties(element); + close(); + } + } + + protected void composeAppointmentRecurrenceTemplateComponentProperties(Appointment.AppointmentRecurrenceTemplateComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTimezone()) { + composeCodeableConcept("timezone", element.getTimezone()); + } + if (element.hasRecurrenceType()) { + composeCodeableConcept("recurrenceType", element.getRecurrenceType()); + } + if (element.hasLastOccurrenceDateElement()) { + composeDateCore("lastOccurrenceDate", element.getLastOccurrenceDateElement(), false); + composeDateExtras("lastOccurrenceDate", element.getLastOccurrenceDateElement(), false); + } + if (element.hasOccurrenceCountElement()) { + composePositiveIntCore("occurrenceCount", element.getOccurrenceCountElement(), false); + composePositiveIntExtras("occurrenceCount", element.getOccurrenceCountElement(), false); + } + if (element.hasOccurrenceDate()) { + if (anyHasValue(element.getOccurrenceDate())) { + openArray("occurrenceDate"); + for (DateType e : element.getOccurrenceDate()) + composeDateCore(null, e, e != element.getOccurrenceDate().get(element.getOccurrenceDate().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getOccurrenceDate())) { + openArray("_occurrenceDate"); + for (DateType e : element.getOccurrenceDate()) + composeDateExtras(null, e, true); + closeArray(); + } + }; + if (element.hasWeeklyTemplate()) { + composeAppointmentRecurrenceTemplateWeeklyTemplateComponent("weeklyTemplate", element.getWeeklyTemplate()); + } + if (element.hasMonthlyTemplate()) { + composeAppointmentRecurrenceTemplateMonthlyTemplateComponent("monthlyTemplate", element.getMonthlyTemplate()); + } + if (element.hasYearlyTemplate()) { + composeAppointmentRecurrenceTemplateYearlyTemplateComponent("yearlyTemplate", element.getYearlyTemplate()); + } + if (element.hasExcludingDate()) { + if (anyHasValue(element.getExcludingDate())) { + openArray("excludingDate"); + for (DateType e : element.getExcludingDate()) + composeDateCore(null, e, e != element.getExcludingDate().get(element.getExcludingDate().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getExcludingDate())) { + openArray("_excludingDate"); + for (DateType e : element.getExcludingDate()) + composeDateExtras(null, e, true); + closeArray(); + } + }; + if (element.hasExcludingRecurrenceId()) { + if (anyHasValue(element.getExcludingRecurrenceId())) { + openArray("excludingRecurrenceId"); + for (PositiveIntType e : element.getExcludingRecurrenceId()) + composePositiveIntCore(null, e, e != element.getExcludingRecurrenceId().get(element.getExcludingRecurrenceId().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getExcludingRecurrenceId())) { + openArray("_excludingRecurrenceId"); + for (PositiveIntType e : element.getExcludingRecurrenceId()) + composePositiveIntExtras(null, e, true); + closeArray(); + } + }; + } + + protected void composeAppointmentRecurrenceTemplateWeeklyTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent element) throws IOException { + if (element != null) { + open(name); + composeAppointmentRecurrenceTemplateWeeklyTemplateComponentProperties(element); + close(); + } + } + + protected void composeAppointmentRecurrenceTemplateWeeklyTemplateComponentProperties(Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasMondayElement()) { + composeBooleanCore("monday", element.getMondayElement(), false); + composeBooleanExtras("monday", element.getMondayElement(), false); + } + if (element.hasTuesdayElement()) { + composeBooleanCore("tuesday", element.getTuesdayElement(), false); + composeBooleanExtras("tuesday", element.getTuesdayElement(), false); + } + if (element.hasWednesdayElement()) { + composeBooleanCore("wednesday", element.getWednesdayElement(), false); + composeBooleanExtras("wednesday", element.getWednesdayElement(), false); + } + if (element.hasThursdayElement()) { + composeBooleanCore("thursday", element.getThursdayElement(), false); + composeBooleanExtras("thursday", element.getThursdayElement(), false); + } + if (element.hasFridayElement()) { + composeBooleanCore("friday", element.getFridayElement(), false); + composeBooleanExtras("friday", element.getFridayElement(), false); + } + if (element.hasSaturdayElement()) { + composeBooleanCore("saturday", element.getSaturdayElement(), false); + composeBooleanExtras("saturday", element.getSaturdayElement(), false); + } + if (element.hasSundayElement()) { + composeBooleanCore("sunday", element.getSundayElement(), false); + composeBooleanExtras("sunday", element.getSundayElement(), false); + } + if (element.hasWeekIntervalElement()) { + composePositiveIntCore("weekInterval", element.getWeekIntervalElement(), false); + composePositiveIntExtras("weekInterval", element.getWeekIntervalElement(), false); + } + } + + protected void composeAppointmentRecurrenceTemplateMonthlyTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent element) throws IOException { + if (element != null) { + open(name); + composeAppointmentRecurrenceTemplateMonthlyTemplateComponentProperties(element); + close(); + } + } + + protected void composeAppointmentRecurrenceTemplateMonthlyTemplateComponentProperties(Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasDayOfMonthElement()) { + composePositiveIntCore("dayOfMonth", element.getDayOfMonthElement(), false); + composePositiveIntExtras("dayOfMonth", element.getDayOfMonthElement(), false); + } + if (element.hasNthWeekOfMonth()) { + composeCoding("nthWeekOfMonth", element.getNthWeekOfMonth()); + } + if (element.hasDayOfWeek()) { + composeCoding("dayOfWeek", element.getDayOfWeek()); + } + if (element.hasMonthIntervalElement()) { + composePositiveIntCore("monthInterval", element.getMonthIntervalElement(), false); + composePositiveIntExtras("monthInterval", element.getMonthIntervalElement(), false); + } + } + + protected void composeAppointmentRecurrenceTemplateYearlyTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent element) throws IOException { + if (element != null) { + open(name); + composeAppointmentRecurrenceTemplateYearlyTemplateComponentProperties(element); + close(); + } + } + + protected void composeAppointmentRecurrenceTemplateYearlyTemplateComponentProperties(Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasYearIntervalElement()) { + composePositiveIntCore("yearInterval", element.getYearIntervalElement(), false); + composePositiveIntExtras("yearInterval", element.getYearIntervalElement(), false); + } + } + protected void composeAppointmentResponse(String name, AppointmentResponse element) throws IOException { if (element != null) { prop("resourceType", name); @@ -36645,6 +38934,10 @@ public class JsonParser extends JsonParserBase { if (element.hasAppointment()) { composeReference("appointment", element.getAppointment()); } + if (element.hasProposedNewTimeElement()) { + composeBooleanCore("proposedNewTime", element.getProposedNewTimeElement(), false); + composeBooleanExtras("proposedNewTime", element.getProposedNewTimeElement(), false); + } if (element.hasStartElement()) { composeInstantCore("start", element.getStartElement(), false); composeInstantExtras("start", element.getStartElement(), false); @@ -36670,6 +38963,18 @@ public class JsonParser extends JsonParserBase { composeStringCore("comment", element.getCommentElement(), false); composeStringExtras("comment", element.getCommentElement(), false); } + if (element.hasRecurringElement()) { + composeBooleanCore("recurring", element.getRecurringElement(), false); + composeBooleanExtras("recurring", element.getRecurringElement(), false); + } + if (element.hasOccurrenceDateElement()) { + composeDateCore("occurrenceDate", element.getOccurrenceDateElement(), false); + composeDateExtras("occurrenceDate", element.getOccurrenceDateElement(), false); + } + if (element.hasRecurrenceIdElement()) { + composePositiveIntCore("recurrenceId", element.getRecurrenceIdElement(), false); + composePositiveIntExtras("recurrenceId", element.getRecurrenceIdElement(), false); + } } protected void composeArtifactAssessment(String name, ArtifactAssessment element) throws IOException { @@ -37080,7 +39385,7 @@ public class JsonParser extends JsonParserBase { composeCoding("productCategory", element.getProductCategory()); } if (element.hasProductCode()) { - composeCoding("productCode", element.getProductCode()); + composeCodeableConcept("productCode", element.getProductCode()); } if (element.hasParent()) { openArray("parent"); @@ -37309,6 +39614,11 @@ public class JsonParser extends JsonParserBase { if (element.hasSignature()) { composeSignature("signature", element.getSignature()); } + if (element.hasIssues()) { + open("issues"); + composeResource(element.getIssues()); + close(); + } } protected void composeBundleLinkComponent(String name, Bundle.BundleLinkComponent element) throws IOException { @@ -37322,8 +39632,8 @@ public class JsonParser extends JsonParserBase { protected void composeBundleLinkComponentProperties(Bundle.BundleLinkComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasRelationElement()) { - composeStringCore("relation", element.getRelationElement(), false); - composeStringExtras("relation", element.getRelationElement(), false); + composeEnumerationCore("relation", element.getRelationElement(), new Bundle.LinkRelationTypesEnumFactory(), false); + composeEnumerationExtras("relation", element.getRelationElement(), new Bundle.LinkRelationTypesEnumFactory(), false); } if (element.hasUrlElement()) { composeUriCore("url", element.getUrlElement(), false); @@ -37473,6 +39783,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -37527,6 +39840,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasKindElement()) { composeEnumerationCore("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory(), false); composeEnumerationExtras("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory(), false); @@ -37597,6 +39914,20 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasAcceptLanguage()) { + if (anyHasValue(element.getAcceptLanguage())) { + openArray("acceptLanguage"); + for (CodeType e : element.getAcceptLanguage()) + composeCodeCore(null, e, e != element.getAcceptLanguage().get(element.getAcceptLanguage().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getAcceptLanguage())) { + openArray("_acceptLanguage"); + for (CodeType e : element.getAcceptLanguage()) + composeCodeExtras(null, e, true); + closeArray(); + } + }; if (element.hasImplementationGuide()) { if (anyHasValue(element.getImplementationGuide())) { openArray("implementationGuide"); @@ -37689,8 +40020,8 @@ public class JsonParser extends JsonParserBase { protected void composeCapabilityStatementRestComponentProperties(CapabilityStatement.CapabilityStatementRestComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasModeElement()) { - composeEnumerationCore("mode", element.getModeElement(), new Enumerations.RestfulCapabilityModeEnumFactory(), false); - composeEnumerationExtras("mode", element.getModeElement(), new Enumerations.RestfulCapabilityModeEnumFactory(), false); + composeEnumerationCore("mode", element.getModeElement(), new CapabilityStatement.RestfulCapabilityModeEnumFactory(), false); + composeEnumerationExtras("mode", element.getModeElement(), new CapabilityStatement.RestfulCapabilityModeEnumFactory(), false); } if (element.hasDocumentationElement()) { composeMarkdownCore("documentation", element.getDocumentationElement(), false); @@ -37831,6 +40162,10 @@ public class JsonParser extends JsonParserBase { composeBooleanCore("conditionalUpdate", element.getConditionalUpdateElement(), false); composeBooleanExtras("conditionalUpdate", element.getConditionalUpdateElement(), false); } + if (element.hasConditionalPatchElement()) { + composeBooleanCore("conditionalPatch", element.getConditionalPatchElement(), false); + composeBooleanExtras("conditionalPatch", element.getConditionalPatchElement(), false); + } if (element.hasConditionalDeleteElement()) { composeEnumerationCore("conditionalDelete", element.getConditionalDeleteElement(), new CapabilityStatement.ConditionalDeleteStatusEnumFactory(), false); composeEnumerationExtras("conditionalDelete", element.getConditionalDeleteElement(), new CapabilityStatement.ConditionalDeleteStatusEnumFactory(), false); @@ -38076,478 +40411,6 @@ public class JsonParser extends JsonParserBase { } } - protected void composeCapabilityStatement2(String name, CapabilityStatement2 element) throws IOException { - if (element != null) { - prop("resourceType", name); - composeCapabilityStatement2Properties(element); - } - } - - protected void composeCapabilityStatement2Properties(CapabilityStatement2 element) throws IOException { - composeCanonicalResourceProperties(element); - if (element.hasUrlElement()) { - composeUriCore("url", element.getUrlElement(), false); - composeUriExtras("url", element.getUrlElement(), false); - } - if (element.hasVersionElement()) { - composeStringCore("version", element.getVersionElement(), false); - composeStringExtras("version", element.getVersionElement(), false); - } - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); - } - if (element.hasTitleElement()) { - composeStringCore("title", element.getTitleElement(), false); - composeStringExtras("title", element.getTitleElement(), false); - } - if (element.hasStatusElement()) { - composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); - composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); - } - if (element.hasExperimentalElement()) { - composeBooleanCore("experimental", element.getExperimentalElement(), false); - composeBooleanExtras("experimental", element.getExperimentalElement(), false); - } - if (element.hasDateElement()) { - composeDateTimeCore("date", element.getDateElement(), false); - composeDateTimeExtras("date", element.getDateElement(), false); - } - if (element.hasPublisherElement()) { - composeStringCore("publisher", element.getPublisherElement(), false); - composeStringExtras("publisher", element.getPublisherElement(), false); - } - if (element.hasContact()) { - openArray("contact"); - for (ContactDetail e : element.getContact()) - composeContactDetail(null, e); - closeArray(); - }; - if (element.hasDescriptionElement()) { - composeMarkdownCore("description", element.getDescriptionElement(), false); - composeMarkdownExtras("description", element.getDescriptionElement(), false); - } - if (element.hasUseContext()) { - openArray("useContext"); - for (UsageContext e : element.getUseContext()) - composeUsageContext(null, e); - closeArray(); - }; - if (element.hasJurisdiction()) { - openArray("jurisdiction"); - for (CodeableConcept e : element.getJurisdiction()) - composeCodeableConcept(null, e); - closeArray(); - }; - if (element.hasPurposeElement()) { - composeMarkdownCore("purpose", element.getPurposeElement(), false); - composeMarkdownExtras("purpose", element.getPurposeElement(), false); - } - if (element.hasCopyrightElement()) { - composeMarkdownCore("copyright", element.getCopyrightElement(), false); - composeMarkdownExtras("copyright", element.getCopyrightElement(), false); - } - if (element.hasKindElement()) { - composeEnumerationCore("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory(), false); - composeEnumerationExtras("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory(), false); - } - if (element.hasInstantiates()) { - if (anyHasValue(element.getInstantiates())) { - openArray("instantiates"); - for (CanonicalType e : element.getInstantiates()) - composeCanonicalCore(null, e, e != element.getInstantiates().get(element.getInstantiates().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiates())) { - openArray("_instantiates"); - for (CanonicalType e : element.getInstantiates()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasImports()) { - if (anyHasValue(element.getImports())) { - openArray("imports"); - for (CanonicalType e : element.getImports()) - composeCanonicalCore(null, e, e != element.getImports().get(element.getImports().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getImports())) { - openArray("_imports"); - for (CanonicalType e : element.getImports()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasSoftware()) { - composeCapabilityStatement2SoftwareComponent("software", element.getSoftware()); - } - if (element.hasImplementation()) { - composeCapabilityStatement2ImplementationComponent("implementation", element.getImplementation()); - } - if (element.hasFhirVersionElement()) { - composeEnumerationCore("fhirVersion", element.getFhirVersionElement(), new Enumerations.FHIRVersionEnumFactory(), false); - composeEnumerationExtras("fhirVersion", element.getFhirVersionElement(), new Enumerations.FHIRVersionEnumFactory(), false); - } - if (element.hasFormat()) { - if (anyHasValue(element.getFormat())) { - openArray("format"); - for (CodeType e : element.getFormat()) - composeCodeCore(null, e, e != element.getFormat().get(element.getFormat().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getFormat())) { - openArray("_format"); - for (CodeType e : element.getFormat()) - composeCodeExtras(null, e, true); - closeArray(); - } - }; - if (element.hasPatchFormat()) { - if (anyHasValue(element.getPatchFormat())) { - openArray("patchFormat"); - for (CodeType e : element.getPatchFormat()) - composeCodeCore(null, e, e != element.getPatchFormat().get(element.getPatchFormat().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getPatchFormat())) { - openArray("_patchFormat"); - for (CodeType e : element.getPatchFormat()) - composeCodeExtras(null, e, true); - closeArray(); - } - }; - if (element.hasImplementationGuide()) { - if (anyHasValue(element.getImplementationGuide())) { - openArray("implementationGuide"); - for (CanonicalType e : element.getImplementationGuide()) - composeCanonicalCore(null, e, e != element.getImplementationGuide().get(element.getImplementationGuide().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getImplementationGuide())) { - openArray("_implementationGuide"); - for (CanonicalType e : element.getImplementationGuide()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasRest()) { - openArray("rest"); - for (CapabilityStatement2.CapabilityStatement2RestComponent e : element.getRest()) - composeCapabilityStatement2RestComponent(null, e); - closeArray(); - }; - } - - protected void composeCapabilityStatement2SoftwareComponent(String name, CapabilityStatement2.CapabilityStatement2SoftwareComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2SoftwareComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2SoftwareComponentProperties(CapabilityStatement2.CapabilityStatement2SoftwareComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); - } - if (element.hasVersionElement()) { - composeStringCore("version", element.getVersionElement(), false); - composeStringExtras("version", element.getVersionElement(), false); - } - if (element.hasReleaseDateElement()) { - composeDateTimeCore("releaseDate", element.getReleaseDateElement(), false); - composeDateTimeExtras("releaseDate", element.getReleaseDateElement(), false); - } - } - - protected void composeCapabilityStatement2ImplementationComponent(String name, CapabilityStatement2.CapabilityStatement2ImplementationComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2ImplementationComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2ImplementationComponentProperties(CapabilityStatement2.CapabilityStatement2ImplementationComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDescriptionElement()) { - composeStringCore("description", element.getDescriptionElement(), false); - composeStringExtras("description", element.getDescriptionElement(), false); - } - if (element.hasUrlElement()) { - composeUrlCore("url", element.getUrlElement(), false); - composeUrlExtras("url", element.getUrlElement(), false); - } - if (element.hasCustodian()) { - composeReference("custodian", element.getCustodian()); - } - } - - protected void composeCapabilityStatement2RestComponent(String name, CapabilityStatement2.CapabilityStatement2RestComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2RestComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2RestComponentProperties(CapabilityStatement2.CapabilityStatement2RestComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasModeElement()) { - composeEnumerationCore("mode", element.getModeElement(), new Enumerations.RestfulCapabilityModeEnumFactory(), false); - composeEnumerationExtras("mode", element.getModeElement(), new Enumerations.RestfulCapabilityModeEnumFactory(), false); - } - if (element.hasDocumentationElement()) { - composeMarkdownCore("documentation", element.getDocumentationElement(), false); - composeMarkdownExtras("documentation", element.getDocumentationElement(), false); - } - if (element.hasFeature()) { - openArray("feature"); - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent(null, e); - closeArray(); - }; - if (element.hasResource()) { - openArray("resource"); - for (CapabilityStatement2.CapabilityStatement2RestResourceComponent e : element.getResource()) - composeCapabilityStatement2RestResourceComponent(null, e); - closeArray(); - }; - if (element.hasInteraction()) { - openArray("interaction"); - for (CapabilityStatement2.SystemInteractionComponent e : element.getInteraction()) - composeSystemInteractionComponent(null, e); - closeArray(); - }; - if (element.hasSearchParam()) { - openArray("searchParam"); - for (CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent e : element.getSearchParam()) - composeCapabilityStatement2RestResourceSearchParamComponent(null, e); - closeArray(); - }; - if (element.hasOperation()) { - openArray("operation"); - for (CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent e : element.getOperation()) - composeCapabilityStatement2RestResourceOperationComponent(null, e); - closeArray(); - }; - if (element.hasCompartment()) { - if (anyHasValue(element.getCompartment())) { - openArray("compartment"); - for (CanonicalType e : element.getCompartment()) - composeCanonicalCore(null, e, e != element.getCompartment().get(element.getCompartment().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getCompartment())) { - openArray("_compartment"); - for (CanonicalType e : element.getCompartment()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - } - - protected void composeCapabilityStatement2RestFeatureComponent(String name, CapabilityStatement2.CapabilityStatement2RestFeatureComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2RestFeatureComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2RestFeatureComponentProperties(CapabilityStatement2.CapabilityStatement2RestFeatureComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasCodeElement()) { - composeEnumerationCore("code", element.getCodeElement(), new CapabilityStatement2.CapabilityFeatureEnumFactory(), false); - composeEnumerationExtras("code", element.getCodeElement(), new CapabilityStatement2.CapabilityFeatureEnumFactory(), false); - } - if (element.hasValueElement()) { - composeEnumerationCore("value", element.getValueElement(), new CapabilityStatement2.CapabilityFeatureValueEnumFactory(), false); - composeEnumerationExtras("value", element.getValueElement(), new CapabilityStatement2.CapabilityFeatureValueEnumFactory(), false); - } - } - - protected void composeCapabilityStatement2RestResourceComponent(String name, CapabilityStatement2.CapabilityStatement2RestResourceComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2RestResourceComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2RestResourceComponentProperties(CapabilityStatement2.CapabilityStatement2RestResourceComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasTypeElement()) { - composeCodeCore("type", element.getTypeElement(), false); - composeCodeExtras("type", element.getTypeElement(), false); - } - if (element.hasProfileElement()) { - composeCanonicalCore("profile", element.getProfileElement(), false); - composeCanonicalExtras("profile", element.getProfileElement(), false); - } - if (element.hasSupportedProfile()) { - if (anyHasValue(element.getSupportedProfile())) { - openArray("supportedProfile"); - for (CanonicalType e : element.getSupportedProfile()) - composeCanonicalCore(null, e, e != element.getSupportedProfile().get(element.getSupportedProfile().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getSupportedProfile())) { - openArray("_supportedProfile"); - for (CanonicalType e : element.getSupportedProfile()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasDocumentationElement()) { - composeMarkdownCore("documentation", element.getDocumentationElement(), false); - composeMarkdownExtras("documentation", element.getDocumentationElement(), false); - } - if (element.hasFeature()) { - openArray("feature"); - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent(null, e); - closeArray(); - }; - if (element.hasInteraction()) { - openArray("interaction"); - for (CapabilityStatement2.ResourceInteractionComponent e : element.getInteraction()) - composeResourceInteractionComponent(null, e); - closeArray(); - }; - if (element.hasSearchParam()) { - openArray("searchParam"); - for (CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent e : element.getSearchParam()) - composeCapabilityStatement2RestResourceSearchParamComponent(null, e); - closeArray(); - }; - if (element.hasOperation()) { - openArray("operation"); - for (CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent e : element.getOperation()) - composeCapabilityStatement2RestResourceOperationComponent(null, e); - closeArray(); - }; - } - - protected void composeResourceInteractionComponent(String name, CapabilityStatement2.ResourceInteractionComponent element) throws IOException { - if (element != null) { - open(name); - composeResourceInteractionComponentProperties(element); - close(); - } - } - - protected void composeResourceInteractionComponentProperties(CapabilityStatement2.ResourceInteractionComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasCodeElement()) { - composeEnumerationCore("code", element.getCodeElement(), new CapabilityStatement2.TypeRestfulInteractionEnumFactory(), false); - composeEnumerationExtras("code", element.getCodeElement(), new CapabilityStatement2.TypeRestfulInteractionEnumFactory(), false); - } - if (element.hasDocumentationElement()) { - composeMarkdownCore("documentation", element.getDocumentationElement(), false); - composeMarkdownExtras("documentation", element.getDocumentationElement(), false); - } - if (element.hasFeature()) { - openArray("feature"); - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent(null, e); - closeArray(); - }; - } - - protected void composeCapabilityStatement2RestResourceSearchParamComponent(String name, CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2RestResourceSearchParamComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2RestResourceSearchParamComponentProperties(CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); - } - if (element.hasDefinitionElement()) { - composeCanonicalCore("definition", element.getDefinitionElement(), false); - composeCanonicalExtras("definition", element.getDefinitionElement(), false); - } - if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory(), false); - } - if (element.hasDocumentationElement()) { - composeMarkdownCore("documentation", element.getDocumentationElement(), false); - composeMarkdownExtras("documentation", element.getDocumentationElement(), false); - } - if (element.hasFeature()) { - openArray("feature"); - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent(null, e); - closeArray(); - }; - } - - protected void composeCapabilityStatement2RestResourceOperationComponent(String name, CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent element) throws IOException { - if (element != null) { - open(name); - composeCapabilityStatement2RestResourceOperationComponentProperties(element); - close(); - } - } - - protected void composeCapabilityStatement2RestResourceOperationComponentProperties(CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); - } - if (element.hasDefinitionElement()) { - composeCanonicalCore("definition", element.getDefinitionElement(), false); - composeCanonicalExtras("definition", element.getDefinitionElement(), false); - } - if (element.hasDocumentationElement()) { - composeMarkdownCore("documentation", element.getDocumentationElement(), false); - composeMarkdownExtras("documentation", element.getDocumentationElement(), false); - } - if (element.hasFeature()) { - openArray("feature"); - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent(null, e); - closeArray(); - }; - } - - protected void composeSystemInteractionComponent(String name, CapabilityStatement2.SystemInteractionComponent element) throws IOException { - if (element != null) { - open(name); - composeSystemInteractionComponentProperties(element); - close(); - } - } - - protected void composeSystemInteractionComponentProperties(CapabilityStatement2.SystemInteractionComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasCodeElement()) { - composeEnumerationCore("code", element.getCodeElement(), new CapabilityStatement2.SystemRestfulInteractionEnumFactory(), false); - composeEnumerationExtras("code", element.getCodeElement(), new CapabilityStatement2.SystemRestfulInteractionEnumFactory(), false); - } - if (element.hasDocumentationElement()) { - composeMarkdownCore("documentation", element.getDocumentationElement(), false); - composeMarkdownExtras("documentation", element.getDocumentationElement(), false); - } - if (element.hasFeature()) { - openArray("feature"); - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent(null, e); - closeArray(); - }; - } - protected void composeCarePlan(String name, CarePlan element) throws IOException { if (element != null) { prop("resourceType", name); @@ -38969,8 +40832,8 @@ public class JsonParser extends JsonParserBase { if (element.hasSubject()) { composeReference("subject", element.getSubject()); } - if (element.hasContext()) { - composeReference("context", element.getContext()); + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); } if (element.hasOccurrence()) { composeType("occurrence", element.getOccurrence()); @@ -38999,16 +40862,14 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; - if (element.hasFactorOverrideElement()) { - composeDecimalCore("factorOverride", element.getFactorOverrideElement(), false); - composeDecimalExtras("factorOverride", element.getFactorOverrideElement(), false); + if (element.hasUnitPriceComponent()) { + composeMonetaryComponent("unitPriceComponent", element.getUnitPriceComponent()); } - if (element.hasPriceOverride()) { - composeMoney("priceOverride", element.getPriceOverride()); + if (element.hasTotalPriceComponent()) { + composeMonetaryComponent("totalPriceComponent", element.getTotalPriceComponent()); } - if (element.hasOverrideReasonElement()) { - composeStringCore("overrideReason", element.getOverrideReasonElement(), false); - composeStringExtras("overrideReason", element.getOverrideReasonElement(), false); + if (element.hasOverrideReason()) { + composeCodeableConcept("overrideReason", element.getOverrideReason()); } if (element.hasEnterer()) { composeReference("enterer", element.getEnterer()); @@ -39025,8 +40886,8 @@ public class JsonParser extends JsonParserBase { }; if (element.hasService()) { openArray("service"); - for (Reference e : element.getService()) - composeReference(null, e); + for (CodeableReference e : element.getService()) + composeCodeableReference(null, e); closeArray(); }; if (element.hasProduct()) { @@ -39096,6 +40957,10 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasNameElement()) { + composeStringCore("name", element.getNameElement(), false); + composeStringExtras("name", element.getNameElement(), false); + } if (element.hasTitleElement()) { composeStringCore("title", element.getTitleElement(), false); composeStringExtras("title", element.getTitleElement(), false); @@ -39180,6 +41045,10 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPurposeElement()) { + composeMarkdownCore("purpose", element.getPurposeElement(), false); + composeMarkdownExtras("purpose", element.getPurposeElement(), false); + } if (element.hasCopyrightElement()) { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); @@ -39192,9 +41061,6 @@ public class JsonParser extends JsonParserBase { composeDateCore("lastReviewDate", element.getLastReviewDateElement(), false); composeDateExtras("lastReviewDate", element.getLastReviewDateElement(), false); } - if (element.hasEffectivePeriod()) { - composePeriod("effectivePeriod", element.getEffectivePeriod()); - } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -39228,17 +41094,14 @@ public class JsonParser extends JsonParserBase { protected void composeChargeItemDefinitionApplicabilityComponentProperties(ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasDescriptionElement()) { - composeStringCore("description", element.getDescriptionElement(), false); - composeStringExtras("description", element.getDescriptionElement(), false); + if (element.hasCondition()) { + composeExpression("condition", element.getCondition()); } - if (element.hasLanguageElement()) { - composeStringCore("language", element.getLanguageElement(), false); - composeStringExtras("language", element.getLanguageElement(), false); + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); } - if (element.hasExpressionElement()) { - composeStringCore("expression", element.getExpressionElement(), false); - composeStringExtras("expression", element.getExpressionElement(), false); + if (element.hasRelatedArtifact()) { + composeRelatedArtifact("relatedArtifact", element.getRelatedArtifact()); } } @@ -39260,38 +41123,12 @@ public class JsonParser extends JsonParserBase { }; if (element.hasPriceComponent()) { openArray("priceComponent"); - for (ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent e : element.getPriceComponent()) - composeChargeItemDefinitionPropertyGroupPriceComponentComponent(null, e); + for (MonetaryComponent e : element.getPriceComponent()) + composeMonetaryComponent(null, e); closeArray(); }; } - protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponent(String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element) throws IOException { - if (element != null) { - open(name); - composeChargeItemDefinitionPropertyGroupPriceComponentComponentProperties(element); - close(); - } - } - - protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponentProperties(ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory(), false); - } - if (element.hasCode()) { - composeCodeableConcept("code", element.getCode()); - } - if (element.hasFactorElement()) { - composeDecimalCore("factor", element.getFactorElement(), false); - composeDecimalExtras("factor", element.getFactorElement(), false); - } - if (element.hasAmount()) { - composeMoney("amount", element.getAmount()); - } - } - protected void composeCitation(String name, Citation element) throws IOException { if (element != null) { prop("resourceType", name); @@ -39769,8 +41606,36 @@ public class JsonParser extends JsonParserBase { if (element.hasPublishedIn()) { composeCitationCitedArtifactPublicationFormPublishedInComponent("publishedIn", element.getPublishedIn()); } - if (element.hasPeriodicRelease()) { - composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent("periodicRelease", element.getPeriodicRelease()); + if (element.hasCitedMedium()) { + composeCodeableConcept("citedMedium", element.getCitedMedium()); + } + if (element.hasVolumeElement()) { + composeStringCore("volume", element.getVolumeElement(), false); + composeStringExtras("volume", element.getVolumeElement(), false); + } + if (element.hasIssueElement()) { + composeStringCore("issue", element.getIssueElement(), false); + composeStringExtras("issue", element.getIssueElement(), false); + } + if (element.hasPublicationDateYearElement()) { + composeStringCore("publicationDateYear", element.getPublicationDateYearElement(), false); + composeStringExtras("publicationDateYear", element.getPublicationDateYearElement(), false); + } + if (element.hasPublicationDateMonthElement()) { + composeStringCore("publicationDateMonth", element.getPublicationDateMonthElement(), false); + composeStringExtras("publicationDateMonth", element.getPublicationDateMonthElement(), false); + } + if (element.hasPublicationDateDayElement()) { + composeStringCore("publicationDateDay", element.getPublicationDateDayElement(), false); + composeStringExtras("publicationDateDay", element.getPublicationDateDayElement(), false); + } + if (element.hasPublicationDateSeasonElement()) { + composeStringCore("publicationDateSeason", element.getPublicationDateSeasonElement(), false); + composeStringExtras("publicationDateSeason", element.getPublicationDateSeasonElement(), false); + } + if (element.hasPublicationDateTextElement()) { + composeStringCore("publicationDateText", element.getPublicationDateTextElement(), false); + composeStringExtras("publicationDateText", element.getPublicationDateTextElement(), false); } if (element.hasArticleDateElement()) { composeDateTimeCore("articleDate", element.getArticleDateElement(), false); @@ -39844,68 +41709,6 @@ public class JsonParser extends JsonParserBase { } } - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element) throws IOException { - if (element != null) { - open(name); - composeCitationCitedArtifactPublicationFormPeriodicReleaseComponentProperties(element); - close(); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponentProperties(Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasCitedMedium()) { - composeCodeableConcept("citedMedium", element.getCitedMedium()); - } - if (element.hasVolumeElement()) { - composeStringCore("volume", element.getVolumeElement(), false); - composeStringExtras("volume", element.getVolumeElement(), false); - } - if (element.hasIssueElement()) { - composeStringCore("issue", element.getIssueElement(), false); - composeStringExtras("issue", element.getIssueElement(), false); - } - if (element.hasDateOfPublication()) { - composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent("dateOfPublication", element.getDateOfPublication()); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element) throws IOException { - if (element != null) { - open(name); - composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentProperties(element); - close(); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentProperties(Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDateElement()) { - composeDateCore("date", element.getDateElement(), false); - composeDateExtras("date", element.getDateElement(), false); - } - if (element.hasYearElement()) { - composeStringCore("year", element.getYearElement(), false); - composeStringExtras("year", element.getYearElement(), false); - } - if (element.hasMonthElement()) { - composeStringCore("month", element.getMonthElement(), false); - composeStringExtras("month", element.getMonthElement(), false); - } - if (element.hasDayElement()) { - composeStringCore("day", element.getDayElement(), false); - composeStringExtras("day", element.getDayElement(), false); - } - if (element.hasSeasonElement()) { - composeStringCore("season", element.getSeasonElement(), false); - composeStringExtras("season", element.getSeasonElement(), false); - } - if (element.hasTextElement()) { - composeStringCore("text", element.getTextElement(), false); - composeStringExtras("text", element.getTextElement(), false); - } - } - protected void composeCitationCitedArtifactWebLocationComponent(String name, Citation.CitationCitedArtifactWebLocationComponent element) throws IOException { if (element != null) { open(name); @@ -40147,9 +41950,18 @@ public class JsonParser extends JsonParserBase { if (element.hasReferral()) { composeReference("referral", element.getReferral()); } + if (element.hasEncounter()) { + openArray("encounter"); + for (Reference e : element.getEncounter()) + composeReference(null, e); + closeArray(); + }; if (element.hasFacility()) { composeReference("facility", element.getFacility()); } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept("diagnosisRelatedGroup", element.getDiagnosisRelatedGroup()); + } if (element.hasCareTeam()) { openArray("careTeam"); for (Claim.CareTeamComponent e : element.getCareTeam()) @@ -40183,6 +41995,9 @@ public class JsonParser extends JsonParserBase { if (element.hasAccident()) { composeAccidentComponent("accident", element.getAccident()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasItem()) { openArray("item"); for (Claim.ItemComponent e : element.getItem()) @@ -40257,8 +42072,8 @@ public class JsonParser extends JsonParserBase { if (element.hasRole()) { composeCodeableConcept("role", element.getRole()); } - if (element.hasQualification()) { - composeCodeableConcept("qualification", element.getQualification()); + if (element.hasSpecialty()) { + composeCodeableConcept("specialty", element.getSpecialty()); } } @@ -40319,9 +42134,6 @@ public class JsonParser extends JsonParserBase { if (element.hasOnAdmission()) { composeCodeableConcept("onAdmission", element.getOnAdmission()); } - if (element.hasPackageCode()) { - composeCodeableConcept("packageCode", element.getPackageCode()); - } } protected void composeProcedureComponent(String name, Claim.ProcedureComponent element) throws IOException { @@ -40507,6 +42319,9 @@ public class JsonParser extends JsonParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -40525,6 +42340,9 @@ public class JsonParser extends JsonParserBase { if (element.hasLocation()) { composeType("location", element.getLocation()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -40535,6 +42353,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -40545,12 +42366,9 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - openArray("subSite"); - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept(null, e); + openArray("bodySite"); + for (Claim.BodySiteComponent e : element.getBodySite()) + composeBodySiteComponent(null, e); closeArray(); }; if (element.hasEncounter()) { @@ -40567,6 +42385,30 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeBodySiteComponent(String name, Claim.BodySiteComponent element) throws IOException { + if (element != null) { + open(name); + composeBodySiteComponentProperties(element); + close(); + } + } + + protected void composeBodySiteComponentProperties(Claim.BodySiteComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasSite()) { + openArray("site"); + for (CodeableReference e : element.getSite()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasSubSite()) { + openArray("subSite"); + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept(null, e); + closeArray(); + }; + } + protected void composeDetailComponent(String name, Claim.DetailComponent element) throws IOException { if (element != null) { open(name); @@ -40590,6 +42432,9 @@ public class JsonParser extends JsonParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -40602,6 +42447,9 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -40612,6 +42460,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -40652,6 +42503,9 @@ public class JsonParser extends JsonParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -40664,6 +42518,9 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -40674,6 +42531,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -40734,6 +42594,9 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("outcome", element.getOutcomeElement(), new Enumerations.ClaimProcessingCodesEnumFactory(), false); composeEnumerationExtras("outcome", element.getOutcomeElement(), new Enumerations.ClaimProcessingCodesEnumFactory(), false); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasDispositionElement()) { composeStringCore("disposition", element.getDispositionElement(), false); composeStringExtras("disposition", element.getDispositionElement(), false); @@ -40748,6 +42611,15 @@ public class JsonParser extends JsonParserBase { if (element.hasPayeeType()) { composeCodeableConcept("payeeType", element.getPayeeType()); } + if (element.hasEncounter()) { + openArray("encounter"); + for (Reference e : element.getEncounter()) + composeReference(null, e); + closeArray(); + }; + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept("diagnosisRelatedGroup", element.getDiagnosisRelatedGroup()); + } if (element.hasItem()) { openArray("item"); for (ClaimResponse.ItemComponent e : element.getItem()) @@ -40838,6 +42710,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) @@ -40905,6 +42780,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) @@ -40947,6 +42825,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) @@ -41013,9 +42894,15 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -41044,16 +42931,16 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - openArray("subSite"); - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept(null, e); + openArray("bodySite"); + for (ClaimResponse.BodySiteComponent e : element.getBodySite()) + composeBodySiteComponent(null, e); closeArray(); }; if (element.hasNoteNumber()) { @@ -41070,6 +42957,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) @@ -41084,6 +42974,30 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeBodySiteComponent(String name, ClaimResponse.BodySiteComponent element) throws IOException { + if (element != null) { + open(name); + composeBodySiteComponentProperties(element); + close(); + } + } + + protected void composeBodySiteComponentProperties(ClaimResponse.BodySiteComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasSite()) { + openArray("site"); + for (CodeableReference e : element.getSite()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasSubSite()) { + openArray("subSite"); + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept(null, e); + closeArray(); + }; + } + protected void composeAddedItemDetailComponent(String name, ClaimResponse.AddedItemDetailComponent element) throws IOException { if (element != null) { open(name); @@ -41094,9 +43008,15 @@ public class JsonParser extends JsonParserBase { protected void composeAddedItemDetailComponentProperties(ClaimResponse.AddedItemDetailComponent element) throws IOException { composeBackboneElementProperties(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -41113,6 +43033,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -41130,6 +43053,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) @@ -41154,9 +43080,15 @@ public class JsonParser extends JsonParserBase { protected void composeAddedItemSubDetailComponentProperties(ClaimResponse.AddedItemSubDetailComponent element) throws IOException { composeBackboneElementProperties(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -41173,6 +43105,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -41190,6 +43125,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) @@ -41382,6 +43320,9 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasChangePattern()) { + composeCodeableConcept("changePattern", element.getChangePattern()); + } if (element.hasProtocol()) { if (anyHasValue(element.getProtocol())) { openArray("protocol"); @@ -41557,8 +43498,8 @@ public class JsonParser extends JsonParserBase { if (element.hasRelationshipType()) { composeCodeableConcept("relationshipType", element.getRelationshipType()); } - if (element.hasTherapy()) { - composeCodeableReference("therapy", element.getTherapy()); + if (element.hasTreatment()) { + composeCodeableReference("treatment", element.getTreatment()); } } @@ -41700,7 +43641,7 @@ public class JsonParser extends JsonParserBase { } protected void composeCodeSystemProperties(CodeSystem element) throws IOException { - composeCanonicalResourceProperties(element); + composeMetadataResourceProperties(element); if (element.hasUrlElement()) { composeUriCore("url", element.getUrlElement(), false); composeUriExtras("url", element.getUrlElement(), false); @@ -41769,6 +43710,53 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasApprovalDateElement()) { + composeDateCore("approvalDate", element.getApprovalDateElement(), false); + composeDateExtras("approvalDate", element.getApprovalDateElement(), false); + } + if (element.hasLastReviewDateElement()) { + composeDateCore("lastReviewDate", element.getLastReviewDateElement(), false); + composeDateExtras("lastReviewDate", element.getLastReviewDateElement(), false); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + openArray("topic"); + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasAuthor()) { + openArray("author"); + for (ContactDetail e : element.getAuthor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEditor()) { + openArray("editor"); + for (ContactDetail e : element.getEditor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasReviewer()) { + openArray("reviewer"); + for (ContactDetail e : element.getReviewer()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEndorser()) { + openArray("endorser"); + for (ContactDetail e : element.getEndorser()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasRelatedArtifact()) { + openArray("relatedArtifact"); + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact(null, e); + closeArray(); + }; if (element.hasCaseSensitiveElement()) { composeBooleanCore("caseSensitive", element.getCaseSensitiveElement(), false); composeBooleanExtras("caseSensitive", element.getCaseSensitiveElement(), false); @@ -41944,6 +43932,12 @@ public class JsonParser extends JsonParserBase { if (element.hasUse()) { composeCoding("use", element.getUse()); } + if (element.hasAdditionalUse()) { + openArray("additionalUse"); + for (Coding e : element.getAdditionalUse()) + composeCoding(null, e); + closeArray(); + }; if (element.hasValueElement()) { composeStringCore("value", element.getValueElement(), false); composeStringExtras("value", element.getValueElement(), false); @@ -42267,10 +44261,17 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } if (element.hasStatusElement()) { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); @@ -42355,6 +44356,14 @@ public class JsonParser extends JsonParserBase { composeStringCore("documentation", element.getDocumentationElement(), false); composeStringExtras("documentation", element.getDocumentationElement(), false); } + if (element.hasStartParamElement()) { + composeUriCore("startParam", element.getStartParamElement(), false); + composeUriExtras("startParam", element.getStartParamElement(), false); + } + if (element.hasEndParamElement()) { + composeUriCore("endParam", element.getEndParamElement(), false); + composeUriExtras("endParam", element.getEndParamElement(), false); + } } protected void composeComposition(String name, Composition element) throws IOException { @@ -42371,8 +44380,11 @@ public class JsonParser extends JsonParserBase { composeUriExtras("url", element.getUrlElement(), false); } if (element.hasIdentifier()) { - composeIdentifier("identifier", element.getIdentifier()); - } + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; if (element.hasVersionElement()) { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); @@ -42391,8 +44403,11 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasSubject()) { - composeReference("subject", element.getSubject()); - } + openArray("subject"); + for (Reference e : element.getSubject()) + composeReference(null, e); + closeArray(); + }; if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } @@ -42426,10 +44441,6 @@ public class JsonParser extends JsonParserBase { composeAnnotation(null, e); closeArray(); }; - if (element.hasConfidentialityElement()) { - composeCodeCore("confidentiality", element.getConfidentialityElement(), false); - composeCodeExtras("confidentiality", element.getConfidentialityElement(), false); - } if (element.hasAttester()) { openArray("attester"); for (Composition.CompositionAttesterComponent e : element.getAttester()) @@ -42638,6 +44649,53 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasApprovalDateElement()) { + composeDateCore("approvalDate", element.getApprovalDateElement(), false); + composeDateExtras("approvalDate", element.getApprovalDateElement(), false); + } + if (element.hasLastReviewDateElement()) { + composeDateCore("lastReviewDate", element.getLastReviewDateElement(), false); + composeDateExtras("lastReviewDate", element.getLastReviewDateElement(), false); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + openArray("topic"); + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasAuthor()) { + openArray("author"); + for (ContactDetail e : element.getAuthor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEditor()) { + openArray("editor"); + for (ContactDetail e : element.getEditor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasReviewer()) { + openArray("reviewer"); + for (ContactDetail e : element.getReviewer()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEndorser()) { + openArray("endorser"); + for (ContactDetail e : element.getEndorser()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasRelatedArtifact()) { + openArray("relatedArtifact"); + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact(null, e); + closeArray(); + }; if (element.hasSourceScope()) { composeType("sourceScope", element.getSourceScope()); } @@ -43348,8 +45406,8 @@ public class JsonParser extends JsonParserBase { protected void composeProvisionComponentProperties(Consent.ProvisionComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Consent.ConsentProvisionTypeEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Consent.ConsentProvisionTypeEnumFactory(), false); + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ConsentProvisionTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ConsentProvisionTypeEnumFactory(), false); } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); @@ -43439,8 +45497,8 @@ public class JsonParser extends JsonParserBase { protected void composeProvisionDataComponentProperties(Consent.ProvisionDataComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasMeaningElement()) { - composeEnumerationCore("meaning", element.getMeaningElement(), new Consent.ConsentDataMeaningEnumFactory(), false); - composeEnumerationExtras("meaning", element.getMeaningElement(), new Consent.ConsentDataMeaningEnumFactory(), false); + composeEnumerationCore("meaning", element.getMeaningElement(), new Enumerations.ConsentDataMeaningEnumFactory(), false); + composeEnumerationExtras("meaning", element.getMeaningElement(), new Enumerations.ConsentDataMeaningEnumFactory(), false); } if (element.hasReference()) { composeReference("reference", element.getReference()); @@ -44338,6 +46396,16 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory(), false); } + if (element.hasKindElement()) { + composeEnumerationCore("kind", element.getKindElement(), new Coverage.KindEnumFactory(), false); + composeEnumerationExtras("kind", element.getKindElement(), new Coverage.KindEnumFactory(), false); + } + if (element.hasPaymentBy()) { + openArray("paymentBy"); + for (Coverage.CoveragePaymentByComponent e : element.getPaymentBy()) + composeCoveragePaymentByComponent(null, e); + closeArray(); + }; if (element.hasType()) { composeCodeableConcept("type", element.getType()); } @@ -44348,8 +46416,11 @@ public class JsonParser extends JsonParserBase { composeReference("subscriber", element.getSubscriber()); } if (element.hasSubscriberId()) { - composeIdentifier("subscriberId", element.getSubscriberId()); - } + openArray("subscriberId"); + for (Identifier e : element.getSubscriberId()) + composeIdentifier(null, e); + closeArray(); + }; if (element.hasBeneficiary()) { composeReference("beneficiary", element.getBeneficiary()); } @@ -44363,12 +46434,9 @@ public class JsonParser extends JsonParserBase { if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } - if (element.hasPayor()) { - openArray("payor"); - for (Reference e : element.getPayor()) - composeReference(null, e); - closeArray(); - }; + if (element.hasInsurer()) { + composeReference("insurer", element.getInsurer()); + } if (element.hasClass_()) { openArray("class"); for (Coverage.ClassComponent e : element.getClass_()) @@ -44399,6 +46467,28 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasInsurancePlan()) { + composeReference("insurancePlan", element.getInsurancePlan()); + } + } + + protected void composeCoveragePaymentByComponent(String name, Coverage.CoveragePaymentByComponent element) throws IOException { + if (element != null) { + open(name); + composeCoveragePaymentByComponentProperties(element); + close(); + } + } + + protected void composeCoveragePaymentByComponentProperties(Coverage.CoveragePaymentByComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasParty()) { + composeReference("party", element.getParty()); + } + if (element.hasResponsibilityElement()) { + composeStringCore("responsibility", element.getResponsibilityElement(), false); + composeStringExtras("responsibility", element.getResponsibilityElement(), false); + } } protected void composeClassComponent(String name, Coverage.ClassComponent element) throws IOException { @@ -44414,9 +46504,8 @@ public class JsonParser extends JsonParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasValueElement()) { - composeStringCore("value", element.getValueElement(), false); - composeStringExtras("value", element.getValueElement(), false); + if (element.hasValue()) { + composeIdentifier("value", element.getValue()); } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); @@ -44437,6 +46526,18 @@ public class JsonParser extends JsonParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } + if (element.hasCategory()) { + composeCodeableConcept("category", element.getCategory()); + } + if (element.hasNetwork()) { + composeCodeableConcept("network", element.getNetwork()); + } + if (element.hasUnit()) { + composeCodeableConcept("unit", element.getUnit()); + } + if (element.hasTerm()) { + composeCodeableConcept("term", element.getTerm()); + } if (element.hasValue()) { composeType("value", element.getValue()); } @@ -44892,9 +46993,15 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasStatusElement()) { - composeEnumerationCore("status", element.getStatusElement(), new Enumerations.ObservationStatusEnumFactory(), false); - composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.ObservationStatusEnumFactory(), false); + composeEnumerationCore("status", element.getStatusElement(), new DetectedIssue.DetectedIssueStatusEnumFactory(), false); + composeEnumerationExtras("status", element.getStatusElement(), new DetectedIssue.DetectedIssueStatusEnumFactory(), false); } + if (element.hasCategory()) { + openArray("category"); + for (CodeableConcept e : element.getCategory()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -44902,8 +47009,8 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("severity", element.getSeverityElement(), new DetectedIssue.DetectedIssueSeverityEnumFactory(), false); composeEnumerationExtras("severity", element.getSeverityElement(), new DetectedIssue.DetectedIssueSeverityEnumFactory(), false); } - if (element.hasPatient()) { - composeReference("patient", element.getPatient()); + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); } if (element.hasIdentified()) { composeType("identified", element.getIdentified()); @@ -45017,12 +47124,9 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("status", element.getStatusElement(), new Device.FHIRDeviceStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Device.FHIRDeviceStatusEnumFactory(), false); } - if (element.hasStatusReason()) { - openArray("statusReason"); - for (CodeableConcept e : element.getStatusReason()) - composeCodeableConcept(null, e); - closeArray(); - }; + if (element.hasAvailabilityStatus()) { + composeCodeableConcept("availabilityStatus", element.getAvailabilityStatus()); + } if (element.hasBiologicalSourceEvent()) { composeIdentifier("biologicalSourceEvent", element.getBiologicalSourceEvent()); } @@ -45060,6 +47164,12 @@ public class JsonParser extends JsonParserBase { composeStringCore("partNumber", element.getPartNumberElement(), false); composeStringExtras("partNumber", element.getPartNumberElement(), false); } + if (element.hasCategory()) { + openArray("category"); + for (CodeableConcept e : element.getCategory()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasType()) { openArray("type"); for (CodeableConcept e : element.getType()) @@ -45084,13 +47194,10 @@ public class JsonParser extends JsonParserBase { composeDevicePropertyComponent(null, e); closeArray(); }; - if (element.hasSubject()) { - composeReference("subject", element.getSubject()); - } - if (element.hasOperationalState()) { - openArray("operationalState"); - for (Device.DeviceOperationalStateComponent e : element.getOperationalState()) - composeDeviceOperationalStateComponent(null, e); + if (element.hasOperation()) { + openArray("operation"); + for (Device.DeviceOperationComponent e : element.getOperation()) + composeDeviceOperationComponent(null, e); closeArray(); }; if (element.hasAssociation()) { @@ -45121,10 +47228,10 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; - if (element.hasLink()) { - openArray("link"); - for (Device.DeviceLinkComponent e : element.getLink()) - composeDeviceLinkComponent(null, e); + if (element.hasGateway()) { + openArray("gateway"); + for (CodeableReference e : element.getGateway()) + composeCodeableReference(null, e); closeArray(); }; if (element.hasNote()) { @@ -45266,15 +47373,15 @@ public class JsonParser extends JsonParserBase { } } - protected void composeDeviceOperationalStateComponent(String name, Device.DeviceOperationalStateComponent element) throws IOException { + protected void composeDeviceOperationComponent(String name, Device.DeviceOperationComponent element) throws IOException { if (element != null) { open(name); - composeDeviceOperationalStateComponentProperties(element); + composeDeviceOperationComponentProperties(element); close(); } } - protected void composeDeviceOperationalStateComponentProperties(Device.DeviceOperationalStateComponent element) throws IOException { + protected void composeDeviceOperationComponentProperties(Device.DeviceOperationComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasStatus()) { composeCodeableConcept("status", element.getStatus()); @@ -45298,7 +47405,7 @@ public class JsonParser extends JsonParserBase { composeCount("cycle", element.getCycle()); } if (element.hasDuration()) { - composeCodeableConcept("duration", element.getDuration()); + composeDuration("duration", element.getDuration()); } } @@ -45329,24 +47436,6 @@ public class JsonParser extends JsonParserBase { } } - protected void composeDeviceLinkComponent(String name, Device.DeviceLinkComponent element) throws IOException { - if (element != null) { - open(name); - composeDeviceLinkComponentProperties(element); - close(); - } - } - - protected void composeDeviceLinkComponentProperties(Device.DeviceLinkComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasRelation()) { - composeCoding("relation", element.getRelation()); - } - if (element.hasRelatedDevice()) { - composeCodeableReference("relatedDevice", element.getRelatedDevice()); - } - } - protected void composeDeviceDefinition(String name, DeviceDefinition element) throws IOException { if (element != null) { prop("resourceType", name); @@ -45372,6 +47461,12 @@ public class JsonParser extends JsonParserBase { composeDeviceDefinitionUdiDeviceIdentifierComponent(null, e); closeArray(); }; + if (element.hasRegulatoryIdentifier()) { + openArray("regulatoryIdentifier"); + for (DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent e : element.getRegulatoryIdentifier()) + composeDeviceDefinitionRegulatoryIdentifierComponent(null, e); + closeArray(); + }; if (element.hasPartNumberElement()) { composeStringCore("partNumber", element.getPartNumberElement(), false); composeStringExtras("partNumber", element.getPartNumberElement(), false); @@ -45548,6 +47643,34 @@ public class JsonParser extends JsonParserBase { } } + protected void composeDeviceDefinitionRegulatoryIdentifierComponent(String name, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent element) throws IOException { + if (element != null) { + open(name); + composeDeviceDefinitionRegulatoryIdentifierComponentProperties(element); + close(); + } + } + + protected void composeDeviceDefinitionRegulatoryIdentifierComponentProperties(DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTypeElement()) { + composeEnumerationCore("type", element.getTypeElement(), new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierTypeEnumFactory(), false); + } + if (element.hasDeviceIdentifierElement()) { + composeStringCore("deviceIdentifier", element.getDeviceIdentifierElement(), false); + composeStringExtras("deviceIdentifier", element.getDeviceIdentifierElement(), false); + } + if (element.hasIssuerElement()) { + composeUriCore("issuer", element.getIssuerElement(), false); + composeUriExtras("issuer", element.getIssuerElement(), false); + } + if (element.hasJurisdictionElement()) { + composeUriCore("jurisdiction", element.getJurisdictionElement(), false); + composeUriExtras("jurisdiction", element.getJurisdictionElement(), false); + } + } + protected void composeDeviceDefinitionDeviceNameComponent(String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element) throws IOException { if (element != null) { open(name); @@ -45636,8 +47759,8 @@ public class JsonParser extends JsonParserBase { }; if (element.hasUdiDeviceIdentifier()) { openArray("udiDeviceIdentifier"); - for (DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent e : element.getUdiDeviceIdentifier()) - composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(null, e); + for (DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent e : element.getUdiDeviceIdentifier()) + composeDeviceDefinitionUdiDeviceIdentifierComponent(null, e); closeArray(); }; if (element.hasPackaging()) { @@ -45670,52 +47793,6 @@ public class JsonParser extends JsonParserBase { }; } - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent element) throws IOException { - if (element != null) { - open(name); - composeDeviceDefinitionPackagingUdiDeviceIdentifierComponentProperties(element); - close(); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierComponentProperties(DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDeviceIdentifierElement()) { - composeStringCore("deviceIdentifier", element.getDeviceIdentifierElement(), false); - composeStringExtras("deviceIdentifier", element.getDeviceIdentifierElement(), false); - } - if (element.hasIssuerElement()) { - composeUriCore("issuer", element.getIssuerElement(), false); - composeUriExtras("issuer", element.getIssuerElement(), false); - } - if (element.hasJurisdictionElement()) { - composeUriCore("jurisdiction", element.getJurisdictionElement(), false); - composeUriExtras("jurisdiction", element.getJurisdictionElement(), false); - } - if (element.hasMarketDistribution()) { - composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent("marketDistribution", element.getMarketDistribution()); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent element) throws IOException { - if (element != null) { - open(name); - composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentProperties(element); - close(); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentProperties(DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasMarketPeriod()) { - composePeriod("marketPeriod", element.getMarketPeriod()); - } - if (element.hasSubJurisdictionElement()) { - composeUriCore("subJurisdiction", element.getSubJurisdictionElement(), false); - composeUriExtras("subJurisdiction", element.getSubJurisdictionElement(), false); - } - } - protected void composeDeviceDefinitionVersionComponent(String name, DeviceDefinition.DeviceDefinitionVersionComponent element) throws IOException { if (element != null) { open(name); @@ -46203,6 +48280,13 @@ public class JsonParser extends JsonParserBase { composeCodeableReference(null, e); closeArray(); }; + if (element.hasAsNeededElement()) { + composeBooleanCore("asNeeded", element.getAsNeededElement(), false); + composeBooleanExtras("asNeeded", element.getAsNeededElement(), false); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } if (element.hasInsurance()) { openArray("insurance"); for (Reference e : element.getInsurance()) @@ -46430,12 +48514,18 @@ public class JsonParser extends JsonParserBase { composeAnnotation(null, e); closeArray(); }; - if (element.hasImagingStudy()) { - openArray("imagingStudy"); - for (Reference e : element.getImagingStudy()) + if (element.hasStudy()) { + openArray("study"); + for (Reference e : element.getStudy()) composeReference(null, e); closeArray(); }; + if (element.hasSupportingInfo()) { + openArray("supportingInfo"); + for (DiagnosticReport.DiagnosticReportSupportingInfoComponent e : element.getSupportingInfo()) + composeDiagnosticReportSupportingInfoComponent(null, e); + closeArray(); + }; if (element.hasMedia()) { openArray("media"); for (DiagnosticReport.DiagnosticReportMediaComponent e : element.getMedia()) @@ -46463,6 +48553,24 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeDiagnosticReportSupportingInfoComponent(String name, DiagnosticReport.DiagnosticReportSupportingInfoComponent element) throws IOException { + if (element != null) { + open(name); + composeDiagnosticReportSupportingInfoComponentProperties(element); + close(); + } + } + + protected void composeDiagnosticReportSupportingInfoComponentProperties(DiagnosticReport.DiagnosticReportSupportingInfoComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasReference()) { + composeReference("reference", element.getReference()); + } + } + protected void composeDiagnosticReportMediaComponent(String name, DiagnosticReport.DiagnosticReportMediaComponent element) throws IOException { if (element != null) { open(name); @@ -46669,9 +48777,6 @@ public class JsonParser extends JsonParserBase { composeDocumentReferenceContentComponent(null, e); closeArray(); }; - if (element.hasSourcePatientInfo()) { - composeReference("sourcePatientInfo", element.getSourcePatientInfo()); - } } protected void composeDocumentReferenceAttesterComponent(String name, DocumentReference.DocumentReferenceAttesterComponent element) throws IOException { @@ -46733,7 +48838,7 @@ public class JsonParser extends JsonParserBase { composeDocumentReferenceContentProfileComponent(null, e); closeArray(); }; - } + } protected void composeDocumentReferenceContentProfileComponent(String name, DocumentReference.DocumentReferenceContentProfileComponent element) throws IOException { if (element != null) { @@ -46776,14 +48881,20 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasClass_()) { - composeCodeableConcept("class", element.getClass_()); - } + openArray("class"); + for (CodeableConcept e : element.getClass_()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasClassHistory()) { openArray("classHistory"); for (Encounter.ClassHistoryComponent e : element.getClassHistory()) composeClassHistoryComponent(null, e); closeArray(); }; + if (element.hasPriority()) { + composeCodeableConcept("priority", element.getPriority()); + } if (element.hasType()) { openArray("type"); for (CodeableConcept e : element.getType()) @@ -46791,11 +48902,11 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasServiceType()) { - composeCodeableReference("serviceType", element.getServiceType()); - } - if (element.hasPriority()) { - composeCodeableConcept("priority", element.getPriority()); - } + openArray("serviceType"); + for (CodeableReference e : element.getServiceType()) + composeCodeableReference(null, e); + closeArray(); + }; if (element.hasSubject()) { composeReference("subject", element.getSubject()); } @@ -46814,6 +48925,18 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasCareTeam()) { + openArray("careTeam"); + for (Reference e : element.getCareTeam()) + composeReference(null, e); + closeArray(); + }; + if (element.hasPartOf()) { + composeReference("partOf", element.getPartOf()); + } + if (element.hasServiceProvider()) { + composeReference("serviceProvider", element.getServiceProvider()); + } if (element.hasParticipant()) { openArray("participant"); for (Encounter.EncounterParticipantComponent e : element.getParticipant()) @@ -46826,6 +48949,12 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasVirtualService()) { + openArray("virtualService"); + for (VirtualServiceDetail e : element.getVirtualService()) + composeVirtualServiceDetail(null, e); + closeArray(); + }; if (element.hasActualPeriod()) { composePeriod("actualPeriod", element.getActualPeriod()); } @@ -46858,8 +48987,8 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; - if (element.hasHospitalization()) { - composeEncounterHospitalizationComponent("hospitalization", element.getHospitalization()); + if (element.hasAdmission()) { + composeEncounterAdmissionComponent("admission", element.getAdmission()); } if (element.hasLocation()) { openArray("location"); @@ -46867,12 +48996,6 @@ public class JsonParser extends JsonParserBase { composeEncounterLocationComponent(null, e); closeArray(); }; - if (element.hasServiceProvider()) { - composeReference("serviceProvider", element.getServiceProvider()); - } - if (element.hasPartOf()) { - composeReference("partOf", element.getPartOf()); - } } protected void composeStatusHistoryComponent(String name, Encounter.StatusHistoryComponent element) throws IOException { @@ -46958,15 +49081,15 @@ public class JsonParser extends JsonParserBase { } } - protected void composeEncounterHospitalizationComponent(String name, Encounter.EncounterHospitalizationComponent element) throws IOException { + protected void composeEncounterAdmissionComponent(String name, Encounter.EncounterAdmissionComponent element) throws IOException { if (element != null) { open(name); - composeEncounterHospitalizationComponentProperties(element); + composeEncounterAdmissionComponentProperties(element); close(); } } - protected void composeEncounterHospitalizationComponentProperties(Encounter.EncounterHospitalizationComponent element) throws IOException { + protected void composeEncounterAdmissionComponentProperties(Encounter.EncounterAdmissionComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasPreAdmissionIdentifier()) { composeIdentifier("preAdmissionIdentifier", element.getPreAdmissionIdentifier()); @@ -47023,8 +49146,8 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("status", element.getStatusElement(), new Encounter.EncounterLocationStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Encounter.EncounterLocationStatusEnumFactory(), false); } - if (element.hasPhysicalType()) { - composeCodeableConcept("physicalType", element.getPhysicalType()); + if (element.hasForm()) { + composeCodeableConcept("form", element.getForm()); } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); @@ -47052,14 +49175,24 @@ public class JsonParser extends JsonParserBase { } if (element.hasConnectionType()) { openArray("connectionType"); - for (Coding e : element.getConnectionType()) - composeCoding(null, e); + for (CodeableConcept e : element.getConnectionType()) + composeCodeableConcept(null, e); closeArray(); }; if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); } + if (element.hasDescriptionElement()) { + composeStringCore("description", element.getDescriptionElement(), false); + composeStringExtras("description", element.getDescriptionElement(), false); + } + if (element.hasEnvironmentType()) { + openArray("environmentType"); + for (CodeableConcept e : element.getEnvironmentType()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasManagingOrganization()) { composeReference("managingOrganization", element.getManagingOrganization()); } @@ -47246,9 +49379,9 @@ public class JsonParser extends JsonParserBase { if (element.hasCareManager()) { composeReference("careManager", element.getCareManager()); } - if (element.hasTeam()) { - openArray("team"); - for (Reference e : element.getTeam()) + if (element.hasCareTeam()) { + openArray("careTeam"); + for (Reference e : element.getCareTeam()) composeReference(null, e); closeArray(); }; @@ -47290,7 +49423,7 @@ public class JsonParser extends JsonParserBase { protected void composeDiagnosisComponentProperties(EpisodeOfCare.DiagnosisComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasCondition()) { - composeReference("condition", element.getCondition()); + composeCodeableReference("condition", element.getCondition()); } if (element.hasRole()) { composeCodeableConcept("role", element.getRole()); @@ -47567,9 +49700,12 @@ public class JsonParser extends JsonParserBase { if (element.hasSynthesisType()) { composeCodeableConcept("synthesisType", element.getSynthesisType()); } - if (element.hasStudyType()) { - composeCodeableConcept("studyType", element.getStudyType()); - } + if (element.hasStudyDesign()) { + openArray("studyDesign"); + for (CodeableConcept e : element.getStudyDesign()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasStatistic()) { openArray("statistic"); for (Evidence.EvidenceStatisticComponent e : element.getStatistic()) @@ -48310,25 +50446,12 @@ public class JsonParser extends JsonParserBase { if (element.hasDefinitionByCombination()) { composeEvidenceVariableCharacteristicDefinitionByCombinationComponent("definitionByCombination", element.getDefinitionByCombination()); } - if (element.hasMethod()) { - openArray("method"); - for (CodeableConcept e : element.getMethod()) - composeCodeableConcept(null, e); - closeArray(); - }; - if (element.hasDevice()) { - composeReference("device", element.getDevice()); - } if (element.hasTimeFromEvent()) { openArray("timeFromEvent"); for (EvidenceVariable.EvidenceVariableCharacteristicTimeFromEventComponent e : element.getTimeFromEvent()) composeEvidenceVariableCharacteristicTimeFromEventComponent(null, e); closeArray(); }; - if (element.hasGroupMeasureElement()) { - composeEnumerationCore("groupMeasure", element.getGroupMeasureElement(), new EvidenceVariable.GroupMeasureEnumFactory(), false); - composeEnumerationExtras("groupMeasure", element.getGroupMeasureElement(), new EvidenceVariable.GroupMeasureEnumFactory(), false); - } } protected void composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent element) throws IOException { @@ -48342,7 +50465,16 @@ public class JsonParser extends JsonParserBase { protected void composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponentProperties(EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasType()) { - composeType("type", element.getType()); + composeCodeableConcept("type", element.getType()); + } + if (element.hasMethod()) { + openArray("method"); + for (CodeableConcept e : element.getMethod()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasDevice()) { + composeReference("device", element.getDevice()); } if (element.hasValue()) { composeType("value", element.getValue()); @@ -48451,10 +50583,17 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } if (element.hasStatusElement()) { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); @@ -48477,6 +50616,10 @@ public class JsonParser extends JsonParserBase { composeContactDetail(null, e); closeArray(); }; + if (element.hasDescriptionElement()) { + composeMarkdownCore("description", element.getDescriptionElement(), false); + composeMarkdownExtras("description", element.getDescriptionElement(), false); + } if (element.hasUseContext()) { openArray("useContext"); for (UsageContext e : element.getUseContext()) @@ -48497,6 +50640,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasActor()) { openArray("actor"); for (ExampleScenario.ExampleScenarioActorComponent e : element.getActor()) @@ -48515,20 +50662,6 @@ public class JsonParser extends JsonParserBase { composeExampleScenarioProcessComponent(null, e); closeArray(); }; - if (element.hasWorkflow()) { - if (anyHasValue(element.getWorkflow())) { - openArray("workflow"); - for (CanonicalType e : element.getWorkflow()) - composeCanonicalCore(null, e, e != element.getWorkflow().get(element.getWorkflow().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getWorkflow())) { - openArray("_workflow"); - for (CanonicalType e : element.getWorkflow()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; } protected void composeExampleScenarioActorComponent(String name, ExampleScenario.ExampleScenarioActorComponent element) throws IOException { @@ -48541,17 +50674,17 @@ public class JsonParser extends JsonParserBase { protected void composeExampleScenarioActorComponentProperties(ExampleScenario.ExampleScenarioActorComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasActorIdElement()) { - composeStringCore("actorId", element.getActorIdElement(), false); - composeStringExtras("actorId", element.getActorIdElement(), false); + if (element.hasKeyElement()) { + composeStringCore("key", element.getKeyElement(), false); + composeStringExtras("key", element.getKeyElement(), false); } if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new ExampleScenario.ExampleScenarioActorTypeEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new ExampleScenario.ExampleScenarioActorTypeEnumFactory(), false); + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ExampleScenarioActorTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ExampleScenarioActorTypeEnumFactory(), false); } - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); } if (element.hasDescriptionElement()) { composeMarkdownCore("description", element.getDescriptionElement(), false); @@ -48569,22 +50702,31 @@ public class JsonParser extends JsonParserBase { protected void composeExampleScenarioInstanceComponentProperties(ExampleScenario.ExampleScenarioInstanceComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasResourceIdElement()) { - composeStringCore("resourceId", element.getResourceIdElement(), false); - composeStringExtras("resourceId", element.getResourceIdElement(), false); + if (element.hasKeyElement()) { + composeStringCore("key", element.getKeyElement(), false); + composeStringExtras("key", element.getKeyElement(), false); } - if (element.hasTypeElement()) { - composeCodeCore("type", element.getTypeElement(), false); - composeCodeExtras("type", element.getTypeElement(), false); + if (element.hasStructureType()) { + composeCoding("structureType", element.getStructureType()); } - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); + if (element.hasStructureVersionElement()) { + composeStringCore("structureVersion", element.getStructureVersionElement(), false); + composeStringExtras("structureVersion", element.getStructureVersionElement(), false); + } + if (element.hasStructureProfile()) { + composeType("structureProfile", element.getStructureProfile()); + } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); } if (element.hasDescriptionElement()) { composeMarkdownCore("description", element.getDescriptionElement(), false); composeMarkdownExtras("description", element.getDescriptionElement(), false); } + if (element.hasContent()) { + composeReference("content", element.getContent()); + } if (element.hasVersion()) { openArray("version"); for (ExampleScenario.ExampleScenarioInstanceVersionComponent e : element.getVersion()) @@ -48609,14 +50751,17 @@ public class JsonParser extends JsonParserBase { protected void composeExampleScenarioInstanceVersionComponentProperties(ExampleScenario.ExampleScenarioInstanceVersionComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasVersionIdElement()) { - composeStringCore("versionId", element.getVersionIdElement(), false); - composeStringExtras("versionId", element.getVersionIdElement(), false); + if (element.hasKeyElement()) { + composeStringCore("key", element.getKeyElement(), false); + composeStringExtras("key", element.getKeyElement(), false); } if (element.hasDescriptionElement()) { composeMarkdownCore("description", element.getDescriptionElement(), false); composeMarkdownExtras("description", element.getDescriptionElement(), false); } + if (element.hasContent()) { + composeReference("content", element.getContent()); + } } protected void composeExampleScenarioInstanceContainedInstanceComponent(String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element) throws IOException { @@ -48629,13 +50774,13 @@ public class JsonParser extends JsonParserBase { protected void composeExampleScenarioInstanceContainedInstanceComponentProperties(ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasResourceIdElement()) { - composeStringCore("resourceId", element.getResourceIdElement(), false); - composeStringExtras("resourceId", element.getResourceIdElement(), false); + if (element.hasInstanceReferenceElement()) { + composeStringCore("instanceReference", element.getInstanceReferenceElement(), false); + composeStringExtras("instanceReference", element.getInstanceReferenceElement(), false); } - if (element.hasVersionIdElement()) { - composeStringCore("versionId", element.getVersionIdElement(), false); - composeStringExtras("versionId", element.getVersionIdElement(), false); + if (element.hasVersionReferenceElement()) { + composeStringCore("versionReference", element.getVersionReferenceElement(), false); + composeStringExtras("versionReference", element.getVersionReferenceElement(), false); } } @@ -48683,15 +50828,16 @@ public class JsonParser extends JsonParserBase { protected void composeExampleScenarioProcessStepComponentProperties(ExampleScenario.ExampleScenarioProcessStepComponent element) throws IOException { composeBackboneElementProperties(element); + if (element.hasNumberElement()) { + composeStringCore("number", element.getNumberElement(), false); + composeStringExtras("number", element.getNumberElement(), false); + } if (element.hasProcess()) { - openArray("process"); - for (ExampleScenario.ExampleScenarioProcessComponent e : element.getProcess()) - composeExampleScenarioProcessComponent(null, e); - closeArray(); - }; - if (element.hasPauseElement()) { - composeBooleanCore("pause", element.getPauseElement(), false); - composeBooleanExtras("pause", element.getPauseElement(), false); + composeExampleScenarioProcessComponent("process", element.getProcess()); + } + if (element.hasWorkflowElement()) { + composeCanonicalCore("workflow", element.getWorkflowElement(), false); + composeCanonicalExtras("workflow", element.getWorkflowElement(), false); } if (element.hasOperation()) { composeExampleScenarioProcessStepOperationComponent("operation", element.getOperation()); @@ -48702,6 +50848,10 @@ public class JsonParser extends JsonParserBase { composeExampleScenarioProcessStepAlternativeComponent(null, e); closeArray(); }; + if (element.hasPauseElement()) { + composeBooleanCore("pause", element.getPauseElement(), false); + composeBooleanExtras("pause", element.getPauseElement(), false); + } } protected void composeExampleScenarioProcessStepOperationComponent(String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element) throws IOException { @@ -48714,17 +50864,12 @@ public class JsonParser extends JsonParserBase { protected void composeExampleScenarioProcessStepOperationComponentProperties(ExampleScenario.ExampleScenarioProcessStepOperationComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasNumberElement()) { - composeStringCore("number", element.getNumberElement(), false); - composeStringExtras("number", element.getNumberElement(), false); + if (element.hasType()) { + composeCoding("type", element.getType()); } - if (element.hasTypeElement()) { - composeStringCore("type", element.getTypeElement(), false); - composeStringExtras("type", element.getTypeElement(), false); - } - if (element.hasNameElement()) { - composeStringCore("name", element.getNameElement(), false); - composeStringExtras("name", element.getNameElement(), false); + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); } if (element.hasInitiatorElement()) { composeStringCore("initiator", element.getInitiatorElement(), false); @@ -48855,6 +51000,12 @@ public class JsonParser extends JsonParserBase { if (element.hasReferral()) { composeReference("referral", element.getReferral()); } + if (element.hasEncounter()) { + openArray("encounter"); + for (Reference e : element.getEncounter()) + composeReference(null, e); + closeArray(); + }; if (element.hasFacility()) { composeReference("facility", element.getFacility()); } @@ -48868,6 +51019,9 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("outcome", element.getOutcomeElement(), new Enumerations.ClaimProcessingCodesEnumFactory(), false); composeEnumerationExtras("outcome", element.getOutcomeElement(), new Enumerations.ClaimProcessingCodesEnumFactory(), false); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasDispositionElement()) { composeStringCore("disposition", element.getDispositionElement(), false); composeStringExtras("disposition", element.getDispositionElement(), false); @@ -48892,6 +51046,9 @@ public class JsonParser extends JsonParserBase { composePeriod(null, e); closeArray(); }; + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept("diagnosisRelatedGroup", element.getDiagnosisRelatedGroup()); + } if (element.hasCareTeam()) { openArray("careTeam"); for (ExplanationOfBenefit.CareTeamComponent e : element.getCareTeam()) @@ -48929,6 +51086,9 @@ public class JsonParser extends JsonParserBase { if (element.hasAccident()) { composeAccidentComponent("accident", element.getAccident()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasItem()) { openArray("item"); for (ExplanationOfBenefit.ItemComponent e : element.getItem()) @@ -49042,8 +51202,8 @@ public class JsonParser extends JsonParserBase { if (element.hasRole()) { composeCodeableConcept("role", element.getRole()); } - if (element.hasQualification()) { - composeCodeableConcept("qualification", element.getQualification()); + if (element.hasSpecialty()) { + composeCodeableConcept("specialty", element.getSpecialty()); } } @@ -49104,9 +51264,6 @@ public class JsonParser extends JsonParserBase { if (element.hasOnAdmission()) { composeCodeableConcept("onAdmission", element.getOnAdmission()); } - if (element.hasPackageCode()) { - composeCodeableConcept("packageCode", element.getPackageCode()); - } } protected void composeProcedureComponent(String name, ExplanationOfBenefit.ProcedureComponent element) throws IOException { @@ -49278,6 +51435,9 @@ public class JsonParser extends JsonParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -49296,6 +51456,9 @@ public class JsonParser extends JsonParserBase { if (element.hasLocation()) { composeType("location", element.getLocation()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -49306,6 +51469,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -49316,12 +51482,9 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - openArray("subSite"); - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept(null, e); + openArray("bodySite"); + for (ExplanationOfBenefit.BodySiteComponent e : element.getBodySite()) + composeBodySiteComponent(null, e); closeArray(); }; if (element.hasEncounter()) { @@ -49344,6 +51507,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) @@ -49358,6 +51524,30 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeBodySiteComponent(String name, ExplanationOfBenefit.BodySiteComponent element) throws IOException { + if (element != null) { + open(name); + composeBodySiteComponentProperties(element); + close(); + } + } + + protected void composeBodySiteComponentProperties(ExplanationOfBenefit.BodySiteComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasSite()) { + openArray("site"); + for (CodeableReference e : element.getSite()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasSubSite()) { + openArray("subSite"); + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept(null, e); + closeArray(); + }; + } + protected void composeAdjudicationComponent(String name, ExplanationOfBenefit.AdjudicationComponent element) throws IOException { if (element != null) { open(name); @@ -49406,6 +51596,9 @@ public class JsonParser extends JsonParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -49418,6 +51611,9 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -49428,6 +51624,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -49451,6 +51650,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) @@ -49488,6 +51690,9 @@ public class JsonParser extends JsonParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -49500,6 +51705,9 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -49510,6 +51718,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -49533,6 +51744,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) @@ -49599,9 +51813,15 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) @@ -49620,6 +51840,9 @@ public class JsonParser extends JsonParserBase { if (element.hasLocation()) { composeType("location", element.getLocation()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -49630,16 +51853,16 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - openArray("subSite"); - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept(null, e); + openArray("bodySite"); + for (ExplanationOfBenefit.BodySiteComponentA e : element.getBodySite()) + composeBodySiteComponentA(null, e); closeArray(); }; if (element.hasNoteNumber()) { @@ -49656,6 +51879,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) @@ -49670,6 +51896,30 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeBodySiteComponentA(String name, ExplanationOfBenefit.BodySiteComponentA element) throws IOException { + if (element != null) { + open(name); + composeBodySiteComponentAProperties(element); + close(); + } + } + + protected void composeBodySiteComponentAProperties(ExplanationOfBenefit.BodySiteComponentA element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasSite()) { + openArray("site"); + for (CodeableReference e : element.getSite()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasSubSite()) { + openArray("subSite"); + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept(null, e); + closeArray(); + }; + } + protected void composeAddedItemDetailComponent(String name, ExplanationOfBenefit.AddedItemDetailComponent element) throws IOException { if (element != null) { open(name); @@ -49680,15 +51930,24 @@ public class JsonParser extends JsonParserBase { protected void composeAddedItemDetailComponentProperties(ExplanationOfBenefit.AddedItemDetailComponent element) throws IOException { composeBackboneElementProperties(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -49699,6 +51958,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -49716,6 +51978,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) @@ -49740,15 +52005,24 @@ public class JsonParser extends JsonParserBase { protected void composeAddedItemDetailSubDetailComponentProperties(ExplanationOfBenefit.AddedItemDetailSubDetailComponent element) throws IOException { composeBackboneElementProperties(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { openArray("modifier"); for (CodeableConcept e : element.getModifier()) composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -49759,6 +52033,9 @@ public class JsonParser extends JsonParserBase { composeDecimalCore("factor", element.getFactorElement(), false); composeDecimalExtras("factor", element.getFactorElement(), false); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -49776,6 +52053,9 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { openArray("adjudication"); for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) @@ -50157,6 +52437,265 @@ public class JsonParser extends JsonParserBase { } } + protected void composeGenomicStudy(String name, GenomicStudy element) throws IOException { + if (element != null) { + prop("resourceType", name); + composeGenomicStudyProperties(element); + } + } + + protected void composeGenomicStudyProperties(GenomicStudy element) throws IOException { + composeDomainResourceProperties(element); + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; + if (element.hasStatus()) { + composeCodeableConcept("status", element.getStatus()); + } + if (element.hasType()) { + openArray("type"); + for (CodeableConcept e : element.getType()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); + } + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); + } + if (element.hasStartDateElement()) { + composeDateTimeCore("startDate", element.getStartDateElement(), false); + composeDateTimeExtras("startDate", element.getStartDateElement(), false); + } + if (element.hasBasedOn()) { + openArray("basedOn"); + for (Reference e : element.getBasedOn()) + composeReference(null, e); + closeArray(); + }; + if (element.hasReferrer()) { + composeReference("referrer", element.getReferrer()); + } + if (element.hasInterpreter()) { + openArray("interpreter"); + for (Reference e : element.getInterpreter()) + composeReference(null, e); + closeArray(); + }; + if (element.hasReason()) { + openArray("reason"); + for (CodeableReference e : element.getReason()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasInstantiatesCanonicalElement()) { + composeCanonicalCore("instantiatesCanonical", element.getInstantiatesCanonicalElement(), false); + composeCanonicalExtras("instantiatesCanonical", element.getInstantiatesCanonicalElement(), false); + } + if (element.hasInstantiatesUriElement()) { + composeUriCore("instantiatesUri", element.getInstantiatesUriElement(), false); + composeUriExtras("instantiatesUri", element.getInstantiatesUriElement(), false); + } + if (element.hasNote()) { + openArray("note"); + for (Annotation e : element.getNote()) + composeAnnotation(null, e); + closeArray(); + }; + if (element.hasDescriptionElement()) { + composeStringCore("description", element.getDescriptionElement(), false); + composeStringExtras("description", element.getDescriptionElement(), false); + } + if (element.hasAnalysis()) { + openArray("analysis"); + for (GenomicStudy.GenomicStudyAnalysisComponent e : element.getAnalysis()) + composeGenomicStudyAnalysisComponent(null, e); + closeArray(); + }; + } + + protected void composeGenomicStudyAnalysisComponent(String name, GenomicStudy.GenomicStudyAnalysisComponent element) throws IOException { + if (element != null) { + open(name); + composeGenomicStudyAnalysisComponentProperties(element); + close(); + } + } + + protected void composeGenomicStudyAnalysisComponentProperties(GenomicStudy.GenomicStudyAnalysisComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; + if (element.hasMethodType()) { + openArray("methodType"); + for (CodeableConcept e : element.getMethodType()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasChangeType()) { + openArray("changeType"); + for (CodeableConcept e : element.getChangeType()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasGenomeBuild()) { + composeCodeableConcept("genomeBuild", element.getGenomeBuild()); + } + if (element.hasInstantiatesCanonicalElement()) { + composeCanonicalCore("instantiatesCanonical", element.getInstantiatesCanonicalElement(), false); + composeCanonicalExtras("instantiatesCanonical", element.getInstantiatesCanonicalElement(), false); + } + if (element.hasInstantiatesUriElement()) { + composeUriCore("instantiatesUri", element.getInstantiatesUriElement(), false); + composeUriExtras("instantiatesUri", element.getInstantiatesUriElement(), false); + } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); + } + if (element.hasSpecimen()) { + openArray("specimen"); + for (Reference e : element.getSpecimen()) + composeReference(null, e); + closeArray(); + }; + if (element.hasDateElement()) { + composeDateTimeCore("date", element.getDateElement(), false); + composeDateTimeExtras("date", element.getDateElement(), false); + } + if (element.hasNote()) { + openArray("note"); + for (Annotation e : element.getNote()) + composeAnnotation(null, e); + closeArray(); + }; + if (element.hasProtocolPerformed()) { + composeReference("protocolPerformed", element.getProtocolPerformed()); + } + if (element.hasRegionsStudied()) { + openArray("regionsStudied"); + for (Reference e : element.getRegionsStudied()) + composeReference(null, e); + closeArray(); + }; + if (element.hasRegionsCalled()) { + openArray("regionsCalled"); + for (Reference e : element.getRegionsCalled()) + composeReference(null, e); + closeArray(); + }; + if (element.hasInput()) { + openArray("input"); + for (GenomicStudy.GenomicStudyAnalysisInputComponent e : element.getInput()) + composeGenomicStudyAnalysisInputComponent(null, e); + closeArray(); + }; + if (element.hasOutput()) { + openArray("output"); + for (GenomicStudy.GenomicStudyAnalysisOutputComponent e : element.getOutput()) + composeGenomicStudyAnalysisOutputComponent(null, e); + closeArray(); + }; + if (element.hasPerformer()) { + openArray("performer"); + for (GenomicStudy.GenomicStudyAnalysisPerformerComponent e : element.getPerformer()) + composeGenomicStudyAnalysisPerformerComponent(null, e); + closeArray(); + }; + if (element.hasDevice()) { + openArray("device"); + for (GenomicStudy.GenomicStudyAnalysisDeviceComponent e : element.getDevice()) + composeGenomicStudyAnalysisDeviceComponent(null, e); + closeArray(); + }; + } + + protected void composeGenomicStudyAnalysisInputComponent(String name, GenomicStudy.GenomicStudyAnalysisInputComponent element) throws IOException { + if (element != null) { + open(name); + composeGenomicStudyAnalysisInputComponentProperties(element); + close(); + } + } + + protected void composeGenomicStudyAnalysisInputComponentProperties(GenomicStudy.GenomicStudyAnalysisInputComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasFile()) { + composeReference("file", element.getFile()); + } + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasGeneratedBy()) { + composeType("generatedBy", element.getGeneratedBy()); + } + } + + protected void composeGenomicStudyAnalysisOutputComponent(String name, GenomicStudy.GenomicStudyAnalysisOutputComponent element) throws IOException { + if (element != null) { + open(name); + composeGenomicStudyAnalysisOutputComponentProperties(element); + close(); + } + } + + protected void composeGenomicStudyAnalysisOutputComponentProperties(GenomicStudy.GenomicStudyAnalysisOutputComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasFile()) { + composeReference("file", element.getFile()); + } + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + } + + protected void composeGenomicStudyAnalysisPerformerComponent(String name, GenomicStudy.GenomicStudyAnalysisPerformerComponent element) throws IOException { + if (element != null) { + open(name); + composeGenomicStudyAnalysisPerformerComponentProperties(element); + close(); + } + } + + protected void composeGenomicStudyAnalysisPerformerComponentProperties(GenomicStudy.GenomicStudyAnalysisPerformerComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasActor()) { + composeReference("actor", element.getActor()); + } + if (element.hasRole()) { + composeCodeableConcept("role", element.getRole()); + } + } + + protected void composeGenomicStudyAnalysisDeviceComponent(String name, GenomicStudy.GenomicStudyAnalysisDeviceComponent element) throws IOException { + if (element != null) { + open(name); + composeGenomicStudyAnalysisDeviceComponentProperties(element); + close(); + } + } + + protected void composeGenomicStudyAnalysisDeviceComponentProperties(GenomicStudy.GenomicStudyAnalysisDeviceComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasDevice()) { + composeReference("device", element.getDevice()); + } + if (element.hasFunction()) { + composeCodeableConcept("function", element.getFunction()); + } + } + protected void composeGoal(String name, Goal element) throws IOException { if (element != null) { prop("resourceType", name); @@ -50276,10 +52815,17 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } if (element.hasStatusElement()) { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); @@ -50387,8 +52933,8 @@ public class JsonParser extends JsonParserBase { protected void composeGraphDefinitionLinkTargetComponentProperties(GraphDefinition.GraphDefinitionLinkTargetComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasTypeElement()) { - composeCodeCore("type", element.getTypeElement(), false); - composeCodeExtras("type", element.getTypeElement(), false); + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.AllResourceTypesEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.AllResourceTypesEnumFactory(), false); } if (element.hasParamsElement()) { composeStringCore("params", element.getParamsElement(), false); @@ -50467,9 +53013,9 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("type", element.getTypeElement(), new Group.GroupTypeEnumFactory(), false); composeEnumerationExtras("type", element.getTypeElement(), new Group.GroupTypeEnumFactory(), false); } - if (element.hasActualElement()) { - composeBooleanCore("actual", element.getActualElement(), false); - composeBooleanExtras("actual", element.getActualElement(), false); + if (element.hasMembershipElement()) { + composeEnumerationCore("membership", element.getMembershipElement(), new Group.GroupMembershipBasisEnumFactory(), false); + composeEnumerationExtras("membership", element.getMembershipElement(), new Group.GroupMembershipBasisEnumFactory(), false); } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); @@ -50642,6 +53188,12 @@ public class JsonParser extends JsonParserBase { if (element.hasProvidedBy()) { composeReference("providedBy", element.getProvidedBy()); } + if (element.hasOfferedIn()) { + openArray("offeredIn"); + for (Reference e : element.getOfferedIn()) + composeReference(null, e); + closeArray(); + }; if (element.hasCategory()) { openArray("category"); for (CodeableConcept e : element.getCategory()) @@ -50687,12 +53239,6 @@ public class JsonParser extends JsonParserBase { composeExtendedContactDetail(null, e); closeArray(); }; - if (element.hasTelecom()) { - openArray("telecom"); - for (ContactPoint e : element.getTelecom()) - composeContactPoint(null, e); - closeArray(); - }; if (element.hasCoverageArea()) { openArray("coverageArea"); for (Reference e : element.getCoverageArea()) @@ -50739,22 +53285,12 @@ public class JsonParser extends JsonParserBase { composeBooleanCore("appointmentRequired", element.getAppointmentRequiredElement(), false); composeBooleanExtras("appointmentRequired", element.getAppointmentRequiredElement(), false); } - if (element.hasAvailableTime()) { - openArray("availableTime"); - for (HealthcareService.HealthcareServiceAvailableTimeComponent e : element.getAvailableTime()) - composeHealthcareServiceAvailableTimeComponent(null, e); + if (element.hasAvailability()) { + openArray("availability"); + for (Availability e : element.getAvailability()) + composeAvailability(null, e); closeArray(); }; - if (element.hasNotAvailable()) { - openArray("notAvailable"); - for (HealthcareService.HealthcareServiceNotAvailableComponent e : element.getNotAvailable()) - composeHealthcareServiceNotAvailableComponent(null, e); - closeArray(); - }; - if (element.hasAvailabilityExceptionsElement()) { - composeStringCore("availabilityExceptions", element.getAvailabilityExceptionsElement(), false); - composeStringExtras("availabilityExceptions", element.getAvailabilityExceptionsElement(), false); - } if (element.hasEndpoint()) { openArray("endpoint"); for (Reference e : element.getEndpoint()) @@ -50782,61 +53318,6 @@ public class JsonParser extends JsonParserBase { } } - protected void composeHealthcareServiceAvailableTimeComponent(String name, HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { - if (element != null) { - open(name); - composeHealthcareServiceAvailableTimeComponentProperties(element); - close(); - } - } - - protected void composeHealthcareServiceAvailableTimeComponentProperties(HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDaysOfWeek()) { - openArray("daysOfWeek"); - for (Enumeration e : element.getDaysOfWeek()) - composeEnumerationCore(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); - closeArray(); - if (anyHasExtras(element.getDaysOfWeek())) { - openArray("_daysOfWeek"); - for (Enumeration e : element.getDaysOfWeek()) - composeEnumerationExtras(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); - closeArray(); - } - }; - if (element.hasAllDayElement()) { - composeBooleanCore("allDay", element.getAllDayElement(), false); - composeBooleanExtras("allDay", element.getAllDayElement(), false); - } - if (element.hasAvailableStartTimeElement()) { - composeTimeCore("availableStartTime", element.getAvailableStartTimeElement(), false); - composeTimeExtras("availableStartTime", element.getAvailableStartTimeElement(), false); - } - if (element.hasAvailableEndTimeElement()) { - composeTimeCore("availableEndTime", element.getAvailableEndTimeElement(), false); - composeTimeExtras("availableEndTime", element.getAvailableEndTimeElement(), false); - } - } - - protected void composeHealthcareServiceNotAvailableComponent(String name, HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { - if (element != null) { - open(name); - composeHealthcareServiceNotAvailableComponentProperties(element); - close(); - } - } - - protected void composeHealthcareServiceNotAvailableComponentProperties(HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDescriptionElement()) { - composeStringCore("description", element.getDescriptionElement(), false); - composeStringExtras("description", element.getDescriptionElement(), false); - } - if (element.hasDuring()) { - composePeriod("during", element.getDuring()); - } - } - protected void composeImagingSelection(String name, ImagingSelection element) throws IOException { if (element != null) { prop("resourceType", name); @@ -50904,6 +53385,10 @@ public class JsonParser extends JsonParserBase { composeIdCore("seriesUid", element.getSeriesUidElement(), false); composeIdExtras("seriesUid", element.getSeriesUidElement(), false); } + if (element.hasSeriesNumberElement()) { + composeUnsignedIntCore("seriesNumber", element.getSeriesNumberElement(), false); + composeUnsignedIntExtras("seriesNumber", element.getSeriesNumberElement(), false); + } if (element.hasFrameOfReferenceUidElement()) { composeIdCore("frameOfReferenceUid", element.getFrameOfReferenceUidElement(), false); composeIdExtras("frameOfReferenceUid", element.getFrameOfReferenceUidElement(), false); @@ -50911,6 +53396,12 @@ public class JsonParser extends JsonParserBase { if (element.hasBodySite()) { composeCodeableReference("bodySite", element.getBodySite()); } + if (element.hasFocus()) { + openArray("focus"); + for (Reference e : element.getFocus()) + composeReference(null, e); + closeArray(); + }; if (element.hasInstance()) { openArray("instance"); for (ImagingSelection.ImagingSelectionInstanceComponent e : element.getInstance()) @@ -50919,8 +53410,8 @@ public class JsonParser extends JsonParserBase { }; if (element.hasImageRegion()) { openArray("imageRegion"); - for (ImagingSelection.ImagingSelectionImageRegionComponent e : element.getImageRegion()) - composeImagingSelectionImageRegionComponent(null, e); + for (ImagingSelection.ImageRegionComponent e : element.getImageRegion()) + composeImageRegionComponent(null, e); closeArray(); }; } @@ -50957,6 +53448,10 @@ public class JsonParser extends JsonParserBase { composeIdCore("uid", element.getUidElement(), false); composeIdExtras("uid", element.getUidElement(), false); } + if (element.hasNumberElement()) { + composeUnsignedIntCore("number", element.getNumberElement(), false); + composeUnsignedIntExtras("number", element.getNumberElement(), false); + } if (element.hasSopClass()) { composeCoding("sopClass", element.getSopClass()); } @@ -50988,7 +53483,7 @@ public class JsonParser extends JsonParserBase { composeImagingSelectionInstanceImageRegionComponentProperties(element); close(); } - } + } protected void composeImagingSelectionInstanceImageRegionComponentProperties(ImagingSelection.ImagingSelectionInstanceImageRegionComponent element) throws IOException { composeBackboneElementProperties(element); @@ -51012,15 +53507,15 @@ public class JsonParser extends JsonParserBase { }; } - protected void composeImagingSelectionImageRegionComponent(String name, ImagingSelection.ImagingSelectionImageRegionComponent element) throws IOException { + protected void composeImageRegionComponent(String name, ImagingSelection.ImageRegionComponent element) throws IOException { if (element != null) { open(name); - composeImagingSelectionImageRegionComponentProperties(element); + composeImageRegionComponentProperties(element); close(); } } - protected void composeImagingSelectionImageRegionComponentProperties(ImagingSelection.ImagingSelectionImageRegionComponent element) throws IOException { + protected void composeImageRegionComponentProperties(ImagingSelection.ImageRegionComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasRegionTypeElement()) { composeEnumerationCore("regionType", element.getRegionTypeElement(), new ImagingSelection.ImagingSelection3DGraphicTypeEnumFactory(), false); @@ -51032,7 +53527,7 @@ public class JsonParser extends JsonParserBase { for (DecimalType e : element.getCoordinate()) composeDecimalCore(null, e, e != element.getCoordinate().get(element.getCoordinate().size()-1)); closeArray(); - } + } if (anyHasExtras(element.getCoordinate())) { openArray("_coordinate"); for (DecimalType e : element.getCoordinate()) @@ -51264,34 +53759,6 @@ public class JsonParser extends JsonParserBase { composeIdentifier(null, e); closeArray(); }; - if (element.hasInstantiatesCanonical()) { - if (anyHasValue(element.getInstantiatesCanonical())) { - openArray("instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalCore(null, e, e != element.getInstantiatesCanonical().get(element.getInstantiatesCanonical().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesCanonical())) { - openArray("_instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasInstantiatesUri()) { - if (anyHasValue(element.getInstantiatesUri())) { - openArray("instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriCore(null, e, e != element.getInstantiatesUri().get(element.getInstantiatesUri().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesUri())) { - openArray("_instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriExtras(null, e, true); - closeArray(); - } - }; if (element.hasBasedOn()) { openArray("basedOn"); for (Reference e : element.getBasedOn()) @@ -51308,8 +53775,11 @@ public class JsonParser extends JsonParserBase { if (element.hasVaccineCode()) { composeCodeableConcept("vaccineCode", element.getVaccineCode()); } + if (element.hasAdministeredProduct()) { + composeCodeableReference("administeredProduct", element.getAdministeredProduct()); + } if (element.hasManufacturer()) { - composeReference("manufacturer", element.getManufacturer()); + composeCodeableReference("manufacturer", element.getManufacturer()); } if (element.hasLotNumberElement()) { composeStringCore("lotNumber", element.getLotNumberElement(), false); @@ -51325,6 +53795,12 @@ public class JsonParser extends JsonParserBase { if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } + if (element.hasSupportingInformation()) { + openArray("supportingInformation"); + for (Reference e : element.getSupportingInformation()) + composeReference(null, e); + closeArray(); + }; if (element.hasOccurrence()) { composeType("occurrence", element.getOccurrence()); } @@ -51375,16 +53851,10 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; - if (element.hasEducation()) { - openArray("education"); - for (Immunization.ImmunizationEducationComponent e : element.getEducation()) - composeImmunizationEducationComponent(null, e); - closeArray(); - }; if (element.hasProgramEligibility()) { openArray("programEligibility"); - for (CodeableConcept e : element.getProgramEligibility()) - composeCodeableConcept(null, e); + for (Immunization.ImmunizationProgramEligibilityComponent e : element.getProgramEligibility()) + composeImmunizationProgramEligibilityComponent(null, e); closeArray(); }; if (element.hasFundingSource()) { @@ -51422,31 +53892,21 @@ public class JsonParser extends JsonParserBase { } } - protected void composeImmunizationEducationComponent(String name, Immunization.ImmunizationEducationComponent element) throws IOException { + protected void composeImmunizationProgramEligibilityComponent(String name, Immunization.ImmunizationProgramEligibilityComponent element) throws IOException { if (element != null) { open(name); - composeImmunizationEducationComponentProperties(element); + composeImmunizationProgramEligibilityComponentProperties(element); close(); } } - protected void composeImmunizationEducationComponentProperties(Immunization.ImmunizationEducationComponent element) throws IOException { + protected void composeImmunizationProgramEligibilityComponentProperties(Immunization.ImmunizationProgramEligibilityComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasDocumentTypeElement()) { - composeStringCore("documentType", element.getDocumentTypeElement(), false); - composeStringExtras("documentType", element.getDocumentTypeElement(), false); + if (element.hasProgram()) { + composeCodeableConcept("program", element.getProgram()); } - if (element.hasReferenceElement()) { - composeUriCore("reference", element.getReferenceElement(), false); - composeUriExtras("reference", element.getReferenceElement(), false); - } - if (element.hasPublicationDateElement()) { - composeDateTimeCore("publicationDate", element.getPublicationDateElement(), false); - composeDateTimeExtras("publicationDate", element.getPublicationDateElement(), false); - } - if (element.hasPresentationDateElement()) { - composeDateTimeCore("presentationDate", element.getPresentationDateElement(), false); - composeDateTimeExtras("presentationDate", element.getPresentationDateElement(), false); + if (element.hasProgramStatus()) { + composeCodeableConcept("programStatus", element.getProgramStatus()); } } @@ -51583,34 +54043,6 @@ public class JsonParser extends JsonParserBase { composeIdentifier(null, e); closeArray(); }; - if (element.hasInstantiatesCanonical()) { - if (anyHasValue(element.getInstantiatesCanonical())) { - openArray("instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalCore(null, e, e != element.getInstantiatesCanonical().get(element.getInstantiatesCanonical().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesCanonical())) { - openArray("_instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasInstantiatesUri()) { - if (anyHasValue(element.getInstantiatesUri())) { - openArray("instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriCore(null, e, e != element.getInstantiatesUri().get(element.getInstantiatesUri().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesUri())) { - openArray("_instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriExtras(null, e, true); - closeArray(); - } - }; if (element.hasPatient()) { composeReference("patient", element.getPatient()); } @@ -51738,6 +54170,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -51788,6 +54223,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasPackageIdElement()) { composeIdCore("packageId", element.getPackageIdElement(), false); composeIdExtras("packageId", element.getPackageIdElement(), false); @@ -51850,6 +54289,10 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasReasonElement()) { + composeMarkdownCore("reason", element.getReasonElement(), false); + composeMarkdownExtras("reason", element.getReasonElement(), false); + } } protected void composeImplementationGuideGlobalComponent(String name, ImplementationGuide.ImplementationGuideGlobalComponent element) throws IOException { @@ -51964,9 +54407,24 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("description", element.getDescriptionElement(), false); composeMarkdownExtras("description", element.getDescriptionElement(), false); } - if (element.hasExample()) { - composeType("example", element.getExample()); + if (element.hasIsExampleElement()) { + composeBooleanCore("isExample", element.getIsExampleElement(), false); + composeBooleanExtras("isExample", element.getIsExampleElement(), false); } + if (element.hasProfile()) { + if (anyHasValue(element.getProfile())) { + openArray("profile"); + for (CanonicalType e : element.getProfile()) + composeCanonicalCore(null, e, e != element.getProfile().get(element.getProfile().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getProfile())) { + openArray("_profile"); + for (CanonicalType e : element.getProfile()) + composeCanonicalExtras(null, e, true); + closeArray(); + } + }; if (element.hasGroupingIdElement()) { composeIdCore("groupingId", element.getGroupingIdElement(), false); composeIdExtras("groupingId", element.getGroupingIdElement(), false); @@ -51983,8 +54441,12 @@ public class JsonParser extends JsonParserBase { protected void composeImplementationGuideDefinitionPageComponentProperties(ImplementationGuide.ImplementationGuideDefinitionPageComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasName()) { - composeType("name", element.getName()); + if (element.hasSource()) { + composeType("source", element.getSource()); + } + if (element.hasNameElement()) { + composeUrlCore("name", element.getNameElement(), false); + composeUrlExtras("name", element.getNameElement(), false); } if (element.hasTitleElement()) { composeStringCore("title", element.getTitleElement(), false); @@ -52012,9 +54474,8 @@ public class JsonParser extends JsonParserBase { protected void composeImplementationGuideDefinitionParameterComponentProperties(ImplementationGuide.ImplementationGuideDefinitionParameterComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasCodeElement()) { - composeStringCore("code", element.getCodeElement(), false); - composeStringExtras("code", element.getCodeElement(), false); + if (element.hasCode()) { + composeCoding("code", element.getCode()); } if (element.hasValueElement()) { composeStringCore("value", element.getValueElement(), false); @@ -52115,9 +54576,24 @@ public class JsonParser extends JsonParserBase { if (element.hasReference()) { composeReference("reference", element.getReference()); } - if (element.hasExample()) { - composeType("example", element.getExample()); + if (element.hasIsExampleElement()) { + composeBooleanCore("isExample", element.getIsExampleElement(), false); + composeBooleanExtras("isExample", element.getIsExampleElement(), false); } + if (element.hasProfile()) { + if (anyHasValue(element.getProfile())) { + openArray("profile"); + for (CanonicalType e : element.getProfile()) + composeCanonicalCore(null, e, e != element.getProfile().get(element.getProfile().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getProfile())) { + openArray("_profile"); + for (CanonicalType e : element.getProfile()) + composeCanonicalExtras(null, e, true); + closeArray(); + } + }; if (element.hasRelativePathElement()) { composeUrlCore("relativePath", element.getRelativePathElement(), false); composeUrlExtras("relativePath", element.getRelativePathElement(), false); @@ -52771,6 +55247,13 @@ public class JsonParser extends JsonParserBase { composeDateTimeCore("date", element.getDateElement(), false); composeDateTimeExtras("date", element.getDateElement(), false); } + if (element.hasCreationElement()) { + composeDateTimeCore("creation", element.getCreationElement(), false); + composeDateTimeExtras("creation", element.getCreationElement(), false); + } + if (element.hasPeriod()) { + composeType("period", element.getPeriod()); + } if (element.hasParticipant()) { openArray("participant"); for (Invoice.InvoiceParticipantComponent e : element.getParticipant()) @@ -52791,8 +55274,8 @@ public class JsonParser extends JsonParserBase { }; if (element.hasTotalPriceComponent()) { openArray("totalPriceComponent"); - for (Invoice.InvoiceLineItemPriceComponentComponent e : element.getTotalPriceComponent()) - composeInvoiceLineItemPriceComponentComponent(null, e); + for (MonetaryComponent e : element.getTotalPriceComponent()) + composeMonetaryComponent(null, e); closeArray(); }; if (element.hasTotalNet()) { @@ -52845,43 +55328,20 @@ public class JsonParser extends JsonParserBase { composePositiveIntCore("sequence", element.getSequenceElement(), false); composePositiveIntExtras("sequence", element.getSequenceElement(), false); } + if (element.hasServiced()) { + composeType("serviced", element.getServiced()); + } if (element.hasChargeItem()) { composeType("chargeItem", element.getChargeItem()); } if (element.hasPriceComponent()) { openArray("priceComponent"); - for (Invoice.InvoiceLineItemPriceComponentComponent e : element.getPriceComponent()) - composeInvoiceLineItemPriceComponentComponent(null, e); + for (MonetaryComponent e : element.getPriceComponent()) + composeMonetaryComponent(null, e); closeArray(); }; } - protected void composeInvoiceLineItemPriceComponentComponent(String name, Invoice.InvoiceLineItemPriceComponentComponent element) throws IOException { - if (element != null) { - open(name); - composeInvoiceLineItemPriceComponentComponentProperties(element); - close(); - } - } - - protected void composeInvoiceLineItemPriceComponentComponentProperties(Invoice.InvoiceLineItemPriceComponentComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory(), false); - } - if (element.hasCode()) { - composeCodeableConcept("code", element.getCode()); - } - if (element.hasFactorElement()) { - composeDecimalCore("factor", element.getFactorElement(), false); - composeDecimalExtras("factor", element.getFactorElement(), false); - } - if (element.hasAmount()) { - composeMoney("amount", element.getAmount()); - } - } - protected void composeLibrary(String name, Library element) throws IOException { if (element != null) { prop("resourceType", name); @@ -53232,17 +55692,11 @@ public class JsonParser extends JsonParserBase { composeExtendedContactDetail(null, e); closeArray(); }; - if (element.hasTelecom()) { - openArray("telecom"); - for (ContactPoint e : element.getTelecom()) - composeContactPoint(null, e); - closeArray(); - }; if (element.hasAddress()) { composeAddress("address", element.getAddress()); } - if (element.hasPhysicalType()) { - composeCodeableConcept("physicalType", element.getPhysicalType()); + if (element.hasForm()) { + composeCodeableConcept("form", element.getForm()); } if (element.hasPosition()) { composeLocationPositionComponent("position", element.getPosition()); @@ -53253,16 +55707,24 @@ public class JsonParser extends JsonParserBase { if (element.hasPartOf()) { composeReference("partOf", element.getPartOf()); } - if (element.hasHoursOfOperation()) { - openArray("hoursOfOperation"); - for (Location.LocationHoursOfOperationComponent e : element.getHoursOfOperation()) - composeLocationHoursOfOperationComponent(null, e); + if (element.hasCharacteristic()) { + openArray("characteristic"); + for (CodeableConcept e : element.getCharacteristic()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasHoursOfOperation()) { + openArray("hoursOfOperation"); + for (Availability e : element.getHoursOfOperation()) + composeAvailability(null, e); + closeArray(); + }; + if (element.hasVirtualService()) { + openArray("virtualService"); + for (VirtualServiceDetail e : element.getVirtualService()) + composeVirtualServiceDetail(null, e); closeArray(); }; - if (element.hasAvailabilityExceptionsElement()) { - composeStringCore("availabilityExceptions", element.getAvailabilityExceptionsElement(), false); - composeStringExtras("availabilityExceptions", element.getAvailabilityExceptionsElement(), false); - } if (element.hasEndpoint()) { openArray("endpoint"); for (Reference e : element.getEndpoint()) @@ -53295,42 +55757,6 @@ public class JsonParser extends JsonParserBase { } } - protected void composeLocationHoursOfOperationComponent(String name, Location.LocationHoursOfOperationComponent element) throws IOException { - if (element != null) { - open(name); - composeLocationHoursOfOperationComponentProperties(element); - close(); - } - } - - protected void composeLocationHoursOfOperationComponentProperties(Location.LocationHoursOfOperationComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDaysOfWeek()) { - openArray("daysOfWeek"); - for (Enumeration e : element.getDaysOfWeek()) - composeEnumerationCore(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); - closeArray(); - if (anyHasExtras(element.getDaysOfWeek())) { - openArray("_daysOfWeek"); - for (Enumeration e : element.getDaysOfWeek()) - composeEnumerationExtras(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); - closeArray(); - } - }; - if (element.hasAllDayElement()) { - composeBooleanCore("allDay", element.getAllDayElement(), false); - composeBooleanExtras("allDay", element.getAllDayElement(), false); - } - if (element.hasOpeningTimeElement()) { - composeTimeCore("openingTime", element.getOpeningTimeElement(), false); - composeTimeExtras("openingTime", element.getOpeningTimeElement(), false); - } - if (element.hasClosingTimeElement()) { - composeTimeCore("closingTime", element.getClosingTimeElement(), false); - composeTimeExtras("closingTime", element.getClosingTimeElement(), false); - } - } - protected void composeManufacturedItemDefinition(String name, ManufacturedItemDefinition element) throws IOException { if (element != null) { prop("resourceType", name); @@ -53350,6 +55776,10 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); } + if (element.hasNameElement()) { + composeStringCore("name", element.getNameElement(), false); + composeStringExtras("name", element.getNameElement(), false); + } if (element.hasManufacturedDoseForm()) { composeCodeableConcept("manufacturedDoseForm", element.getManufacturedDoseForm()); } @@ -53362,6 +55792,12 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasMarketingStatus()) { + openArray("marketingStatus"); + for (MarketingStatus e : element.getMarketingStatus()) + composeMarketingStatus(null, e); + closeArray(); + }; if (element.hasIngredient()) { openArray("ingredient"); for (CodeableConcept e : element.getIngredient()) @@ -53374,6 +55810,12 @@ public class JsonParser extends JsonParserBase { composeManufacturedItemDefinitionPropertyComponent(null, e); closeArray(); }; + if (element.hasComponent()) { + openArray("component"); + for (ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent e : element.getComponent()) + composeManufacturedItemDefinitionComponentComponent(null, e); + closeArray(); + }; } protected void composeManufacturedItemDefinitionPropertyComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element) throws IOException { @@ -53394,6 +55836,87 @@ public class JsonParser extends JsonParserBase { } } + protected void composeManufacturedItemDefinitionComponentComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent element) throws IOException { + if (element != null) { + open(name); + composeManufacturedItemDefinitionComponentComponentProperties(element); + close(); + } + } + + protected void composeManufacturedItemDefinitionComponentComponentProperties(ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasFunction()) { + openArray("function"); + for (CodeableConcept e : element.getFunction()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasAmount()) { + openArray("amount"); + for (Quantity e : element.getAmount()) + composeQuantity(null, e); + closeArray(); + }; + if (element.hasConstituent()) { + openArray("constituent"); + for (ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent e : element.getConstituent()) + composeManufacturedItemDefinitionComponentConstituentComponent(null, e); + closeArray(); + }; + if (element.hasProperty()) { + openArray("property"); + for (ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent e : element.getProperty()) + composeManufacturedItemDefinitionPropertyComponent(null, e); + closeArray(); + }; + if (element.hasComponent()) { + openArray("component"); + for (ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent e : element.getComponent()) + composeManufacturedItemDefinitionComponentComponent(null, e); + closeArray(); + }; + } + + protected void composeManufacturedItemDefinitionComponentConstituentComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent element) throws IOException { + if (element != null) { + open(name); + composeManufacturedItemDefinitionComponentConstituentComponentProperties(element); + close(); + } + } + + protected void composeManufacturedItemDefinitionComponentConstituentComponentProperties(ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasAmount()) { + openArray("amount"); + for (Quantity e : element.getAmount()) + composeQuantity(null, e); + closeArray(); + }; + if (element.hasLocation()) { + openArray("location"); + for (CodeableConcept e : element.getLocation()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasFunction()) { + openArray("function"); + for (CodeableConcept e : element.getFunction()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasLocationForIngredient()) { + openArray("locationForIngredient"); + for (CodeableReference e : element.getLocationForIngredient()) + composeCodeableReference(null, e); + closeArray(); + }; + } + protected void composeMeasure(String name, Measure element) throws IOException { if (element != null) { prop("resourceType", name); @@ -53441,8 +55964,8 @@ public class JsonParser extends JsonParserBase { composeType("subject", element.getSubject()); } if (element.hasBasisElement()) { - composeEnumerationCore("basis", element.getBasisElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); - composeEnumerationExtras("basis", element.getBasisElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); + composeEnumerationCore("basis", element.getBasisElement(), new Enumerations.FHIRTypesEnumFactory(), false); + composeEnumerationExtras("basis", element.getBasisElement(), new Enumerations.FHIRTypesEnumFactory(), false); } if (element.hasDateElement()) { composeDateTimeCore("date", element.getDateElement(), false); @@ -53585,19 +56108,11 @@ public class JsonParser extends JsonParserBase { if (element.hasImprovementNotation()) { composeCodeableConcept("improvementNotation", element.getImprovementNotation()); } - if (element.hasDefinition()) { - if (anyHasValue(element.getDefinition())) { - openArray("definition"); - for (MarkdownType e : element.getDefinition()) - composeMarkdownCore(null, e, e != element.getDefinition().get(element.getDefinition().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getDefinition())) { - openArray("_definition"); - for (MarkdownType e : element.getDefinition()) - composeMarkdownExtras(null, e, true); - closeArray(); - } + if (element.hasTerm()) { + openArray("term"); + for (Measure.MeasureTermComponent e : element.getTerm()) + composeMeasureTermComponent(null, e); + closeArray(); }; if (element.hasGuidanceElement()) { composeMarkdownCore("guidance", element.getGuidanceElement(), false); @@ -53617,6 +56132,25 @@ public class JsonParser extends JsonParserBase { }; } + protected void composeMeasureTermComponent(String name, Measure.MeasureTermComponent element) throws IOException { + if (element != null) { + open(name); + composeMeasureTermComponentProperties(element); + close(); + } + } + + protected void composeMeasureTermComponentProperties(Measure.MeasureTermComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasDefinitionElement()) { + composeMarkdownCore("definition", element.getDefinitionElement(), false); + composeMarkdownExtras("definition", element.getDefinitionElement(), false); + } + } + protected void composeMeasureGroupComponent(String name, Measure.MeasureGroupComponent element) throws IOException { if (element != null) { open(name); @@ -53641,8 +56175,8 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasBasisElement()) { - composeEnumerationCore("basis", element.getBasisElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); - composeEnumerationExtras("basis", element.getBasisElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); + composeEnumerationCore("basis", element.getBasisElement(), new Enumerations.FHIRTypesEnumFactory(), false); + composeEnumerationExtras("basis", element.getBasisElement(), new Enumerations.FHIRTypesEnumFactory(), false); } if (element.hasScoring()) { composeCodeableConcept("scoring", element.getScoring()); @@ -53818,9 +56352,15 @@ public class JsonParser extends JsonParserBase { if (element.hasReportingVendor()) { composeReference("reportingVendor", element.getReportingVendor()); } + if (element.hasLocation()) { + composeReference("location", element.getLocation()); + } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } + if (element.hasInputParameters()) { + composeReference("inputParameters", element.getInputParameters()); + } if (element.hasScoring()) { composeCodeableConcept("scoring", element.getScoring()); } @@ -53904,11 +56444,8 @@ public class JsonParser extends JsonParserBase { protected void composeMeasureReportGroupStratifierComponentProperties(MeasureReport.MeasureReportGroupStratifierComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasCode()) { - openArray("code"); - for (CodeableConcept e : element.getCode()) - composeCodeableConcept(null, e); - closeArray(); - }; + composeCodeableConcept("code", element.getCode()); + } if (element.hasStratum()) { openArray("stratum"); for (MeasureReport.StratifierGroupComponent e : element.getStratum()) @@ -54086,34 +56623,6 @@ public class JsonParser extends JsonParserBase { composeIdentifier(null, e); closeArray(); }; - if (element.hasInstantiatesCanonical()) { - if (anyHasValue(element.getInstantiatesCanonical())) { - openArray("instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalCore(null, e, e != element.getInstantiatesCanonical().get(element.getInstantiatesCanonical().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesCanonical())) { - openArray("_instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasInstantiatesUri()) { - if (anyHasValue(element.getInstantiatesUri())) { - openArray("instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriCore(null, e, e != element.getInstantiatesUri().get(element.getInstantiatesUri().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesUri())) { - openArray("_instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriExtras(null, e, true); - closeArray(); - } - }; if (element.hasBasedOn()) { openArray("basedOn"); for (Reference e : element.getBasedOn()) @@ -54997,34 +57506,6 @@ public class JsonParser extends JsonParserBase { composeIdentifier(null, e); closeArray(); }; - if (element.hasInstantiatesCanonical()) { - if (anyHasValue(element.getInstantiatesCanonical())) { - openArray("instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalCore(null, e, e != element.getInstantiatesCanonical().get(element.getInstantiatesCanonical().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesCanonical())) { - openArray("_instantiatesCanonical"); - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonicalExtras(null, e, true); - closeArray(); - } - }; - if (element.hasInstantiatesUri()) { - if (anyHasValue(element.getInstantiatesUri())) { - openArray("instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriCore(null, e, e != element.getInstantiatesUri().get(element.getInstantiatesUri().size()-1)); - closeArray(); - } - if (anyHasExtras(element.getInstantiatesUri())) { - openArray("_instantiatesUri"); - for (UriType e : element.getInstantiatesUri()) - composeUriExtras(null, e, true); - closeArray(); - } - }; if (element.hasBasedOn()) { openArray("basedOn"); for (Reference e : element.getBasedOn()) @@ -55556,29 +58037,29 @@ public class JsonParser extends JsonParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasNamePart()) { - openArray("namePart"); - for (MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent e : element.getNamePart()) - composeMedicinalProductDefinitionNameNamePartComponent(null, e); + if (element.hasPart()) { + openArray("part"); + for (MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent e : element.getPart()) + composeMedicinalProductDefinitionNamePartComponent(null, e); closeArray(); }; - if (element.hasCountryLanguage()) { - openArray("countryLanguage"); - for (MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent e : element.getCountryLanguage()) - composeMedicinalProductDefinitionNameCountryLanguageComponent(null, e); + if (element.hasUsage()) { + openArray("usage"); + for (MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent e : element.getUsage()) + composeMedicinalProductDefinitionNameUsageComponent(null, e); closeArray(); }; } - protected void composeMedicinalProductDefinitionNameNamePartComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNamePartComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent element) throws IOException { if (element != null) { open(name); - composeMedicinalProductDefinitionNameNamePartComponentProperties(element); + composeMedicinalProductDefinitionNamePartComponentProperties(element); close(); } } - protected void composeMedicinalProductDefinitionNameNamePartComponentProperties(MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNamePartComponentProperties(MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasPartElement()) { composeStringCore("part", element.getPartElement(), false); @@ -55589,15 +58070,15 @@ public class JsonParser extends JsonParserBase { } } - protected void composeMedicinalProductDefinitionNameCountryLanguageComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNameUsageComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent element) throws IOException { if (element != null) { open(name); - composeMedicinalProductDefinitionNameCountryLanguageComponentProperties(element); + composeMedicinalProductDefinitionNameUsageComponentProperties(element); close(); } } - protected void composeMedicinalProductDefinitionNameCountryLanguageComponentProperties(MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNameUsageComponentProperties(MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasCountry()) { composeCodeableConcept("country", element.getCountry()); @@ -55808,7 +58289,7 @@ public class JsonParser extends JsonParserBase { if (element.hasGraphElement()) { composeCanonicalCore("graph", element.getGraphElement(), false); composeCanonicalExtras("graph", element.getGraphElement(), false); - } + } } protected void composeMessageDefinitionFocusComponent(String name, MessageDefinition.MessageDefinitionFocusComponent element) throws IOException { @@ -56008,8 +58489,8 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("type", element.getTypeElement(), new MolecularSequence.SequenceTypeEnumFactory(), false); composeEnumerationExtras("type", element.getTypeElement(), new MolecularSequence.SequenceTypeEnumFactory(), false); } - if (element.hasPatient()) { - composeReference("patient", element.getPatient()); + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); } if (element.hasSpecimen()) { composeReference("specimen", element.getSpecimen()); @@ -56051,8 +58532,15 @@ public class JsonParser extends JsonParserBase { if (element.hasCoordinateSystem()) { composeCodeableConcept("coordinateSystem", element.getCoordinateSystem()); } - if (element.hasReference()) { - composeMolecularSequenceRelativeReferenceComponent("reference", element.getReference()); + if (element.hasOrdinalPositionElement()) { + composeIntegerCore("ordinalPosition", element.getOrdinalPositionElement(), false); + composeIntegerExtras("ordinalPosition", element.getOrdinalPositionElement(), false); + } + if (element.hasSequenceRange()) { + composeRange("sequenceRange", element.getSequenceRange()); + } + if (element.hasStartingSequence()) { + composeMolecularSequenceRelativeStartingSequenceComponent("startingSequence", element.getStartingSequence()); } if (element.hasEdit()) { openArray("edit"); @@ -56060,26 +58548,26 @@ public class JsonParser extends JsonParserBase { composeMolecularSequenceRelativeEditComponent(null, e); closeArray(); }; - } + } - protected void composeMolecularSequenceRelativeReferenceComponent(String name, MolecularSequence.MolecularSequenceRelativeReferenceComponent element) throws IOException { + protected void composeMolecularSequenceRelativeStartingSequenceComponent(String name, MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent element) throws IOException { if (element != null) { open(name); - composeMolecularSequenceRelativeReferenceComponentProperties(element); + composeMolecularSequenceRelativeStartingSequenceComponentProperties(element); close(); - } - } + } + } - protected void composeMolecularSequenceRelativeReferenceComponentProperties(MolecularSequence.MolecularSequenceRelativeReferenceComponent element) throws IOException { + protected void composeMolecularSequenceRelativeStartingSequenceComponentProperties(MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasReferenceSequenceAssembly()) { - composeCodeableConcept("referenceSequenceAssembly", element.getReferenceSequenceAssembly()); + if (element.hasGenomeAssembly()) { + composeCodeableConcept("genomeAssembly", element.getGenomeAssembly()); } if (element.hasChromosome()) { composeCodeableConcept("chromosome", element.getChromosome()); } - if (element.hasReferenceSequence()) { - composeType("referenceSequence", element.getReferenceSequence()); + if (element.hasSequence()) { + composeType("sequence", element.getSequence()); } if (element.hasWindowStartElement()) { composeIntegerCore("windowStart", element.getWindowStartElement(), false); @@ -56117,13 +58605,13 @@ public class JsonParser extends JsonParserBase { composeIntegerCore("end", element.getEndElement(), false); composeIntegerExtras("end", element.getEndElement(), false); } - if (element.hasObservedAlleleElement()) { - composeStringCore("observedAllele", element.getObservedAlleleElement(), false); - composeStringExtras("observedAllele", element.getObservedAlleleElement(), false); + if (element.hasReplacementSequenceElement()) { + composeStringCore("replacementSequence", element.getReplacementSequenceElement(), false); + composeStringExtras("replacementSequence", element.getReplacementSequenceElement(), false); } - if (element.hasReferenceAlleleElement()) { - composeStringCore("referenceAllele", element.getReferenceAlleleElement(), false); - composeStringExtras("referenceAllele", element.getReferenceAlleleElement(), false); + if (element.hasReplacedSequenceElement()) { + composeStringCore("replacedSequence", element.getReplacedSequenceElement(), false); + composeStringExtras("replacedSequence", element.getReplacedSequenceElement(), false); } } @@ -56140,6 +58628,12 @@ public class JsonParser extends JsonParserBase { composeUriCore("url", element.getUrlElement(), false); composeUriExtras("url", element.getUrlElement(), false); } + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; if (element.hasVersionElement()) { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); @@ -56160,6 +58654,10 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("kind", element.getKindElement(), new NamingSystem.NamingSystemTypeEnumFactory(), false); composeEnumerationExtras("kind", element.getKindElement(), new NamingSystem.NamingSystemTypeEnumFactory(), false); } + if (element.hasExperimentalElement()) { + composeBooleanCore("experimental", element.getExperimentalElement(), false); + composeBooleanExtras("experimental", element.getExperimentalElement(), false); + } if (element.hasDateElement()) { composeDateTimeCore("date", element.getDateElement(), false); composeDateTimeExtras("date", element.getDateElement(), false); @@ -56197,6 +58695,61 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasPurposeElement()) { + composeMarkdownCore("purpose", element.getPurposeElement(), false); + composeMarkdownExtras("purpose", element.getPurposeElement(), false); + } + if (element.hasCopyrightElement()) { + composeMarkdownCore("copyright", element.getCopyrightElement(), false); + composeMarkdownExtras("copyright", element.getCopyrightElement(), false); + } + if (element.hasApprovalDateElement()) { + composeDateCore("approvalDate", element.getApprovalDateElement(), false); + composeDateExtras("approvalDate", element.getApprovalDateElement(), false); + } + if (element.hasLastReviewDateElement()) { + composeDateCore("lastReviewDate", element.getLastReviewDateElement(), false); + composeDateExtras("lastReviewDate", element.getLastReviewDateElement(), false); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + openArray("topic"); + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasAuthor()) { + openArray("author"); + for (ContactDetail e : element.getAuthor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEditor()) { + openArray("editor"); + for (ContactDetail e : element.getEditor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasReviewer()) { + openArray("reviewer"); + for (ContactDetail e : element.getReviewer()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEndorser()) { + openArray("endorser"); + for (ContactDetail e : element.getEndorser()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasRelatedArtifact()) { + openArray("relatedArtifact"); + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact(null, e); + closeArray(); + }; if (element.hasUsageElement()) { composeStringCore("usage", element.getUsageElement(), false); composeStringExtras("usage", element.getUsageElement(), false); @@ -56496,6 +59049,12 @@ public class JsonParser extends JsonParserBase { closeArray(); } }; + if (element.hasBasedOn()) { + openArray("basedOn"); + for (Reference e : element.getBasedOn()) + composeReference(null, e); + closeArray(); + }; if (element.hasStatusElement()) { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory(), false); @@ -56504,12 +59063,22 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory(), false); composeEnumerationExtras("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory(), false); } - if (element.hasPatient()) { - composeReference("patient", element.getPatient()); + if (element.hasPriorityElement()) { + composeEnumerationCore("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + composeEnumerationExtras("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + } + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); } if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } + if (element.hasSupportingInformation()) { + openArray("supportingInformation"); + for (Reference e : element.getSupportingInformation()) + composeReference(null, e); + closeArray(); + }; if (element.hasDateTimeElement()) { composeDateTimeCore("dateTime", element.getDateTimeElement(), false); composeDateTimeExtras("dateTime", element.getDateTimeElement(), false); @@ -56517,6 +59086,12 @@ public class JsonParser extends JsonParserBase { if (element.hasOrderer()) { composeReference("orderer", element.getOrderer()); } + if (element.hasPerformer()) { + openArray("performer"); + for (CodeableReference e : element.getPerformer()) + composeCodeableReference(null, e); + closeArray(); + }; if (element.hasAllergyIntolerance()) { openArray("allergyIntolerance"); for (Reference e : element.getAllergyIntolerance()) @@ -56535,6 +59110,10 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasOutsideFoodAllowedElement()) { + composeBooleanCore("outsideFoodAllowed", element.getOutsideFoodAllowedElement(), false); + composeBooleanExtras("outsideFoodAllowed", element.getOutsideFoodAllowedElement(), false); + } if (element.hasOralDiet()) { composeNutritionOrderOralDietComponent("oralDiet", element.getOralDiet()); } @@ -56572,11 +59151,8 @@ public class JsonParser extends JsonParserBase { closeArray(); }; if (element.hasSchedule()) { - openArray("schedule"); - for (Timing e : element.getSchedule()) - composeTiming(null, e); - closeArray(); - }; + composeNutritionOrderOralDietScheduleComponent("schedule", element.getSchedule()); + } if (element.hasNutrient()) { openArray("nutrient"); for (NutritionOrder.NutritionOrderOralDietNutrientComponent e : element.getNutrient()) @@ -56601,6 +59177,31 @@ public class JsonParser extends JsonParserBase { } } + protected void composeNutritionOrderOralDietScheduleComponent(String name, NutritionOrder.NutritionOrderOralDietScheduleComponent element) throws IOException { + if (element != null) { + open(name); + composeNutritionOrderOralDietScheduleComponentProperties(element); + close(); + } + } + + protected void composeNutritionOrderOralDietScheduleComponentProperties(NutritionOrder.NutritionOrderOralDietScheduleComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTiming()) { + openArray("timing"); + for (Timing e : element.getTiming()) + composeTiming(null, e); + closeArray(); + }; + if (element.hasAsNeededElement()) { + composeBooleanCore("asNeeded", element.getAsNeededElement(), false); + composeBooleanExtras("asNeeded", element.getAsNeededElement(), false); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } + } + protected void composeNutritionOrderOralDietNutrientComponent(String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element) throws IOException { if (element != null) { open(name); @@ -56648,18 +59249,15 @@ public class JsonParser extends JsonParserBase { protected void composeNutritionOrderSupplementComponentProperties(NutritionOrder.NutritionOrderSupplementComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasType()) { - composeCodeableConcept("type", element.getType()); + composeCodeableReference("type", element.getType()); } if (element.hasProductNameElement()) { composeStringCore("productName", element.getProductNameElement(), false); composeStringExtras("productName", element.getProductNameElement(), false); } if (element.hasSchedule()) { - openArray("schedule"); - for (Timing e : element.getSchedule()) - composeTiming(null, e); - closeArray(); - }; + composeNutritionOrderSupplementScheduleComponent("schedule", element.getSchedule()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -56669,6 +59267,31 @@ public class JsonParser extends JsonParserBase { } } + protected void composeNutritionOrderSupplementScheduleComponent(String name, NutritionOrder.NutritionOrderSupplementScheduleComponent element) throws IOException { + if (element != null) { + open(name); + composeNutritionOrderSupplementScheduleComponentProperties(element); + close(); + } + } + + protected void composeNutritionOrderSupplementScheduleComponentProperties(NutritionOrder.NutritionOrderSupplementScheduleComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTiming()) { + openArray("timing"); + for (Timing e : element.getTiming()) + composeTiming(null, e); + closeArray(); + }; + if (element.hasAsNeededElement()) { + composeBooleanCore("asNeeded", element.getAsNeededElement(), false); + composeBooleanExtras("asNeeded", element.getAsNeededElement(), false); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } + } + protected void composeNutritionOrderEnteralFormulaComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { if (element != null) { open(name); @@ -56680,24 +59303,29 @@ public class JsonParser extends JsonParserBase { protected void composeNutritionOrderEnteralFormulaComponentProperties(NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasBaseFormulaType()) { - composeCodeableConcept("baseFormulaType", element.getBaseFormulaType()); + composeCodeableReference("baseFormulaType", element.getBaseFormulaType()); } if (element.hasBaseFormulaProductNameElement()) { composeStringCore("baseFormulaProductName", element.getBaseFormulaProductNameElement(), false); composeStringExtras("baseFormulaProductName", element.getBaseFormulaProductNameElement(), false); } - if (element.hasAdditiveType()) { - composeCodeableConcept("additiveType", element.getAdditiveType()); - } - if (element.hasAdditiveProductNameElement()) { - composeStringCore("additiveProductName", element.getAdditiveProductNameElement(), false); - composeStringExtras("additiveProductName", element.getAdditiveProductNameElement(), false); - } + if (element.hasDeliveryDevice()) { + openArray("deliveryDevice"); + for (CodeableReference e : element.getDeliveryDevice()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasAdditive()) { + openArray("additive"); + for (NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent e : element.getAdditive()) + composeNutritionOrderEnteralFormulaAdditiveComponent(null, e); + closeArray(); + }; if (element.hasCaloricDensity()) { composeQuantity("caloricDensity", element.getCaloricDensity()); } - if (element.hasRouteofAdministration()) { - composeCodeableConcept("routeofAdministration", element.getRouteofAdministration()); + if (element.hasRouteOfAdministration()) { + composeCodeableConcept("routeOfAdministration", element.getRouteOfAdministration()); } if (element.hasAdministration()) { openArray("administration"); @@ -56714,6 +59342,28 @@ public class JsonParser extends JsonParserBase { } } + protected void composeNutritionOrderEnteralFormulaAdditiveComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent element) throws IOException { + if (element != null) { + open(name); + composeNutritionOrderEnteralFormulaAdditiveComponentProperties(element); + close(); + } + } + + protected void composeNutritionOrderEnteralFormulaAdditiveComponentProperties(NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasType()) { + composeCodeableReference("type", element.getType()); + } + if (element.hasProductNameElement()) { + composeStringCore("productName", element.getProductNameElement(), false); + composeStringExtras("productName", element.getProductNameElement(), false); + } + if (element.hasQuantity()) { + composeQuantity("quantity", element.getQuantity()); + } + } + protected void composeNutritionOrderEnteralFormulaAdministrationComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { if (element != null) { open(name); @@ -56725,7 +59375,7 @@ public class JsonParser extends JsonParserBase { protected void composeNutritionOrderEnteralFormulaAdministrationComponentProperties(NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasSchedule()) { - composeTiming("schedule", element.getSchedule()); + composeNutritionOrderEnteralFormulaAdministrationScheduleComponent("schedule", element.getSchedule()); } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); @@ -56735,6 +59385,31 @@ public class JsonParser extends JsonParserBase { } } + protected void composeNutritionOrderEnteralFormulaAdministrationScheduleComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent element) throws IOException { + if (element != null) { + open(name); + composeNutritionOrderEnteralFormulaAdministrationScheduleComponentProperties(element); + close(); + } + } + + protected void composeNutritionOrderEnteralFormulaAdministrationScheduleComponentProperties(NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTiming()) { + openArray("timing"); + for (Timing e : element.getTiming()) + composeTiming(null, e); + closeArray(); + }; + if (element.hasAsNeededElement()) { + composeBooleanCore("asNeeded", element.getAsNeededElement(), false); + composeBooleanExtras("asNeeded", element.getAsNeededElement(), false); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } + } + protected void composeNutritionProduct(String name, NutritionProduct element) throws IOException { if (element != null) { prop("resourceType", name); @@ -57455,6 +60130,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -57509,6 +60187,14 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("purpose", element.getPurposeElement(), false); composeMarkdownExtras("purpose", element.getPurposeElement(), false); } + if (element.hasCopyrightElement()) { + composeMarkdownCore("copyright", element.getCopyrightElement(), false); + composeMarkdownExtras("copyright", element.getCopyrightElement(), false); + } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasAffectsStateElement()) { composeBooleanCore("affectsState", element.getAffectsStateElement(), false); composeBooleanExtras("affectsState", element.getAffectsStateElement(), false); @@ -57591,6 +60277,18 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("use", element.getUseElement(), new Enumerations.OperationParameterUseEnumFactory(), false); composeEnumerationExtras("use", element.getUseElement(), new Enumerations.OperationParameterUseEnumFactory(), false); } + if (element.hasScope()) { + openArray("scope"); + for (Enumeration e : element.getScope()) + composeEnumerationCore(null, e, new OperationDefinition.OperationParameterScopeEnumFactory(), true); + closeArray(); + if (anyHasExtras(element.getScope())) { + openArray("_scope"); + for (Enumeration e : element.getScope()) + composeEnumerationExtras(null, e, new OperationDefinition.OperationParameterScopeEnumFactory(), true); + closeArray(); + } + }; if (element.hasMinElement()) { composeIntegerCore("min", element.getMinElement(), false); composeIntegerExtras("min", element.getMinElement(), false); @@ -57600,13 +60298,25 @@ public class JsonParser extends JsonParserBase { composeStringExtras("max", element.getMaxElement(), false); } if (element.hasDocumentationElement()) { - composeStringCore("documentation", element.getDocumentationElement(), false); - composeStringExtras("documentation", element.getDocumentationElement(), false); + composeMarkdownCore("documentation", element.getDocumentationElement(), false); + composeMarkdownExtras("documentation", element.getDocumentationElement(), false); } if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory(), false); + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory(), false); } + if (element.hasAllowedType()) { + openArray("allowedType"); + for (Enumeration e : element.getAllowedType()) + composeEnumerationCore(null, e, new Enumerations.FHIRTypesEnumFactory(), true); + closeArray(); + if (anyHasExtras(element.getAllowedType())) { + openArray("_allowedType"); + for (Enumeration e : element.getAllowedType()) + composeEnumerationExtras(null, e, new Enumerations.FHIRTypesEnumFactory(), true); + closeArray(); + } + }; if (element.hasTargetProfile()) { if (anyHasValue(element.getTargetProfile())) { openArray("targetProfile"); @@ -57837,18 +60547,6 @@ public class JsonParser extends JsonParserBase { composeExtendedContactDetail(null, e); closeArray(); }; - if (element.hasTelecom()) { - openArray("telecom"); - for (ContactPoint e : element.getTelecom()) - composeContactPoint(null, e); - closeArray(); - }; - if (element.hasAddress()) { - openArray("address"); - for (Address e : element.getAddress()) - composeAddress(null, e); - closeArray(); - }; if (element.hasPartOf()) { composeReference("partOf", element.getPartOf()); } @@ -57858,6 +60556,39 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasQualification()) { + openArray("qualification"); + for (Organization.OrganizationQualificationComponent e : element.getQualification()) + composeOrganizationQualificationComponent(null, e); + closeArray(); + }; + } + + protected void composeOrganizationQualificationComponent(String name, Organization.OrganizationQualificationComponent element) throws IOException { + if (element != null) { + open(name); + composeOrganizationQualificationComponentProperties(element); + close(); + } + } + + protected void composeOrganizationQualificationComponentProperties(Organization.OrganizationQualificationComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasPeriod()) { + composePeriod("period", element.getPeriod()); + } + if (element.hasIssuer()) { + composeReference("issuer", element.getIssuer()); + } } protected void composeOrganizationAffiliation(String name, OrganizationAffiliation element) throws IOException { @@ -57918,10 +60649,10 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; - if (element.hasTelecom()) { - openArray("telecom"); - for (ContactPoint e : element.getTelecom()) - composeContactPoint(null, e); + if (element.hasContact()) { + openArray("contact"); + for (ExtendedContactDetail e : element.getContact()) + composeExtendedContactDetail(null, e); closeArray(); }; if (element.hasEndpoint()) { @@ -58419,10 +61150,16 @@ public class JsonParser extends JsonParserBase { composeIdentifier(null, e); closeArray(); }; + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } if (element.hasStatusElement()) { composeEnumerationCore("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory(), false); } + if (element.hasKind()) { + composeCodeableConcept("kind", element.getKind()); + } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } @@ -58430,6 +61167,12 @@ public class JsonParser extends JsonParserBase { composeDateTimeCore("created", element.getCreatedElement(), false); composeDateTimeExtras("created", element.getCreatedElement(), false); } + if (element.hasEnterer()) { + composeReference("enterer", element.getEnterer()); + } + if (element.hasIssuerType()) { + composeCodeableConcept("issuerType", element.getIssuerType()); + } if (element.hasPaymentIssuer()) { composeReference("paymentIssuer", element.getPaymentIssuer()); } @@ -58447,20 +61190,56 @@ public class JsonParser extends JsonParserBase { composeStringCore("disposition", element.getDispositionElement(), false); composeStringExtras("disposition", element.getDispositionElement(), false); } - if (element.hasPaymentDateElement()) { - composeDateCore("paymentDate", element.getPaymentDateElement(), false); - composeDateExtras("paymentDate", element.getPaymentDateElement(), false); + if (element.hasDateElement()) { + composeDateCore("date", element.getDateElement(), false); + composeDateExtras("date", element.getDateElement(), false); } - if (element.hasPaymentAmount()) { - composeMoney("paymentAmount", element.getPaymentAmount()); + if (element.hasLocation()) { + composeReference("location", element.getLocation()); + } + if (element.hasMethod()) { + composeCodeableConcept("method", element.getMethod()); + } + if (element.hasCardBrandElement()) { + composeStringCore("cardBrand", element.getCardBrandElement(), false); + composeStringExtras("cardBrand", element.getCardBrandElement(), false); + } + if (element.hasAccountNumberElement()) { + composeStringCore("accountNumber", element.getAccountNumberElement(), false); + composeStringExtras("accountNumber", element.getAccountNumberElement(), false); + } + if (element.hasExpirationDateElement()) { + composeDateCore("expirationDate", element.getExpirationDateElement(), false); + composeDateExtras("expirationDate", element.getExpirationDateElement(), false); + } + if (element.hasProcessorElement()) { + composeStringCore("processor", element.getProcessorElement(), false); + composeStringExtras("processor", element.getProcessorElement(), false); + } + if (element.hasReferenceNumberElement()) { + composeStringCore("referenceNumber", element.getReferenceNumberElement(), false); + composeStringExtras("referenceNumber", element.getReferenceNumberElement(), false); + } + if (element.hasAuthorizationElement()) { + composeStringCore("authorization", element.getAuthorizationElement(), false); + composeStringExtras("authorization", element.getAuthorizationElement(), false); + } + if (element.hasTenderedAmount()) { + composeMoney("tenderedAmount", element.getTenderedAmount()); + } + if (element.hasReturnedAmount()) { + composeMoney("returnedAmount", element.getReturnedAmount()); + } + if (element.hasAmount()) { + composeMoney("amount", element.getAmount()); } if (element.hasPaymentIdentifier()) { composeIdentifier("paymentIdentifier", element.getPaymentIdentifier()); } - if (element.hasDetail()) { - openArray("detail"); - for (PaymentReconciliation.DetailsComponent e : element.getDetail()) - composeDetailsComponent(null, e); + if (element.hasAllocation()) { + openArray("allocation"); + for (PaymentReconciliation.PaymentReconciliationAllocationComponent e : element.getAllocation()) + composePaymentReconciliationAllocationComponent(null, e); closeArray(); }; if (element.hasFormCode()) { @@ -58474,15 +61253,15 @@ public class JsonParser extends JsonParserBase { }; } - protected void composeDetailsComponent(String name, PaymentReconciliation.DetailsComponent element) throws IOException { + protected void composePaymentReconciliationAllocationComponent(String name, PaymentReconciliation.PaymentReconciliationAllocationComponent element) throws IOException { if (element != null) { open(name); - composeDetailsComponentProperties(element); + composePaymentReconciliationAllocationComponentProperties(element); close(); } } - protected void composeDetailsComponentProperties(PaymentReconciliation.DetailsComponent element) throws IOException { + protected void composePaymentReconciliationAllocationComponentProperties(PaymentReconciliation.PaymentReconciliationAllocationComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasIdentifier()) { composeIdentifier("identifier", element.getIdentifier()); @@ -58490,12 +61269,21 @@ public class JsonParser extends JsonParserBase { if (element.hasPredecessor()) { composeIdentifier("predecessor", element.getPredecessor()); } + if (element.hasTarget()) { + composeReference("target", element.getTarget()); + } + if (element.hasTargetItem()) { + composeType("targetItem", element.getTargetItem()); + } + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); + } + if (element.hasAccount()) { + composeReference("account", element.getAccount()); + } if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasRequest()) { - composeReference("request", element.getRequest()); - } if (element.hasSubmitter()) { composeReference("submitter", element.getSubmitter()); } @@ -58550,22 +61338,19 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("status", element.getStatusElement(), new Permission.PermissionStatusEnumFactory(), false); composeEnumerationExtras("status", element.getStatusElement(), new Permission.PermissionStatusEnumFactory(), false); } - if (element.hasIntent()) { - composeCodeableConcept("intent", element.getIntent()); - } if (element.hasAsserter()) { composeReference("asserter", element.getAsserter()); } - if (element.hasAssertionDate()) { - if (anyHasValue(element.getAssertionDate())) { - openArray("assertionDate"); - for (DateTimeType e : element.getAssertionDate()) - composeDateTimeCore(null, e, e != element.getAssertionDate().get(element.getAssertionDate().size()-1)); + if (element.hasDate()) { + if (anyHasValue(element.getDate())) { + openArray("date"); + for (DateTimeType e : element.getDate()) + composeDateTimeCore(null, e, e != element.getDate().get(element.getDate().size()-1)); closeArray(); } - if (anyHasExtras(element.getAssertionDate())) { - openArray("_assertionDate"); - for (DateTimeType e : element.getAssertionDate()) + if (anyHasExtras(element.getDate())) { + openArray("_date"); + for (DateTimeType e : element.getDate()) composeDateTimeExtras(null, e, true); closeArray(); } @@ -58573,61 +61358,17 @@ public class JsonParser extends JsonParserBase { if (element.hasValidity()) { composePeriod("validity", element.getValidity()); } - if (element.hasPurpose()) { - openArray("purpose"); - for (CodeableConcept e : element.getPurpose()) - composeCodeableConcept(null, e); - closeArray(); - }; - if (element.hasDataScope()) { - openArray("dataScope"); - for (Expression e : element.getDataScope()) - composeExpression(null, e); - closeArray(); - }; - if (element.hasProcessingActivity()) { - openArray("processingActivity"); - for (Permission.PermissionProcessingActivityComponent e : element.getProcessingActivity()) - composePermissionProcessingActivityComponent(null, e); - closeArray(); - }; if (element.hasJustification()) { composePermissionJustificationComponent("justification", element.getJustification()); } - if (element.hasUsageLimitations()) { - openArray("usageLimitations"); - for (CodeableConcept e : element.getUsageLimitations()) - composeCodeableConcept(null, e); - closeArray(); - }; - } - - protected void composePermissionProcessingActivityComponent(String name, Permission.PermissionProcessingActivityComponent element) throws IOException { - if (element != null) { - open(name); - composePermissionProcessingActivityComponentProperties(element); - close(); - } - } - - protected void composePermissionProcessingActivityComponentProperties(Permission.PermissionProcessingActivityComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasPartyReference()) { - openArray("partyReference"); - for (Reference e : element.getPartyReference()) - composeReference(null, e); - closeArray(); - }; - if (element.hasPartyCodeableConcept()) { - openArray("partyCodeableConcept"); - for (CodeableConcept e : element.getPartyCodeableConcept()) - composeCodeableConcept(null, e); - closeArray(); - }; - if (element.hasPurpose()) { - openArray("purpose"); - for (CodeableConcept e : element.getPurpose()) - composeCodeableConcept(null, e); + if (element.hasCombiningElement()) { + composeEnumerationCore("combining", element.getCombiningElement(), new Permission.PermissionRuleCombiningEnumFactory(), false); + composeEnumerationExtras("combining", element.getCombiningElement(), new Permission.PermissionRuleCombiningEnumFactory(), false); + } + if (element.hasRule()) { + openArray("rule"); + for (Permission.RuleComponent e : element.getRule()) + composeRuleComponent(null, e); closeArray(); }; } @@ -58642,15 +61383,131 @@ public class JsonParser extends JsonParserBase { protected void composePermissionJustificationComponentProperties(Permission.PermissionJustificationComponent element) throws IOException { composeBackboneElementProperties(element); + if (element.hasBasis()) { + openArray("basis"); + for (CodeableConcept e : element.getBasis()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasEvidence()) { openArray("evidence"); for (Reference e : element.getEvidence()) composeReference(null, e); closeArray(); }; - if (element.hasGrounds()) { - openArray("grounds"); - for (CodeableConcept e : element.getGrounds()) + } + + protected void composeRuleComponent(String name, Permission.RuleComponent element) throws IOException { + if (element != null) { + open(name); + composeRuleComponentProperties(element); + close(); + } + } + + protected void composeRuleComponentProperties(Permission.RuleComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTypeElement()) { + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ConsentProvisionTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ConsentProvisionTypeEnumFactory(), false); + } + if (element.hasData()) { + openArray("data"); + for (Permission.RuleDataComponent e : element.getData()) + composeRuleDataComponent(null, e); + closeArray(); + }; + if (element.hasActivity()) { + openArray("activity"); + for (Permission.RuleActivityComponent e : element.getActivity()) + composeRuleActivityComponent(null, e); + closeArray(); + }; + if (element.hasLimit()) { + openArray("limit"); + for (CodeableConcept e : element.getLimit()) + composeCodeableConcept(null, e); + closeArray(); + }; + } + + protected void composeRuleDataComponent(String name, Permission.RuleDataComponent element) throws IOException { + if (element != null) { + open(name); + composeRuleDataComponentProperties(element); + close(); + } + } + + protected void composeRuleDataComponentProperties(Permission.RuleDataComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasResource()) { + openArray("resource"); + for (Permission.RuleDataResourceComponent e : element.getResource()) + composeRuleDataResourceComponent(null, e); + closeArray(); + }; + if (element.hasSecurity()) { + openArray("security"); + for (Coding e : element.getSecurity()) + composeCoding(null, e); + closeArray(); + }; + if (element.hasPeriod()) { + openArray("period"); + for (Period e : element.getPeriod()) + composePeriod(null, e); + closeArray(); + }; + if (element.hasExpression()) { + composeExpression("expression", element.getExpression()); + } + } + + protected void composeRuleDataResourceComponent(String name, Permission.RuleDataResourceComponent element) throws IOException { + if (element != null) { + open(name); + composeRuleDataResourceComponentProperties(element); + close(); + } + } + + protected void composeRuleDataResourceComponentProperties(Permission.RuleDataResourceComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasMeaningElement()) { + composeEnumerationCore("meaning", element.getMeaningElement(), new Enumerations.ConsentDataMeaningEnumFactory(), false); + composeEnumerationExtras("meaning", element.getMeaningElement(), new Enumerations.ConsentDataMeaningEnumFactory(), false); + } + if (element.hasReference()) { + composeReference("reference", element.getReference()); + } + } + + protected void composeRuleActivityComponent(String name, Permission.RuleActivityComponent element) throws IOException { + if (element != null) { + open(name); + composeRuleActivityComponentProperties(element); + close(); + } + } + + protected void composeRuleActivityComponentProperties(Permission.RuleActivityComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasActor()) { + openArray("actor"); + for (Reference e : element.getActor()) + composeReference(null, e); + closeArray(); + }; + if (element.hasAction()) { + openArray("action"); + for (CodeableConcept e : element.getAction()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasPurpose()) { + openArray("purpose"); + for (CodeableConcept e : element.getPurpose()) composeCodeableConcept(null, e); closeArray(); }; @@ -58713,15 +61570,15 @@ public class JsonParser extends JsonParserBase { composeAttachment(null, e); closeArray(); }; - if (element.hasManagingOrganization()) { - composeReference("managingOrganization", element.getManagingOrganization()); - } if (element.hasCommunication()) { openArray("communication"); for (Person.PersonCommunicationComponent e : element.getCommunication()) composePersonCommunicationComponent(null, e); closeArray(); }; + if (element.hasManagingOrganization()) { + composeReference("managingOrganization", element.getManagingOrganization()); + } if (element.hasLink()) { openArray("link"); for (Person.PersonLinkComponent e : element.getLink()) @@ -58938,6 +61795,9 @@ public class JsonParser extends JsonParserBase { composePlanDefinitionActionComponent(null, e); closeArray(); }; + if (element.hasAsNeeded()) { + composeType("asNeeded", element.getAsNeeded()); + } } protected void composePlanDefinitionGoalComponent(String name, PlanDefinition.PlanDefinitionGoalComponent element) throws IOException { @@ -59043,6 +61903,10 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); } + if (element.hasTypeCanonicalElement()) { + composeCanonicalCore("typeCanonical", element.getTypeCanonicalElement(), false); + composeCanonicalExtras("typeCanonical", element.getTypeCanonicalElement(), false); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -59309,6 +62173,10 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); } + if (element.hasTypeCanonicalElement()) { + composeCanonicalCore("typeCanonical", element.getTypeCanonicalElement(), false); + composeCanonicalExtras("typeCanonical", element.getTypeCanonicalElement(), false); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -59370,6 +62238,14 @@ public class JsonParser extends JsonParserBase { composeContactPoint(null, e); closeArray(); }; + if (element.hasGenderElement()) { + composeEnumerationCore("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory(), false); + composeEnumerationExtras("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory(), false); + } + if (element.hasBirthDateElement()) { + composeDateCore("birthDate", element.getBirthDateElement(), false); + composeDateExtras("birthDate", element.getBirthDateElement(), false); + } if (element.hasDeceased()) { composeType("deceased", element.getDeceased()); } @@ -59379,14 +62255,6 @@ public class JsonParser extends JsonParserBase { composeAddress(null, e); closeArray(); }; - if (element.hasGenderElement()) { - composeEnumerationCore("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory(), false); - composeEnumerationExtras("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory(), false); - } - if (element.hasBirthDateElement()) { - composeDateCore("birthDate", element.getBirthDateElement(), false); - composeDateExtras("birthDate", element.getBirthDateElement(), false); - } if (element.hasPhoto()) { openArray("photo"); for (Attachment e : element.getPhoto()) @@ -59492,28 +62360,12 @@ public class JsonParser extends JsonParserBase { composeExtendedContactDetail(null, e); closeArray(); }; - if (element.hasTelecom()) { - openArray("telecom"); - for (ContactPoint e : element.getTelecom()) - composeContactPoint(null, e); + if (element.hasAvailability()) { + openArray("availability"); + for (Availability e : element.getAvailability()) + composeAvailability(null, e); closeArray(); }; - if (element.hasAvailableTime()) { - openArray("availableTime"); - for (PractitionerRole.PractitionerRoleAvailableTimeComponent e : element.getAvailableTime()) - composePractitionerRoleAvailableTimeComponent(null, e); - closeArray(); - }; - if (element.hasNotAvailable()) { - openArray("notAvailable"); - for (PractitionerRole.PractitionerRoleNotAvailableComponent e : element.getNotAvailable()) - composePractitionerRoleNotAvailableComponent(null, e); - closeArray(); - }; - if (element.hasAvailabilityExceptionsElement()) { - composeStringCore("availabilityExceptions", element.getAvailabilityExceptionsElement(), false); - composeStringExtras("availabilityExceptions", element.getAvailabilityExceptionsElement(), false); - } if (element.hasEndpoint()) { openArray("endpoint"); for (Reference e : element.getEndpoint()) @@ -59522,61 +62374,6 @@ public class JsonParser extends JsonParserBase { }; } - protected void composePractitionerRoleAvailableTimeComponent(String name, PractitionerRole.PractitionerRoleAvailableTimeComponent element) throws IOException { - if (element != null) { - open(name); - composePractitionerRoleAvailableTimeComponentProperties(element); - close(); - } - } - - protected void composePractitionerRoleAvailableTimeComponentProperties(PractitionerRole.PractitionerRoleAvailableTimeComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDaysOfWeek()) { - openArray("daysOfWeek"); - for (Enumeration e : element.getDaysOfWeek()) - composeEnumerationCore(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); - closeArray(); - if (anyHasExtras(element.getDaysOfWeek())) { - openArray("_daysOfWeek"); - for (Enumeration e : element.getDaysOfWeek()) - composeEnumerationExtras(null, e, new Enumerations.DaysOfWeekEnumFactory(), true); - closeArray(); - } - }; - if (element.hasAllDayElement()) { - composeBooleanCore("allDay", element.getAllDayElement(), false); - composeBooleanExtras("allDay", element.getAllDayElement(), false); - } - if (element.hasAvailableStartTimeElement()) { - composeTimeCore("availableStartTime", element.getAvailableStartTimeElement(), false); - composeTimeExtras("availableStartTime", element.getAvailableStartTimeElement(), false); - } - if (element.hasAvailableEndTimeElement()) { - composeTimeCore("availableEndTime", element.getAvailableEndTimeElement(), false); - composeTimeExtras("availableEndTime", element.getAvailableEndTimeElement(), false); - } - } - - protected void composePractitionerRoleNotAvailableComponent(String name, PractitionerRole.PractitionerRoleNotAvailableComponent element) throws IOException { - if (element != null) { - open(name); - composePractitionerRoleNotAvailableComponentProperties(element); - close(); - } - } - - protected void composePractitionerRoleNotAvailableComponentProperties(PractitionerRole.PractitionerRoleNotAvailableComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasDescriptionElement()) { - composeStringCore("description", element.getDescriptionElement(), false); - composeStringExtras("description", element.getDescriptionElement(), false); - } - if (element.hasDuring()) { - composePeriod("during", element.getDuring()); - } - } - protected void composeProcedure(String name, Procedure element) throws IOException { if (element != null) { prop("resourceType", name); @@ -59651,6 +62448,9 @@ public class JsonParser extends JsonParserBase { if (element.hasSubject()) { composeReference("subject", element.getSubject()); } + if (element.hasFocus()) { + composeReference("focus", element.getFocus()); + } if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } @@ -59760,6 +62560,9 @@ public class JsonParser extends JsonParserBase { if (element.hasOnBehalfOf()) { composeReference("onBehalfOf", element.getOnBehalfOf()); } + if (element.hasPeriod()) { + composePeriod("period", element.getPeriod()); + } } protected void composeProcedureFocalDeviceComponent(String name, Procedure.ProcedureFocalDeviceComponent element) throws IOException { @@ -59935,6 +62738,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -60017,6 +62823,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasApprovalDateElement()) { composeDateCore("approvalDate", element.getApprovalDateElement(), false); composeDateExtras("approvalDate", element.getApprovalDateElement(), false); @@ -60071,8 +62881,8 @@ public class JsonParser extends JsonParserBase { composeStringExtras("prefix", element.getPrefixElement(), false); } if (element.hasTextElement()) { - composeMarkdownCore("text", element.getTextElement(), false); - composeMarkdownExtras("text", element.getTextElement(), false); + composeStringCore("text", element.getTextElement(), false); + composeStringExtras("text", element.getTextElement(), false); } if (element.hasTypeElement()) { composeEnumerationCore("type", element.getTypeElement(), new Questionnaire.QuestionnaireItemTypeEnumFactory(), false); @@ -60354,8 +63164,11 @@ public class JsonParser extends JsonParserBase { composePeriod("validityPeriod", element.getValidityPeriod()); } if (element.hasIndication()) { - composeCodeableReference("indication", element.getIndication()); - } + openArray("indication"); + for (CodeableReference e : element.getIndication()) + composeCodeableReference(null, e); + closeArray(); + }; if (element.hasIntendedUse()) { composeCodeableConcept("intendedUse", element.getIntendedUse()); } @@ -60561,16 +63374,16 @@ public class JsonParser extends JsonParserBase { composeIdentifier("groupIdentifier", element.getGroupIdentifier()); } if (element.hasStatusElement()) { - composeEnumerationCore("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory(), false); - composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory(), false); + composeCodeCore("status", element.getStatusElement(), false); + composeCodeExtras("status", element.getStatusElement(), false); } if (element.hasIntentElement()) { - composeEnumerationCore("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory(), false); - composeEnumerationExtras("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory(), false); + composeCodeCore("intent", element.getIntentElement(), false); + composeCodeExtras("intent", element.getIntentElement(), false); } if (element.hasPriorityElement()) { - composeEnumerationCore("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); - composeEnumerationExtras("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + composeCodeCore("priority", element.getPriorityElement(), false); + composeCodeExtras("priority", element.getPriorityElement(), false); } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); @@ -60645,8 +63458,8 @@ public class JsonParser extends JsonParserBase { composeStringExtras("textEquivalent", element.getTextEquivalentElement(), false); } if (element.hasPriorityElement()) { - composeEnumerationCore("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); - composeEnumerationExtras("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + composeCodeCore("priority", element.getPriorityElement(), false); + composeCodeExtras("priority", element.getPriorityElement(), false); } if (element.hasCode()) { openArray("code"); @@ -60694,24 +63507,24 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept("type", element.getType()); } if (element.hasGroupingBehaviorElement()) { - composeEnumerationCore("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory(), false); - composeEnumerationExtras("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory(), false); + composeCodeCore("groupingBehavior", element.getGroupingBehaviorElement(), false); + composeCodeExtras("groupingBehavior", element.getGroupingBehaviorElement(), false); } if (element.hasSelectionBehaviorElement()) { - composeEnumerationCore("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory(), false); - composeEnumerationExtras("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory(), false); + composeCodeCore("selectionBehavior", element.getSelectionBehaviorElement(), false); + composeCodeExtras("selectionBehavior", element.getSelectionBehaviorElement(), false); } if (element.hasRequiredBehaviorElement()) { - composeEnumerationCore("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory(), false); - composeEnumerationExtras("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory(), false); + composeCodeCore("requiredBehavior", element.getRequiredBehaviorElement(), false); + composeCodeExtras("requiredBehavior", element.getRequiredBehaviorElement(), false); } if (element.hasPrecheckBehaviorElement()) { - composeEnumerationCore("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory(), false); - composeEnumerationExtras("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory(), false); + composeCodeCore("precheckBehavior", element.getPrecheckBehaviorElement(), false); + composeCodeExtras("precheckBehavior", element.getPrecheckBehaviorElement(), false); } if (element.hasCardinalityBehaviorElement()) { - composeEnumerationCore("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory(), false); - composeEnumerationExtras("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory(), false); + composeCodeCore("cardinalityBehavior", element.getCardinalityBehaviorElement(), false); + composeCodeExtras("cardinalityBehavior", element.getCardinalityBehaviorElement(), false); } if (element.hasResource()) { composeReference("resource", element.getResource()); @@ -60735,8 +63548,8 @@ public class JsonParser extends JsonParserBase { protected void composeRequestGroupActionConditionComponentProperties(RequestGroup.RequestGroupActionConditionComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasKindElement()) { - composeEnumerationCore("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory(), false); - composeEnumerationExtras("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory(), false); + composeCodeCore("kind", element.getKindElement(), false); + composeCodeExtras("kind", element.getKindElement(), false); } if (element.hasExpression()) { composeExpression("expression", element.getExpression()); @@ -60758,8 +63571,8 @@ public class JsonParser extends JsonParserBase { composeIdExtras("targetId", element.getTargetIdElement(), false); } if (element.hasRelationshipElement()) { - composeEnumerationCore("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory(), false); - composeEnumerationExtras("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory(), false); + composeCodeCore("relationship", element.getRelationshipElement(), false); + composeCodeExtras("relationship", element.getRelationshipElement(), false); } if (element.hasOffset()) { composeType("offset", element.getOffset()); @@ -60777,8 +63590,8 @@ public class JsonParser extends JsonParserBase { protected void composeRequestGroupActionParticipantComponentProperties(RequestGroup.RequestGroupActionParticipantComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasTypeElement()) { - composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); - composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); + composeCodeCore("type", element.getTypeElement(), false); + composeCodeExtras("type", element.getTypeElement(), false); } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); @@ -60794,6 +63607,575 @@ public class JsonParser extends JsonParserBase { } } + protected void composeRequestOrchestration(String name, RequestOrchestration element) throws IOException { + if (element != null) { + prop("resourceType", name); + composeRequestOrchestrationProperties(element); + } + } + + protected void composeRequestOrchestrationProperties(RequestOrchestration element) throws IOException { + composeDomainResourceProperties(element); + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; + if (element.hasInstantiatesCanonical()) { + if (anyHasValue(element.getInstantiatesCanonical())) { + openArray("instantiatesCanonical"); + for (CanonicalType e : element.getInstantiatesCanonical()) + composeCanonicalCore(null, e, e != element.getInstantiatesCanonical().get(element.getInstantiatesCanonical().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getInstantiatesCanonical())) { + openArray("_instantiatesCanonical"); + for (CanonicalType e : element.getInstantiatesCanonical()) + composeCanonicalExtras(null, e, true); + closeArray(); + } + }; + if (element.hasInstantiatesUri()) { + if (anyHasValue(element.getInstantiatesUri())) { + openArray("instantiatesUri"); + for (UriType e : element.getInstantiatesUri()) + composeUriCore(null, e, e != element.getInstantiatesUri().get(element.getInstantiatesUri().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getInstantiatesUri())) { + openArray("_instantiatesUri"); + for (UriType e : element.getInstantiatesUri()) + composeUriExtras(null, e, true); + closeArray(); + } + }; + if (element.hasBasedOn()) { + openArray("basedOn"); + for (Reference e : element.getBasedOn()) + composeReference(null, e); + closeArray(); + }; + if (element.hasReplaces()) { + openArray("replaces"); + for (Reference e : element.getReplaces()) + composeReference(null, e); + closeArray(); + }; + if (element.hasGroupIdentifier()) { + composeIdentifier("groupIdentifier", element.getGroupIdentifier()); + } + if (element.hasStatusElement()) { + composeEnumerationCore("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory(), false); + composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory(), false); + } + if (element.hasIntentElement()) { + composeEnumerationCore("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory(), false); + composeEnumerationExtras("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory(), false); + } + if (element.hasPriorityElement()) { + composeEnumerationCore("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + composeEnumerationExtras("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + } + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); + } + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); + } + if (element.hasAuthoredOnElement()) { + composeDateTimeCore("authoredOn", element.getAuthoredOnElement(), false); + composeDateTimeExtras("authoredOn", element.getAuthoredOnElement(), false); + } + if (element.hasAuthor()) { + composeReference("author", element.getAuthor()); + } + if (element.hasReason()) { + openArray("reason"); + for (CodeableReference e : element.getReason()) + composeCodeableReference(null, e); + closeArray(); + }; + if (element.hasGoal()) { + openArray("goal"); + for (Reference e : element.getGoal()) + composeReference(null, e); + closeArray(); + }; + if (element.hasNote()) { + openArray("note"); + for (Annotation e : element.getNote()) + composeAnnotation(null, e); + closeArray(); + }; + if (element.hasAction()) { + openArray("action"); + for (RequestOrchestration.RequestOrchestrationActionComponent e : element.getAction()) + composeRequestOrchestrationActionComponent(null, e); + closeArray(); + }; + } + + protected void composeRequestOrchestrationActionComponent(String name, RequestOrchestration.RequestOrchestrationActionComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionComponentProperties(RequestOrchestration.RequestOrchestrationActionComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasLinkIdElement()) { + composeStringCore("linkId", element.getLinkIdElement(), false); + composeStringExtras("linkId", element.getLinkIdElement(), false); + } + if (element.hasPrefixElement()) { + composeStringCore("prefix", element.getPrefixElement(), false); + composeStringExtras("prefix", element.getPrefixElement(), false); + } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } + if (element.hasDescriptionElement()) { + composeStringCore("description", element.getDescriptionElement(), false); + composeStringExtras("description", element.getDescriptionElement(), false); + } + if (element.hasTextEquivalentElement()) { + composeStringCore("textEquivalent", element.getTextEquivalentElement(), false); + composeStringExtras("textEquivalent", element.getTextEquivalentElement(), false); + } + if (element.hasPriorityElement()) { + composeEnumerationCore("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + composeEnumerationExtras("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); + } + if (element.hasCode()) { + openArray("code"); + for (CodeableConcept e : element.getCode()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasDocumentation()) { + openArray("documentation"); + for (RelatedArtifact e : element.getDocumentation()) + composeRelatedArtifact(null, e); + closeArray(); + }; + if (element.hasGoal()) { + openArray("goal"); + for (Reference e : element.getGoal()) + composeReference(null, e); + closeArray(); + }; + if (element.hasCondition()) { + openArray("condition"); + for (RequestOrchestration.RequestOrchestrationActionConditionComponent e : element.getCondition()) + composeRequestOrchestrationActionConditionComponent(null, e); + closeArray(); + }; + if (element.hasInput()) { + openArray("input"); + for (RequestOrchestration.RequestOrchestrationActionInputComponent e : element.getInput()) + composeRequestOrchestrationActionInputComponent(null, e); + closeArray(); + }; + if (element.hasOutput()) { + openArray("output"); + for (RequestOrchestration.RequestOrchestrationActionOutputComponent e : element.getOutput()) + composeRequestOrchestrationActionOutputComponent(null, e); + closeArray(); + }; + if (element.hasRelatedAction()) { + openArray("relatedAction"); + for (RequestOrchestration.RequestOrchestrationActionRelatedActionComponent e : element.getRelatedAction()) + composeRequestOrchestrationActionRelatedActionComponent(null, e); + closeArray(); + }; + if (element.hasTiming()) { + composeType("timing", element.getTiming()); + } + if (element.hasLocation()) { + composeCodeableReference("location", element.getLocation()); + } + if (element.hasParticipant()) { + openArray("participant"); + for (RequestOrchestration.RequestOrchestrationActionParticipantComponent e : element.getParticipant()) + composeRequestOrchestrationActionParticipantComponent(null, e); + closeArray(); + }; + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasGroupingBehaviorElement()) { + composeEnumerationCore("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory(), false); + composeEnumerationExtras("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory(), false); + } + if (element.hasSelectionBehaviorElement()) { + composeEnumerationCore("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory(), false); + composeEnumerationExtras("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory(), false); + } + if (element.hasRequiredBehaviorElement()) { + composeEnumerationCore("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory(), false); + composeEnumerationExtras("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory(), false); + } + if (element.hasPrecheckBehaviorElement()) { + composeEnumerationCore("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory(), false); + composeEnumerationExtras("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory(), false); + } + if (element.hasCardinalityBehaviorElement()) { + composeEnumerationCore("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory(), false); + composeEnumerationExtras("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory(), false); + } + if (element.hasResource()) { + composeReference("resource", element.getResource()); + } + if (element.hasDefinition()) { + composeType("definition", element.getDefinition()); + } + if (element.hasTransformElement()) { + composeCanonicalCore("transform", element.getTransformElement(), false); + composeCanonicalExtras("transform", element.getTransformElement(), false); + } + if (element.hasDynamicValue()) { + openArray("dynamicValue"); + for (RequestOrchestration.RequestOrchestrationActionDynamicValueComponent e : element.getDynamicValue()) + composeRequestOrchestrationActionDynamicValueComponent(null, e); + closeArray(); + }; + if (element.hasAction()) { + openArray("action"); + for (RequestOrchestration.RequestOrchestrationActionComponent e : element.getAction()) + composeRequestOrchestrationActionComponent(null, e); + closeArray(); + }; + } + + protected void composeRequestOrchestrationActionConditionComponent(String name, RequestOrchestration.RequestOrchestrationActionConditionComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionConditionComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionConditionComponentProperties(RequestOrchestration.RequestOrchestrationActionConditionComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasKindElement()) { + composeEnumerationCore("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory(), false); + composeEnumerationExtras("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory(), false); + } + if (element.hasExpression()) { + composeExpression("expression", element.getExpression()); + } + } + + protected void composeRequestOrchestrationActionInputComponent(String name, RequestOrchestration.RequestOrchestrationActionInputComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionInputComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionInputComponentProperties(RequestOrchestration.RequestOrchestrationActionInputComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } + if (element.hasRequirement()) { + composeDataRequirement("requirement", element.getRequirement()); + } + if (element.hasRelatedDataElement()) { + composeIdCore("relatedData", element.getRelatedDataElement(), false); + composeIdExtras("relatedData", element.getRelatedDataElement(), false); + } + } + + protected void composeRequestOrchestrationActionOutputComponent(String name, RequestOrchestration.RequestOrchestrationActionOutputComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionOutputComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionOutputComponentProperties(RequestOrchestration.RequestOrchestrationActionOutputComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } + if (element.hasRequirement()) { + composeDataRequirement("requirement", element.getRequirement()); + } + if (element.hasRelatedDataElement()) { + composeStringCore("relatedData", element.getRelatedDataElement(), false); + composeStringExtras("relatedData", element.getRelatedDataElement(), false); + } + } + + protected void composeRequestOrchestrationActionRelatedActionComponent(String name, RequestOrchestration.RequestOrchestrationActionRelatedActionComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionRelatedActionComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionRelatedActionComponentProperties(RequestOrchestration.RequestOrchestrationActionRelatedActionComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTargetIdElement()) { + composeIdCore("targetId", element.getTargetIdElement(), false); + composeIdExtras("targetId", element.getTargetIdElement(), false); + } + if (element.hasRelationshipElement()) { + composeEnumerationCore("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory(), false); + composeEnumerationExtras("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory(), false); + } + if (element.hasOffset()) { + composeType("offset", element.getOffset()); + } + } + + protected void composeRequestOrchestrationActionParticipantComponent(String name, RequestOrchestration.RequestOrchestrationActionParticipantComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionParticipantComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionParticipantComponentProperties(RequestOrchestration.RequestOrchestrationActionParticipantComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasTypeElement()) { + composeEnumerationCore("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); + composeEnumerationExtras("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory(), false); + } + if (element.hasTypeCanonicalElement()) { + composeCanonicalCore("typeCanonical", element.getTypeCanonicalElement(), false); + composeCanonicalExtras("typeCanonical", element.getTypeCanonicalElement(), false); + } + if (element.hasTypeReference()) { + composeReference("typeReference", element.getTypeReference()); + } + if (element.hasRole()) { + composeCodeableConcept("role", element.getRole()); + } + if (element.hasFunction()) { + composeCodeableConcept("function", element.getFunction()); + } + if (element.hasActor()) { + composeType("actor", element.getActor()); + } + } + + protected void composeRequestOrchestrationActionDynamicValueComponent(String name, RequestOrchestration.RequestOrchestrationActionDynamicValueComponent element) throws IOException { + if (element != null) { + open(name); + composeRequestOrchestrationActionDynamicValueComponentProperties(element); + close(); + } + } + + protected void composeRequestOrchestrationActionDynamicValueComponentProperties(RequestOrchestration.RequestOrchestrationActionDynamicValueComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasPathElement()) { + composeStringCore("path", element.getPathElement(), false); + composeStringExtras("path", element.getPathElement(), false); + } + if (element.hasExpression()) { + composeExpression("expression", element.getExpression()); + } + } + + protected void composeRequirements(String name, Requirements element) throws IOException { + if (element != null) { + prop("resourceType", name); + composeRequirementsProperties(element); + } + } + + protected void composeRequirementsProperties(Requirements element) throws IOException { + composeCanonicalResourceProperties(element); + if (element.hasUrlElement()) { + composeUriCore("url", element.getUrlElement(), false); + composeUriExtras("url", element.getUrlElement(), false); + } + if (element.hasIdentifier()) { + openArray("identifier"); + for (Identifier e : element.getIdentifier()) + composeIdentifier(null, e); + closeArray(); + }; + if (element.hasVersionElement()) { + composeStringCore("version", element.getVersionElement(), false); + composeStringExtras("version", element.getVersionElement(), false); + } + if (element.hasNameElement()) { + composeStringCore("name", element.getNameElement(), false); + composeStringExtras("name", element.getNameElement(), false); + } + if (element.hasTitleElement()) { + composeStringCore("title", element.getTitleElement(), false); + composeStringExtras("title", element.getTitleElement(), false); + } + if (element.hasStatusElement()) { + composeEnumerationCore("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); + composeEnumerationExtras("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory(), false); + } + if (element.hasExperimentalElement()) { + composeBooleanCore("experimental", element.getExperimentalElement(), false); + composeBooleanExtras("experimental", element.getExperimentalElement(), false); + } + if (element.hasDateElement()) { + composeDateTimeCore("date", element.getDateElement(), false); + composeDateTimeExtras("date", element.getDateElement(), false); + } + if (element.hasPublisherElement()) { + composeStringCore("publisher", element.getPublisherElement(), false); + composeStringExtras("publisher", element.getPublisherElement(), false); + } + if (element.hasContact()) { + openArray("contact"); + for (ContactDetail e : element.getContact()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasDescriptionElement()) { + composeMarkdownCore("description", element.getDescriptionElement(), false); + composeMarkdownExtras("description", element.getDescriptionElement(), false); + } + if (element.hasUseContext()) { + openArray("useContext"); + for (UsageContext e : element.getUseContext()) + composeUsageContext(null, e); + closeArray(); + }; + if (element.hasJurisdiction()) { + openArray("jurisdiction"); + for (CodeableConcept e : element.getJurisdiction()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasPurposeElement()) { + composeMarkdownCore("purpose", element.getPurposeElement(), false); + composeMarkdownExtras("purpose", element.getPurposeElement(), false); + } + if (element.hasCopyrightElement()) { + composeMarkdownCore("copyright", element.getCopyrightElement(), false); + composeMarkdownExtras("copyright", element.getCopyrightElement(), false); + } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } + if (element.hasDerivedFrom()) { + if (anyHasValue(element.getDerivedFrom())) { + openArray("derivedFrom"); + for (CanonicalType e : element.getDerivedFrom()) + composeCanonicalCore(null, e, e != element.getDerivedFrom().get(element.getDerivedFrom().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getDerivedFrom())) { + openArray("_derivedFrom"); + for (CanonicalType e : element.getDerivedFrom()) + composeCanonicalExtras(null, e, true); + closeArray(); + } + }; + if (element.hasActor()) { + if (anyHasValue(element.getActor())) { + openArray("actor"); + for (CanonicalType e : element.getActor()) + composeCanonicalCore(null, e, e != element.getActor().get(element.getActor().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getActor())) { + openArray("_actor"); + for (CanonicalType e : element.getActor()) + composeCanonicalExtras(null, e, true); + closeArray(); + } + }; + if (element.hasStatement()) { + openArray("statement"); + for (Requirements.RequirementsStatementComponent e : element.getStatement()) + composeRequirementsStatementComponent(null, e); + closeArray(); + }; + } + + protected void composeRequirementsStatementComponent(String name, Requirements.RequirementsStatementComponent element) throws IOException { + if (element != null) { + open(name); + composeRequirementsStatementComponentProperties(element); + close(); + } + } + + protected void composeRequirementsStatementComponentProperties(Requirements.RequirementsStatementComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasKeyElement()) { + composeIdCore("key", element.getKeyElement(), false); + composeIdExtras("key", element.getKeyElement(), false); + } + if (element.hasLabelElement()) { + composeStringCore("label", element.getLabelElement(), false); + composeStringExtras("label", element.getLabelElement(), false); + } + if (element.hasConformanceElement()) { + composeEnumerationCore("conformance", element.getConformanceElement(), new Requirements.ConformanceExpectationEnumFactory(), false); + composeEnumerationExtras("conformance", element.getConformanceElement(), new Requirements.ConformanceExpectationEnumFactory(), false); + } + if (element.hasRequirementElement()) { + composeMarkdownCore("requirement", element.getRequirementElement(), false); + composeMarkdownExtras("requirement", element.getRequirementElement(), false); + } + if (element.hasDerivedFromElement()) { + composeStringCore("derivedFrom", element.getDerivedFromElement(), false); + composeStringExtras("derivedFrom", element.getDerivedFromElement(), false); + } + if (element.hasSatisfiedBy()) { + if (anyHasValue(element.getSatisfiedBy())) { + openArray("satisfiedBy"); + for (UrlType e : element.getSatisfiedBy()) + composeUrlCore(null, e, e != element.getSatisfiedBy().get(element.getSatisfiedBy().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getSatisfiedBy())) { + openArray("_satisfiedBy"); + for (UrlType e : element.getSatisfiedBy()) + composeUrlExtras(null, e, true); + closeArray(); + } + }; + if (element.hasReference()) { + if (anyHasValue(element.getReference())) { + openArray("reference"); + for (UrlType e : element.getReference()) + composeUrlCore(null, e, e != element.getReference().get(element.getReference().size()-1)); + closeArray(); + } + if (anyHasExtras(element.getReference())) { + openArray("_reference"); + for (UrlType e : element.getReference()) + composeUrlExtras(null, e, true); + closeArray(); + } + }; + if (element.hasSource()) { + openArray("source"); + for (Reference e : element.getSource()) + composeReference(null, e); + closeArray(); + }; + } + protected void composeResearchStudy(String name, ResearchStudy element) throws IOException { if (element != null) { prop("resourceType", name); @@ -60863,9 +64245,9 @@ public class JsonParser extends JsonParserBase { if (element.hasPhase()) { composeCodeableConcept("phase", element.getPhase()); } - if (element.hasCategory()) { - openArray("category"); - for (CodeableConcept e : element.getCategory()) + if (element.hasStudyDesign()) { + openArray("studyDesign"); + for (CodeableConcept e : element.getStudyDesign()) composeCodeableConcept(null, e); closeArray(); }; @@ -60887,9 +64269,9 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; - if (element.hasLocation()) { - openArray("location"); - for (CodeableConcept e : element.getLocation()) + if (element.hasRegion()) { + openArray("region"); + for (CodeableConcept e : element.getRegion()) composeCodeableConcept(null, e); closeArray(); }; @@ -60904,18 +64286,6 @@ public class JsonParser extends JsonParserBase { if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } - if (element.hasContact()) { - openArray("contact"); - for (ContactDetail e : element.getContact()) - composeContactDetail(null, e); - closeArray(); - }; - if (element.hasSponsor()) { - composeReference("sponsor", element.getSponsor()); - } - if (element.hasPrincipalInvestigator()) { - composeReference("principalInvestigator", element.getPrincipalInvestigator()); - } if (element.hasSite()) { openArray("site"); for (Reference e : element.getSite()) @@ -60928,10 +64298,10 @@ public class JsonParser extends JsonParserBase { composeAnnotation(null, e); closeArray(); }; - if (element.hasClassification()) { - openArray("classification"); - for (ResearchStudy.ResearchStudyClassificationComponent e : element.getClassification()) - composeResearchStudyClassificationComponent(null, e); + if (element.hasClassifier()) { + openArray("classifier"); + for (CodeableConcept e : element.getClassifier()) + composeCodeableConcept(null, e); closeArray(); }; if (element.hasAssociatedParty()) { @@ -60940,16 +64310,10 @@ public class JsonParser extends JsonParserBase { composeResearchStudyAssociatedPartyComponent(null, e); closeArray(); }; - if (element.hasCurrentState()) { - openArray("currentState"); - for (CodeableConcept e : element.getCurrentState()) - composeCodeableConcept(null, e); - closeArray(); - }; - if (element.hasStatusDate()) { - openArray("statusDate"); - for (ResearchStudy.ResearchStudyStatusDateComponent e : element.getStatusDate()) - composeResearchStudyStatusDateComponent(null, e); + if (element.hasProgressStatus()) { + openArray("progressStatus"); + for (ResearchStudy.ResearchStudyProgressStatusComponent e : element.getProgressStatus()) + composeResearchStudyProgressStatusComponent(null, e); closeArray(); }; if (element.hasWhyStopped()) { @@ -61034,27 +64398,6 @@ public class JsonParser extends JsonParserBase { } } - protected void composeResearchStudyClassificationComponent(String name, ResearchStudy.ResearchStudyClassificationComponent element) throws IOException { - if (element != null) { - open(name); - composeResearchStudyClassificationComponentProperties(element); - close(); - } - } - - protected void composeResearchStudyClassificationComponentProperties(ResearchStudy.ResearchStudyClassificationComponent element) throws IOException { - composeBackboneElementProperties(element); - if (element.hasType()) { - composeCodeableConcept("type", element.getType()); - } - if (element.hasClassifier()) { - openArray("classifier"); - for (CodeableConcept e : element.getClassifier()) - composeCodeableConcept(null, e); - closeArray(); - }; - } - protected void composeResearchStudyAssociatedPartyComponent(String name, ResearchStudy.ResearchStudyAssociatedPartyComponent element) throws IOException { if (element != null) { open(name); @@ -61089,18 +64432,18 @@ public class JsonParser extends JsonParserBase { } } - protected void composeResearchStudyStatusDateComponent(String name, ResearchStudy.ResearchStudyStatusDateComponent element) throws IOException { + protected void composeResearchStudyProgressStatusComponent(String name, ResearchStudy.ResearchStudyProgressStatusComponent element) throws IOException { if (element != null) { open(name); - composeResearchStudyStatusDateComponentProperties(element); + composeResearchStudyProgressStatusComponentProperties(element); close(); } } - protected void composeResearchStudyStatusDateComponentProperties(ResearchStudy.ResearchStudyStatusDateComponent element) throws IOException { + protected void composeResearchStudyProgressStatusComponentProperties(ResearchStudy.ResearchStudyProgressStatusComponent element) throws IOException { composeBackboneElementProperties(element); - if (element.hasActivity()) { - composeCodeableConcept("activity", element.getActivity()); + if (element.hasState()) { + composeCodeableConcept("state", element.getState()); } if (element.hasActualElement()) { composeBooleanCore("actual", element.getActualElement(), false); @@ -61467,6 +64810,10 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept(null, e); closeArray(); }; + if (element.hasNameElement()) { + composeStringCore("name", element.getNameElement(), false); + composeStringExtras("name", element.getNameElement(), false); + } if (element.hasActor()) { openArray("actor"); for (Reference e : element.getActor()) @@ -61499,6 +64846,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -61558,16 +64908,14 @@ public class JsonParser extends JsonParserBase { composeCodeExtras("code", element.getCodeElement(), false); } if (element.hasBase()) { - if (anyHasValue(element.getBase())) { - openArray("base"); - for (CodeType e : element.getBase()) - composeCodeCore(null, e, e != element.getBase().get(element.getBase().size()-1)); - closeArray(); - } + openArray("base"); + for (Enumeration e : element.getBase()) + composeEnumerationCore(null, e, new Enumerations.AllResourceTypesEnumFactory(), true); + closeArray(); if (anyHasExtras(element.getBase())) { openArray("_base"); - for (CodeType e : element.getBase()) - composeCodeExtras(null, e, true); + for (Enumeration e : element.getBase()) + composeEnumerationExtras(null, e, new Enumerations.AllResourceTypesEnumFactory(), true); closeArray(); } }; @@ -61579,13 +64927,13 @@ public class JsonParser extends JsonParserBase { composeStringCore("expression", element.getExpressionElement(), false); composeStringExtras("expression", element.getExpressionElement(), false); } - if (element.hasXpathElement()) { - composeStringCore("xpath", element.getXpathElement(), false); - composeStringExtras("xpath", element.getXpathElement(), false); + if (element.hasProcessingModeElement()) { + composeEnumerationCore("processingMode", element.getProcessingModeElement(), new SearchParameter.SearchProcessingModeTypeEnumFactory(), false); + composeEnumerationExtras("processingMode", element.getProcessingModeElement(), new SearchParameter.SearchProcessingModeTypeEnumFactory(), false); } - if (element.hasXpathUsageElement()) { - composeEnumerationCore("xpathUsage", element.getXpathUsageElement(), new SearchParameter.XPathUsageTypeEnumFactory(), false); - composeEnumerationExtras("xpathUsage", element.getXpathUsageElement(), new SearchParameter.XPathUsageTypeEnumFactory(), false); + if (element.hasConstraintElement()) { + composeStringCore("constraint", element.getConstraintElement(), false); + composeStringExtras("constraint", element.getConstraintElement(), false); } if (element.hasTarget()) { if (anyHasValue(element.getTarget())) { @@ -61756,7 +65104,7 @@ public class JsonParser extends JsonParserBase { composeBooleanExtras("doNotPerform", element.getDoNotPerformElement(), false); } if (element.hasCode()) { - composeCodeableConcept("code", element.getCode()); + composeCodeableReference("code", element.getCode()); } if (element.hasOrderDetail()) { openArray("orderDetail"); @@ -61966,6 +65314,16 @@ public class JsonParser extends JsonParserBase { composeReference(null, e); closeArray(); }; + if (element.hasCombinedElement()) { + composeEnumerationCore("combined", element.getCombinedElement(), new Specimen.SpecimenCombinedEnumFactory(), false); + composeEnumerationExtras("combined", element.getCombinedElement(), new Specimen.SpecimenCombinedEnumFactory(), false); + } + if (element.hasRole()) { + openArray("role"); + for (CodeableConcept e : element.getRole()) + composeCodeableConcept(null, e); + closeArray(); + }; if (element.hasFeature()) { openArray("feature"); for (Specimen.SpecimenFeatureComponent e : element.getFeature()) @@ -62122,7 +65480,7 @@ public class JsonParser extends JsonParserBase { composeUriExtras("url", element.getUrlElement(), false); } if (element.hasIdentifier()) { - composeIdentifier("identifier", element.getIdentifier()); + composeIdentifier("identifier", element.getIdentifierFirstRep()); } if (element.hasVersionElement()) { composeStringCore("version", element.getVersionElement(), false); @@ -62405,6 +65763,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -62459,6 +65820,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasKeyword()) { openArray("keyword"); for (Coding e : element.getKeyword()) @@ -62630,6 +65995,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -62684,6 +66052,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasStructure()) { openArray("structure"); for (StructureMap.StructureMapStructureComponent e : element.getStructure()) @@ -63032,6 +66404,9 @@ public class JsonParser extends JsonParserBase { composeInstantCore("end", element.getEndElement(), false); composeInstantExtras("end", element.getEndElement(), false); } + if (element.hasManagingEntity()) { + composeReference("managingEntity", element.getManagingEntity()); + } if (element.hasReasonElement()) { composeStringCore("reason", element.getReasonElement(), false); composeStringExtras("reason", element.getReasonElement(), false); @@ -63271,6 +66646,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasApprovalDateElement()) { composeDateCore("approvalDate", element.getApprovalDateElement(), false); composeDateExtras("approvalDate", element.getApprovalDateElement(), false); @@ -64815,8 +68194,11 @@ public class JsonParser extends JsonParserBase { composeCodeableConcept("type", element.getType()); } if (element.hasSuppliedItem()) { - composeSupplyDeliverySuppliedItemComponent("suppliedItem", element.getSuppliedItem()); - } + openArray("suppliedItem"); + for (SupplyDelivery.SupplyDeliverySuppliedItemComponent e : element.getSuppliedItem()) + composeSupplyDeliverySuppliedItemComponent(null, e); + closeArray(); + }; if (element.hasOccurrence()) { composeType("occurrence", element.getOccurrence()); } @@ -64987,7 +68369,7 @@ public class JsonParser extends JsonParserBase { composeEnumerationExtras("status", element.getStatusElement(), new Task.TaskStatusEnumFactory(), false); } if (element.hasStatusReason()) { - composeCodeableConcept("statusReason", element.getStatusReason()); + composeCodeableReference("statusReason", element.getStatusReason()); } if (element.hasBusinessStatus()) { composeCodeableConcept("businessStatus", element.getBusinessStatus()); @@ -65000,6 +68382,10 @@ public class JsonParser extends JsonParserBase { composeEnumerationCore("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); composeEnumerationExtras("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory(), false); } + if (element.hasDoNotPerformElement()) { + composeBooleanCore("doNotPerform", element.getDoNotPerformElement(), false); + composeBooleanExtras("doNotPerform", element.getDoNotPerformElement(), false); + } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -65016,6 +68402,9 @@ public class JsonParser extends JsonParserBase { if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } + if (element.hasRequestedPeriod()) { + composePeriod("requestedPeriod", element.getRequestedPeriod()); + } if (element.hasExecutionPeriod()) { composePeriod("executionPeriod", element.getExecutionPeriod()); } @@ -65030,10 +68419,10 @@ public class JsonParser extends JsonParserBase { if (element.hasRequester()) { composeReference("requester", element.getRequester()); } - if (element.hasPerformerType()) { - openArray("performerType"); - for (CodeableConcept e : element.getPerformerType()) - composeCodeableConcept(null, e); + if (element.hasRequestedPerformer()) { + openArray("requestedPerformer"); + for (CodeableReference e : element.getRequestedPerformer()) + composeCodeableReference(null, e); closeArray(); }; if (element.hasOwner()) { @@ -65042,12 +68431,12 @@ public class JsonParser extends JsonParserBase { if (element.hasLocation()) { composeReference("location", element.getLocation()); } - if (element.hasReasonCode()) { - composeCodeableConcept("reasonCode", element.getReasonCode()); - } - if (element.hasReasonReference()) { - composeReference("reasonReference", element.getReasonReference()); - } + if (element.hasReason()) { + openArray("reason"); + for (CodeableReference e : element.getReason()) + composeCodeableReference(null, e); + closeArray(); + }; if (element.hasInsurance()) { openArray("insurance"); for (Reference e : element.getInsurance()) @@ -65071,8 +68460,8 @@ public class JsonParser extends JsonParserBase { } if (element.hasInput()) { openArray("input"); - for (Task.ParameterComponent e : element.getInput()) - composeParameterComponent(null, e); + for (Task.TaskInputComponent e : element.getInput()) + composeTaskInputComponent(null, e); closeArray(); }; if (element.hasOutput()) { @@ -65108,15 +68497,15 @@ public class JsonParser extends JsonParserBase { }; } - protected void composeParameterComponent(String name, Task.ParameterComponent element) throws IOException { + protected void composeTaskInputComponent(String name, Task.TaskInputComponent element) throws IOException { if (element != null) { open(name); - composeParameterComponentProperties(element); + composeTaskInputComponentProperties(element); close(); } } - protected void composeParameterComponentProperties(Task.ParameterComponent element) throws IOException { + protected void composeTaskInputComponentProperties(Task.TaskInputComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasType()) { composeCodeableConcept("type", element.getType()); @@ -65319,6 +68708,10 @@ public class JsonParser extends JsonParserBase { composeTerminologyCapabilitiesCodeSystemVersionComponent(null, e); closeArray(); }; + if (element.hasContentElement()) { + composeCodeCore("content", element.getContentElement(), false); + composeCodeExtras("content", element.getContentElement(), false); + } if (element.hasSubsumptionElement()) { composeBooleanCore("subsumption", element.getSubsumptionElement(), false); composeBooleanExtras("subsumption", element.getSubsumptionElement(), false); @@ -65348,16 +68741,14 @@ public class JsonParser extends JsonParserBase { composeBooleanExtras("compositional", element.getCompositionalElement(), false); } if (element.hasLanguage()) { - if (anyHasValue(element.getLanguage())) { - openArray("language"); - for (CodeType e : element.getLanguage()) - composeCodeCore(null, e, e != element.getLanguage().get(element.getLanguage().size()-1)); - closeArray(); - } + openArray("language"); + for (Enumeration e : element.getLanguage()) + composeEnumerationCore(null, e, new TerminologyCapabilities.CommonLanguagesEnumFactory(), true); + closeArray(); if (anyHasExtras(element.getLanguage())) { openArray("_language"); - for (CodeType e : element.getLanguage()) - composeCodeExtras(null, e, true); + for (Enumeration e : element.getLanguage()) + composeEnumerationExtras(null, e, new TerminologyCapabilities.CommonLanguagesEnumFactory(), true); closeArray(); } }; @@ -65783,6 +69174,9 @@ public class JsonParser extends JsonParserBase { composeStringCore("version", element.getVersionElement(), false); composeStringExtras("version", element.getVersionElement(), false); } + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeStringCore("name", element.getNameElement(), false); composeStringExtras("name", element.getNameElement(), false); @@ -65837,6 +69231,10 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasCopyrightLabelElement()) { + composeStringCore("copyrightLabel", element.getCopyrightLabelElement(), false); + composeStringExtras("copyrightLabel", element.getCopyrightLabelElement(), false); + } if (element.hasOrigin()) { openArray("origin"); for (TestScript.TestScriptOriginComponent e : element.getOrigin()) @@ -66329,8 +69727,8 @@ public class JsonParser extends JsonParserBase { composeStringExtras("requestURL", element.getRequestURLElement(), false); } if (element.hasResourceElement()) { - composeEnumerationCore("resource", element.getResourceElement(), new TestScript.FHIRDefinedTypeEnumFactory(), false); - composeEnumerationExtras("resource", element.getResourceElement(), new TestScript.FHIRDefinedTypeEnumFactory(), false); + composeUriCore("resource", element.getResourceElement(), false); + composeUriExtras("resource", element.getResourceElement(), false); } if (element.hasResponseElement()) { composeEnumerationCore("response", element.getResponseElement(), new TestScript.AssertionResponseTypesEnumFactory(), false); @@ -66654,7 +70052,7 @@ public class JsonParser extends JsonParserBase { } protected void composeValueSetProperties(ValueSet element) throws IOException { - composeCanonicalResourceProperties(element); + composeMetadataResourceProperties(element); if (element.hasUrlElement()) { composeUriCore("url", element.getUrlElement(), false); composeUriExtras("url", element.getUrlElement(), false); @@ -66727,6 +70125,53 @@ public class JsonParser extends JsonParserBase { composeMarkdownCore("copyright", element.getCopyrightElement(), false); composeMarkdownExtras("copyright", element.getCopyrightElement(), false); } + if (element.hasApprovalDateElement()) { + composeDateCore("approvalDate", element.getApprovalDateElement(), false); + composeDateExtras("approvalDate", element.getApprovalDateElement(), false); + } + if (element.hasLastReviewDateElement()) { + composeDateCore("lastReviewDate", element.getLastReviewDateElement(), false); + composeDateExtras("lastReviewDate", element.getLastReviewDateElement(), false); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + openArray("topic"); + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept(null, e); + closeArray(); + }; + if (element.hasAuthor()) { + openArray("author"); + for (ContactDetail e : element.getAuthor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEditor()) { + openArray("editor"); + for (ContactDetail e : element.getEditor()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasReviewer()) { + openArray("reviewer"); + for (ContactDetail e : element.getReviewer()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasEndorser()) { + openArray("endorser"); + for (ContactDetail e : element.getEndorser()) + composeContactDetail(null, e); + closeArray(); + }; + if (element.hasRelatedArtifact()) { + openArray("relatedArtifact"); + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact(null, e); + closeArray(); + }; if (element.hasCompose()) { composeValueSetComposeComponent("compose", element.getCompose()); } @@ -66877,6 +70322,12 @@ public class JsonParser extends JsonParserBase { if (element.hasUse()) { composeCoding("use", element.getUse()); } + if (element.hasAdditionalUse()) { + openArray("additionalUse"); + for (Coding e : element.getAdditionalUse()) + composeCoding(null, e); + closeArray(); + }; if (element.hasValueElement()) { composeStringCore("value", element.getValueElement(), false); composeStringExtras("value", element.getValueElement(), false); @@ -66921,6 +70372,10 @@ public class JsonParser extends JsonParserBase { composeUriCore("identifier", element.getIdentifierElement(), false); composeUriExtras("identifier", element.getIdentifierElement(), false); } + if (element.hasNextElement()) { + composeUriCore("next", element.getNextElement(), false); + composeUriExtras("next", element.getNextElement(), false); + } if (element.hasTimestampElement()) { composeDateTimeCore("timestamp", element.getTimestampElement(), false); composeDateTimeExtras("timestamp", element.getTimestampElement(), false); @@ -67055,6 +70510,31 @@ public class JsonParser extends JsonParserBase { } protected void composeConceptPropertyComponentProperties(ValueSet.ConceptPropertyComponent element) throws IOException { + composeBackboneElementProperties(element); + if (element.hasCodeElement()) { + composeCodeCore("code", element.getCodeElement(), false); + composeCodeExtras("code", element.getCodeElement(), false); + } + if (element.hasValue()) { + composeType("value", element.getValue()); + } + if (element.hasSubProperty()) { + openArray("subProperty"); + for (ValueSet.ConceptSubPropertyComponent e : element.getSubProperty()) + composeConceptSubPropertyComponent(null, e); + closeArray(); + }; + } + + protected void composeConceptSubPropertyComponent(String name, ValueSet.ConceptSubPropertyComponent element) throws IOException { + if (element != null) { + open(name); + composeConceptSubPropertyComponentProperties(element); + close(); + } + } + + protected void composeConceptSubPropertyComponentProperties(ValueSet.ConceptSubPropertyComponent element) throws IOException { composeBackboneElementProperties(element); if (element.hasCodeElement()) { composeCodeCore("code", element.getCodeElement(), false); @@ -67413,6 +70893,8 @@ public class JsonParser extends JsonParserBase { composeAccount("Account", (Account)resource); } else if (resource instanceof ActivityDefinition) { composeActivityDefinition("ActivityDefinition", (ActivityDefinition)resource); + } else if (resource instanceof ActorDefinition) { + composeActorDefinition("ActorDefinition", (ActorDefinition)resource); } else if (resource instanceof AdministrableProductDefinition) { composeAdministrableProductDefinition("AdministrableProductDefinition", (AdministrableProductDefinition)resource); } else if (resource instanceof AdverseEvent) { @@ -67439,8 +70921,6 @@ public class JsonParser extends JsonParserBase { composeBundle("Bundle", (Bundle)resource); } else if (resource instanceof CapabilityStatement) { composeCapabilityStatement("CapabilityStatement", (CapabilityStatement)resource); - } else if (resource instanceof CapabilityStatement2) { - composeCapabilityStatement2("CapabilityStatement2", (CapabilityStatement2)resource); } else if (resource instanceof CarePlan) { composeCarePlan("CarePlan", (CarePlan)resource); } else if (resource instanceof CareTeam) { @@ -67533,6 +71013,8 @@ public class JsonParser extends JsonParserBase { composeFlag("Flag", (Flag)resource); } else if (resource instanceof FormularyItem) { composeFormularyItem("FormularyItem", (FormularyItem)resource); + } else if (resource instanceof GenomicStudy) { + composeGenomicStudy("GenomicStudy", (GenomicStudy)resource); } else if (resource instanceof Goal) { composeGoal("Goal", (Goal)resource); } else if (resource instanceof GraphDefinition) { @@ -67651,6 +71133,10 @@ public class JsonParser extends JsonParserBase { composeRelatedPerson("RelatedPerson", (RelatedPerson)resource); } else if (resource instanceof RequestGroup) { composeRequestGroup("RequestGroup", (RequestGroup)resource); + } else if (resource instanceof RequestOrchestration) { + composeRequestOrchestration("RequestOrchestration", (RequestOrchestration)resource); + } else if (resource instanceof Requirements) { + composeRequirements("Requirements", (Requirements)resource); } else if (resource instanceof ResearchStudy) { composeResearchStudy("ResearchStudy", (ResearchStudy)resource); } else if (resource instanceof ResearchSubject) { @@ -67725,6 +71211,8 @@ public class JsonParser extends JsonParserBase { composeAccount(name, (Account)resource); } else if (resource instanceof ActivityDefinition) { composeActivityDefinition(name, (ActivityDefinition)resource); + } else if (resource instanceof ActorDefinition) { + composeActorDefinition(name, (ActorDefinition)resource); } else if (resource instanceof AdministrableProductDefinition) { composeAdministrableProductDefinition(name, (AdministrableProductDefinition)resource); } else if (resource instanceof AdverseEvent) { @@ -67751,8 +71239,6 @@ public class JsonParser extends JsonParserBase { composeBundle(name, (Bundle)resource); } else if (resource instanceof CapabilityStatement) { composeCapabilityStatement(name, (CapabilityStatement)resource); - } else if (resource instanceof CapabilityStatement2) { - composeCapabilityStatement2(name, (CapabilityStatement2)resource); } else if (resource instanceof CarePlan) { composeCarePlan(name, (CarePlan)resource); } else if (resource instanceof CareTeam) { @@ -67845,6 +71331,8 @@ public class JsonParser extends JsonParserBase { composeFlag(name, (Flag)resource); } else if (resource instanceof FormularyItem) { composeFormularyItem(name, (FormularyItem)resource); + } else if (resource instanceof GenomicStudy) { + composeGenomicStudy(name, (GenomicStudy)resource); } else if (resource instanceof Goal) { composeGoal(name, (Goal)resource); } else if (resource instanceof GraphDefinition) { @@ -67963,6 +71451,10 @@ public class JsonParser extends JsonParserBase { composeRelatedPerson(name, (RelatedPerson)resource); } else if (resource instanceof RequestGroup) { composeRequestGroup(name, (RequestGroup)resource); + } else if (resource instanceof RequestOrchestration) { + composeRequestOrchestration(name, (RequestOrchestration)resource); + } else if (resource instanceof Requirements) { + composeRequirements(name, (Requirements)resource); } else if (resource instanceof ResearchStudy) { composeResearchStudy(name, (ResearchStudy)resource); } else if (resource instanceof ResearchSubject) { @@ -68041,6 +71533,8 @@ public class JsonParser extends JsonParserBase { composeAnnotation(prefix+"Annotation", (Annotation) type); } else if (type instanceof Attachment) { composeAttachment(prefix+"Attachment", (Attachment) type); + } else if (type instanceof Availability) { + composeAvailability(prefix+"Availability", (Availability) type); } else if (type instanceof CodeableConcept) { composeCodeableConcept(prefix+"CodeableConcept", (CodeableConcept) type); } else if (type instanceof CodeableReference) { @@ -68079,6 +71573,8 @@ public class JsonParser extends JsonParserBase { composeMarketingStatus(prefix+"MarketingStatus", (MarketingStatus) type); } else if (type instanceof Meta) { composeMeta(prefix+"Meta", (Meta) type); + } else if (type instanceof MonetaryComponent) { + composeMonetaryComponent(prefix+"MonetaryComponent", (MonetaryComponent) type); } else if (type instanceof Money) { composeMoney(prefix+"Money", (Money) type); } else if (type instanceof Narrative) { @@ -68113,6 +71609,8 @@ public class JsonParser extends JsonParserBase { composeTriggerDefinition(prefix+"TriggerDefinition", (TriggerDefinition) type); } else if (type instanceof UsageContext) { composeUsageContext(prefix+"UsageContext", (UsageContext) type); + } else if (type instanceof VirtualServiceDetail) { + composeVirtualServiceDetail(prefix+"VirtualServiceDetail", (VirtualServiceDetail) type); } else if (type instanceof CodeType) { composeCodeCore(prefix+"Code", (CodeType) type, false); @@ -68208,6 +71706,8 @@ public class JsonParser extends JsonParserBase { composeAnnotationProperties((Annotation) type); } else if (type instanceof Attachment) { composeAttachmentProperties((Attachment) type); + } else if (type instanceof Availability) { + composeAvailabilityProperties((Availability) type); } else if (type instanceof CodeableConcept) { composeCodeableConceptProperties((CodeableConcept) type); } else if (type instanceof CodeableReference) { @@ -68246,6 +71746,8 @@ public class JsonParser extends JsonParserBase { composeMarketingStatusProperties((MarketingStatus) type); } else if (type instanceof Meta) { composeMetaProperties((Meta) type); + } else if (type instanceof MonetaryComponent) { + composeMonetaryComponentProperties((MonetaryComponent) type); } else if (type instanceof Money) { composeMoneyProperties((Money) type); } else if (type instanceof Narrative) { @@ -68280,6 +71782,8 @@ public class JsonParser extends JsonParserBase { composeTriggerDefinitionProperties((TriggerDefinition) type); } else if (type instanceof UsageContext) { composeUsageContextProperties((UsageContext) type); + } else if (type instanceof VirtualServiceDetail) { + composeVirtualServiceDetailProperties((VirtualServiceDetail) type); } else throw new Error("Unhandled type: "+type.fhirType()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java index 83068a012..4de5073a2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java @@ -31,7 +31,7 @@ package org.hl7.fhir.r5.formats; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent @@ -379,6 +379,66 @@ public class RdfParser extends RdfParserBase { } } + protected void composeAvailability(Complex parent, String parentType, String name, Availability element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeDataType(t, "Availability", name, element, index); + for (int i = 0; i < element.getAvailableTime().size(); i++) { + composeAvailabilityAvailableTimeComponent(t, "Availability", "availableTime", element.getAvailableTime().get(i), i); + } + for (int i = 0; i < element.getNotAvailableTime().size(); i++) { + composeAvailabilityNotAvailableTimeComponent(t, "Availability", "notAvailableTime", element.getNotAvailableTime().get(i), i); + } + } + + protected void composeAvailabilityAvailableTimeComponent(Complex parent, String parentType, String name, Availability.AvailabilityAvailableTimeComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeElement(t, "availableTime", name, element, index); + for (int i = 0; i < element.getDaysOfWeek().size(); i++) { + composeEnum(t, "AvailabilityAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); + } + if (element.hasAllDayElement()) { + composeBoolean(t, "AvailabilityAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); + } + if (element.hasAvailableStartTimeElement()) { + composeTime(t, "AvailabilityAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); + } + if (element.hasAvailableEndTimeElement()) { + composeTime(t, "AvailabilityAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); + } + } + + protected void composeAvailabilityNotAvailableTimeComponent(Complex parent, String parentType, String name, Availability.AvailabilityNotAvailableTimeComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeElement(t, "notAvailableTime", name, element, index); + if (element.hasDescriptionElement()) { + composeString(t, "AvailabilityNotAvailableTimeComponent", "description", element.getDescriptionElement(), -1); + } + if (element.hasDuring()) { + composePeriod(t, "AvailabilityNotAvailableTimeComponent", "during", element.getDuring(), -1); + } + } + protected void composeCodeableConcept(Complex parent, String parentType, String name, CodeableConcept element, int index) { if (element == null) return; @@ -550,6 +610,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getDateFilter().size(); i++) { composeDataRequirementDateFilterComponent(t, "DataRequirement", "dateFilter", element.getDateFilter().get(i), i); } + for (int i = 0; i < element.getValueFilter().size(); i++) { + composeDataRequirementValueFilterComponent(t, "DataRequirement", "valueFilter", element.getValueFilter().get(i), i); + } if (element.hasLimitElement()) { composePositiveInt(t, "DataRequirement", "limit", element.getLimitElement(), -1); } @@ -603,6 +666,30 @@ public class RdfParser extends RdfParserBase { } } + protected void composeDataRequirementValueFilterComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementValueFilterComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeElement(t, "valueFilter", name, element, index); + if (element.hasPathElement()) { + composeString(t, "DataRequirementValueFilterComponent", "path", element.getPathElement(), -1); + } + if (element.hasSearchParamElement()) { + composeString(t, "DataRequirementValueFilterComponent", "searchParam", element.getSearchParamElement(), -1); + } + if (element.hasComparatorElement()) { + composeEnum(t, "DataRequirementValueFilterComponent", "comparator", element.getComparatorElement(), -1); + } + if (element.hasValue()) { + composeType(t, "DataRequirementValueFilterComponent", "value", element.getValue(), -1); + } + } + protected void composeDataRequirementSortComponent(Complex parent, String parentType, String name, DataRequirement.DataRequirementSortComponent element, int index) { if (element == null) return; @@ -956,11 +1043,14 @@ public class RdfParser extends RdfParserBase { composeId(t, "ElementDefinitionConstraintComponent", "key", element.getKeyElement(), -1); } if (element.hasRequirementsElement()) { - composeString(t, "ElementDefinitionConstraintComponent", "requirements", element.getRequirementsElement(), -1); + composeMarkdown(t, "ElementDefinitionConstraintComponent", "requirements", element.getRequirementsElement(), -1); } if (element.hasSeverityElement()) { composeEnum(t, "ElementDefinitionConstraintComponent", "severity", element.getSeverityElement(), -1); } + if (element.hasSuppressElement()) { + composeBoolean(t, "ElementDefinitionConstraintComponent", "suppress", element.getSuppressElement(), -1); + } if (element.hasHumanElement()) { composeString(t, "ElementDefinitionConstraintComponent", "human", element.getHumanElement(), -1); } @@ -989,7 +1079,7 @@ public class RdfParser extends RdfParserBase { composeEnum(t, "ElementDefinitionBindingComponent", "strength", element.getStrengthElement(), -1); } if (element.hasDescriptionElement()) { - composeString(t, "ElementDefinitionBindingComponent", "description", element.getDescriptionElement(), -1); + composeMarkdown(t, "ElementDefinitionBindingComponent", "description", element.getDescriptionElement(), -1); } if (element.hasValueSetElement()) { composeCanonical(t, "ElementDefinitionBindingComponent", "valueSet", element.getValueSetElement(), -1); @@ -1016,7 +1106,7 @@ public class RdfParser extends RdfParserBase { composeString(t, "ElementDefinitionMappingComponent", "map", element.getMapElement(), -1); } if (element.hasCommentElement()) { - composeString(t, "ElementDefinitionMappingComponent", "comment", element.getCommentElement(), -1); + composeMarkdown(t, "ElementDefinitionMappingComponent", "comment", element.getCommentElement(), -1); } } @@ -1060,8 +1150,8 @@ public class RdfParser extends RdfParserBase { if (element.hasPurpose()) { composeCodeableConcept(t, "ExtendedContactDetail", "purpose", element.getPurpose(), -1); } - if (element.hasName()) { - composeHumanName(t, "ExtendedContactDetail", "name", element.getName(), -1); + for (int i = 0; i < element.getName().size(); i++) { + composeHumanName(t, "ExtendedContactDetail", "name", element.getName().get(i), i); } for (int i = 0; i < element.getTelecom().size(); i++) { composeContactPoint(t, "ExtendedContactDetail", "telecom", element.getTelecom().get(i), i); @@ -1215,6 +1305,30 @@ public class RdfParser extends RdfParserBase { } } + protected void composeMonetaryComponent(Complex parent, String parentType, String name, MonetaryComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeDataType(t, "MonetaryComponent", name, element, index); + if (element.hasTypeElement()) { + composeEnum(t, "MonetaryComponent", "type", element.getTypeElement(), -1); + } + if (element.hasCode()) { + composeCodeableConcept(t, "MonetaryComponent", "code", element.getCode(), -1); + } + if (element.hasFactorElement()) { + composeDecimal(t, "MonetaryComponent", "factor", element.getFactorElement(), -1); + } + if (element.hasAmount()) { + composeMoney(t, "MonetaryComponent", "amount", element.getAmount(), -1); + } + } + protected void composeMoney(Complex parent, String parentType, String name, Money element, int index) { if (element == null) return; @@ -1489,6 +1603,12 @@ public class RdfParser extends RdfParserBase { if (element.hasResourceReference()) { composeReference(t, "RelatedArtifact", "resourceReference", element.getResourceReference(), -1); } + if (element.hasPublicationStatusElement()) { + composeEnum(t, "RelatedArtifact", "publicationStatus", element.getPublicationStatusElement(), -1); + } + if (element.hasPublicationDateElement()) { + composeDate(t, "RelatedArtifact", "publicationDate", element.getPublicationDateElement(), -1); + } } protected void composeSampledData(Complex parent, String parentType, String name, SampledData element, int index) { @@ -1504,8 +1624,11 @@ public class RdfParser extends RdfParserBase { if (element.hasOrigin()) { composeQuantity(t, "SampledData", "origin", element.getOrigin(), -1); } - if (element.hasPeriodElement()) { - composeDecimal(t, "SampledData", "period", element.getPeriodElement(), -1); + if (element.hasIntervalElement()) { + composeDecimal(t, "SampledData", "interval", element.getIntervalElement(), -1); + } + if (element.hasIntervalUnitElement()) { + composeCode(t, "SampledData", "intervalUnit", element.getIntervalUnitElement(), -1); } if (element.hasFactorElement()) { composeDecimal(t, "SampledData", "factor", element.getFactorElement(), -1); @@ -1651,6 +1774,12 @@ public class RdfParser extends RdfParserBase { if (element.hasNameElement()) { composeString(t, "TriggerDefinition", "name", element.getNameElement(), -1); } + if (element.hasCode()) { + composeCodeableConcept(t, "TriggerDefinition", "code", element.getCode(), -1); + } + if (element.hasSubscriptionTopicElement()) { + composeCanonical(t, "TriggerDefinition", "subscriptionTopic", element.getSubscriptionTopicElement(), -1); + } if (element.hasTiming()) { composeType(t, "TriggerDefinition", "timing", element.getTiming(), -1); } @@ -1680,6 +1809,33 @@ public class RdfParser extends RdfParserBase { } } + protected void composeVirtualServiceDetail(Complex parent, String parentType, String name, VirtualServiceDetail element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeDataType(t, "VirtualServiceDetail", name, element, index); + if (element.hasChannelType()) { + composeCoding(t, "VirtualServiceDetail", "channelType", element.getChannelType(), -1); + } + if (element.hasAddress()) { + composeType(t, "VirtualServiceDetail", "address", element.getAddress(), -1); + } + for (int i = 0; i < element.getAdditionalInfo().size(); i++) { + composeUrl(t, "VirtualServiceDetail", "additionalInfo", element.getAdditionalInfo().get(i), i); + } + if (element.hasMaxParticipantsElement()) { + composePositiveInt(t, "VirtualServiceDetail", "maxParticipants", element.getMaxParticipantsElement(), -1); + } + if (element.hasSessionKeyElement()) { + composeString(t, "VirtualServiceDetail", "sessionKey", element.getSessionKeyElement(), -1); + } + } + protected void composeCanonicalResource(Complex t, String parentType, String name, CanonicalResource element, int index) { composeDomainResource(t, parentType, name, element, index); if (element.hasUrlElement()) { @@ -1691,6 +1847,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "CanonicalResource", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "CanonicalResource", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "CanonicalResource", "name", element.getNameElement(), -1); } @@ -1727,6 +1886,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "CanonicalResource", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "CanonicalResource", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } } protected void composeDomainResource(Complex t, String parentType, String name, DomainResource element, int index) { @@ -1835,8 +1997,17 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getGuarantor().size(); i++) { composeAccountGuarantorComponent(t, "Account", "guarantor", element.getGuarantor().get(i), i); } - if (element.hasPartOf()) { - composeReference(t, "Account", "partOf", element.getPartOf(), -1); + for (int i = 0; i < element.getRelatedAccount().size(); i++) { + composeAccountRelatedAccountComponent(t, "Account", "relatedAccount", element.getRelatedAccount().get(i), i); + } + if (element.hasCurrency()) { + composeCodeableConcept(t, "Account", "currency", element.getCurrency(), -1); + } + for (int i = 0; i < element.getBalance().size(); i++) { + composeAccountBalanceComponent(t, "Account", "balance", element.getBalance().get(i), i); + } + if (element.hasCalculatedAtElement()) { + composeInstant(t, "Account", "calculatedAt", element.getCalculatedAtElement(), -1); } } @@ -1879,6 +2050,48 @@ public class RdfParser extends RdfParserBase { } } + protected void composeAccountRelatedAccountComponent(Complex parent, String parentType, String name, Account.AccountRelatedAccountComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "relatedAccount", name, element, index); + if (element.hasRelationship()) { + composeCodeableConcept(t, "AccountRelatedAccountComponent", "relationship", element.getRelationship(), -1); + } + if (element.hasAccount()) { + composeReference(t, "AccountRelatedAccountComponent", "account", element.getAccount(), -1); + } + } + + protected void composeAccountBalanceComponent(Complex parent, String parentType, String name, Account.AccountBalanceComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "balance", name, element, index); + if (element.hasAggregate()) { + composeCodeableConcept(t, "AccountBalanceComponent", "aggregate", element.getAggregate(), -1); + } + if (element.hasTerm()) { + composeCodeableConcept(t, "AccountBalanceComponent", "term", element.getTerm(), -1); + } + if (element.hasEstimateElement()) { + composeBoolean(t, "AccountBalanceComponent", "estimate", element.getEstimateElement(), -1); + } + if (element.hasAmount()) { + composeMoney(t, "AccountBalanceComponent", "amount", element.getAmount(), -1); + } + } + protected void composeActivityDefinition(Complex parent, String parentType, String name, ActivityDefinition element, int index) { if (element == null) return; @@ -1994,6 +2207,9 @@ public class RdfParser extends RdfParserBase { if (element.hasTiming()) { composeType(t, "ActivityDefinition", "timing", element.getTiming(), -1); } + if (element.hasAsNeeded()) { + composeType(t, "ActivityDefinition", "asNeeded", element.getAsNeeded(), -1); + } if (element.hasLocation()) { composeCodeableReference(t, "ActivityDefinition", "location", element.getLocation(), -1); } @@ -2013,13 +2229,13 @@ public class RdfParser extends RdfParserBase { composeCodeableConcept(t, "ActivityDefinition", "bodySite", element.getBodySite().get(i), i); } for (int i = 0; i < element.getSpecimenRequirement().size(); i++) { - composeReference(t, "ActivityDefinition", "specimenRequirement", element.getSpecimenRequirement().get(i), i); + composeCanonical(t, "ActivityDefinition", "specimenRequirement", element.getSpecimenRequirement().get(i), i); } for (int i = 0; i < element.getObservationRequirement().size(); i++) { - composeReference(t, "ActivityDefinition", "observationRequirement", element.getObservationRequirement().get(i), i); + composeCanonical(t, "ActivityDefinition", "observationRequirement", element.getObservationRequirement().get(i), i); } for (int i = 0; i < element.getObservationResultRequirement().size(); i++) { - composeReference(t, "ActivityDefinition", "observationResultRequirement", element.getObservationResultRequirement().get(i), i); + composeCanonical(t, "ActivityDefinition", "observationResultRequirement", element.getObservationResultRequirement().get(i), i); } if (element.hasTransformElement()) { composeCanonical(t, "ActivityDefinition", "transform", element.getTransformElement(), -1); @@ -2042,6 +2258,9 @@ public class RdfParser extends RdfParserBase { if (element.hasTypeElement()) { composeEnum(t, "ActivityDefinitionParticipantComponent", "type", element.getTypeElement(), -1); } + if (element.hasTypeCanonicalElement()) { + composeCanonical(t, "ActivityDefinitionParticipantComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); + } if (element.hasTypeReference()) { composeReference(t, "ActivityDefinitionParticipantComponent", "typeReference", element.getTypeReference(), -1); } @@ -2071,6 +2290,81 @@ public class RdfParser extends RdfParserBase { } } + protected void composeActorDefinition(Complex parent, String parentType, String name, ActorDefinition element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeCanonicalResource(t, "ActorDefinition", name, element, index); + if (element.hasUrlElement()) { + composeUri(t, "ActorDefinition", "url", element.getUrlElement(), -1); + } + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "ActorDefinition", "identifier", element.getIdentifier().get(i), i); + } + if (element.hasVersionElement()) { + composeString(t, "ActorDefinition", "version", element.getVersionElement(), -1); + } + if (element.hasNameElement()) { + composeString(t, "ActorDefinition", "name", element.getNameElement(), -1); + } + if (element.hasTitleElement()) { + composeString(t, "ActorDefinition", "title", element.getTitleElement(), -1); + } + if (element.hasStatusElement()) { + composeEnum(t, "ActorDefinition", "status", element.getStatusElement(), -1); + } + if (element.hasExperimentalElement()) { + composeBoolean(t, "ActorDefinition", "experimental", element.getExperimentalElement(), -1); + } + if (element.hasDateElement()) { + composeDateTime(t, "ActorDefinition", "date", element.getDateElement(), -1); + } + if (element.hasPublisherElement()) { + composeString(t, "ActorDefinition", "publisher", element.getPublisherElement(), -1); + } + for (int i = 0; i < element.getContact().size(); i++) { + composeContactDetail(t, "ActorDefinition", "contact", element.getContact().get(i), i); + } + if (element.hasDescriptionElement()) { + composeMarkdown(t, "ActorDefinition", "description", element.getDescriptionElement(), -1); + } + for (int i = 0; i < element.getUseContext().size(); i++) { + composeUsageContext(t, "ActorDefinition", "useContext", element.getUseContext().get(i), i); + } + for (int i = 0; i < element.getJurisdiction().size(); i++) { + composeCodeableConcept(t, "ActorDefinition", "jurisdiction", element.getJurisdiction().get(i), i); + } + if (element.hasPurposeElement()) { + composeMarkdown(t, "ActorDefinition", "purpose", element.getPurposeElement(), -1); + } + if (element.hasCopyrightElement()) { + composeMarkdown(t, "ActorDefinition", "copyright", element.getCopyrightElement(), -1); + } + if (element.hasCopyrightLabelElement()) { + composeString(t, "ActorDefinition", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } + if (element.hasTypeElement()) { + composeEnum(t, "ActorDefinition", "type", element.getTypeElement(), -1); + } + if (element.hasDocumentationElement()) { + composeMarkdown(t, "ActorDefinition", "documentation", element.getDocumentationElement(), -1); + } + for (int i = 0; i < element.getReference().size(); i++) { + composeUrl(t, "ActorDefinition", "reference", element.getReference().get(i), i); + } + if (element.hasCapabilitiesElement()) { + composeCanonical(t, "ActorDefinition", "capabilities", element.getCapabilitiesElement(), -1); + } + for (int i = 0; i < element.getDerivedFrom().size(); i++) { + composeCanonical(t, "ActorDefinition", "derivedFrom", element.getDerivedFrom().get(i), i); + } + } + protected void composeAdministrableProductDefinition(Complex parent, String parentType, String name, AdministrableProductDefinition element, int index) { if (element == null) return; @@ -2264,6 +2558,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getParticipant().size(); i++) { composeAdverseEventParticipantComponent(t, "AdverseEvent", "participant", element.getParticipant().get(i), i); } + for (int i = 0; i < element.getStudy().size(); i++) { + composeReference(t, "AdverseEvent", "study", element.getStudy().get(i), i); + } if (element.hasExpectedInResearchStudyElement()) { composeBoolean(t, "AdverseEvent", "expectedInResearchStudy", element.getExpectedInResearchStudyElement(), -1); } @@ -2282,8 +2579,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getSupportingInfo().size(); i++) { composeAdverseEventSupportingInfoComponent(t, "AdverseEvent", "supportingInfo", element.getSupportingInfo().get(i), i); } - for (int i = 0; i < element.getStudy().size(); i++) { - composeReference(t, "AdverseEvent", "study", element.getStudy().get(i), i); + for (int i = 0; i < element.getNote().size(); i++) { + composeAnnotation(t, "AdverseEvent", "note", element.getNote().get(i), i); } } @@ -2531,6 +2828,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCancellationReason()) { composeCodeableConcept(t, "Appointment", "cancellationReason", element.getCancellationReason(), -1); } + for (int i = 0; i < element.getClass_().size(); i++) { + composeCodeableConcept(t, "Appointment", "class", element.getClass_().get(i), i); + } for (int i = 0; i < element.getServiceCategory().size(); i++) { composeCodeableConcept(t, "Appointment", "serviceCategory", element.getServiceCategory().get(i), i); } @@ -2555,9 +2855,18 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getReplaces().size(); i++) { composeReference(t, "Appointment", "replaces", element.getReplaces().get(i), i); } + for (int i = 0; i < element.getVirtualService().size(); i++) { + composeVirtualServiceDetail(t, "Appointment", "virtualService", element.getVirtualService().get(i), i); + } for (int i = 0; i < element.getSupportingInformation().size(); i++) { composeReference(t, "Appointment", "supportingInformation", element.getSupportingInformation().get(i), i); } + if (element.hasPreviousAppointment()) { + composeReference(t, "Appointment", "previousAppointment", element.getPreviousAppointment(), -1); + } + if (element.hasOriginatingAppointment()) { + composeReference(t, "Appointment", "originatingAppointment", element.getOriginatingAppointment(), -1); + } if (element.hasStartElement()) { composeInstant(t, "Appointment", "start", element.getStartElement(), -1); } @@ -2594,6 +2903,15 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getRequestedPeriod().size(); i++) { composePeriod(t, "Appointment", "requestedPeriod", element.getRequestedPeriod().get(i), i); } + if (element.hasRecurrenceIdElement()) { + composePositiveInt(t, "Appointment", "recurrenceId", element.getRecurrenceIdElement(), -1); + } + if (element.hasOccurrenceChangedElement()) { + composeBoolean(t, "Appointment", "occurrenceChanged", element.getOccurrenceChangedElement(), -1); + } + for (int i = 0; i < element.getRecurrenceTemplate().size(); i++) { + composeAppointmentRecurrenceTemplateComponent(t, "Appointment", "recurrenceTemplate", element.getRecurrenceTemplate().get(i), i); + } } protected void composeAppointmentParticipantComponent(Complex parent, String parentType, String name, Appointment.AppointmentParticipantComponent element, int index) { @@ -2623,6 +2941,123 @@ public class RdfParser extends RdfParserBase { } } + protected void composeAppointmentRecurrenceTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "recurrenceTemplate", name, element, index); + if (element.hasTimezone()) { + composeCodeableConcept(t, "AppointmentRecurrenceTemplateComponent", "timezone", element.getTimezone(), -1); + } + if (element.hasRecurrenceType()) { + composeCodeableConcept(t, "AppointmentRecurrenceTemplateComponent", "recurrenceType", element.getRecurrenceType(), -1); + } + if (element.hasLastOccurrenceDateElement()) { + composeDate(t, "AppointmentRecurrenceTemplateComponent", "lastOccurrenceDate", element.getLastOccurrenceDateElement(), -1); + } + if (element.hasOccurrenceCountElement()) { + composePositiveInt(t, "AppointmentRecurrenceTemplateComponent", "occurrenceCount", element.getOccurrenceCountElement(), -1); + } + for (int i = 0; i < element.getOccurrenceDate().size(); i++) { + composeDate(t, "AppointmentRecurrenceTemplateComponent", "occurrenceDate", element.getOccurrenceDate().get(i), i); + } + if (element.hasWeeklyTemplate()) { + composeAppointmentRecurrenceTemplateWeeklyTemplateComponent(t, "AppointmentRecurrenceTemplateComponent", "weeklyTemplate", element.getWeeklyTemplate(), -1); + } + if (element.hasMonthlyTemplate()) { + composeAppointmentRecurrenceTemplateMonthlyTemplateComponent(t, "AppointmentRecurrenceTemplateComponent", "monthlyTemplate", element.getMonthlyTemplate(), -1); + } + if (element.hasYearlyTemplate()) { + composeAppointmentRecurrenceTemplateYearlyTemplateComponent(t, "AppointmentRecurrenceTemplateComponent", "yearlyTemplate", element.getYearlyTemplate(), -1); + } + for (int i = 0; i < element.getExcludingDate().size(); i++) { + composeDate(t, "AppointmentRecurrenceTemplateComponent", "excludingDate", element.getExcludingDate().get(i), i); + } + for (int i = 0; i < element.getExcludingRecurrenceId().size(); i++) { + composePositiveInt(t, "AppointmentRecurrenceTemplateComponent", "excludingRecurrenceId", element.getExcludingRecurrenceId().get(i), i); + } + } + + protected void composeAppointmentRecurrenceTemplateWeeklyTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "weeklyTemplate", name, element, index); + if (element.hasMondayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "monday", element.getMondayElement(), -1); + } + if (element.hasTuesdayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "tuesday", element.getTuesdayElement(), -1); + } + if (element.hasWednesdayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "wednesday", element.getWednesdayElement(), -1); + } + if (element.hasThursdayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "thursday", element.getThursdayElement(), -1); + } + if (element.hasFridayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "friday", element.getFridayElement(), -1); + } + if (element.hasSaturdayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "saturday", element.getSaturdayElement(), -1); + } + if (element.hasSundayElement()) { + composeBoolean(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "sunday", element.getSundayElement(), -1); + } + if (element.hasWeekIntervalElement()) { + composePositiveInt(t, "AppointmentRecurrenceTemplateWeeklyTemplateComponent", "weekInterval", element.getWeekIntervalElement(), -1); + } + } + + protected void composeAppointmentRecurrenceTemplateMonthlyTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "monthlyTemplate", name, element, index); + if (element.hasDayOfMonthElement()) { + composePositiveInt(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "dayOfMonth", element.getDayOfMonthElement(), -1); + } + if (element.hasNthWeekOfMonth()) { + composeCoding(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "nthWeekOfMonth", element.getNthWeekOfMonth(), -1); + } + if (element.hasDayOfWeek()) { + composeCoding(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "dayOfWeek", element.getDayOfWeek(), -1); + } + if (element.hasMonthIntervalElement()) { + composePositiveInt(t, "AppointmentRecurrenceTemplateMonthlyTemplateComponent", "monthInterval", element.getMonthIntervalElement(), -1); + } + } + + protected void composeAppointmentRecurrenceTemplateYearlyTemplateComponent(Complex parent, String parentType, String name, Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "yearlyTemplate", name, element, index); + if (element.hasYearIntervalElement()) { + composePositiveInt(t, "AppointmentRecurrenceTemplateYearlyTemplateComponent", "yearInterval", element.getYearIntervalElement(), -1); + } + } + protected void composeAppointmentResponse(Complex parent, String parentType, String name, AppointmentResponse element, int index) { if (element == null) return; @@ -2639,6 +3074,9 @@ public class RdfParser extends RdfParserBase { if (element.hasAppointment()) { composeReference(t, "AppointmentResponse", "appointment", element.getAppointment(), -1); } + if (element.hasProposedNewTimeElement()) { + composeBoolean(t, "AppointmentResponse", "proposedNewTime", element.getProposedNewTimeElement(), -1); + } if (element.hasStartElement()) { composeInstant(t, "AppointmentResponse", "start", element.getStartElement(), -1); } @@ -2657,6 +3095,15 @@ public class RdfParser extends RdfParserBase { if (element.hasCommentElement()) { composeString(t, "AppointmentResponse", "comment", element.getCommentElement(), -1); } + if (element.hasRecurringElement()) { + composeBoolean(t, "AppointmentResponse", "recurring", element.getRecurringElement(), -1); + } + if (element.hasOccurrenceDateElement()) { + composeDate(t, "AppointmentResponse", "occurrenceDate", element.getOccurrenceDateElement(), -1); + } + if (element.hasRecurrenceIdElement()) { + composePositiveInt(t, "AppointmentResponse", "recurrenceId", element.getRecurrenceIdElement(), -1); + } } protected void composeArtifactAssessment(Complex parent, String parentType, String name, ArtifactAssessment element, int index) { @@ -2979,7 +3426,7 @@ public class RdfParser extends RdfParserBase { composeCoding(t, "BiologicallyDerivedProduct", "productCategory", element.getProductCategory(), -1); } if (element.hasProductCode()) { - composeCoding(t, "BiologicallyDerivedProduct", "productCode", element.getProductCode(), -1); + composeCodeableConcept(t, "BiologicallyDerivedProduct", "productCode", element.getProductCode(), -1); } for (int i = 0; i < element.getParent().size(); i++) { composeReference(t, "BiologicallyDerivedProduct", "parent", element.getParent().get(i), i); @@ -3164,6 +3611,9 @@ public class RdfParser extends RdfParserBase { if (element.hasSignature()) { composeSignature(t, "Bundle", "signature", element.getSignature(), -1); } + if (element.hasIssues()) { + composeResource(t, "Bundle", "issues", element.getIssues(), -1); + } } protected void composeBundleLinkComponent(Complex parent, String parentType, String name, Bundle.BundleLinkComponent element, int index) { @@ -3177,7 +3627,7 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "link", name, element, index); if (element.hasRelationElement()) { - composeString(t, "BundleLinkComponent", "relation", element.getRelationElement(), -1); + composeEnum(t, "BundleLinkComponent", "relation", element.getRelationElement(), -1); } if (element.hasUrlElement()) { composeUri(t, "BundleLinkComponent", "url", element.getUrlElement(), -1); @@ -3305,6 +3755,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "CapabilityStatement", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "CapabilityStatement", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "CapabilityStatement", "name", element.getNameElement(), -1); } @@ -3341,6 +3794,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "CapabilityStatement", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "CapabilityStatement", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } if (element.hasKindElement()) { composeEnum(t, "CapabilityStatement", "kind", element.getKindElement(), -1); } @@ -3365,6 +3821,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getPatchFormat().size(); i++) { composeCode(t, "CapabilityStatement", "patchFormat", element.getPatchFormat().get(i), i); } + for (int i = 0; i < element.getAcceptLanguage().size(); i++) { + composeCode(t, "CapabilityStatement", "acceptLanguage", element.getAcceptLanguage().get(i), i); + } for (int i = 0; i < element.getImplementationGuide().size(); i++) { composeCanonical(t, "CapabilityStatement", "implementationGuide", element.getImplementationGuide().get(i), i); } @@ -3521,6 +3980,9 @@ public class RdfParser extends RdfParserBase { if (element.hasConditionalUpdateElement()) { composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalUpdate", element.getConditionalUpdateElement(), -1); } + if (element.hasConditionalPatchElement()) { + composeBoolean(t, "CapabilityStatementRestResourceComponent", "conditionalPatch", element.getConditionalPatchElement(), -1); + } if (element.hasConditionalDeleteElement()) { composeEnum(t, "CapabilityStatementRestResourceComponent", "conditionalDelete", element.getConditionalDeleteElement(), -1); } @@ -3703,315 +4165,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeCapabilityStatement2(Complex parent, String parentType, String name, CapabilityStatement2 element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeCanonicalResource(t, "CapabilityStatement2", name, element, index); - if (element.hasUrlElement()) { - composeUri(t, "CapabilityStatement2", "url", element.getUrlElement(), -1); - } - if (element.hasVersionElement()) { - composeString(t, "CapabilityStatement2", "version", element.getVersionElement(), -1); - } - if (element.hasNameElement()) { - composeString(t, "CapabilityStatement2", "name", element.getNameElement(), -1); - } - if (element.hasTitleElement()) { - composeString(t, "CapabilityStatement2", "title", element.getTitleElement(), -1); - } - if (element.hasStatusElement()) { - composeEnum(t, "CapabilityStatement2", "status", element.getStatusElement(), -1); - } - if (element.hasExperimentalElement()) { - composeBoolean(t, "CapabilityStatement2", "experimental", element.getExperimentalElement(), -1); - } - if (element.hasDateElement()) { - composeDateTime(t, "CapabilityStatement2", "date", element.getDateElement(), -1); - } - if (element.hasPublisherElement()) { - composeString(t, "CapabilityStatement2", "publisher", element.getPublisherElement(), -1); - } - for (int i = 0; i < element.getContact().size(); i++) { - composeContactDetail(t, "CapabilityStatement2", "contact", element.getContact().get(i), i); - } - if (element.hasDescriptionElement()) { - composeMarkdown(t, "CapabilityStatement2", "description", element.getDescriptionElement(), -1); - } - for (int i = 0; i < element.getUseContext().size(); i++) { - composeUsageContext(t, "CapabilityStatement2", "useContext", element.getUseContext().get(i), i); - } - for (int i = 0; i < element.getJurisdiction().size(); i++) { - composeCodeableConcept(t, "CapabilityStatement2", "jurisdiction", element.getJurisdiction().get(i), i); - } - if (element.hasPurposeElement()) { - composeMarkdown(t, "CapabilityStatement2", "purpose", element.getPurposeElement(), -1); - } - if (element.hasCopyrightElement()) { - composeMarkdown(t, "CapabilityStatement2", "copyright", element.getCopyrightElement(), -1); - } - if (element.hasKindElement()) { - composeEnum(t, "CapabilityStatement2", "kind", element.getKindElement(), -1); - } - for (int i = 0; i < element.getInstantiates().size(); i++) { - composeCanonical(t, "CapabilityStatement2", "instantiates", element.getInstantiates().get(i), i); - } - for (int i = 0; i < element.getImports().size(); i++) { - composeCanonical(t, "CapabilityStatement2", "imports", element.getImports().get(i), i); - } - if (element.hasSoftware()) { - composeCapabilityStatement2SoftwareComponent(t, "CapabilityStatement2", "software", element.getSoftware(), -1); - } - if (element.hasImplementation()) { - composeCapabilityStatement2ImplementationComponent(t, "CapabilityStatement2", "implementation", element.getImplementation(), -1); - } - if (element.hasFhirVersionElement()) { - composeEnum(t, "CapabilityStatement2", "fhirVersion", element.getFhirVersionElement(), -1); - } - for (int i = 0; i < element.getFormat().size(); i++) { - composeCode(t, "CapabilityStatement2", "format", element.getFormat().get(i), i); - } - for (int i = 0; i < element.getPatchFormat().size(); i++) { - composeCode(t, "CapabilityStatement2", "patchFormat", element.getPatchFormat().get(i), i); - } - for (int i = 0; i < element.getImplementationGuide().size(); i++) { - composeCanonical(t, "CapabilityStatement2", "implementationGuide", element.getImplementationGuide().get(i), i); - } - for (int i = 0; i < element.getRest().size(); i++) { - composeCapabilityStatement2RestComponent(t, "CapabilityStatement2", "rest", element.getRest().get(i), i); - } - } - - protected void composeCapabilityStatement2SoftwareComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2SoftwareComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "software", name, element, index); - if (element.hasNameElement()) { - composeString(t, "CapabilityStatement2SoftwareComponent", "name", element.getNameElement(), -1); - } - if (element.hasVersionElement()) { - composeString(t, "CapabilityStatement2SoftwareComponent", "version", element.getVersionElement(), -1); - } - if (element.hasReleaseDateElement()) { - composeDateTime(t, "CapabilityStatement2SoftwareComponent", "releaseDate", element.getReleaseDateElement(), -1); - } - } - - protected void composeCapabilityStatement2ImplementationComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2ImplementationComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "implementation", name, element, index); - if (element.hasDescriptionElement()) { - composeString(t, "CapabilityStatement2ImplementationComponent", "description", element.getDescriptionElement(), -1); - } - if (element.hasUrlElement()) { - composeUrl(t, "CapabilityStatement2ImplementationComponent", "url", element.getUrlElement(), -1); - } - if (element.hasCustodian()) { - composeReference(t, "CapabilityStatement2ImplementationComponent", "custodian", element.getCustodian(), -1); - } - } - - protected void composeCapabilityStatement2RestComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "rest", name, element, index); - if (element.hasModeElement()) { - composeEnum(t, "CapabilityStatement2RestComponent", "mode", element.getModeElement(), -1); - } - if (element.hasDocumentationElement()) { - composeMarkdown(t, "CapabilityStatement2RestComponent", "documentation", element.getDocumentationElement(), -1); - } - for (int i = 0; i < element.getFeature().size(); i++) { - composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestComponent", "feature", element.getFeature().get(i), i); - } - for (int i = 0; i < element.getResource().size(); i++) { - composeCapabilityStatement2RestResourceComponent(t, "CapabilityStatement2RestComponent", "resource", element.getResource().get(i), i); - } - for (int i = 0; i < element.getInteraction().size(); i++) { - composeCapabilityStatement2SystemInteractionComponent(t, "CapabilityStatement2RestComponent", "interaction", element.getInteraction().get(i), i); - } - for (int i = 0; i < element.getSearchParam().size(); i++) { - composeCapabilityStatement2RestResourceSearchParamComponent(t, "CapabilityStatement2RestComponent", "searchParam", element.getSearchParam().get(i), i); - } - for (int i = 0; i < element.getOperation().size(); i++) { - composeCapabilityStatement2RestResourceOperationComponent(t, "CapabilityStatement2RestComponent", "operation", element.getOperation().get(i), i); - } - for (int i = 0; i < element.getCompartment().size(); i++) { - composeCanonical(t, "CapabilityStatement2RestComponent", "compartment", element.getCompartment().get(i), i); - } - } - - protected void composeCapabilityStatement2RestFeatureComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestFeatureComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "feature", name, element, index); - if (element.hasCodeElement()) { - composeEnum(t, "CapabilityStatement2RestFeatureComponent", "code", element.getCodeElement(), -1); - } - if (element.hasValueElement()) { - composeEnum(t, "CapabilityStatement2RestFeatureComponent", "value", element.getValueElement(), -1); - } - } - - protected void composeCapabilityStatement2RestResourceComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestResourceComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "resource", name, element, index); - if (element.hasTypeElement()) { - composeCode(t, "CapabilityStatement2RestResourceComponent", "type", element.getTypeElement(), -1); - } - if (element.hasProfileElement()) { - composeCanonical(t, "CapabilityStatement2RestResourceComponent", "profile", element.getProfileElement(), -1); - } - for (int i = 0; i < element.getSupportedProfile().size(); i++) { - composeCanonical(t, "CapabilityStatement2RestResourceComponent", "supportedProfile", element.getSupportedProfile().get(i), i); - } - if (element.hasDocumentationElement()) { - composeMarkdown(t, "CapabilityStatement2RestResourceComponent", "documentation", element.getDocumentationElement(), -1); - } - for (int i = 0; i < element.getFeature().size(); i++) { - composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestResourceComponent", "feature", element.getFeature().get(i), i); - } - for (int i = 0; i < element.getInteraction().size(); i++) { - composeCapabilityStatement2ResourceInteractionComponent(t, "CapabilityStatement2RestResourceComponent", "interaction", element.getInteraction().get(i), i); - } - for (int i = 0; i < element.getSearchParam().size(); i++) { - composeCapabilityStatement2RestResourceSearchParamComponent(t, "CapabilityStatement2RestResourceComponent", "searchParam", element.getSearchParam().get(i), i); - } - for (int i = 0; i < element.getOperation().size(); i++) { - composeCapabilityStatement2RestResourceOperationComponent(t, "CapabilityStatement2RestResourceComponent", "operation", element.getOperation().get(i), i); - } - } - - protected void composeCapabilityStatement2ResourceInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement2.ResourceInteractionComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "interaction", name, element, index); - if (element.hasCodeElement()) { - composeEnum(t, "ResourceInteractionComponent", "code", element.getCodeElement(), -1); - } - if (element.hasDocumentationElement()) { - composeMarkdown(t, "ResourceInteractionComponent", "documentation", element.getDocumentationElement(), -1); - } - for (int i = 0; i < element.getFeature().size(); i++) { - composeCapabilityStatement2RestFeatureComponent(t, "ResourceInteractionComponent", "feature", element.getFeature().get(i), i); - } - } - - protected void composeCapabilityStatement2RestResourceSearchParamComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "searchParam", name, element, index); - if (element.hasNameElement()) { - composeString(t, "CapabilityStatement2RestResourceSearchParamComponent", "name", element.getNameElement(), -1); - } - if (element.hasDefinitionElement()) { - composeCanonical(t, "CapabilityStatement2RestResourceSearchParamComponent", "definition", element.getDefinitionElement(), -1); - } - if (element.hasTypeElement()) { - composeEnum(t, "CapabilityStatement2RestResourceSearchParamComponent", "type", element.getTypeElement(), -1); - } - if (element.hasDocumentationElement()) { - composeMarkdown(t, "CapabilityStatement2RestResourceSearchParamComponent", "documentation", element.getDocumentationElement(), -1); - } - for (int i = 0; i < element.getFeature().size(); i++) { - composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestResourceSearchParamComponent", "feature", element.getFeature().get(i), i); - } - } - - protected void composeCapabilityStatement2RestResourceOperationComponent(Complex parent, String parentType, String name, CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "operation", name, element, index); - if (element.hasNameElement()) { - composeString(t, "CapabilityStatement2RestResourceOperationComponent", "name", element.getNameElement(), -1); - } - if (element.hasDefinitionElement()) { - composeCanonical(t, "CapabilityStatement2RestResourceOperationComponent", "definition", element.getDefinitionElement(), -1); - } - if (element.hasDocumentationElement()) { - composeMarkdown(t, "CapabilityStatement2RestResourceOperationComponent", "documentation", element.getDocumentationElement(), -1); - } - for (int i = 0; i < element.getFeature().size(); i++) { - composeCapabilityStatement2RestFeatureComponent(t, "CapabilityStatement2RestResourceOperationComponent", "feature", element.getFeature().get(i), i); - } - } - - protected void composeCapabilityStatement2SystemInteractionComponent(Complex parent, String parentType, String name, CapabilityStatement2.SystemInteractionComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "interaction", name, element, index); - if (element.hasCodeElement()) { - composeEnum(t, "SystemInteractionComponent", "code", element.getCodeElement(), -1); - } - if (element.hasDocumentationElement()) { - composeMarkdown(t, "SystemInteractionComponent", "documentation", element.getDocumentationElement(), -1); - } - for (int i = 0; i < element.getFeature().size(); i++) { - composeCapabilityStatement2RestFeatureComponent(t, "SystemInteractionComponent", "feature", element.getFeature().get(i), i); - } - } - protected void composeCarePlan(Complex parent, String parentType, String name, CarePlan element, int index) { if (element == null) return; @@ -4280,8 +4433,8 @@ public class RdfParser extends RdfParserBase { if (element.hasSubject()) { composeReference(t, "ChargeItem", "subject", element.getSubject(), -1); } - if (element.hasContext()) { - composeReference(t, "ChargeItem", "context", element.getContext(), -1); + if (element.hasEncounter()) { + composeReference(t, "ChargeItem", "encounter", element.getEncounter(), -1); } if (element.hasOccurrence()) { composeType(t, "ChargeItem", "occurrence", element.getOccurrence(), -1); @@ -4304,14 +4457,14 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getBodysite().size(); i++) { composeCodeableConcept(t, "ChargeItem", "bodysite", element.getBodysite().get(i), i); } - if (element.hasFactorOverrideElement()) { - composeDecimal(t, "ChargeItem", "factorOverride", element.getFactorOverrideElement(), -1); + if (element.hasUnitPriceComponent()) { + composeMonetaryComponent(t, "ChargeItem", "unitPriceComponent", element.getUnitPriceComponent(), -1); } - if (element.hasPriceOverride()) { - composeMoney(t, "ChargeItem", "priceOverride", element.getPriceOverride(), -1); + if (element.hasTotalPriceComponent()) { + composeMonetaryComponent(t, "ChargeItem", "totalPriceComponent", element.getTotalPriceComponent(), -1); } - if (element.hasOverrideReasonElement()) { - composeString(t, "ChargeItem", "overrideReason", element.getOverrideReasonElement(), -1); + if (element.hasOverrideReason()) { + composeCodeableConcept(t, "ChargeItem", "overrideReason", element.getOverrideReason(), -1); } if (element.hasEnterer()) { composeReference(t, "ChargeItem", "enterer", element.getEnterer(), -1); @@ -4323,7 +4476,7 @@ public class RdfParser extends RdfParserBase { composeCodeableConcept(t, "ChargeItem", "reason", element.getReason().get(i), i); } for (int i = 0; i < element.getService().size(); i++) { - composeReference(t, "ChargeItem", "service", element.getService().get(i), i); + composeCodeableReference(t, "ChargeItem", "service", element.getService().get(i), i); } for (int i = 0; i < element.getProduct().size(); i++) { composeCodeableReference(t, "ChargeItem", "product", element.getProduct().get(i), i); @@ -4376,6 +4529,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "ChargeItemDefinition", "version", element.getVersionElement(), -1); } + if (element.hasNameElement()) { + composeString(t, "ChargeItemDefinition", "name", element.getNameElement(), -1); + } if (element.hasTitleElement()) { composeString(t, "ChargeItemDefinition", "title", element.getTitleElement(), -1); } @@ -4412,6 +4568,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getJurisdiction().size(); i++) { composeCodeableConcept(t, "ChargeItemDefinition", "jurisdiction", element.getJurisdiction().get(i), i); } + if (element.hasPurposeElement()) { + composeMarkdown(t, "ChargeItemDefinition", "purpose", element.getPurposeElement(), -1); + } if (element.hasCopyrightElement()) { composeMarkdown(t, "ChargeItemDefinition", "copyright", element.getCopyrightElement(), -1); } @@ -4421,9 +4580,6 @@ public class RdfParser extends RdfParserBase { if (element.hasLastReviewDateElement()) { composeDate(t, "ChargeItemDefinition", "lastReviewDate", element.getLastReviewDateElement(), -1); } - if (element.hasEffectivePeriod()) { - composePeriod(t, "ChargeItemDefinition", "effectivePeriod", element.getEffectivePeriod(), -1); - } if (element.hasCode()) { composeCodeableConcept(t, "ChargeItemDefinition", "code", element.getCode(), -1); } @@ -4448,14 +4604,14 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "applicability", name, element, index); - if (element.hasDescriptionElement()) { - composeString(t, "ChargeItemDefinitionApplicabilityComponent", "description", element.getDescriptionElement(), -1); + if (element.hasCondition()) { + composeExpression(t, "ChargeItemDefinitionApplicabilityComponent", "condition", element.getCondition(), -1); } - if (element.hasLanguageElement()) { - composeString(t, "ChargeItemDefinitionApplicabilityComponent", "language", element.getLanguageElement(), -1); + if (element.hasEffectivePeriod()) { + composePeriod(t, "ChargeItemDefinitionApplicabilityComponent", "effectivePeriod", element.getEffectivePeriod(), -1); } - if (element.hasExpressionElement()) { - composeString(t, "ChargeItemDefinitionApplicabilityComponent", "expression", element.getExpressionElement(), -1); + if (element.hasRelatedArtifact()) { + composeRelatedArtifact(t, "ChargeItemDefinitionApplicabilityComponent", "relatedArtifact", element.getRelatedArtifact(), -1); } } @@ -4473,31 +4629,7 @@ public class RdfParser extends RdfParserBase { composeChargeItemDefinitionApplicabilityComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "applicability", element.getApplicability().get(i), i); } for (int i = 0; i < element.getPriceComponent().size(); i++) { - composeChargeItemDefinitionPropertyGroupPriceComponentComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "priceComponent", element.getPriceComponent().get(i), i); - } - } - - protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponent(Complex parent, String parentType, String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "priceComponent", name, element, index); - if (element.hasTypeElement()) { - composeEnum(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "type", element.getTypeElement(), -1); - } - if (element.hasCode()) { - composeCodeableConcept(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "code", element.getCode(), -1); - } - if (element.hasFactorElement()) { - composeDecimal(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "factor", element.getFactorElement(), -1); - } - if (element.hasAmount()) { - composeMoney(t, "ChargeItemDefinitionPropertyGroupPriceComponentComponent", "amount", element.getAmount(), -1); + composeMonetaryComponent(t, "ChargeItemDefinitionPropertyGroupComponent", "priceComponent", element.getPriceComponent().get(i), i); } } @@ -4868,8 +5000,29 @@ public class RdfParser extends RdfParserBase { if (element.hasPublishedIn()) { composeCitationCitedArtifactPublicationFormPublishedInComponent(t, "CitationCitedArtifactPublicationFormComponent", "publishedIn", element.getPublishedIn(), -1); } - if (element.hasPeriodicRelease()) { - composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(t, "CitationCitedArtifactPublicationFormComponent", "periodicRelease", element.getPeriodicRelease(), -1); + if (element.hasCitedMedium()) { + composeCodeableConcept(t, "CitationCitedArtifactPublicationFormComponent", "citedMedium", element.getCitedMedium(), -1); + } + if (element.hasVolumeElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "volume", element.getVolumeElement(), -1); + } + if (element.hasIssueElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "issue", element.getIssueElement(), -1); + } + if (element.hasPublicationDateYearElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateYear", element.getPublicationDateYearElement(), -1); + } + if (element.hasPublicationDateMonthElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateMonth", element.getPublicationDateMonthElement(), -1); + } + if (element.hasPublicationDateDayElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateDay", element.getPublicationDateDayElement(), -1); + } + if (element.hasPublicationDateSeasonElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateSeason", element.getPublicationDateSeasonElement(), -1); + } + if (element.hasPublicationDateTextElement()) { + composeString(t, "CitationCitedArtifactPublicationFormComponent", "publicationDateText", element.getPublicationDateTextElement(), -1); } if (element.hasArticleDateElement()) { composeDateTime(t, "CitationCitedArtifactPublicationFormComponent", "articleDate", element.getArticleDateElement(), -1); @@ -4927,60 +5080,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "periodicRelease", name, element, index); - if (element.hasCitedMedium()) { - composeCodeableConcept(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "citedMedium", element.getCitedMedium(), -1); - } - if (element.hasVolumeElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "volume", element.getVolumeElement(), -1); - } - if (element.hasIssueElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "issue", element.getIssueElement(), -1); - } - if (element.hasDateOfPublication()) { - composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(t, "CitationCitedArtifactPublicationFormPeriodicReleaseComponent", "dateOfPublication", element.getDateOfPublication(), -1); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "dateOfPublication", name, element, index); - if (element.hasDateElement()) { - composeDate(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "date", element.getDateElement(), -1); - } - if (element.hasYearElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "year", element.getYearElement(), -1); - } - if (element.hasMonthElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "month", element.getMonthElement(), -1); - } - if (element.hasDayElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "day", element.getDayElement(), -1); - } - if (element.hasSeasonElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "season", element.getSeasonElement(), -1); - } - if (element.hasTextElement()) { - composeString(t, "CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent", "text", element.getTextElement(), -1); - } - } - protected void composeCitationCitedArtifactWebLocationComponent(Complex parent, String parentType, String name, Citation.CitationCitedArtifactWebLocationComponent element, int index) { if (element == null) return; @@ -5183,9 +5282,15 @@ public class RdfParser extends RdfParserBase { if (element.hasReferral()) { composeReference(t, "Claim", "referral", element.getReferral(), -1); } + for (int i = 0; i < element.getEncounter().size(); i++) { + composeReference(t, "Claim", "encounter", element.getEncounter().get(i), i); + } if (element.hasFacility()) { composeReference(t, "Claim", "facility", element.getFacility(), -1); } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept(t, "Claim", "diagnosisRelatedGroup", element.getDiagnosisRelatedGroup(), -1); + } for (int i = 0; i < element.getCareTeam().size(); i++) { composeClaimCareTeamComponent(t, "Claim", "careTeam", element.getCareTeam().get(i), i); } @@ -5204,6 +5309,9 @@ public class RdfParser extends RdfParserBase { if (element.hasAccident()) { composeClaimAccidentComponent(t, "Claim", "accident", element.getAccident(), -1); } + if (element.hasPatientPaid()) { + composeMoney(t, "Claim", "patientPaid", element.getPatientPaid(), -1); + } for (int i = 0; i < element.getItem().size(); i++) { composeClaimItemComponent(t, "Claim", "item", element.getItem().get(i), i); } @@ -5273,8 +5381,8 @@ public class RdfParser extends RdfParserBase { if (element.hasRole()) { composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); } - if (element.hasQualification()) { - composeCodeableConcept(t, "CareTeamComponent", "qualification", element.getQualification(), -1); + if (element.hasSpecialty()) { + composeCodeableConcept(t, "CareTeamComponent", "specialty", element.getSpecialty(), -1); } } @@ -5330,9 +5438,6 @@ public class RdfParser extends RdfParserBase { if (element.hasOnAdmission()) { composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); } - if (element.hasPackageCode()) { - composeCodeableConcept(t, "DiagnosisComponent", "packageCode", element.getPackageCode(), -1); - } } protected void composeClaimProcedureComponent(Complex parent, String parentType, String name, Claim.ProcedureComponent element, int index) { @@ -5450,6 +5555,9 @@ public class RdfParser extends RdfParserBase { if (element.hasProductOrService()) { composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "ItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); } @@ -5462,6 +5570,9 @@ public class RdfParser extends RdfParserBase { if (element.hasLocation()) { composeType(t, "ItemComponent", "location", element.getLocation(), -1); } + if (element.hasPatientPaid()) { + composeMoney(t, "ItemComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); } @@ -5471,17 +5582,17 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "ItemComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "ItemComponent", "net", element.getNet(), -1); } for (int i = 0; i < element.getUdi().size(); i++) { composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); } - if (element.hasBodySite()) { - composeCodeableConcept(t, "ItemComponent", "bodySite", element.getBodySite(), -1); - } - for (int i = 0; i < element.getSubSite().size(); i++) { - composeCodeableConcept(t, "ItemComponent", "subSite", element.getSubSite().get(i), i); + for (int i = 0; i < element.getBodySite().size(); i++) { + composeClaimBodySiteComponent(t, "ItemComponent", "bodySite", element.getBodySite().get(i), i); } for (int i = 0; i < element.getEncounter().size(); i++) { composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); @@ -5491,6 +5602,24 @@ public class RdfParser extends RdfParserBase { } } + protected void composeClaimBodySiteComponent(Complex parent, String parentType, String name, Claim.BodySiteComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "bodySite", name, element, index); + for (int i = 0; i < element.getSite().size(); i++) { + composeCodeableReference(t, "BodySiteComponent", "site", element.getSite().get(i), i); + } + for (int i = 0; i < element.getSubSite().size(); i++) { + composeCodeableConcept(t, "BodySiteComponent", "subSite", element.getSubSite().get(i), i); + } + } + protected void composeClaimDetailComponent(Complex parent, String parentType, String name, Claim.DetailComponent element, int index) { if (element == null) return; @@ -5513,12 +5642,18 @@ public class RdfParser extends RdfParserBase { if (element.hasProductOrService()) { composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "DetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); } for (int i = 0; i < element.getProgramCode().size(); i++) { composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); } + if (element.hasPatientPaid()) { + composeMoney(t, "DetailComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); } @@ -5528,6 +5663,9 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "DetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "DetailComponent", "net", element.getNet(), -1); } @@ -5561,12 +5699,18 @@ public class RdfParser extends RdfParserBase { if (element.hasProductOrService()) { composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "SubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); } for (int i = 0; i < element.getProgramCode().size(); i++) { composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); } + if (element.hasPatientPaid()) { + composeMoney(t, "SubDetailComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); } @@ -5576,6 +5720,9 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "SubDetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); } @@ -5627,6 +5774,9 @@ public class RdfParser extends RdfParserBase { if (element.hasOutcomeElement()) { composeEnum(t, "ClaimResponse", "outcome", element.getOutcomeElement(), -1); } + if (element.hasDecision()) { + composeCodeableConcept(t, "ClaimResponse", "decision", element.getDecision(), -1); + } if (element.hasDispositionElement()) { composeString(t, "ClaimResponse", "disposition", element.getDispositionElement(), -1); } @@ -5639,6 +5789,12 @@ public class RdfParser extends RdfParserBase { if (element.hasPayeeType()) { composeCodeableConcept(t, "ClaimResponse", "payeeType", element.getPayeeType(), -1); } + for (int i = 0; i < element.getEncounter().size(); i++) { + composeReference(t, "ClaimResponse", "encounter", element.getEncounter().get(i), i); + } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept(t, "ClaimResponse", "diagnosisRelatedGroup", element.getDiagnosisRelatedGroup(), -1); + } for (int i = 0; i < element.getItem().size(); i++) { composeClaimResponseItemComponent(t, "ClaimResponse", "item", element.getItem().get(i), i); } @@ -5693,6 +5849,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "ItemComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeClaimResponseAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -5741,6 +5900,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "ItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "ItemDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeClaimResponseAdjudicationComponent(t, "ItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -5765,6 +5927,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "SubDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeClaimResponseAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -5792,9 +5957,15 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getProvider().size(); i++) { composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); } + if (element.hasRevenue()) { + composeCodeableConcept(t, "AddedItemComponent", "revenue", element.getRevenue(), -1); + } if (element.hasProductOrService()) { composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "AddedItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); } @@ -5816,18 +5987,21 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "AddedItemComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); } - if (element.hasBodySite()) { - composeCodeableConcept(t, "AddedItemComponent", "bodySite", element.getBodySite(), -1); - } - for (int i = 0; i < element.getSubSite().size(); i++) { - composeCodeableConcept(t, "AddedItemComponent", "subSite", element.getSubSite().get(i), i); + for (int i = 0; i < element.getBodySite().size(); i++) { + composeClaimResponseBodySiteComponent(t, "AddedItemComponent", "bodySite", element.getBodySite().get(i), i); } for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "AddedItemComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeClaimResponseAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -5836,6 +6010,24 @@ public class RdfParser extends RdfParserBase { } } + protected void composeClaimResponseBodySiteComponent(Complex parent, String parentType, String name, ClaimResponse.BodySiteComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "bodySite", name, element, index); + for (int i = 0; i < element.getSite().size(); i++) { + composeCodeableReference(t, "BodySiteComponent", "site", element.getSite().get(i), i); + } + for (int i = 0; i < element.getSubSite().size(); i++) { + composeCodeableConcept(t, "BodySiteComponent", "subSite", element.getSubSite().get(i), i); + } + } + protected void composeClaimResponseAddedItemDetailComponent(Complex parent, String parentType, String name, ClaimResponse.AddedItemDetailComponent element, int index) { if (element == null) return; @@ -5846,9 +6038,15 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "detail", name, element, index); + if (element.hasRevenue()) { + composeCodeableConcept(t, "AddedItemDetailComponent", "revenue", element.getRevenue(), -1); + } if (element.hasProductOrService()) { composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "AddedItemDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); } @@ -5861,12 +6059,18 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "AddedItemDetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); } for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "AddedItemDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeClaimResponseAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -5885,9 +6089,15 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "subDetail", name, element, index); + if (element.hasRevenue()) { + composeCodeableConcept(t, "AddedItemSubDetailComponent", "revenue", element.getRevenue(), -1); + } if (element.hasProductOrService()) { composeCodeableConcept(t, "AddedItemSubDetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "AddedItemSubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "AddedItemSubDetailComponent", "modifier", element.getModifier().get(i), i); } @@ -5900,12 +6110,18 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "AddedItemSubDetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "AddedItemSubDetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "AddedItemSubDetailComponent", "net", element.getNet(), -1); } for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "AddedItemSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "AddedItemSubDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeClaimResponseAdjudicationComponent(t, "AddedItemSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -6077,6 +6293,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getProblem().size(); i++) { composeReference(t, "ClinicalImpression", "problem", element.getProblem().get(i), i); } + if (element.hasChangePattern()) { + composeCodeableConcept(t, "ClinicalImpression", "changePattern", element.getChangePattern(), -1); + } for (int i = 0; i < element.getProtocol().size(); i++) { composeUri(t, "ClinicalImpression", "protocol", element.getProtocol().get(i), i); } @@ -6203,8 +6422,8 @@ public class RdfParser extends RdfParserBase { if (element.hasRelationshipType()) { composeCodeableConcept(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "relationshipType", element.getRelationshipType(), -1); } - if (element.hasTherapy()) { - composeCodeableReference(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "therapy", element.getTherapy(), -1); + if (element.hasTreatment()) { + composeCodeableReference(t, "ClinicalUseDefinitionContraindicationOtherTherapyComponent", "treatment", element.getTreatment(), -1); } } @@ -6331,7 +6550,7 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeCanonicalResource(t, "CodeSystem", name, element, index); + composeMetadataResource(t, "CodeSystem", name, element, index); if (element.hasUrlElement()) { composeUri(t, "CodeSystem", "url", element.getUrlElement(), -1); } @@ -6377,6 +6596,33 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "CodeSystem", "copyright", element.getCopyrightElement(), -1); } + if (element.hasApprovalDateElement()) { + composeDate(t, "CodeSystem", "approvalDate", element.getApprovalDateElement(), -1); + } + if (element.hasLastReviewDateElement()) { + composeDate(t, "CodeSystem", "lastReviewDate", element.getLastReviewDateElement(), -1); + } + if (element.hasEffectivePeriod()) { + composePeriod(t, "CodeSystem", "effectivePeriod", element.getEffectivePeriod(), -1); + } + for (int i = 0; i < element.getTopic().size(); i++) { + composeCodeableConcept(t, "CodeSystem", "topic", element.getTopic().get(i), i); + } + for (int i = 0; i < element.getAuthor().size(); i++) { + composeContactDetail(t, "CodeSystem", "author", element.getAuthor().get(i), i); + } + for (int i = 0; i < element.getEditor().size(); i++) { + composeContactDetail(t, "CodeSystem", "editor", element.getEditor().get(i), i); + } + for (int i = 0; i < element.getReviewer().size(); i++) { + composeContactDetail(t, "CodeSystem", "reviewer", element.getReviewer().get(i), i); + } + for (int i = 0; i < element.getEndorser().size(); i++) { + composeContactDetail(t, "CodeSystem", "endorser", element.getEndorser().get(i), i); + } + for (int i = 0; i < element.getRelatedArtifact().size(); i++) { + composeRelatedArtifact(t, "CodeSystem", "relatedArtifact", element.getRelatedArtifact().get(i), i); + } if (element.hasCaseSensitiveElement()) { composeBoolean(t, "CodeSystem", "caseSensitive", element.getCaseSensitiveElement(), -1); } @@ -6506,6 +6752,9 @@ public class RdfParser extends RdfParserBase { if (element.hasUse()) { composeCoding(t, "ConceptDefinitionDesignationComponent", "use", element.getUse(), -1); } + for (int i = 0; i < element.getAdditionalUse().size(); i++) { + composeCoding(t, "ConceptDefinitionDesignationComponent", "additionalUse", element.getAdditionalUse().get(i), i); + } if (element.hasValueElement()) { composeString(t, "ConceptDefinitionDesignationComponent", "value", element.getValueElement(), -1); } @@ -6731,9 +6980,15 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "CompartmentDefinition", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "CompartmentDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "CompartmentDefinition", "name", element.getNameElement(), -1); } + if (element.hasTitleElement()) { + composeString(t, "CompartmentDefinition", "title", element.getTitleElement(), -1); + } if (element.hasStatusElement()) { composeEnum(t, "CompartmentDefinition", "status", element.getStatusElement(), -1); } @@ -6788,6 +7043,12 @@ public class RdfParser extends RdfParserBase { if (element.hasDocumentationElement()) { composeString(t, "CompartmentDefinitionResourceComponent", "documentation", element.getDocumentationElement(), -1); } + if (element.hasStartParamElement()) { + composeUri(t, "CompartmentDefinitionResourceComponent", "startParam", element.getStartParamElement(), -1); + } + if (element.hasEndParamElement()) { + composeUri(t, "CompartmentDefinitionResourceComponent", "endParam", element.getEndParamElement(), -1); + } } protected void composeComposition(Complex parent, String parentType, String name, Composition element, int index) { @@ -6803,8 +7064,8 @@ public class RdfParser extends RdfParserBase { if (element.hasUrlElement()) { composeUri(t, "Composition", "url", element.getUrlElement(), -1); } - if (element.hasIdentifier()) { - composeIdentifier(t, "Composition", "identifier", element.getIdentifier(), -1); + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "Composition", "identifier", element.getIdentifier().get(i), i); } if (element.hasVersionElement()) { composeString(t, "Composition", "version", element.getVersionElement(), -1); @@ -6818,8 +7079,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getCategory().size(); i++) { composeCodeableConcept(t, "Composition", "category", element.getCategory().get(i), i); } - if (element.hasSubject()) { - composeReference(t, "Composition", "subject", element.getSubject(), -1); + for (int i = 0; i < element.getSubject().size(); i++) { + composeReference(t, "Composition", "subject", element.getSubject().get(i), i); } if (element.hasEncounter()) { composeReference(t, "Composition", "encounter", element.getEncounter(), -1); @@ -6842,9 +7103,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNote().size(); i++) { composeAnnotation(t, "Composition", "note", element.getNote().get(i), i); } - if (element.hasConfidentialityElement()) { - composeCode(t, "Composition", "confidentiality", element.getConfidentialityElement(), -1); - } for (int i = 0; i < element.getAttester().size(); i++) { composeCompositionAttesterComponent(t, "Composition", "attester", element.getAttester().get(i), i); } @@ -7001,6 +7259,33 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "ConceptMap", "copyright", element.getCopyrightElement(), -1); } + if (element.hasApprovalDateElement()) { + composeDate(t, "ConceptMap", "approvalDate", element.getApprovalDateElement(), -1); + } + if (element.hasLastReviewDateElement()) { + composeDate(t, "ConceptMap", "lastReviewDate", element.getLastReviewDateElement(), -1); + } + if (element.hasEffectivePeriod()) { + composePeriod(t, "ConceptMap", "effectivePeriod", element.getEffectivePeriod(), -1); + } + for (int i = 0; i < element.getTopic().size(); i++) { + composeCodeableConcept(t, "ConceptMap", "topic", element.getTopic().get(i), i); + } + for (int i = 0; i < element.getAuthor().size(); i++) { + composeContactDetail(t, "ConceptMap", "author", element.getAuthor().get(i), i); + } + for (int i = 0; i < element.getEditor().size(); i++) { + composeContactDetail(t, "ConceptMap", "editor", element.getEditor().get(i), i); + } + for (int i = 0; i < element.getReviewer().size(); i++) { + composeContactDetail(t, "ConceptMap", "reviewer", element.getReviewer().get(i), i); + } + for (int i = 0; i < element.getEndorser().size(); i++) { + composeContactDetail(t, "ConceptMap", "endorser", element.getEndorser().get(i), i); + } + for (int i = 0; i < element.getRelatedArtifact().size(); i++) { + composeRelatedArtifact(t, "ConceptMap", "relatedArtifact", element.getRelatedArtifact().get(i), i); + } if (element.hasSourceScope()) { composeType(t, "ConceptMap", "sourceScope", element.getSourceScope(), -1); } @@ -8213,6 +8498,12 @@ public class RdfParser extends RdfParserBase { if (element.hasStatusElement()) { composeEnum(t, "Coverage", "status", element.getStatusElement(), -1); } + if (element.hasKindElement()) { + composeEnum(t, "Coverage", "kind", element.getKindElement(), -1); + } + for (int i = 0; i < element.getPaymentBy().size(); i++) { + composeCoveragePaymentByComponent(t, "Coverage", "paymentBy", element.getPaymentBy().get(i), i); + } if (element.hasType()) { composeCodeableConcept(t, "Coverage", "type", element.getType(), -1); } @@ -8222,8 +8513,8 @@ public class RdfParser extends RdfParserBase { if (element.hasSubscriber()) { composeReference(t, "Coverage", "subscriber", element.getSubscriber(), -1); } - if (element.hasSubscriberId()) { - composeIdentifier(t, "Coverage", "subscriberId", element.getSubscriberId(), -1); + for (int i = 0; i < element.getSubscriberId().size(); i++) { + composeIdentifier(t, "Coverage", "subscriberId", element.getSubscriberId().get(i), i); } if (element.hasBeneficiary()) { composeReference(t, "Coverage", "beneficiary", element.getBeneficiary(), -1); @@ -8237,8 +8528,8 @@ public class RdfParser extends RdfParserBase { if (element.hasPeriod()) { composePeriod(t, "Coverage", "period", element.getPeriod(), -1); } - for (int i = 0; i < element.getPayor().size(); i++) { - composeReference(t, "Coverage", "payor", element.getPayor().get(i), i); + if (element.hasInsurer()) { + composeReference(t, "Coverage", "insurer", element.getInsurer(), -1); } for (int i = 0; i < element.getClass_().size(); i++) { composeCoverageClassComponent(t, "Coverage", "class", element.getClass_().get(i), i); @@ -8258,6 +8549,27 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContract().size(); i++) { composeReference(t, "Coverage", "contract", element.getContract().get(i), i); } + if (element.hasInsurancePlan()) { + composeReference(t, "Coverage", "insurancePlan", element.getInsurancePlan(), -1); + } + } + + protected void composeCoveragePaymentByComponent(Complex parent, String parentType, String name, Coverage.CoveragePaymentByComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "paymentBy", name, element, index); + if (element.hasParty()) { + composeReference(t, "CoveragePaymentByComponent", "party", element.getParty(), -1); + } + if (element.hasResponsibilityElement()) { + composeString(t, "CoveragePaymentByComponent", "responsibility", element.getResponsibilityElement(), -1); + } } protected void composeCoverageClassComponent(Complex parent, String parentType, String name, Coverage.ClassComponent element, int index) { @@ -8273,8 +8585,8 @@ public class RdfParser extends RdfParserBase { if (element.hasType()) { composeCodeableConcept(t, "ClassComponent", "type", element.getType(), -1); } - if (element.hasValueElement()) { - composeString(t, "ClassComponent", "value", element.getValueElement(), -1); + if (element.hasValue()) { + composeIdentifier(t, "ClassComponent", "value", element.getValue(), -1); } if (element.hasNameElement()) { composeString(t, "ClassComponent", "name", element.getNameElement(), -1); @@ -8294,6 +8606,18 @@ public class RdfParser extends RdfParserBase { if (element.hasType()) { composeCodeableConcept(t, "CostToBeneficiaryComponent", "type", element.getType(), -1); } + if (element.hasCategory()) { + composeCodeableConcept(t, "CostToBeneficiaryComponent", "category", element.getCategory(), -1); + } + if (element.hasNetwork()) { + composeCodeableConcept(t, "CostToBeneficiaryComponent", "network", element.getNetwork(), -1); + } + if (element.hasUnit()) { + composeCodeableConcept(t, "CostToBeneficiaryComponent", "unit", element.getUnit(), -1); + } + if (element.hasTerm()) { + composeCodeableConcept(t, "CostToBeneficiaryComponent", "term", element.getTerm(), -1); + } if (element.hasValue()) { composeType(t, "CostToBeneficiaryComponent", "value", element.getValue(), -1); } @@ -8660,14 +8984,17 @@ public class RdfParser extends RdfParserBase { if (element.hasStatusElement()) { composeEnum(t, "DetectedIssue", "status", element.getStatusElement(), -1); } + for (int i = 0; i < element.getCategory().size(); i++) { + composeCodeableConcept(t, "DetectedIssue", "category", element.getCategory().get(i), i); + } if (element.hasCode()) { composeCodeableConcept(t, "DetectedIssue", "code", element.getCode(), -1); } if (element.hasSeverityElement()) { composeEnum(t, "DetectedIssue", "severity", element.getSeverityElement(), -1); } - if (element.hasPatient()) { - composeReference(t, "DetectedIssue", "patient", element.getPatient(), -1); + if (element.hasSubject()) { + composeReference(t, "DetectedIssue", "subject", element.getSubject(), -1); } if (element.hasIdentified()) { composeType(t, "DetectedIssue", "identified", element.getIdentified(), -1); @@ -8756,8 +9083,8 @@ public class RdfParser extends RdfParserBase { if (element.hasStatusElement()) { composeEnum(t, "Device", "status", element.getStatusElement(), -1); } - for (int i = 0; i < element.getStatusReason().size(); i++) { - composeCodeableConcept(t, "Device", "statusReason", element.getStatusReason().get(i), i); + if (element.hasAvailabilityStatus()) { + composeCodeableConcept(t, "Device", "availabilityStatus", element.getAvailabilityStatus(), -1); } if (element.hasBiologicalSourceEvent()) { composeIdentifier(t, "Device", "biologicalSourceEvent", element.getBiologicalSourceEvent(), -1); @@ -8786,6 +9113,9 @@ public class RdfParser extends RdfParserBase { if (element.hasPartNumberElement()) { composeString(t, "Device", "partNumber", element.getPartNumberElement(), -1); } + for (int i = 0; i < element.getCategory().size(); i++) { + composeCodeableConcept(t, "Device", "category", element.getCategory().get(i), i); + } for (int i = 0; i < element.getType().size(); i++) { composeCodeableConcept(t, "Device", "type", element.getType().get(i), i); } @@ -8798,11 +9128,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getProperty().size(); i++) { composeDevicePropertyComponent(t, "Device", "property", element.getProperty().get(i), i); } - if (element.hasSubject()) { - composeReference(t, "Device", "subject", element.getSubject(), -1); - } - for (int i = 0; i < element.getOperationalState().size(); i++) { - composeDeviceOperationalStateComponent(t, "Device", "operationalState", element.getOperationalState().get(i), i); + for (int i = 0; i < element.getOperation().size(); i++) { + composeDeviceOperationComponent(t, "Device", "operation", element.getOperation().get(i), i); } for (int i = 0; i < element.getAssociation().size(); i++) { composeDeviceAssociationComponent(t, "Device", "association", element.getAssociation().get(i), i); @@ -8822,8 +9149,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getEndpoint().size(); i++) { composeReference(t, "Device", "endpoint", element.getEndpoint().get(i), i); } - for (int i = 0; i < element.getLink().size(); i++) { - composeDeviceLinkComponent(t, "Device", "link", element.getLink().get(i), i); + for (int i = 0; i < element.getGateway().size(); i++) { + composeCodeableReference(t, "Device", "gateway", element.getGateway().get(i), i); } for (int i = 0; i < element.getNote().size(); i++) { composeAnnotation(t, "Device", "note", element.getNote().get(i), i); @@ -8947,7 +9274,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composeDeviceOperationalStateComponent(Complex parent, String parentType, String name, Device.DeviceOperationalStateComponent element, int index) { + protected void composeDeviceOperationComponent(Complex parent, String parentType, String name, Device.DeviceOperationComponent element, int index) { if (element == null) return; Complex t; @@ -8956,24 +9283,24 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "operationalState", name, element, index); + composeBackboneElement(t, "operation", name, element, index); if (element.hasStatus()) { - composeCodeableConcept(t, "DeviceOperationalStateComponent", "status", element.getStatus(), -1); + composeCodeableConcept(t, "DeviceOperationComponent", "status", element.getStatus(), -1); } for (int i = 0; i < element.getStatusReason().size(); i++) { - composeCodeableConcept(t, "DeviceOperationalStateComponent", "statusReason", element.getStatusReason().get(i), i); + composeCodeableConcept(t, "DeviceOperationComponent", "statusReason", element.getStatusReason().get(i), i); } for (int i = 0; i < element.getOperator().size(); i++) { - composeReference(t, "DeviceOperationalStateComponent", "operator", element.getOperator().get(i), i); + composeReference(t, "DeviceOperationComponent", "operator", element.getOperator().get(i), i); } if (element.hasMode()) { - composeCodeableConcept(t, "DeviceOperationalStateComponent", "mode", element.getMode(), -1); + composeCodeableConcept(t, "DeviceOperationComponent", "mode", element.getMode(), -1); } if (element.hasCycle()) { - composeCount(t, "DeviceOperationalStateComponent", "cycle", element.getCycle(), -1); + composeCount(t, "DeviceOperationComponent", "cycle", element.getCycle(), -1); } if (element.hasDuration()) { - composeCodeableConcept(t, "DeviceOperationalStateComponent", "duration", element.getDuration(), -1); + composeDuration(t, "DeviceOperationComponent", "duration", element.getDuration(), -1); } } @@ -9001,24 +9328,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeDeviceLinkComponent(Complex parent, String parentType, String name, Device.DeviceLinkComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "link", name, element, index); - if (element.hasRelation()) { - composeCoding(t, "DeviceLinkComponent", "relation", element.getRelation(), -1); - } - if (element.hasRelatedDevice()) { - composeCodeableReference(t, "DeviceLinkComponent", "relatedDevice", element.getRelatedDevice(), -1); - } - } - protected void composeDeviceDefinition(Complex parent, String parentType, String name, DeviceDefinition element, int index) { if (element == null) return; @@ -9038,6 +9347,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { composeDeviceDefinitionUdiDeviceIdentifierComponent(t, "DeviceDefinition", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); } + for (int i = 0; i < element.getRegulatoryIdentifier().size(); i++) { + composeDeviceDefinitionRegulatoryIdentifierComponent(t, "DeviceDefinition", "regulatoryIdentifier", element.getRegulatoryIdentifier().get(i), i); + } if (element.hasPartNumberElement()) { composeString(t, "DeviceDefinition", "partNumber", element.getPartNumberElement(), -1); } @@ -9151,6 +9463,30 @@ public class RdfParser extends RdfParserBase { } } + protected void composeDeviceDefinitionRegulatoryIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "regulatoryIdentifier", name, element, index); + if (element.hasTypeElement()) { + composeEnum(t, "DeviceDefinitionRegulatoryIdentifierComponent", "type", element.getTypeElement(), -1); + } + if (element.hasDeviceIdentifierElement()) { + composeString(t, "DeviceDefinitionRegulatoryIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); + } + if (element.hasIssuerElement()) { + composeUri(t, "DeviceDefinitionRegulatoryIdentifierComponent", "issuer", element.getIssuerElement(), -1); + } + if (element.hasJurisdictionElement()) { + composeUri(t, "DeviceDefinitionRegulatoryIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); + } + } + protected void composeDeviceDefinitionDeviceNameComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element, int index) { if (element == null) return; @@ -9228,7 +9564,7 @@ public class RdfParser extends RdfParserBase { composeDeviceDefinitionPackagingDistributorComponent(t, "DeviceDefinitionPackagingComponent", "distributor", element.getDistributor().get(i), i); } for (int i = 0; i < element.getUdiDeviceIdentifier().size(); i++) { - composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(t, "DeviceDefinitionPackagingComponent", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); + composeDeviceDefinitionUdiDeviceIdentifierComponent(t, "DeviceDefinitionPackagingComponent", "udiDeviceIdentifier", element.getUdiDeviceIdentifier().get(i), i); } for (int i = 0; i < element.getPackaging().size(); i++) { composeDeviceDefinitionPackagingComponent(t, "DeviceDefinitionPackagingComponent", "packaging", element.getPackaging().get(i), i); @@ -9253,48 +9589,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "udiDeviceIdentifier", name, element, index); - if (element.hasDeviceIdentifierElement()) { - composeString(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "deviceIdentifier", element.getDeviceIdentifierElement(), -1); - } - if (element.hasIssuerElement()) { - composeUri(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "issuer", element.getIssuerElement(), -1); - } - if (element.hasJurisdictionElement()) { - composeUri(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "jurisdiction", element.getJurisdictionElement(), -1); - } - if (element.hasMarketDistribution()) { - composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(t, "DeviceDefinitionPackagingUdiDeviceIdentifierComponent", "marketDistribution", element.getMarketDistribution(), -1); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "marketDistribution", name, element, index); - if (element.hasMarketPeriod()) { - composePeriod(t, "DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent", "marketPeriod", element.getMarketPeriod(), -1); - } - if (element.hasSubJurisdictionElement()) { - composeUri(t, "DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent", "subJurisdiction", element.getSubJurisdictionElement(), -1); - } - } - protected void composeDeviceDefinitionVersionComponent(Complex parent, String parentType, String name, DeviceDefinition.DeviceDefinitionVersionComponent element, int index) { if (element == null) return; @@ -9677,6 +9971,12 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getReason().size(); i++) { composeCodeableReference(t, "DeviceRequest", "reason", element.getReason().get(i), i); } + if (element.hasAsNeededElement()) { + composeBoolean(t, "DeviceRequest", "asNeeded", element.getAsNeededElement(), -1); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept(t, "DeviceRequest", "asNeededFor", element.getAsNeededFor(), -1); + } for (int i = 0; i < element.getInsurance().size(); i++) { composeReference(t, "DeviceRequest", "insurance", element.getInsurance().get(i), i); } @@ -9842,8 +10142,11 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNote().size(); i++) { composeAnnotation(t, "DiagnosticReport", "note", element.getNote().get(i), i); } - for (int i = 0; i < element.getImagingStudy().size(); i++) { - composeReference(t, "DiagnosticReport", "imagingStudy", element.getImagingStudy().get(i), i); + for (int i = 0; i < element.getStudy().size(); i++) { + composeReference(t, "DiagnosticReport", "study", element.getStudy().get(i), i); + } + for (int i = 0; i < element.getSupportingInfo().size(); i++) { + composeDiagnosticReportSupportingInfoComponent(t, "DiagnosticReport", "supportingInfo", element.getSupportingInfo().get(i), i); } for (int i = 0; i < element.getMedia().size(); i++) { composeDiagnosticReportMediaComponent(t, "DiagnosticReport", "media", element.getMedia().get(i), i); @@ -9862,6 +10165,24 @@ public class RdfParser extends RdfParserBase { } } + protected void composeDiagnosticReportSupportingInfoComponent(Complex parent, String parentType, String name, DiagnosticReport.DiagnosticReportSupportingInfoComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "supportingInfo", name, element, index); + if (element.hasType()) { + composeCodeableConcept(t, "DiagnosticReportSupportingInfoComponent", "type", element.getType(), -1); + } + if (element.hasReference()) { + composeReference(t, "DiagnosticReportSupportingInfoComponent", "reference", element.getReference(), -1); + } + } + protected void composeDiagnosticReportMediaComponent(Complex parent, String parentType, String name, DiagnosticReport.DiagnosticReportMediaComponent element, int index) { if (element == null) return; @@ -10016,9 +10337,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContent().size(); i++) { composeDocumentReferenceContentComponent(t, "DocumentReference", "content", element.getContent().get(i), i); } - if (element.hasSourcePatientInfo()) { - composeReference(t, "DocumentReference", "sourcePatientInfo", element.getSourcePatientInfo(), -1); - } } protected void composeDocumentReferenceAttesterComponent(Complex parent, String parentType, String name, DocumentReference.DocumentReferenceAttesterComponent element, int index) { @@ -10112,20 +10430,20 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getStatusHistory().size(); i++) { composeEncounterStatusHistoryComponent(t, "Encounter", "statusHistory", element.getStatusHistory().get(i), i); } - if (element.hasClass_()) { - composeCodeableConcept(t, "Encounter", "class", element.getClass_(), -1); + for (int i = 0; i < element.getClass_().size(); i++) { + composeCodeableConcept(t, "Encounter", "class", element.getClass_().get(i), i); } for (int i = 0; i < element.getClassHistory().size(); i++) { composeEncounterClassHistoryComponent(t, "Encounter", "classHistory", element.getClassHistory().get(i), i); } + if (element.hasPriority()) { + composeCodeableConcept(t, "Encounter", "priority", element.getPriority(), -1); + } for (int i = 0; i < element.getType().size(); i++) { composeCodeableConcept(t, "Encounter", "type", element.getType().get(i), i); } - if (element.hasServiceType()) { - composeCodeableReference(t, "Encounter", "serviceType", element.getServiceType(), -1); - } - if (element.hasPriority()) { - composeCodeableConcept(t, "Encounter", "priority", element.getPriority(), -1); + for (int i = 0; i < element.getServiceType().size(); i++) { + composeCodeableReference(t, "Encounter", "serviceType", element.getServiceType().get(i), i); } if (element.hasSubject()) { composeReference(t, "Encounter", "subject", element.getSubject(), -1); @@ -10139,12 +10457,24 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getBasedOn().size(); i++) { composeReference(t, "Encounter", "basedOn", element.getBasedOn().get(i), i); } + for (int i = 0; i < element.getCareTeam().size(); i++) { + composeReference(t, "Encounter", "careTeam", element.getCareTeam().get(i), i); + } + if (element.hasPartOf()) { + composeReference(t, "Encounter", "partOf", element.getPartOf(), -1); + } + if (element.hasServiceProvider()) { + composeReference(t, "Encounter", "serviceProvider", element.getServiceProvider(), -1); + } for (int i = 0; i < element.getParticipant().size(); i++) { composeEncounterParticipantComponent(t, "Encounter", "participant", element.getParticipant().get(i), i); } for (int i = 0; i < element.getAppointment().size(); i++) { composeReference(t, "Encounter", "appointment", element.getAppointment().get(i), i); } + for (int i = 0; i < element.getVirtualService().size(); i++) { + composeVirtualServiceDetail(t, "Encounter", "virtualService", element.getVirtualService().get(i), i); + } if (element.hasActualPeriod()) { composePeriod(t, "Encounter", "actualPeriod", element.getActualPeriod(), -1); } @@ -10166,18 +10496,12 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getAccount().size(); i++) { composeReference(t, "Encounter", "account", element.getAccount().get(i), i); } - if (element.hasHospitalization()) { - composeEncounterHospitalizationComponent(t, "Encounter", "hospitalization", element.getHospitalization(), -1); + if (element.hasAdmission()) { + composeEncounterAdmissionComponent(t, "Encounter", "admission", element.getAdmission(), -1); } for (int i = 0; i < element.getLocation().size(); i++) { composeEncounterLocationComponent(t, "Encounter", "location", element.getLocation().get(i), i); } - if (element.hasServiceProvider()) { - composeReference(t, "Encounter", "serviceProvider", element.getServiceProvider(), -1); - } - if (element.hasPartOf()) { - composeReference(t, "Encounter", "partOf", element.getPartOf(), -1); - } } protected void composeEncounterStatusHistoryComponent(Complex parent, String parentType, String name, Encounter.StatusHistoryComponent element, int index) { @@ -10258,7 +10582,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composeEncounterHospitalizationComponent(Complex parent, String parentType, String name, Encounter.EncounterHospitalizationComponent element, int index) { + protected void composeEncounterAdmissionComponent(Complex parent, String parentType, String name, Encounter.EncounterAdmissionComponent element, int index) { if (element == null) return; Complex t; @@ -10267,33 +10591,33 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "hospitalization", name, element, index); + composeBackboneElement(t, "admission", name, element, index); if (element.hasPreAdmissionIdentifier()) { - composeIdentifier(t, "EncounterHospitalizationComponent", "preAdmissionIdentifier", element.getPreAdmissionIdentifier(), -1); + composeIdentifier(t, "EncounterAdmissionComponent", "preAdmissionIdentifier", element.getPreAdmissionIdentifier(), -1); } if (element.hasOrigin()) { - composeReference(t, "EncounterHospitalizationComponent", "origin", element.getOrigin(), -1); + composeReference(t, "EncounterAdmissionComponent", "origin", element.getOrigin(), -1); } if (element.hasAdmitSource()) { - composeCodeableConcept(t, "EncounterHospitalizationComponent", "admitSource", element.getAdmitSource(), -1); + composeCodeableConcept(t, "EncounterAdmissionComponent", "admitSource", element.getAdmitSource(), -1); } if (element.hasReAdmission()) { - composeCodeableConcept(t, "EncounterHospitalizationComponent", "reAdmission", element.getReAdmission(), -1); + composeCodeableConcept(t, "EncounterAdmissionComponent", "reAdmission", element.getReAdmission(), -1); } for (int i = 0; i < element.getDietPreference().size(); i++) { - composeCodeableConcept(t, "EncounterHospitalizationComponent", "dietPreference", element.getDietPreference().get(i), i); + composeCodeableConcept(t, "EncounterAdmissionComponent", "dietPreference", element.getDietPreference().get(i), i); } for (int i = 0; i < element.getSpecialCourtesy().size(); i++) { - composeCodeableConcept(t, "EncounterHospitalizationComponent", "specialCourtesy", element.getSpecialCourtesy().get(i), i); + composeCodeableConcept(t, "EncounterAdmissionComponent", "specialCourtesy", element.getSpecialCourtesy().get(i), i); } for (int i = 0; i < element.getSpecialArrangement().size(); i++) { - composeCodeableConcept(t, "EncounterHospitalizationComponent", "specialArrangement", element.getSpecialArrangement().get(i), i); + composeCodeableConcept(t, "EncounterAdmissionComponent", "specialArrangement", element.getSpecialArrangement().get(i), i); } if (element.hasDestination()) { - composeReference(t, "EncounterHospitalizationComponent", "destination", element.getDestination(), -1); + composeReference(t, "EncounterAdmissionComponent", "destination", element.getDestination(), -1); } if (element.hasDischargeDisposition()) { - composeCodeableConcept(t, "EncounterHospitalizationComponent", "dischargeDisposition", element.getDischargeDisposition(), -1); + composeCodeableConcept(t, "EncounterAdmissionComponent", "dischargeDisposition", element.getDischargeDisposition(), -1); } } @@ -10313,8 +10637,8 @@ public class RdfParser extends RdfParserBase { if (element.hasStatusElement()) { composeEnum(t, "EncounterLocationComponent", "status", element.getStatusElement(), -1); } - if (element.hasPhysicalType()) { - composeCodeableConcept(t, "EncounterLocationComponent", "physicalType", element.getPhysicalType(), -1); + if (element.hasForm()) { + composeCodeableConcept(t, "EncounterLocationComponent", "form", element.getForm(), -1); } if (element.hasPeriod()) { composePeriod(t, "EncounterLocationComponent", "period", element.getPeriod(), -1); @@ -10338,11 +10662,17 @@ public class RdfParser extends RdfParserBase { composeEnum(t, "Endpoint", "status", element.getStatusElement(), -1); } for (int i = 0; i < element.getConnectionType().size(); i++) { - composeCoding(t, "Endpoint", "connectionType", element.getConnectionType().get(i), i); + composeCodeableConcept(t, "Endpoint", "connectionType", element.getConnectionType().get(i), i); } if (element.hasNameElement()) { composeString(t, "Endpoint", "name", element.getNameElement(), -1); } + if (element.hasDescriptionElement()) { + composeString(t, "Endpoint", "description", element.getDescriptionElement(), -1); + } + for (int i = 0; i < element.getEnvironmentType().size(); i++) { + composeCodeableConcept(t, "Endpoint", "environmentType", element.getEnvironmentType().get(i), i); + } if (element.hasManagingOrganization()) { composeReference(t, "Endpoint", "managingOrganization", element.getManagingOrganization(), -1); } @@ -10475,8 +10805,8 @@ public class RdfParser extends RdfParserBase { if (element.hasCareManager()) { composeReference(t, "EpisodeOfCare", "careManager", element.getCareManager(), -1); } - for (int i = 0; i < element.getTeam().size(); i++) { - composeReference(t, "EpisodeOfCare", "team", element.getTeam().get(i), i); + for (int i = 0; i < element.getCareTeam().size(); i++) { + composeReference(t, "EpisodeOfCare", "careTeam", element.getCareTeam().get(i), i); } for (int i = 0; i < element.getAccount().size(); i++) { composeReference(t, "EpisodeOfCare", "account", element.getAccount().get(i), i); @@ -10512,7 +10842,7 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "diagnosis", name, element, index); if (element.hasCondition()) { - composeReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); + composeCodeableReference(t, "DiagnosisComponent", "condition", element.getCondition(), -1); } if (element.hasRole()) { composeCodeableConcept(t, "DiagnosisComponent", "role", element.getRole(), -1); @@ -10700,8 +11030,8 @@ public class RdfParser extends RdfParserBase { if (element.hasSynthesisType()) { composeCodeableConcept(t, "Evidence", "synthesisType", element.getSynthesisType(), -1); } - if (element.hasStudyType()) { - composeCodeableConcept(t, "Evidence", "studyType", element.getStudyType(), -1); + for (int i = 0; i < element.getStudyDesign().size(); i++) { + composeCodeableConcept(t, "Evidence", "studyDesign", element.getStudyDesign().get(i), i); } for (int i = 0; i < element.getStatistic().size(); i++) { composeEvidenceStatisticComponent(t, "Evidence", "statistic", element.getStatistic().get(i), i); @@ -11261,18 +11591,9 @@ public class RdfParser extends RdfParserBase { if (element.hasDefinitionByCombination()) { composeEvidenceVariableCharacteristicDefinitionByCombinationComponent(t, "EvidenceVariableCharacteristicComponent", "definitionByCombination", element.getDefinitionByCombination(), -1); } - for (int i = 0; i < element.getMethod().size(); i++) { - composeCodeableConcept(t, "EvidenceVariableCharacteristicComponent", "method", element.getMethod().get(i), i); - } - if (element.hasDevice()) { - composeReference(t, "EvidenceVariableCharacteristicComponent", "device", element.getDevice(), -1); - } for (int i = 0; i < element.getTimeFromEvent().size(); i++) { composeEvidenceVariableCharacteristicTimeFromEventComponent(t, "EvidenceVariableCharacteristicComponent", "timeFromEvent", element.getTimeFromEvent().get(i), i); } - if (element.hasGroupMeasureElement()) { - composeEnum(t, "EvidenceVariableCharacteristicComponent", "groupMeasure", element.getGroupMeasureElement(), -1); - } } protected void composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent element, int index) { @@ -11286,7 +11607,13 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "definitionByTypeAndValue", name, element, index); if (element.hasType()) { - composeType(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "type", element.getType(), -1); + composeCodeableConcept(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "type", element.getType(), -1); + } + for (int i = 0; i < element.getMethod().size(); i++) { + composeCodeableConcept(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "method", element.getMethod().get(i), i); + } + if (element.hasDevice()) { + composeReference(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "device", element.getDevice(), -1); } if (element.hasValue()) { composeType(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "value", element.getValue(), -1); @@ -11294,7 +11621,7 @@ public class RdfParser extends RdfParserBase { if (element.hasOffset()) { composeCodeableConcept(t, "EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent", "offset", element.getOffset(), -1); } - } + } protected void composeEvidenceVariableCharacteristicDefinitionByCombinationComponent(Complex parent, String parentType, String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByCombinationComponent element, int index) { if (element == null) @@ -11381,9 +11708,15 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "ExampleScenario", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "ExampleScenario", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "ExampleScenario", "name", element.getNameElement(), -1); } + if (element.hasTitleElement()) { + composeString(t, "ExampleScenario", "title", element.getTitleElement(), -1); + } if (element.hasStatusElement()) { composeEnum(t, "ExampleScenario", "status", element.getStatusElement(), -1); } @@ -11399,6 +11732,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContact().size(); i++) { composeContactDetail(t, "ExampleScenario", "contact", element.getContact().get(i), i); } + if (element.hasDescriptionElement()) { + composeMarkdown(t, "ExampleScenario", "description", element.getDescriptionElement(), -1); + } for (int i = 0; i < element.getUseContext().size(); i++) { composeUsageContext(t, "ExampleScenario", "useContext", element.getUseContext().get(i), i); } @@ -11411,6 +11747,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "ExampleScenario", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "ExampleScenario", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } for (int i = 0; i < element.getActor().size(); i++) { composeExampleScenarioActorComponent(t, "ExampleScenario", "actor", element.getActor().get(i), i); } @@ -11420,9 +11759,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getProcess().size(); i++) { composeExampleScenarioProcessComponent(t, "ExampleScenario", "process", element.getProcess().get(i), i); } - for (int i = 0; i < element.getWorkflow().size(); i++) { - composeCanonical(t, "ExampleScenario", "workflow", element.getWorkflow().get(i), i); - } } protected void composeExampleScenarioActorComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioActorComponent element, int index) { @@ -11435,14 +11771,14 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "actor", name, element, index); - if (element.hasActorIdElement()) { - composeString(t, "ExampleScenarioActorComponent", "actorId", element.getActorIdElement(), -1); + if (element.hasKeyElement()) { + composeString(t, "ExampleScenarioActorComponent", "key", element.getKeyElement(), -1); } if (element.hasTypeElement()) { composeEnum(t, "ExampleScenarioActorComponent", "type", element.getTypeElement(), -1); } - if (element.hasNameElement()) { - composeString(t, "ExampleScenarioActorComponent", "name", element.getNameElement(), -1); + if (element.hasTitleElement()) { + composeString(t, "ExampleScenarioActorComponent", "title", element.getTitleElement(), -1); } if (element.hasDescriptionElement()) { composeMarkdown(t, "ExampleScenarioActorComponent", "description", element.getDescriptionElement(), -1); @@ -11459,18 +11795,27 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "instance", name, element, index); - if (element.hasResourceIdElement()) { - composeString(t, "ExampleScenarioInstanceComponent", "resourceId", element.getResourceIdElement(), -1); + if (element.hasKeyElement()) { + composeString(t, "ExampleScenarioInstanceComponent", "key", element.getKeyElement(), -1); } - if (element.hasTypeElement()) { - composeCode(t, "ExampleScenarioInstanceComponent", "type", element.getTypeElement(), -1); + if (element.hasStructureType()) { + composeCoding(t, "ExampleScenarioInstanceComponent", "structureType", element.getStructureType(), -1); } - if (element.hasNameElement()) { - composeString(t, "ExampleScenarioInstanceComponent", "name", element.getNameElement(), -1); + if (element.hasStructureVersionElement()) { + composeString(t, "ExampleScenarioInstanceComponent", "structureVersion", element.getStructureVersionElement(), -1); + } + if (element.hasStructureProfile()) { + composeType(t, "ExampleScenarioInstanceComponent", "structureProfile", element.getStructureProfile(), -1); + } + if (element.hasTitleElement()) { + composeString(t, "ExampleScenarioInstanceComponent", "title", element.getTitleElement(), -1); } if (element.hasDescriptionElement()) { composeMarkdown(t, "ExampleScenarioInstanceComponent", "description", element.getDescriptionElement(), -1); } + if (element.hasContent()) { + composeReference(t, "ExampleScenarioInstanceComponent", "content", element.getContent(), -1); + } for (int i = 0; i < element.getVersion().size(); i++) { composeExampleScenarioInstanceVersionComponent(t, "ExampleScenarioInstanceComponent", "version", element.getVersion().get(i), i); } @@ -11489,12 +11834,15 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "version", name, element, index); - if (element.hasVersionIdElement()) { - composeString(t, "ExampleScenarioInstanceVersionComponent", "versionId", element.getVersionIdElement(), -1); + if (element.hasKeyElement()) { + composeString(t, "ExampleScenarioInstanceVersionComponent", "key", element.getKeyElement(), -1); } if (element.hasDescriptionElement()) { composeMarkdown(t, "ExampleScenarioInstanceVersionComponent", "description", element.getDescriptionElement(), -1); } + if (element.hasContent()) { + composeReference(t, "ExampleScenarioInstanceVersionComponent", "content", element.getContent(), -1); + } } protected void composeExampleScenarioInstanceContainedInstanceComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element, int index) { @@ -11507,11 +11855,11 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "containedInstance", name, element, index); - if (element.hasResourceIdElement()) { - composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "resourceId", element.getResourceIdElement(), -1); + if (element.hasInstanceReferenceElement()) { + composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "instanceReference", element.getInstanceReferenceElement(), -1); } - if (element.hasVersionIdElement()) { - composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "versionId", element.getVersionIdElement(), -1); + if (element.hasVersionReferenceElement()) { + composeString(t, "ExampleScenarioInstanceContainedInstanceComponent", "versionReference", element.getVersionReferenceElement(), -1); } } @@ -11552,11 +11900,14 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "step", name, element, index); - for (int i = 0; i < element.getProcess().size(); i++) { - composeExampleScenarioProcessComponent(t, "ExampleScenarioProcessStepComponent", "process", element.getProcess().get(i), i); + if (element.hasNumberElement()) { + composeString(t, "ExampleScenarioProcessStepComponent", "number", element.getNumberElement(), -1); } - if (element.hasPauseElement()) { - composeBoolean(t, "ExampleScenarioProcessStepComponent", "pause", element.getPauseElement(), -1); + if (element.hasProcess()) { + composeExampleScenarioProcessComponent(t, "ExampleScenarioProcessStepComponent", "process", element.getProcess(), -1); + } + if (element.hasWorkflowElement()) { + composeCanonical(t, "ExampleScenarioProcessStepComponent", "workflow", element.getWorkflowElement(), -1); } if (element.hasOperation()) { composeExampleScenarioProcessStepOperationComponent(t, "ExampleScenarioProcessStepComponent", "operation", element.getOperation(), -1); @@ -11564,6 +11915,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getAlternative().size(); i++) { composeExampleScenarioProcessStepAlternativeComponent(t, "ExampleScenarioProcessStepComponent", "alternative", element.getAlternative().get(i), i); } + if (element.hasPauseElement()) { + composeBoolean(t, "ExampleScenarioProcessStepComponent", "pause", element.getPauseElement(), -1); + } } protected void composeExampleScenarioProcessStepOperationComponent(Complex parent, String parentType, String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element, int index) { @@ -11576,14 +11930,11 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "operation", name, element, index); - if (element.hasNumberElement()) { - composeString(t, "ExampleScenarioProcessStepOperationComponent", "number", element.getNumberElement(), -1); + if (element.hasType()) { + composeCoding(t, "ExampleScenarioProcessStepOperationComponent", "type", element.getType(), -1); } - if (element.hasTypeElement()) { - composeString(t, "ExampleScenarioProcessStepOperationComponent", "type", element.getTypeElement(), -1); - } - if (element.hasNameElement()) { - composeString(t, "ExampleScenarioProcessStepOperationComponent", "name", element.getNameElement(), -1); + if (element.hasTitleElement()) { + composeString(t, "ExampleScenarioProcessStepOperationComponent", "title", element.getTitleElement(), -1); } if (element.hasInitiatorElement()) { composeString(t, "ExampleScenarioProcessStepOperationComponent", "initiator", element.getInitiatorElement(), -1); @@ -11696,6 +12047,9 @@ public class RdfParser extends RdfParserBase { if (element.hasReferral()) { composeReference(t, "ExplanationOfBenefit", "referral", element.getReferral(), -1); } + for (int i = 0; i < element.getEncounter().size(); i++) { + composeReference(t, "ExplanationOfBenefit", "encounter", element.getEncounter().get(i), i); + } if (element.hasFacility()) { composeReference(t, "ExplanationOfBenefit", "facility", element.getFacility(), -1); } @@ -11708,6 +12062,9 @@ public class RdfParser extends RdfParserBase { if (element.hasOutcomeElement()) { composeEnum(t, "ExplanationOfBenefit", "outcome", element.getOutcomeElement(), -1); } + if (element.hasDecision()) { + composeCodeableConcept(t, "ExplanationOfBenefit", "decision", element.getDecision(), -1); + } if (element.hasDispositionElement()) { composeString(t, "ExplanationOfBenefit", "disposition", element.getDispositionElement(), -1); } @@ -11717,6 +12074,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getPreAuthRefPeriod().size(); i++) { composePeriod(t, "ExplanationOfBenefit", "preAuthRefPeriod", element.getPreAuthRefPeriod().get(i), i); } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept(t, "ExplanationOfBenefit", "diagnosisRelatedGroup", element.getDiagnosisRelatedGroup(), -1); + } for (int i = 0; i < element.getCareTeam().size(); i++) { composeExplanationOfBenefitCareTeamComponent(t, "ExplanationOfBenefit", "careTeam", element.getCareTeam().get(i), i); } @@ -11738,6 +12098,9 @@ public class RdfParser extends RdfParserBase { if (element.hasAccident()) { composeExplanationOfBenefitAccidentComponent(t, "ExplanationOfBenefit", "accident", element.getAccident(), -1); } + if (element.hasPatientPaid()) { + composeMoney(t, "ExplanationOfBenefit", "patientPaid", element.getPatientPaid(), -1); + } for (int i = 0; i < element.getItem().size(); i++) { composeExplanationOfBenefitItemComponent(t, "ExplanationOfBenefit", "item", element.getItem().get(i), i); } @@ -11831,8 +12194,8 @@ public class RdfParser extends RdfParserBase { if (element.hasRole()) { composeCodeableConcept(t, "CareTeamComponent", "role", element.getRole(), -1); } - if (element.hasQualification()) { - composeCodeableConcept(t, "CareTeamComponent", "qualification", element.getQualification(), -1); + if (element.hasSpecialty()) { + composeCodeableConcept(t, "CareTeamComponent", "specialty", element.getSpecialty(), -1); } } @@ -11888,9 +12251,6 @@ public class RdfParser extends RdfParserBase { if (element.hasOnAdmission()) { composeCodeableConcept(t, "DiagnosisComponent", "onAdmission", element.getOnAdmission(), -1); } - if (element.hasPackageCode()) { - composeCodeableConcept(t, "DiagnosisComponent", "packageCode", element.getPackageCode(), -1); - } } protected void composeExplanationOfBenefitProcedureComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.ProcedureComponent element, int index) { @@ -11996,6 +12356,9 @@ public class RdfParser extends RdfParserBase { if (element.hasProductOrService()) { composeCodeableConcept(t, "ItemComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "ItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "ItemComponent", "modifier", element.getModifier().get(i), i); } @@ -12008,6 +12371,9 @@ public class RdfParser extends RdfParserBase { if (element.hasLocation()) { composeType(t, "ItemComponent", "location", element.getLocation(), -1); } + if (element.hasPatientPaid()) { + composeMoney(t, "ItemComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "ItemComponent", "quantity", element.getQuantity(), -1); } @@ -12017,17 +12383,17 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "ItemComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "ItemComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "ItemComponent", "net", element.getNet(), -1); } for (int i = 0; i < element.getUdi().size(); i++) { composeReference(t, "ItemComponent", "udi", element.getUdi().get(i), i); } - if (element.hasBodySite()) { - composeCodeableConcept(t, "ItemComponent", "bodySite", element.getBodySite(), -1); - } - for (int i = 0; i < element.getSubSite().size(); i++) { - composeCodeableConcept(t, "ItemComponent", "subSite", element.getSubSite().get(i), i); + for (int i = 0; i < element.getBodySite().size(); i++) { + composeExplanationOfBenefitBodySiteComponent(t, "ItemComponent", "bodySite", element.getBodySite().get(i), i); } for (int i = 0; i < element.getEncounter().size(); i++) { composeReference(t, "ItemComponent", "encounter", element.getEncounter().get(i), i); @@ -12035,6 +12401,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "ItemComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "ItemComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeExplanationOfBenefitAdjudicationComponent(t, "ItemComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -12043,6 +12412,24 @@ public class RdfParser extends RdfParserBase { } } + protected void composeExplanationOfBenefitBodySiteComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.BodySiteComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "bodySite", name, element, index); + for (int i = 0; i < element.getSite().size(); i++) { + composeCodeableReference(t, "BodySiteComponent", "site", element.getSite().get(i), i); + } + for (int i = 0; i < element.getSubSite().size(); i++) { + composeCodeableConcept(t, "BodySiteComponent", "subSite", element.getSubSite().get(i), i); + } + } + protected void composeExplanationOfBenefitAdjudicationComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AdjudicationComponent element, int index) { if (element == null) return; @@ -12089,12 +12476,18 @@ public class RdfParser extends RdfParserBase { if (element.hasProductOrService()) { composeCodeableConcept(t, "DetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "DetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "DetailComponent", "modifier", element.getModifier().get(i), i); } for (int i = 0; i < element.getProgramCode().size(); i++) { composeCodeableConcept(t, "DetailComponent", "programCode", element.getProgramCode().get(i), i); } + if (element.hasPatientPaid()) { + composeMoney(t, "DetailComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "DetailComponent", "quantity", element.getQuantity(), -1); } @@ -12104,6 +12497,9 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "DetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "DetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "DetailComponent", "net", element.getNet(), -1); } @@ -12113,6 +12509,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "DetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "DetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeExplanationOfBenefitAdjudicationComponent(t, "DetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -12143,12 +12542,18 @@ public class RdfParser extends RdfParserBase { if (element.hasProductOrService()) { composeCodeableConcept(t, "SubDetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "SubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "SubDetailComponent", "modifier", element.getModifier().get(i), i); } for (int i = 0; i < element.getProgramCode().size(); i++) { composeCodeableConcept(t, "SubDetailComponent", "programCode", element.getProgramCode().get(i), i); } + if (element.hasPatientPaid()) { + composeMoney(t, "SubDetailComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "SubDetailComponent", "quantity", element.getQuantity(), -1); } @@ -12158,6 +12563,9 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "SubDetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "SubDetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "SubDetailComponent", "net", element.getNet(), -1); } @@ -12167,6 +12575,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "SubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "SubDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeExplanationOfBenefitAdjudicationComponent(t, "SubDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -12194,9 +12605,15 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getProvider().size(); i++) { composeReference(t, "AddedItemComponent", "provider", element.getProvider().get(i), i); } + if (element.hasRevenue()) { + composeCodeableConcept(t, "AddedItemComponent", "revenue", element.getRevenue(), -1); + } if (element.hasProductOrService()) { composeCodeableConcept(t, "AddedItemComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "AddedItemComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "AddedItemComponent", "modifier", element.getModifier().get(i), i); } @@ -12209,6 +12626,9 @@ public class RdfParser extends RdfParserBase { if (element.hasLocation()) { composeType(t, "AddedItemComponent", "location", element.getLocation(), -1); } + if (element.hasPatientPaid()) { + composeMoney(t, "AddedItemComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "AddedItemComponent", "quantity", element.getQuantity(), -1); } @@ -12218,18 +12638,21 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "AddedItemComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "AddedItemComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "AddedItemComponent", "net", element.getNet(), -1); } - if (element.hasBodySite()) { - composeCodeableConcept(t, "AddedItemComponent", "bodySite", element.getBodySite(), -1); - } - for (int i = 0; i < element.getSubSite().size(); i++) { - composeCodeableConcept(t, "AddedItemComponent", "subSite", element.getSubSite().get(i), i); + for (int i = 0; i < element.getBodySite().size(); i++) { + composeExplanationOfBenefitBodySiteComponentA(t, "AddedItemComponent", "bodySite", element.getBodySite().get(i), i); } for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "AddedItemComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "AddedItemComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -12238,6 +12661,24 @@ public class RdfParser extends RdfParserBase { } } + protected void composeExplanationOfBenefitBodySiteComponentA(Complex parent, String parentType, String name, ExplanationOfBenefit.BodySiteComponentA element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "bodySite", name, element, index); + for (int i = 0; i < element.getSite().size(); i++) { + composeCodeableReference(t, "BodySiteComponentA", "site", element.getSite().get(i), i); + } + for (int i = 0; i < element.getSubSite().size(); i++) { + composeCodeableConcept(t, "BodySiteComponentA", "subSite", element.getSubSite().get(i), i); + } + } + protected void composeExplanationOfBenefitAddedItemDetailComponent(Complex parent, String parentType, String name, ExplanationOfBenefit.AddedItemDetailComponent element, int index) { if (element == null) return; @@ -12248,12 +12689,21 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "detail", name, element, index); + if (element.hasRevenue()) { + composeCodeableConcept(t, "AddedItemDetailComponent", "revenue", element.getRevenue(), -1); + } if (element.hasProductOrService()) { composeCodeableConcept(t, "AddedItemDetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "AddedItemDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "AddedItemDetailComponent", "modifier", element.getModifier().get(i), i); } + if (element.hasPatientPaid()) { + composeMoney(t, "AddedItemDetailComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "AddedItemDetailComponent", "quantity", element.getQuantity(), -1); } @@ -12263,12 +12713,18 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "AddedItemDetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "AddedItemDetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "AddedItemDetailComponent", "net", element.getNet(), -1); } for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "AddedItemDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "AddedItemDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -12287,12 +12743,21 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "subDetail", name, element, index); + if (element.hasRevenue()) { + composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "revenue", element.getRevenue(), -1); + } if (element.hasProductOrService()) { composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "productOrService", element.getProductOrService(), -1); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "productOrServiceEnd", element.getProductOrServiceEnd(), -1); + } for (int i = 0; i < element.getModifier().size(); i++) { composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "modifier", element.getModifier().get(i), i); } + if (element.hasPatientPaid()) { + composeMoney(t, "AddedItemDetailSubDetailComponent", "patientPaid", element.getPatientPaid(), -1); + } if (element.hasQuantity()) { composeQuantity(t, "AddedItemDetailSubDetailComponent", "quantity", element.getQuantity(), -1); } @@ -12302,12 +12767,18 @@ public class RdfParser extends RdfParserBase { if (element.hasFactorElement()) { composeDecimal(t, "AddedItemDetailSubDetailComponent", "factor", element.getFactorElement(), -1); } + if (element.hasTax()) { + composeMoney(t, "AddedItemDetailSubDetailComponent", "tax", element.getTax(), -1); + } if (element.hasNet()) { composeMoney(t, "AddedItemDetailSubDetailComponent", "net", element.getNet(), -1); } for (int i = 0; i < element.getNoteNumber().size(); i++) { composePositiveInt(t, "AddedItemDetailSubDetailComponent", "noteNumber", element.getNoteNumber().get(i), i); } + if (element.hasDecision()) { + composeCodeableConcept(t, "AddedItemDetailSubDetailComponent", "decision", element.getDecision(), -1); + } for (int i = 0; i < element.getAdjudication().size(); i++) { composeExplanationOfBenefitAdjudicationComponent(t, "AddedItemDetailSubDetailComponent", "adjudication", element.getAdjudication().get(i), i); } @@ -12619,6 +13090,204 @@ public class RdfParser extends RdfParserBase { } } + protected void composeGenomicStudy(Complex parent, String parentType, String name, GenomicStudy element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeDomainResource(t, "GenomicStudy", name, element, index); + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "GenomicStudy", "identifier", element.getIdentifier().get(i), i); + } + if (element.hasStatus()) { + composeCodeableConcept(t, "GenomicStudy", "status", element.getStatus(), -1); + } + for (int i = 0; i < element.getType().size(); i++) { + composeCodeableConcept(t, "GenomicStudy", "type", element.getType().get(i), i); + } + if (element.hasSubject()) { + composeReference(t, "GenomicStudy", "subject", element.getSubject(), -1); + } + if (element.hasEncounter()) { + composeReference(t, "GenomicStudy", "encounter", element.getEncounter(), -1); + } + if (element.hasStartDateElement()) { + composeDateTime(t, "GenomicStudy", "startDate", element.getStartDateElement(), -1); + } + for (int i = 0; i < element.getBasedOn().size(); i++) { + composeReference(t, "GenomicStudy", "basedOn", element.getBasedOn().get(i), i); + } + if (element.hasReferrer()) { + composeReference(t, "GenomicStudy", "referrer", element.getReferrer(), -1); + } + for (int i = 0; i < element.getInterpreter().size(); i++) { + composeReference(t, "GenomicStudy", "interpreter", element.getInterpreter().get(i), i); + } + for (int i = 0; i < element.getReason().size(); i++) { + composeCodeableReference(t, "GenomicStudy", "reason", element.getReason().get(i), i); + } + if (element.hasInstantiatesCanonicalElement()) { + composeCanonical(t, "GenomicStudy", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); + } + if (element.hasInstantiatesUriElement()) { + composeUri(t, "GenomicStudy", "instantiatesUri", element.getInstantiatesUriElement(), -1); + } + for (int i = 0; i < element.getNote().size(); i++) { + composeAnnotation(t, "GenomicStudy", "note", element.getNote().get(i), i); + } + if (element.hasDescriptionElement()) { + composeString(t, "GenomicStudy", "description", element.getDescriptionElement(), -1); + } + for (int i = 0; i < element.getAnalysis().size(); i++) { + composeGenomicStudyAnalysisComponent(t, "GenomicStudy", "analysis", element.getAnalysis().get(i), i); + } + } + + protected void composeGenomicStudyAnalysisComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "analysis", name, element, index); + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "GenomicStudyAnalysisComponent", "identifier", element.getIdentifier().get(i), i); + } + for (int i = 0; i < element.getMethodType().size(); i++) { + composeCodeableConcept(t, "GenomicStudyAnalysisComponent", "methodType", element.getMethodType().get(i), i); + } + for (int i = 0; i < element.getChangeType().size(); i++) { + composeCodeableConcept(t, "GenomicStudyAnalysisComponent", "changeType", element.getChangeType().get(i), i); + } + if (element.hasGenomeBuild()) { + composeCodeableConcept(t, "GenomicStudyAnalysisComponent", "genomeBuild", element.getGenomeBuild(), -1); + } + if (element.hasInstantiatesCanonicalElement()) { + composeCanonical(t, "GenomicStudyAnalysisComponent", "instantiatesCanonical", element.getInstantiatesCanonicalElement(), -1); + } + if (element.hasInstantiatesUriElement()) { + composeUri(t, "GenomicStudyAnalysisComponent", "instantiatesUri", element.getInstantiatesUriElement(), -1); + } + if (element.hasTitleElement()) { + composeString(t, "GenomicStudyAnalysisComponent", "title", element.getTitleElement(), -1); + } + if (element.hasSubject()) { + composeReference(t, "GenomicStudyAnalysisComponent", "subject", element.getSubject(), -1); + } + for (int i = 0; i < element.getSpecimen().size(); i++) { + composeReference(t, "GenomicStudyAnalysisComponent", "specimen", element.getSpecimen().get(i), i); + } + if (element.hasDateElement()) { + composeDateTime(t, "GenomicStudyAnalysisComponent", "date", element.getDateElement(), -1); + } + for (int i = 0; i < element.getNote().size(); i++) { + composeAnnotation(t, "GenomicStudyAnalysisComponent", "note", element.getNote().get(i), i); + } + if (element.hasProtocolPerformed()) { + composeReference(t, "GenomicStudyAnalysisComponent", "protocolPerformed", element.getProtocolPerformed(), -1); + } + for (int i = 0; i < element.getRegionsStudied().size(); i++) { + composeReference(t, "GenomicStudyAnalysisComponent", "regionsStudied", element.getRegionsStudied().get(i), i); + } + for (int i = 0; i < element.getRegionsCalled().size(); i++) { + composeReference(t, "GenomicStudyAnalysisComponent", "regionsCalled", element.getRegionsCalled().get(i), i); + } + for (int i = 0; i < element.getInput().size(); i++) { + composeGenomicStudyAnalysisInputComponent(t, "GenomicStudyAnalysisComponent", "input", element.getInput().get(i), i); + } + for (int i = 0; i < element.getOutput().size(); i++) { + composeGenomicStudyAnalysisOutputComponent(t, "GenomicStudyAnalysisComponent", "output", element.getOutput().get(i), i); + } + for (int i = 0; i < element.getPerformer().size(); i++) { + composeGenomicStudyAnalysisPerformerComponent(t, "GenomicStudyAnalysisComponent", "performer", element.getPerformer().get(i), i); + } + for (int i = 0; i < element.getDevice().size(); i++) { + composeGenomicStudyAnalysisDeviceComponent(t, "GenomicStudyAnalysisComponent", "device", element.getDevice().get(i), i); + } + } + + protected void composeGenomicStudyAnalysisInputComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisInputComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "input", name, element, index); + if (element.hasFile()) { + composeReference(t, "GenomicStudyAnalysisInputComponent", "file", element.getFile(), -1); + } + if (element.hasType()) { + composeCodeableConcept(t, "GenomicStudyAnalysisInputComponent", "type", element.getType(), -1); + } + if (element.hasGeneratedBy()) { + composeType(t, "GenomicStudyAnalysisInputComponent", "generatedBy", element.getGeneratedBy(), -1); + } + } + + protected void composeGenomicStudyAnalysisOutputComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisOutputComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "output", name, element, index); + if (element.hasFile()) { + composeReference(t, "GenomicStudyAnalysisOutputComponent", "file", element.getFile(), -1); + } + if (element.hasType()) { + composeCodeableConcept(t, "GenomicStudyAnalysisOutputComponent", "type", element.getType(), -1); + } + } + + protected void composeGenomicStudyAnalysisPerformerComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisPerformerComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "performer", name, element, index); + if (element.hasActor()) { + composeReference(t, "GenomicStudyAnalysisPerformerComponent", "actor", element.getActor(), -1); + } + if (element.hasRole()) { + composeCodeableConcept(t, "GenomicStudyAnalysisPerformerComponent", "role", element.getRole(), -1); + } + } + + protected void composeGenomicStudyAnalysisDeviceComponent(Complex parent, String parentType, String name, GenomicStudy.GenomicStudyAnalysisDeviceComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "device", name, element, index); + if (element.hasDevice()) { + composeReference(t, "GenomicStudyAnalysisDeviceComponent", "device", element.getDevice(), -1); + } + if (element.hasFunction()) { + composeCodeableConcept(t, "GenomicStudyAnalysisDeviceComponent", "function", element.getFunction(), -1); + } + } + protected void composeGoal(Complex parent, String parentType, String name, Goal element, int index) { if (element == null) return; @@ -12716,9 +13385,15 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "GraphDefinition", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "GraphDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "GraphDefinition", "name", element.getNameElement(), -1); } + if (element.hasTitleElement()) { + composeString(t, "GraphDefinition", "title", element.getTitleElement(), -1); + } if (element.hasStatusElement()) { composeEnum(t, "GraphDefinition", "status", element.getStatusElement(), -1); } @@ -12798,7 +13473,7 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "target", name, element, index); if (element.hasTypeElement()) { - composeCode(t, "GraphDefinitionLinkTargetComponent", "type", element.getTypeElement(), -1); + composeEnum(t, "GraphDefinitionLinkTargetComponent", "type", element.getTypeElement(), -1); } if (element.hasParamsElement()) { composeString(t, "GraphDefinitionLinkTargetComponent", "params", element.getParamsElement(), -1); @@ -12860,8 +13535,8 @@ public class RdfParser extends RdfParserBase { if (element.hasTypeElement()) { composeEnum(t, "Group", "type", element.getTypeElement(), -1); } - if (element.hasActualElement()) { - composeBoolean(t, "Group", "actual", element.getActualElement(), -1); + if (element.hasMembershipElement()) { + composeEnum(t, "Group", "membership", element.getMembershipElement(), -1); } if (element.hasCode()) { composeCodeableConcept(t, "Group", "code", element.getCode(), -1); @@ -13004,6 +13679,9 @@ public class RdfParser extends RdfParserBase { if (element.hasProvidedBy()) { composeReference(t, "HealthcareService", "providedBy", element.getProvidedBy(), -1); } + for (int i = 0; i < element.getOfferedIn().size(); i++) { + composeReference(t, "HealthcareService", "offeredIn", element.getOfferedIn().get(i), i); + } for (int i = 0; i < element.getCategory().size(); i++) { composeCodeableConcept(t, "HealthcareService", "category", element.getCategory().get(i), i); } @@ -13031,9 +13709,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContact().size(); i++) { composeExtendedContactDetail(t, "HealthcareService", "contact", element.getContact().get(i), i); } - for (int i = 0; i < element.getTelecom().size(); i++) { - composeContactPoint(t, "HealthcareService", "telecom", element.getTelecom().get(i), i); - } for (int i = 0; i < element.getCoverageArea().size(); i++) { composeReference(t, "HealthcareService", "coverageArea", element.getCoverageArea().get(i), i); } @@ -13058,14 +13733,8 @@ public class RdfParser extends RdfParserBase { if (element.hasAppointmentRequiredElement()) { composeBoolean(t, "HealthcareService", "appointmentRequired", element.getAppointmentRequiredElement(), -1); } - for (int i = 0; i < element.getAvailableTime().size(); i++) { - composeHealthcareServiceAvailableTimeComponent(t, "HealthcareService", "availableTime", element.getAvailableTime().get(i), i); - } - for (int i = 0; i < element.getNotAvailable().size(); i++) { - composeHealthcareServiceNotAvailableComponent(t, "HealthcareService", "notAvailable", element.getNotAvailable().get(i), i); - } - if (element.hasAvailabilityExceptionsElement()) { - composeString(t, "HealthcareService", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); + for (int i = 0; i < element.getAvailability().size(); i++) { + composeAvailability(t, "HealthcareService", "availability", element.getAvailability().get(i), i); } for (int i = 0; i < element.getEndpoint().size(); i++) { composeReference(t, "HealthcareService", "endpoint", element.getEndpoint().get(i), i); @@ -13090,48 +13759,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeHealthcareServiceAvailableTimeComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceAvailableTimeComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "availableTime", name, element, index); - for (int i = 0; i < element.getDaysOfWeek().size(); i++) { - composeEnum(t, "HealthcareServiceAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); - } - if (element.hasAllDayElement()) { - composeBoolean(t, "HealthcareServiceAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); - } - if (element.hasAvailableStartTimeElement()) { - composeTime(t, "HealthcareServiceAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); - } - if (element.hasAvailableEndTimeElement()) { - composeTime(t, "HealthcareServiceAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); - } - } - - protected void composeHealthcareServiceNotAvailableComponent(Complex parent, String parentType, String name, HealthcareService.HealthcareServiceNotAvailableComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "notAvailable", name, element, index); - if (element.hasDescriptionElement()) { - composeString(t, "HealthcareServiceNotAvailableComponent", "description", element.getDescriptionElement(), -1); - } - if (element.hasDuring()) { - composePeriod(t, "HealthcareServiceNotAvailableComponent", "during", element.getDuring(), -1); - } - } - protected void composeImagingSelection(Complex parent, String parentType, String name, ImagingSelection element, int index) { if (element == null) return; @@ -13178,12 +13805,18 @@ public class RdfParser extends RdfParserBase { if (element.hasSeriesUidElement()) { composeId(t, "ImagingSelection", "seriesUid", element.getSeriesUidElement(), -1); } + if (element.hasSeriesNumberElement()) { + composeUnsignedInt(t, "ImagingSelection", "seriesNumber", element.getSeriesNumberElement(), -1); + } if (element.hasFrameOfReferenceUidElement()) { composeId(t, "ImagingSelection", "frameOfReferenceUid", element.getFrameOfReferenceUidElement(), -1); } if (element.hasBodySite()) { composeCodeableReference(t, "ImagingSelection", "bodySite", element.getBodySite(), -1); } + for (int i = 0; i < element.getFocus().size(); i++) { + composeReference(t, "ImagingSelection", "focus", element.getFocus().get(i), i); + } for (int i = 0; i < element.getInstance().size(); i++) { composeImagingSelectionInstanceComponent(t, "ImagingSelection", "instance", element.getInstance().get(i), i); } @@ -13223,6 +13856,9 @@ public class RdfParser extends RdfParserBase { if (element.hasUidElement()) { composeId(t, "ImagingSelectionInstanceComponent", "uid", element.getUidElement(), -1); } + if (element.hasNumberElement()) { + composeUnsignedInt(t, "ImagingSelectionInstanceComponent", "number", element.getNumberElement(), -1); + } if (element.hasSopClass()) { composeCoding(t, "ImagingSelectionInstanceComponent", "sopClass", element.getSopClass(), -1); } @@ -13232,7 +13868,7 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getImageRegion().size(); i++) { composeImagingSelectionInstanceImageRegionComponent(t, "ImagingSelectionInstanceComponent", "imageRegion", element.getImageRegion().get(i), i); } - } + } protected void composeImagingSelectionInstanceImageRegionComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionInstanceImageRegionComponent element, int index) { if (element == null) @@ -13252,7 +13888,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composeImagingSelectionImageRegionComponent(Complex parent, String parentType, String name, ImagingSelection.ImagingSelectionImageRegionComponent element, int index) { + protected void composeImagingSelectionImageRegionComponent(Complex parent, String parentType, String name, ImagingSelection.ImageRegionComponent element, int index) { if (element == null) return; Complex t; @@ -13263,10 +13899,10 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "imageRegion", name, element, index); if (element.hasRegionTypeElement()) { - composeEnum(t, "ImagingSelectionImageRegionComponent", "regionType", element.getRegionTypeElement(), -1); + composeEnum(t, "ImageRegionComponent", "regionType", element.getRegionTypeElement(), -1); } for (int i = 0; i < element.getCoordinate().size(); i++) { - composeDecimal(t, "ImagingSelectionImageRegionComponent", "coordinate", element.getCoordinate().get(i), i); + composeDecimal(t, "ImageRegionComponent", "coordinate", element.getCoordinate().get(i), i); } } @@ -13439,12 +14075,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getIdentifier().size(); i++) { composeIdentifier(t, "Immunization", "identifier", element.getIdentifier().get(i), i); } - for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { - composeCanonical(t, "Immunization", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); - } - for (int i = 0; i < element.getInstantiatesUri().size(); i++) { - composeUri(t, "Immunization", "instantiatesUri", element.getInstantiatesUri().get(i), i); - } for (int i = 0; i < element.getBasedOn().size(); i++) { composeReference(t, "Immunization", "basedOn", element.getBasedOn().get(i), i); } @@ -13457,8 +14087,11 @@ public class RdfParser extends RdfParserBase { if (element.hasVaccineCode()) { composeCodeableConcept(t, "Immunization", "vaccineCode", element.getVaccineCode(), -1); } + if (element.hasAdministeredProduct()) { + composeCodeableReference(t, "Immunization", "administeredProduct", element.getAdministeredProduct(), -1); + } if (element.hasManufacturer()) { - composeReference(t, "Immunization", "manufacturer", element.getManufacturer(), -1); + composeCodeableReference(t, "Immunization", "manufacturer", element.getManufacturer(), -1); } if (element.hasLotNumberElement()) { composeString(t, "Immunization", "lotNumber", element.getLotNumberElement(), -1); @@ -13472,6 +14105,9 @@ public class RdfParser extends RdfParserBase { if (element.hasEncounter()) { composeReference(t, "Immunization", "encounter", element.getEncounter(), -1); } + for (int i = 0; i < element.getSupportingInformation().size(); i++) { + composeReference(t, "Immunization", "supportingInformation", element.getSupportingInformation().get(i), i); + } if (element.hasOccurrence()) { composeType(t, "Immunization", "occurrence", element.getOccurrence(), -1); } @@ -13508,11 +14144,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getSubpotentReason().size(); i++) { composeCodeableConcept(t, "Immunization", "subpotentReason", element.getSubpotentReason().get(i), i); } - for (int i = 0; i < element.getEducation().size(); i++) { - composeImmunizationEducationComponent(t, "Immunization", "education", element.getEducation().get(i), i); - } for (int i = 0; i < element.getProgramEligibility().size(); i++) { - composeCodeableConcept(t, "Immunization", "programEligibility", element.getProgramEligibility().get(i), i); + composeImmunizationProgramEligibilityComponent(t, "Immunization", "programEligibility", element.getProgramEligibility().get(i), i); } if (element.hasFundingSource()) { composeCodeableConcept(t, "Immunization", "fundingSource", element.getFundingSource(), -1); @@ -13543,7 +14176,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composeImmunizationEducationComponent(Complex parent, String parentType, String name, Immunization.ImmunizationEducationComponent element, int index) { + protected void composeImmunizationProgramEligibilityComponent(Complex parent, String parentType, String name, Immunization.ImmunizationProgramEligibilityComponent element, int index) { if (element == null) return; Complex t; @@ -13552,18 +14185,12 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "education", name, element, index); - if (element.hasDocumentTypeElement()) { - composeString(t, "ImmunizationEducationComponent", "documentType", element.getDocumentTypeElement(), -1); + composeBackboneElement(t, "programEligibility", name, element, index); + if (element.hasProgram()) { + composeCodeableConcept(t, "ImmunizationProgramEligibilityComponent", "program", element.getProgram(), -1); } - if (element.hasReferenceElement()) { - composeUri(t, "ImmunizationEducationComponent", "reference", element.getReferenceElement(), -1); - } - if (element.hasPublicationDateElement()) { - composeDateTime(t, "ImmunizationEducationComponent", "publicationDate", element.getPublicationDateElement(), -1); - } - if (element.hasPresentationDateElement()) { - composeDateTime(t, "ImmunizationEducationComponent", "presentationDate", element.getPresentationDateElement(), -1); + if (element.hasProgramStatus()) { + composeCodeableConcept(t, "ImmunizationProgramEligibilityComponent", "programStatus", element.getProgramStatus(), -1); } } @@ -13679,12 +14306,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getIdentifier().size(); i++) { composeIdentifier(t, "ImmunizationRecommendation", "identifier", element.getIdentifier().get(i), i); } - for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { - composeCanonical(t, "ImmunizationRecommendation", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); - } - for (int i = 0; i < element.getInstantiatesUri().size(); i++) { - composeUri(t, "ImmunizationRecommendation", "instantiatesUri", element.getInstantiatesUri().get(i), i); - } if (element.hasPatient()) { composeReference(t, "ImmunizationRecommendation", "patient", element.getPatient(), -1); } @@ -13781,6 +14402,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "ImplementationGuide", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "ImplementationGuide", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "ImplementationGuide", "name", element.getNameElement(), -1); } @@ -13814,6 +14438,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "ImplementationGuide", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "ImplementationGuide", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } if (element.hasPackageIdElement()) { composeId(t, "ImplementationGuide", "packageId", element.getPackageIdElement(), -1); } @@ -13856,6 +14483,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "ImplementationGuideDependsOnComponent", "version", element.getVersionElement(), -1); } + if (element.hasReasonElement()) { + composeMarkdown(t, "ImplementationGuideDependsOnComponent", "reason", element.getReasonElement(), -1); + } } protected void composeImplementationGuideGlobalComponent(Complex parent, String parentType, String name, ImplementationGuide.ImplementationGuideGlobalComponent element, int index) { @@ -13943,8 +14573,11 @@ public class RdfParser extends RdfParserBase { if (element.hasDescriptionElement()) { composeMarkdown(t, "ImplementationGuideDefinitionResourceComponent", "description", element.getDescriptionElement(), -1); } - if (element.hasExample()) { - composeType(t, "ImplementationGuideDefinitionResourceComponent", "example", element.getExample(), -1); + if (element.hasIsExampleElement()) { + composeBoolean(t, "ImplementationGuideDefinitionResourceComponent", "isExample", element.getIsExampleElement(), -1); + } + for (int i = 0; i < element.getProfile().size(); i++) { + composeCanonical(t, "ImplementationGuideDefinitionResourceComponent", "profile", element.getProfile().get(i), i); } if (element.hasGroupingIdElement()) { composeId(t, "ImplementationGuideDefinitionResourceComponent", "groupingId", element.getGroupingIdElement(), -1); @@ -13961,8 +14594,11 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "page", name, element, index); - if (element.hasName()) { - composeType(t, "ImplementationGuideDefinitionPageComponent", "name", element.getName(), -1); + if (element.hasSource()) { + composeType(t, "ImplementationGuideDefinitionPageComponent", "source", element.getSource(), -1); + } + if (element.hasNameElement()) { + composeUrl(t, "ImplementationGuideDefinitionPageComponent", "name", element.getNameElement(), -1); } if (element.hasTitleElement()) { composeString(t, "ImplementationGuideDefinitionPageComponent", "title", element.getTitleElement(), -1); @@ -13985,8 +14621,8 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "parameter", name, element, index); - if (element.hasCodeElement()) { - composeString(t, "ImplementationGuideDefinitionParameterComponent", "code", element.getCodeElement(), -1); + if (element.hasCode()) { + composeCoding(t, "ImplementationGuideDefinitionParameterComponent", "code", element.getCode(), -1); } if (element.hasValueElement()) { composeString(t, "ImplementationGuideDefinitionParameterComponent", "value", element.getValueElement(), -1); @@ -14054,8 +14690,11 @@ public class RdfParser extends RdfParserBase { if (element.hasReference()) { composeReference(t, "ManifestResourceComponent", "reference", element.getReference(), -1); } - if (element.hasExample()) { - composeType(t, "ManifestResourceComponent", "example", element.getExample(), -1); + if (element.hasIsExampleElement()) { + composeBoolean(t, "ManifestResourceComponent", "isExample", element.getIsExampleElement(), -1); + } + for (int i = 0; i < element.getProfile().size(); i++) { + composeCanonical(t, "ManifestResourceComponent", "profile", element.getProfile().get(i), i); } if (element.hasRelativePathElement()) { composeUrl(t, "ManifestResourceComponent", "relativePath", element.getRelativePathElement(), -1); @@ -14576,6 +15215,12 @@ public class RdfParser extends RdfParserBase { if (element.hasDateElement()) { composeDateTime(t, "Invoice", "date", element.getDateElement(), -1); } + if (element.hasCreationElement()) { + composeDateTime(t, "Invoice", "creation", element.getCreationElement(), -1); + } + if (element.hasPeriod()) { + composeType(t, "Invoice", "period", element.getPeriod(), -1); + } for (int i = 0; i < element.getParticipant().size(); i++) { composeInvoiceParticipantComponent(t, "Invoice", "participant", element.getParticipant().get(i), i); } @@ -14589,7 +15234,7 @@ public class RdfParser extends RdfParserBase { composeInvoiceLineItemComponent(t, "Invoice", "lineItem", element.getLineItem().get(i), i); } for (int i = 0; i < element.getTotalPriceComponent().size(); i++) { - composeInvoiceLineItemPriceComponentComponent(t, "Invoice", "totalPriceComponent", element.getTotalPriceComponent().get(i), i); + composeMonetaryComponent(t, "Invoice", "totalPriceComponent", element.getTotalPriceComponent().get(i), i); } if (element.hasTotalNet()) { composeMoney(t, "Invoice", "totalNet", element.getTotalNet(), -1); @@ -14636,35 +15281,14 @@ public class RdfParser extends RdfParserBase { if (element.hasSequenceElement()) { composePositiveInt(t, "InvoiceLineItemComponent", "sequence", element.getSequenceElement(), -1); } + if (element.hasServiced()) { + composeType(t, "InvoiceLineItemComponent", "serviced", element.getServiced(), -1); + } if (element.hasChargeItem()) { composeType(t, "InvoiceLineItemComponent", "chargeItem", element.getChargeItem(), -1); } for (int i = 0; i < element.getPriceComponent().size(); i++) { - composeInvoiceLineItemPriceComponentComponent(t, "InvoiceLineItemComponent", "priceComponent", element.getPriceComponent().get(i), i); - } - } - - protected void composeInvoiceLineItemPriceComponentComponent(Complex parent, String parentType, String name, Invoice.InvoiceLineItemPriceComponentComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "priceComponent", name, element, index); - if (element.hasTypeElement()) { - composeEnum(t, "InvoiceLineItemPriceComponentComponent", "type", element.getTypeElement(), -1); - } - if (element.hasCode()) { - composeCodeableConcept(t, "InvoiceLineItemPriceComponentComponent", "code", element.getCode(), -1); - } - if (element.hasFactorElement()) { - composeDecimal(t, "InvoiceLineItemPriceComponentComponent", "factor", element.getFactorElement(), -1); - } - if (element.hasAmount()) { - composeMoney(t, "InvoiceLineItemPriceComponentComponent", "amount", element.getAmount(), -1); + composeMonetaryComponent(t, "InvoiceLineItemComponent", "priceComponent", element.getPriceComponent().get(i), i); } } @@ -14924,14 +15548,11 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContact().size(); i++) { composeExtendedContactDetail(t, "Location", "contact", element.getContact().get(i), i); } - for (int i = 0; i < element.getTelecom().size(); i++) { - composeContactPoint(t, "Location", "telecom", element.getTelecom().get(i), i); - } if (element.hasAddress()) { composeAddress(t, "Location", "address", element.getAddress(), -1); } - if (element.hasPhysicalType()) { - composeCodeableConcept(t, "Location", "physicalType", element.getPhysicalType(), -1); + if (element.hasForm()) { + composeCodeableConcept(t, "Location", "form", element.getForm(), -1); } if (element.hasPosition()) { composeLocationPositionComponent(t, "Location", "position", element.getPosition(), -1); @@ -14942,11 +15563,14 @@ public class RdfParser extends RdfParserBase { if (element.hasPartOf()) { composeReference(t, "Location", "partOf", element.getPartOf(), -1); } - for (int i = 0; i < element.getHoursOfOperation().size(); i++) { - composeLocationHoursOfOperationComponent(t, "Location", "hoursOfOperation", element.getHoursOfOperation().get(i), i); + for (int i = 0; i < element.getCharacteristic().size(); i++) { + composeCodeableConcept(t, "Location", "characteristic", element.getCharacteristic().get(i), i); } - if (element.hasAvailabilityExceptionsElement()) { - composeString(t, "Location", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); + for (int i = 0; i < element.getHoursOfOperation().size(); i++) { + composeAvailability(t, "Location", "hoursOfOperation", element.getHoursOfOperation().get(i), i); + } + for (int i = 0; i < element.getVirtualService().size(); i++) { + composeVirtualServiceDetail(t, "Location", "virtualService", element.getVirtualService().get(i), i); } for (int i = 0; i < element.getEndpoint().size(); i++) { composeReference(t, "Location", "endpoint", element.getEndpoint().get(i), i); @@ -14974,30 +15598,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeLocationHoursOfOperationComponent(Complex parent, String parentType, String name, Location.LocationHoursOfOperationComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "hoursOfOperation", name, element, index); - for (int i = 0; i < element.getDaysOfWeek().size(); i++) { - composeEnum(t, "LocationHoursOfOperationComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); - } - if (element.hasAllDayElement()) { - composeBoolean(t, "LocationHoursOfOperationComponent", "allDay", element.getAllDayElement(), -1); - } - if (element.hasOpeningTimeElement()) { - composeTime(t, "LocationHoursOfOperationComponent", "openingTime", element.getOpeningTimeElement(), -1); - } - if (element.hasClosingTimeElement()) { - composeTime(t, "LocationHoursOfOperationComponent", "closingTime", element.getClosingTimeElement(), -1); - } - } - protected void composeManufacturedItemDefinition(Complex parent, String parentType, String name, ManufacturedItemDefinition element, int index) { if (element == null) return; @@ -15014,6 +15614,9 @@ public class RdfParser extends RdfParserBase { if (element.hasStatusElement()) { composeEnum(t, "ManufacturedItemDefinition", "status", element.getStatusElement(), -1); } + if (element.hasNameElement()) { + composeString(t, "ManufacturedItemDefinition", "name", element.getNameElement(), -1); + } if (element.hasManufacturedDoseForm()) { composeCodeableConcept(t, "ManufacturedItemDefinition", "manufacturedDoseForm", element.getManufacturedDoseForm(), -1); } @@ -15023,12 +15626,18 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getManufacturer().size(); i++) { composeReference(t, "ManufacturedItemDefinition", "manufacturer", element.getManufacturer().get(i), i); } + for (int i = 0; i < element.getMarketingStatus().size(); i++) { + composeMarketingStatus(t, "ManufacturedItemDefinition", "marketingStatus", element.getMarketingStatus().get(i), i); + } for (int i = 0; i < element.getIngredient().size(); i++) { composeCodeableConcept(t, "ManufacturedItemDefinition", "ingredient", element.getIngredient().get(i), i); } for (int i = 0; i < element.getProperty().size(); i++) { composeManufacturedItemDefinitionPropertyComponent(t, "ManufacturedItemDefinition", "property", element.getProperty().get(i), i); } + for (int i = 0; i < element.getComponent().size(); i++) { + composeManufacturedItemDefinitionComponentComponent(t, "ManufacturedItemDefinition", "component", element.getComponent().get(i), i); + } } protected void composeManufacturedItemDefinitionPropertyComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element, int index) { @@ -15049,6 +15658,60 @@ public class RdfParser extends RdfParserBase { } } + protected void composeManufacturedItemDefinitionComponentComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "component", name, element, index); + if (element.hasType()) { + composeCodeableConcept(t, "ManufacturedItemDefinitionComponentComponent", "type", element.getType(), -1); + } + for (int i = 0; i < element.getFunction().size(); i++) { + composeCodeableConcept(t, "ManufacturedItemDefinitionComponentComponent", "function", element.getFunction().get(i), i); + } + for (int i = 0; i < element.getAmount().size(); i++) { + composeQuantity(t, "ManufacturedItemDefinitionComponentComponent", "amount", element.getAmount().get(i), i); + } + for (int i = 0; i < element.getConstituent().size(); i++) { + composeManufacturedItemDefinitionComponentConstituentComponent(t, "ManufacturedItemDefinitionComponentComponent", "constituent", element.getConstituent().get(i), i); + } + for (int i = 0; i < element.getProperty().size(); i++) { + composeManufacturedItemDefinitionPropertyComponent(t, "ManufacturedItemDefinitionComponentComponent", "property", element.getProperty().get(i), i); + } + for (int i = 0; i < element.getComponent().size(); i++) { + composeManufacturedItemDefinitionComponentComponent(t, "ManufacturedItemDefinitionComponentComponent", "component", element.getComponent().get(i), i); + } + } + + protected void composeManufacturedItemDefinitionComponentConstituentComponent(Complex parent, String parentType, String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "constituent", name, element, index); + for (int i = 0; i < element.getAmount().size(); i++) { + composeQuantity(t, "ManufacturedItemDefinitionComponentConstituentComponent", "amount", element.getAmount().get(i), i); + } + for (int i = 0; i < element.getLocation().size(); i++) { + composeCodeableConcept(t, "ManufacturedItemDefinitionComponentConstituentComponent", "location", element.getLocation().get(i), i); + } + for (int i = 0; i < element.getFunction().size(); i++) { + composeCodeableConcept(t, "ManufacturedItemDefinitionComponentConstituentComponent", "function", element.getFunction().get(i), i); + } + for (int i = 0; i < element.getLocationForIngredient().size(); i++) { + composeCodeableReference(t, "ManufacturedItemDefinitionComponentConstituentComponent", "locationForIngredient", element.getLocationForIngredient().get(i), i); + } + } + protected void composeMeasure(Complex parent, String parentType, String name, Measure element, int index) { if (element == null) return; @@ -15176,8 +15839,8 @@ public class RdfParser extends RdfParserBase { if (element.hasImprovementNotation()) { composeCodeableConcept(t, "Measure", "improvementNotation", element.getImprovementNotation(), -1); } - for (int i = 0; i < element.getDefinition().size(); i++) { - composeMarkdown(t, "Measure", "definition", element.getDefinition().get(i), i); + for (int i = 0; i < element.getTerm().size(); i++) { + composeMeasureTermComponent(t, "Measure", "term", element.getTerm().get(i), i); } if (element.hasGuidanceElement()) { composeMarkdown(t, "Measure", "guidance", element.getGuidanceElement(), -1); @@ -15190,6 +15853,24 @@ public class RdfParser extends RdfParserBase { } } + protected void composeMeasureTermComponent(Complex parent, String parentType, String name, Measure.MeasureTermComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "term", name, element, index); + if (element.hasCode()) { + composeCodeableConcept(t, "MeasureTermComponent", "code", element.getCode(), -1); + } + if (element.hasDefinitionElement()) { + composeMarkdown(t, "MeasureTermComponent", "definition", element.getDefinitionElement(), -1); + } + } + protected void composeMeasureGroupComponent(Complex parent, String parentType, String name, Measure.MeasureGroupComponent element, int index) { if (element == null) return; @@ -15362,9 +16043,15 @@ public class RdfParser extends RdfParserBase { if (element.hasReportingVendor()) { composeReference(t, "MeasureReport", "reportingVendor", element.getReportingVendor(), -1); } + if (element.hasLocation()) { + composeReference(t, "MeasureReport", "location", element.getLocation(), -1); + } if (element.hasPeriod()) { composePeriod(t, "MeasureReport", "period", element.getPeriod(), -1); } + if (element.hasInputParameters()) { + composeReference(t, "MeasureReport", "inputParameters", element.getInputParameters(), -1); + } if (element.hasScoring()) { composeCodeableConcept(t, "MeasureReport", "scoring", element.getScoring(), -1); } @@ -15434,8 +16121,8 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "stratifier", name, element, index); - for (int i = 0; i < element.getCode().size(); i++) { - composeCodeableConcept(t, "MeasureReportGroupStratifierComponent", "code", element.getCode().get(i), i); + if (element.hasCode()) { + composeCodeableConcept(t, "MeasureReportGroupStratifierComponent", "code", element.getCode(), -1); } for (int i = 0; i < element.getStratum().size(); i++) { composeMeasureReportStratifierGroupComponent(t, "MeasureReportGroupStratifierComponent", "stratum", element.getStratum().get(i), i); @@ -15593,12 +16280,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getIdentifier().size(); i++) { composeIdentifier(t, "MedicationAdministration", "identifier", element.getIdentifier().get(i), i); } - for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { - composeCanonical(t, "MedicationAdministration", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); - } - for (int i = 0; i < element.getInstantiatesUri().size(); i++) { - composeUri(t, "MedicationAdministration", "instantiatesUri", element.getInstantiatesUri().get(i), i); - } for (int i = 0; i < element.getBasedOn().size(); i++) { composeReference(t, "MedicationAdministration", "basedOn", element.getBasedOn().get(i), i); } @@ -16292,12 +16973,6 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getIdentifier().size(); i++) { composeIdentifier(t, "MedicationRequest", "identifier", element.getIdentifier().get(i), i); } - for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { - composeCanonical(t, "MedicationRequest", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); - } - for (int i = 0; i < element.getInstantiatesUri().size(); i++) { - composeUri(t, "MedicationRequest", "instantiatesUri", element.getInstantiatesUri().get(i), i); - } for (int i = 0; i < element.getBasedOn().size(); i++) { composeReference(t, "MedicationRequest", "basedOn", element.getBasedOn().get(i), i); } @@ -16700,15 +17375,15 @@ public class RdfParser extends RdfParserBase { if (element.hasType()) { composeCodeableConcept(t, "MedicinalProductDefinitionNameComponent", "type", element.getType(), -1); } - for (int i = 0; i < element.getNamePart().size(); i++) { - composeMedicinalProductDefinitionNameNamePartComponent(t, "MedicinalProductDefinitionNameComponent", "namePart", element.getNamePart().get(i), i); + for (int i = 0; i < element.getPart().size(); i++) { + composeMedicinalProductDefinitionNamePartComponent(t, "MedicinalProductDefinitionNameComponent", "part", element.getPart().get(i), i); } - for (int i = 0; i < element.getCountryLanguage().size(); i++) { - composeMedicinalProductDefinitionNameCountryLanguageComponent(t, "MedicinalProductDefinitionNameComponent", "countryLanguage", element.getCountryLanguage().get(i), i); + for (int i = 0; i < element.getUsage().size(); i++) { + composeMedicinalProductDefinitionNameUsageComponent(t, "MedicinalProductDefinitionNameComponent", "usage", element.getUsage().get(i), i); } } - protected void composeMedicinalProductDefinitionNameNamePartComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element, int index) { + protected void composeMedicinalProductDefinitionNamePartComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent element, int index) { if (element == null) return; Complex t; @@ -16717,16 +17392,16 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "namePart", name, element, index); + composeBackboneElement(t, "part", name, element, index); if (element.hasPartElement()) { - composeString(t, "MedicinalProductDefinitionNameNamePartComponent", "part", element.getPartElement(), -1); + composeString(t, "MedicinalProductDefinitionNamePartComponent", "part", element.getPartElement(), -1); } if (element.hasType()) { - composeCodeableConcept(t, "MedicinalProductDefinitionNameNamePartComponent", "type", element.getType(), -1); + composeCodeableConcept(t, "MedicinalProductDefinitionNamePartComponent", "type", element.getType(), -1); } } - protected void composeMedicinalProductDefinitionNameCountryLanguageComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element, int index) { + protected void composeMedicinalProductDefinitionNameUsageComponent(Complex parent, String parentType, String name, MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent element, int index) { if (element == null) return; Complex t; @@ -16735,15 +17410,15 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "countryLanguage", name, element, index); + composeBackboneElement(t, "usage", name, element, index); if (element.hasCountry()) { - composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "country", element.getCountry(), -1); + composeCodeableConcept(t, "MedicinalProductDefinitionNameUsageComponent", "country", element.getCountry(), -1); } if (element.hasJurisdiction()) { - composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "jurisdiction", element.getJurisdiction(), -1); + composeCodeableConcept(t, "MedicinalProductDefinitionNameUsageComponent", "jurisdiction", element.getJurisdiction(), -1); } if (element.hasLanguage()) { - composeCodeableConcept(t, "MedicinalProductDefinitionNameCountryLanguageComponent", "language", element.getLanguage(), -1); + composeCodeableConcept(t, "MedicinalProductDefinitionNameUsageComponent", "language", element.getLanguage(), -1); } } @@ -17066,8 +17741,8 @@ public class RdfParser extends RdfParserBase { if (element.hasTypeElement()) { composeEnum(t, "MolecularSequence", "type", element.getTypeElement(), -1); } - if (element.hasPatient()) { - composeReference(t, "MolecularSequence", "patient", element.getPatient(), -1); + if (element.hasSubject()) { + composeReference(t, "MolecularSequence", "subject", element.getSubject(), -1); } if (element.hasSpecimen()) { composeReference(t, "MolecularSequence", "specimen", element.getSpecimen(), -1); @@ -17102,15 +17777,21 @@ public class RdfParser extends RdfParserBase { if (element.hasCoordinateSystem()) { composeCodeableConcept(t, "MolecularSequenceRelativeComponent", "coordinateSystem", element.getCoordinateSystem(), -1); } - if (element.hasReference()) { - composeMolecularSequenceRelativeReferenceComponent(t, "MolecularSequenceRelativeComponent", "reference", element.getReference(), -1); - } + if (element.hasOrdinalPositionElement()) { + composeInteger(t, "MolecularSequenceRelativeComponent", "ordinalPosition", element.getOrdinalPositionElement(), -1); + } + if (element.hasSequenceRange()) { + composeRange(t, "MolecularSequenceRelativeComponent", "sequenceRange", element.getSequenceRange(), -1); + } + if (element.hasStartingSequence()) { + composeMolecularSequenceRelativeStartingSequenceComponent(t, "MolecularSequenceRelativeComponent", "startingSequence", element.getStartingSequence(), -1); + } for (int i = 0; i < element.getEdit().size(); i++) { composeMolecularSequenceRelativeEditComponent(t, "MolecularSequenceRelativeComponent", "edit", element.getEdit().get(i), i); } } - protected void composeMolecularSequenceRelativeReferenceComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRelativeReferenceComponent element, int index) { + protected void composeMolecularSequenceRelativeStartingSequenceComponent(Complex parent, String parentType, String name, MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent element, int index) { if (element == null) return; Complex t; @@ -17119,27 +17800,27 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "reference", name, element, index); - if (element.hasReferenceSequenceAssembly()) { - composeCodeableConcept(t, "MolecularSequenceRelativeReferenceComponent", "referenceSequenceAssembly", element.getReferenceSequenceAssembly(), -1); + composeBackboneElement(t, "startingSequence", name, element, index); + if (element.hasGenomeAssembly()) { + composeCodeableConcept(t, "MolecularSequenceRelativeStartingSequenceComponent", "genomeAssembly", element.getGenomeAssembly(), -1); } if (element.hasChromosome()) { - composeCodeableConcept(t, "MolecularSequenceRelativeReferenceComponent", "chromosome", element.getChromosome(), -1); + composeCodeableConcept(t, "MolecularSequenceRelativeStartingSequenceComponent", "chromosome", element.getChromosome(), -1); } - if (element.hasReferenceSequence()) { - composeType(t, "MolecularSequenceRelativeReferenceComponent", "referenceSequence", element.getReferenceSequence(), -1); + if (element.hasSequence()) { + composeType(t, "MolecularSequenceRelativeStartingSequenceComponent", "sequence", element.getSequence(), -1); } if (element.hasWindowStartElement()) { - composeInteger(t, "MolecularSequenceRelativeReferenceComponent", "windowStart", element.getWindowStartElement(), -1); + composeInteger(t, "MolecularSequenceRelativeStartingSequenceComponent", "windowStart", element.getWindowStartElement(), -1); } if (element.hasWindowEndElement()) { - composeInteger(t, "MolecularSequenceRelativeReferenceComponent", "windowEnd", element.getWindowEndElement(), -1); + composeInteger(t, "MolecularSequenceRelativeStartingSequenceComponent", "windowEnd", element.getWindowEndElement(), -1); } if (element.hasOrientationElement()) { - composeEnum(t, "MolecularSequenceRelativeReferenceComponent", "orientation", element.getOrientationElement(), -1); + composeEnum(t, "MolecularSequenceRelativeStartingSequenceComponent", "orientation", element.getOrientationElement(), -1); } if (element.hasStrandElement()) { - composeEnum(t, "MolecularSequenceRelativeReferenceComponent", "strand", element.getStrandElement(), -1); + composeEnum(t, "MolecularSequenceRelativeStartingSequenceComponent", "strand", element.getStrandElement(), -1); } } @@ -17159,11 +17840,11 @@ public class RdfParser extends RdfParserBase { if (element.hasEndElement()) { composeInteger(t, "MolecularSequenceRelativeEditComponent", "end", element.getEndElement(), -1); } - if (element.hasObservedAlleleElement()) { - composeString(t, "MolecularSequenceRelativeEditComponent", "observedAllele", element.getObservedAlleleElement(), -1); + if (element.hasReplacementSequenceElement()) { + composeString(t, "MolecularSequenceRelativeEditComponent", "replacementSequence", element.getReplacementSequenceElement(), -1); } - if (element.hasReferenceAlleleElement()) { - composeString(t, "MolecularSequenceRelativeEditComponent", "referenceAllele", element.getReferenceAlleleElement(), -1); + if (element.hasReplacedSequenceElement()) { + composeString(t, "MolecularSequenceRelativeEditComponent", "replacedSequence", element.getReplacedSequenceElement(), -1); } } @@ -17180,6 +17861,9 @@ public class RdfParser extends RdfParserBase { if (element.hasUrlElement()) { composeUri(t, "NamingSystem", "url", element.getUrlElement(), -1); } + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "NamingSystem", "identifier", element.getIdentifier().get(i), i); + } if (element.hasVersionElement()) { composeString(t, "NamingSystem", "version", element.getVersionElement(), -1); } @@ -17195,6 +17879,9 @@ public class RdfParser extends RdfParserBase { if (element.hasKindElement()) { composeEnum(t, "NamingSystem", "kind", element.getKindElement(), -1); } + if (element.hasExperimentalElement()) { + composeBoolean(t, "NamingSystem", "experimental", element.getExperimentalElement(), -1); + } if (element.hasDateElement()) { composeDateTime(t, "NamingSystem", "date", element.getDateElement(), -1); } @@ -17219,6 +17906,39 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getJurisdiction().size(); i++) { composeCodeableConcept(t, "NamingSystem", "jurisdiction", element.getJurisdiction().get(i), i); } + if (element.hasPurposeElement()) { + composeMarkdown(t, "NamingSystem", "purpose", element.getPurposeElement(), -1); + } + if (element.hasCopyrightElement()) { + composeMarkdown(t, "NamingSystem", "copyright", element.getCopyrightElement(), -1); + } + if (element.hasApprovalDateElement()) { + composeDate(t, "NamingSystem", "approvalDate", element.getApprovalDateElement(), -1); + } + if (element.hasLastReviewDateElement()) { + composeDate(t, "NamingSystem", "lastReviewDate", element.getLastReviewDateElement(), -1); + } + if (element.hasEffectivePeriod()) { + composePeriod(t, "NamingSystem", "effectivePeriod", element.getEffectivePeriod(), -1); + } + for (int i = 0; i < element.getTopic().size(); i++) { + composeCodeableConcept(t, "NamingSystem", "topic", element.getTopic().get(i), i); + } + for (int i = 0; i < element.getAuthor().size(); i++) { + composeContactDetail(t, "NamingSystem", "author", element.getAuthor().get(i), i); + } + for (int i = 0; i < element.getEditor().size(); i++) { + composeContactDetail(t, "NamingSystem", "editor", element.getEditor().get(i), i); + } + for (int i = 0; i < element.getReviewer().size(); i++) { + composeContactDetail(t, "NamingSystem", "reviewer", element.getReviewer().get(i), i); + } + for (int i = 0; i < element.getEndorser().size(); i++) { + composeContactDetail(t, "NamingSystem", "endorser", element.getEndorser().get(i), i); + } + for (int i = 0; i < element.getRelatedArtifact().size(); i++) { + composeRelatedArtifact(t, "NamingSystem", "relatedArtifact", element.getRelatedArtifact().get(i), i); + } if (element.hasUsageElement()) { composeString(t, "NamingSystem", "usage", element.getUsageElement(), -1); } @@ -17420,24 +18140,36 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getInstantiates().size(); i++) { composeUri(t, "NutritionOrder", "instantiates", element.getInstantiates().get(i), i); } + for (int i = 0; i < element.getBasedOn().size(); i++) { + composeReference(t, "NutritionOrder", "basedOn", element.getBasedOn().get(i), i); + } if (element.hasStatusElement()) { composeEnum(t, "NutritionOrder", "status", element.getStatusElement(), -1); } if (element.hasIntentElement()) { composeEnum(t, "NutritionOrder", "intent", element.getIntentElement(), -1); } - if (element.hasPatient()) { - composeReference(t, "NutritionOrder", "patient", element.getPatient(), -1); + if (element.hasPriorityElement()) { + composeEnum(t, "NutritionOrder", "priority", element.getPriorityElement(), -1); + } + if (element.hasSubject()) { + composeReference(t, "NutritionOrder", "subject", element.getSubject(), -1); } if (element.hasEncounter()) { composeReference(t, "NutritionOrder", "encounter", element.getEncounter(), -1); } + for (int i = 0; i < element.getSupportingInformation().size(); i++) { + composeReference(t, "NutritionOrder", "supportingInformation", element.getSupportingInformation().get(i), i); + } if (element.hasDateTimeElement()) { composeDateTime(t, "NutritionOrder", "dateTime", element.getDateTimeElement(), -1); } if (element.hasOrderer()) { composeReference(t, "NutritionOrder", "orderer", element.getOrderer(), -1); } + for (int i = 0; i < element.getPerformer().size(); i++) { + composeCodeableReference(t, "NutritionOrder", "performer", element.getPerformer().get(i), i); + } for (int i = 0; i < element.getAllergyIntolerance().size(); i++) { composeReference(t, "NutritionOrder", "allergyIntolerance", element.getAllergyIntolerance().get(i), i); } @@ -17447,6 +18179,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getExcludeFoodModifier().size(); i++) { composeCodeableConcept(t, "NutritionOrder", "excludeFoodModifier", element.getExcludeFoodModifier().get(i), i); } + if (element.hasOutsideFoodAllowedElement()) { + composeBoolean(t, "NutritionOrder", "outsideFoodAllowed", element.getOutsideFoodAllowedElement(), -1); + } if (element.hasOralDiet()) { composeNutritionOrderOralDietComponent(t, "NutritionOrder", "oralDiet", element.getOralDiet(), -1); } @@ -17474,8 +18209,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getType().size(); i++) { composeCodeableConcept(t, "NutritionOrderOralDietComponent", "type", element.getType().get(i), i); } - for (int i = 0; i < element.getSchedule().size(); i++) { - composeTiming(t, "NutritionOrderOralDietComponent", "schedule", element.getSchedule().get(i), i); + if (element.hasSchedule()) { + composeNutritionOrderOralDietScheduleComponent(t, "NutritionOrderOralDietComponent", "schedule", element.getSchedule(), -1); } for (int i = 0; i < element.getNutrient().size(); i++) { composeNutritionOrderOralDietNutrientComponent(t, "NutritionOrderOralDietComponent", "nutrient", element.getNutrient().get(i), i); @@ -17491,6 +18226,27 @@ public class RdfParser extends RdfParserBase { } } + protected void composeNutritionOrderOralDietScheduleComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietScheduleComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "schedule", name, element, index); + for (int i = 0; i < element.getTiming().size(); i++) { + composeTiming(t, "NutritionOrderOralDietScheduleComponent", "timing", element.getTiming().get(i), i); + } + if (element.hasAsNeededElement()) { + composeBoolean(t, "NutritionOrderOralDietScheduleComponent", "asNeeded", element.getAsNeededElement(), -1); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept(t, "NutritionOrderOralDietScheduleComponent", "asNeededFor", element.getAsNeededFor(), -1); + } + } + protected void composeNutritionOrderOralDietNutrientComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element, int index) { if (element == null) return; @@ -17538,13 +18294,13 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "supplement", name, element, index); if (element.hasType()) { - composeCodeableConcept(t, "NutritionOrderSupplementComponent", "type", element.getType(), -1); + composeCodeableReference(t, "NutritionOrderSupplementComponent", "type", element.getType(), -1); } if (element.hasProductNameElement()) { composeString(t, "NutritionOrderSupplementComponent", "productName", element.getProductNameElement(), -1); } - for (int i = 0; i < element.getSchedule().size(); i++) { - composeTiming(t, "NutritionOrderSupplementComponent", "schedule", element.getSchedule().get(i), i); + if (element.hasSchedule()) { + composeNutritionOrderSupplementScheduleComponent(t, "NutritionOrderSupplementComponent", "schedule", element.getSchedule(), -1); } if (element.hasQuantity()) { composeQuantity(t, "NutritionOrderSupplementComponent", "quantity", element.getQuantity(), -1); @@ -17554,6 +18310,27 @@ public class RdfParser extends RdfParserBase { } } + protected void composeNutritionOrderSupplementScheduleComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderSupplementScheduleComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "schedule", name, element, index); + for (int i = 0; i < element.getTiming().size(); i++) { + composeTiming(t, "NutritionOrderSupplementScheduleComponent", "timing", element.getTiming().get(i), i); + } + if (element.hasAsNeededElement()) { + composeBoolean(t, "NutritionOrderSupplementScheduleComponent", "asNeeded", element.getAsNeededElement(), -1); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept(t, "NutritionOrderSupplementScheduleComponent", "asNeededFor", element.getAsNeededFor(), -1); + } + } + protected void composeNutritionOrderEnteralFormulaComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element, int index) { if (element == null) return; @@ -17565,22 +18342,22 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "enteralFormula", name, element, index); if (element.hasBaseFormulaType()) { - composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaType", element.getBaseFormulaType(), -1); + composeCodeableReference(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaType", element.getBaseFormulaType(), -1); } if (element.hasBaseFormulaProductNameElement()) { composeString(t, "NutritionOrderEnteralFormulaComponent", "baseFormulaProductName", element.getBaseFormulaProductNameElement(), -1); } - if (element.hasAdditiveType()) { - composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "additiveType", element.getAdditiveType(), -1); + for (int i = 0; i < element.getDeliveryDevice().size(); i++) { + composeCodeableReference(t, "NutritionOrderEnteralFormulaComponent", "deliveryDevice", element.getDeliveryDevice().get(i), i); } - if (element.hasAdditiveProductNameElement()) { - composeString(t, "NutritionOrderEnteralFormulaComponent", "additiveProductName", element.getAdditiveProductNameElement(), -1); + for (int i = 0; i < element.getAdditive().size(); i++) { + composeNutritionOrderEnteralFormulaAdditiveComponent(t, "NutritionOrderEnteralFormulaComponent", "additive", element.getAdditive().get(i), i); } if (element.hasCaloricDensity()) { composeQuantity(t, "NutritionOrderEnteralFormulaComponent", "caloricDensity", element.getCaloricDensity(), -1); } - if (element.hasRouteofAdministration()) { - composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "routeofAdministration", element.getRouteofAdministration(), -1); + if (element.hasRouteOfAdministration()) { + composeCodeableConcept(t, "NutritionOrderEnteralFormulaComponent", "routeOfAdministration", element.getRouteOfAdministration(), -1); } for (int i = 0; i < element.getAdministration().size(); i++) { composeNutritionOrderEnteralFormulaAdministrationComponent(t, "NutritionOrderEnteralFormulaComponent", "administration", element.getAdministration().get(i), i); @@ -17593,6 +18370,27 @@ public class RdfParser extends RdfParserBase { } } + protected void composeNutritionOrderEnteralFormulaAdditiveComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "additive", name, element, index); + if (element.hasType()) { + composeCodeableReference(t, "NutritionOrderEnteralFormulaAdditiveComponent", "type", element.getType(), -1); + } + if (element.hasProductNameElement()) { + composeString(t, "NutritionOrderEnteralFormulaAdditiveComponent", "productName", element.getProductNameElement(), -1); + } + if (element.hasQuantity()) { + composeQuantity(t, "NutritionOrderEnteralFormulaAdditiveComponent", "quantity", element.getQuantity(), -1); + } + } + protected void composeNutritionOrderEnteralFormulaAdministrationComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element, int index) { if (element == null) return; @@ -17604,7 +18402,7 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "administration", name, element, index); if (element.hasSchedule()) { - composeTiming(t, "NutritionOrderEnteralFormulaAdministrationComponent", "schedule", element.getSchedule(), -1); + composeNutritionOrderEnteralFormulaAdministrationScheduleComponent(t, "NutritionOrderEnteralFormulaAdministrationComponent", "schedule", element.getSchedule(), -1); } if (element.hasQuantity()) { composeQuantity(t, "NutritionOrderEnteralFormulaAdministrationComponent", "quantity", element.getQuantity(), -1); @@ -17614,6 +18412,27 @@ public class RdfParser extends RdfParserBase { } } + protected void composeNutritionOrderEnteralFormulaAdministrationScheduleComponent(Complex parent, String parentType, String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "schedule", name, element, index); + for (int i = 0; i < element.getTiming().size(); i++) { + composeTiming(t, "NutritionOrderEnteralFormulaAdministrationScheduleComponent", "timing", element.getTiming().get(i), i); + } + if (element.hasAsNeededElement()) { + composeBoolean(t, "NutritionOrderEnteralFormulaAdministrationScheduleComponent", "asNeeded", element.getAsNeededElement(), -1); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept(t, "NutritionOrderEnteralFormulaAdministrationScheduleComponent", "asNeededFor", element.getAsNeededFor(), -1); + } + } + protected void composeNutritionProduct(Complex parent, String parentType, String name, NutritionProduct element, int index) { if (element == null) return; @@ -18146,6 +18965,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "OperationDefinition", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "OperationDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "OperationDefinition", "name", element.getNameElement(), -1); } @@ -18182,6 +19004,12 @@ public class RdfParser extends RdfParserBase { if (element.hasPurposeElement()) { composeMarkdown(t, "OperationDefinition", "purpose", element.getPurposeElement(), -1); } + if (element.hasCopyrightElement()) { + composeMarkdown(t, "OperationDefinition", "copyright", element.getCopyrightElement(), -1); + } + if (element.hasCopyrightLabelElement()) { + composeString(t, "OperationDefinition", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } if (element.hasAffectsStateElement()) { composeBoolean(t, "OperationDefinition", "affectsState", element.getAffectsStateElement(), -1); } @@ -18236,6 +19064,9 @@ public class RdfParser extends RdfParserBase { if (element.hasUseElement()) { composeEnum(t, "OperationDefinitionParameterComponent", "use", element.getUseElement(), -1); } + for (int i = 0; i < element.getScope().size(); i++) { + composeEnum(t, "OperationDefinitionParameterComponent", "scope", element.getScope().get(i), i); + } if (element.hasMinElement()) { composeInteger(t, "OperationDefinitionParameterComponent", "min", element.getMinElement(), -1); } @@ -18243,11 +19074,14 @@ public class RdfParser extends RdfParserBase { composeString(t, "OperationDefinitionParameterComponent", "max", element.getMaxElement(), -1); } if (element.hasDocumentationElement()) { - composeString(t, "OperationDefinitionParameterComponent", "documentation", element.getDocumentationElement(), -1); + composeMarkdown(t, "OperationDefinitionParameterComponent", "documentation", element.getDocumentationElement(), -1); } if (element.hasTypeElement()) { composeEnum(t, "OperationDefinitionParameterComponent", "type", element.getTypeElement(), -1); } + for (int i = 0; i < element.getAllowedType().size(); i++) { + composeEnum(t, "OperationDefinitionParameterComponent", "allowedType", element.getAllowedType().get(i), i); + } for (int i = 0; i < element.getTargetProfile().size(); i++) { composeCanonical(t, "OperationDefinitionParameterComponent", "targetProfile", element.getTargetProfile().get(i), i); } @@ -18395,18 +19229,39 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContact().size(); i++) { composeExtendedContactDetail(t, "Organization", "contact", element.getContact().get(i), i); } - for (int i = 0; i < element.getTelecom().size(); i++) { - composeContactPoint(t, "Organization", "telecom", element.getTelecom().get(i), i); - } - for (int i = 0; i < element.getAddress().size(); i++) { - composeAddress(t, "Organization", "address", element.getAddress().get(i), i); - } if (element.hasPartOf()) { composeReference(t, "Organization", "partOf", element.getPartOf(), -1); } for (int i = 0; i < element.getEndpoint().size(); i++) { composeReference(t, "Organization", "endpoint", element.getEndpoint().get(i), i); } + for (int i = 0; i < element.getQualification().size(); i++) { + composeOrganizationQualificationComponent(t, "Organization", "qualification", element.getQualification().get(i), i); + } + } + + protected void composeOrganizationQualificationComponent(Complex parent, String parentType, String name, Organization.OrganizationQualificationComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "qualification", name, element, index); + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "OrganizationQualificationComponent", "identifier", element.getIdentifier().get(i), i); + } + if (element.hasCode()) { + composeCodeableConcept(t, "OrganizationQualificationComponent", "code", element.getCode(), -1); + } + if (element.hasPeriod()) { + composePeriod(t, "OrganizationQualificationComponent", "period", element.getPeriod(), -1); + } + if (element.hasIssuer()) { + composeReference(t, "OrganizationQualificationComponent", "issuer", element.getIssuer(), -1); + } } protected void composeOrganizationAffiliation(Complex parent, String parentType, String name, OrganizationAffiliation element, int index) { @@ -18449,8 +19304,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getHealthcareService().size(); i++) { composeReference(t, "OrganizationAffiliation", "healthcareService", element.getHealthcareService().get(i), i); } - for (int i = 0; i < element.getTelecom().size(); i++) { - composeContactPoint(t, "OrganizationAffiliation", "telecom", element.getTelecom().get(i), i); + for (int i = 0; i < element.getContact().size(); i++) { + composeExtendedContactDetail(t, "OrganizationAffiliation", "contact", element.getContact().get(i), i); } for (int i = 0; i < element.getEndpoint().size(); i++) { composeReference(t, "OrganizationAffiliation", "endpoint", element.getEndpoint().get(i), i); @@ -18839,15 +19694,27 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getIdentifier().size(); i++) { composeIdentifier(t, "PaymentReconciliation", "identifier", element.getIdentifier().get(i), i); } + if (element.hasType()) { + composeCodeableConcept(t, "PaymentReconciliation", "type", element.getType(), -1); + } if (element.hasStatusElement()) { composeEnum(t, "PaymentReconciliation", "status", element.getStatusElement(), -1); } + if (element.hasKind()) { + composeCodeableConcept(t, "PaymentReconciliation", "kind", element.getKind(), -1); + } if (element.hasPeriod()) { composePeriod(t, "PaymentReconciliation", "period", element.getPeriod(), -1); } if (element.hasCreatedElement()) { composeDateTime(t, "PaymentReconciliation", "created", element.getCreatedElement(), -1); } + if (element.hasEnterer()) { + composeReference(t, "PaymentReconciliation", "enterer", element.getEnterer(), -1); + } + if (element.hasIssuerType()) { + composeCodeableConcept(t, "PaymentReconciliation", "issuerType", element.getIssuerType(), -1); + } if (element.hasPaymentIssuer()) { composeReference(t, "PaymentReconciliation", "paymentIssuer", element.getPaymentIssuer(), -1); } @@ -18863,17 +19730,47 @@ public class RdfParser extends RdfParserBase { if (element.hasDispositionElement()) { composeString(t, "PaymentReconciliation", "disposition", element.getDispositionElement(), -1); } - if (element.hasPaymentDateElement()) { - composeDate(t, "PaymentReconciliation", "paymentDate", element.getPaymentDateElement(), -1); + if (element.hasDateElement()) { + composeDate(t, "PaymentReconciliation", "date", element.getDateElement(), -1); } - if (element.hasPaymentAmount()) { - composeMoney(t, "PaymentReconciliation", "paymentAmount", element.getPaymentAmount(), -1); + if (element.hasLocation()) { + composeReference(t, "PaymentReconciliation", "location", element.getLocation(), -1); + } + if (element.hasMethod()) { + composeCodeableConcept(t, "PaymentReconciliation", "method", element.getMethod(), -1); + } + if (element.hasCardBrandElement()) { + composeString(t, "PaymentReconciliation", "cardBrand", element.getCardBrandElement(), -1); + } + if (element.hasAccountNumberElement()) { + composeString(t, "PaymentReconciliation", "accountNumber", element.getAccountNumberElement(), -1); + } + if (element.hasExpirationDateElement()) { + composeDate(t, "PaymentReconciliation", "expirationDate", element.getExpirationDateElement(), -1); + } + if (element.hasProcessorElement()) { + composeString(t, "PaymentReconciliation", "processor", element.getProcessorElement(), -1); + } + if (element.hasReferenceNumberElement()) { + composeString(t, "PaymentReconciliation", "referenceNumber", element.getReferenceNumberElement(), -1); + } + if (element.hasAuthorizationElement()) { + composeString(t, "PaymentReconciliation", "authorization", element.getAuthorizationElement(), -1); + } + if (element.hasTenderedAmount()) { + composeMoney(t, "PaymentReconciliation", "tenderedAmount", element.getTenderedAmount(), -1); + } + if (element.hasReturnedAmount()) { + composeMoney(t, "PaymentReconciliation", "returnedAmount", element.getReturnedAmount(), -1); + } + if (element.hasAmount()) { + composeMoney(t, "PaymentReconciliation", "amount", element.getAmount(), -1); } if (element.hasPaymentIdentifier()) { composeIdentifier(t, "PaymentReconciliation", "paymentIdentifier", element.getPaymentIdentifier(), -1); } - for (int i = 0; i < element.getDetail().size(); i++) { - composePaymentReconciliationDetailsComponent(t, "PaymentReconciliation", "detail", element.getDetail().get(i), i); + for (int i = 0; i < element.getAllocation().size(); i++) { + composePaymentReconciliationAllocationComponent(t, "PaymentReconciliation", "allocation", element.getAllocation().get(i), i); } if (element.hasFormCode()) { composeCodeableConcept(t, "PaymentReconciliation", "formCode", element.getFormCode(), -1); @@ -18883,7 +19780,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composePaymentReconciliationDetailsComponent(Complex parent, String parentType, String name, PaymentReconciliation.DetailsComponent element, int index) { + protected void composePaymentReconciliationAllocationComponent(Complex parent, String parentType, String name, PaymentReconciliation.PaymentReconciliationAllocationComponent element, int index) { if (element == null) return; Complex t; @@ -18892,36 +19789,45 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "detail", name, element, index); + composeBackboneElement(t, "allocation", name, element, index); if (element.hasIdentifier()) { - composeIdentifier(t, "DetailsComponent", "identifier", element.getIdentifier(), -1); + composeIdentifier(t, "PaymentReconciliationAllocationComponent", "identifier", element.getIdentifier(), -1); } if (element.hasPredecessor()) { - composeIdentifier(t, "DetailsComponent", "predecessor", element.getPredecessor(), -1); + composeIdentifier(t, "PaymentReconciliationAllocationComponent", "predecessor", element.getPredecessor(), -1); + } + if (element.hasTarget()) { + composeReference(t, "PaymentReconciliationAllocationComponent", "target", element.getTarget(), -1); + } + if (element.hasTargetItem()) { + composeType(t, "PaymentReconciliationAllocationComponent", "targetItem", element.getTargetItem(), -1); + } + if (element.hasEncounter()) { + composeReference(t, "PaymentReconciliationAllocationComponent", "encounter", element.getEncounter(), -1); + } + if (element.hasAccount()) { + composeReference(t, "PaymentReconciliationAllocationComponent", "account", element.getAccount(), -1); } if (element.hasType()) { - composeCodeableConcept(t, "DetailsComponent", "type", element.getType(), -1); - } - if (element.hasRequest()) { - composeReference(t, "DetailsComponent", "request", element.getRequest(), -1); + composeCodeableConcept(t, "PaymentReconciliationAllocationComponent", "type", element.getType(), -1); } if (element.hasSubmitter()) { - composeReference(t, "DetailsComponent", "submitter", element.getSubmitter(), -1); + composeReference(t, "PaymentReconciliationAllocationComponent", "submitter", element.getSubmitter(), -1); } if (element.hasResponse()) { - composeReference(t, "DetailsComponent", "response", element.getResponse(), -1); + composeReference(t, "PaymentReconciliationAllocationComponent", "response", element.getResponse(), -1); } if (element.hasDateElement()) { - composeDate(t, "DetailsComponent", "date", element.getDateElement(), -1); + composeDate(t, "PaymentReconciliationAllocationComponent", "date", element.getDateElement(), -1); } if (element.hasResponsible()) { - composeReference(t, "DetailsComponent", "responsible", element.getResponsible(), -1); + composeReference(t, "PaymentReconciliationAllocationComponent", "responsible", element.getResponsible(), -1); } if (element.hasPayee()) { - composeReference(t, "DetailsComponent", "payee", element.getPayee(), -1); + composeReference(t, "PaymentReconciliationAllocationComponent", "payee", element.getPayee(), -1); } if (element.hasAmount()) { - composeMoney(t, "DetailsComponent", "amount", element.getAmount(), -1); + composeMoney(t, "PaymentReconciliationAllocationComponent", "amount", element.getAmount(), -1); } } @@ -18956,53 +19862,23 @@ public class RdfParser extends RdfParserBase { if (element.hasStatusElement()) { composeEnum(t, "Permission", "status", element.getStatusElement(), -1); } - if (element.hasIntent()) { - composeCodeableConcept(t, "Permission", "intent", element.getIntent(), -1); - } if (element.hasAsserter()) { composeReference(t, "Permission", "asserter", element.getAsserter(), -1); } - for (int i = 0; i < element.getAssertionDate().size(); i++) { - composeDateTime(t, "Permission", "assertionDate", element.getAssertionDate().get(i), i); + for (int i = 0; i < element.getDate().size(); i++) { + composeDateTime(t, "Permission", "date", element.getDate().get(i), i); } if (element.hasValidity()) { composePeriod(t, "Permission", "validity", element.getValidity(), -1); } - for (int i = 0; i < element.getPurpose().size(); i++) { - composeCodeableConcept(t, "Permission", "purpose", element.getPurpose().get(i), i); - } - for (int i = 0; i < element.getDataScope().size(); i++) { - composeExpression(t, "Permission", "dataScope", element.getDataScope().get(i), i); - } - for (int i = 0; i < element.getProcessingActivity().size(); i++) { - composePermissionProcessingActivityComponent(t, "Permission", "processingActivity", element.getProcessingActivity().get(i), i); - } if (element.hasJustification()) { composePermissionJustificationComponent(t, "Permission", "justification", element.getJustification(), -1); } - for (int i = 0; i < element.getUsageLimitations().size(); i++) { - composeCodeableConcept(t, "Permission", "usageLimitations", element.getUsageLimitations().get(i), i); + if (element.hasCombiningElement()) { + composeEnum(t, "Permission", "combining", element.getCombiningElement(), -1); } - } - - protected void composePermissionProcessingActivityComponent(Complex parent, String parentType, String name, Permission.PermissionProcessingActivityComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "processingActivity", name, element, index); - for (int i = 0; i < element.getPartyReference().size(); i++) { - composeReference(t, "PermissionProcessingActivityComponent", "partyReference", element.getPartyReference().get(i), i); - } - for (int i = 0; i < element.getPartyCodeableConcept().size(); i++) { - composeCodeableConcept(t, "PermissionProcessingActivityComponent", "partyCodeableConcept", element.getPartyCodeableConcept().get(i), i); - } - for (int i = 0; i < element.getPurpose().size(); i++) { - composeCodeableConcept(t, "PermissionProcessingActivityComponent", "purpose", element.getPurpose().get(i), i); + for (int i = 0; i < element.getRule().size(); i++) { + composePermissionRuleComponent(t, "Permission", "rule", element.getRule().get(i), i); } } @@ -19016,11 +19892,98 @@ public class RdfParser extends RdfParserBase { t = parent.predicate("fhir:"+parentType+'.'+name); } composeBackboneElement(t, "justification", name, element, index); + for (int i = 0; i < element.getBasis().size(); i++) { + composeCodeableConcept(t, "PermissionJustificationComponent", "basis", element.getBasis().get(i), i); + } for (int i = 0; i < element.getEvidence().size(); i++) { composeReference(t, "PermissionJustificationComponent", "evidence", element.getEvidence().get(i), i); } - for (int i = 0; i < element.getGrounds().size(); i++) { - composeCodeableConcept(t, "PermissionJustificationComponent", "grounds", element.getGrounds().get(i), i); + } + + protected void composePermissionRuleComponent(Complex parent, String parentType, String name, Permission.RuleComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "rule", name, element, index); + if (element.hasTypeElement()) { + composeEnum(t, "RuleComponent", "type", element.getTypeElement(), -1); + } + for (int i = 0; i < element.getData().size(); i++) { + composePermissionRuleDataComponent(t, "RuleComponent", "data", element.getData().get(i), i); + } + for (int i = 0; i < element.getActivity().size(); i++) { + composePermissionRuleActivityComponent(t, "RuleComponent", "activity", element.getActivity().get(i), i); + } + for (int i = 0; i < element.getLimit().size(); i++) { + composeCodeableConcept(t, "RuleComponent", "limit", element.getLimit().get(i), i); + } + } + + protected void composePermissionRuleDataComponent(Complex parent, String parentType, String name, Permission.RuleDataComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "data", name, element, index); + for (int i = 0; i < element.getResource().size(); i++) { + composePermissionRuleDataResourceComponent(t, "RuleDataComponent", "resource", element.getResource().get(i), i); + } + for (int i = 0; i < element.getSecurity().size(); i++) { + composeCoding(t, "RuleDataComponent", "security", element.getSecurity().get(i), i); + } + for (int i = 0; i < element.getPeriod().size(); i++) { + composePeriod(t, "RuleDataComponent", "period", element.getPeriod().get(i), i); + } + if (element.hasExpression()) { + composeExpression(t, "RuleDataComponent", "expression", element.getExpression(), -1); + } + } + + protected void composePermissionRuleDataResourceComponent(Complex parent, String parentType, String name, Permission.RuleDataResourceComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "resource", name, element, index); + if (element.hasMeaningElement()) { + composeEnum(t, "RuleDataResourceComponent", "meaning", element.getMeaningElement(), -1); + } + if (element.hasReference()) { + composeReference(t, "RuleDataResourceComponent", "reference", element.getReference(), -1); + } + } + + protected void composePermissionRuleActivityComponent(Complex parent, String parentType, String name, Permission.RuleActivityComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "activity", name, element, index); + for (int i = 0; i < element.getActor().size(); i++) { + composeReference(t, "RuleActivityComponent", "actor", element.getActor().get(i), i); + } + for (int i = 0; i < element.getAction().size(); i++) { + composeCodeableConcept(t, "RuleActivityComponent", "action", element.getAction().get(i), i); + } + for (int i = 0; i < element.getPurpose().size(); i++) { + composeCodeableConcept(t, "RuleActivityComponent", "purpose", element.getPurpose().get(i), i); } } @@ -19064,12 +20027,12 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getPhoto().size(); i++) { composeAttachment(t, "Person", "photo", element.getPhoto().get(i), i); } - if (element.hasManagingOrganization()) { - composeReference(t, "Person", "managingOrganization", element.getManagingOrganization(), -1); - } for (int i = 0; i < element.getCommunication().size(); i++) { composePersonCommunicationComponent(t, "Person", "communication", element.getCommunication().get(i), i); } + if (element.hasManagingOrganization()) { + composeReference(t, "Person", "managingOrganization", element.getManagingOrganization(), -1); + } for (int i = 0; i < element.getLink().size(); i++) { composePersonLinkComponent(t, "Person", "link", element.getLink().get(i), i); } @@ -19217,6 +20180,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getAction().size(); i++) { composePlanDefinitionActionComponent(t, "PlanDefinition", "action", element.getAction().get(i), i); } + if (element.hasAsNeeded()) { + composeType(t, "PlanDefinition", "asNeeded", element.getAsNeeded(), -1); + } } protected void composePlanDefinitionGoalComponent(Complex parent, String parentType, String name, PlanDefinition.PlanDefinitionGoalComponent element, int index) { @@ -19307,6 +20273,9 @@ public class RdfParser extends RdfParserBase { if (element.hasTypeElement()) { composeEnum(t, "PlanDefinitionActorOptionComponent", "type", element.getTypeElement(), -1); } + if (element.hasTypeCanonicalElement()) { + composeCanonical(t, "PlanDefinitionActorOptionComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); + } if (element.hasTypeReference()) { composeReference(t, "PlanDefinitionActorOptionComponent", "typeReference", element.getTypeReference(), -1); } @@ -19511,6 +20480,9 @@ public class RdfParser extends RdfParserBase { if (element.hasTypeElement()) { composeEnum(t, "PlanDefinitionActionParticipantComponent", "type", element.getTypeElement(), -1); } + if (element.hasTypeCanonicalElement()) { + composeCanonical(t, "PlanDefinitionActionParticipantComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); + } if (element.hasTypeReference()) { composeReference(t, "PlanDefinitionActionParticipantComponent", "typeReference", element.getTypeReference(), -1); } @@ -19562,18 +20534,18 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getTelecom().size(); i++) { composeContactPoint(t, "Practitioner", "telecom", element.getTelecom().get(i), i); } - if (element.hasDeceased()) { - composeType(t, "Practitioner", "deceased", element.getDeceased(), -1); - } - for (int i = 0; i < element.getAddress().size(); i++) { - composeAddress(t, "Practitioner", "address", element.getAddress().get(i), i); - } if (element.hasGenderElement()) { composeEnum(t, "Practitioner", "gender", element.getGenderElement(), -1); } if (element.hasBirthDateElement()) { composeDate(t, "Practitioner", "birthDate", element.getBirthDateElement(), -1); } + if (element.hasDeceased()) { + composeType(t, "Practitioner", "deceased", element.getDeceased(), -1); + } + for (int i = 0; i < element.getAddress().size(); i++) { + composeAddress(t, "Practitioner", "address", element.getAddress().get(i), i); + } for (int i = 0; i < element.getPhoto().size(); i++) { composeAttachment(t, "Practitioner", "photo", element.getPhoto().get(i), i); } @@ -19649,65 +20621,14 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getContact().size(); i++) { composeExtendedContactDetail(t, "PractitionerRole", "contact", element.getContact().get(i), i); } - for (int i = 0; i < element.getTelecom().size(); i++) { - composeContactPoint(t, "PractitionerRole", "telecom", element.getTelecom().get(i), i); - } - for (int i = 0; i < element.getAvailableTime().size(); i++) { - composePractitionerRoleAvailableTimeComponent(t, "PractitionerRole", "availableTime", element.getAvailableTime().get(i), i); - } - for (int i = 0; i < element.getNotAvailable().size(); i++) { - composePractitionerRoleNotAvailableComponent(t, "PractitionerRole", "notAvailable", element.getNotAvailable().get(i), i); - } - if (element.hasAvailabilityExceptionsElement()) { - composeString(t, "PractitionerRole", "availabilityExceptions", element.getAvailabilityExceptionsElement(), -1); + for (int i = 0; i < element.getAvailability().size(); i++) { + composeAvailability(t, "PractitionerRole", "availability", element.getAvailability().get(i), i); } for (int i = 0; i < element.getEndpoint().size(); i++) { composeReference(t, "PractitionerRole", "endpoint", element.getEndpoint().get(i), i); } } - protected void composePractitionerRoleAvailableTimeComponent(Complex parent, String parentType, String name, PractitionerRole.PractitionerRoleAvailableTimeComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "availableTime", name, element, index); - for (int i = 0; i < element.getDaysOfWeek().size(); i++) { - composeEnum(t, "PractitionerRoleAvailableTimeComponent", "daysOfWeek", element.getDaysOfWeek().get(i), i); - } - if (element.hasAllDayElement()) { - composeBoolean(t, "PractitionerRoleAvailableTimeComponent", "allDay", element.getAllDayElement(), -1); - } - if (element.hasAvailableStartTimeElement()) { - composeTime(t, "PractitionerRoleAvailableTimeComponent", "availableStartTime", element.getAvailableStartTimeElement(), -1); - } - if (element.hasAvailableEndTimeElement()) { - composeTime(t, "PractitionerRoleAvailableTimeComponent", "availableEndTime", element.getAvailableEndTimeElement(), -1); - } - } - - protected void composePractitionerRoleNotAvailableComponent(Complex parent, String parentType, String name, PractitionerRole.PractitionerRoleNotAvailableComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "notAvailable", name, element, index); - if (element.hasDescriptionElement()) { - composeString(t, "PractitionerRoleNotAvailableComponent", "description", element.getDescriptionElement(), -1); - } - if (element.hasDuring()) { - composePeriod(t, "PractitionerRoleNotAvailableComponent", "during", element.getDuring(), -1); - } - } - protected void composeProcedure(Complex parent, String parentType, String name, Procedure element, int index) { if (element == null) return; @@ -19748,6 +20669,9 @@ public class RdfParser extends RdfParserBase { if (element.hasSubject()) { composeReference(t, "Procedure", "subject", element.getSubject(), -1); } + if (element.hasFocus()) { + composeReference(t, "Procedure", "focus", element.getFocus(), -1); + } if (element.hasEncounter()) { composeReference(t, "Procedure", "encounter", element.getEncounter(), -1); } @@ -19823,6 +20747,9 @@ public class RdfParser extends RdfParserBase { if (element.hasOnBehalfOf()) { composeReference(t, "ProcedurePerformerComponent", "onBehalfOf", element.getOnBehalfOf(), -1); } + if (element.hasPeriod()) { + composePeriod(t, "ProcedurePerformerComponent", "period", element.getPeriod(), -1); + } } protected void composeProcedureFocalDeviceComponent(Complex parent, String parentType, String name, Procedure.ProcedureFocalDeviceComponent element, int index) { @@ -19958,6 +20885,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "Questionnaire", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "Questionnaire", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "Questionnaire", "name", element.getNameElement(), -1); } @@ -20000,6 +20930,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "Questionnaire", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "Questionnaire", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } if (element.hasApprovalDateElement()) { composeDate(t, "Questionnaire", "approvalDate", element.getApprovalDateElement(), -1); } @@ -20040,7 +20973,7 @@ public class RdfParser extends RdfParserBase { composeString(t, "QuestionnaireItemComponent", "prefix", element.getPrefixElement(), -1); } if (element.hasTextElement()) { - composeMarkdown(t, "QuestionnaireItemComponent", "text", element.getTextElement(), -1); + composeString(t, "QuestionnaireItemComponent", "text", element.getTextElement(), -1); } if (element.hasTypeElement()) { composeEnum(t, "QuestionnaireItemComponent", "type", element.getTypeElement(), -1); @@ -20261,8 +21194,8 @@ public class RdfParser extends RdfParserBase { if (element.hasValidityPeriod()) { composePeriod(t, "RegulatedAuthorization", "validityPeriod", element.getValidityPeriod(), -1); } - if (element.hasIndication()) { - composeCodeableReference(t, "RegulatedAuthorization", "indication", element.getIndication(), -1); + for (int i = 0; i < element.getIndication().size(); i++) { + composeCodeableReference(t, "RegulatedAuthorization", "indication", element.getIndication().get(i), i); } if (element.hasIntendedUse()) { composeCodeableConcept(t, "RegulatedAuthorization", "intendedUse", element.getIntendedUse(), -1); @@ -20406,13 +21339,13 @@ public class RdfParser extends RdfParserBase { composeIdentifier(t, "RequestGroup", "groupIdentifier", element.getGroupIdentifier(), -1); } if (element.hasStatusElement()) { - composeEnum(t, "RequestGroup", "status", element.getStatusElement(), -1); + composeCode(t, "RequestGroup", "status", element.getStatusElement(), -1); } if (element.hasIntentElement()) { - composeEnum(t, "RequestGroup", "intent", element.getIntentElement(), -1); + composeCode(t, "RequestGroup", "intent", element.getIntentElement(), -1); } if (element.hasPriorityElement()) { - composeEnum(t, "RequestGroup", "priority", element.getPriorityElement(), -1); + composeCode(t, "RequestGroup", "priority", element.getPriorityElement(), -1); } if (element.hasCode()) { composeCodeableConcept(t, "RequestGroup", "code", element.getCode(), -1); @@ -20469,7 +21402,7 @@ public class RdfParser extends RdfParserBase { composeString(t, "RequestGroupActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); } if (element.hasPriorityElement()) { - composeEnum(t, "RequestGroupActionComponent", "priority", element.getPriorityElement(), -1); + composeCode(t, "RequestGroupActionComponent", "priority", element.getPriorityElement(), -1); } for (int i = 0; i < element.getCode().size(); i++) { composeCodeableConcept(t, "RequestGroupActionComponent", "code", element.getCode().get(i), i); @@ -20499,19 +21432,19 @@ public class RdfParser extends RdfParserBase { composeCodeableConcept(t, "RequestGroupActionComponent", "type", element.getType(), -1); } if (element.hasGroupingBehaviorElement()) { - composeEnum(t, "RequestGroupActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); + composeCode(t, "RequestGroupActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); } if (element.hasSelectionBehaviorElement()) { - composeEnum(t, "RequestGroupActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); + composeCode(t, "RequestGroupActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); } if (element.hasRequiredBehaviorElement()) { - composeEnum(t, "RequestGroupActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); + composeCode(t, "RequestGroupActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); } if (element.hasPrecheckBehaviorElement()) { - composeEnum(t, "RequestGroupActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); + composeCode(t, "RequestGroupActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); } if (element.hasCardinalityBehaviorElement()) { - composeEnum(t, "RequestGroupActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); + composeCode(t, "RequestGroupActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); } if (element.hasResource()) { composeReference(t, "RequestGroupActionComponent", "resource", element.getResource(), -1); @@ -20532,7 +21465,7 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "condition", name, element, index); if (element.hasKindElement()) { - composeEnum(t, "RequestGroupActionConditionComponent", "kind", element.getKindElement(), -1); + composeCode(t, "RequestGroupActionConditionComponent", "kind", element.getKindElement(), -1); } if (element.hasExpression()) { composeExpression(t, "RequestGroupActionConditionComponent", "expression", element.getExpression(), -1); @@ -20553,7 +21486,7 @@ public class RdfParser extends RdfParserBase { composeId(t, "RequestGroupActionRelatedActionComponent", "targetId", element.getTargetIdElement(), -1); } if (element.hasRelationshipElement()) { - composeEnum(t, "RequestGroupActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); + composeCode(t, "RequestGroupActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); } if (element.hasOffset()) { composeType(t, "RequestGroupActionRelatedActionComponent", "offset", element.getOffset(), -1); @@ -20571,7 +21504,7 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "participant", name, element, index); if (element.hasTypeElement()) { - composeEnum(t, "RequestGroupActionParticipantComponent", "type", element.getTypeElement(), -1); + composeCode(t, "RequestGroupActionParticipantComponent", "type", element.getTypeElement(), -1); } if (element.hasTypeReference()) { composeReference(t, "RequestGroupActionParticipantComponent", "typeReference", element.getTypeReference(), -1); @@ -20587,6 +21520,399 @@ public class RdfParser extends RdfParserBase { } } + protected void composeRequestOrchestration(Complex parent, String parentType, String name, RequestOrchestration element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeDomainResource(t, "RequestOrchestration", name, element, index); + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "RequestOrchestration", "identifier", element.getIdentifier().get(i), i); + } + for (int i = 0; i < element.getInstantiatesCanonical().size(); i++) { + composeCanonical(t, "RequestOrchestration", "instantiatesCanonical", element.getInstantiatesCanonical().get(i), i); + } + for (int i = 0; i < element.getInstantiatesUri().size(); i++) { + composeUri(t, "RequestOrchestration", "instantiatesUri", element.getInstantiatesUri().get(i), i); + } + for (int i = 0; i < element.getBasedOn().size(); i++) { + composeReference(t, "RequestOrchestration", "basedOn", element.getBasedOn().get(i), i); + } + for (int i = 0; i < element.getReplaces().size(); i++) { + composeReference(t, "RequestOrchestration", "replaces", element.getReplaces().get(i), i); + } + if (element.hasGroupIdentifier()) { + composeIdentifier(t, "RequestOrchestration", "groupIdentifier", element.getGroupIdentifier(), -1); + } + if (element.hasStatusElement()) { + composeEnum(t, "RequestOrchestration", "status", element.getStatusElement(), -1); + } + if (element.hasIntentElement()) { + composeEnum(t, "RequestOrchestration", "intent", element.getIntentElement(), -1); + } + if (element.hasPriorityElement()) { + composeEnum(t, "RequestOrchestration", "priority", element.getPriorityElement(), -1); + } + if (element.hasCode()) { + composeCodeableConcept(t, "RequestOrchestration", "code", element.getCode(), -1); + } + if (element.hasSubject()) { + composeReference(t, "RequestOrchestration", "subject", element.getSubject(), -1); + } + if (element.hasEncounter()) { + composeReference(t, "RequestOrchestration", "encounter", element.getEncounter(), -1); + } + if (element.hasAuthoredOnElement()) { + composeDateTime(t, "RequestOrchestration", "authoredOn", element.getAuthoredOnElement(), -1); + } + if (element.hasAuthor()) { + composeReference(t, "RequestOrchestration", "author", element.getAuthor(), -1); + } + for (int i = 0; i < element.getReason().size(); i++) { + composeCodeableReference(t, "RequestOrchestration", "reason", element.getReason().get(i), i); + } + for (int i = 0; i < element.getGoal().size(); i++) { + composeReference(t, "RequestOrchestration", "goal", element.getGoal().get(i), i); + } + for (int i = 0; i < element.getNote().size(); i++) { + composeAnnotation(t, "RequestOrchestration", "note", element.getNote().get(i), i); + } + for (int i = 0; i < element.getAction().size(); i++) { + composeRequestOrchestrationActionComponent(t, "RequestOrchestration", "action", element.getAction().get(i), i); + } + } + + protected void composeRequestOrchestrationActionComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "action", name, element, index); + if (element.hasLinkIdElement()) { + composeString(t, "RequestOrchestrationActionComponent", "linkId", element.getLinkIdElement(), -1); + } + if (element.hasPrefixElement()) { + composeString(t, "RequestOrchestrationActionComponent", "prefix", element.getPrefixElement(), -1); + } + if (element.hasTitleElement()) { + composeString(t, "RequestOrchestrationActionComponent", "title", element.getTitleElement(), -1); + } + if (element.hasDescriptionElement()) { + composeString(t, "RequestOrchestrationActionComponent", "description", element.getDescriptionElement(), -1); + } + if (element.hasTextEquivalentElement()) { + composeString(t, "RequestOrchestrationActionComponent", "textEquivalent", element.getTextEquivalentElement(), -1); + } + if (element.hasPriorityElement()) { + composeEnum(t, "RequestOrchestrationActionComponent", "priority", element.getPriorityElement(), -1); + } + for (int i = 0; i < element.getCode().size(); i++) { + composeCodeableConcept(t, "RequestOrchestrationActionComponent", "code", element.getCode().get(i), i); + } + for (int i = 0; i < element.getDocumentation().size(); i++) { + composeRelatedArtifact(t, "RequestOrchestrationActionComponent", "documentation", element.getDocumentation().get(i), i); + } + for (int i = 0; i < element.getGoal().size(); i++) { + composeReference(t, "RequestOrchestrationActionComponent", "goal", element.getGoal().get(i), i); + } + for (int i = 0; i < element.getCondition().size(); i++) { + composeRequestOrchestrationActionConditionComponent(t, "RequestOrchestrationActionComponent", "condition", element.getCondition().get(i), i); + } + for (int i = 0; i < element.getInput().size(); i++) { + composeRequestOrchestrationActionInputComponent(t, "RequestOrchestrationActionComponent", "input", element.getInput().get(i), i); + } + for (int i = 0; i < element.getOutput().size(); i++) { + composeRequestOrchestrationActionOutputComponent(t, "RequestOrchestrationActionComponent", "output", element.getOutput().get(i), i); + } + for (int i = 0; i < element.getRelatedAction().size(); i++) { + composeRequestOrchestrationActionRelatedActionComponent(t, "RequestOrchestrationActionComponent", "relatedAction", element.getRelatedAction().get(i), i); + } + if (element.hasTiming()) { + composeType(t, "RequestOrchestrationActionComponent", "timing", element.getTiming(), -1); + } + if (element.hasLocation()) { + composeCodeableReference(t, "RequestOrchestrationActionComponent", "location", element.getLocation(), -1); + } + for (int i = 0; i < element.getParticipant().size(); i++) { + composeRequestOrchestrationActionParticipantComponent(t, "RequestOrchestrationActionComponent", "participant", element.getParticipant().get(i), i); + } + if (element.hasType()) { + composeCodeableConcept(t, "RequestOrchestrationActionComponent", "type", element.getType(), -1); + } + if (element.hasGroupingBehaviorElement()) { + composeEnum(t, "RequestOrchestrationActionComponent", "groupingBehavior", element.getGroupingBehaviorElement(), -1); + } + if (element.hasSelectionBehaviorElement()) { + composeEnum(t, "RequestOrchestrationActionComponent", "selectionBehavior", element.getSelectionBehaviorElement(), -1); + } + if (element.hasRequiredBehaviorElement()) { + composeEnum(t, "RequestOrchestrationActionComponent", "requiredBehavior", element.getRequiredBehaviorElement(), -1); + } + if (element.hasPrecheckBehaviorElement()) { + composeEnum(t, "RequestOrchestrationActionComponent", "precheckBehavior", element.getPrecheckBehaviorElement(), -1); + } + if (element.hasCardinalityBehaviorElement()) { + composeEnum(t, "RequestOrchestrationActionComponent", "cardinalityBehavior", element.getCardinalityBehaviorElement(), -1); + } + if (element.hasResource()) { + composeReference(t, "RequestOrchestrationActionComponent", "resource", element.getResource(), -1); + } + if (element.hasDefinition()) { + composeType(t, "RequestOrchestrationActionComponent", "definition", element.getDefinition(), -1); + } + if (element.hasTransformElement()) { + composeCanonical(t, "RequestOrchestrationActionComponent", "transform", element.getTransformElement(), -1); + } + for (int i = 0; i < element.getDynamicValue().size(); i++) { + composeRequestOrchestrationActionDynamicValueComponent(t, "RequestOrchestrationActionComponent", "dynamicValue", element.getDynamicValue().get(i), i); + } + for (int i = 0; i < element.getAction().size(); i++) { + composeRequestOrchestrationActionComponent(t, "RequestOrchestrationActionComponent", "action", element.getAction().get(i), i); + } + } + + protected void composeRequestOrchestrationActionConditionComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionConditionComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "condition", name, element, index); + if (element.hasKindElement()) { + composeEnum(t, "RequestOrchestrationActionConditionComponent", "kind", element.getKindElement(), -1); + } + if (element.hasExpression()) { + composeExpression(t, "RequestOrchestrationActionConditionComponent", "expression", element.getExpression(), -1); + } + } + + protected void composeRequestOrchestrationActionInputComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionInputComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "input", name, element, index); + if (element.hasTitleElement()) { + composeString(t, "RequestOrchestrationActionInputComponent", "title", element.getTitleElement(), -1); + } + if (element.hasRequirement()) { + composeDataRequirement(t, "RequestOrchestrationActionInputComponent", "requirement", element.getRequirement(), -1); + } + if (element.hasRelatedDataElement()) { + composeId(t, "RequestOrchestrationActionInputComponent", "relatedData", element.getRelatedDataElement(), -1); + } + } + + protected void composeRequestOrchestrationActionOutputComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionOutputComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "output", name, element, index); + if (element.hasTitleElement()) { + composeString(t, "RequestOrchestrationActionOutputComponent", "title", element.getTitleElement(), -1); + } + if (element.hasRequirement()) { + composeDataRequirement(t, "RequestOrchestrationActionOutputComponent", "requirement", element.getRequirement(), -1); + } + if (element.hasRelatedDataElement()) { + composeString(t, "RequestOrchestrationActionOutputComponent", "relatedData", element.getRelatedDataElement(), -1); + } + } + + protected void composeRequestOrchestrationActionRelatedActionComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionRelatedActionComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "relatedAction", name, element, index); + if (element.hasTargetIdElement()) { + composeId(t, "RequestOrchestrationActionRelatedActionComponent", "targetId", element.getTargetIdElement(), -1); + } + if (element.hasRelationshipElement()) { + composeEnum(t, "RequestOrchestrationActionRelatedActionComponent", "relationship", element.getRelationshipElement(), -1); + } + if (element.hasOffset()) { + composeType(t, "RequestOrchestrationActionRelatedActionComponent", "offset", element.getOffset(), -1); + } + } + + protected void composeRequestOrchestrationActionParticipantComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionParticipantComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "participant", name, element, index); + if (element.hasTypeElement()) { + composeEnum(t, "RequestOrchestrationActionParticipantComponent", "type", element.getTypeElement(), -1); + } + if (element.hasTypeCanonicalElement()) { + composeCanonical(t, "RequestOrchestrationActionParticipantComponent", "typeCanonical", element.getTypeCanonicalElement(), -1); + } + if (element.hasTypeReference()) { + composeReference(t, "RequestOrchestrationActionParticipantComponent", "typeReference", element.getTypeReference(), -1); + } + if (element.hasRole()) { + composeCodeableConcept(t, "RequestOrchestrationActionParticipantComponent", "role", element.getRole(), -1); + } + if (element.hasFunction()) { + composeCodeableConcept(t, "RequestOrchestrationActionParticipantComponent", "function", element.getFunction(), -1); + } + if (element.hasActor()) { + composeType(t, "RequestOrchestrationActionParticipantComponent", "actor", element.getActor(), -1); + } + } + + protected void composeRequestOrchestrationActionDynamicValueComponent(Complex parent, String parentType, String name, RequestOrchestration.RequestOrchestrationActionDynamicValueComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "dynamicValue", name, element, index); + if (element.hasPathElement()) { + composeString(t, "RequestOrchestrationActionDynamicValueComponent", "path", element.getPathElement(), -1); + } + if (element.hasExpression()) { + composeExpression(t, "RequestOrchestrationActionDynamicValueComponent", "expression", element.getExpression(), -1); + } + } + + protected void composeRequirements(Complex parent, String parentType, String name, Requirements element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeCanonicalResource(t, "Requirements", name, element, index); + if (element.hasUrlElement()) { + composeUri(t, "Requirements", "url", element.getUrlElement(), -1); + } + for (int i = 0; i < element.getIdentifier().size(); i++) { + composeIdentifier(t, "Requirements", "identifier", element.getIdentifier().get(i), i); + } + if (element.hasVersionElement()) { + composeString(t, "Requirements", "version", element.getVersionElement(), -1); + } + if (element.hasNameElement()) { + composeString(t, "Requirements", "name", element.getNameElement(), -1); + } + if (element.hasTitleElement()) { + composeString(t, "Requirements", "title", element.getTitleElement(), -1); + } + if (element.hasStatusElement()) { + composeEnum(t, "Requirements", "status", element.getStatusElement(), -1); + } + if (element.hasExperimentalElement()) { + composeBoolean(t, "Requirements", "experimental", element.getExperimentalElement(), -1); + } + if (element.hasDateElement()) { + composeDateTime(t, "Requirements", "date", element.getDateElement(), -1); + } + if (element.hasPublisherElement()) { + composeString(t, "Requirements", "publisher", element.getPublisherElement(), -1); + } + for (int i = 0; i < element.getContact().size(); i++) { + composeContactDetail(t, "Requirements", "contact", element.getContact().get(i), i); + } + if (element.hasDescriptionElement()) { + composeMarkdown(t, "Requirements", "description", element.getDescriptionElement(), -1); + } + for (int i = 0; i < element.getUseContext().size(); i++) { + composeUsageContext(t, "Requirements", "useContext", element.getUseContext().get(i), i); + } + for (int i = 0; i < element.getJurisdiction().size(); i++) { + composeCodeableConcept(t, "Requirements", "jurisdiction", element.getJurisdiction().get(i), i); + } + if (element.hasPurposeElement()) { + composeMarkdown(t, "Requirements", "purpose", element.getPurposeElement(), -1); + } + if (element.hasCopyrightElement()) { + composeMarkdown(t, "Requirements", "copyright", element.getCopyrightElement(), -1); + } + if (element.hasCopyrightLabelElement()) { + composeString(t, "Requirements", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } + for (int i = 0; i < element.getDerivedFrom().size(); i++) { + composeCanonical(t, "Requirements", "derivedFrom", element.getDerivedFrom().get(i), i); + } + for (int i = 0; i < element.getActor().size(); i++) { + composeCanonical(t, "Requirements", "actor", element.getActor().get(i), i); + } + for (int i = 0; i < element.getStatement().size(); i++) { + composeRequirementsStatementComponent(t, "Requirements", "statement", element.getStatement().get(i), i); + } + } + + protected void composeRequirementsStatementComponent(Complex parent, String parentType, String name, Requirements.RequirementsStatementComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "statement", name, element, index); + if (element.hasKeyElement()) { + composeId(t, "RequirementsStatementComponent", "key", element.getKeyElement(), -1); + } + if (element.hasLabelElement()) { + composeString(t, "RequirementsStatementComponent", "label", element.getLabelElement(), -1); + } + if (element.hasConformanceElement()) { + composeEnum(t, "RequirementsStatementComponent", "conformance", element.getConformanceElement(), -1); + } + if (element.hasRequirementElement()) { + composeMarkdown(t, "RequirementsStatementComponent", "requirement", element.getRequirementElement(), -1); + } + if (element.hasDerivedFromElement()) { + composeString(t, "RequirementsStatementComponent", "derivedFrom", element.getDerivedFromElement(), -1); + } + for (int i = 0; i < element.getSatisfiedBy().size(); i++) { + composeUrl(t, "RequirementsStatementComponent", "satisfiedBy", element.getSatisfiedBy().get(i), i); + } + for (int i = 0; i < element.getReference().size(); i++) { + composeUrl(t, "RequirementsStatementComponent", "reference", element.getReference().get(i), i); + } + for (int i = 0; i < element.getSource().size(); i++) { + composeReference(t, "RequirementsStatementComponent", "source", element.getSource().get(i), i); + } + } + protected void composeResearchStudy(Complex parent, String parentType, String name, ResearchStudy element, int index) { if (element == null) return; @@ -20636,8 +21962,8 @@ public class RdfParser extends RdfParserBase { if (element.hasPhase()) { composeCodeableConcept(t, "ResearchStudy", "phase", element.getPhase(), -1); } - for (int i = 0; i < element.getCategory().size(); i++) { - composeCodeableConcept(t, "ResearchStudy", "category", element.getCategory().get(i), i); + for (int i = 0; i < element.getStudyDesign().size(); i++) { + composeCodeableConcept(t, "ResearchStudy", "studyDesign", element.getStudyDesign().get(i), i); } for (int i = 0; i < element.getFocus().size(); i++) { composeResearchStudyFocusComponent(t, "ResearchStudy", "focus", element.getFocus().get(i), i); @@ -20648,8 +21974,8 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getKeyword().size(); i++) { composeCodeableConcept(t, "ResearchStudy", "keyword", element.getKeyword().get(i), i); } - for (int i = 0; i < element.getLocation().size(); i++) { - composeCodeableConcept(t, "ResearchStudy", "location", element.getLocation().get(i), i); + for (int i = 0; i < element.getRegion().size(); i++) { + composeCodeableConcept(t, "ResearchStudy", "region", element.getRegion().get(i), i); } if (element.hasDescriptionSummaryElement()) { composeMarkdown(t, "ResearchStudy", "descriptionSummary", element.getDescriptionSummaryElement(), -1); @@ -20660,32 +21986,20 @@ public class RdfParser extends RdfParserBase { if (element.hasPeriod()) { composePeriod(t, "ResearchStudy", "period", element.getPeriod(), -1); } - for (int i = 0; i < element.getContact().size(); i++) { - composeContactDetail(t, "ResearchStudy", "contact", element.getContact().get(i), i); - } - if (element.hasSponsor()) { - composeReference(t, "ResearchStudy", "sponsor", element.getSponsor(), -1); - } - if (element.hasPrincipalInvestigator()) { - composeReference(t, "ResearchStudy", "principalInvestigator", element.getPrincipalInvestigator(), -1); - } for (int i = 0; i < element.getSite().size(); i++) { composeReference(t, "ResearchStudy", "site", element.getSite().get(i), i); } for (int i = 0; i < element.getNote().size(); i++) { composeAnnotation(t, "ResearchStudy", "note", element.getNote().get(i), i); } - for (int i = 0; i < element.getClassification().size(); i++) { - composeResearchStudyClassificationComponent(t, "ResearchStudy", "classification", element.getClassification().get(i), i); + for (int i = 0; i < element.getClassifier().size(); i++) { + composeCodeableConcept(t, "ResearchStudy", "classifier", element.getClassifier().get(i), i); } for (int i = 0; i < element.getAssociatedParty().size(); i++) { composeResearchStudyAssociatedPartyComponent(t, "ResearchStudy", "associatedParty", element.getAssociatedParty().get(i), i); } - for (int i = 0; i < element.getCurrentState().size(); i++) { - composeCodeableConcept(t, "ResearchStudy", "currentState", element.getCurrentState().get(i), i); - } - for (int i = 0; i < element.getStatusDate().size(); i++) { - composeResearchStudyStatusDateComponent(t, "ResearchStudy", "statusDate", element.getStatusDate().get(i), i); + for (int i = 0; i < element.getProgressStatus().size(); i++) { + composeResearchStudyProgressStatusComponent(t, "ResearchStudy", "progressStatus", element.getProgressStatus().get(i), i); } if (element.hasWhyStopped()) { composeCodeableConcept(t, "ResearchStudy", "whyStopped", element.getWhyStopped(), -1); @@ -20749,24 +22063,6 @@ public class RdfParser extends RdfParserBase { } } - protected void composeResearchStudyClassificationComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyClassificationComponent element, int index) { - if (element == null) - return; - Complex t; - if (Utilities.noString(parentType)) - t = parent; - else { - t = parent.predicate("fhir:"+parentType+'.'+name); - } - composeBackboneElement(t, "classification", name, element, index); - if (element.hasType()) { - composeCodeableConcept(t, "ResearchStudyClassificationComponent", "type", element.getType(), -1); - } - for (int i = 0; i < element.getClassifier().size(); i++) { - composeCodeableConcept(t, "ResearchStudyClassificationComponent", "classifier", element.getClassifier().get(i), i); - } - } - protected void composeResearchStudyAssociatedPartyComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyAssociatedPartyComponent element, int index) { if (element == null) return; @@ -20794,7 +22090,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composeResearchStudyStatusDateComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyStatusDateComponent element, int index) { + protected void composeResearchStudyProgressStatusComponent(Complex parent, String parentType, String name, ResearchStudy.ResearchStudyProgressStatusComponent element, int index) { if (element == null) return; Complex t; @@ -20803,15 +22099,15 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeBackboneElement(t, "statusDate", name, element, index); - if (element.hasActivity()) { - composeCodeableConcept(t, "ResearchStudyStatusDateComponent", "activity", element.getActivity(), -1); + composeBackboneElement(t, "progressStatus", name, element, index); + if (element.hasState()) { + composeCodeableConcept(t, "ResearchStudyProgressStatusComponent", "state", element.getState(), -1); } if (element.hasActualElement()) { - composeBoolean(t, "ResearchStudyStatusDateComponent", "actual", element.getActualElement(), -1); + composeBoolean(t, "ResearchStudyProgressStatusComponent", "actual", element.getActualElement(), -1); } if (element.hasPeriod()) { - composePeriod(t, "ResearchStudyStatusDateComponent", "period", element.getPeriod(), -1); + composePeriod(t, "ResearchStudyProgressStatusComponent", "period", element.getPeriod(), -1); } } @@ -21116,6 +22412,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getSpecialty().size(); i++) { composeCodeableConcept(t, "Schedule", "specialty", element.getSpecialty().get(i), i); } + if (element.hasNameElement()) { + composeString(t, "Schedule", "name", element.getNameElement(), -1); + } for (int i = 0; i < element.getActor().size(); i++) { composeReference(t, "Schedule", "actor", element.getActor().get(i), i); } @@ -21143,6 +22442,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "SearchParameter", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "SearchParameter", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "SearchParameter", "name", element.getNameElement(), -1); } @@ -21183,7 +22485,7 @@ public class RdfParser extends RdfParserBase { composeCode(t, "SearchParameter", "code", element.getCodeElement(), -1); } for (int i = 0; i < element.getBase().size(); i++) { - composeCode(t, "SearchParameter", "base", element.getBase().get(i), i); + composeEnum(t, "SearchParameter", "base", element.getBase().get(i), i); } if (element.hasTypeElement()) { composeEnum(t, "SearchParameter", "type", element.getTypeElement(), -1); @@ -21191,11 +22493,11 @@ public class RdfParser extends RdfParserBase { if (element.hasExpressionElement()) { composeString(t, "SearchParameter", "expression", element.getExpressionElement(), -1); } - if (element.hasXpathElement()) { - composeString(t, "SearchParameter", "xpath", element.getXpathElement(), -1); + if (element.hasProcessingModeElement()) { + composeEnum(t, "SearchParameter", "processingMode", element.getProcessingModeElement(), -1); } - if (element.hasXpathUsageElement()) { - composeEnum(t, "SearchParameter", "xpathUsage", element.getXpathUsageElement(), -1); + if (element.hasConstraintElement()) { + composeString(t, "SearchParameter", "constraint", element.getConstraintElement(), -1); } for (int i = 0; i < element.getTarget().size(); i++) { composeCode(t, "SearchParameter", "target", element.getTarget().get(i), i); @@ -21282,7 +22584,7 @@ public class RdfParser extends RdfParserBase { composeBoolean(t, "ServiceRequest", "doNotPerform", element.getDoNotPerformElement(), -1); } if (element.hasCode()) { - composeCodeableConcept(t, "ServiceRequest", "code", element.getCode(), -1); + composeCodeableReference(t, "ServiceRequest", "code", element.getCode(), -1); } for (int i = 0; i < element.getOrderDetail().size(); i++) { composeCodeableConcept(t, "ServiceRequest", "orderDetail", element.getOrderDetail().get(i), i); @@ -21428,6 +22730,12 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getRequest().size(); i++) { composeReference(t, "Specimen", "request", element.getRequest().get(i), i); } + if (element.hasCombinedElement()) { + composeEnum(t, "Specimen", "combined", element.getCombinedElement(), -1); + } + for (int i = 0; i < element.getRole().size(); i++) { + composeCodeableConcept(t, "Specimen", "role", element.getRole().get(i), i); + } for (int i = 0; i < element.getFeature().size(); i++) { composeSpecimenFeatureComponent(t, "Specimen", "feature", element.getFeature().get(i), i); } @@ -21564,7 +22872,7 @@ public class RdfParser extends RdfParserBase { composeUri(t, "SpecimenDefinition", "url", element.getUrlElement(), -1); } if (element.hasIdentifier()) { - composeIdentifier(t, "SpecimenDefinition", "identifier", element.getIdentifier(), -1); + composeIdentifier(t, "SpecimenDefinition", "identifier", element.getIdentifierFirstRep(), -1); } if (element.hasVersionElement()) { composeString(t, "SpecimenDefinition", "version", element.getVersionElement(), -1); @@ -21773,6 +23081,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "StructureDefinition", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "StructureDefinition", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "StructureDefinition", "name", element.getNameElement(), -1); } @@ -21809,6 +23120,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "StructureDefinition", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "StructureDefinition", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } for (int i = 0; i < element.getKeyword().size(); i++) { composeCoding(t, "StructureDefinition", "keyword", element.getKeyword().get(i), i); } @@ -21938,6 +23252,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "StructureMap", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "StructureMap", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "StructureMap", "name", element.getNameElement(), -1); } @@ -21974,6 +23291,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "StructureMap", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "StructureMap", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } for (int i = 0; i < element.getStructure().size(); i++) { composeStructureMapStructureComponent(t, "StructureMap", "structure", element.getStructure().get(i), i); } @@ -22232,6 +23552,9 @@ public class RdfParser extends RdfParserBase { if (element.hasEndElement()) { composeInstant(t, "Subscription", "end", element.getEndElement(), -1); } + if (element.hasManagingEntity()) { + composeReference(t, "Subscription", "managingEntity", element.getManagingEntity(), -1); + } if (element.hasReasonElement()) { composeString(t, "Subscription", "reason", element.getReasonElement(), -1); } @@ -22400,6 +23723,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "SubscriptionTopic", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "SubscriptionTopic", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } if (element.hasApprovalDateElement()) { composeDate(t, "SubscriptionTopic", "approvalDate", element.getApprovalDateElement(), -1); } @@ -23633,8 +24959,8 @@ public class RdfParser extends RdfParserBase { if (element.hasType()) { composeCodeableConcept(t, "SupplyDelivery", "type", element.getType(), -1); } - if (element.hasSuppliedItem()) { - composeSupplyDeliverySuppliedItemComponent(t, "SupplyDelivery", "suppliedItem", element.getSuppliedItem(), -1); + for (int i = 0; i < element.getSuppliedItem().size(); i++) { + composeSupplyDeliverySuppliedItemComponent(t, "SupplyDelivery", "suppliedItem", element.getSuppliedItem().get(i), i); } if (element.hasOccurrence()) { composeType(t, "SupplyDelivery", "occurrence", element.getOccurrence(), -1); @@ -23775,7 +25101,7 @@ public class RdfParser extends RdfParserBase { composeEnum(t, "Task", "status", element.getStatusElement(), -1); } if (element.hasStatusReason()) { - composeCodeableConcept(t, "Task", "statusReason", element.getStatusReason(), -1); + composeCodeableReference(t, "Task", "statusReason", element.getStatusReason(), -1); } if (element.hasBusinessStatus()) { composeCodeableConcept(t, "Task", "businessStatus", element.getBusinessStatus(), -1); @@ -23786,6 +25112,9 @@ public class RdfParser extends RdfParserBase { if (element.hasPriorityElement()) { composeEnum(t, "Task", "priority", element.getPriorityElement(), -1); } + if (element.hasDoNotPerformElement()) { + composeBoolean(t, "Task", "doNotPerform", element.getDoNotPerformElement(), -1); + } if (element.hasCode()) { composeCodeableConcept(t, "Task", "code", element.getCode(), -1); } @@ -23801,6 +25130,9 @@ public class RdfParser extends RdfParserBase { if (element.hasEncounter()) { composeReference(t, "Task", "encounter", element.getEncounter(), -1); } + if (element.hasRequestedPeriod()) { + composePeriod(t, "Task", "requestedPeriod", element.getRequestedPeriod(), -1); + } if (element.hasExecutionPeriod()) { composePeriod(t, "Task", "executionPeriod", element.getExecutionPeriod(), -1); } @@ -23813,8 +25145,8 @@ public class RdfParser extends RdfParserBase { if (element.hasRequester()) { composeReference(t, "Task", "requester", element.getRequester(), -1); } - for (int i = 0; i < element.getPerformerType().size(); i++) { - composeCodeableConcept(t, "Task", "performerType", element.getPerformerType().get(i), i); + for (int i = 0; i < element.getRequestedPerformer().size(); i++) { + composeCodeableReference(t, "Task", "requestedPerformer", element.getRequestedPerformer().get(i), i); } if (element.hasOwner()) { composeReference(t, "Task", "owner", element.getOwner(), -1); @@ -23822,11 +25154,8 @@ public class RdfParser extends RdfParserBase { if (element.hasLocation()) { composeReference(t, "Task", "location", element.getLocation(), -1); } - if (element.hasReasonCode()) { - composeCodeableConcept(t, "Task", "reasonCode", element.getReasonCode(), -1); - } - if (element.hasReasonReference()) { - composeReference(t, "Task", "reasonReference", element.getReasonReference(), -1); + for (int i = 0; i < element.getReason().size(); i++) { + composeCodeableReference(t, "Task", "reason", element.getReason().get(i), i); } for (int i = 0; i < element.getInsurance().size(); i++) { composeReference(t, "Task", "insurance", element.getInsurance().get(i), i); @@ -23841,7 +25170,7 @@ public class RdfParser extends RdfParserBase { composeTaskRestrictionComponent(t, "Task", "restriction", element.getRestriction(), -1); } for (int i = 0; i < element.getInput().size(); i++) { - composeTaskParameterComponent(t, "Task", "input", element.getInput().get(i), i); + composeTaskInputComponent(t, "Task", "input", element.getInput().get(i), i); } for (int i = 0; i < element.getOutput().size(); i++) { composeTaskOutputComponent(t, "Task", "output", element.getOutput().get(i), i); @@ -23869,7 +25198,7 @@ public class RdfParser extends RdfParserBase { } } - protected void composeTaskParameterComponent(Complex parent, String parentType, String name, Task.ParameterComponent element, int index) { + protected void composeTaskInputComponent(Complex parent, String parentType, String name, Task.TaskInputComponent element, int index) { if (element == null) return; Complex t; @@ -23880,10 +25209,10 @@ public class RdfParser extends RdfParserBase { } composeBackboneElement(t, "input", name, element, index); if (element.hasType()) { - composeCodeableConcept(t, "ParameterComponent", "type", element.getType(), -1); + composeCodeableConcept(t, "TaskInputComponent", "type", element.getType(), -1); } if (element.hasValue()) { - composeType(t, "ParameterComponent", "value", element.getValue(), -1); + composeType(t, "TaskInputComponent", "value", element.getValue(), -1); } } @@ -24044,6 +25373,9 @@ public class RdfParser extends RdfParserBase { for (int i = 0; i < element.getVersion().size(); i++) { composeTerminologyCapabilitiesCodeSystemVersionComponent(t, "TerminologyCapabilitiesCodeSystemComponent", "version", element.getVersion().get(i), i); } + if (element.hasContentElement()) { + composeCode(t, "TerminologyCapabilitiesCodeSystemComponent", "content", element.getContentElement(), -1); + } if (element.hasSubsumptionElement()) { composeBoolean(t, "TerminologyCapabilitiesCodeSystemComponent", "subsumption", element.getSubsumptionElement(), -1); } @@ -24069,7 +25401,7 @@ public class RdfParser extends RdfParserBase { composeBoolean(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "compositional", element.getCompositionalElement(), -1); } for (int i = 0; i < element.getLanguage().size(); i++) { - composeCode(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "language", element.getLanguage().get(i), i); + composeEnum(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "language", element.getLanguage().get(i), i); } for (int i = 0; i < element.getFilter().size(); i++) { composeTerminologyCapabilitiesCodeSystemVersionFilterComponent(t, "TerminologyCapabilitiesCodeSystemVersionComponent", "filter", element.getFilter().get(i), i); @@ -24419,6 +25751,9 @@ public class RdfParser extends RdfParserBase { if (element.hasVersionElement()) { composeString(t, "TestScript", "version", element.getVersionElement(), -1); } + if (element.hasVersionAlgorithm()) { + composeType(t, "TestScript", "versionAlgorithm", element.getVersionAlgorithm(), -1); + } if (element.hasNameElement()) { composeString(t, "TestScript", "name", element.getNameElement(), -1); } @@ -24455,6 +25790,9 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "TestScript", "copyright", element.getCopyrightElement(), -1); } + if (element.hasCopyrightLabelElement()) { + composeString(t, "TestScript", "copyrightLabel", element.getCopyrightLabelElement(), -1); + } for (int i = 0; i < element.getOrigin().size(); i++) { composeTestScriptOriginComponent(t, "TestScript", "origin", element.getOrigin().get(i), i); } @@ -24840,7 +26178,7 @@ public class RdfParser extends RdfParserBase { composeString(t, "SetupActionAssertComponent", "requestURL", element.getRequestURLElement(), -1); } if (element.hasResourceElement()) { - composeEnum(t, "SetupActionAssertComponent", "resource", element.getResourceElement(), -1); + composeUri(t, "SetupActionAssertComponent", "resource", element.getResourceElement(), -1); } if (element.hasResponseElement()) { composeEnum(t, "SetupActionAssertComponent", "response", element.getResponseElement(), -1); @@ -25111,7 +26449,7 @@ public class RdfParser extends RdfParserBase { else { t = parent.predicate("fhir:"+parentType+'.'+name); } - composeCanonicalResource(t, "ValueSet", name, element, index); + composeMetadataResource(t, "ValueSet", name, element, index); if (element.hasUrlElement()) { composeUri(t, "ValueSet", "url", element.getUrlElement(), -1); } @@ -25160,6 +26498,33 @@ public class RdfParser extends RdfParserBase { if (element.hasCopyrightElement()) { composeMarkdown(t, "ValueSet", "copyright", element.getCopyrightElement(), -1); } + if (element.hasApprovalDateElement()) { + composeDate(t, "ValueSet", "approvalDate", element.getApprovalDateElement(), -1); + } + if (element.hasLastReviewDateElement()) { + composeDate(t, "ValueSet", "lastReviewDate", element.getLastReviewDateElement(), -1); + } + if (element.hasEffectivePeriod()) { + composePeriod(t, "ValueSet", "effectivePeriod", element.getEffectivePeriod(), -1); + } + for (int i = 0; i < element.getTopic().size(); i++) { + composeCodeableConcept(t, "ValueSet", "topic", element.getTopic().get(i), i); + } + for (int i = 0; i < element.getAuthor().size(); i++) { + composeContactDetail(t, "ValueSet", "author", element.getAuthor().get(i), i); + } + for (int i = 0; i < element.getEditor().size(); i++) { + composeContactDetail(t, "ValueSet", "editor", element.getEditor().get(i), i); + } + for (int i = 0; i < element.getReviewer().size(); i++) { + composeContactDetail(t, "ValueSet", "reviewer", element.getReviewer().get(i), i); + } + for (int i = 0; i < element.getEndorser().size(); i++) { + composeContactDetail(t, "ValueSet", "endorser", element.getEndorser().get(i), i); + } + for (int i = 0; i < element.getRelatedArtifact().size(); i++) { + composeRelatedArtifact(t, "ValueSet", "relatedArtifact", element.getRelatedArtifact().get(i), i); + } if (element.hasCompose()) { composeValueSetComposeComponent(t, "ValueSet", "compose", element.getCompose(), -1); } @@ -25265,6 +26630,9 @@ public class RdfParser extends RdfParserBase { if (element.hasUse()) { composeCoding(t, "ConceptReferenceDesignationComponent", "use", element.getUse(), -1); } + for (int i = 0; i < element.getAdditionalUse().size(); i++) { + composeCoding(t, "ConceptReferenceDesignationComponent", "additionalUse", element.getAdditionalUse().get(i), i); + } if (element.hasValueElement()) { composeString(t, "ConceptReferenceDesignationComponent", "value", element.getValueElement(), -1); } @@ -25304,6 +26672,9 @@ public class RdfParser extends RdfParserBase { if (element.hasIdentifierElement()) { composeUri(t, "ValueSetExpansionComponent", "identifier", element.getIdentifierElement(), -1); } + if (element.hasNextElement()) { + composeUri(t, "ValueSetExpansionComponent", "next", element.getNextElement(), -1); + } if (element.hasTimestampElement()) { composeDateTime(t, "ValueSetExpansionComponent", "timestamp", element.getTimestampElement(), -1); } @@ -25415,6 +26786,27 @@ public class RdfParser extends RdfParserBase { if (element.hasValue()) { composeType(t, "ConceptPropertyComponent", "value", element.getValue(), -1); } + for (int i = 0; i < element.getSubProperty().size(); i++) { + composeValueSetConceptSubPropertyComponent(t, "ConceptPropertyComponent", "subProperty", element.getSubProperty().get(i), i); + } + } + + protected void composeValueSetConceptSubPropertyComponent(Complex parent, String parentType, String name, ValueSet.ConceptSubPropertyComponent element, int index) { + if (element == null) + return; + Complex t; + if (Utilities.noString(parentType)) + t = parent; + else { + t = parent.predicate("fhir:"+parentType+'.'+name); + } + composeBackboneElement(t, "subProperty", name, element, index); + if (element.hasCodeElement()) { + composeCode(t, "ConceptSubPropertyComponent", "code", element.getCodeElement(), -1); + } + if (element.hasValue()) { + composeType(t, "ConceptSubPropertyComponent", "value", element.getValue(), -1); + } } protected void composeValueSetScopeComponent(Complex parent, String parentType, String name, ValueSet.ValueSetScopeComponent element, int index) { @@ -25700,6 +27092,8 @@ public class RdfParser extends RdfParserBase { composeAccount(parent, null, "Account", (Account)resource, -1); } else if (resource instanceof ActivityDefinition) { composeActivityDefinition(parent, null, "ActivityDefinition", (ActivityDefinition)resource, -1); + } else if (resource instanceof ActorDefinition) { + composeActorDefinition(parent, null, "ActorDefinition", (ActorDefinition)resource, -1); } else if (resource instanceof AdministrableProductDefinition) { composeAdministrableProductDefinition(parent, null, "AdministrableProductDefinition", (AdministrableProductDefinition)resource, -1); } else if (resource instanceof AdverseEvent) { @@ -25726,8 +27120,6 @@ public class RdfParser extends RdfParserBase { composeBundle(parent, null, "Bundle", (Bundle)resource, -1); } else if (resource instanceof CapabilityStatement) { composeCapabilityStatement(parent, null, "CapabilityStatement", (CapabilityStatement)resource, -1); - } else if (resource instanceof CapabilityStatement2) { - composeCapabilityStatement2(parent, null, "CapabilityStatement2", (CapabilityStatement2)resource, -1); } else if (resource instanceof CarePlan) { composeCarePlan(parent, null, "CarePlan", (CarePlan)resource, -1); } else if (resource instanceof CareTeam) { @@ -25820,6 +27212,8 @@ public class RdfParser extends RdfParserBase { composeFlag(parent, null, "Flag", (Flag)resource, -1); } else if (resource instanceof FormularyItem) { composeFormularyItem(parent, null, "FormularyItem", (FormularyItem)resource, -1); + } else if (resource instanceof GenomicStudy) { + composeGenomicStudy(parent, null, "GenomicStudy", (GenomicStudy)resource, -1); } else if (resource instanceof Goal) { composeGoal(parent, null, "Goal", (Goal)resource, -1); } else if (resource instanceof GraphDefinition) { @@ -25938,6 +27332,10 @@ public class RdfParser extends RdfParserBase { composeRelatedPerson(parent, null, "RelatedPerson", (RelatedPerson)resource, -1); } else if (resource instanceof RequestGroup) { composeRequestGroup(parent, null, "RequestGroup", (RequestGroup)resource, -1); + } else if (resource instanceof RequestOrchestration) { + composeRequestOrchestration(parent, null, "RequestOrchestration", (RequestOrchestration)resource, -1); + } else if (resource instanceof Requirements) { + composeRequirements(parent, null, "Requirements", (Requirements)resource, -1); } else if (resource instanceof ResearchStudy) { composeResearchStudy(parent, null, "ResearchStudy", (ResearchStudy)resource, -1); } else if (resource instanceof ResearchSubject) { @@ -26063,6 +27461,8 @@ public class RdfParser extends RdfParserBase { composeAnnotation(parent, parentType, name, (Annotation)value, index); } else if (value instanceof Attachment) { composeAttachment(parent, parentType, name, (Attachment)value, index); + } else if (value instanceof Availability) { + composeAvailability(parent, parentType, name, (Availability)value, index); } else if (value instanceof CodeableConcept) { composeCodeableConcept(parent, parentType, name, (CodeableConcept)value, index); } else if (value instanceof CodeableReference) { @@ -26101,6 +27501,8 @@ public class RdfParser extends RdfParserBase { composeMarketingStatus(parent, parentType, name, (MarketingStatus)value, index); } else if (value instanceof Meta) { composeMeta(parent, parentType, name, (Meta)value, index); + } else if (value instanceof MonetaryComponent) { + composeMonetaryComponent(parent, parentType, name, (MonetaryComponent)value, index); } else if (value instanceof Money) { composeMoney(parent, parentType, name, (Money)value, index); } else if (value instanceof Narrative) { @@ -26135,6 +27537,8 @@ public class RdfParser extends RdfParserBase { composeTriggerDefinition(parent, parentType, name, (TriggerDefinition)value, index); } else if (value instanceof UsageContext) { composeUsageContext(parent, parentType, name, (UsageContext)value, index); + } else if (value instanceof VirtualServiceDetail) { + composeVirtualServiceDetail(parent, parentType, name, (VirtualServiceDetail)value, index); } else { throw new Error("Unhandled type"); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java index d088e4bde..c8db4faa2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java @@ -30,7 +30,7 @@ package org.hl7.fhir.r5.formats; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent @@ -548,6 +548,88 @@ public class XmlParser extends XmlParserBase { return true; } + protected Availability parseAvailability(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Availability res = new Availability(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAvailabilityContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAvailabilityContent(int eventType, XmlPullParser xpp, Availability res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { + res.getAvailableTime().add(parseAvailabilityAvailableTimeComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailableTime")) { + res.getNotAvailableTime().add(parseAvailabilityNotAvailableTimeComponent(xpp)); + } else if (!parseDataTypeContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Availability.AvailabilityAvailableTimeComponent parseAvailabilityAvailableTimeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Availability.AvailabilityAvailableTimeComponent res = new Availability.AvailabilityAvailableTimeComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAvailabilityAvailableTimeComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAvailabilityAvailableTimeComponentContent(int eventType, XmlPullParser xpp, Availability.AvailabilityAvailableTimeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { + res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { + res.setAllDayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { + res.setAvailableStartTimeElement(parseTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { + res.setAvailableEndTimeElement(parseTime(xpp)); + } else if (!parseElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Availability.AvailabilityNotAvailableTimeComponent parseAvailabilityNotAvailableTimeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Availability.AvailabilityNotAvailableTimeComponent res = new Availability.AvailabilityNotAvailableTimeComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAvailabilityNotAvailableTimeComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAvailabilityNotAvailableTimeComponentContent(int eventType, XmlPullParser xpp, Availability.AvailabilityNotAvailableTimeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { + res.setDuring(parsePeriod(xpp)); + } else if (!parseElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected CodeableConcept parseCodeableConcept(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { CodeableConcept res = new CodeableConcept(); parseElementAttributes(xpp, res); @@ -757,7 +839,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseDataRequirementContent(int eventType, XmlPullParser xpp, DataRequirement res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { res.getProfile().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { @@ -768,6 +850,8 @@ public class XmlParser extends XmlParserBase { res.getCodeFilter().add(parseDataRequirementCodeFilterComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateFilter")) { res.getDateFilter().add(parseDataRequirementDateFilterComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueFilter")) { + res.getValueFilter().add(parseDataRequirementValueFilterComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("limit")) { res.setLimitElement(parsePositiveInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sort")) { @@ -836,6 +920,36 @@ public class XmlParser extends XmlParserBase { return true; } + protected DataRequirement.DataRequirementValueFilterComponent parseDataRequirementValueFilterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + DataRequirement.DataRequirementValueFilterComponent res = new DataRequirement.DataRequirementValueFilterComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseDataRequirementValueFilterComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseDataRequirementValueFilterComponentContent(int eventType, XmlPullParser xpp, DataRequirement.DataRequirementValueFilterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { + res.setPathElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { + res.setSearchParamElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comparator")) { + res.setComparatorElement(parseEnumeration(xpp, DataRequirement.ValueFilterComparator.NULL, new DataRequirement.ValueFilterComparatorEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { + res.setValue(parseType("value", xpp)); + } else if (!parseElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected DataRequirement.DataRequirementSortComponent parseDataRequirementSortComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { DataRequirement.DataRequirementSortComponent res = new DataRequirement.DataRequirementSortComponent(); parseElementAttributes(xpp, res); @@ -1235,9 +1349,11 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { res.setKeyElement(parseId(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirements")) { - res.setRequirementsElement(parseString(xpp)); + res.setRequirementsElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { res.setSeverityElement(parseEnumeration(xpp, ElementDefinition.ConstraintSeverity.NULL, new ElementDefinition.ConstraintSeverityEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suppress")) { + res.setSuppressElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("human")) { res.setHumanElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { @@ -1271,7 +1387,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("strength")) { res.setStrengthElement(parseEnumeration(xpp, Enumerations.BindingStrength.NULL, new Enumerations.BindingStrengthEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { - res.setDescriptionElement(parseString(xpp)); + res.setDescriptionElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { res.setValueSetElement(parseCanonical(xpp)); } else if (!parseElementContent(eventType, xpp, res)){ @@ -1303,7 +1419,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("map")) { res.setMapElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { - res.setCommentElement(parseString(xpp)); + res.setCommentElement(parseMarkdown(xpp)); } else if (!parseElementContent(eventType, xpp, res)){ return false; } @@ -1361,7 +1477,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { res.setPurpose(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setName(parseHumanName(xpp)); + res.getName().add(parseHumanName(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { res.getTelecom().add(parseContactPoint(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { @@ -1538,6 +1654,36 @@ public class XmlParser extends XmlParserBase { return true; } + protected MonetaryComponent parseMonetaryComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + MonetaryComponent res = new MonetaryComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseMonetaryComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseMonetaryComponentContent(int eventType, XmlPullParser xpp, MonetaryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setTypeElement(parseEnumeration(xpp, MonetaryComponent.PriceComponentType.NULL, new MonetaryComponent.PriceComponentTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.setCode(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { + res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { + res.setAmount(parseMoney(xpp)); + } else if (!parseDataTypeContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected Money parseMoney(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Money res = new Money(); parseElementAttributes(xpp, res); @@ -1617,7 +1763,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { res.setDocumentationElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { res.setProfileElement(parseCanonical(xpp)); } else if (!parseDataTypeContent(eventType, xpp, res)){ @@ -1884,6 +2030,10 @@ public class XmlParser extends XmlParserBase { res.setResourceElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceReference")) { res.setResourceReference(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationStatus")) { + res.setPublicationStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDate")) { + res.setPublicationDateElement(parseDate(xpp)); } else if (!parseDataTypeContent(eventType, xpp, res)){ return false; } @@ -1908,8 +2058,10 @@ public class XmlParser extends XmlParserBase { protected boolean parseSampledDataContent(int eventType, XmlPullParser xpp, SampledData res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { res.setOrigin(parseQuantity(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { - res.setPeriodElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interval")) { + res.setIntervalElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intervalUnit")) { + res.setIntervalUnitElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lowerLimit")) { @@ -2062,6 +2214,10 @@ public class XmlParser extends XmlParserBase { res.setTypeElement(parseEnumeration(xpp, TriggerDefinition.TriggerType.NULL, new TriggerDefinition.TriggerTypeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.setCode(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriptionTopic")) { + res.setSubscriptionTopicElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { res.setTiming(parseType("timing", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { @@ -2100,6 +2256,38 @@ public class XmlParser extends XmlParserBase { return true; } + protected VirtualServiceDetail parseVirtualServiceDetail(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + VirtualServiceDetail res = new VirtualServiceDetail(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseVirtualServiceDetailContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseVirtualServiceDetailContent(int eventType, XmlPullParser xpp, VirtualServiceDetail res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("channelType")) { + res.setChannelType(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "address")) { + res.setAddress(parseType("address", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalInfo")) { + res.getAdditionalInfo().add(parseUrl(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxParticipants")) { + res.setMaxParticipantsElement(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sessionKey")) { + res.setSessionKeyElement(parseString(xpp)); + } else if (!parseDataTypeContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected boolean parseCanonicalResourceContent(int eventType, XmlPullParser xpp, CanonicalResource res) throws XmlPullParserException, IOException, FHIRFormatError { if (!parseDomainResourceContent(eventType, xpp, res)){ return false; @@ -2182,8 +2370,14 @@ public class XmlParser extends XmlParserBase { res.setDescriptionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("guarantor")) { res.getGuarantor().add(parseAccountGuarantorComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { - res.setPartOf(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedAccount")) { + res.getRelatedAccount().add(parseAccountRelatedAccountComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currency")) { + res.setCurrency(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("balance")) { + res.getBalance().add(parseAccountBalanceComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("calculatedAt")) { + res.setCalculatedAtElement(parseInstant(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -2244,6 +2438,62 @@ public class XmlParser extends XmlParserBase { return true; } + protected Account.AccountRelatedAccountComponent parseAccountRelatedAccountComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Account.AccountRelatedAccountComponent res = new Account.AccountRelatedAccountComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAccountRelatedAccountComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAccountRelatedAccountComponentContent(int eventType, XmlPullParser xpp, Account.AccountRelatedAccountComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { + res.setRelationship(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { + res.setAccount(parseReference(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Account.AccountBalanceComponent parseAccountBalanceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Account.AccountBalanceComponent res = new Account.AccountBalanceComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAccountBalanceComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAccountBalanceComponentContent(int eventType, XmlPullParser xpp, Account.AccountBalanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("aggregate")) { + res.setAggregate(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { + res.setTerm(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("estimate")) { + res.setEstimateElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { + res.setAmount(parseMoney(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected ActivityDefinition parseActivityDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ActivityDefinition res = new ActivityDefinition(); parseResourceAttributes(xpp, res); @@ -2317,7 +2567,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("library")) { res.getLibrary().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { - res.setKindElement(parseEnumeration(xpp, ActivityDefinition.RequestResourceType.NULL, new ActivityDefinition.RequestResourceTypeEnumFactory())); + res.setKindElement(parseEnumeration(xpp, ActivityDefinition.RequestResourceTypes.NULL, new ActivityDefinition.RequestResourceTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { res.setProfileElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { @@ -2330,6 +2580,8 @@ public class XmlParser extends XmlParserBase { res.setDoNotPerformElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { res.setTiming(parseType("timing", xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { + res.setAsNeeded(parseType("asNeeded", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { res.setLocation(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { @@ -2343,11 +2595,11 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { res.getBodySite().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimenRequirement")) { - res.getSpecimenRequirement().add(parseReference(xpp)); + res.getSpecimenRequirement().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observationRequirement")) { - res.getObservationRequirement().add(parseReference(xpp)); + res.getObservationRequirement().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observationResultRequirement")) { - res.getObservationResultRequirement().add(parseReference(xpp)); + res.getObservationResultRequirement().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transform")) { res.setTransformElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dynamicValue")) { @@ -2376,6 +2628,8 @@ public class XmlParser extends XmlParserBase { protected boolean parseActivityDefinitionParticipantComponentContent(int eventType, XmlPullParser xpp, ActivityDefinition.ActivityDefinitionParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeCanonical")) { + res.setTypeCanonicalElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeReference")) { res.setTypeReference(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { @@ -2414,6 +2668,70 @@ public class XmlParser extends XmlParserBase { return true; } + protected ActorDefinition parseActorDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ActorDefinition res = new ActorDefinition(); + parseResourceAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseActorDefinitionContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseActorDefinitionContent(int eventType, XmlPullParser xpp, ActorDefinition res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { + res.setUrlElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { + res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { + res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { + res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { + res.setExperimentalElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { + res.setDateElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { + res.setPublisherElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { + res.getContact().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { + res.getUseContext().add(parseUsageContext(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { + res.getJurisdiction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { + res.setPurposeElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { + res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setTypeElement(parseEnumeration(xpp, Enumerations.ExampleScenarioActorType.NULL, new Enumerations.ExampleScenarioActorTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { + res.setDocumentationElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { + res.getReference().add(parseUrl(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("capabilities")) { + res.setCapabilitiesElement(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { + res.getDerivedFrom().add(parseCanonical(xpp)); + } else if (!parseCanonicalResourceContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected AdministrableProductDefinition parseAdministrableProductDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { AdministrableProductDefinition res = new AdministrableProductDefinition(); parseResourceAttributes(xpp, res); @@ -2622,6 +2940,8 @@ public class XmlParser extends XmlParserBase { res.setRecorder(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { res.getParticipant().add(parseAdverseEventParticipantComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { + res.getStudy().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expectedInResearchStudy")) { res.setExpectedInResearchStudyElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suspectEntity")) { @@ -2634,8 +2954,8 @@ public class XmlParser extends XmlParserBase { res.getMitigatingAction().add(parseAdverseEventMitigatingActionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { res.getSupportingInfo().add(parseAdverseEventSupportingInfoComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { - res.getStudy().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { + res.getNote().add(parseAnnotation(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -2954,6 +3274,8 @@ public class XmlParser extends XmlParserBase { res.setStatusElement(parseEnumeration(xpp, Appointment.AppointmentStatus.NULL, new Appointment.AppointmentStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cancellationReason")) { res.setCancellationReason(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { + res.getClass_().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceCategory")) { res.getServiceCategory().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { @@ -2970,8 +3292,14 @@ public class XmlParser extends XmlParserBase { res.setDescriptionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { res.getReplaces().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("virtualService")) { + res.getVirtualService().add(parseVirtualServiceDetail(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { res.getSupportingInformation().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("previousAppointment")) { + res.setPreviousAppointment(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("originatingAppointment")) { + res.setOriginatingAppointment(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { res.setStartElement(parseInstant(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { @@ -2996,6 +3324,12 @@ public class XmlParser extends XmlParserBase { res.getParticipant().add(parseAppointmentParticipantComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestedPeriod")) { res.getRequestedPeriod().add(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recurrenceId")) { + res.setRecurrenceIdElement(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("occurrenceChanged")) { + res.setOccurrenceChangedElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recurrenceTemplate")) { + res.getRecurrenceTemplate().add(parseAppointmentRecurrenceTemplateComponent(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -3034,6 +3368,140 @@ public class XmlParser extends XmlParserBase { return true; } + protected Appointment.AppointmentRecurrenceTemplateComponent parseAppointmentRecurrenceTemplateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAppointmentRecurrenceTemplateComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAppointmentRecurrenceTemplateComponentContent(int eventType, XmlPullParser xpp, Appointment.AppointmentRecurrenceTemplateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timezone")) { + res.setTimezone(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recurrenceType")) { + res.setRecurrenceType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastOccurrenceDate")) { + res.setLastOccurrenceDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("occurrenceCount")) { + res.setOccurrenceCountElement(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("occurrenceDate")) { + res.getOccurrenceDate().add(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("weeklyTemplate")) { + res.setWeeklyTemplate(parseAppointmentRecurrenceTemplateWeeklyTemplateComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("monthlyTemplate")) { + res.setMonthlyTemplate(parseAppointmentRecurrenceTemplateMonthlyTemplateComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("yearlyTemplate")) { + res.setYearlyTemplate(parseAppointmentRecurrenceTemplateYearlyTemplateComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excludingDate")) { + res.getExcludingDate().add(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excludingRecurrenceId")) { + res.getExcludingRecurrenceId().add(parsePositiveInt(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent parseAppointmentRecurrenceTemplateWeeklyTemplateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAppointmentRecurrenceTemplateWeeklyTemplateComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAppointmentRecurrenceTemplateWeeklyTemplateComponentContent(int eventType, XmlPullParser xpp, Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("monday")) { + res.setMondayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tuesday")) { + res.setTuesdayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("wednesday")) { + res.setWednesdayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("thursday")) { + res.setThursdayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("friday")) { + res.setFridayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("saturday")) { + res.setSaturdayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sunday")) { + res.setSundayElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("weekInterval")) { + res.setWeekIntervalElement(parsePositiveInt(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent parseAppointmentRecurrenceTemplateMonthlyTemplateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAppointmentRecurrenceTemplateMonthlyTemplateComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAppointmentRecurrenceTemplateMonthlyTemplateComponentContent(int eventType, XmlPullParser xpp, Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dayOfMonth")) { + res.setDayOfMonthElement(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nthWeekOfMonth")) { + res.setNthWeekOfMonth(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dayOfWeek")) { + res.setDayOfWeek(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("monthInterval")) { + res.setMonthIntervalElement(parsePositiveInt(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent parseAppointmentRecurrenceTemplateYearlyTemplateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent res = new Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseAppointmentRecurrenceTemplateYearlyTemplateComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseAppointmentRecurrenceTemplateYearlyTemplateComponentContent(int eventType, XmlPullParser xpp, Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("yearInterval")) { + res.setYearIntervalElement(parsePositiveInt(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected AppointmentResponse parseAppointmentResponse(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { AppointmentResponse res = new AppointmentResponse(); parseResourceAttributes(xpp, res); @@ -3054,6 +3522,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { res.setAppointment(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("proposedNewTime")) { + res.setProposedNewTimeElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("start")) { res.setStartElement(parseInstant(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { @@ -3066,6 +3536,12 @@ public class XmlParser extends XmlParserBase { res.setParticipantStatusElement(parseEnumeration(xpp, Enumerations.ParticipationStatus.NULL, new Enumerations.ParticipationStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("comment")) { res.setCommentElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recurring")) { + res.setRecurringElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("occurrenceDate")) { + res.setOccurrenceDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recurrenceId")) { + res.setRecurrenceIdElement(parsePositiveInt(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -3435,7 +3911,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productCategory")) { res.setProductCategory(parseCoding(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productCode")) { - res.setProductCode(parseCoding(xpp)); + res.setProductCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("parent")) { res.getParent().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { @@ -3642,6 +4118,8 @@ public class XmlParser extends XmlParserBase { res.getEntry().add(parseBundleEntryComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("signature")) { res.setSignature(parseSignature(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issues")) { + res.setIssues(parseResourceContained(xpp)); } else if (!parseResourceContent(eventType, xpp, res)){ return false; } @@ -3665,7 +4143,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseBundleLinkComponentContent(int eventType, XmlPullParser xpp, Bundle.BundleLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relation")) { - res.setRelationElement(parseString(xpp)); + res.setRelationElement(parseEnumeration(xpp, Bundle.LinkRelationTypes.NULL, new Bundle.LinkRelationTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { res.setUrlElement(parseUri(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -3820,6 +4298,8 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -3844,6 +4324,8 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { res.setKindElement(parseEnumeration(xpp, Enumerations.CapabilityStatementKind.NULL, new Enumerations.CapabilityStatementKindEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiates")) { @@ -3860,6 +4342,8 @@ public class XmlParser extends XmlParserBase { res.getFormat().add(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patchFormat")) { res.getPatchFormat().add(parseCode(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("acceptLanguage")) { + res.getAcceptLanguage().add(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementationGuide")) { res.getImplementationGuide().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rest")) { @@ -3947,7 +4431,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseCapabilityStatementRestComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement.CapabilityStatementRestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { - res.setModeElement(parseEnumeration(xpp, Enumerations.RestfulCapabilityMode.NULL, new Enumerations.RestfulCapabilityModeEnumFactory())); + res.setModeElement(parseEnumeration(xpp, CapabilityStatement.RestfulCapabilityMode.NULL, new CapabilityStatement.RestfulCapabilityModeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { res.setDocumentationElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { @@ -4034,6 +4518,8 @@ public class XmlParser extends XmlParserBase { res.setConditionalReadElement(parseEnumeration(xpp, CapabilityStatement.ConditionalReadStatus.NULL, new CapabilityStatement.ConditionalReadStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalUpdate")) { res.setConditionalUpdateElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalPatch")) { + res.setConditionalPatchElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conditionalDelete")) { res.setConditionalDeleteElement(parseEnumeration(xpp, CapabilityStatement.ConditionalDeleteStatus.NULL, new CapabilityStatement.ConditionalDeleteStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referencePolicy")) { @@ -4272,352 +4758,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected CapabilityStatement2 parseCapabilityStatement2(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2 res = new CapabilityStatement2(); - parseResourceAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2Content(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2Content(int eventType, XmlPullParser xpp, CapabilityStatement2 res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { - res.setUrlElement(parseUri(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { - res.setVersionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { - res.setTitleElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { - res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { - res.setExperimentalElement(parseBoolean(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { - res.setDateElement(parseDateTime(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { - res.setPublisherElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { - res.getContact().add(parseContactDetail(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { - res.setDescriptionElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { - res.getUseContext().add(parseUsageContext(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { - res.getJurisdiction().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { - res.setPurposeElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { - res.setCopyrightElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { - res.setKindElement(parseEnumeration(xpp, Enumerations.CapabilityStatementKind.NULL, new Enumerations.CapabilityStatementKindEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiates")) { - res.getInstantiates().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imports")) { - res.getImports().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("software")) { - res.setSoftware(parseCapabilityStatement2SoftwareComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementation")) { - res.setImplementation(parseCapabilityStatement2ImplementationComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { - res.setFhirVersionElement(parseEnumeration(xpp, Enumerations.FHIRVersion.NULL, new Enumerations.FHIRVersionEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("format")) { - res.getFormat().add(parseCode(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patchFormat")) { - res.getPatchFormat().add(parseCode(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("implementationGuide")) { - res.getImplementationGuide().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rest")) { - res.getRest().add(parseCapabilityStatement2RestComponent(xpp)); - } else if (!parseCanonicalResourceContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2SoftwareComponent parseCapabilityStatement2SoftwareComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2SoftwareComponent res = new CapabilityStatement2.CapabilityStatement2SoftwareComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2SoftwareComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2SoftwareComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2SoftwareComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { - res.setVersionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("releaseDate")) { - res.setReleaseDateElement(parseDateTime(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2ImplementationComponent parseCapabilityStatement2ImplementationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2ImplementationComponent res = new CapabilityStatement2.CapabilityStatement2ImplementationComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2ImplementationComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2ImplementationComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2ImplementationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { - res.setDescriptionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { - res.setUrlElement(parseUrl(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { - res.setCustodian(parseReference(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2RestComponent parseCapabilityStatement2RestComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestComponent res = new CapabilityStatement2.CapabilityStatement2RestComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2RestComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2RestComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2RestComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("mode")) { - res.setModeElement(parseEnumeration(xpp, Enumerations.RestfulCapabilityMode.NULL, new Enumerations.RestfulCapabilityModeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { - res.getResource().add(parseCapabilityStatement2RestResourceComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { - res.getInteraction().add(parseCapabilityStatement2SystemInteractionComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { - res.getSearchParam().add(parseCapabilityStatement2RestResourceSearchParamComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { - res.getOperation().add(parseCapabilityStatement2RestResourceOperationComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compartment")) { - res.getCompartment().add(parseCanonical(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2RestFeatureComponent parseCapabilityStatement2RestFeatureComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestFeatureComponent res = new CapabilityStatement2.CapabilityStatement2RestFeatureComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2RestFeatureComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2RestFeatureComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2RestFeatureComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCodeElement(parseEnumeration(xpp, CapabilityStatement2.CapabilityFeature.NULL, new CapabilityStatement2.CapabilityFeatureEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { - res.setValueElement(parseEnumeration(xpp, CapabilityStatement2.CapabilityFeatureValue.NULL, new CapabilityStatement2.CapabilityFeatureValueEnumFactory())); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2RestResourceComponent parseCapabilityStatement2RestResourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestResourceComponent res = new CapabilityStatement2.CapabilityStatement2RestResourceComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2RestResourceComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2RestResourceComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2RestResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseCode(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { - res.setProfileElement(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportedProfile")) { - res.getSupportedProfile().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interaction")) { - res.getInteraction().add(parseCapabilityStatement2ResourceInteractionComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchParam")) { - res.getSearchParam().add(parseCapabilityStatement2RestResourceSearchParamComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { - res.getOperation().add(parseCapabilityStatement2RestResourceOperationComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.ResourceInteractionComponent parseCapabilityStatement2ResourceInteractionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.ResourceInteractionComponent res = new CapabilityStatement2.ResourceInteractionComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2ResourceInteractionComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2ResourceInteractionComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.ResourceInteractionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCodeElement(parseEnumeration(xpp, CapabilityStatement2.TypeRestfulInteraction.NULL, new CapabilityStatement2.TypeRestfulInteractionEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent parseCapabilityStatement2RestResourceSearchParamComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent res = new CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2RestResourceSearchParamComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2RestResourceSearchParamComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { - res.setDefinitionElement(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent parseCapabilityStatement2RestResourceOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent res = new CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2RestResourceOperationComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2RestResourceOperationComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { - res.setDefinitionElement(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected CapabilityStatement2.SystemInteractionComponent parseCapabilityStatement2SystemInteractionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - CapabilityStatement2.SystemInteractionComponent res = new CapabilityStatement2.SystemInteractionComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCapabilityStatement2SystemInteractionComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCapabilityStatement2SystemInteractionComponentContent(int eventType, XmlPullParser xpp, CapabilityStatement2.SystemInteractionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCodeElement(parseEnumeration(xpp, CapabilityStatement2.SystemRestfulInteraction.NULL, new CapabilityStatement2.SystemRestfulInteractionEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { - res.getFeature().add(parseCapabilityStatement2RestFeatureComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected CarePlan parseCarePlan(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { CarePlan res = new CarePlan(); parseResourceAttributes(xpp, res); @@ -4876,8 +5016,8 @@ public class XmlParser extends XmlParserBase { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { res.setSubject(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("context")) { - res.setContext(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.setEncounter(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { res.setOccurrence(parseType("occurrence", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { @@ -4892,12 +5032,12 @@ public class XmlParser extends XmlParserBase { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodysite")) { res.getBodysite().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factorOverride")) { - res.setFactorOverrideElement(parseDecimal(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priceOverride")) { - res.setPriceOverride(parseMoney(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPriceComponent")) { + res.setUnitPriceComponent(parseMonetaryComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalPriceComponent")) { + res.setTotalPriceComponent(parseMonetaryComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("overrideReason")) { - res.setOverrideReasonElement(parseString(xpp)); + res.setOverrideReason(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { res.setEnterer(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enteredDate")) { @@ -4905,7 +5045,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { res.getReason().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("service")) { - res.getService().add(parseReference(xpp)); + res.getService().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("product")) { res.getProduct().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { @@ -4968,6 +5108,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { + res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFromUri")) { @@ -4992,14 +5134,14 @@ public class XmlParser extends XmlParserBase { res.getUseContext().add(parseUsageContext(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { res.getJurisdiction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { + res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { res.setApprovalDateElement(parseDate(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { res.setLastReviewDateElement(parseDate(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { - res.setEffectivePeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { @@ -5030,12 +5172,12 @@ public class XmlParser extends XmlParserBase { } protected boolean parseChargeItemDefinitionApplicabilityComponentContent(int eventType, XmlPullParser xpp, ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { - res.setDescriptionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { - res.setLanguageElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { - res.setExpressionElement(parseString(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { + res.setCondition(parseExpression(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { + res.setEffectivePeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { + res.setRelatedArtifact(parseRelatedArtifact(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -5061,37 +5203,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("applicability")) { res.getApplicability().add(parseChargeItemDefinitionApplicabilityComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priceComponent")) { - res.getPriceComponent().add(parseChargeItemDefinitionPropertyGroupPriceComponentComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent parseChargeItemDefinitionPropertyGroupPriceComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent res = new ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseChargeItemDefinitionPropertyGroupPriceComponentComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseChargeItemDefinitionPropertyGroupPriceComponentComponentContent(int eventType, XmlPullParser xpp, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.InvoicePriceComponentType.NULL, new Enumerations.InvoicePriceComponentTypeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCode(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { - res.setFactorElement(parseDecimal(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { - res.setAmount(parseMoney(xpp)); + res.getPriceComponent().add(parseMonetaryComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -5506,8 +5618,22 @@ public class XmlParser extends XmlParserBase { protected boolean parseCitationCitedArtifactPublicationFormComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publishedIn")) { res.setPublishedIn(parseCitationCitedArtifactPublicationFormPublishedInComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("periodicRelease")) { - res.setPeriodicRelease(parseCitationCitedArtifactPublicationFormPeriodicReleaseComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("citedMedium")) { + res.setCitedMedium(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("volume")) { + res.setVolumeElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issue")) { + res.setIssueElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDateYear")) { + res.setPublicationDateYearElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDateMonth")) { + res.setPublicationDateMonthElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDateDay")) { + res.setPublicationDateDayElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDateSeason")) { + res.setPublicationDateSeasonElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDateText")) { + res.setPublicationDateTextElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("articleDate")) { res.setArticleDateElement(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastRevisionDate")) { @@ -5564,70 +5690,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent parseCitationCitedArtifactPublicationFormPeriodicReleaseComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent res = new Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCitationCitedArtifactPublicationFormPeriodicReleaseComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCitationCitedArtifactPublicationFormPeriodicReleaseComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("citedMedium")) { - res.setCitedMedium(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("volume")) { - res.setVolumeElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issue")) { - res.setIssueElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateOfPublication")) { - res.setDateOfPublication(parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent res = new Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentContent(int eventType, XmlPullParser xpp, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { - res.setDateElement(parseDate(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("year")) { - res.setYearElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("month")) { - res.setMonthElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("day")) { - res.setDayElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("season")) { - res.setSeasonElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { - res.setTextElement(parseString(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected Citation.CitationCitedArtifactWebLocationComponent parseCitationCitedArtifactWebLocationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Citation.CitationCitedArtifactWebLocationComponent res = new Citation.CitationCitedArtifactWebLocationComponent(); parseElementAttributes(xpp, res); @@ -5856,8 +5918,12 @@ public class XmlParser extends XmlParserBase { res.setPayee(parseClaimPayeeComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referral")) { res.setReferral(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.getEncounter().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { res.setFacility(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisRelatedGroup")) { + res.setDiagnosisRelatedGroup(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { res.getCareTeam().add(parseClaimCareTeamComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { @@ -5870,6 +5936,8 @@ public class XmlParser extends XmlParserBase { res.getInsurance().add(parseClaimInsuranceComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accident")) { res.setAccident(parseClaimAccidentComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { res.getItem().add(parseClaimItemComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { @@ -5958,8 +6026,8 @@ public class XmlParser extends XmlParserBase { res.setResponsibleElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { res.setRole(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { - res.setQualification(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { + res.setSpecialty(parseCodeableConcept(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -6024,8 +6092,6 @@ public class XmlParser extends XmlParserBase { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onAdmission")) { res.setOnAdmission(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageCode")) { - res.setPackageCode(parseCodeableConcept(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -6160,6 +6226,8 @@ public class XmlParser extends XmlParserBase { res.setCategory(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { @@ -6168,20 +6236,22 @@ public class XmlParser extends XmlParserBase { res.setServiced(parseType("serviced", xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { res.setLocation(parseType("location", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { res.getUdi().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { - res.setBodySite(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { - res.getSubSite().add(parseCodeableConcept(xpp)); + res.getBodySite().add(parseClaimBodySiteComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.getEncounter().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { @@ -6192,6 +6262,32 @@ public class XmlParser extends XmlParserBase { return true; } + protected Claim.BodySiteComponent parseClaimBodySiteComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Claim.BodySiteComponent res = new Claim.BodySiteComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseClaimBodySiteComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseClaimBodySiteComponentContent(int eventType, XmlPullParser xpp, Claim.BodySiteComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { + res.getSite().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { + res.getSubSite().add(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected Claim.DetailComponent parseClaimDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Claim.DetailComponent res = new Claim.DetailComponent(); parseElementAttributes(xpp, res); @@ -6216,16 +6312,22 @@ public class XmlParser extends XmlParserBase { res.setCategory(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { res.getProgramCode().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { @@ -6262,16 +6364,22 @@ public class XmlParser extends XmlParserBase { res.setCategory(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { res.getProgramCode().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { @@ -6320,6 +6428,8 @@ public class XmlParser extends XmlParserBase { res.setRequest(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { res.setOutcomeElement(parseEnumeration(xpp, Enumerations.ClaimProcessingCodes.NULL, new Enumerations.ClaimProcessingCodesEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { res.setDispositionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { @@ -6328,6 +6438,10 @@ public class XmlParser extends XmlParserBase { res.setPreAuthPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payeeType")) { res.setPayeeType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.getEncounter().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisRelatedGroup")) { + res.setDiagnosisRelatedGroup(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { res.getItem().add(parseClaimResponseItemComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addItem")) { @@ -6378,6 +6492,8 @@ public class XmlParser extends XmlParserBase { res.setItemSequenceElement(parsePositiveInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { @@ -6438,6 +6554,8 @@ public class XmlParser extends XmlParserBase { res.setDetailSequenceElement(parsePositiveInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { @@ -6468,6 +6586,8 @@ public class XmlParser extends XmlParserBase { res.setSubDetailSequenceElement(parsePositiveInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -6500,8 +6620,12 @@ public class XmlParser extends XmlParserBase { res.getSubdetailSequence().add(parsePositiveInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { res.getProvider().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { + res.setRevenue(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { @@ -6516,14 +6640,16 @@ public class XmlParser extends XmlParserBase { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { - res.setBodySite(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { - res.getSubSite().add(parseCodeableConcept(xpp)); + res.getBodySite().add(parseClaimResponseBodySiteComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { @@ -6534,6 +6660,32 @@ public class XmlParser extends XmlParserBase { return true; } + protected ClaimResponse.BodySiteComponent parseClaimResponseBodySiteComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ClaimResponse.BodySiteComponent res = new ClaimResponse.BodySiteComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseClaimResponseBodySiteComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseClaimResponseBodySiteComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.BodySiteComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { + res.getSite().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { + res.getSubSite().add(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected ClaimResponse.AddedItemDetailComponent parseClaimResponseAddedItemDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ClaimResponse.AddedItemDetailComponent res = new ClaimResponse.AddedItemDetailComponent(); parseElementAttributes(xpp, res); @@ -6550,8 +6702,12 @@ public class XmlParser extends XmlParserBase { } protected boolean parseClaimResponseAddedItemDetailComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.AddedItemDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { + res.setRevenue(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { @@ -6560,10 +6716,14 @@ public class XmlParser extends XmlParserBase { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { @@ -6590,8 +6750,12 @@ public class XmlParser extends XmlParserBase { } protected boolean parseClaimResponseAddedItemSubDetailComponentContent(int eventType, XmlPullParser xpp, ClaimResponse.AddedItemSubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { + res.setRevenue(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { @@ -6600,10 +6764,14 @@ public class XmlParser extends XmlParserBase { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseClaimResponseAdjudicationComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -6802,6 +6970,8 @@ public class XmlParser extends XmlParserBase { res.setPrevious(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("problem")) { res.getProblem().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("changePattern")) { + res.setChangePattern(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocol")) { res.getProtocol().add(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("summary")) { @@ -6942,8 +7112,8 @@ public class XmlParser extends XmlParserBase { protected boolean parseClinicalUseDefinitionContraindicationOtherTherapyComponentContent(int eventType, XmlPullParser xpp, ClinicalUseDefinition.ClinicalUseDefinitionContraindicationOtherTherapyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationshipType")) { res.setRelationshipType(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("therapy")) { - res.setTherapy(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("treatment")) { + res.setTreatment(parseCodeableReference(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -7142,6 +7312,24 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { + res.setApprovalDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { + res.setLastReviewDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { + res.setEffectivePeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { + res.getTopic().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { + res.getAuthor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { + res.getEditor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { + res.getReviewer().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { + res.getEndorser().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { + res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caseSensitive")) { res.setCaseSensitiveElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("valueSet")) { @@ -7164,7 +7352,7 @@ public class XmlParser extends XmlParserBase { res.getProperty().add(parseCodeSystemPropertyComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("concept")) { res.getConcept().add(parseCodeSystemConceptDefinitionComponent(xpp)); - } else if (!parseCanonicalResourceContent(eventType, xpp, res)){ + } else if (!parseMetadataResourceContent(eventType, xpp, res)){ return false; } return true; @@ -7284,6 +7472,8 @@ public class XmlParser extends XmlParserBase { res.setLanguageElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { res.setUse(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalUse")) { + res.getAdditionalUse().add(parseCoding(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { res.setValueElement(parseString(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -7518,8 +7708,12 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { @@ -7570,6 +7764,10 @@ public class XmlParser extends XmlParserBase { res.getParam().add(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { res.setDocumentationElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("startParam")) { + res.setStartParamElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endParam")) { + res.setEndParamElement(parseUri(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -7595,7 +7793,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { - res.setIdentifier(parseIdentifier(xpp)); + res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { @@ -7605,7 +7803,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { res.getCategory().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { - res.setSubject(parseReference(xpp)); + res.getSubject().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.setEncounter(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { @@ -7620,8 +7818,6 @@ public class XmlParser extends XmlParserBase { res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { res.getNote().add(parseAnnotation(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("confidentiality")) { - res.setConfidentialityElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("attester")) { res.getAttester().add(parseCompositionAttesterComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("custodian")) { @@ -7782,6 +7978,24 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { + res.setApprovalDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { + res.setLastReviewDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { + res.setEffectivePeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { + res.getTopic().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { + res.getAuthor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { + res.getEditor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { + res.getReviewer().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { + res.getEndorser().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { + res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "sourceScope")) { res.setSourceScope(parseType("sourceScope", xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "targetScope")) { @@ -8401,7 +8615,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseConsentProvisionComponentContent(int eventType, XmlPullParser xpp, Consent.ProvisionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Consent.ConsentProvisionType.NULL, new Consent.ConsentProvisionTypeEnumFactory())); + res.setTypeElement(parseEnumeration(xpp, Enumerations.ConsentProvisionType.NULL, new Enumerations.ConsentProvisionTypeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { res.setPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { @@ -8473,7 +8687,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseConsentProvisionDataComponentContent(int eventType, XmlPullParser xpp, Consent.ProvisionDataComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaning")) { - res.setMeaningElement(parseEnumeration(xpp, Consent.ConsentDataMeaning.NULL, new Consent.ConsentDataMeaningEnumFactory())); + res.setMeaningElement(parseEnumeration(xpp, Enumerations.ConsentDataMeaning.NULL, new Enumerations.ConsentDataMeaningEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { res.setReference(parseReference(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -9108,6 +9322,10 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { + res.setKindElement(parseEnumeration(xpp, Coverage.Kind.NULL, new Coverage.KindEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentBy")) { + res.getPaymentBy().add(parseCoveragePaymentByComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("policyHolder")) { @@ -9115,7 +9333,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriber")) { res.setSubscriber(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subscriberId")) { - res.setSubscriberId(parseIdentifier(xpp)); + res.getSubscriberId().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("beneficiary")) { res.setBeneficiary(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dependent")) { @@ -9124,8 +9342,8 @@ public class XmlParser extends XmlParserBase { res.setRelationship(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { res.setPeriod(parsePeriod(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("payor")) { - res.getPayor().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurer")) { + res.setInsurer(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { res.getClass_().add(parseCoverageClassComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("order")) { @@ -9138,12 +9356,40 @@ public class XmlParser extends XmlParserBase { res.setSubrogationElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contract")) { res.getContract().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurancePlan")) { + res.setInsurancePlan(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } return true; } + protected Coverage.CoveragePaymentByComponent parseCoveragePaymentByComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Coverage.CoveragePaymentByComponent res = new Coverage.CoveragePaymentByComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseCoveragePaymentByComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseCoveragePaymentByComponentContent(int eventType, XmlPullParser xpp, Coverage.CoveragePaymentByComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("party")) { + res.setParty(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responsibility")) { + res.setResponsibilityElement(parseString(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected Coverage.ClassComponent parseCoverageClassComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Coverage.ClassComponent res = new Coverage.ClassComponent(); parseElementAttributes(xpp, res); @@ -9163,7 +9409,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { - res.setValueElement(parseString(xpp)); + res.setValue(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -9190,6 +9436,14 @@ public class XmlParser extends XmlParserBase { protected boolean parseCoverageCostToBeneficiaryComponentContent(int eventType, XmlPullParser xpp, Coverage.CostToBeneficiaryComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { + res.setCategory(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("network")) { + res.setNetwork(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unit")) { + res.setUnit(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { + res.setTerm(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { res.setValue(parseType("value", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("exception")) { @@ -9601,13 +9855,15 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { - res.setStatusElement(parseEnumeration(xpp, Enumerations.ObservationStatus.NULL, new Enumerations.ObservationStatusEnumFactory())); + res.setStatusElement(parseEnumeration(xpp, DetectedIssue.DetectedIssueStatus.NULL, new DetectedIssue.DetectedIssueStatusEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { + res.getCategory().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("severity")) { res.setSeverityElement(parseEnumeration(xpp, DetectedIssue.DetectedIssueSeverity.NULL, new DetectedIssue.DetectedIssueSeverityEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { - res.setPatient(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { + res.setSubject(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "identified")) { res.setIdentified(parseType("identified", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { @@ -9708,8 +9964,8 @@ public class XmlParser extends XmlParserBase { res.getUdiCarrier().add(parseDeviceUdiCarrierComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Device.FHIRDeviceStatus.NULL, new Device.FHIRDeviceStatusEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { - res.getStatusReason().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityStatus")) { + res.setAvailabilityStatus(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("biologicalSourceEvent")) { res.setBiologicalSourceEvent(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { @@ -9728,6 +9984,8 @@ public class XmlParser extends XmlParserBase { res.setModelNumberElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partNumber")) { res.setPartNumberElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { + res.getCategory().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { @@ -9736,10 +9994,8 @@ public class XmlParser extends XmlParserBase { res.getSpecialization().add(parseDeviceSpecializationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { res.getProperty().add(parseDevicePropertyComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { - res.setSubject(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operationalState")) { - res.getOperationalState().add(parseDeviceOperationalStateComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { + res.getOperation().add(parseDeviceOperationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("association")) { res.getAssociation().add(parseDeviceAssociationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { @@ -9752,8 +10008,8 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { res.getEndpoint().add(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { - res.getLink().add(parseDeviceLinkComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gateway")) { + res.getGateway().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { res.getNote().add(parseAnnotation(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("safety")) { @@ -9910,13 +10166,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected Device.DeviceOperationalStateComponent parseDeviceOperationalStateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Device.DeviceOperationalStateComponent res = new Device.DeviceOperationalStateComponent(); + protected Device.DeviceOperationComponent parseDeviceOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Device.DeviceOperationComponent res = new Device.DeviceOperationComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseDeviceOperationalStateComponentContent(eventType, xpp, res)) + if (!parseDeviceOperationComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -9925,7 +10181,7 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseDeviceOperationalStateComponentContent(int eventType, XmlPullParser xpp, Device.DeviceOperationalStateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parseDeviceOperationComponentContent(int eventType, XmlPullParser xpp, Device.DeviceOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatus(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { @@ -9937,7 +10193,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cycle")) { res.setCycle(parseCount(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("duration")) { - res.setDuration(parseCodeableConcept(xpp)); + res.setDuration(parseDuration(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -9974,32 +10230,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected Device.DeviceLinkComponent parseDeviceLinkComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Device.DeviceLinkComponent res = new Device.DeviceLinkComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseDeviceLinkComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseDeviceLinkComponentContent(int eventType, XmlPullParser xpp, Device.DeviceLinkComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relation")) { - res.setRelation(parseCoding(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedDevice")) { - res.setRelatedDevice(parseCodeableReference(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected DeviceDefinition parseDeviceDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { DeviceDefinition res = new DeviceDefinition(); parseResourceAttributes(xpp, res); @@ -10022,6 +10252,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udiDeviceIdentifier")) { res.getUdiDeviceIdentifier().add(parseDeviceDefinitionUdiDeviceIdentifierComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regulatoryIdentifier")) { + res.getRegulatoryIdentifier().add(parseDeviceDefinitionRegulatoryIdentifierComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partNumber")) { res.setPartNumberElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { @@ -10130,6 +10362,36 @@ public class XmlParser extends XmlParserBase { return true; } + protected DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent parseDeviceDefinitionRegulatoryIdentifierComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent res = new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseDeviceDefinitionRegulatoryIdentifierComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseDeviceDefinitionRegulatoryIdentifierComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setTypeElement(parseEnumeration(xpp, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierType.NULL, new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceIdentifier")) { + res.setDeviceIdentifierElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { + res.setIssuerElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { + res.setJurisdictionElement(parseUri(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected DeviceDefinition.DeviceDefinitionDeviceNameComponent parseDeviceDefinitionDeviceNameComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { DeviceDefinition.DeviceDefinitionDeviceNameComponent res = new DeviceDefinition.DeviceDefinitionDeviceNameComponent(); parseElementAttributes(xpp, res); @@ -10233,7 +10495,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("distributor")) { res.getDistributor().add(parseDeviceDefinitionPackagingDistributorComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udiDeviceIdentifier")) { - res.getUdiDeviceIdentifier().add(parseDeviceDefinitionPackagingUdiDeviceIdentifierComponent(xpp)); + res.getUdiDeviceIdentifier().add(parseDeviceDefinitionUdiDeviceIdentifierComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packaging")) { res.getPackaging().add(parseDeviceDefinitionPackagingComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -10268,62 +10530,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent parseDeviceDefinitionPackagingUdiDeviceIdentifierComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent res = new DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseDeviceDefinitionPackagingUdiDeviceIdentifierComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseDeviceDefinitionPackagingUdiDeviceIdentifierComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deviceIdentifier")) { - res.setDeviceIdentifierElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { - res.setIssuerElement(parseUri(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { - res.setJurisdictionElement(parseUri(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("marketDistribution")) { - res.setMarketDistribution(parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent res = new DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentContent(int eventType, XmlPullParser xpp, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("marketPeriod")) { - res.setMarketPeriod(parsePeriod(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subJurisdiction")) { - res.setSubJurisdictionElement(parseUri(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected DeviceDefinition.DeviceDefinitionVersionComponent parseDeviceDefinitionVersionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { DeviceDefinition.DeviceDefinitionVersionComponent res = new DeviceDefinition.DeviceDefinitionVersionComponent(); parseElementAttributes(xpp, res); @@ -10742,6 +10948,10 @@ public class XmlParser extends XmlParserBase { res.setPerformer(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { res.getReason().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeeded")) { + res.setAsNeededElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeededFor")) { + res.setAsNeededFor(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { res.getInsurance().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { @@ -10908,8 +11118,10 @@ public class XmlParser extends XmlParserBase { res.getResult().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { res.getNote().add(parseAnnotation(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imagingStudy")) { - res.getImagingStudy().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("study")) { + res.getStudy().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { + res.getSupportingInfo().add(parseDiagnosticReportSupportingInfoComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("media")) { res.getMedia().add(parseDiagnosticReportMediaComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("composition")) { @@ -10926,6 +11138,32 @@ public class XmlParser extends XmlParserBase { return true; } + protected DiagnosticReport.DiagnosticReportSupportingInfoComponent parseDiagnosticReportSupportingInfoComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + DiagnosticReport.DiagnosticReportSupportingInfoComponent res = new DiagnosticReport.DiagnosticReportSupportingInfoComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseDiagnosticReportSupportingInfoComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseDiagnosticReportSupportingInfoComponentContent(int eventType, XmlPullParser xpp, DiagnosticReport.DiagnosticReportSupportingInfoComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { + res.setReference(parseReference(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected DiagnosticReport.DiagnosticReportMediaComponent parseDiagnosticReportMediaComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { DiagnosticReport.DiagnosticReportMediaComponent res = new DiagnosticReport.DiagnosticReportMediaComponent(); parseElementAttributes(xpp, res); @@ -11080,8 +11318,6 @@ public class XmlParser extends XmlParserBase { res.getSecurityLabel().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { res.getContent().add(parseDocumentReferenceContentComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sourcePatientInfo")) { - res.setSourcePatientInfo(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -11215,15 +11451,15 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusHistory")) { res.getStatusHistory().add(parseEncounterStatusHistoryComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("class")) { - res.setClass_(parseCodeableConcept(xpp)); + res.getClass_().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classHistory")) { res.getClassHistory().add(parseEncounterClassHistoryComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { + res.setPriority(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceType")) { - res.setServiceType(parseCodeableReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { - res.setPriority(parseCodeableConcept(xpp)); + res.getServiceType().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { res.setSubject(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subjectStatus")) { @@ -11232,10 +11468,18 @@ public class XmlParser extends XmlParserBase { res.getEpisodeOfCare().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { res.getBasedOn().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { + res.getCareTeam().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { + res.setPartOf(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvider")) { + res.setServiceProvider(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { res.getParticipant().add(parseEncounterParticipantComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointment")) { res.getAppointment().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("virtualService")) { + res.getVirtualService().add(parseVirtualServiceDetail(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actualPeriod")) { res.setActualPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("plannedStartDate")) { @@ -11250,14 +11494,10 @@ public class XmlParser extends XmlParserBase { res.getDiagnosis().add(parseEncounterDiagnosisComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { res.getAccount().add(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hospitalization")) { - res.setHospitalization(parseEncounterHospitalizationComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("admission")) { + res.setAdmission(parseEncounterAdmissionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { res.getLocation().add(parseEncounterLocationComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvider")) { - res.setServiceProvider(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { - res.setPartOf(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -11372,13 +11612,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected Encounter.EncounterHospitalizationComponent parseEncounterHospitalizationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Encounter.EncounterHospitalizationComponent res = new Encounter.EncounterHospitalizationComponent(); + protected Encounter.EncounterAdmissionComponent parseEncounterAdmissionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Encounter.EncounterAdmissionComponent res = new Encounter.EncounterAdmissionComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseEncounterHospitalizationComponentContent(eventType, xpp, res)) + if (!parseEncounterAdmissionComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -11387,7 +11627,7 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseEncounterHospitalizationComponentContent(int eventType, XmlPullParser xpp, Encounter.EncounterHospitalizationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parseEncounterAdmissionComponentContent(int eventType, XmlPullParser xpp, Encounter.EncounterAdmissionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAdmissionIdentifier")) { res.setPreAdmissionIdentifier(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { @@ -11432,8 +11672,8 @@ public class XmlParser extends XmlParserBase { res.setLocation(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Encounter.EncounterLocationStatus.NULL, new Encounter.EncounterLocationStatusEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalType")) { - res.setPhysicalType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { + res.setForm(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { res.setPeriod(parsePeriod(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -11463,9 +11703,13 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Endpoint.EndpointStatus.NULL, new Endpoint.EndpointStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("connectionType")) { - res.getConnectionType().add(parseCoding(xpp)); + res.getConnectionType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("environmentType")) { + res.getEnvironmentType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { res.setManagingOrganization(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { @@ -11596,8 +11840,8 @@ public class XmlParser extends XmlParserBase { res.getReferralRequest().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careManager")) { res.setCareManager(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("team")) { - res.getTeam().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { + res.getCareTeam().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { res.getAccount().add(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -11649,7 +11893,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseEpisodeOfCareDiagnosisComponentContent(int eventType, XmlPullParser xpp, EpisodeOfCare.DiagnosisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { - res.setCondition(parseReference(xpp)); + res.setCondition(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { res.setRole(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rank")) { @@ -11802,8 +12046,8 @@ public class XmlParser extends XmlParserBase { res.getVariableDefinition().add(parseEvidenceVariableDefinitionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("synthesisType")) { res.setSynthesisType(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyType")) { - res.setStudyType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyDesign")) { + res.getStudyDesign().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statistic")) { res.getStatistic().add(parseEvidenceStatisticComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("certainty")) { @@ -12386,14 +12630,8 @@ public class XmlParser extends XmlParserBase { res.setDefinitionByTypeAndValue(parseEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definitionByCombination")) { res.setDefinitionByCombination(parseEvidenceVariableCharacteristicDefinitionByCombinationComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { - res.getMethod().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { - res.setDevice(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timeFromEvent")) { res.getTimeFromEvent().add(parseEvidenceVariableCharacteristicTimeFromEventComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupMeasure")) { - res.setGroupMeasureElement(parseEnumeration(xpp, EvidenceVariable.GroupMeasure.NULL, new EvidenceVariable.GroupMeasureEnumFactory())); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -12416,8 +12654,12 @@ public class XmlParser extends XmlParserBase { } protected boolean parseEvidenceVariableCharacteristicDefinitionByTypeAndValueComponentContent(int eventType, XmlPullParser xpp, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "type")) { - res.setType(parseType("type", xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { + res.getMethod().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { + res.setDevice(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { res.setValue(parseType("value", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offset")) { @@ -12536,8 +12778,12 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { @@ -12548,6 +12794,8 @@ public class XmlParser extends XmlParserBase { res.setPublisherElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { res.getContact().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { res.getUseContext().add(parseUsageContext(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { @@ -12556,14 +12804,14 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { res.getActor().add(parseExampleScenarioActorComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { res.getInstance().add(parseExampleScenarioInstanceComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("process")) { res.getProcess().add(parseExampleScenarioProcessComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("workflow")) { - res.getWorkflow().add(parseCanonical(xpp)); } else if (!parseCanonicalResourceContent(eventType, xpp, res)){ return false; } @@ -12586,12 +12834,12 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExampleScenarioActorComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioActorComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actorId")) { - res.setActorIdElement(parseString(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { + res.setKeyElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, ExampleScenario.ExampleScenarioActorType.NULL, new ExampleScenario.ExampleScenarioActorTypeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); + res.setTypeElement(parseEnumeration(xpp, Enumerations.ExampleScenarioActorType.NULL, new Enumerations.ExampleScenarioActorTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { res.setDescriptionElement(parseMarkdown(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -12616,14 +12864,20 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExampleScenarioInstanceComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceId")) { - res.setResourceIdElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseCode(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { + res.setKeyElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("structureType")) { + res.setStructureType(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("structureVersion")) { + res.setStructureVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "structureProfile")) { + res.setStructureProfile(parseType("structureProfile", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { res.setDescriptionElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { + res.setContent(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.getVersion().add(parseExampleScenarioInstanceVersionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("containedInstance")) { @@ -12650,10 +12904,12 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExampleScenarioInstanceVersionComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioInstanceVersionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { - res.setVersionIdElement(parseString(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { + res.setKeyElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { res.setDescriptionElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { + res.setContent(parseReference(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -12676,10 +12932,10 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExampleScenarioInstanceContainedInstanceComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resourceId")) { - res.setResourceIdElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionId")) { - res.setVersionIdElement(parseString(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instanceReference")) { + res.setInstanceReferenceElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("versionReference")) { + res.setVersionReferenceElement(parseString(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -12734,14 +12990,18 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExampleScenarioProcessStepComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioProcessStepComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("process")) { - res.getProcess().add(parseExampleScenarioProcessComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pause")) { - res.setPauseElement(parseBoolean(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { + res.setNumberElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("process")) { + res.setProcess(parseExampleScenarioProcessComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("workflow")) { + res.setWorkflowElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("operation")) { res.setOperation(parseExampleScenarioProcessStepOperationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("alternative")) { res.getAlternative().add(parseExampleScenarioProcessStepAlternativeComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("pause")) { + res.setPauseElement(parseBoolean(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -12764,12 +13024,10 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExampleScenarioProcessStepOperationComponentContent(int eventType, XmlPullParser xpp, ExampleScenario.ExampleScenarioProcessStepOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { - res.setNumberElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { - res.setNameElement(parseString(xpp)); + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("initiator")) { res.setInitiatorElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("receiver")) { @@ -12872,6 +13130,8 @@ public class XmlParser extends XmlParserBase { res.setPayee(parseExplanationOfBenefitPayeeComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referral")) { res.setReferral(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.getEncounter().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("facility")) { res.setFacility(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("claim")) { @@ -12880,12 +13140,16 @@ public class XmlParser extends XmlParserBase { res.setClaimResponse(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outcome")) { res.setOutcomeElement(parseEnumeration(xpp, Enumerations.ClaimProcessingCodes.NULL, new Enumerations.ClaimProcessingCodesEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { res.setDispositionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRef")) { res.getPreAuthRef().add(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("preAuthRefPeriod")) { res.getPreAuthRefPeriod().add(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("diagnosisRelatedGroup")) { + res.setDiagnosisRelatedGroup(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("careTeam")) { res.getCareTeam().add(parseExplanationOfBenefitCareTeamComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInfo")) { @@ -12900,6 +13164,8 @@ public class XmlParser extends XmlParserBase { res.getInsurance().add(parseExplanationOfBenefitInsuranceComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accident")) { res.setAccident(parseExplanationOfBenefitAccidentComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("item")) { res.getItem().add(parseExplanationOfBenefitItemComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("addItem")) { @@ -13004,8 +13270,8 @@ public class XmlParser extends XmlParserBase { res.setResponsibleElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { res.setRole(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { - res.setQualification(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { + res.setSpecialty(parseCodeableConcept(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -13070,8 +13336,6 @@ public class XmlParser extends XmlParserBase { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onAdmission")) { res.setOnAdmission(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageCode")) { - res.setPackageCode(parseCodeableConcept(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -13198,6 +13462,8 @@ public class XmlParser extends XmlParserBase { res.setCategory(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { @@ -13206,24 +13472,28 @@ public class XmlParser extends XmlParserBase { res.setServiced(parseType("serviced", xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { res.setLocation(parseType("location", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { res.getUdi().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { - res.setBodySite(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { - res.getSubSite().add(parseCodeableConcept(xpp)); + res.getBodySite().add(parseExplanationOfBenefitBodySiteComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.getEncounter().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { @@ -13234,6 +13504,32 @@ public class XmlParser extends XmlParserBase { return true; } + protected ExplanationOfBenefit.BodySiteComponent parseExplanationOfBenefitBodySiteComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ExplanationOfBenefit.BodySiteComponent res = new ExplanationOfBenefit.BodySiteComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseExplanationOfBenefitBodySiteComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseExplanationOfBenefitBodySiteComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.BodySiteComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { + res.getSite().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { + res.getSubSite().add(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected ExplanationOfBenefit.AdjudicationComponent parseExplanationOfBenefitAdjudicationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ExplanationOfBenefit.AdjudicationComponent res = new ExplanationOfBenefit.AdjudicationComponent(); parseElementAttributes(xpp, res); @@ -13288,22 +13584,30 @@ public class XmlParser extends XmlParserBase { res.setCategory(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { res.getProgramCode().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { res.getUdi().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { @@ -13338,22 +13642,30 @@ public class XmlParser extends XmlParserBase { res.setCategory(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { res.getProgramCode().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("udi")) { res.getUdi().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -13386,8 +13698,12 @@ public class XmlParser extends XmlParserBase { res.getSubDetailSequence().add(parsePositiveInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("provider")) { res.getProvider().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { + res.setRevenue(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programCode")) { @@ -13396,20 +13712,24 @@ public class XmlParser extends XmlParserBase { res.setServiced(parseType("serviced", xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "location")) { res.setLocation(parseType("location", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { - res.setBodySite(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { - res.getSubSite().add(parseCodeableConcept(xpp)); + res.getBodySite().add(parseExplanationOfBenefitBodySiteComponentA(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { @@ -13420,6 +13740,32 @@ public class XmlParser extends XmlParserBase { return true; } + protected ExplanationOfBenefit.BodySiteComponentA parseExplanationOfBenefitBodySiteComponentA(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ExplanationOfBenefit.BodySiteComponentA res = new ExplanationOfBenefit.BodySiteComponentA(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseExplanationOfBenefitBodySiteComponentAContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseExplanationOfBenefitBodySiteComponentAContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.BodySiteComponentA res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { + res.getSite().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subSite")) { + res.getSubSite().add(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected ExplanationOfBenefit.AddedItemDetailComponent parseExplanationOfBenefitAddedItemDetailComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ExplanationOfBenefit.AddedItemDetailComponent res = new ExplanationOfBenefit.AddedItemDetailComponent(); parseElementAttributes(xpp, res); @@ -13436,20 +13782,30 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExplanationOfBenefitAddedItemDetailComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AddedItemDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { + res.setRevenue(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subDetail")) { @@ -13476,20 +13832,30 @@ public class XmlParser extends XmlParserBase { } protected boolean parseExplanationOfBenefitAddedItemDetailSubDetailComponentContent(int eventType, XmlPullParser xpp, ExplanationOfBenefit.AddedItemDetailSubDetailComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("revenue")) { + res.setRevenue(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrService")) { res.setProductOrService(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productOrServiceEnd")) { + res.setProductOrServiceEnd(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("modifier")) { res.getModifier().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patientPaid")) { + res.setPatientPaid(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitPrice")) { res.setUnitPrice(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { res.setFactorElement(parseDecimal(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tax")) { + res.setTax(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("net")) { res.setNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("noteNumber")) { res.getNoteNumber().add(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("decision")) { + res.setDecision(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("adjudication")) { res.getAdjudication().add(parseExplanationOfBenefitAdjudicationComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -13842,6 +14208,222 @@ public class XmlParser extends XmlParserBase { return true; } + protected GenomicStudy parseGenomicStudy(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + GenomicStudy res = new GenomicStudy(); + parseResourceAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseGenomicStudyContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseGenomicStudyContent(int eventType, XmlPullParser xpp, GenomicStudy res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { + res.setStatus(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.getType().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { + res.setSubject(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.setEncounter(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("startDate")) { + res.setStartDateElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { + res.getBasedOn().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referrer")) { + res.setReferrer(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("interpreter")) { + res.getInterpreter().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { + res.getReason().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { + res.setInstantiatesCanonicalElement(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { + res.setInstantiatesUriElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { + res.getNote().add(parseAnnotation(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("analysis")) { + res.getAnalysis().add(parseGenomicStudyAnalysisComponent(xpp)); + } else if (!parseDomainResourceContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected GenomicStudy.GenomicStudyAnalysisComponent parseGenomicStudyAnalysisComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisComponent res = new GenomicStudy.GenomicStudyAnalysisComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseGenomicStudyAnalysisComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseGenomicStudyAnalysisComponentContent(int eventType, XmlPullParser xpp, GenomicStudy.GenomicStudyAnalysisComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("methodType")) { + res.getMethodType().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("changeType")) { + res.getChangeType().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("genomeBuild")) { + res.setGenomeBuild(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { + res.setInstantiatesCanonicalElement(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { + res.setInstantiatesUriElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { + res.setSubject(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { + res.getSpecimen().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { + res.setDateElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { + res.getNote().add(parseAnnotation(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("protocolPerformed")) { + res.setProtocolPerformed(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regionsStudied")) { + res.getRegionsStudied().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regionsCalled")) { + res.getRegionsCalled().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("input")) { + res.getInput().add(parseGenomicStudyAnalysisInputComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("output")) { + res.getOutput().add(parseGenomicStudyAnalysisOutputComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { + res.getPerformer().add(parseGenomicStudyAnalysisPerformerComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { + res.getDevice().add(parseGenomicStudyAnalysisDeviceComponent(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected GenomicStudy.GenomicStudyAnalysisInputComponent parseGenomicStudyAnalysisInputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisInputComponent res = new GenomicStudy.GenomicStudyAnalysisInputComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseGenomicStudyAnalysisInputComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseGenomicStudyAnalysisInputComponentContent(int eventType, XmlPullParser xpp, GenomicStudy.GenomicStudyAnalysisInputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("file")) { + res.setFile(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "generatedBy")) { + res.setGeneratedBy(parseType("generatedBy", xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected GenomicStudy.GenomicStudyAnalysisOutputComponent parseGenomicStudyAnalysisOutputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisOutputComponent res = new GenomicStudy.GenomicStudyAnalysisOutputComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseGenomicStudyAnalysisOutputComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseGenomicStudyAnalysisOutputComponentContent(int eventType, XmlPullParser xpp, GenomicStudy.GenomicStudyAnalysisOutputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("file")) { + res.setFile(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected GenomicStudy.GenomicStudyAnalysisPerformerComponent parseGenomicStudyAnalysisPerformerComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisPerformerComponent res = new GenomicStudy.GenomicStudyAnalysisPerformerComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseGenomicStudyAnalysisPerformerComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseGenomicStudyAnalysisPerformerComponentContent(int eventType, XmlPullParser xpp, GenomicStudy.GenomicStudyAnalysisPerformerComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { + res.setActor(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { + res.setRole(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected GenomicStudy.GenomicStudyAnalysisDeviceComponent parseGenomicStudyAnalysisDeviceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + GenomicStudy.GenomicStudyAnalysisDeviceComponent res = new GenomicStudy.GenomicStudyAnalysisDeviceComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseGenomicStudyAnalysisDeviceComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseGenomicStudyAnalysisDeviceComponentContent(int eventType, XmlPullParser xpp, GenomicStudy.GenomicStudyAnalysisDeviceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { + res.setDevice(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { + res.setFunction(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected Goal parseGoal(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Goal res = new Goal(); parseResourceAttributes(xpp, res); @@ -13944,8 +14526,12 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { @@ -14027,7 +14613,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseGraphDefinitionLinkTargetComponentContent(int eventType, XmlPullParser xpp, GraphDefinition.GraphDefinitionLinkTargetComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseCode(xpp)); + res.setTypeElement(parseEnumeration(xpp, Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("params")) { res.setParamsElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { @@ -14096,8 +14682,8 @@ public class XmlParser extends XmlParserBase { res.setActiveElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Group.GroupType.NULL, new Group.GroupTypeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { - res.setActualElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("membership")) { + res.setMembershipElement(parseEnumeration(xpp, Group.GroupMembershipBasis.NULL, new Group.GroupMembershipBasisEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { @@ -14248,6 +14834,8 @@ public class XmlParser extends XmlParserBase { res.setActiveElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("providedBy")) { res.setProvidedBy(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("offeredIn")) { + res.getOfferedIn().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { res.getCategory().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { @@ -14266,8 +14854,6 @@ public class XmlParser extends XmlParserBase { res.setPhoto(parseAttachment(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { res.getContact().add(parseExtendedContactDetail(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { - res.getTelecom().add(parseContactPoint(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coverageArea")) { res.getCoverageArea().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("serviceProvisionCode")) { @@ -14284,12 +14870,8 @@ public class XmlParser extends XmlParserBase { res.getReferralMethod().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("appointmentRequired")) { res.setAppointmentRequiredElement(parseBoolean(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { - res.getAvailableTime().add(parseHealthcareServiceAvailableTimeComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailable")) { - res.getNotAvailable().add(parseHealthcareServiceNotAvailableComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { - res.setAvailabilityExceptionsElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availability")) { + res.getAvailability().add(parseAvailability(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { res.getEndpoint().add(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -14324,62 +14906,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected HealthcareService.HealthcareServiceAvailableTimeComponent parseHealthcareServiceAvailableTimeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - HealthcareService.HealthcareServiceAvailableTimeComponent res = new HealthcareService.HealthcareServiceAvailableTimeComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseHealthcareServiceAvailableTimeComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseHealthcareServiceAvailableTimeComponentContent(int eventType, XmlPullParser xpp, HealthcareService.HealthcareServiceAvailableTimeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { - res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { - res.setAllDayElement(parseBoolean(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { - res.setAvailableStartTimeElement(parseTime(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { - res.setAvailableEndTimeElement(parseTime(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected HealthcareService.HealthcareServiceNotAvailableComponent parseHealthcareServiceNotAvailableComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - HealthcareService.HealthcareServiceNotAvailableComponent res = new HealthcareService.HealthcareServiceNotAvailableComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseHealthcareServiceNotAvailableComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseHealthcareServiceNotAvailableComponentContent(int eventType, XmlPullParser xpp, HealthcareService.HealthcareServiceNotAvailableComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { - res.setDescriptionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { - res.setDuring(parsePeriod(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected ImagingSelection parseImagingSelection(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ImagingSelection res = new ImagingSelection(); parseResourceAttributes(xpp, res); @@ -14420,10 +14946,14 @@ public class XmlParser extends XmlParserBase { res.getEndpoint().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("seriesUid")) { res.setSeriesUidElement(parseId(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("seriesNumber")) { + res.setSeriesNumberElement(parseUnsignedInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("frameOfReferenceUid")) { res.setFrameOfReferenceUidElement(parseId(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("bodySite")) { res.setBodySite(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { + res.getFocus().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instance")) { res.getInstance().add(parseImagingSelectionInstanceComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("imageRegion")) { @@ -14478,6 +15008,8 @@ public class XmlParser extends XmlParserBase { protected boolean parseImagingSelectionInstanceComponentContent(int eventType, XmlPullParser xpp, ImagingSelection.ImagingSelectionInstanceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uid")) { res.setUidElement(parseId(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("number")) { + res.setNumberElement(parseUnsignedInt(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sopClass")) { res.setSopClass(parseCoding(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subset")) { @@ -14516,8 +15048,8 @@ public class XmlParser extends XmlParserBase { return true; } - protected ImagingSelection.ImagingSelectionImageRegionComponent parseImagingSelectionImageRegionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - ImagingSelection.ImagingSelectionImageRegionComponent res = new ImagingSelection.ImagingSelectionImageRegionComponent(); + protected ImagingSelection.ImageRegionComponent parseImagingSelectionImageRegionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ImagingSelection.ImageRegionComponent res = new ImagingSelection.ImageRegionComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); @@ -14531,7 +15063,7 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseImagingSelectionImageRegionComponentContent(int eventType, XmlPullParser xpp, ImagingSelection.ImagingSelectionImageRegionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parseImagingSelectionImageRegionComponentContent(int eventType, XmlPullParser xpp, ImagingSelection.ImageRegionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("regionType")) { res.setRegionTypeElement(parseEnumeration(xpp, ImagingSelection.ImagingSelection3DGraphicType.NULL, new ImagingSelection.ImagingSelection3DGraphicTypeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coordinate")) { @@ -14720,10 +15252,6 @@ public class XmlParser extends XmlParserBase { protected boolean parseImmunizationContent(int eventType, XmlPullParser xpp, Immunization res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.getIdentifier().add(parseIdentifier(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { - res.getInstantiatesCanonical().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { - res.getInstantiatesUri().add(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { res.getBasedOn().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { @@ -14732,8 +15260,10 @@ public class XmlParser extends XmlParserBase { res.setStatusReason(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("vaccineCode")) { res.setVaccineCode(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administeredProduct")) { + res.setAdministeredProduct(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { - res.setManufacturer(parseReference(xpp)); + res.setManufacturer(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lotNumber")) { res.setLotNumberElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { @@ -14742,6 +15272,8 @@ public class XmlParser extends XmlParserBase { res.setPatient(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.setEncounter(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { + res.getSupportingInformation().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { res.setOccurrence(parseType("occurrence", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("primarySource")) { @@ -14766,10 +15298,8 @@ public class XmlParser extends XmlParserBase { res.setIsSubpotentElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subpotentReason")) { res.getSubpotentReason().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("education")) { - res.getEducation().add(parseImmunizationEducationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programEligibility")) { - res.getProgramEligibility().add(parseCodeableConcept(xpp)); + res.getProgramEligibility().add(parseImmunizationProgramEligibilityComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fundingSource")) { res.setFundingSource(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reaction")) { @@ -14808,13 +15338,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected Immunization.ImmunizationEducationComponent parseImmunizationEducationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Immunization.ImmunizationEducationComponent res = new Immunization.ImmunizationEducationComponent(); + protected Immunization.ImmunizationProgramEligibilityComponent parseImmunizationProgramEligibilityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Immunization.ImmunizationProgramEligibilityComponent res = new Immunization.ImmunizationProgramEligibilityComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseImmunizationEducationComponentContent(eventType, xpp, res)) + if (!parseImmunizationProgramEligibilityComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -14823,15 +15353,11 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseImmunizationEducationComponentContent(int eventType, XmlPullParser xpp, Immunization.ImmunizationEducationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentType")) { - res.setDocumentTypeElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { - res.setReferenceElement(parseUri(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publicationDate")) { - res.setPublicationDateElement(parseDateTime(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("presentationDate")) { - res.setPresentationDateElement(parseDateTime(xpp)); + protected boolean parseImmunizationProgramEligibilityComponentContent(int eventType, XmlPullParser xpp, Immunization.ImmunizationProgramEligibilityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("program")) { + res.setProgram(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("programStatus")) { + res.setProgramStatus(parseCodeableConcept(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -14964,10 +15490,6 @@ public class XmlParser extends XmlParserBase { protected boolean parseImmunizationRecommendationContent(int eventType, XmlPullParser xpp, ImmunizationRecommendation res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.getIdentifier().add(parseIdentifier(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { - res.getInstantiatesCanonical().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { - res.getInstantiatesUri().add(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { res.setPatient(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { @@ -15074,6 +15596,8 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -15096,6 +15620,8 @@ public class XmlParser extends XmlParserBase { res.getJurisdiction().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("packageId")) { res.setPackageIdElement(parseId(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("license")) { @@ -15138,6 +15664,8 @@ public class XmlParser extends XmlParserBase { res.setPackageIdElement(parseId(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { + res.setReasonElement(parseMarkdown(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -15252,8 +15780,10 @@ public class XmlParser extends XmlParserBase { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { res.setDescriptionElement(parseMarkdown(xpp)); - } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "example")) { - res.setExample(parseType("example", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isExample")) { + res.setIsExampleElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { + res.getProfile().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupingId")) { res.setGroupingIdElement(parseId(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -15278,8 +15808,10 @@ public class XmlParser extends XmlParserBase { } protected boolean parseImplementationGuideDefinitionPageComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionPageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "name")) { - res.setName(parseType("name", xpp)); + if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "source")) { + res.setSource(parseType("source", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { + res.setNameElement(parseUrl(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { res.setTitleElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("generation")) { @@ -15309,7 +15841,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseImplementationGuideDefinitionParameterComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ImplementationGuideDefinitionParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCodeElement(parseString(xpp)); + res.setCode(parseCoding(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { res.setValueElement(parseString(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -15396,8 +15928,10 @@ public class XmlParser extends XmlParserBase { protected boolean parseImplementationGuideManifestResourceComponentContent(int eventType, XmlPullParser xpp, ImplementationGuide.ManifestResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { res.setReference(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "example")) { - res.setExample(parseType("example", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("isExample")) { + res.setIsExampleElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("profile")) { + res.getProfile().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relativePath")) { res.setRelativePathElement(parseUrl(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -16010,6 +16544,10 @@ public class XmlParser extends XmlParserBase { res.setRecipient(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { res.setDateElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("creation")) { + res.setCreationElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "period")) { + res.setPeriod(parseType("period", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { res.getParticipant().add(parseInvoiceParticipantComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { @@ -16019,7 +16557,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lineItem")) { res.getLineItem().add(parseInvoiceLineItemComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalPriceComponent")) { - res.getTotalPriceComponent().add(parseInvoiceLineItemPriceComponentComponent(xpp)); + res.getTotalPriceComponent().add(parseMonetaryComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalNet")) { res.setTotalNet(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("totalGross")) { @@ -16078,40 +16616,12 @@ public class XmlParser extends XmlParserBase { protected boolean parseInvoiceLineItemComponentContent(int eventType, XmlPullParser xpp, Invoice.InvoiceLineItemComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequence")) { res.setSequenceElement(parsePositiveInt(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "serviced")) { + res.setServiced(parseType("serviced", xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "chargeItem")) { res.setChargeItem(parseType("chargeItem", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priceComponent")) { - res.getPriceComponent().add(parseInvoiceLineItemPriceComponentComponent(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected Invoice.InvoiceLineItemPriceComponentComponent parseInvoiceLineItemPriceComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Invoice.InvoiceLineItemPriceComponentComponent res = new Invoice.InvoiceLineItemPriceComponentComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseInvoiceLineItemPriceComponentComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseInvoiceLineItemPriceComponentComponentContent(int eventType, XmlPullParser xpp, Invoice.InvoiceLineItemPriceComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.InvoicePriceComponentType.NULL, new Enumerations.InvoicePriceComponentTypeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCode(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("factor")) { - res.setFactorElement(parseDecimal(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { - res.setAmount(parseMoney(xpp)); + res.getPriceComponent().add(parseMonetaryComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -16368,22 +16878,22 @@ public class XmlParser extends XmlParserBase { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { res.getContact().add(parseExtendedContactDetail(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { - res.getTelecom().add(parseContactPoint(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { res.setAddress(parseAddress(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("physicalType")) { - res.setPhysicalType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("form")) { + res.setForm(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("position")) { res.setPosition(parseLocationPositionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { res.setManagingOrganization(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { res.setPartOf(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("characteristic")) { + res.getCharacteristic().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("hoursOfOperation")) { - res.getHoursOfOperation().add(parseLocationHoursOfOperationComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { - res.setAvailabilityExceptionsElement(parseString(xpp)); + res.getHoursOfOperation().add(parseAvailability(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("virtualService")) { + res.getVirtualService().add(parseVirtualServiceDetail(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { res.getEndpoint().add(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -16420,36 +16930,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected Location.LocationHoursOfOperationComponent parseLocationHoursOfOperationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Location.LocationHoursOfOperationComponent res = new Location.LocationHoursOfOperationComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseLocationHoursOfOperationComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseLocationHoursOfOperationComponentContent(int eventType, XmlPullParser xpp, Location.LocationHoursOfOperationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { - res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { - res.setAllDayElement(parseBoolean(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("openingTime")) { - res.setOpeningTimeElement(parseTime(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("closingTime")) { - res.setClosingTimeElement(parseTime(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected ManufacturedItemDefinition parseManufacturedItemDefinition(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ManufacturedItemDefinition res = new ManufacturedItemDefinition(); parseResourceAttributes(xpp, res); @@ -16470,16 +16950,22 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { + res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturedDoseForm")) { res.setManufacturedDoseForm(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("unitOfPresentation")) { res.setUnitOfPresentation(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("manufacturer")) { res.getManufacturer().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("marketingStatus")) { + res.getMarketingStatus().add(parseMarketingStatus(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ingredient")) { res.getIngredient().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { res.getProperty().add(parseManufacturedItemDefinitionPropertyComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { + res.getComponent().add(parseManufacturedItemDefinitionComponentComponent(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } @@ -16512,6 +16998,70 @@ public class XmlParser extends XmlParserBase { return true; } + protected ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent parseManufacturedItemDefinitionComponentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent res = new ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseManufacturedItemDefinitionComponentComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseManufacturedItemDefinitionComponentComponentContent(int eventType, XmlPullParser xpp, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { + res.getFunction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { + res.getAmount().add(parseQuantity(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constituent")) { + res.getConstituent().add(parseManufacturedItemDefinitionComponentConstituentComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { + res.getProperty().add(parseManufacturedItemDefinitionPropertyComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("component")) { + res.getComponent().add(parseManufacturedItemDefinitionComponentComponent(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent parseManufacturedItemDefinitionComponentConstituentComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent res = new ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseManufacturedItemDefinitionComponentConstituentComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseManufacturedItemDefinitionComponentConstituentComponentContent(int eventType, XmlPullParser xpp, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { + res.getAmount().add(parseQuantity(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { + res.getLocation().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { + res.getFunction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("locationForIngredient")) { + res.getLocationForIngredient().add(parseCodeableReference(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected Measure parseMeasure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Measure res = new Measure(); parseResourceAttributes(xpp, res); @@ -16547,7 +17097,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "subject")) { res.setSubject(parseType("subject", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { - res.setBasisElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setBasisElement(parseEnumeration(xpp, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { res.setDateElement(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { @@ -16606,8 +17156,8 @@ public class XmlParser extends XmlParserBase { res.setClinicalRecommendationStatementElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("improvementNotation")) { res.setImprovementNotation(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { - res.getDefinition().add(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("term")) { + res.getTerm().add(parseMeasureTermComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("guidance")) { res.setGuidanceElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("group")) { @@ -16620,6 +17170,32 @@ public class XmlParser extends XmlParserBase { return true; } + protected Measure.MeasureTermComponent parseMeasureTermComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Measure.MeasureTermComponent res = new Measure.MeasureTermComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseMeasureTermComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseMeasureTermComponentContent(int eventType, XmlPullParser xpp, Measure.MeasureTermComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.setCode(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("definition")) { + res.setDefinitionElement(parseMarkdown(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected Measure.MeasureGroupComponent parseMeasureGroupComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Measure.MeasureGroupComponent res = new Measure.MeasureGroupComponent(); parseElementAttributes(xpp, res); @@ -16643,7 +17219,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { - res.setBasisElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setBasisElement(parseEnumeration(xpp, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scoring")) { res.setScoring(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scoringUnit")) { @@ -16814,8 +17390,12 @@ public class XmlParser extends XmlParserBase { res.setReporter(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reportingVendor")) { res.setReportingVendor(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { + res.setLocation(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { res.setPeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("inputParameters")) { + res.setInputParameters(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scoring")) { res.setScoring(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("improvementNotation")) { @@ -16905,7 +17485,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseMeasureReportGroupStratifierComponentContent(int eventType, XmlPullParser xpp, MeasureReport.MeasureReportGroupStratifierComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.getCode().add(parseCodeableConcept(xpp)); + res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("stratum")) { res.getStratum().add(parseMeasureReportStratifierGroupComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -17108,10 +17688,6 @@ public class XmlParser extends XmlParserBase { protected boolean parseMedicationAdministrationContent(int eventType, XmlPullParser xpp, MedicationAdministration res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.getIdentifier().add(parseIdentifier(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { - res.getInstantiatesCanonical().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { - res.getInstantiatesUri().add(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { res.getBasedOn().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { @@ -17924,10 +18500,6 @@ public class XmlParser extends XmlParserBase { protected boolean parseMedicationRequestContent(int eventType, XmlPullParser xpp, MedicationRequest res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.getIdentifier().add(parseIdentifier(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { - res.getInstantiatesCanonical().add(parseCanonical(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { - res.getInstantiatesUri().add(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { res.getBasedOn().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priorPrescription")) { @@ -18322,23 +18894,23 @@ public class XmlParser extends XmlParserBase { res.setProductNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("namePart")) { - res.getNamePart().add(parseMedicinalProductDefinitionNameNamePartComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("countryLanguage")) { - res.getCountryLanguage().add(parseMedicinalProductDefinitionNameCountryLanguageComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { + res.getPart().add(parseMedicinalProductDefinitionNamePartComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { + res.getUsage().add(parseMedicinalProductDefinitionNameUsageComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } return true; } - protected MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent parseMedicinalProductDefinitionNameNamePartComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent(); + protected MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent parseMedicinalProductDefinitionNamePartComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseMedicinalProductDefinitionNameNamePartComponentContent(eventType, xpp, res)) + if (!parseMedicinalProductDefinitionNamePartComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -18347,7 +18919,7 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseMedicinalProductDefinitionNameNamePartComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parseMedicinalProductDefinitionNamePartComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("part")) { res.setPartElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { @@ -18358,13 +18930,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent parseMedicinalProductDefinitionNameCountryLanguageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent(); + protected MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent parseMedicinalProductDefinitionNameUsageComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent res = new MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseMedicinalProductDefinitionNameCountryLanguageComponentContent(eventType, xpp, res)) + if (!parseMedicinalProductDefinitionNameUsageComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -18373,7 +18945,7 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseMedicinalProductDefinitionNameCountryLanguageComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parseMedicinalProductDefinitionNameUsageComponentContent(int eventType, XmlPullParser xpp, MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("country")) { res.setCountry(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { @@ -18748,8 +19320,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, MolecularSequence.SequenceType.NULL, new MolecularSequence.SequenceTypeEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { - res.setPatient(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { + res.setSubject(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specimen")) { res.setSpecimen(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("device")) { @@ -18786,8 +19358,12 @@ public class XmlParser extends XmlParserBase { protected boolean parseMolecularSequenceRelativeComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceRelativeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("coordinateSystem")) { res.setCoordinateSystem(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { - res.setReference(parseMolecularSequenceRelativeReferenceComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("ordinalPosition")) { + res.setOrdinalPositionElement(parseInteger(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sequenceRange")) { + res.setSequenceRange(parseRange(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("startingSequence")) { + res.setStartingSequence(parseMolecularSequenceRelativeStartingSequenceComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("edit")) { res.getEdit().add(parseMolecularSequenceRelativeEditComponent(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -18796,13 +19372,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected MolecularSequence.MolecularSequenceRelativeReferenceComponent parseMolecularSequenceRelativeReferenceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - MolecularSequence.MolecularSequenceRelativeReferenceComponent res = new MolecularSequence.MolecularSequenceRelativeReferenceComponent(); + protected MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent parseMolecularSequenceRelativeStartingSequenceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent res = new MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseMolecularSequenceRelativeReferenceComponentContent(eventType, xpp, res)) + if (!parseMolecularSequenceRelativeStartingSequenceComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -18811,13 +19387,13 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseMolecularSequenceRelativeReferenceComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceRelativeReferenceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceSequenceAssembly")) { - res.setReferenceSequenceAssembly(parseCodeableConcept(xpp)); + protected boolean parseMolecularSequenceRelativeStartingSequenceComponentContent(int eventType, XmlPullParser xpp, MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("genomeAssembly")) { + res.setGenomeAssembly(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("chromosome")) { res.setChromosome(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "referenceSequence")) { - res.setReferenceSequence(parseType("referenceSequence", xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "sequence")) { + res.setSequence(parseType("sequence", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("windowStart")) { res.setWindowStartElement(parseInteger(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("windowEnd")) { @@ -18852,10 +19428,10 @@ public class XmlParser extends XmlParserBase { res.setStartElement(parseInteger(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { res.setEndElement(parseInteger(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("observedAllele")) { - res.setObservedAlleleElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceAllele")) { - res.setReferenceAlleleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replacementSequence")) { + res.setReplacementSequenceElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replacedSequence")) { + res.setReplacedSequenceElement(parseString(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -18880,6 +19456,8 @@ public class XmlParser extends XmlParserBase { protected boolean parseNamingSystemContent(int eventType, XmlPullParser xpp, NamingSystem res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { res.setUrlElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { @@ -18890,6 +19468,8 @@ public class XmlParser extends XmlParserBase { res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { res.setKindElement(parseEnumeration(xpp, NamingSystem.NamingSystemType.NULL, new NamingSystem.NamingSystemTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { + res.setExperimentalElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { res.setDateElement(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { @@ -18906,6 +19486,28 @@ public class XmlParser extends XmlParserBase { res.getUseContext().add(parseUsageContext(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { res.getJurisdiction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { + res.setPurposeElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { + res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { + res.setApprovalDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { + res.setLastReviewDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { + res.setEffectivePeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { + res.getTopic().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { + res.getAuthor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { + res.getEditor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { + res.getReviewer().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { + res.getEndorser().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { + res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usage")) { res.setUsageElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("uniqueId")) { @@ -19124,24 +19726,34 @@ public class XmlParser extends XmlParserBase { res.getInstantiatesUri().add(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiates")) { res.getInstantiates().add(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { + res.getBasedOn().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("patient")) { - res.setPatient(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { + res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { + res.setSubject(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.setEncounter(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supportingInformation")) { + res.getSupportingInformation().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dateTime")) { res.setDateTimeElement(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderer")) { res.setOrderer(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performer")) { + res.getPerformer().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allergyIntolerance")) { res.getAllergyIntolerance().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("foodPreferenceModifier")) { res.getFoodPreferenceModifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("excludeFoodModifier")) { res.getExcludeFoodModifier().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("outsideFoodAllowed")) { + res.setOutsideFoodAllowedElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("oralDiet")) { res.setOralDiet(parseNutritionOrderOralDietComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplement")) { @@ -19175,7 +19787,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.getType().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { - res.getSchedule().add(parseTiming(xpp)); + res.setSchedule(parseNutritionOrderOralDietScheduleComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("nutrient")) { res.getNutrient().add(parseNutritionOrderOralDietNutrientComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("texture")) { @@ -19190,6 +19802,34 @@ public class XmlParser extends XmlParserBase { return true; } + protected NutritionOrder.NutritionOrderOralDietScheduleComponent parseNutritionOrderOralDietScheduleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + NutritionOrder.NutritionOrderOralDietScheduleComponent res = new NutritionOrder.NutritionOrderOralDietScheduleComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseNutritionOrderOralDietScheduleComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseNutritionOrderOralDietScheduleComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderOralDietScheduleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { + res.getTiming().add(parseTiming(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeeded")) { + res.setAsNeededElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeededFor")) { + res.setAsNeededFor(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected NutritionOrder.NutritionOrderOralDietNutrientComponent parseNutritionOrderOralDietNutrientComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { NutritionOrder.NutritionOrderOralDietNutrientComponent res = new NutritionOrder.NutritionOrderOralDietNutrientComponent(); parseElementAttributes(xpp, res); @@ -19259,11 +19899,11 @@ public class XmlParser extends XmlParserBase { protected boolean parseNutritionOrderSupplementComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderSupplementComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setType(parseCodeableConcept(xpp)); + res.setType(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productName")) { res.setProductNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { - res.getSchedule().add(parseTiming(xpp)); + res.setSchedule(parseNutritionOrderSupplementScheduleComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instruction")) { @@ -19274,6 +19914,34 @@ public class XmlParser extends XmlParserBase { return true; } + protected NutritionOrder.NutritionOrderSupplementScheduleComponent parseNutritionOrderSupplementScheduleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + NutritionOrder.NutritionOrderSupplementScheduleComponent res = new NutritionOrder.NutritionOrderSupplementScheduleComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseNutritionOrderSupplementScheduleComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseNutritionOrderSupplementScheduleComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderSupplementScheduleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { + res.getTiming().add(parseTiming(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeeded")) { + res.setAsNeededElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeededFor")) { + res.setAsNeededFor(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected NutritionOrder.NutritionOrderEnteralFormulaComponent parseNutritionOrderEnteralFormulaComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { NutritionOrder.NutritionOrderEnteralFormulaComponent res = new NutritionOrder.NutritionOrderEnteralFormulaComponent(); parseElementAttributes(xpp, res); @@ -19291,17 +19959,17 @@ public class XmlParser extends XmlParserBase { protected boolean parseNutritionOrderEnteralFormulaComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderEnteralFormulaComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaType")) { - res.setBaseFormulaType(parseCodeableConcept(xpp)); + res.setBaseFormulaType(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("baseFormulaProductName")) { res.setBaseFormulaProductNameElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveType")) { - res.setAdditiveType(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additiveProductName")) { - res.setAdditiveProductNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("deliveryDevice")) { + res.getDeliveryDevice().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additive")) { + res.getAdditive().add(parseNutritionOrderEnteralFormulaAdditiveComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("caloricDensity")) { res.setCaloricDensity(parseQuantity(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("routeofAdministration")) { - res.setRouteofAdministration(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("routeOfAdministration")) { + res.setRouteOfAdministration(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("administration")) { res.getAdministration().add(parseNutritionOrderEnteralFormulaAdministrationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("maxVolumeToDeliver")) { @@ -19314,6 +19982,34 @@ public class XmlParser extends XmlParserBase { return true; } + protected NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent parseNutritionOrderEnteralFormulaAdditiveComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseNutritionOrderEnteralFormulaAdditiveComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseNutritionOrderEnteralFormulaAdditiveComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("productName")) { + res.setProductNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { + res.setQuantity(parseQuantity(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent parseNutritionOrderEnteralFormulaAdministrationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); parseElementAttributes(xpp, res); @@ -19331,7 +20027,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseNutritionOrderEnteralFormulaAdministrationComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("schedule")) { - res.setSchedule(parseTiming(xpp)); + res.setSchedule(parseNutritionOrderEnteralFormulaAdministrationScheduleComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("quantity")) { res.setQuantity(parseQuantity(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "rate")) { @@ -19342,6 +20038,34 @@ public class XmlParser extends XmlParserBase { return true; } + protected NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent parseNutritionOrderEnteralFormulaAdministrationScheduleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent res = new NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseNutritionOrderEnteralFormulaAdministrationScheduleComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseNutritionOrderEnteralFormulaAdministrationScheduleComponentContent(int eventType, XmlPullParser xpp, NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timing")) { + res.getTiming().add(parseTiming(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeeded")) { + res.setAsNeededElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asNeededFor")) { + res.setAsNeededFor(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected NutritionProduct parseNutritionProduct(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { NutritionProduct res = new NutritionProduct(); parseResourceAttributes(xpp, res); @@ -19888,6 +20612,8 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -19912,6 +20638,10 @@ public class XmlParser extends XmlParserBase { res.getJurisdiction().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { res.setPurposeElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { + res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("affectsState")) { res.setAffectsStateElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { @@ -19962,14 +20692,18 @@ public class XmlParser extends XmlParserBase { res.setNameElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { res.setUseElement(parseEnumeration(xpp, Enumerations.OperationParameterUse.NULL, new Enumerations.OperationParameterUseEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scope")) { + res.getScope().add(parseEnumeration(xpp, OperationDefinition.OperationParameterScope.NULL, new OperationDefinition.OperationParameterScopeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("min")) { res.setMinElement(parseInteger(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("max")) { res.setMaxElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { - res.setDocumentationElement(parseString(xpp)); + res.setDocumentationElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRAllTypes.NULL, new Enumerations.FHIRAllTypesEnumFactory())); + res.setTypeElement(parseEnumeration(xpp, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allowedType")) { + res.getAllowedType().add(parseEnumeration(xpp, Enumerations.FHIRTypes.NULL, new Enumerations.FHIRTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetProfile")) { res.getTargetProfile().add(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("searchType")) { @@ -20152,20 +20886,48 @@ public class XmlParser extends XmlParserBase { res.setDescriptionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { res.getContact().add(parseExtendedContactDetail(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { - res.getTelecom().add(parseContactPoint(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { - res.getAddress().add(parseAddress(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partOf")) { res.setPartOf(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { res.getEndpoint().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { + res.getQualification().add(parseOrganizationQualificationComponent(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } return true; } + protected Organization.OrganizationQualificationComponent parseOrganizationQualificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Organization.OrganizationQualificationComponent res = new Organization.OrganizationQualificationComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseOrganizationQualificationComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseOrganizationQualificationComponentContent(int eventType, XmlPullParser xpp, Organization.OrganizationQualificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.setCode(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { + res.setPeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuer")) { + res.setIssuer(parseReference(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected OrganizationAffiliation parseOrganizationAffiliation(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { OrganizationAffiliation res = new OrganizationAffiliation(); parseResourceAttributes(xpp, res); @@ -20202,8 +20964,8 @@ public class XmlParser extends XmlParserBase { res.getLocation().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("healthcareService")) { res.getHealthcareService().add(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { - res.getTelecom().add(parseContactPoint(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { + res.getContact().add(parseExtendedContactDetail(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { res.getEndpoint().add(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -20644,12 +21406,20 @@ public class XmlParser extends XmlParserBase { protected boolean parsePaymentReconciliationContent(int eventType, XmlPullParser xpp, PaymentReconciliation res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Enumerations.FinancialResourceStatusCodes.NULL, new Enumerations.FinancialResourceStatusCodesEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { + res.setKind(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { res.setPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("created")) { res.setCreatedElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enterer")) { + res.setEnterer(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("issuerType")) { + res.setIssuerType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentIssuer")) { res.setPaymentIssuer(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { @@ -20660,14 +21430,34 @@ public class XmlParser extends XmlParserBase { res.setOutcomeElement(parseEnumeration(xpp, PaymentReconciliation.PaymentOutcome.NULL, new PaymentReconciliation.PaymentOutcomeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("disposition")) { res.setDispositionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentDate")) { - res.setPaymentDateElement(parseDate(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentAmount")) { - res.setPaymentAmount(parseMoney(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { + res.setDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { + res.setLocation(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("method")) { + res.setMethod(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cardBrand")) { + res.setCardBrandElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("accountNumber")) { + res.setAccountNumberElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expirationDate")) { + res.setExpirationDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processor")) { + res.setProcessorElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("referenceNumber")) { + res.setReferenceNumberElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authorization")) { + res.setAuthorizationElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("tenderedAmount")) { + res.setTenderedAmount(parseMoney(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("returnedAmount")) { + res.setReturnedAmount(parseMoney(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("amount")) { + res.setAmount(parseMoney(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("paymentIdentifier")) { res.setPaymentIdentifier(parseIdentifier(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("detail")) { - res.getDetail().add(parsePaymentReconciliationDetailsComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allocation")) { + res.getAllocation().add(parsePaymentReconciliationAllocationComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("formCode")) { res.setFormCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processNote")) { @@ -20678,13 +21468,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected PaymentReconciliation.DetailsComponent parsePaymentReconciliationDetailsComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - PaymentReconciliation.DetailsComponent res = new PaymentReconciliation.DetailsComponent(); + protected PaymentReconciliation.PaymentReconciliationAllocationComponent parsePaymentReconciliationAllocationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + PaymentReconciliation.PaymentReconciliationAllocationComponent res = new PaymentReconciliation.PaymentReconciliationAllocationComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parsePaymentReconciliationDetailsComponentContent(eventType, xpp, res)) + if (!parsePaymentReconciliationAllocationComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -20693,15 +21483,21 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parsePaymentReconciliationDetailsComponentContent(int eventType, XmlPullParser xpp, PaymentReconciliation.DetailsComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parsePaymentReconciliationAllocationComponentContent(int eventType, XmlPullParser xpp, PaymentReconciliation.PaymentReconciliationAllocationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.setIdentifier(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("predecessor")) { res.setPredecessor(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { + res.setTarget(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "targetItem")) { + res.setTargetItem(parseType("targetItem", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.setEncounter(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("account")) { + res.setAccount(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { - res.setRequest(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("submitter")) { res.setSubmitter(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { @@ -20764,58 +21560,24 @@ public class XmlParser extends XmlParserBase { protected boolean parsePermissionContent(int eventType, XmlPullParser xpp, Permission res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Permission.PermissionStatus.NULL, new Permission.PermissionStatusEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { - res.setIntent(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("asserter")) { res.setAsserter(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("assertionDate")) { - res.getAssertionDate().add(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { + res.getDate().add(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validity")) { res.setValidity(parsePeriod(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { - res.getPurpose().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dataScope")) { - res.getDataScope().add(parseExpression(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processingActivity")) { - res.getProcessingActivity().add(parsePermissionProcessingActivityComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("justification")) { res.setJustification(parsePermissionJustificationComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("usageLimitations")) { - res.getUsageLimitations().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("combining")) { + res.setCombiningElement(parseEnumeration(xpp, Permission.PermissionRuleCombining.NULL, new Permission.PermissionRuleCombiningEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("rule")) { + res.getRule().add(parsePermissionRuleComponent(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ return false; } return true; } - protected Permission.PermissionProcessingActivityComponent parsePermissionProcessingActivityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Permission.PermissionProcessingActivityComponent res = new Permission.PermissionProcessingActivityComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parsePermissionProcessingActivityComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parsePermissionProcessingActivityComponentContent(int eventType, XmlPullParser xpp, Permission.PermissionProcessingActivityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partyReference")) { - res.getPartyReference().add(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("partyCodeableConcept")) { - res.getPartyCodeableConcept().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { - res.getPurpose().add(parseCodeableConcept(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected Permission.PermissionJustificationComponent parsePermissionJustificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Permission.PermissionJustificationComponent res = new Permission.PermissionJustificationComponent(); parseElementAttributes(xpp, res); @@ -20832,10 +21594,124 @@ public class XmlParser extends XmlParserBase { } protected boolean parsePermissionJustificationComponentContent(int eventType, XmlPullParser xpp, Permission.PermissionJustificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evidence")) { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { + res.getBasis().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("evidence")) { res.getEvidence().add(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("grounds")) { - res.getGrounds().add(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Permission.RuleComponent parsePermissionRuleComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Permission.RuleComponent res = new Permission.RuleComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parsePermissionRuleComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parsePermissionRuleComponentContent(int eventType, XmlPullParser xpp, Permission.RuleComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setTypeElement(parseEnumeration(xpp, Enumerations.ConsentProvisionType.NULL, new Enumerations.ConsentProvisionTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("data")) { + res.getData().add(parsePermissionRuleDataComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { + res.getActivity().add(parsePermissionRuleActivityComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("limit")) { + res.getLimit().add(parseCodeableConcept(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Permission.RuleDataComponent parsePermissionRuleDataComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Permission.RuleDataComponent res = new Permission.RuleDataComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parsePermissionRuleDataComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parsePermissionRuleDataComponentContent(int eventType, XmlPullParser xpp, Permission.RuleDataComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { + res.getResource().add(parsePermissionRuleDataResourceComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("security")) { + res.getSecurity().add(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { + res.getPeriod().add(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { + res.setExpression(parseExpression(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Permission.RuleDataResourceComponent parsePermissionRuleDataResourceComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Permission.RuleDataResourceComponent res = new Permission.RuleDataResourceComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parsePermissionRuleDataResourceComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parsePermissionRuleDataResourceComponentContent(int eventType, XmlPullParser xpp, Permission.RuleDataResourceComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("meaning")) { + res.setMeaningElement(parseEnumeration(xpp, Enumerations.ConsentDataMeaning.NULL, new Enumerations.ConsentDataMeaningEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { + res.setReference(parseReference(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Permission.RuleActivityComponent parsePermissionRuleActivityComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Permission.RuleActivityComponent res = new Permission.RuleActivityComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parsePermissionRuleActivityComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parsePermissionRuleActivityComponentContent(int eventType, XmlPullParser xpp, Permission.RuleActivityComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { + res.getActor().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { + res.getAction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { + res.getPurpose().add(parseCodeableConcept(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -20878,10 +21754,10 @@ public class XmlParser extends XmlParserBase { res.setMaritalStatus(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { res.getPhoto().add(parseAttachment(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { - res.setManagingOrganization(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("communication")) { res.getCommunication().add(parsePersonCommunicationComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingOrganization")) { + res.setManagingOrganization(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("link")) { res.getLink().add(parsePersonLinkComponent(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -21022,6 +21898,8 @@ public class XmlParser extends XmlParserBase { res.getActor().add(parsePlanDefinitionActorComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { res.getAction().add(parsePlanDefinitionActionComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "asNeeded")) { + res.setAsNeeded(parseType("asNeeded", xpp)); } else if (!parseMetadataResourceContent(eventType, xpp, res)){ return false; } @@ -21138,6 +22016,8 @@ public class XmlParser extends XmlParserBase { protected boolean parsePlanDefinitionActorOptionComponentContent(int eventType, XmlPullParser xpp, PlanDefinition.PlanDefinitionActorOptionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeCanonical")) { + res.setTypeCanonicalElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeReference")) { res.setTypeReference(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { @@ -21358,6 +22238,8 @@ public class XmlParser extends XmlParserBase { res.setActorIdElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeCanonical")) { + res.setTypeCanonicalElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeReference")) { res.setTypeReference(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { @@ -21420,14 +22302,14 @@ public class XmlParser extends XmlParserBase { res.getName().add(parseHumanName(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { res.getTelecom().add(parseContactPoint(xpp)); - } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { - res.setDeceased(parseType("deceased", xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { - res.getAddress().add(parseAddress(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("gender")) { res.setGenderElement(parseEnumeration(xpp, Enumerations.AdministrativeGender.NULL, new Enumerations.AdministrativeGenderEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("birthDate")) { res.setBirthDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "deceased")) { + res.setDeceased(parseType("deceased", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("address")) { + res.getAddress().add(parseAddress(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("photo")) { res.getPhoto().add(parseAttachment(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("qualification")) { @@ -21506,14 +22388,8 @@ public class XmlParser extends XmlParserBase { res.getHealthcareService().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { res.getContact().add(parseExtendedContactDetail(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("telecom")) { - res.getTelecom().add(parseContactPoint(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableTime")) { - res.getAvailableTime().add(parsePractitionerRoleAvailableTimeComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("notAvailable")) { - res.getNotAvailable().add(parsePractitionerRoleNotAvailableComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availabilityExceptions")) { - res.setAvailabilityExceptionsElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availability")) { + res.getAvailability().add(parseAvailability(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endpoint")) { res.getEndpoint().add(parseReference(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -21522,62 +22398,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected PractitionerRole.PractitionerRoleAvailableTimeComponent parsePractitionerRoleAvailableTimeComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - PractitionerRole.PractitionerRoleAvailableTimeComponent res = new PractitionerRole.PractitionerRoleAvailableTimeComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parsePractitionerRoleAvailableTimeComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parsePractitionerRoleAvailableTimeComponentContent(int eventType, XmlPullParser xpp, PractitionerRole.PractitionerRoleAvailableTimeComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("daysOfWeek")) { - res.getDaysOfWeek().add(parseEnumeration(xpp, Enumerations.DaysOfWeek.NULL, new Enumerations.DaysOfWeekEnumFactory())); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("allDay")) { - res.setAllDayElement(parseBoolean(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableStartTime")) { - res.setAvailableStartTimeElement(parseTime(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("availableEndTime")) { - res.setAvailableEndTimeElement(parseTime(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - - protected PractitionerRole.PractitionerRoleNotAvailableComponent parsePractitionerRoleNotAvailableComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - PractitionerRole.PractitionerRoleNotAvailableComponent res = new PractitionerRole.PractitionerRoleNotAvailableComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parsePractitionerRoleNotAvailableComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parsePractitionerRoleNotAvailableComponentContent(int eventType, XmlPullParser xpp, PractitionerRole.PractitionerRoleNotAvailableComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { - res.setDescriptionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("during")) { - res.setDuring(parsePeriod(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected Procedure parseProcedure(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { Procedure res = new Procedure(); parseResourceAttributes(xpp, res); @@ -21614,6 +22434,8 @@ public class XmlParser extends XmlParserBase { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { res.setSubject(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { + res.setFocus(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.setEncounter(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { @@ -21678,6 +22500,8 @@ public class XmlParser extends XmlParserBase { res.setActor(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("onBehalfOf")) { res.setOnBehalfOf(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { + res.setPeriod(parsePeriod(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ return false; } @@ -21838,6 +22662,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -21866,6 +22692,8 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { res.setApprovalDateElement(parseDate(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { @@ -21907,7 +22735,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { res.setPrefixElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("text")) { - res.setTextElement(parseMarkdown(xpp)); + res.setTextElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Questionnaire.QuestionnaireItemType.NULL, new Questionnaire.QuestionnaireItemTypeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("enableWhen")) { @@ -22153,7 +22981,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("validityPeriod")) { res.setValidityPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("indication")) { - res.setIndication(parseCodeableReference(xpp)); + res.getIndication().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intendedUse")) { res.setIntendedUse(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basis")) { @@ -22305,11 +23133,11 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { res.setGroupIdentifier(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { - res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); + res.setStatusElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { - res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); + res.setIntentElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { - res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + res.setPriorityElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { @@ -22361,7 +23189,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("textEquivalent")) { res.setTextEquivalentElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { - res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + res.setPriorityElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.getCode().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { @@ -22381,15 +23209,15 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupingBehavior")) { - res.setGroupingBehaviorElement(parseEnumeration(xpp, Enumerations.ActionGroupingBehavior.NULL, new Enumerations.ActionGroupingBehaviorEnumFactory())); + res.setGroupingBehaviorElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("selectionBehavior")) { - res.setSelectionBehaviorElement(parseEnumeration(xpp, Enumerations.ActionSelectionBehavior.NULL, new Enumerations.ActionSelectionBehaviorEnumFactory())); + res.setSelectionBehaviorElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requiredBehavior")) { - res.setRequiredBehaviorElement(parseEnumeration(xpp, Enumerations.ActionRequiredBehavior.NULL, new Enumerations.ActionRequiredBehaviorEnumFactory())); + res.setRequiredBehaviorElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precheckBehavior")) { - res.setPrecheckBehaviorElement(parseEnumeration(xpp, Enumerations.ActionPrecheckBehavior.NULL, new Enumerations.ActionPrecheckBehaviorEnumFactory())); + res.setPrecheckBehaviorElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cardinalityBehavior")) { - res.setCardinalityBehaviorElement(parseEnumeration(xpp, Enumerations.ActionCardinalityBehavior.NULL, new Enumerations.ActionCardinalityBehaviorEnumFactory())); + res.setCardinalityBehaviorElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { res.setResource(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { @@ -22417,7 +23245,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseRequestGroupActionConditionComponentContent(int eventType, XmlPullParser xpp, RequestGroup.RequestGroupActionConditionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { - res.setKindElement(parseEnumeration(xpp, Enumerations.ActionConditionKind.NULL, new Enumerations.ActionConditionKindEnumFactory())); + res.setKindElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { res.setExpression(parseExpression(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -22445,7 +23273,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetId")) { res.setTargetIdElement(parseId(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { - res.setRelationshipElement(parseEnumeration(xpp, Enumerations.ActionRelationshipType.NULL, new Enumerations.ActionRelationshipTypeEnumFactory())); + res.setRelationshipElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "offset")) { res.setOffset(parseType("offset", xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -22471,7 +23299,7 @@ public class XmlParser extends XmlParserBase { protected boolean parseRequestGroupActionParticipantComponentContent(int eventType, XmlPullParser xpp, RequestGroup.RequestGroupActionParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + res.setTypeElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeReference")) { res.setTypeReference(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { @@ -22486,6 +23314,408 @@ public class XmlParser extends XmlParserBase { return true; } + protected RequestOrchestration parseRequestOrchestration(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration res = new RequestOrchestration(); + parseResourceAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationContent(int eventType, XmlPullParser xpp, RequestOrchestration res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesCanonical")) { + res.getInstantiatesCanonical().add(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("instantiatesUri")) { + res.getInstantiatesUri().add(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("basedOn")) { + res.getBasedOn().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("replaces")) { + res.getReplaces().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupIdentifier")) { + res.setGroupIdentifier(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { + res.setStatusElement(parseEnumeration(xpp, Enumerations.RequestStatus.NULL, new Enumerations.RequestStatusEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { + res.setIntentElement(parseEnumeration(xpp, Enumerations.RequestIntent.NULL, new Enumerations.RequestIntentEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { + res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.setCode(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subject")) { + res.setSubject(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { + res.setEncounter(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { + res.setAuthoredOnElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { + res.setAuthor(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { + res.getReason().add(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { + res.getGoal().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { + res.getNote().add(parseAnnotation(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { + res.getAction().add(parseRequestOrchestrationActionComponent(xpp)); + } else if (!parseDomainResourceContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionComponent parseRequestOrchestrationActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionComponent res = new RequestOrchestration.RequestOrchestrationActionComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("linkId")) { + res.setLinkIdElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("prefix")) { + res.setPrefixElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("textEquivalent")) { + res.setTextEquivalentElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { + res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.getCode().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("documentation")) { + res.getDocumentation().add(parseRelatedArtifact(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("goal")) { + res.getGoal().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { + res.getCondition().add(parseRequestOrchestrationActionConditionComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("input")) { + res.getInput().add(parseRequestOrchestrationActionInputComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("output")) { + res.getOutput().add(parseRequestOrchestrationActionOutputComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedAction")) { + res.getRelatedAction().add(parseRequestOrchestrationActionRelatedActionComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "timing")) { + res.setTiming(parseType("timing", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { + res.setLocation(parseCodeableReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("participant")) { + res.getParticipant().add(parseRequestOrchestrationActionParticipantComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setType(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("groupingBehavior")) { + res.setGroupingBehaviorElement(parseEnumeration(xpp, Enumerations.ActionGroupingBehavior.NULL, new Enumerations.ActionGroupingBehaviorEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("selectionBehavior")) { + res.setSelectionBehaviorElement(parseEnumeration(xpp, Enumerations.ActionSelectionBehavior.NULL, new Enumerations.ActionSelectionBehaviorEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requiredBehavior")) { + res.setRequiredBehaviorElement(parseEnumeration(xpp, Enumerations.ActionRequiredBehavior.NULL, new Enumerations.ActionRequiredBehaviorEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("precheckBehavior")) { + res.setPrecheckBehaviorElement(parseEnumeration(xpp, Enumerations.ActionPrecheckBehavior.NULL, new Enumerations.ActionPrecheckBehaviorEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("cardinalityBehavior")) { + res.setCardinalityBehaviorElement(parseEnumeration(xpp, Enumerations.ActionCardinalityBehavior.NULL, new Enumerations.ActionCardinalityBehaviorEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { + res.setResource(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "definition")) { + res.setDefinition(parseType("definition", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("transform")) { + res.setTransformElement(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("dynamicValue")) { + res.getDynamicValue().add(parseRequestOrchestrationActionDynamicValueComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("action")) { + res.getAction().add(parseRequestOrchestrationActionComponent(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionConditionComponent parseRequestOrchestrationActionConditionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionConditionComponent res = new RequestOrchestration.RequestOrchestrationActionConditionComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionConditionComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionConditionComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionConditionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("kind")) { + res.setKindElement(parseEnumeration(xpp, Enumerations.ActionConditionKind.NULL, new Enumerations.ActionConditionKindEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { + res.setExpression(parseExpression(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionInputComponent parseRequestOrchestrationActionInputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionInputComponent res = new RequestOrchestration.RequestOrchestrationActionInputComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionInputComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionInputComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionInputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirement")) { + res.setRequirement(parseDataRequirement(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedData")) { + res.setRelatedDataElement(parseId(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionOutputComponent parseRequestOrchestrationActionOutputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionOutputComponent res = new RequestOrchestration.RequestOrchestrationActionOutputComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionOutputComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionOutputComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionOutputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirement")) { + res.setRequirement(parseDataRequirement(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedData")) { + res.setRelatedDataElement(parseString(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionRelatedActionComponent parseRequestOrchestrationActionRelatedActionComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionRelatedActionComponent res = new RequestOrchestration.RequestOrchestrationActionRelatedActionComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionRelatedActionComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionRelatedActionComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionRelatedActionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("targetId")) { + res.setTargetIdElement(parseId(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relationship")) { + res.setRelationshipElement(parseEnumeration(xpp, Enumerations.ActionRelationshipType.NULL, new Enumerations.ActionRelationshipTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "offset")) { + res.setOffset(parseType("offset", xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionParticipantComponent parseRequestOrchestrationActionParticipantComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionParticipantComponent res = new RequestOrchestration.RequestOrchestrationActionParticipantComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionParticipantComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionParticipantComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionParticipantComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { + res.setTypeElement(parseEnumeration(xpp, Enumerations.ActionParticipantType.NULL, new Enumerations.ActionParticipantTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeCanonical")) { + res.setTypeCanonicalElement(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("typeReference")) { + res.setTypeReference(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { + res.setRole(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("function")) { + res.setFunction(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "actor")) { + res.setActor(parseType("actor", xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected RequestOrchestration.RequestOrchestrationActionDynamicValueComponent parseRequestOrchestrationActionDynamicValueComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + RequestOrchestration.RequestOrchestrationActionDynamicValueComponent res = new RequestOrchestration.RequestOrchestrationActionDynamicValueComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequestOrchestrationActionDynamicValueComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequestOrchestrationActionDynamicValueComponentContent(int eventType, XmlPullParser xpp, RequestOrchestration.RequestOrchestrationActionDynamicValueComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("path")) { + res.setPathElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { + res.setExpression(parseExpression(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Requirements parseRequirements(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Requirements res = new Requirements(); + parseResourceAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequirementsContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequirementsContent(int eventType, XmlPullParser xpp, Requirements res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { + res.setUrlElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { + res.getIdentifier().add(parseIdentifier(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { + res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { + res.setNameElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { + res.setTitleElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { + res.setStatusElement(parseEnumeration(xpp, Enumerations.PublicationStatus.NULL, new Enumerations.PublicationStatusEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("experimental")) { + res.setExperimentalElement(parseBoolean(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("date")) { + res.setDateElement(parseDateTime(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("publisher")) { + res.setPublisherElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { + res.getContact().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { + res.setDescriptionElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("useContext")) { + res.getUseContext().add(parseUsageContext(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("jurisdiction")) { + res.getJurisdiction().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("purpose")) { + res.setPurposeElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { + res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { + res.getDerivedFrom().add(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { + res.getActor().add(parseCanonical(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statement")) { + res.getStatement().add(parseRequirementsStatementComponent(xpp)); + } else if (!parseCanonicalResourceContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected Requirements.RequirementsStatementComponent parseRequirementsStatementComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Requirements.RequirementsStatementComponent res = new Requirements.RequirementsStatementComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseRequirementsStatementComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseRequirementsStatementComponentContent(int eventType, XmlPullParser xpp, Requirements.RequirementsStatementComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("key")) { + res.setKeyElement(parseId(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { + res.setLabelElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conformance")) { + res.setConformanceElement(parseEnumeration(xpp, Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirement")) { + res.setRequirementElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { + res.setDerivedFromElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("satisfiedBy")) { + res.getSatisfiedBy().add(parseUrl(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reference")) { + res.getReference().add(parseUrl(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("source")) { + res.getSource().add(parseReference(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + protected ResearchStudy parseResearchStudy(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ResearchStudy res = new ResearchStudy(); parseResourceAttributes(xpp, res); @@ -22528,40 +23758,32 @@ public class XmlParser extends XmlParserBase { res.setPrimaryPurposeType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("phase")) { res.setPhase(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("category")) { - res.getCategory().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("studyDesign")) { + res.getStudyDesign().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("focus")) { res.getFocus().add(parseResearchStudyFocusComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("condition")) { res.getCondition().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("keyword")) { res.getKeyword().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { - res.getLocation().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("region")) { + res.getRegion().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("descriptionSummary")) { res.setDescriptionSummaryElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { res.setDescriptionElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { res.setPeriod(parsePeriod(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("contact")) { - res.getContact().add(parseContactDetail(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("sponsor")) { - res.setSponsor(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("principalInvestigator")) { - res.setPrincipalInvestigator(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("site")) { res.getSite().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { res.getNote().add(parseAnnotation(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classification")) { - res.getClassification().add(parseResearchStudyClassificationComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classifier")) { + res.getClassifier().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("associatedParty")) { res.getAssociatedParty().add(parseResearchStudyAssociatedPartyComponent(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("currentState")) { - res.getCurrentState().add(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusDate")) { - res.getStatusDate().add(parseResearchStudyStatusDateComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("progressStatus")) { + res.getProgressStatus().add(parseResearchStudyProgressStatusComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("whyStopped")) { res.setWhyStopped(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("recruitment")) { @@ -22636,32 +23858,6 @@ public class XmlParser extends XmlParserBase { return true; } - protected ResearchStudy.ResearchStudyClassificationComponent parseResearchStudyClassificationComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - ResearchStudy.ResearchStudyClassificationComponent res = new ResearchStudy.ResearchStudyClassificationComponent(); - parseElementAttributes(xpp, res); - next(xpp); - int eventType = nextNoWhitespace(xpp); - while (eventType != XmlPullParser.END_TAG) { - if (!parseResearchStudyClassificationComponentContent(eventType, xpp, res)) - unknownContent(xpp); - eventType = nextNoWhitespace(xpp); - } - next(xpp); - parseElementClose(res); - return res; - } - - protected boolean parseResearchStudyClassificationComponentContent(int eventType, XmlPullParser xpp, ResearchStudy.ResearchStudyClassificationComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { - res.setType(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("classifier")) { - res.getClassifier().add(parseCodeableConcept(xpp)); - } else if (!parseBackboneElementContent(eventType, xpp, res)){ - return false; - } - return true; - } - protected ResearchStudy.ResearchStudyAssociatedPartyComponent parseResearchStudyAssociatedPartyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { ResearchStudy.ResearchStudyAssociatedPartyComponent res = new ResearchStudy.ResearchStudyAssociatedPartyComponent(); parseElementAttributes(xpp, res); @@ -22694,13 +23890,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected ResearchStudy.ResearchStudyStatusDateComponent parseResearchStudyStatusDateComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - ResearchStudy.ResearchStudyStatusDateComponent res = new ResearchStudy.ResearchStudyStatusDateComponent(); + protected ResearchStudy.ResearchStudyProgressStatusComponent parseResearchStudyProgressStatusComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ResearchStudy.ResearchStudyProgressStatusComponent res = new ResearchStudy.ResearchStudyProgressStatusComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseResearchStudyStatusDateComponentContent(eventType, xpp, res)) + if (!parseResearchStudyProgressStatusComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -22709,9 +23905,9 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseResearchStudyStatusDateComponentContent(int eventType, XmlPullParser xpp, ResearchStudy.ResearchStudyStatusDateComponent res) throws XmlPullParserException, IOException, FHIRFormatError { - if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("activity")) { - res.setActivity(parseCodeableConcept(xpp)); + protected boolean parseResearchStudyProgressStatusComponentContent(int eventType, XmlPullParser xpp, ResearchStudy.ResearchStudyProgressStatusComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("state")) { + res.setState(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actual")) { res.setActualElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("period")) { @@ -23058,6 +24254,8 @@ public class XmlParser extends XmlParserBase { res.getServiceType().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("specialty")) { res.getSpecialty().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { + res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("actor")) { res.getActor().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("planningHorizon")) { @@ -23090,6 +24288,8 @@ public class XmlParser extends XmlParserBase { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -23117,15 +24317,15 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCodeElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { - res.getBase().add(parseCode(xpp)); + res.getBase().add(parseEnumeration(xpp, Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { res.setExpressionElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpath")) { - res.setXpathElement(parseString(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("xpathUsage")) { - res.setXpathUsageElement(parseEnumeration(xpp, SearchParameter.XPathUsageType.NULL, new SearchParameter.XPathUsageTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("processingMode")) { + res.setProcessingModeElement(parseEnumeration(xpp, SearchParameter.SearchProcessingModeType.NULL, new SearchParameter.SearchProcessingModeTypeEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("constraint")) { + res.setConstraintElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("target")) { res.getTarget().add(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("multipleOr")) { @@ -23211,7 +24411,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { res.setDoNotPerformElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { - res.setCode(parseCodeableConcept(xpp)); + res.setCode(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("orderDetail")) { res.getOrderDetail().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "quantity")) { @@ -23336,6 +24536,10 @@ public class XmlParser extends XmlParserBase { res.getParent().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("request")) { res.getRequest().add(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("combined")) { + res.setCombinedElement(parseEnumeration(xpp, Specimen.SpecimenCombined.NULL, new Specimen.SpecimenCombinedEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("role")) { + res.getRole().add(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("feature")) { res.getFeature().add(parseSpecimenFeatureComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("collection")) { @@ -23497,7 +24701,7 @@ public class XmlParser extends XmlParserBase { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("url")) { res.setUrlElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { - res.setIdentifier(parseIdentifier(xpp)); + res.addIdentifier(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -23706,6 +24910,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -23730,6 +24936,8 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("keyword")) { res.getKeyword().add(parseCoding(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("fhirVersion")) { @@ -23886,6 +25094,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -23910,6 +25120,8 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("structure")) { res.getStructure().add(parseStructureMapStructureComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("import")) { @@ -24208,6 +25420,8 @@ public class XmlParser extends XmlParserBase { res.getContact().add(parseContactPoint(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("end")) { res.setEndElement(parseInstant(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("managingEntity")) { + res.setManagingEntity(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { res.setReasonElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filterBy")) { @@ -24376,6 +25590,8 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { res.setApprovalDateElement(parseDate(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { @@ -25801,7 +27017,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("suppliedItem")) { - res.setSuppliedItem(parseSupplyDeliverySuppliedItemComponent(xpp)); + res.getSuppliedItem().add(parseSupplyDeliverySuppliedItemComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "occurrence")) { res.setOccurrence(parseType("occurrence", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("supplier")) { @@ -25951,13 +27167,15 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("status")) { res.setStatusElement(parseEnumeration(xpp, Task.TaskStatus.NULL, new Task.TaskStatusEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("statusReason")) { - res.setStatusReason(parseCodeableConcept(xpp)); + res.setStatusReason(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("businessStatus")) { res.setBusinessStatus(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("intent")) { res.setIntentElement(parseEnumeration(xpp, Task.TaskIntent.NULL, new Task.TaskIntentEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("priority")) { res.setPriorityElement(parseEnumeration(xpp, Enumerations.RequestPriority.NULL, new Enumerations.RequestPriorityEnumFactory())); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("doNotPerform")) { + res.setDoNotPerformElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCode(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("description")) { @@ -25968,6 +27186,8 @@ public class XmlParser extends XmlParserBase { res.setFor(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("encounter")) { res.setEncounter(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestedPeriod")) { + res.setRequestedPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("executionPeriod")) { res.setExecutionPeriod(parsePeriod(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("authoredOn")) { @@ -25976,16 +27196,14 @@ public class XmlParser extends XmlParserBase { res.setLastModifiedElement(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requester")) { res.setRequester(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("performerType")) { - res.getPerformerType().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestedPerformer")) { + res.getRequestedPerformer().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("owner")) { res.setOwner(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("location")) { res.setLocation(parseReference(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonCode")) { - res.setReasonCode(parseCodeableConcept(xpp)); - } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reasonReference")) { - res.setReasonReference(parseReference(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reason")) { + res.getReason().add(parseCodeableReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("insurance")) { res.getInsurance().add(parseReference(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("note")) { @@ -25995,7 +27213,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("restriction")) { res.setRestriction(parseTaskRestrictionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("input")) { - res.getInput().add(parseTaskParameterComponent(xpp)); + res.getInput().add(parseTaskInputComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("output")) { res.getOutput().add(parseTaskOutputComponent(xpp)); } else if (!parseDomainResourceContent(eventType, xpp, res)){ @@ -26032,13 +27250,13 @@ public class XmlParser extends XmlParserBase { return true; } - protected Task.ParameterComponent parseTaskParameterComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { - Task.ParameterComponent res = new Task.ParameterComponent(); + protected Task.TaskInputComponent parseTaskInputComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + Task.TaskInputComponent res = new Task.TaskInputComponent(); parseElementAttributes(xpp, res); next(xpp); int eventType = nextNoWhitespace(xpp); while (eventType != XmlPullParser.END_TAG) { - if (!parseTaskParameterComponentContent(eventType, xpp, res)) + if (!parseTaskInputComponentContent(eventType, xpp, res)) unknownContent(xpp); eventType = nextNoWhitespace(xpp); } @@ -26047,7 +27265,7 @@ public class XmlParser extends XmlParserBase { return res; } - protected boolean parseTaskParameterComponentContent(int eventType, XmlPullParser xpp, Task.ParameterComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + protected boolean parseTaskInputComponentContent(int eventType, XmlPullParser xpp, Task.TaskInputComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setType(parseCodeableConcept(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { @@ -26228,6 +27446,8 @@ public class XmlParser extends XmlParserBase { res.setUriElement(parseCanonical(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.getVersion().add(parseTerminologyCapabilitiesCodeSystemVersionComponent(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("content")) { + res.setContentElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subsumption")) { res.setSubsumptionElement(parseBoolean(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -26259,7 +27479,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compositional")) { res.setCompositionalElement(parseBoolean(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("language")) { - res.getLanguage().add(parseCode(xpp)); + res.getLanguage().add(parseEnumeration(xpp, TerminologyCapabilities.CommonLanguages.NULL, new TerminologyCapabilities.CommonLanguagesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("filter")) { res.getFilter().add(parseTerminologyCapabilitiesCodeSystemVersionFilterComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("property")) { @@ -26730,6 +27950,8 @@ public class XmlParser extends XmlParserBase { res.getIdentifier().add(parseIdentifier(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("version")) { res.setVersionElement(parseString(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "versionAlgorithm")) { + res.setVersionAlgorithm(parseType("versionAlgorithm", xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("name")) { res.setNameElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("title")) { @@ -26754,6 +27976,8 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyrightLabel")) { + res.setCopyrightLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("origin")) { res.getOrigin().add(parseTestScriptOriginComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("destination")) { @@ -27193,7 +28417,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requestURL")) { res.setRequestURLElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("resource")) { - res.setResourceElement(parseEnumeration(xpp, TestScript.FHIRDefinedType.NULL, new TestScript.FHIRDefinedTypeEnumFactory())); + res.setResourceElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("response")) { res.setResponseElement(parseEnumeration(xpp, TestScript.AssertionResponseTypes.NULL, new TestScript.AssertionResponseTypesEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("responseCode")) { @@ -27532,13 +28756,31 @@ public class XmlParser extends XmlParserBase { res.setPurposeElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("copyright")) { res.setCopyrightElement(parseMarkdown(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("approvalDate")) { + res.setApprovalDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("lastReviewDate")) { + res.setLastReviewDateElement(parseDate(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("effectivePeriod")) { + res.setEffectivePeriod(parsePeriod(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("topic")) { + res.getTopic().add(parseCodeableConcept(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("author")) { + res.getAuthor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("editor")) { + res.getEditor().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("reviewer")) { + res.getReviewer().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("endorser")) { + res.getEndorser().add(parseContactDetail(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("relatedArtifact")) { + res.getRelatedArtifact().add(parseRelatedArtifact(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("compose")) { res.setCompose(parseValueSetComposeComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expansion")) { res.setExpansion(parseValueSetExpansionComponent(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("scope")) { res.setScope(parseValueSetScopeComponent(xpp)); - } else if (!parseCanonicalResourceContent(eventType, xpp, res)){ + } else if (!parseMetadataResourceContent(eventType, xpp, res)){ return false; } return true; @@ -27658,6 +28900,8 @@ public class XmlParser extends XmlParserBase { res.setLanguageElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("use")) { res.setUse(parseCoding(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("additionalUse")) { + res.getAdditionalUse().add(parseCoding(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("value")) { res.setValueElement(parseString(xpp)); } else if (!parseBackboneElementContent(eventType, xpp, res)){ @@ -27712,6 +28956,8 @@ public class XmlParser extends XmlParserBase { protected boolean parseValueSetExpansionComponentContent(int eventType, XmlPullParser xpp, ValueSet.ValueSetExpansionComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("identifier")) { res.setIdentifierElement(parseUri(xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("next")) { + res.setNextElement(parseUri(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("timestamp")) { res.setTimestampElement(parseDateTime(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("total")) { @@ -27838,6 +29084,34 @@ public class XmlParser extends XmlParserBase { } protected boolean parseValueSetConceptPropertyComponentContent(int eventType, XmlPullParser xpp, ValueSet.ConceptPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { + if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { + res.setCodeElement(parseCode(xpp)); + } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { + res.setValue(parseType("value", xpp)); + } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("subProperty")) { + res.getSubProperty().add(parseValueSetConceptSubPropertyComponent(xpp)); + } else if (!parseBackboneElementContent(eventType, xpp, res)){ + return false; + } + return true; + } + + protected ValueSet.ConceptSubPropertyComponent parseValueSetConceptSubPropertyComponent(XmlPullParser xpp) throws XmlPullParserException, IOException, FHIRFormatError { + ValueSet.ConceptSubPropertyComponent res = new ValueSet.ConceptSubPropertyComponent(); + parseElementAttributes(xpp, res); + next(xpp); + int eventType = nextNoWhitespace(xpp); + while (eventType != XmlPullParser.END_TAG) { + if (!parseValueSetConceptSubPropertyComponentContent(eventType, xpp, res)) + unknownContent(xpp); + eventType = nextNoWhitespace(xpp); + } + next(xpp); + parseElementClose(res); + return res; + } + + protected boolean parseValueSetConceptSubPropertyComponentContent(int eventType, XmlPullParser xpp, ValueSet.ConceptSubPropertyComponent res) throws XmlPullParserException, IOException, FHIRFormatError { if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCodeElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && nameIsTypeName(xpp, "value")) { @@ -28150,6 +29424,8 @@ public class XmlParser extends XmlParserBase { return parseAccount(xpp); } else if (xpp.getName().equals("ActivityDefinition")) { return parseActivityDefinition(xpp); + } else if (xpp.getName().equals("ActorDefinition")) { + return parseActorDefinition(xpp); } else if (xpp.getName().equals("AdministrableProductDefinition")) { return parseAdministrableProductDefinition(xpp); } else if (xpp.getName().equals("AdverseEvent")) { @@ -28176,8 +29452,6 @@ public class XmlParser extends XmlParserBase { return parseBundle(xpp); } else if (xpp.getName().equals("CapabilityStatement")) { return parseCapabilityStatement(xpp); - } else if (xpp.getName().equals("CapabilityStatement2")) { - return parseCapabilityStatement2(xpp); } else if (xpp.getName().equals("CarePlan")) { return parseCarePlan(xpp); } else if (xpp.getName().equals("CareTeam")) { @@ -28270,6 +29544,8 @@ public class XmlParser extends XmlParserBase { return parseFlag(xpp); } else if (xpp.getName().equals("FormularyItem")) { return parseFormularyItem(xpp); + } else if (xpp.getName().equals("GenomicStudy")) { + return parseGenomicStudy(xpp); } else if (xpp.getName().equals("Goal")) { return parseGoal(xpp); } else if (xpp.getName().equals("GraphDefinition")) { @@ -28388,6 +29664,10 @@ public class XmlParser extends XmlParserBase { return parseRelatedPerson(xpp); } else if (xpp.getName().equals("RequestGroup")) { return parseRequestGroup(xpp); + } else if (xpp.getName().equals("RequestOrchestration")) { + return parseRequestOrchestration(xpp); + } else if (xpp.getName().equals("Requirements")) { + return parseRequirements(xpp); } else if (xpp.getName().equals("ResearchStudy")) { return parseResearchStudy(xpp); } else if (xpp.getName().equals("ResearchSubject")) { @@ -28509,6 +29789,8 @@ public class XmlParser extends XmlParserBase { return parseAnnotation(xpp); } else if (xpp.getName().equals(prefix+"Attachment")) { return parseAttachment(xpp); + } else if (xpp.getName().equals(prefix+"Availability")) { + return parseAvailability(xpp); } else if (xpp.getName().equals(prefix+"CodeableConcept")) { return parseCodeableConcept(xpp); } else if (xpp.getName().equals(prefix+"CodeableReference")) { @@ -28547,6 +29829,8 @@ public class XmlParser extends XmlParserBase { return parseMarketingStatus(xpp); } else if (xpp.getName().equals(prefix+"Meta")) { return parseMeta(xpp); + } else if (xpp.getName().equals(prefix+"MonetaryComponent")) { + return parseMonetaryComponent(xpp); } else if (xpp.getName().equals(prefix+"Money")) { return parseMoney(xpp); } else if (xpp.getName().equals(prefix+"Narrative")) { @@ -28581,6 +29865,8 @@ public class XmlParser extends XmlParserBase { return parseTriggerDefinition(xpp); } else if (xpp.getName().equals(prefix+"UsageContext")) { return parseUsageContext(xpp); + } else if (xpp.getName().equals(prefix+"VirtualServiceDetail")) { + return parseVirtualServiceDetail(xpp); } else { throw new FHIRFormatError("Unknown type "+xpp.getName()); @@ -28640,6 +29926,8 @@ public class XmlParser extends XmlParserBase { return parseAnnotation(xpp); } else if (type.equals("Attachment")) { return parseAttachment(xpp); + } else if (type.equals("Availability")) { + return parseAvailability(xpp); } else if (type.equals("CodeableConcept")) { return parseCodeableConcept(xpp); } else if (type.equals("CodeableReference")) { @@ -28678,6 +29966,8 @@ public class XmlParser extends XmlParserBase { return parseMarketingStatus(xpp); } else if (type.equals("Meta")) { return parseMeta(xpp); + } else if (type.equals("MonetaryComponent")) { + return parseMonetaryComponent(xpp); } else if (type.equals("Money")) { return parseMoney(xpp); } else if (type.equals("Narrative")) { @@ -28712,6 +30002,8 @@ public class XmlParser extends XmlParserBase { return parseTriggerDefinition(xpp); } else if (type.equals("UsageContext")) { return parseUsageContext(xpp); + } else if (type.equals("VirtualServiceDetail")) { + return parseVirtualServiceDetail(xpp); } else { throw new FHIRFormatError("Unknown type "+type); @@ -28731,6 +30023,8 @@ public class XmlParser extends XmlParserBase { return parseAnnotation(xpp); } else if (type.equals("Attachment")) { return parseAttachment(xpp); + } else if (type.equals("Availability")) { + return parseAvailability(xpp); } else if (type.equals("CodeableConcept")) { return parseCodeableConcept(xpp); } else if (type.equals("CodeableReference")) { @@ -28769,6 +30063,8 @@ public class XmlParser extends XmlParserBase { return parseMarketingStatus(xpp); } else if (type.equals("Meta")) { return parseMeta(xpp); + } else if (type.equals("MonetaryComponent")) { + return parseMonetaryComponent(xpp); } else if (type.equals("Money")) { return parseMoney(xpp); } else if (type.equals("Narrative")) { @@ -28803,10 +30099,14 @@ public class XmlParser extends XmlParserBase { return parseTriggerDefinition(xpp); } else if (type.equals("UsageContext")) { return parseUsageContext(xpp); + } else if (type.equals("VirtualServiceDetail")) { + return parseVirtualServiceDetail(xpp); } else if (type.equals("Account")) { return parseAccount(xpp); } else if (type.equals("ActivityDefinition")) { return parseActivityDefinition(xpp); + } else if (type.equals("ActorDefinition")) { + return parseActorDefinition(xpp); } else if (type.equals("AdministrableProductDefinition")) { return parseAdministrableProductDefinition(xpp); } else if (type.equals("AdverseEvent")) { @@ -28833,8 +30133,6 @@ public class XmlParser extends XmlParserBase { return parseBundle(xpp); } else if (type.equals("CapabilityStatement")) { return parseCapabilityStatement(xpp); - } else if (type.equals("CapabilityStatement2")) { - return parseCapabilityStatement2(xpp); } else if (type.equals("CarePlan")) { return parseCarePlan(xpp); } else if (type.equals("CareTeam")) { @@ -28927,6 +30225,8 @@ public class XmlParser extends XmlParserBase { return parseFlag(xpp); } else if (type.equals("FormularyItem")) { return parseFormularyItem(xpp); + } else if (type.equals("GenomicStudy")) { + return parseGenomicStudy(xpp); } else if (type.equals("Goal")) { return parseGoal(xpp); } else if (type.equals("GraphDefinition")) { @@ -29045,6 +30345,10 @@ public class XmlParser extends XmlParserBase { return parseRelatedPerson(xpp); } else if (type.equals("RequestGroup")) { return parseRequestGroup(xpp); + } else if (type.equals("RequestOrchestration")) { + return parseRequestOrchestration(xpp); + } else if (type.equals("Requirements")) { + return parseRequirements(xpp); } else if (type.equals("ResearchStudy")) { return parseResearchStudy(xpp); } else if (type.equals("ResearchSubject")) { @@ -29166,6 +30470,8 @@ public class XmlParser extends XmlParserBase { return true; } else if (xpp.getName().equals(prefix+"Attachment")) { return true; + } else if (xpp.getName().equals(prefix+"Availability")) { + return true; } else if (xpp.getName().equals(prefix+"CodeableConcept")) { return true; } else if (xpp.getName().equals(prefix+"CodeableReference")) { @@ -29204,6 +30510,8 @@ public class XmlParser extends XmlParserBase { return true; } else if (xpp.getName().equals(prefix+"Meta")) { return true; + } else if (xpp.getName().equals(prefix+"MonetaryComponent")) { + return true; } else if (xpp.getName().equals(prefix+"Money")) { return true; } else if (xpp.getName().equals(prefix+"Narrative")) { @@ -29238,10 +30546,14 @@ public class XmlParser extends XmlParserBase { return true; } else if (xpp.getName().equals(prefix+"UsageContext")) { return true; + } else if (xpp.getName().equals(prefix+"VirtualServiceDetail")) { + return true; } else if (xpp.getName().equals(prefix+"Account")) { return true; } else if (xpp.getName().equals(prefix+"ActivityDefinition")) { return true; + } else if (xpp.getName().equals(prefix+"ActorDefinition")) { + return true; } else if (xpp.getName().equals(prefix+"AdministrableProductDefinition")) { return true; } else if (xpp.getName().equals(prefix+"AdverseEvent")) { @@ -29268,8 +30580,6 @@ public class XmlParser extends XmlParserBase { return true; } else if (xpp.getName().equals(prefix+"CapabilityStatement")) { return true; - } else if (xpp.getName().equals(prefix+"CapabilityStatement2")) { - return true; } else if (xpp.getName().equals(prefix+"CarePlan")) { return true; } else if (xpp.getName().equals(prefix+"CareTeam")) { @@ -29362,6 +30672,8 @@ public class XmlParser extends XmlParserBase { return true; } else if (xpp.getName().equals(prefix+"FormularyItem")) { return true; + } else if (xpp.getName().equals(prefix+"GenomicStudy")) { + return true; } else if (xpp.getName().equals(prefix+"Goal")) { return true; } else if (xpp.getName().equals(prefix+"GraphDefinition")) { @@ -29480,6 +30792,10 @@ public class XmlParser extends XmlParserBase { return true; } else if (xpp.getName().equals(prefix+"RequestGroup")) { return true; + } else if (xpp.getName().equals(prefix+"RequestOrchestration")) { + return true; + } else if (xpp.getName().equals(prefix+"Requirements")) { + return true; } else if (xpp.getName().equals(prefix+"ResearchStudy")) { return true; } else if (xpp.getName().equals(prefix+"ResearchSubject")) { @@ -30029,6 +31345,74 @@ public class XmlParser extends XmlParserBase { } } + protected void composeAvailability(String name, Availability element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAvailabilityElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAvailabilityElements(Availability element) throws IOException { + composeDataTypeElements(element); + if (element.hasAvailableTime()) { + for (Availability.AvailabilityAvailableTimeComponent e : element.getAvailableTime()) + composeAvailabilityAvailableTimeComponent("availableTime", e); + } + if (element.hasNotAvailableTime()) { + for (Availability.AvailabilityNotAvailableTimeComponent e : element.getNotAvailableTime()) + composeAvailabilityNotAvailableTimeComponent("notAvailableTime", e); + } + } + + protected void composeAvailabilityAvailableTimeComponent(String name, Availability.AvailabilityAvailableTimeComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAvailabilityAvailableTimeComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAvailabilityAvailableTimeComponentElements(Availability.AvailabilityAvailableTimeComponent element) throws IOException { + composeElementElements(element); + if (element.hasDaysOfWeek()) + for (Enumeration e : element.getDaysOfWeek()) + composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); + if (element.hasAllDayElement()) { + composeBoolean("allDay", element.getAllDayElement()); + } + if (element.hasAvailableStartTimeElement()) { + composeTime("availableStartTime", element.getAvailableStartTimeElement()); + } + if (element.hasAvailableEndTimeElement()) { + composeTime("availableEndTime", element.getAvailableEndTimeElement()); + } + } + + protected void composeAvailabilityNotAvailableTimeComponent(String name, Availability.AvailabilityNotAvailableTimeComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAvailabilityNotAvailableTimeComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAvailabilityNotAvailableTimeComponentElements(Availability.AvailabilityNotAvailableTimeComponent element) throws IOException { + composeElementElements(element); + if (element.hasDescriptionElement()) { + composeString("description", element.getDescriptionElement()); + } + if (element.hasDuring()) { + composePeriod("during", element.getDuring()); + } + } + protected void composeCodeableConcept(String name, CodeableConcept element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -30197,7 +31581,7 @@ public class XmlParser extends XmlParserBase { protected void composeDataRequirementElements(DataRequirement element) throws IOException { composeDataTypeElements(element); if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory()); + composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory()); if (element.hasProfile()) { for (CanonicalType e : element.getProfile()) composeCanonical("profile", e); @@ -30216,6 +31600,10 @@ public class XmlParser extends XmlParserBase { for (DataRequirement.DataRequirementDateFilterComponent e : element.getDateFilter()) composeDataRequirementDateFilterComponent("dateFilter", e); } + if (element.hasValueFilter()) { + for (DataRequirement.DataRequirementValueFilterComponent e : element.getValueFilter()) + composeDataRequirementValueFilterComponent("valueFilter", e); + } if (element.hasLimitElement()) { composePositiveInt("limit", element.getLimitElement()); } @@ -30274,6 +31662,30 @@ public class XmlParser extends XmlParserBase { composeType("value", element.getValue()); } } + protected void composeDataRequirementValueFilterComponent(String name, DataRequirement.DataRequirementValueFilterComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeDataRequirementValueFilterComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeDataRequirementValueFilterComponentElements(DataRequirement.DataRequirementValueFilterComponent element) throws IOException { + composeElementElements(element); + if (element.hasPathElement()) { + composeString("path", element.getPathElement()); + } + if (element.hasSearchParamElement()) { + composeString("searchParam", element.getSearchParamElement()); + } + if (element.hasComparatorElement()) + composeEnumeration("comparator", element.getComparatorElement(), new DataRequirement.ValueFilterComparatorEnumFactory()); + if (element.hasValue()) { + composeType("value", element.getValue()); + } } + protected void composeDataRequirementSortComponent(String name, DataRequirement.DataRequirementSortComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -30355,7 +31767,7 @@ public class XmlParser extends XmlParserBase { for (Dosage.DosageDoseAndRateComponent e : element.getDoseAndRate()) composeDosageDoseAndRateComponent("doseAndRate", e); } - if (element.hasMaxDosePerPeriod()) { + if (element.hasMaxDosePerPeriod()) { for (Ratio e : element.getMaxDosePerPeriod()) composeRatio("maxDosePerPeriod", e); } @@ -30653,10 +32065,13 @@ public class XmlParser extends XmlParserBase { composeId("key", element.getKeyElement()); } if (element.hasRequirementsElement()) { - composeString("requirements", element.getRequirementsElement()); + composeMarkdown("requirements", element.getRequirementsElement()); } if (element.hasSeverityElement()) composeEnumeration("severity", element.getSeverityElement(), new ElementDefinition.ConstraintSeverityEnumFactory()); + if (element.hasSuppressElement()) { + composeBoolean("suppress", element.getSuppressElement()); + } if (element.hasHumanElement()) { composeString("human", element.getHumanElement()); } @@ -30686,7 +32101,7 @@ public class XmlParser extends XmlParserBase { if (element.hasStrengthElement()) composeEnumeration("strength", element.getStrengthElement(), new Enumerations.BindingStrengthEnumFactory()); if (element.hasDescriptionElement()) { - composeString("description", element.getDescriptionElement()); + composeMarkdown("description", element.getDescriptionElement()); } if (element.hasValueSetElement()) { composeCanonical("valueSet", element.getValueSetElement()); @@ -30715,7 +32130,7 @@ public class XmlParser extends XmlParserBase { composeString("map", element.getMapElement()); } if (element.hasCommentElement()) { - composeString("comment", element.getCommentElement()); + composeMarkdown("comment", element.getCommentElement()); } } @@ -30763,8 +32178,9 @@ public class XmlParser extends XmlParserBase { if (element.hasPurpose()) { composeCodeableConcept("purpose", element.getPurpose()); } - if (element.hasName()) { - composeHumanName("name", element.getName()); + if (element.hasName()) { + for (HumanName e : element.getName()) + composeHumanName("name", e); } if (element.hasTelecom()) { for (ContactPoint e : element.getTelecom()) @@ -30931,6 +32347,31 @@ public class XmlParser extends XmlParserBase { } } + protected void composeMonetaryComponent(String name, MonetaryComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeMonetaryComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeMonetaryComponentElements(MonetaryComponent element) throws IOException { + composeDataTypeElements(element); + if (element.hasTypeElement()) + composeEnumeration("type", element.getTypeElement(), new MonetaryComponent.PriceComponentTypeEnumFactory()); + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasFactorElement()) { + composeDecimal("factor", element.getFactorElement()); + } + if (element.hasAmount()) { + composeMoney("amount", element.getAmount()); + } + } + protected void composeMoney(String name, Money element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -30997,7 +32438,7 @@ public class XmlParser extends XmlParserBase { composeString("documentation", element.getDocumentationElement()); } if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory()); + composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory()); if (element.hasProfileElement()) { composeCanonical("profile", element.getProfileElement()); } @@ -31224,6 +32665,11 @@ public class XmlParser extends XmlParserBase { if (element.hasResourceReference()) { composeReference("resourceReference", element.getResourceReference()); } + if (element.hasPublicationStatusElement()) + composeEnumeration("publicationStatus", element.getPublicationStatusElement(), new Enumerations.PublicationStatusEnumFactory()); + if (element.hasPublicationDateElement()) { + composeDate("publicationDate", element.getPublicationDateElement()); + } } protected void composeSampledData(String name, SampledData element) throws IOException { @@ -31241,8 +32687,11 @@ public class XmlParser extends XmlParserBase { if (element.hasOrigin()) { composeQuantity("origin", element.getOrigin()); } - if (element.hasPeriodElement()) { - composeDecimal("period", element.getPeriodElement()); + if (element.hasIntervalElement()) { + composeDecimal("interval", element.getIntervalElement()); + } + if (element.hasIntervalUnitElement()) { + composeCode("intervalUnit", element.getIntervalUnitElement()); } if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); @@ -31395,6 +32844,12 @@ public class XmlParser extends XmlParserBase { if (element.hasNameElement()) { composeString("name", element.getNameElement()); } + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasSubscriptionTopicElement()) { + composeCanonical("subscriptionTopic", element.getSubscriptionTopicElement()); + } if (element.hasTiming()) { composeType("timing", element.getTiming()); } if (element.hasData()) { @@ -31425,6 +32880,35 @@ public class XmlParser extends XmlParserBase { composeType("value", element.getValue()); } } + protected void composeVirtualServiceDetail(String name, VirtualServiceDetail element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeVirtualServiceDetailElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeVirtualServiceDetailElements(VirtualServiceDetail element) throws IOException { + composeDataTypeElements(element); + if (element.hasChannelType()) { + composeCoding("channelType", element.getChannelType()); + } + if (element.hasAddress()) { + composeType("address", element.getAddress()); + } if (element.hasAdditionalInfo()) { + for (UrlType e : element.getAdditionalInfo()) + composeUrl("additionalInfo", e); + } + if (element.hasMaxParticipantsElement()) { + composePositiveInt("maxParticipants", element.getMaxParticipantsElement()); + } + if (element.hasSessionKeyElement()) { + composeString("sessionKey", element.getSessionKeyElement()); + } + } + protected void composeCanonicalResourceElements(CanonicalResource element) throws IOException { composeDomainResourceElements(element); } @@ -31520,8 +33004,19 @@ public class XmlParser extends XmlParserBase { for (Account.GuarantorComponent e : element.getGuarantor()) composeAccountGuarantorComponent("guarantor", e); } - if (element.hasPartOf()) { - composeReference("partOf", element.getPartOf()); + if (element.hasRelatedAccount()) { + for (Account.AccountRelatedAccountComponent e : element.getRelatedAccount()) + composeAccountRelatedAccountComponent("relatedAccount", e); + } + if (element.hasCurrency()) { + composeCodeableConcept("currency", element.getCurrency()); + } + if (element.hasBalance()) { + for (Account.AccountBalanceComponent e : element.getBalance()) + composeAccountBalanceComponent("balance", e); + } + if (element.hasCalculatedAtElement()) { + composeInstant("calculatedAt", element.getCalculatedAtElement()); } } @@ -31568,6 +33063,52 @@ public class XmlParser extends XmlParserBase { } } + protected void composeAccountRelatedAccountComponent(String name, Account.AccountRelatedAccountComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAccountRelatedAccountComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAccountRelatedAccountComponentElements(Account.AccountRelatedAccountComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasRelationship()) { + composeCodeableConcept("relationship", element.getRelationship()); + } + if (element.hasAccount()) { + composeReference("account", element.getAccount()); + } + } + + protected void composeAccountBalanceComponent(String name, Account.AccountBalanceComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAccountBalanceComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAccountBalanceComponentElements(Account.AccountBalanceComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasAggregate()) { + composeCodeableConcept("aggregate", element.getAggregate()); + } + if (element.hasTerm()) { + composeCodeableConcept("term", element.getTerm()); + } + if (element.hasEstimateElement()) { + composeBoolean("estimate", element.getEstimateElement()); + } + if (element.hasAmount()) { + composeMoney("amount", element.getAmount()); + } + } + protected void composeActivityDefinition(String name, ActivityDefinition element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -31674,7 +33215,7 @@ public class XmlParser extends XmlParserBase { composeCanonical("library", e); } if (element.hasKindElement()) - composeEnumeration("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypeEnumFactory()); + composeEnumeration("kind", element.getKindElement(), new ActivityDefinition.RequestResourceTypesEnumFactory()); if (element.hasProfileElement()) { composeCanonical("profile", element.getProfileElement()); } @@ -31690,6 +33231,8 @@ public class XmlParser extends XmlParserBase { } if (element.hasTiming()) { composeType("timing", element.getTiming()); + } if (element.hasAsNeeded()) { + composeType("asNeeded", element.getAsNeeded()); } if (element.hasLocation()) { composeCodeableReference("location", element.getLocation()); } @@ -31711,16 +33254,16 @@ public class XmlParser extends XmlParserBase { composeCodeableConcept("bodySite", e); } if (element.hasSpecimenRequirement()) { - for (Reference e : element.getSpecimenRequirement()) - composeReference("specimenRequirement", e); + for (CanonicalType e : element.getSpecimenRequirement()) + composeCanonical("specimenRequirement", e); } if (element.hasObservationRequirement()) { - for (Reference e : element.getObservationRequirement()) - composeReference("observationRequirement", e); + for (CanonicalType e : element.getObservationRequirement()) + composeCanonical("observationRequirement", e); } if (element.hasObservationResultRequirement()) { - for (Reference e : element.getObservationResultRequirement()) - composeReference("observationResultRequirement", e); + for (CanonicalType e : element.getObservationResultRequirement()) + composeCanonical("observationResultRequirement", e); } if (element.hasTransformElement()) { composeCanonical("transform", element.getTransformElement()); @@ -31745,6 +33288,9 @@ public class XmlParser extends XmlParserBase { composeBackboneElementElements(element); if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); + if (element.hasTypeCanonicalElement()) { + composeCanonical("typeCanonical", element.getTypeCanonicalElement()); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -31776,6 +33322,87 @@ public class XmlParser extends XmlParserBase { } } + protected void composeActorDefinition(String name, ActorDefinition element) throws IOException { + if (element != null) { + composeResourceAttributes(element); + xml.enter(FHIR_NS, name); + composeActorDefinitionElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeActorDefinitionElements(ActorDefinition element) throws IOException { + composeCanonicalResourceElements(element); + if (element.hasUrlElement()) { + composeUri("url", element.getUrlElement()); + } + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } + if (element.hasVersionElement()) { + composeString("version", element.getVersionElement()); + } + if (element.hasNameElement()) { + composeString("name", element.getNameElement()); + } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } + if (element.hasStatusElement()) + composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); + if (element.hasExperimentalElement()) { + composeBoolean("experimental", element.getExperimentalElement()); + } + if (element.hasDateElement()) { + composeDateTime("date", element.getDateElement()); + } + if (element.hasPublisherElement()) { + composeString("publisher", element.getPublisherElement()); + } + if (element.hasContact()) { + for (ContactDetail e : element.getContact()) + composeContactDetail("contact", e); + } + if (element.hasDescriptionElement()) { + composeMarkdown("description", element.getDescriptionElement()); + } + if (element.hasUseContext()) { + for (UsageContext e : element.getUseContext()) + composeUsageContext("useContext", e); + } + if (element.hasJurisdiction()) { + for (CodeableConcept e : element.getJurisdiction()) + composeCodeableConcept("jurisdiction", e); + } + if (element.hasPurposeElement()) { + composeMarkdown("purpose", element.getPurposeElement()); + } + if (element.hasCopyrightElement()) { + composeMarkdown("copyright", element.getCopyrightElement()); + } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } + if (element.hasTypeElement()) + composeEnumeration("type", element.getTypeElement(), new Enumerations.ExampleScenarioActorTypeEnumFactory()); + if (element.hasDocumentationElement()) { + composeMarkdown("documentation", element.getDocumentationElement()); + } + if (element.hasReference()) { + for (UrlType e : element.getReference()) + composeUrl("reference", e); + } + if (element.hasCapabilitiesElement()) { + composeCanonical("capabilities", element.getCapabilitiesElement()); + } + if (element.hasDerivedFrom()) { + for (CanonicalType e : element.getDerivedFrom()) + composeCanonical("derivedFrom", e); + } + } + protected void composeAdministrableProductDefinition(String name, AdministrableProductDefinition element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -31989,6 +33616,10 @@ public class XmlParser extends XmlParserBase { for (AdverseEvent.AdverseEventParticipantComponent e : element.getParticipant()) composeAdverseEventParticipantComponent("participant", e); } + if (element.hasStudy()) { + for (Reference e : element.getStudy()) + composeReference("study", e); + } if (element.hasExpectedInResearchStudyElement()) { composeBoolean("expectedInResearchStudy", element.getExpectedInResearchStudyElement()); } @@ -32012,9 +33643,9 @@ public class XmlParser extends XmlParserBase { for (AdverseEvent.AdverseEventSupportingInfoComponent e : element.getSupportingInfo()) composeAdverseEventSupportingInfoComponent("supportingInfo", e); } - if (element.hasStudy()) { - for (Reference e : element.getStudy()) - composeReference("study", e); + if (element.hasNote()) { + for (Annotation e : element.getNote()) + composeAnnotation("note", e); } } @@ -32281,6 +33912,10 @@ public class XmlParser extends XmlParserBase { if (element.hasCancellationReason()) { composeCodeableConcept("cancellationReason", element.getCancellationReason()); } + if (element.hasClass_()) { + for (CodeableConcept e : element.getClass_()) + composeCodeableConcept("class", e); + } if (element.hasServiceCategory()) { for (CodeableConcept e : element.getServiceCategory()) composeCodeableConcept("serviceCategory", e); @@ -32310,10 +33945,20 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getReplaces()) composeReference("replaces", e); } + if (element.hasVirtualService()) { + for (VirtualServiceDetail e : element.getVirtualService()) + composeVirtualServiceDetail("virtualService", e); + } if (element.hasSupportingInformation()) { for (Reference e : element.getSupportingInformation()) composeReference("supportingInformation", e); } + if (element.hasPreviousAppointment()) { + composeReference("previousAppointment", element.getPreviousAppointment()); + } + if (element.hasOriginatingAppointment()) { + composeReference("originatingAppointment", element.getOriginatingAppointment()); + } if (element.hasStartElement()) { composeInstant("start", element.getStartElement()); } @@ -32357,6 +34002,16 @@ public class XmlParser extends XmlParserBase { for (Period e : element.getRequestedPeriod()) composePeriod("requestedPeriod", e); } + if (element.hasRecurrenceIdElement()) { + composePositiveInt("recurrenceId", element.getRecurrenceIdElement()); + } + if (element.hasOccurrenceChangedElement()) { + composeBoolean("occurrenceChanged", element.getOccurrenceChangedElement()); + } + if (element.hasRecurrenceTemplate()) { + for (Appointment.AppointmentRecurrenceTemplateComponent e : element.getRecurrenceTemplate()) + composeAppointmentRecurrenceTemplateComponent("recurrenceTemplate", e); + } } protected void composeAppointmentParticipantComponent(String name, Appointment.AppointmentParticipantComponent element) throws IOException { @@ -32388,6 +34043,134 @@ public class XmlParser extends XmlParserBase { composeEnumeration("status", element.getStatusElement(), new Enumerations.ParticipationStatusEnumFactory()); } + protected void composeAppointmentRecurrenceTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAppointmentRecurrenceTemplateComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAppointmentRecurrenceTemplateComponentElements(Appointment.AppointmentRecurrenceTemplateComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTimezone()) { + composeCodeableConcept("timezone", element.getTimezone()); + } + if (element.hasRecurrenceType()) { + composeCodeableConcept("recurrenceType", element.getRecurrenceType()); + } + if (element.hasLastOccurrenceDateElement()) { + composeDate("lastOccurrenceDate", element.getLastOccurrenceDateElement()); + } + if (element.hasOccurrenceCountElement()) { + composePositiveInt("occurrenceCount", element.getOccurrenceCountElement()); + } + if (element.hasOccurrenceDate()) { + for (DateType e : element.getOccurrenceDate()) + composeDate("occurrenceDate", e); + } + if (element.hasWeeklyTemplate()) { + composeAppointmentRecurrenceTemplateWeeklyTemplateComponent("weeklyTemplate", element.getWeeklyTemplate()); + } + if (element.hasMonthlyTemplate()) { + composeAppointmentRecurrenceTemplateMonthlyTemplateComponent("monthlyTemplate", element.getMonthlyTemplate()); + } + if (element.hasYearlyTemplate()) { + composeAppointmentRecurrenceTemplateYearlyTemplateComponent("yearlyTemplate", element.getYearlyTemplate()); + } + if (element.hasExcludingDate()) { + for (DateType e : element.getExcludingDate()) + composeDate("excludingDate", e); + } + if (element.hasExcludingRecurrenceId()) { + for (PositiveIntType e : element.getExcludingRecurrenceId()) + composePositiveInt("excludingRecurrenceId", e); + } + } + + protected void composeAppointmentRecurrenceTemplateWeeklyTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAppointmentRecurrenceTemplateWeeklyTemplateComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAppointmentRecurrenceTemplateWeeklyTemplateComponentElements(Appointment.AppointmentRecurrenceTemplateWeeklyTemplateComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasMondayElement()) { + composeBoolean("monday", element.getMondayElement()); + } + if (element.hasTuesdayElement()) { + composeBoolean("tuesday", element.getTuesdayElement()); + } + if (element.hasWednesdayElement()) { + composeBoolean("wednesday", element.getWednesdayElement()); + } + if (element.hasThursdayElement()) { + composeBoolean("thursday", element.getThursdayElement()); + } + if (element.hasFridayElement()) { + composeBoolean("friday", element.getFridayElement()); + } + if (element.hasSaturdayElement()) { + composeBoolean("saturday", element.getSaturdayElement()); + } + if (element.hasSundayElement()) { + composeBoolean("sunday", element.getSundayElement()); + } + if (element.hasWeekIntervalElement()) { + composePositiveInt("weekInterval", element.getWeekIntervalElement()); + } + } + + protected void composeAppointmentRecurrenceTemplateMonthlyTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAppointmentRecurrenceTemplateMonthlyTemplateComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAppointmentRecurrenceTemplateMonthlyTemplateComponentElements(Appointment.AppointmentRecurrenceTemplateMonthlyTemplateComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasDayOfMonthElement()) { + composePositiveInt("dayOfMonth", element.getDayOfMonthElement()); + } + if (element.hasNthWeekOfMonth()) { + composeCoding("nthWeekOfMonth", element.getNthWeekOfMonth()); + } + if (element.hasDayOfWeek()) { + composeCoding("dayOfWeek", element.getDayOfWeek()); + } + if (element.hasMonthIntervalElement()) { + composePositiveInt("monthInterval", element.getMonthIntervalElement()); + } + } + + protected void composeAppointmentRecurrenceTemplateYearlyTemplateComponent(String name, Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeAppointmentRecurrenceTemplateYearlyTemplateComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeAppointmentRecurrenceTemplateYearlyTemplateComponentElements(Appointment.AppointmentRecurrenceTemplateYearlyTemplateComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasYearIntervalElement()) { + composePositiveInt("yearInterval", element.getYearIntervalElement()); + } + } + protected void composeAppointmentResponse(String name, AppointmentResponse element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -32407,6 +34190,9 @@ public class XmlParser extends XmlParserBase { if (element.hasAppointment()) { composeReference("appointment", element.getAppointment()); } + if (element.hasProposedNewTimeElement()) { + composeBoolean("proposedNewTime", element.getProposedNewTimeElement()); + } if (element.hasStartElement()) { composeInstant("start", element.getStartElement()); } @@ -32425,6 +34211,15 @@ public class XmlParser extends XmlParserBase { if (element.hasCommentElement()) { composeString("comment", element.getCommentElement()); } + if (element.hasRecurringElement()) { + composeBoolean("recurring", element.getRecurringElement()); + } + if (element.hasOccurrenceDateElement()) { + composeDate("occurrenceDate", element.getOccurrenceDateElement()); + } + if (element.hasRecurrenceIdElement()) { + composePositiveInt("recurrenceId", element.getRecurrenceIdElement()); + } } protected void composeArtifactAssessment(String name, ArtifactAssessment element) throws IOException { @@ -32779,7 +34574,7 @@ public class XmlParser extends XmlParserBase { composeCoding("productCategory", element.getProductCategory()); } if (element.hasProductCode()) { - composeCoding("productCode", element.getProductCode()); + composeCodeableConcept("productCode", element.getProductCode()); } if (element.hasParent()) { for (Reference e : element.getParent()) @@ -32986,6 +34781,11 @@ public class XmlParser extends XmlParserBase { if (element.hasSignature()) { composeSignature("signature", element.getSignature()); } + if (element.hasIssues()) { + xml.enter(FHIR_NS, "issues"); + composeResource(element.getIssues()); + xml.exit(FHIR_NS, "issues"); + } } protected void composeBundleLinkComponent(String name, Bundle.BundleLinkComponent element) throws IOException { @@ -33000,9 +34800,8 @@ public class XmlParser extends XmlParserBase { protected void composeBundleLinkComponentElements(Bundle.BundleLinkComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasRelationElement()) { - composeString("relation", element.getRelationElement()); - } + if (element.hasRelationElement()) + composeEnumeration("relation", element.getRelationElement(), new Bundle.LinkRelationTypesEnumFactory()); if (element.hasUrlElement()) { composeUri("url", element.getUrlElement()); } @@ -33142,7 +34941,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -33180,6 +34981,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasKindElement()) composeEnumeration("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory()); if (element.hasInstantiates()) { @@ -33206,6 +35010,10 @@ public class XmlParser extends XmlParserBase { for (CodeType e : element.getPatchFormat()) composeCode("patchFormat", e); } + if (element.hasAcceptLanguage()) { + for (CodeType e : element.getAcceptLanguage()) + composeCode("acceptLanguage", e); + } if (element.hasImplementationGuide()) { for (CanonicalType e : element.getImplementationGuide()) composeCanonical("implementationGuide", e); @@ -33283,7 +35091,7 @@ public class XmlParser extends XmlParserBase { protected void composeCapabilityStatementRestComponentElements(CapabilityStatement.CapabilityStatementRestComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasModeElement()) - composeEnumeration("mode", element.getModeElement(), new Enumerations.RestfulCapabilityModeEnumFactory()); + composeEnumeration("mode", element.getModeElement(), new CapabilityStatement.RestfulCapabilityModeEnumFactory()); if (element.hasDocumentationElement()) { composeMarkdown("documentation", element.getDocumentationElement()); } @@ -33381,6 +35189,9 @@ public class XmlParser extends XmlParserBase { if (element.hasConditionalUpdateElement()) { composeBoolean("conditionalUpdate", element.getConditionalUpdateElement()); } + if (element.hasConditionalPatchElement()) { + composeBoolean("conditionalPatch", element.getConditionalPatchElement()); + } if (element.hasConditionalDeleteElement()) composeEnumeration("conditionalDelete", element.getConditionalDeleteElement(), new CapabilityStatement.ConditionalDeleteStatusEnumFactory()); if (element.hasReferencePolicy()) @@ -33579,350 +35390,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeCapabilityStatement2(String name, CapabilityStatement2 element) throws IOException { - if (element != null) { - composeResourceAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2Elements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2Elements(CapabilityStatement2 element) throws IOException { - composeCanonicalResourceElements(element); - if (element.hasUrlElement()) { - composeUri("url", element.getUrlElement()); - } - if (element.hasVersionElement()) { - composeString("version", element.getVersionElement()); - } - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); - } - if (element.hasTitleElement()) { - composeString("title", element.getTitleElement()); - } - if (element.hasStatusElement()) - composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); - if (element.hasExperimentalElement()) { - composeBoolean("experimental", element.getExperimentalElement()); - } - if (element.hasDateElement()) { - composeDateTime("date", element.getDateElement()); - } - if (element.hasPublisherElement()) { - composeString("publisher", element.getPublisherElement()); - } - if (element.hasContact()) { - for (ContactDetail e : element.getContact()) - composeContactDetail("contact", e); - } - if (element.hasDescriptionElement()) { - composeMarkdown("description", element.getDescriptionElement()); - } - if (element.hasUseContext()) { - for (UsageContext e : element.getUseContext()) - composeUsageContext("useContext", e); - } - if (element.hasJurisdiction()) { - for (CodeableConcept e : element.getJurisdiction()) - composeCodeableConcept("jurisdiction", e); - } - if (element.hasPurposeElement()) { - composeMarkdown("purpose", element.getPurposeElement()); - } - if (element.hasCopyrightElement()) { - composeMarkdown("copyright", element.getCopyrightElement()); - } - if (element.hasKindElement()) - composeEnumeration("kind", element.getKindElement(), new Enumerations.CapabilityStatementKindEnumFactory()); - if (element.hasInstantiates()) { - for (CanonicalType e : element.getInstantiates()) - composeCanonical("instantiates", e); - } - if (element.hasImports()) { - for (CanonicalType e : element.getImports()) - composeCanonical("imports", e); - } - if (element.hasSoftware()) { - composeCapabilityStatement2SoftwareComponent("software", element.getSoftware()); - } - if (element.hasImplementation()) { - composeCapabilityStatement2ImplementationComponent("implementation", element.getImplementation()); - } - if (element.hasFhirVersionElement()) - composeEnumeration("fhirVersion", element.getFhirVersionElement(), new Enumerations.FHIRVersionEnumFactory()); - if (element.hasFormat()) { - for (CodeType e : element.getFormat()) - composeCode("format", e); - } - if (element.hasPatchFormat()) { - for (CodeType e : element.getPatchFormat()) - composeCode("patchFormat", e); - } - if (element.hasImplementationGuide()) { - for (CanonicalType e : element.getImplementationGuide()) - composeCanonical("implementationGuide", e); - } - if (element.hasRest()) { - for (CapabilityStatement2.CapabilityStatement2RestComponent e : element.getRest()) - composeCapabilityStatement2RestComponent("rest", e); - } - } - - protected void composeCapabilityStatement2SoftwareComponent(String name, CapabilityStatement2.CapabilityStatement2SoftwareComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2SoftwareComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2SoftwareComponentElements(CapabilityStatement2.CapabilityStatement2SoftwareComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); - } - if (element.hasVersionElement()) { - composeString("version", element.getVersionElement()); - } - if (element.hasReleaseDateElement()) { - composeDateTime("releaseDate", element.getReleaseDateElement()); - } - } - - protected void composeCapabilityStatement2ImplementationComponent(String name, CapabilityStatement2.CapabilityStatement2ImplementationComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2ImplementationComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2ImplementationComponentElements(CapabilityStatement2.CapabilityStatement2ImplementationComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDescriptionElement()) { - composeString("description", element.getDescriptionElement()); - } - if (element.hasUrlElement()) { - composeUrl("url", element.getUrlElement()); - } - if (element.hasCustodian()) { - composeReference("custodian", element.getCustodian()); - } - } - - protected void composeCapabilityStatement2RestComponent(String name, CapabilityStatement2.CapabilityStatement2RestComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2RestComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2RestComponentElements(CapabilityStatement2.CapabilityStatement2RestComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasModeElement()) - composeEnumeration("mode", element.getModeElement(), new Enumerations.RestfulCapabilityModeEnumFactory()); - if (element.hasDocumentationElement()) { - composeMarkdown("documentation", element.getDocumentationElement()); - } - if (element.hasFeature()) { - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent("feature", e); - } - if (element.hasResource()) { - for (CapabilityStatement2.CapabilityStatement2RestResourceComponent e : element.getResource()) - composeCapabilityStatement2RestResourceComponent("resource", e); - } - if (element.hasInteraction()) { - for (CapabilityStatement2.SystemInteractionComponent e : element.getInteraction()) - composeCapabilityStatement2SystemInteractionComponent("interaction", e); - } - if (element.hasSearchParam()) { - for (CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent e : element.getSearchParam()) - composeCapabilityStatement2RestResourceSearchParamComponent("searchParam", e); - } - if (element.hasOperation()) { - for (CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent e : element.getOperation()) - composeCapabilityStatement2RestResourceOperationComponent("operation", e); - } - if (element.hasCompartment()) { - for (CanonicalType e : element.getCompartment()) - composeCanonical("compartment", e); - } - } - - protected void composeCapabilityStatement2RestFeatureComponent(String name, CapabilityStatement2.CapabilityStatement2RestFeatureComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2RestFeatureComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2RestFeatureComponentElements(CapabilityStatement2.CapabilityStatement2RestFeatureComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasCodeElement()) - composeEnumeration("code", element.getCodeElement(), new CapabilityStatement2.CapabilityFeatureEnumFactory()); - if (element.hasValueElement()) - composeEnumeration("value", element.getValueElement(), new CapabilityStatement2.CapabilityFeatureValueEnumFactory()); - } - - protected void composeCapabilityStatement2RestResourceComponent(String name, CapabilityStatement2.CapabilityStatement2RestResourceComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2RestResourceComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2RestResourceComponentElements(CapabilityStatement2.CapabilityStatement2RestResourceComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasTypeElement()) { - composeCode("type", element.getTypeElement()); - } - if (element.hasProfileElement()) { - composeCanonical("profile", element.getProfileElement()); - } - if (element.hasSupportedProfile()) { - for (CanonicalType e : element.getSupportedProfile()) - composeCanonical("supportedProfile", e); - } - if (element.hasDocumentationElement()) { - composeMarkdown("documentation", element.getDocumentationElement()); - } - if (element.hasFeature()) { - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent("feature", e); - } - if (element.hasInteraction()) { - for (CapabilityStatement2.ResourceInteractionComponent e : element.getInteraction()) - composeCapabilityStatement2ResourceInteractionComponent("interaction", e); - } - if (element.hasSearchParam()) { - for (CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent e : element.getSearchParam()) - composeCapabilityStatement2RestResourceSearchParamComponent("searchParam", e); - } - if (element.hasOperation()) { - for (CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent e : element.getOperation()) - composeCapabilityStatement2RestResourceOperationComponent("operation", e); - } - } - - protected void composeCapabilityStatement2ResourceInteractionComponent(String name, CapabilityStatement2.ResourceInteractionComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2ResourceInteractionComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2ResourceInteractionComponentElements(CapabilityStatement2.ResourceInteractionComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasCodeElement()) - composeEnumeration("code", element.getCodeElement(), new CapabilityStatement2.TypeRestfulInteractionEnumFactory()); - if (element.hasDocumentationElement()) { - composeMarkdown("documentation", element.getDocumentationElement()); - } - if (element.hasFeature()) { - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent("feature", e); - } - } - - protected void composeCapabilityStatement2RestResourceSearchParamComponent(String name, CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2RestResourceSearchParamComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2RestResourceSearchParamComponentElements(CapabilityStatement2.CapabilityStatement2RestResourceSearchParamComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); - } - if (element.hasDefinitionElement()) { - composeCanonical("definition", element.getDefinitionElement()); - } - if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); - if (element.hasDocumentationElement()) { - composeMarkdown("documentation", element.getDocumentationElement()); - } - if (element.hasFeature()) { - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent("feature", e); - } - } - - protected void composeCapabilityStatement2RestResourceOperationComponent(String name, CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2RestResourceOperationComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2RestResourceOperationComponentElements(CapabilityStatement2.CapabilityStatement2RestResourceOperationComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); - } - if (element.hasDefinitionElement()) { - composeCanonical("definition", element.getDefinitionElement()); - } - if (element.hasDocumentationElement()) { - composeMarkdown("documentation", element.getDocumentationElement()); - } - if (element.hasFeature()) { - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent("feature", e); - } - } - - protected void composeCapabilityStatement2SystemInteractionComponent(String name, CapabilityStatement2.SystemInteractionComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCapabilityStatement2SystemInteractionComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCapabilityStatement2SystemInteractionComponentElements(CapabilityStatement2.SystemInteractionComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasCodeElement()) - composeEnumeration("code", element.getCodeElement(), new CapabilityStatement2.SystemRestfulInteractionEnumFactory()); - if (element.hasDocumentationElement()) { - composeMarkdown("documentation", element.getDocumentationElement()); - } - if (element.hasFeature()) { - for (CapabilityStatement2.CapabilityStatement2RestFeatureComponent e : element.getFeature()) - composeCapabilityStatement2RestFeatureComponent("feature", e); - } - } - protected void composeCarePlan(String name, CarePlan element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -34225,8 +35692,8 @@ public class XmlParser extends XmlParserBase { if (element.hasSubject()) { composeReference("subject", element.getSubject()); } - if (element.hasContext()) { - composeReference("context", element.getContext()); + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); } if (element.hasOccurrence()) { composeType("occurrence", element.getOccurrence()); @@ -34250,14 +35717,14 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getBodysite()) composeCodeableConcept("bodysite", e); } - if (element.hasFactorOverrideElement()) { - composeDecimal("factorOverride", element.getFactorOverrideElement()); + if (element.hasUnitPriceComponent()) { + composeMonetaryComponent("unitPriceComponent", element.getUnitPriceComponent()); } - if (element.hasPriceOverride()) { - composeMoney("priceOverride", element.getPriceOverride()); + if (element.hasTotalPriceComponent()) { + composeMonetaryComponent("totalPriceComponent", element.getTotalPriceComponent()); } - if (element.hasOverrideReasonElement()) { - composeString("overrideReason", element.getOverrideReasonElement()); + if (element.hasOverrideReason()) { + composeCodeableConcept("overrideReason", element.getOverrideReason()); } if (element.hasEnterer()) { composeReference("enterer", element.getEnterer()); @@ -34270,8 +35737,8 @@ public class XmlParser extends XmlParserBase { composeCodeableConcept("reason", e); } if (element.hasService()) { - for (Reference e : element.getService()) - composeReference("service", e); + for (CodeableReference e : element.getService()) + composeCodeableReference("service", e); } if (element.hasProduct()) { for (CodeableReference e : element.getProduct()) @@ -34333,6 +35800,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } + if (element.hasNameElement()) { + composeString("name", element.getNameElement()); + } if (element.hasTitleElement()) { composeString("title", element.getTitleElement()); } @@ -34374,6 +35844,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getJurisdiction()) composeCodeableConcept("jurisdiction", e); } + if (element.hasPurposeElement()) { + composeMarkdown("purpose", element.getPurposeElement()); + } if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } @@ -34383,9 +35856,6 @@ public class XmlParser extends XmlParserBase { if (element.hasLastReviewDateElement()) { composeDate("lastReviewDate", element.getLastReviewDateElement()); } - if (element.hasEffectivePeriod()) { - composePeriod("effectivePeriod", element.getEffectivePeriod()); - } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -34415,14 +35885,14 @@ public class XmlParser extends XmlParserBase { protected void composeChargeItemDefinitionApplicabilityComponentElements(ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasDescriptionElement()) { - composeString("description", element.getDescriptionElement()); + if (element.hasCondition()) { + composeExpression("condition", element.getCondition()); } - if (element.hasLanguageElement()) { - composeString("language", element.getLanguageElement()); + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); } - if (element.hasExpressionElement()) { - composeString("expression", element.getExpressionElement()); + if (element.hasRelatedArtifact()) { + composeRelatedArtifact("relatedArtifact", element.getRelatedArtifact()); } } @@ -34443,33 +35913,8 @@ public class XmlParser extends XmlParserBase { composeChargeItemDefinitionApplicabilityComponent("applicability", e); } if (element.hasPriceComponent()) { - for (ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent e : element.getPriceComponent()) - composeChargeItemDefinitionPropertyGroupPriceComponentComponent("priceComponent", e); - } - } - - protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponent(String name, ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeChargeItemDefinitionPropertyGroupPriceComponentComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeChargeItemDefinitionPropertyGroupPriceComponentComponentElements(ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory()); - if (element.hasCode()) { - composeCodeableConcept("code", element.getCode()); - } - if (element.hasFactorElement()) { - composeDecimal("factor", element.getFactorElement()); - } - if (element.hasAmount()) { - composeMoney("amount", element.getAmount()); + for (MonetaryComponent e : element.getPriceComponent()) + composeMonetaryComponent("priceComponent", e); } } @@ -34890,8 +36335,29 @@ public class XmlParser extends XmlParserBase { if (element.hasPublishedIn()) { composeCitationCitedArtifactPublicationFormPublishedInComponent("publishedIn", element.getPublishedIn()); } - if (element.hasPeriodicRelease()) { - composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent("periodicRelease", element.getPeriodicRelease()); + if (element.hasCitedMedium()) { + composeCodeableConcept("citedMedium", element.getCitedMedium()); + } + if (element.hasVolumeElement()) { + composeString("volume", element.getVolumeElement()); + } + if (element.hasIssueElement()) { + composeString("issue", element.getIssueElement()); + } + if (element.hasPublicationDateYearElement()) { + composeString("publicationDateYear", element.getPublicationDateYearElement()); + } + if (element.hasPublicationDateMonthElement()) { + composeString("publicationDateMonth", element.getPublicationDateMonthElement()); + } + if (element.hasPublicationDateDayElement()) { + composeString("publicationDateDay", element.getPublicationDateDayElement()); + } + if (element.hasPublicationDateSeasonElement()) { + composeString("publicationDateSeason", element.getPublicationDateSeasonElement()); + } + if (element.hasPublicationDateTextElement()) { + composeString("publicationDateText", element.getPublicationDateTextElement()); } if (element.hasArticleDateElement()) { composeDateTime("articleDate", element.getArticleDateElement()); @@ -34953,64 +36419,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponent(String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCitationCitedArtifactPublicationFormPeriodicReleaseComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseComponentElements(Citation.CitationCitedArtifactPublicationFormPeriodicReleaseComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasCitedMedium()) { - composeCodeableConcept("citedMedium", element.getCitedMedium()); - } - if (element.hasVolumeElement()) { - composeString("volume", element.getVolumeElement()); - } - if (element.hasIssueElement()) { - composeString("issue", element.getIssueElement()); - } - if (element.hasDateOfPublication()) { - composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent("dateOfPublication", element.getDateOfPublication()); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(String name, Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeCitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponentElements(Citation.CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDateElement()) { - composeDate("date", element.getDateElement()); - } - if (element.hasYearElement()) { - composeString("year", element.getYearElement()); - } - if (element.hasMonthElement()) { - composeString("month", element.getMonthElement()); - } - if (element.hasDayElement()) { - composeString("day", element.getDayElement()); - } - if (element.hasSeasonElement()) { - composeString("season", element.getSeasonElement()); - } - if (element.hasTextElement()) { - composeString("text", element.getTextElement()); - } - } - protected void composeCitationCitedArtifactWebLocationComponent(String name, Citation.CitationCitedArtifactWebLocationComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -35235,9 +36643,16 @@ public class XmlParser extends XmlParserBase { if (element.hasReferral()) { composeReference("referral", element.getReferral()); } + if (element.hasEncounter()) { + for (Reference e : element.getEncounter()) + composeReference("encounter", e); + } if (element.hasFacility()) { composeReference("facility", element.getFacility()); } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept("diagnosisRelatedGroup", element.getDiagnosisRelatedGroup()); + } if (element.hasCareTeam()) { for (Claim.CareTeamComponent e : element.getCareTeam()) composeClaimCareTeamComponent("careTeam", e); @@ -35261,6 +36676,9 @@ public class XmlParser extends XmlParserBase { if (element.hasAccident()) { composeClaimAccidentComponent("accident", element.getAccident()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasItem()) { for (Claim.ItemComponent e : element.getItem()) composeClaimItemComponent("item", e); @@ -35337,8 +36755,8 @@ public class XmlParser extends XmlParserBase { if (element.hasRole()) { composeCodeableConcept("role", element.getRole()); } - if (element.hasQualification()) { - composeCodeableConcept("qualification", element.getQualification()); + if (element.hasSpecialty()) { + composeCodeableConcept("specialty", element.getSpecialty()); } } @@ -35396,9 +36814,6 @@ public class XmlParser extends XmlParserBase { if (element.hasOnAdmission()) { composeCodeableConcept("onAdmission", element.getOnAdmission()); } - if (element.hasPackageCode()) { - composeCodeableConcept("packageCode", element.getPackageCode()); - } } protected void composeClaimProcedureComponent(String name, Claim.ProcedureComponent element) throws IOException { @@ -35529,6 +36944,9 @@ public class XmlParser extends XmlParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -35541,7 +36959,10 @@ public class XmlParser extends XmlParserBase { composeType("serviced", element.getServiced()); } if (element.hasLocation()) { composeType("location", element.getLocation()); - } if (element.hasQuantity()) { + } if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } + if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } if (element.hasUnitPrice()) { @@ -35550,6 +36971,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -35557,12 +36981,9 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getUdi()) composeReference("udi", e); } - if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept("subSite", e); + if (element.hasBodySite()) { + for (Claim.BodySiteComponent e : element.getBodySite()) + composeClaimBodySiteComponent("bodySite", e); } if (element.hasEncounter()) { for (Reference e : element.getEncounter()) @@ -35574,6 +36995,28 @@ public class XmlParser extends XmlParserBase { } } + protected void composeClaimBodySiteComponent(String name, Claim.BodySiteComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeClaimBodySiteComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeClaimBodySiteComponentElements(Claim.BodySiteComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasSite()) { + for (CodeableReference e : element.getSite()) + composeCodeableReference("site", e); + } + if (element.hasSubSite()) { + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept("subSite", e); + } + } + protected void composeClaimDetailComponent(String name, Claim.DetailComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -35598,6 +37041,9 @@ public class XmlParser extends XmlParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -35606,6 +37052,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getProgramCode()) composeCodeableConcept("programCode", e); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -35615,6 +37064,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -35652,6 +37104,9 @@ public class XmlParser extends XmlParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -35660,6 +37115,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getProgramCode()) composeCodeableConcept("programCode", e); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -35669,6 +37127,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -35721,6 +37182,9 @@ public class XmlParser extends XmlParserBase { } if (element.hasOutcomeElement()) composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.ClaimProcessingCodesEnumFactory()); + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasDispositionElement()) { composeString("disposition", element.getDispositionElement()); } @@ -35733,6 +37197,13 @@ public class XmlParser extends XmlParserBase { if (element.hasPayeeType()) { composeCodeableConcept("payeeType", element.getPayeeType()); } + if (element.hasEncounter()) { + for (Reference e : element.getEncounter()) + composeReference("encounter", e); + } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept("diagnosisRelatedGroup", element.getDiagnosisRelatedGroup()); + } if (element.hasItem()) { for (ClaimResponse.ItemComponent e : element.getItem()) composeClaimResponseItemComponent("item", e); @@ -35798,6 +37269,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) composeClaimResponseAdjudicationComponent("adjudication", e); @@ -35853,6 +37327,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) composeClaimResponseAdjudicationComponent("adjudication", e); @@ -35882,6 +37359,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) composeClaimResponseAdjudicationComponent("adjudication", e); @@ -35916,9 +37396,15 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getProvider()) composeReference("provider", e); } + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -35940,20 +37426,23 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } - if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept("subSite", e); + if (element.hasBodySite()) { + for (ClaimResponse.BodySiteComponent e : element.getBodySite()) + composeClaimResponseBodySiteComponent("bodySite", e); } if (element.hasNoteNumber()) { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) composeClaimResponseAdjudicationComponent("adjudication", e); @@ -35964,6 +37453,28 @@ public class XmlParser extends XmlParserBase { } } + protected void composeClaimResponseBodySiteComponent(String name, ClaimResponse.BodySiteComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeClaimResponseBodySiteComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeClaimResponseBodySiteComponentElements(ClaimResponse.BodySiteComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasSite()) { + for (CodeableReference e : element.getSite()) + composeCodeableReference("site", e); + } + if (element.hasSubSite()) { + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept("subSite", e); + } + } + protected void composeClaimResponseAddedItemDetailComponent(String name, ClaimResponse.AddedItemDetailComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -35976,9 +37487,15 @@ public class XmlParser extends XmlParserBase { protected void composeClaimResponseAddedItemDetailComponentElements(ClaimResponse.AddedItemDetailComponent element) throws IOException { composeBackboneElementElements(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -35992,6 +37509,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -35999,6 +37519,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) composeClaimResponseAdjudicationComponent("adjudication", e); @@ -36021,9 +37544,15 @@ public class XmlParser extends XmlParserBase { protected void composeClaimResponseAddedItemSubDetailComponentElements(ClaimResponse.AddedItemSubDetailComponent element) throws IOException { composeBackboneElementElements(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -36037,6 +37566,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -36044,6 +37576,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ClaimResponse.AdjudicationComponent e : element.getAdjudication()) composeClaimResponseAdjudicationComponent("adjudication", e); @@ -36227,6 +37762,9 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getProblem()) composeReference("problem", e); } + if (element.hasChangePattern()) { + composeCodeableConcept("changePattern", element.getChangePattern()); + } if (element.hasProtocol()) { for (UriType e : element.getProtocol()) composeUri("protocol", e); @@ -36373,8 +37911,8 @@ public class XmlParser extends XmlParserBase { if (element.hasRelationshipType()) { composeCodeableConcept("relationshipType", element.getRelationshipType()); } - if (element.hasTherapy()) { - composeCodeableReference("therapy", element.getTherapy()); + if (element.hasTreatment()) { + composeCodeableReference("treatment", element.getTreatment()); } } @@ -36516,7 +38054,7 @@ public class XmlParser extends XmlParserBase { } protected void composeCodeSystemElements(CodeSystem element) throws IOException { - composeCanonicalResourceElements(element); + composeMetadataResourceElements(element); if (element.hasUrlElement()) { composeUri("url", element.getUrlElement()); } @@ -36565,6 +38103,39 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasApprovalDateElement()) { + composeDate("approvalDate", element.getApprovalDateElement()); + } + if (element.hasLastReviewDateElement()) { + composeDate("lastReviewDate", element.getLastReviewDateElement()); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept("topic", e); + } + if (element.hasAuthor()) { + for (ContactDetail e : element.getAuthor()) + composeContactDetail("author", e); + } + if (element.hasEditor()) { + for (ContactDetail e : element.getEditor()) + composeContactDetail("editor", e); + } + if (element.hasReviewer()) { + for (ContactDetail e : element.getReviewer()) + composeContactDetail("reviewer", e); + } + if (element.hasEndorser()) { + for (ContactDetail e : element.getEndorser()) + composeContactDetail("endorser", e); + } + if (element.hasRelatedArtifact()) { + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact("relatedArtifact", e); + } if (element.hasCaseSensitiveElement()) { composeBoolean("caseSensitive", element.getCaseSensitiveElement()); } @@ -36705,6 +38276,10 @@ public class XmlParser extends XmlParserBase { if (element.hasUse()) { composeCoding("use", element.getUse()); } + if (element.hasAdditionalUse()) { + for (Coding e : element.getAdditionalUse()) + composeCoding("additionalUse", e); + } if (element.hasValueElement()) { composeString("value", element.getValueElement()); } @@ -36957,9 +38532,14 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); if (element.hasExperimentalElement()) { @@ -37018,6 +38598,12 @@ public class XmlParser extends XmlParserBase { if (element.hasDocumentationElement()) { composeString("documentation", element.getDocumentationElement()); } + if (element.hasStartParamElement()) { + composeUri("startParam", element.getStartParamElement()); + } + if (element.hasEndParamElement()) { + composeUri("endParam", element.getEndParamElement()); + } } protected void composeComposition(String name, Composition element) throws IOException { @@ -37035,8 +38621,9 @@ public class XmlParser extends XmlParserBase { if (element.hasUrlElement()) { composeUri("url", element.getUrlElement()); } - if (element.hasIdentifier()) { - composeIdentifier("identifier", element.getIdentifier()); + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); } if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); @@ -37050,8 +38637,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getCategory()) composeCodeableConcept("category", e); } - if (element.hasSubject()) { - composeReference("subject", element.getSubject()); + if (element.hasSubject()) { + for (Reference e : element.getSubject()) + composeReference("subject", e); } if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); @@ -37077,9 +38665,6 @@ public class XmlParser extends XmlParserBase { for (Annotation e : element.getNote()) composeAnnotation("note", e); } - if (element.hasConfidentialityElement()) { - composeCode("confidentiality", element.getConfidentialityElement()); - } if (element.hasAttester()) { for (Composition.CompositionAttesterComponent e : element.getAttester()) composeCompositionAttesterComponent("attester", e); @@ -37255,6 +38840,39 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasApprovalDateElement()) { + composeDate("approvalDate", element.getApprovalDateElement()); + } + if (element.hasLastReviewDateElement()) { + composeDate("lastReviewDate", element.getLastReviewDateElement()); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept("topic", e); + } + if (element.hasAuthor()) { + for (ContactDetail e : element.getAuthor()) + composeContactDetail("author", e); + } + if (element.hasEditor()) { + for (ContactDetail e : element.getEditor()) + composeContactDetail("editor", e); + } + if (element.hasReviewer()) { + for (ContactDetail e : element.getReviewer()) + composeContactDetail("reviewer", e); + } + if (element.hasEndorser()) { + for (ContactDetail e : element.getEndorser()) + composeContactDetail("endorser", e); + } + if (element.hasRelatedArtifact()) { + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact("relatedArtifact", e); + } if (element.hasSourceScope()) { composeType("sourceScope", element.getSourceScope()); } if (element.hasTargetScope()) { @@ -37864,7 +39482,7 @@ public class XmlParser extends XmlParserBase { protected void composeConsentProvisionComponentElements(Consent.ProvisionComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Consent.ConsentProvisionTypeEnumFactory()); + composeEnumeration("type", element.getTypeElement(), new Enumerations.ConsentProvisionTypeEnumFactory()); if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } @@ -37941,7 +39559,7 @@ public class XmlParser extends XmlParserBase { protected void composeConsentProvisionDataComponentElements(Consent.ProvisionDataComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasMeaningElement()) - composeEnumeration("meaning", element.getMeaningElement(), new Consent.ConsentDataMeaningEnumFactory()); + composeEnumeration("meaning", element.getMeaningElement(), new Enumerations.ConsentDataMeaningEnumFactory()); if (element.hasReference()) { composeReference("reference", element.getReference()); } @@ -38614,6 +40232,12 @@ public class XmlParser extends XmlParserBase { } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); + if (element.hasKindElement()) + composeEnumeration("kind", element.getKindElement(), new Coverage.KindEnumFactory()); + if (element.hasPaymentBy()) { + for (Coverage.CoveragePaymentByComponent e : element.getPaymentBy()) + composeCoveragePaymentByComponent("paymentBy", e); + } if (element.hasType()) { composeCodeableConcept("type", element.getType()); } @@ -38623,8 +40247,9 @@ public class XmlParser extends XmlParserBase { if (element.hasSubscriber()) { composeReference("subscriber", element.getSubscriber()); } - if (element.hasSubscriberId()) { - composeIdentifier("subscriberId", element.getSubscriberId()); + if (element.hasSubscriberId()) { + for (Identifier e : element.getSubscriberId()) + composeIdentifier("subscriberId", e); } if (element.hasBeneficiary()) { composeReference("beneficiary", element.getBeneficiary()); @@ -38638,9 +40263,8 @@ public class XmlParser extends XmlParserBase { if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } - if (element.hasPayor()) { - for (Reference e : element.getPayor()) - composeReference("payor", e); + if (element.hasInsurer()) { + composeReference("insurer", element.getInsurer()); } if (element.hasClass_()) { for (Coverage.ClassComponent e : element.getClass_()) @@ -38663,6 +40287,29 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getContract()) composeReference("contract", e); } + if (element.hasInsurancePlan()) { + composeReference("insurancePlan", element.getInsurancePlan()); + } + } + + protected void composeCoveragePaymentByComponent(String name, Coverage.CoveragePaymentByComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeCoveragePaymentByComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeCoveragePaymentByComponentElements(Coverage.CoveragePaymentByComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasParty()) { + composeReference("party", element.getParty()); + } + if (element.hasResponsibilityElement()) { + composeString("responsibility", element.getResponsibilityElement()); + } } protected void composeCoverageClassComponent(String name, Coverage.ClassComponent element) throws IOException { @@ -38680,8 +40327,8 @@ public class XmlParser extends XmlParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasValueElement()) { - composeString("value", element.getValueElement()); + if (element.hasValue()) { + composeIdentifier("value", element.getValue()); } if (element.hasNameElement()) { composeString("name", element.getNameElement()); @@ -38703,6 +40350,18 @@ public class XmlParser extends XmlParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } + if (element.hasCategory()) { + composeCodeableConcept("category", element.getCategory()); + } + if (element.hasNetwork()) { + composeCodeableConcept("network", element.getNetwork()); + } + if (element.hasUnit()) { + composeCodeableConcept("unit", element.getUnit()); + } + if (element.hasTerm()) { + composeCodeableConcept("term", element.getTerm()); + } if (element.hasValue()) { composeType("value", element.getValue()); } if (element.hasException()) { @@ -39099,14 +40758,18 @@ public class XmlParser extends XmlParserBase { composeIdentifier("identifier", e); } if (element.hasStatusElement()) - composeEnumeration("status", element.getStatusElement(), new Enumerations.ObservationStatusEnumFactory()); + composeEnumeration("status", element.getStatusElement(), new DetectedIssue.DetectedIssueStatusEnumFactory()); + if (element.hasCategory()) { + for (CodeableConcept e : element.getCategory()) + composeCodeableConcept("category", e); + } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } if (element.hasSeverityElement()) composeEnumeration("severity", element.getSeverityElement(), new DetectedIssue.DetectedIssueSeverityEnumFactory()); - if (element.hasPatient()) { - composeReference("patient", element.getPatient()); + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); } if (element.hasIdentified()) { composeType("identified", element.getIdentified()); @@ -39206,9 +40869,8 @@ public class XmlParser extends XmlParserBase { } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Device.FHIRDeviceStatusEnumFactory()); - if (element.hasStatusReason()) { - for (CodeableConcept e : element.getStatusReason()) - composeCodeableConcept("statusReason", e); + if (element.hasAvailabilityStatus()) { + composeCodeableConcept("availabilityStatus", element.getAvailabilityStatus()); } if (element.hasBiologicalSourceEvent()) { composeIdentifier("biologicalSourceEvent", element.getBiologicalSourceEvent()); @@ -39238,6 +40900,10 @@ public class XmlParser extends XmlParserBase { if (element.hasPartNumberElement()) { composeString("partNumber", element.getPartNumberElement()); } + if (element.hasCategory()) { + for (CodeableConcept e : element.getCategory()) + composeCodeableConcept("category", e); + } if (element.hasType()) { for (CodeableConcept e : element.getType()) composeCodeableConcept("type", e); @@ -39254,12 +40920,9 @@ public class XmlParser extends XmlParserBase { for (Device.DevicePropertyComponent e : element.getProperty()) composeDevicePropertyComponent("property", e); } - if (element.hasSubject()) { - composeReference("subject", element.getSubject()); - } - if (element.hasOperationalState()) { - for (Device.DeviceOperationalStateComponent e : element.getOperationalState()) - composeDeviceOperationalStateComponent("operationalState", e); + if (element.hasOperation()) { + for (Device.DeviceOperationComponent e : element.getOperation()) + composeDeviceOperationComponent("operation", e); } if (element.hasAssociation()) { for (Device.DeviceAssociationComponent e : element.getAssociation()) @@ -39282,9 +40945,9 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getEndpoint()) composeReference("endpoint", e); } - if (element.hasLink()) { - for (Device.DeviceLinkComponent e : element.getLink()) - composeDeviceLinkComponent("link", e); + if (element.hasGateway()) { + for (CodeableReference e : element.getGateway()) + composeCodeableReference("gateway", e); } if (element.hasNote()) { for (Annotation e : element.getNote()) @@ -39417,17 +41080,17 @@ public class XmlParser extends XmlParserBase { composeType("value", element.getValue()); } } - protected void composeDeviceOperationalStateComponent(String name, Device.DeviceOperationalStateComponent element) throws IOException { + protected void composeDeviceOperationComponent(String name, Device.DeviceOperationComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeDeviceOperationalStateComponentElements(element); + composeDeviceOperationComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeDeviceOperationalStateComponentElements(Device.DeviceOperationalStateComponent element) throws IOException { + protected void composeDeviceOperationComponentElements(Device.DeviceOperationComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasStatus()) { composeCodeableConcept("status", element.getStatus()); @@ -39447,7 +41110,7 @@ public class XmlParser extends XmlParserBase { composeCount("cycle", element.getCycle()); } if (element.hasDuration()) { - composeCodeableConcept("duration", element.getDuration()); + composeDuration("duration", element.getDuration()); } } @@ -39478,26 +41141,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeDeviceLinkComponent(String name, Device.DeviceLinkComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeDeviceLinkComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeDeviceLinkComponentElements(Device.DeviceLinkComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasRelation()) { - composeCoding("relation", element.getRelation()); - } - if (element.hasRelatedDevice()) { - composeCodeableReference("relatedDevice", element.getRelatedDevice()); - } - } - protected void composeDeviceDefinition(String name, DeviceDefinition element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -39521,6 +41164,10 @@ public class XmlParser extends XmlParserBase { for (DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent e : element.getUdiDeviceIdentifier()) composeDeviceDefinitionUdiDeviceIdentifierComponent("udiDeviceIdentifier", e); } + if (element.hasRegulatoryIdentifier()) { + for (DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent e : element.getRegulatoryIdentifier()) + composeDeviceDefinitionRegulatoryIdentifierComponent("regulatoryIdentifier", e); + } if (element.hasPartNumberElement()) { composeString("partNumber", element.getPartNumberElement()); } @@ -39654,6 +41301,31 @@ public class XmlParser extends XmlParserBase { } } + protected void composeDeviceDefinitionRegulatoryIdentifierComponent(String name, DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeDeviceDefinitionRegulatoryIdentifierComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeDeviceDefinitionRegulatoryIdentifierComponentElements(DeviceDefinition.DeviceDefinitionRegulatoryIdentifierComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTypeElement()) + composeEnumeration("type", element.getTypeElement(), new DeviceDefinition.DeviceDefinitionRegulatoryIdentifierTypeEnumFactory()); + if (element.hasDeviceIdentifierElement()) { + composeString("deviceIdentifier", element.getDeviceIdentifierElement()); + } + if (element.hasIssuerElement()) { + composeUri("issuer", element.getIssuerElement()); + } + if (element.hasJurisdictionElement()) { + composeUri("jurisdiction", element.getJurisdictionElement()); + } + } + protected void composeDeviceDefinitionDeviceNameComponent(String name, DeviceDefinition.DeviceDefinitionDeviceNameComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -39740,8 +41412,8 @@ public class XmlParser extends XmlParserBase { composeDeviceDefinitionPackagingDistributorComponent("distributor", e); } if (element.hasUdiDeviceIdentifier()) { - for (DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent e : element.getUdiDeviceIdentifier()) - composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent("udiDeviceIdentifier", e); + for (DeviceDefinition.DeviceDefinitionUdiDeviceIdentifierComponent e : element.getUdiDeviceIdentifier()) + composeDeviceDefinitionUdiDeviceIdentifierComponent("udiDeviceIdentifier", e); } if (element.hasPackaging()) { for (DeviceDefinition.DeviceDefinitionPackagingComponent e : element.getPackaging()) @@ -39770,52 +41442,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierComponent(String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeDeviceDefinitionPackagingUdiDeviceIdentifierComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierComponentElements(DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDeviceIdentifierElement()) { - composeString("deviceIdentifier", element.getDeviceIdentifierElement()); - } - if (element.hasIssuerElement()) { - composeUri("issuer", element.getIssuerElement()); - } - if (element.hasJurisdictionElement()) { - composeUri("jurisdiction", element.getJurisdictionElement()); - } - if (element.hasMarketDistribution()) { - composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent("marketDistribution", element.getMarketDistribution()); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(String name, DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeDeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponentElements(DeviceDefinition.DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasMarketPeriod()) { - composePeriod("marketPeriod", element.getMarketPeriod()); - } - if (element.hasSubJurisdictionElement()) { - composeUri("subJurisdiction", element.getSubJurisdictionElement()); - } - } - protected void composeDeviceDefinitionVersionComponent(String name, DeviceDefinition.DeviceDefinitionVersionComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -40233,6 +41859,12 @@ public class XmlParser extends XmlParserBase { for (CodeableReference e : element.getReason()) composeCodeableReference("reason", e); } + if (element.hasAsNeededElement()) { + composeBoolean("asNeeded", element.getAsNeededElement()); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } if (element.hasInsurance()) { for (Reference e : element.getInsurance()) composeReference("insurance", e); @@ -40421,9 +42053,13 @@ public class XmlParser extends XmlParserBase { for (Annotation e : element.getNote()) composeAnnotation("note", e); } - if (element.hasImagingStudy()) { - for (Reference e : element.getImagingStudy()) - composeReference("imagingStudy", e); + if (element.hasStudy()) { + for (Reference e : element.getStudy()) + composeReference("study", e); + } + if (element.hasSupportingInfo()) { + for (DiagnosticReport.DiagnosticReportSupportingInfoComponent e : element.getSupportingInfo()) + composeDiagnosticReportSupportingInfoComponent("supportingInfo", e); } if (element.hasMedia()) { for (DiagnosticReport.DiagnosticReportMediaComponent e : element.getMedia()) @@ -40445,6 +42081,26 @@ public class XmlParser extends XmlParserBase { } } + protected void composeDiagnosticReportSupportingInfoComponent(String name, DiagnosticReport.DiagnosticReportSupportingInfoComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeDiagnosticReportSupportingInfoComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeDiagnosticReportSupportingInfoComponentElements(DiagnosticReport.DiagnosticReportSupportingInfoComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasReference()) { + composeReference("reference", element.getReference()); + } + } + protected void composeDiagnosticReportMediaComponent(String name, DiagnosticReport.DiagnosticReportMediaComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -40619,9 +42275,6 @@ public class XmlParser extends XmlParserBase { for (DocumentReference.DocumentReferenceContentComponent e : element.getContent()) composeDocumentReferenceContentComponent("content", e); } - if (element.hasSourcePatientInfo()) { - composeReference("sourcePatientInfo", element.getSourcePatientInfo()); - } } protected void composeDocumentReferenceAttesterComponent(String name, DocumentReference.DocumentReferenceAttesterComponent element) throws IOException { @@ -40726,22 +42379,24 @@ public class XmlParser extends XmlParserBase { for (Encounter.StatusHistoryComponent e : element.getStatusHistory()) composeEncounterStatusHistoryComponent("statusHistory", e); } - if (element.hasClass_()) { - composeCodeableConcept("class", element.getClass_()); + if (element.hasClass_()) { + for (CodeableConcept e : element.getClass_()) + composeCodeableConcept("class", e); } if (element.hasClassHistory()) { for (Encounter.ClassHistoryComponent e : element.getClassHistory()) composeEncounterClassHistoryComponent("classHistory", e); } + if (element.hasPriority()) { + composeCodeableConcept("priority", element.getPriority()); + } if (element.hasType()) { for (CodeableConcept e : element.getType()) composeCodeableConcept("type", e); } - if (element.hasServiceType()) { - composeCodeableReference("serviceType", element.getServiceType()); - } - if (element.hasPriority()) { - composeCodeableConcept("priority", element.getPriority()); + if (element.hasServiceType()) { + for (CodeableReference e : element.getServiceType()) + composeCodeableReference("serviceType", e); } if (element.hasSubject()) { composeReference("subject", element.getSubject()); @@ -40757,6 +42412,16 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getBasedOn()) composeReference("basedOn", e); } + if (element.hasCareTeam()) { + for (Reference e : element.getCareTeam()) + composeReference("careTeam", e); + } + if (element.hasPartOf()) { + composeReference("partOf", element.getPartOf()); + } + if (element.hasServiceProvider()) { + composeReference("serviceProvider", element.getServiceProvider()); + } if (element.hasParticipant()) { for (Encounter.EncounterParticipantComponent e : element.getParticipant()) composeEncounterParticipantComponent("participant", e); @@ -40765,6 +42430,10 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getAppointment()) composeReference("appointment", e); } + if (element.hasVirtualService()) { + for (VirtualServiceDetail e : element.getVirtualService()) + composeVirtualServiceDetail("virtualService", e); + } if (element.hasActualPeriod()) { composePeriod("actualPeriod", element.getActualPeriod()); } @@ -40789,19 +42458,13 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getAccount()) composeReference("account", e); } - if (element.hasHospitalization()) { - composeEncounterHospitalizationComponent("hospitalization", element.getHospitalization()); + if (element.hasAdmission()) { + composeEncounterAdmissionComponent("admission", element.getAdmission()); } if (element.hasLocation()) { for (Encounter.EncounterLocationComponent e : element.getLocation()) composeEncounterLocationComponent("location", e); } - if (element.hasServiceProvider()) { - composeReference("serviceProvider", element.getServiceProvider()); - } - if (element.hasPartOf()) { - composeReference("partOf", element.getPartOf()); - } } protected void composeEncounterStatusHistoryComponent(String name, Encounter.StatusHistoryComponent element) throws IOException { @@ -40890,17 +42553,17 @@ public class XmlParser extends XmlParserBase { } } - protected void composeEncounterHospitalizationComponent(String name, Encounter.EncounterHospitalizationComponent element) throws IOException { + protected void composeEncounterAdmissionComponent(String name, Encounter.EncounterAdmissionComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeEncounterHospitalizationComponentElements(element); + composeEncounterAdmissionComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeEncounterHospitalizationComponentElements(Encounter.EncounterHospitalizationComponent element) throws IOException { + protected void composeEncounterAdmissionComponentElements(Encounter.EncounterAdmissionComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasPreAdmissionIdentifier()) { composeIdentifier("preAdmissionIdentifier", element.getPreAdmissionIdentifier()); @@ -40951,8 +42614,8 @@ public class XmlParser extends XmlParserBase { } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Encounter.EncounterLocationStatusEnumFactory()); - if (element.hasPhysicalType()) { - composeCodeableConcept("physicalType", element.getPhysicalType()); + if (element.hasForm()) { + composeCodeableConcept("form", element.getForm()); } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); @@ -40977,13 +42640,20 @@ public class XmlParser extends XmlParserBase { } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Endpoint.EndpointStatusEnumFactory()); - if (element.hasConnectionType()) { - for (Coding e : element.getConnectionType()) - composeCoding("connectionType", e); + if (element.hasConnectionType()) { + for (CodeableConcept e : element.getConnectionType()) + composeCodeableConcept("connectionType", e); } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } + if (element.hasDescriptionElement()) { + composeString("description", element.getDescriptionElement()); + } + if (element.hasEnvironmentType()) { + for (CodeableConcept e : element.getEnvironmentType()) + composeCodeableConcept("environmentType", e); + } if (element.hasManagingOrganization()) { composeReference("managingOrganization", element.getManagingOrganization()); } @@ -41129,9 +42799,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCareManager()) { composeReference("careManager", element.getCareManager()); } - if (element.hasTeam()) { - for (Reference e : element.getTeam()) - composeReference("team", e); + if (element.hasCareTeam()) { + for (Reference e : element.getCareTeam()) + composeReference("careTeam", e); } if (element.hasAccount()) { for (Reference e : element.getAccount()) @@ -41171,7 +42841,7 @@ public class XmlParser extends XmlParserBase { protected void composeEpisodeOfCareDiagnosisComponentElements(EpisodeOfCare.DiagnosisComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasCondition()) { - composeReference("condition", element.getCondition()); + composeCodeableReference("condition", element.getCondition()); } if (element.hasRole()) { composeCodeableConcept("role", element.getRole()); @@ -41380,8 +43050,9 @@ public class XmlParser extends XmlParserBase { if (element.hasSynthesisType()) { composeCodeableConcept("synthesisType", element.getSynthesisType()); } - if (element.hasStudyType()) { - composeCodeableConcept("studyType", element.getStudyType()); + if (element.hasStudyDesign()) { + for (CodeableConcept e : element.getStudyDesign()) + composeCodeableConcept("studyDesign", e); } if (element.hasStatistic()) { for (Evidence.EvidenceStatisticComponent e : element.getStatistic()) @@ -42010,19 +43681,10 @@ public class XmlParser extends XmlParserBase { if (element.hasDefinitionByCombination()) { composeEvidenceVariableCharacteristicDefinitionByCombinationComponent("definitionByCombination", element.getDefinitionByCombination()); } - if (element.hasMethod()) { - for (CodeableConcept e : element.getMethod()) - composeCodeableConcept("method", e); - } - if (element.hasDevice()) { - composeReference("device", element.getDevice()); - } if (element.hasTimeFromEvent()) { for (EvidenceVariable.EvidenceVariableCharacteristicTimeFromEventComponent e : element.getTimeFromEvent()) composeEvidenceVariableCharacteristicTimeFromEventComponent("timeFromEvent", e); } - if (element.hasGroupMeasureElement()) - composeEnumeration("groupMeasure", element.getGroupMeasureElement(), new EvidenceVariable.GroupMeasureEnumFactory()); } protected void composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent element) throws IOException { @@ -42038,13 +43700,21 @@ public class XmlParser extends XmlParserBase { protected void composeEvidenceVariableCharacteristicDefinitionByTypeAndValueComponentElements(EvidenceVariable.EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasType()) { - composeType("type", element.getType()); - } if (element.hasValue()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasMethod()) { + for (CodeableConcept e : element.getMethod()) + composeCodeableConcept("method", e); + } + if (element.hasDevice()) { + composeReference("device", element.getDevice()); + } + if (element.hasValue()) { composeType("value", element.getValue()); } if (element.hasOffset()) { composeCodeableConcept("offset", element.getOffset()); } - } + } protected void composeEvidenceVariableCharacteristicDefinitionByCombinationComponent(String name, EvidenceVariable.EvidenceVariableCharacteristicDefinitionByCombinationComponent element) throws IOException { if (element != null) { @@ -42054,7 +43724,7 @@ public class XmlParser extends XmlParserBase { composeElementClose(element); xml.exit(FHIR_NS, name); } - } + } protected void composeEvidenceVariableCharacteristicDefinitionByCombinationComponentElements(EvidenceVariable.EvidenceVariableCharacteristicDefinitionByCombinationComponent element) throws IOException { composeBackboneElementElements(element); @@ -42139,9 +43809,14 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); if (element.hasExperimentalElement()) { @@ -42157,6 +43832,9 @@ public class XmlParser extends XmlParserBase { for (ContactDetail e : element.getContact()) composeContactDetail("contact", e); } + if (element.hasDescriptionElement()) { + composeMarkdown("description", element.getDescriptionElement()); + } if (element.hasUseContext()) { for (UsageContext e : element.getUseContext()) composeUsageContext("useContext", e); @@ -42171,6 +43849,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasActor()) { for (ExampleScenario.ExampleScenarioActorComponent e : element.getActor()) composeExampleScenarioActorComponent("actor", e); @@ -42183,10 +43864,6 @@ public class XmlParser extends XmlParserBase { for (ExampleScenario.ExampleScenarioProcessComponent e : element.getProcess()) composeExampleScenarioProcessComponent("process", e); } - if (element.hasWorkflow()) { - for (CanonicalType e : element.getWorkflow()) - composeCanonical("workflow", e); - } } protected void composeExampleScenarioActorComponent(String name, ExampleScenario.ExampleScenarioActorComponent element) throws IOException { @@ -42201,13 +43878,13 @@ public class XmlParser extends XmlParserBase { protected void composeExampleScenarioActorComponentElements(ExampleScenario.ExampleScenarioActorComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasActorIdElement()) { - composeString("actorId", element.getActorIdElement()); + if (element.hasKeyElement()) { + composeString("key", element.getKeyElement()); } if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new ExampleScenario.ExampleScenarioActorTypeEnumFactory()); - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); + composeEnumeration("type", element.getTypeElement(), new Enumerations.ExampleScenarioActorTypeEnumFactory()); + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); } if (element.hasDescriptionElement()) { composeMarkdown("description", element.getDescriptionElement()); @@ -42226,18 +43903,26 @@ public class XmlParser extends XmlParserBase { protected void composeExampleScenarioInstanceComponentElements(ExampleScenario.ExampleScenarioInstanceComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasResourceIdElement()) { - composeString("resourceId", element.getResourceIdElement()); + if (element.hasKeyElement()) { + composeString("key", element.getKeyElement()); } - if (element.hasTypeElement()) { - composeCode("type", element.getTypeElement()); + if (element.hasStructureType()) { + composeCoding("structureType", element.getStructureType()); } - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); + if (element.hasStructureVersionElement()) { + composeString("structureVersion", element.getStructureVersionElement()); + } + if (element.hasStructureProfile()) { + composeType("structureProfile", element.getStructureProfile()); + } if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); } if (element.hasDescriptionElement()) { composeMarkdown("description", element.getDescriptionElement()); } + if (element.hasContent()) { + composeReference("content", element.getContent()); + } if (element.hasVersion()) { for (ExampleScenario.ExampleScenarioInstanceVersionComponent e : element.getVersion()) composeExampleScenarioInstanceVersionComponent("version", e); @@ -42260,12 +43945,15 @@ public class XmlParser extends XmlParserBase { protected void composeExampleScenarioInstanceVersionComponentElements(ExampleScenario.ExampleScenarioInstanceVersionComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasVersionIdElement()) { - composeString("versionId", element.getVersionIdElement()); + if (element.hasKeyElement()) { + composeString("key", element.getKeyElement()); } if (element.hasDescriptionElement()) { composeMarkdown("description", element.getDescriptionElement()); } + if (element.hasContent()) { + composeReference("content", element.getContent()); + } } protected void composeExampleScenarioInstanceContainedInstanceComponent(String name, ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element) throws IOException { @@ -42280,11 +43968,11 @@ public class XmlParser extends XmlParserBase { protected void composeExampleScenarioInstanceContainedInstanceComponentElements(ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasResourceIdElement()) { - composeString("resourceId", element.getResourceIdElement()); + if (element.hasInstanceReferenceElement()) { + composeString("instanceReference", element.getInstanceReferenceElement()); } - if (element.hasVersionIdElement()) { - composeString("versionId", element.getVersionIdElement()); + if (element.hasVersionReferenceElement()) { + composeString("versionReference", element.getVersionReferenceElement()); } } @@ -42330,12 +44018,14 @@ public class XmlParser extends XmlParserBase { protected void composeExampleScenarioProcessStepComponentElements(ExampleScenario.ExampleScenarioProcessStepComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasProcess()) { - for (ExampleScenario.ExampleScenarioProcessComponent e : element.getProcess()) - composeExampleScenarioProcessComponent("process", e); + if (element.hasNumberElement()) { + composeString("number", element.getNumberElement()); } - if (element.hasPauseElement()) { - composeBoolean("pause", element.getPauseElement()); + if (element.hasProcess()) { + composeExampleScenarioProcessComponent("process", element.getProcess()); + } + if (element.hasWorkflowElement()) { + composeCanonical("workflow", element.getWorkflowElement()); } if (element.hasOperation()) { composeExampleScenarioProcessStepOperationComponent("operation", element.getOperation()); @@ -42344,6 +44034,9 @@ public class XmlParser extends XmlParserBase { for (ExampleScenario.ExampleScenarioProcessStepAlternativeComponent e : element.getAlternative()) composeExampleScenarioProcessStepAlternativeComponent("alternative", e); } + if (element.hasPauseElement()) { + composeBoolean("pause", element.getPauseElement()); + } } protected void composeExampleScenarioProcessStepOperationComponent(String name, ExampleScenario.ExampleScenarioProcessStepOperationComponent element) throws IOException { @@ -42358,14 +44051,11 @@ public class XmlParser extends XmlParserBase { protected void composeExampleScenarioProcessStepOperationComponentElements(ExampleScenario.ExampleScenarioProcessStepOperationComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasNumberElement()) { - composeString("number", element.getNumberElement()); + if (element.hasType()) { + composeCoding("type", element.getType()); } - if (element.hasTypeElement()) { - composeString("type", element.getTypeElement()); - } - if (element.hasNameElement()) { - composeString("name", element.getNameElement()); + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); } if (element.hasInitiatorElement()) { composeString("initiator", element.getInitiatorElement()); @@ -42483,6 +44173,10 @@ public class XmlParser extends XmlParserBase { if (element.hasReferral()) { composeReference("referral", element.getReferral()); } + if (element.hasEncounter()) { + for (Reference e : element.getEncounter()) + composeReference("encounter", e); + } if (element.hasFacility()) { composeReference("facility", element.getFacility()); } @@ -42494,6 +44188,9 @@ public class XmlParser extends XmlParserBase { } if (element.hasOutcomeElement()) composeEnumeration("outcome", element.getOutcomeElement(), new Enumerations.ClaimProcessingCodesEnumFactory()); + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasDispositionElement()) { composeString("disposition", element.getDispositionElement()); } @@ -42505,6 +44202,9 @@ public class XmlParser extends XmlParserBase { for (Period e : element.getPreAuthRefPeriod()) composePeriod("preAuthRefPeriod", e); } + if (element.hasDiagnosisRelatedGroup()) { + composeCodeableConcept("diagnosisRelatedGroup", element.getDiagnosisRelatedGroup()); + } if (element.hasCareTeam()) { for (ExplanationOfBenefit.CareTeamComponent e : element.getCareTeam()) composeExplanationOfBenefitCareTeamComponent("careTeam", e); @@ -42531,6 +44231,9 @@ public class XmlParser extends XmlParserBase { if (element.hasAccident()) { composeExplanationOfBenefitAccidentComponent("accident", element.getAccident()); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasItem()) { for (ExplanationOfBenefit.ItemComponent e : element.getItem()) composeExplanationOfBenefitItemComponent("item", e); @@ -42636,8 +44339,8 @@ public class XmlParser extends XmlParserBase { if (element.hasRole()) { composeCodeableConcept("role", element.getRole()); } - if (element.hasQualification()) { - composeCodeableConcept("qualification", element.getQualification()); + if (element.hasSpecialty()) { + composeCodeableConcept("specialty", element.getSpecialty()); } } @@ -42695,9 +44398,6 @@ public class XmlParser extends XmlParserBase { if (element.hasOnAdmission()) { composeCodeableConcept("onAdmission", element.getOnAdmission()); } - if (element.hasPackageCode()) { - composeCodeableConcept("packageCode", element.getPackageCode()); - } } protected void composeExplanationOfBenefitProcedureComponent(String name, ExplanationOfBenefit.ProcedureComponent element) throws IOException { @@ -42816,6 +44516,9 @@ public class XmlParser extends XmlParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -42828,7 +44531,10 @@ public class XmlParser extends XmlParserBase { composeType("serviced", element.getServiced()); } if (element.hasLocation()) { composeType("location", element.getLocation()); - } if (element.hasQuantity()) { + } if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } + if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } if (element.hasUnitPrice()) { @@ -42837,6 +44543,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -42844,12 +44553,9 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getUdi()) composeReference("udi", e); } - if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept("subSite", e); + if (element.hasBodySite()) { + for (ExplanationOfBenefit.BodySiteComponent e : element.getBodySite()) + composeExplanationOfBenefitBodySiteComponent("bodySite", e); } if (element.hasEncounter()) { for (Reference e : element.getEncounter()) @@ -42859,6 +44565,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) composeExplanationOfBenefitAdjudicationComponent("adjudication", e); @@ -42869,6 +44578,28 @@ public class XmlParser extends XmlParserBase { } } + protected void composeExplanationOfBenefitBodySiteComponent(String name, ExplanationOfBenefit.BodySiteComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeExplanationOfBenefitBodySiteComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeExplanationOfBenefitBodySiteComponentElements(ExplanationOfBenefit.BodySiteComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasSite()) { + for (CodeableReference e : element.getSite()) + composeCodeableReference("site", e); + } + if (element.hasSubSite()) { + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept("subSite", e); + } + } + protected void composeExplanationOfBenefitAdjudicationComponent(String name, ExplanationOfBenefit.AdjudicationComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -42919,6 +44650,9 @@ public class XmlParser extends XmlParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -42927,6 +44661,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getProgramCode()) composeCodeableConcept("programCode", e); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -42936,6 +44673,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -42947,6 +44687,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) composeExplanationOfBenefitAdjudicationComponent("adjudication", e); @@ -42981,6 +44724,9 @@ public class XmlParser extends XmlParserBase { if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -42989,6 +44735,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getProgramCode()) composeCodeableConcept("programCode", e); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -42998,6 +44747,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -43009,6 +44761,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) composeExplanationOfBenefitAdjudicationComponent("adjudication", e); @@ -43043,9 +44798,15 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getProvider()) composeReference("provider", e); } + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); @@ -43058,7 +44819,10 @@ public class XmlParser extends XmlParserBase { composeType("serviced", element.getServiced()); } if (element.hasLocation()) { composeType("location", element.getLocation()); - } if (element.hasQuantity()) { + } if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } + if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } if (element.hasUnitPrice()) { @@ -43067,20 +44831,23 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } - if (element.hasBodySite()) { - composeCodeableConcept("bodySite", element.getBodySite()); - } - if (element.hasSubSite()) { - for (CodeableConcept e : element.getSubSite()) - composeCodeableConcept("subSite", e); + if (element.hasBodySite()) { + for (ExplanationOfBenefit.BodySiteComponentA e : element.getBodySite()) + composeExplanationOfBenefitBodySiteComponentA("bodySite", e); } if (element.hasNoteNumber()) { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) composeExplanationOfBenefitAdjudicationComponent("adjudication", e); @@ -43091,6 +44858,28 @@ public class XmlParser extends XmlParserBase { } } + protected void composeExplanationOfBenefitBodySiteComponentA(String name, ExplanationOfBenefit.BodySiteComponentA element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeExplanationOfBenefitBodySiteComponentAElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeExplanationOfBenefitBodySiteComponentAElements(ExplanationOfBenefit.BodySiteComponentA element) throws IOException { + composeBackboneElementElements(element); + if (element.hasSite()) { + for (CodeableReference e : element.getSite()) + composeCodeableReference("site", e); + } + if (element.hasSubSite()) { + for (CodeableConcept e : element.getSubSite()) + composeCodeableConcept("subSite", e); + } + } + protected void composeExplanationOfBenefitAddedItemDetailComponent(String name, ExplanationOfBenefit.AddedItemDetailComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -43103,13 +44892,22 @@ public class XmlParser extends XmlParserBase { protected void composeExplanationOfBenefitAddedItemDetailComponentElements(ExplanationOfBenefit.AddedItemDetailComponent element) throws IOException { composeBackboneElementElements(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -43119,6 +44917,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -43126,6 +44927,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) composeExplanationOfBenefitAdjudicationComponent("adjudication", e); @@ -43148,13 +44952,22 @@ public class XmlParser extends XmlParserBase { protected void composeExplanationOfBenefitAddedItemDetailSubDetailComponentElements(ExplanationOfBenefit.AddedItemDetailSubDetailComponent element) throws IOException { composeBackboneElementElements(element); + if (element.hasRevenue()) { + composeCodeableConcept("revenue", element.getRevenue()); + } if (element.hasProductOrService()) { composeCodeableConcept("productOrService", element.getProductOrService()); } + if (element.hasProductOrServiceEnd()) { + composeCodeableConcept("productOrServiceEnd", element.getProductOrServiceEnd()); + } if (element.hasModifier()) { for (CodeableConcept e : element.getModifier()) composeCodeableConcept("modifier", e); } + if (element.hasPatientPaid()) { + composeMoney("patientPaid", element.getPatientPaid()); + } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); } @@ -43164,6 +44977,9 @@ public class XmlParser extends XmlParserBase { if (element.hasFactorElement()) { composeDecimal("factor", element.getFactorElement()); } + if (element.hasTax()) { + composeMoney("tax", element.getTax()); + } if (element.hasNet()) { composeMoney("net", element.getNet()); } @@ -43171,6 +44987,9 @@ public class XmlParser extends XmlParserBase { for (PositiveIntType e : element.getNoteNumber()) composePositiveInt("noteNumber", e); } + if (element.hasDecision()) { + composeCodeableConcept("decision", element.getDecision()); + } if (element.hasAdjudication()) { for (ExplanationOfBenefit.AdjudicationComponent e : element.getAdjudication()) composeExplanationOfBenefitAdjudicationComponent("adjudication", e); @@ -43505,6 +45324,233 @@ public class XmlParser extends XmlParserBase { composeEnumeration("status", element.getStatusElement(), new FormularyItem.FormularyItemStatusCodesEnumFactory()); } + protected void composeGenomicStudy(String name, GenomicStudy element) throws IOException { + if (element != null) { + composeResourceAttributes(element); + xml.enter(FHIR_NS, name); + composeGenomicStudyElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeGenomicStudyElements(GenomicStudy element) throws IOException { + composeDomainResourceElements(element); + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } + if (element.hasStatus()) { + composeCodeableConcept("status", element.getStatus()); + } + if (element.hasType()) { + for (CodeableConcept e : element.getType()) + composeCodeableConcept("type", e); + } + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); + } + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); + } + if (element.hasStartDateElement()) { + composeDateTime("startDate", element.getStartDateElement()); + } + if (element.hasBasedOn()) { + for (Reference e : element.getBasedOn()) + composeReference("basedOn", e); + } + if (element.hasReferrer()) { + composeReference("referrer", element.getReferrer()); + } + if (element.hasInterpreter()) { + for (Reference e : element.getInterpreter()) + composeReference("interpreter", e); + } + if (element.hasReason()) { + for (CodeableReference e : element.getReason()) + composeCodeableReference("reason", e); + } + if (element.hasInstantiatesCanonicalElement()) { + composeCanonical("instantiatesCanonical", element.getInstantiatesCanonicalElement()); + } + if (element.hasInstantiatesUriElement()) { + composeUri("instantiatesUri", element.getInstantiatesUriElement()); + } + if (element.hasNote()) { + for (Annotation e : element.getNote()) + composeAnnotation("note", e); + } + if (element.hasDescriptionElement()) { + composeString("description", element.getDescriptionElement()); + } + if (element.hasAnalysis()) { + for (GenomicStudy.GenomicStudyAnalysisComponent e : element.getAnalysis()) + composeGenomicStudyAnalysisComponent("analysis", e); + } + } + + protected void composeGenomicStudyAnalysisComponent(String name, GenomicStudy.GenomicStudyAnalysisComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeGenomicStudyAnalysisComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeGenomicStudyAnalysisComponentElements(GenomicStudy.GenomicStudyAnalysisComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } + if (element.hasMethodType()) { + for (CodeableConcept e : element.getMethodType()) + composeCodeableConcept("methodType", e); + } + if (element.hasChangeType()) { + for (CodeableConcept e : element.getChangeType()) + composeCodeableConcept("changeType", e); + } + if (element.hasGenomeBuild()) { + composeCodeableConcept("genomeBuild", element.getGenomeBuild()); + } + if (element.hasInstantiatesCanonicalElement()) { + composeCanonical("instantiatesCanonical", element.getInstantiatesCanonicalElement()); + } + if (element.hasInstantiatesUriElement()) { + composeUri("instantiatesUri", element.getInstantiatesUriElement()); + } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); + } + if (element.hasSpecimen()) { + for (Reference e : element.getSpecimen()) + composeReference("specimen", e); + } + if (element.hasDateElement()) { + composeDateTime("date", element.getDateElement()); + } + if (element.hasNote()) { + for (Annotation e : element.getNote()) + composeAnnotation("note", e); + } + if (element.hasProtocolPerformed()) { + composeReference("protocolPerformed", element.getProtocolPerformed()); + } + if (element.hasRegionsStudied()) { + for (Reference e : element.getRegionsStudied()) + composeReference("regionsStudied", e); + } + if (element.hasRegionsCalled()) { + for (Reference e : element.getRegionsCalled()) + composeReference("regionsCalled", e); + } + if (element.hasInput()) { + for (GenomicStudy.GenomicStudyAnalysisInputComponent e : element.getInput()) + composeGenomicStudyAnalysisInputComponent("input", e); + } + if (element.hasOutput()) { + for (GenomicStudy.GenomicStudyAnalysisOutputComponent e : element.getOutput()) + composeGenomicStudyAnalysisOutputComponent("output", e); + } + if (element.hasPerformer()) { + for (GenomicStudy.GenomicStudyAnalysisPerformerComponent e : element.getPerformer()) + composeGenomicStudyAnalysisPerformerComponent("performer", e); + } + if (element.hasDevice()) { + for (GenomicStudy.GenomicStudyAnalysisDeviceComponent e : element.getDevice()) + composeGenomicStudyAnalysisDeviceComponent("device", e); + } + } + + protected void composeGenomicStudyAnalysisInputComponent(String name, GenomicStudy.GenomicStudyAnalysisInputComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeGenomicStudyAnalysisInputComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeGenomicStudyAnalysisInputComponentElements(GenomicStudy.GenomicStudyAnalysisInputComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasFile()) { + composeReference("file", element.getFile()); + } + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasGeneratedBy()) { + composeType("generatedBy", element.getGeneratedBy()); + } } + + protected void composeGenomicStudyAnalysisOutputComponent(String name, GenomicStudy.GenomicStudyAnalysisOutputComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeGenomicStudyAnalysisOutputComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeGenomicStudyAnalysisOutputComponentElements(GenomicStudy.GenomicStudyAnalysisOutputComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasFile()) { + composeReference("file", element.getFile()); + } + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + } + + protected void composeGenomicStudyAnalysisPerformerComponent(String name, GenomicStudy.GenomicStudyAnalysisPerformerComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeGenomicStudyAnalysisPerformerComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeGenomicStudyAnalysisPerformerComponentElements(GenomicStudy.GenomicStudyAnalysisPerformerComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasActor()) { + composeReference("actor", element.getActor()); + } + if (element.hasRole()) { + composeCodeableConcept("role", element.getRole()); + } + } + + protected void composeGenomicStudyAnalysisDeviceComponent(String name, GenomicStudy.GenomicStudyAnalysisDeviceComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeGenomicStudyAnalysisDeviceComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeGenomicStudyAnalysisDeviceComponentElements(GenomicStudy.GenomicStudyAnalysisDeviceComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasDevice()) { + composeReference("device", element.getDevice()); + } + if (element.hasFunction()) { + composeCodeableConcept("function", element.getFunction()); + } + } + protected void composeGoal(String name, Goal element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -43610,9 +45656,14 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); if (element.hasExperimentalElement()) { @@ -43699,9 +45750,8 @@ public class XmlParser extends XmlParserBase { protected void composeGraphDefinitionLinkTargetComponentElements(GraphDefinition.GraphDefinitionLinkTargetComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasTypeElement()) { - composeCode("type", element.getTypeElement()); - } + if (element.hasTypeElement()) + composeEnumeration("type", element.getTypeElement(), new Enumerations.AllResourceTypesEnumFactory()); if (element.hasParamsElement()) { composeString("params", element.getParamsElement()); } @@ -43765,9 +45815,8 @@ public class XmlParser extends XmlParserBase { } if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Group.GroupTypeEnumFactory()); - if (element.hasActualElement()) { - composeBoolean("actual", element.getActualElement()); - } + if (element.hasMembershipElement()) + composeEnumeration("membership", element.getMembershipElement(), new Group.GroupMembershipBasisEnumFactory()); if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -43922,6 +45971,10 @@ public class XmlParser extends XmlParserBase { if (element.hasProvidedBy()) { composeReference("providedBy", element.getProvidedBy()); } + if (element.hasOfferedIn()) { + for (Reference e : element.getOfferedIn()) + composeReference("offeredIn", e); + } if (element.hasCategory()) { for (CodeableConcept e : element.getCategory()) composeCodeableConcept("category", e); @@ -43954,10 +46007,6 @@ public class XmlParser extends XmlParserBase { for (ExtendedContactDetail e : element.getContact()) composeExtendedContactDetail("contact", e); } - if (element.hasTelecom()) { - for (ContactPoint e : element.getTelecom()) - composeContactPoint("telecom", e); - } if (element.hasCoverageArea()) { for (Reference e : element.getCoverageArea()) composeReference("coverageArea", e); @@ -43989,16 +46038,9 @@ public class XmlParser extends XmlParserBase { if (element.hasAppointmentRequiredElement()) { composeBoolean("appointmentRequired", element.getAppointmentRequiredElement()); } - if (element.hasAvailableTime()) { - for (HealthcareService.HealthcareServiceAvailableTimeComponent e : element.getAvailableTime()) - composeHealthcareServiceAvailableTimeComponent("availableTime", e); - } - if (element.hasNotAvailable()) { - for (HealthcareService.HealthcareServiceNotAvailableComponent e : element.getNotAvailable()) - composeHealthcareServiceNotAvailableComponent("notAvailable", e); - } - if (element.hasAvailabilityExceptionsElement()) { - composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); + if (element.hasAvailability()) { + for (Availability e : element.getAvailability()) + composeAvailability("availability", e); } if (element.hasEndpoint()) { for (Reference e : element.getEndpoint()) @@ -44026,52 +46068,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeHealthcareServiceAvailableTimeComponent(String name, HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeHealthcareServiceAvailableTimeComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeHealthcareServiceAvailableTimeComponentElements(HealthcareService.HealthcareServiceAvailableTimeComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDaysOfWeek()) - for (Enumeration e : element.getDaysOfWeek()) - composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); - if (element.hasAllDayElement()) { - composeBoolean("allDay", element.getAllDayElement()); - } - if (element.hasAvailableStartTimeElement()) { - composeTime("availableStartTime", element.getAvailableStartTimeElement()); - } - if (element.hasAvailableEndTimeElement()) { - composeTime("availableEndTime", element.getAvailableEndTimeElement()); - } - } - - protected void composeHealthcareServiceNotAvailableComponent(String name, HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeHealthcareServiceNotAvailableComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeHealthcareServiceNotAvailableComponentElements(HealthcareService.HealthcareServiceNotAvailableComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDescriptionElement()) { - composeString("description", element.getDescriptionElement()); - } - if (element.hasDuring()) { - composePeriod("during", element.getDuring()); - } - } - protected void composeImagingSelection(String name, ImagingSelection element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -44125,18 +46121,25 @@ public class XmlParser extends XmlParserBase { if (element.hasSeriesUidElement()) { composeId("seriesUid", element.getSeriesUidElement()); } + if (element.hasSeriesNumberElement()) { + composeUnsignedInt("seriesNumber", element.getSeriesNumberElement()); + } if (element.hasFrameOfReferenceUidElement()) { composeId("frameOfReferenceUid", element.getFrameOfReferenceUidElement()); } if (element.hasBodySite()) { composeCodeableReference("bodySite", element.getBodySite()); } + if (element.hasFocus()) { + for (Reference e : element.getFocus()) + composeReference("focus", e); + } if (element.hasInstance()) { for (ImagingSelection.ImagingSelectionInstanceComponent e : element.getInstance()) composeImagingSelectionInstanceComponent("instance", e); } - if (element.hasImageRegion()) { - for (ImagingSelection.ImagingSelectionImageRegionComponent e : element.getImageRegion()) + if (element.hasImageRegion()) { + for (ImagingSelection.ImageRegionComponent e : element.getImageRegion()) composeImagingSelectionImageRegionComponent("imageRegion", e); } } @@ -44176,6 +46179,9 @@ public class XmlParser extends XmlParserBase { if (element.hasUidElement()) { composeId("uid", element.getUidElement()); } + if (element.hasNumberElement()) { + composeUnsignedInt("number", element.getNumberElement()); + } if (element.hasSopClass()) { composeCoding("sopClass", element.getSopClass()); } @@ -44187,7 +46193,7 @@ public class XmlParser extends XmlParserBase { for (ImagingSelection.ImagingSelectionInstanceImageRegionComponent e : element.getImageRegion()) composeImagingSelectionInstanceImageRegionComponent("imageRegion", e); } - } + } protected void composeImagingSelectionInstanceImageRegionComponent(String name, ImagingSelection.ImagingSelectionInstanceImageRegionComponent element) throws IOException { if (element != null) { @@ -44209,7 +46215,7 @@ public class XmlParser extends XmlParserBase { } } - protected void composeImagingSelectionImageRegionComponent(String name, ImagingSelection.ImagingSelectionImageRegionComponent element) throws IOException { + protected void composeImagingSelectionImageRegionComponent(String name, ImagingSelection.ImageRegionComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); @@ -44219,7 +46225,7 @@ public class XmlParser extends XmlParserBase { } } - protected void composeImagingSelectionImageRegionComponentElements(ImagingSelection.ImagingSelectionImageRegionComponent element) throws IOException { + protected void composeImagingSelectionImageRegionComponentElements(ImagingSelection.ImageRegionComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasRegionTypeElement()) composeEnumeration("regionType", element.getRegionTypeElement(), new ImagingSelection.ImagingSelection3DGraphicTypeEnumFactory()); @@ -44421,14 +46427,6 @@ public class XmlParser extends XmlParserBase { for (Identifier e : element.getIdentifier()) composeIdentifier("identifier", e); } - if (element.hasInstantiatesCanonical()) { - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonical("instantiatesCanonical", e); - } - if (element.hasInstantiatesUri()) { - for (UriType e : element.getInstantiatesUri()) - composeUri("instantiatesUri", e); - } if (element.hasBasedOn()) { for (Reference e : element.getBasedOn()) composeReference("basedOn", e); @@ -44441,8 +46439,11 @@ public class XmlParser extends XmlParserBase { if (element.hasVaccineCode()) { composeCodeableConcept("vaccineCode", element.getVaccineCode()); } + if (element.hasAdministeredProduct()) { + composeCodeableReference("administeredProduct", element.getAdministeredProduct()); + } if (element.hasManufacturer()) { - composeReference("manufacturer", element.getManufacturer()); + composeCodeableReference("manufacturer", element.getManufacturer()); } if (element.hasLotNumberElement()) { composeString("lotNumber", element.getLotNumberElement()); @@ -44456,6 +46457,10 @@ public class XmlParser extends XmlParserBase { if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } + if (element.hasSupportingInformation()) { + for (Reference e : element.getSupportingInformation()) + composeReference("supportingInformation", e); + } if (element.hasOccurrence()) { composeType("occurrence", element.getOccurrence()); } if (element.hasPrimarySourceElement()) { @@ -44495,13 +46500,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getSubpotentReason()) composeCodeableConcept("subpotentReason", e); } - if (element.hasEducation()) { - for (Immunization.ImmunizationEducationComponent e : element.getEducation()) - composeImmunizationEducationComponent("education", e); - } if (element.hasProgramEligibility()) { - for (CodeableConcept e : element.getProgramEligibility()) - composeCodeableConcept("programEligibility", e); + for (Immunization.ImmunizationProgramEligibilityComponent e : element.getProgramEligibility()) + composeImmunizationProgramEligibilityComponent("programEligibility", e); } if (element.hasFundingSource()) { composeCodeableConcept("fundingSource", element.getFundingSource()); @@ -44536,29 +46537,23 @@ public class XmlParser extends XmlParserBase { } } - protected void composeImmunizationEducationComponent(String name, Immunization.ImmunizationEducationComponent element) throws IOException { + protected void composeImmunizationProgramEligibilityComponent(String name, Immunization.ImmunizationProgramEligibilityComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeImmunizationEducationComponentElements(element); + composeImmunizationProgramEligibilityComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeImmunizationEducationComponentElements(Immunization.ImmunizationEducationComponent element) throws IOException { + protected void composeImmunizationProgramEligibilityComponentElements(Immunization.ImmunizationProgramEligibilityComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasDocumentTypeElement()) { - composeString("documentType", element.getDocumentTypeElement()); + if (element.hasProgram()) { + composeCodeableConcept("program", element.getProgram()); } - if (element.hasReferenceElement()) { - composeUri("reference", element.getReferenceElement()); - } - if (element.hasPublicationDateElement()) { - composeDateTime("publicationDate", element.getPublicationDateElement()); - } - if (element.hasPresentationDateElement()) { - composeDateTime("presentationDate", element.getPresentationDateElement()); + if (element.hasProgramStatus()) { + composeCodeableConcept("programStatus", element.getProgramStatus()); } } @@ -44685,14 +46680,6 @@ public class XmlParser extends XmlParserBase { for (Identifier e : element.getIdentifier()) composeIdentifier("identifier", e); } - if (element.hasInstantiatesCanonical()) { - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonical("instantiatesCanonical", e); - } - if (element.hasInstantiatesUri()) { - for (UriType e : element.getInstantiatesUri()) - composeUri("instantiatesUri", e); - } if (element.hasPatient()) { composeReference("patient", element.getPatient()); } @@ -44803,7 +46790,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -44838,6 +46827,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasPackageIdElement()) { composeId("packageId", element.getPackageIdElement()); } @@ -44883,6 +46875,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } + if (element.hasReasonElement()) { + composeMarkdown("reason", element.getReasonElement()); + } } protected void composeImplementationGuideGlobalComponent(String name, ImplementationGuide.ImplementationGuideGlobalComponent element) throws IOException { @@ -44982,9 +46977,14 @@ public class XmlParser extends XmlParserBase { if (element.hasDescriptionElement()) { composeMarkdown("description", element.getDescriptionElement()); } - if (element.hasExample()) { - composeType("example", element.getExample()); - } if (element.hasGroupingIdElement()) { + if (element.hasIsExampleElement()) { + composeBoolean("isExample", element.getIsExampleElement()); + } + if (element.hasProfile()) { + for (CanonicalType e : element.getProfile()) + composeCanonical("profile", e); + } + if (element.hasGroupingIdElement()) { composeId("groupingId", element.getGroupingIdElement()); } } @@ -45001,9 +47001,12 @@ public class XmlParser extends XmlParserBase { protected void composeImplementationGuideDefinitionPageComponentElements(ImplementationGuide.ImplementationGuideDefinitionPageComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasName()) { - composeType("name", element.getName()); - } if (element.hasTitleElement()) { + if (element.hasSource()) { + composeType("source", element.getSource()); + } if (element.hasNameElement()) { + composeUrl("name", element.getNameElement()); + } + if (element.hasTitleElement()) { composeString("title", element.getTitleElement()); } if (element.hasGenerationElement()) @@ -45026,8 +47029,8 @@ public class XmlParser extends XmlParserBase { protected void composeImplementationGuideDefinitionParameterComponentElements(ImplementationGuide.ImplementationGuideDefinitionParameterComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasCodeElement()) { - composeString("code", element.getCodeElement()); + if (element.hasCode()) { + composeCoding("code", element.getCode()); } if (element.hasValueElement()) { composeString("value", element.getValueElement()); @@ -45105,9 +47108,14 @@ public class XmlParser extends XmlParserBase { if (element.hasReference()) { composeReference("reference", element.getReference()); } - if (element.hasExample()) { - composeType("example", element.getExample()); - } if (element.hasRelativePathElement()) { + if (element.hasIsExampleElement()) { + composeBoolean("isExample", element.getIsExampleElement()); + } + if (element.hasProfile()) { + for (CanonicalType e : element.getProfile()) + composeCanonical("profile", e); + } + if (element.hasRelativePathElement()) { composeUrl("relativePath", element.getRelativePathElement()); } } @@ -45687,7 +47695,12 @@ public class XmlParser extends XmlParserBase { if (element.hasDateElement()) { composeDateTime("date", element.getDateElement()); } - if (element.hasParticipant()) { + if (element.hasCreationElement()) { + composeDateTime("creation", element.getCreationElement()); + } + if (element.hasPeriod()) { + composeType("period", element.getPeriod()); + } if (element.hasParticipant()) { for (Invoice.InvoiceParticipantComponent e : element.getParticipant()) composeInvoiceParticipantComponent("participant", e); } @@ -45702,8 +47715,8 @@ public class XmlParser extends XmlParserBase { composeInvoiceLineItemComponent("lineItem", e); } if (element.hasTotalPriceComponent()) { - for (Invoice.InvoiceLineItemPriceComponentComponent e : element.getTotalPriceComponent()) - composeInvoiceLineItemPriceComponentComponent("totalPriceComponent", e); + for (MonetaryComponent e : element.getTotalPriceComponent()) + composeMonetaryComponent("totalPriceComponent", e); } if (element.hasTotalNet()) { composeMoney("totalNet", element.getTotalNet()); @@ -45755,36 +47768,13 @@ public class XmlParser extends XmlParserBase { if (element.hasSequenceElement()) { composePositiveInt("sequence", element.getSequenceElement()); } - if (element.hasChargeItem()) { + if (element.hasServiced()) { + composeType("serviced", element.getServiced()); + } if (element.hasChargeItem()) { composeType("chargeItem", element.getChargeItem()); } if (element.hasPriceComponent()) { - for (Invoice.InvoiceLineItemPriceComponentComponent e : element.getPriceComponent()) - composeInvoiceLineItemPriceComponentComponent("priceComponent", e); - } - } - - protected void composeInvoiceLineItemPriceComponentComponent(String name, Invoice.InvoiceLineItemPriceComponentComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeInvoiceLineItemPriceComponentComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeInvoiceLineItemPriceComponentComponentElements(Invoice.InvoiceLineItemPriceComponentComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.InvoicePriceComponentTypeEnumFactory()); - if (element.hasCode()) { - composeCodeableConcept("code", element.getCode()); - } - if (element.hasFactorElement()) { - composeDecimal("factor", element.getFactorElement()); - } - if (element.hasAmount()) { - composeMoney("amount", element.getAmount()); + for (MonetaryComponent e : element.getPriceComponent()) + composeMonetaryComponent("priceComponent", e); } } @@ -46070,15 +48060,11 @@ public class XmlParser extends XmlParserBase { for (ExtendedContactDetail e : element.getContact()) composeExtendedContactDetail("contact", e); } - if (element.hasTelecom()) { - for (ContactPoint e : element.getTelecom()) - composeContactPoint("telecom", e); - } if (element.hasAddress()) { composeAddress("address", element.getAddress()); } - if (element.hasPhysicalType()) { - composeCodeableConcept("physicalType", element.getPhysicalType()); + if (element.hasForm()) { + composeCodeableConcept("form", element.getForm()); } if (element.hasPosition()) { composeLocationPositionComponent("position", element.getPosition()); @@ -46089,12 +48075,17 @@ public class XmlParser extends XmlParserBase { if (element.hasPartOf()) { composeReference("partOf", element.getPartOf()); } - if (element.hasHoursOfOperation()) { - for (Location.LocationHoursOfOperationComponent e : element.getHoursOfOperation()) - composeLocationHoursOfOperationComponent("hoursOfOperation", e); + if (element.hasCharacteristic()) { + for (CodeableConcept e : element.getCharacteristic()) + composeCodeableConcept("characteristic", e); } - if (element.hasAvailabilityExceptionsElement()) { - composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); + if (element.hasHoursOfOperation()) { + for (Availability e : element.getHoursOfOperation()) + composeAvailability("hoursOfOperation", e); + } + if (element.hasVirtualService()) { + for (VirtualServiceDetail e : element.getVirtualService()) + composeVirtualServiceDetail("virtualService", e); } if (element.hasEndpoint()) { for (Reference e : element.getEndpoint()) @@ -46125,32 +48116,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeLocationHoursOfOperationComponent(String name, Location.LocationHoursOfOperationComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeLocationHoursOfOperationComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeLocationHoursOfOperationComponentElements(Location.LocationHoursOfOperationComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDaysOfWeek()) - for (Enumeration e : element.getDaysOfWeek()) - composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); - if (element.hasAllDayElement()) { - composeBoolean("allDay", element.getAllDayElement()); - } - if (element.hasOpeningTimeElement()) { - composeTime("openingTime", element.getOpeningTimeElement()); - } - if (element.hasClosingTimeElement()) { - composeTime("closingTime", element.getClosingTimeElement()); - } - } - protected void composeManufacturedItemDefinition(String name, ManufacturedItemDefinition element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -46169,6 +48134,9 @@ public class XmlParser extends XmlParserBase { } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); + if (element.hasNameElement()) { + composeString("name", element.getNameElement()); + } if (element.hasManufacturedDoseForm()) { composeCodeableConcept("manufacturedDoseForm", element.getManufacturedDoseForm()); } @@ -46179,6 +48147,10 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getManufacturer()) composeReference("manufacturer", e); } + if (element.hasMarketingStatus()) { + for (MarketingStatus e : element.getMarketingStatus()) + composeMarketingStatus("marketingStatus", e); + } if (element.hasIngredient()) { for (CodeableConcept e : element.getIngredient()) composeCodeableConcept("ingredient", e); @@ -46187,6 +48159,10 @@ public class XmlParser extends XmlParserBase { for (ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent e : element.getProperty()) composeManufacturedItemDefinitionPropertyComponent("property", e); } + if (element.hasComponent()) { + for (ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent e : element.getComponent()) + composeManufacturedItemDefinitionComponentComponent("component", e); + } } protected void composeManufacturedItemDefinitionPropertyComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent element) throws IOException { @@ -46208,6 +48184,73 @@ public class XmlParser extends XmlParserBase { composeType("value", element.getValue()); } } + protected void composeManufacturedItemDefinitionComponentComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeManufacturedItemDefinitionComponentComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeManufacturedItemDefinitionComponentComponentElements(ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasFunction()) { + for (CodeableConcept e : element.getFunction()) + composeCodeableConcept("function", e); + } + if (element.hasAmount()) { + for (Quantity e : element.getAmount()) + composeQuantity("amount", e); + } + if (element.hasConstituent()) { + for (ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent e : element.getConstituent()) + composeManufacturedItemDefinitionComponentConstituentComponent("constituent", e); + } + if (element.hasProperty()) { + for (ManufacturedItemDefinition.ManufacturedItemDefinitionPropertyComponent e : element.getProperty()) + composeManufacturedItemDefinitionPropertyComponent("property", e); + } + if (element.hasComponent()) { + for (ManufacturedItemDefinition.ManufacturedItemDefinitionComponentComponent e : element.getComponent()) + composeManufacturedItemDefinitionComponentComponent("component", e); + } + } + + protected void composeManufacturedItemDefinitionComponentConstituentComponent(String name, ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeManufacturedItemDefinitionComponentConstituentComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeManufacturedItemDefinitionComponentConstituentComponentElements(ManufacturedItemDefinition.ManufacturedItemDefinitionComponentConstituentComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasAmount()) { + for (Quantity e : element.getAmount()) + composeQuantity("amount", e); + } + if (element.hasLocation()) { + for (CodeableConcept e : element.getLocation()) + composeCodeableConcept("location", e); + } + if (element.hasFunction()) { + for (CodeableConcept e : element.getFunction()) + composeCodeableConcept("function", e); + } + if (element.hasLocationForIngredient()) { + for (CodeableReference e : element.getLocationForIngredient()) + composeCodeableReference("locationForIngredient", e); + } + } + protected void composeMeasure(String name, Measure element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -46247,7 +48290,7 @@ public class XmlParser extends XmlParserBase { if (element.hasSubject()) { composeType("subject", element.getSubject()); } if (element.hasBasisElement()) - composeEnumeration("basis", element.getBasisElement(), new Enumerations.FHIRAllTypesEnumFactory()); + composeEnumeration("basis", element.getBasisElement(), new Enumerations.FHIRTypesEnumFactory()); if (element.hasDateElement()) { composeDateTime("date", element.getDateElement()); } @@ -46346,9 +48389,9 @@ public class XmlParser extends XmlParserBase { if (element.hasImprovementNotation()) { composeCodeableConcept("improvementNotation", element.getImprovementNotation()); } - if (element.hasDefinition()) { - for (MarkdownType e : element.getDefinition()) - composeMarkdown("definition", e); + if (element.hasTerm()) { + for (Measure.MeasureTermComponent e : element.getTerm()) + composeMeasureTermComponent("term", e); } if (element.hasGuidanceElement()) { composeMarkdown("guidance", element.getGuidanceElement()); @@ -46363,6 +48406,26 @@ public class XmlParser extends XmlParserBase { } } + protected void composeMeasureTermComponent(String name, Measure.MeasureTermComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeMeasureTermComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeMeasureTermComponentElements(Measure.MeasureTermComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasDefinitionElement()) { + composeMarkdown("definition", element.getDefinitionElement()); + } + } + protected void composeMeasureGroupComponent(String name, Measure.MeasureGroupComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -46386,7 +48449,7 @@ public class XmlParser extends XmlParserBase { composeCodeableConcept("type", e); } if (element.hasBasisElement()) - composeEnumeration("basis", element.getBasisElement(), new Enumerations.FHIRAllTypesEnumFactory()); + composeEnumeration("basis", element.getBasisElement(), new Enumerations.FHIRTypesEnumFactory()); if (element.hasScoring()) { composeCodeableConcept("scoring", element.getScoring()); } @@ -46549,9 +48612,15 @@ public class XmlParser extends XmlParserBase { if (element.hasReportingVendor()) { composeReference("reportingVendor", element.getReportingVendor()); } + if (element.hasLocation()) { + composeReference("location", element.getLocation()); + } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } + if (element.hasInputParameters()) { + composeReference("inputParameters", element.getInputParameters()); + } if (element.hasScoring()) { composeCodeableConcept("scoring", element.getScoring()); } @@ -46630,9 +48699,8 @@ public class XmlParser extends XmlParserBase { protected void composeMeasureReportGroupStratifierComponentElements(MeasureReport.MeasureReportGroupStratifierComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasCode()) { - for (CodeableConcept e : element.getCode()) - composeCodeableConcept("code", e); + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); } if (element.hasStratum()) { for (MeasureReport.StratifierGroupComponent e : element.getStratum()) @@ -46805,14 +48873,6 @@ public class XmlParser extends XmlParserBase { for (Identifier e : element.getIdentifier()) composeIdentifier("identifier", e); } - if (element.hasInstantiatesCanonical()) { - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonical("instantiatesCanonical", e); - } - if (element.hasInstantiatesUri()) { - for (UriType e : element.getInstantiatesUri()) - composeUri("instantiatesUri", e); - } if (element.hasBasedOn()) { for (Reference e : element.getBasedOn()) composeReference("basedOn", e); @@ -47601,14 +49661,6 @@ public class XmlParser extends XmlParserBase { for (Identifier e : element.getIdentifier()) composeIdentifier("identifier", e); } - if (element.hasInstantiatesCanonical()) { - for (CanonicalType e : element.getInstantiatesCanonical()) - composeCanonical("instantiatesCanonical", e); - } - if (element.hasInstantiatesUri()) { - for (UriType e : element.getInstantiatesUri()) - composeUri("instantiatesUri", e); - } if (element.hasBasedOn()) { for (Reference e : element.getBasedOn()) composeReference("basedOn", e); @@ -47644,7 +49696,7 @@ public class XmlParser extends XmlParserBase { if (element.hasSubject()) { composeReference("subject", element.getSubject()); } - if (element.hasInformationSource()) { + if (element.hasInformationSource()) { for (Reference e : element.getInformationSource()) composeReference("informationSource", e); } @@ -47667,7 +49719,7 @@ public class XmlParser extends XmlParserBase { if (element.hasPerformerType()) { composeCodeableConcept("performerType", element.getPerformerType()); } - if (element.hasPerformer()) { + if (element.hasPerformer()) { for (Reference e : element.getPerformer()) composeReference("performer", e); } @@ -47852,7 +49904,7 @@ public class XmlParser extends XmlParserBase { } if (element.hasDateAssertedElement()) { composeDateTime("dateAsserted", element.getDateAssertedElement()); } - if (element.hasInformationSource()) { + if (element.hasInformationSource()) { for (Reference e : element.getInformationSource()) composeReference("informationSource", e); } @@ -48061,27 +50113,27 @@ public class XmlParser extends XmlParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasNamePart()) { - for (MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent e : element.getNamePart()) - composeMedicinalProductDefinitionNameNamePartComponent("namePart", e); + if (element.hasPart()) { + for (MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent e : element.getPart()) + composeMedicinalProductDefinitionNamePartComponent("part", e); } - if (element.hasCountryLanguage()) { - for (MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent e : element.getCountryLanguage()) - composeMedicinalProductDefinitionNameCountryLanguageComponent("countryLanguage", e); + if (element.hasUsage()) { + for (MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent e : element.getUsage()) + composeMedicinalProductDefinitionNameUsageComponent("usage", e); } } - protected void composeMedicinalProductDefinitionNameNamePartComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNamePartComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeMedicinalProductDefinitionNameNamePartComponentElements(element); + composeMedicinalProductDefinitionNamePartComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeMedicinalProductDefinitionNameNamePartComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNameNamePartComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNamePartComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNamePartComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasPartElement()) { composeString("part", element.getPartElement()); @@ -48091,17 +50143,17 @@ public class XmlParser extends XmlParserBase { } } - protected void composeMedicinalProductDefinitionNameCountryLanguageComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNameUsageComponent(String name, MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeMedicinalProductDefinitionNameCountryLanguageComponentElements(element); + composeMedicinalProductDefinitionNameUsageComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeMedicinalProductDefinitionNameCountryLanguageComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNameCountryLanguageComponent element) throws IOException { + protected void composeMedicinalProductDefinitionNameUsageComponentElements(MedicinalProductDefinition.MedicinalProductDefinitionNameUsageComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasCountry()) { composeCodeableConcept("country", element.getCountry()); @@ -48459,8 +50511,8 @@ public class XmlParser extends XmlParserBase { } if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new MolecularSequence.SequenceTypeEnumFactory()); - if (element.hasPatient()) { - composeReference("patient", element.getPatient()); + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); } if (element.hasSpecimen()) { composeReference("specimen", element.getSpecimen()); @@ -48482,7 +50534,7 @@ public class XmlParser extends XmlParserBase { for (MolecularSequence.MolecularSequenceRelativeComponent e : element.getRelative()) composeMolecularSequenceRelativeComponent("relative", e); } - } + } protected void composeMolecularSequenceRelativeComponent(String name, MolecularSequence.MolecularSequenceRelativeComponent element) throws IOException { if (element != null) { @@ -48492,15 +50544,21 @@ public class XmlParser extends XmlParserBase { composeElementClose(element); xml.exit(FHIR_NS, name); } - } + } protected void composeMolecularSequenceRelativeComponentElements(MolecularSequence.MolecularSequenceRelativeComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasCoordinateSystem()) { composeCodeableConcept("coordinateSystem", element.getCoordinateSystem()); } - if (element.hasReference()) { - composeMolecularSequenceRelativeReferenceComponent("reference", element.getReference()); + if (element.hasOrdinalPositionElement()) { + composeInteger("ordinalPosition", element.getOrdinalPositionElement()); + } + if (element.hasSequenceRange()) { + composeRange("sequenceRange", element.getSequenceRange()); + } + if (element.hasStartingSequence()) { + composeMolecularSequenceRelativeStartingSequenceComponent("startingSequence", element.getStartingSequence()); } if (element.hasEdit()) { for (MolecularSequence.MolecularSequenceRelativeEditComponent e : element.getEdit()) @@ -48508,26 +50566,26 @@ public class XmlParser extends XmlParserBase { } } - protected void composeMolecularSequenceRelativeReferenceComponent(String name, MolecularSequence.MolecularSequenceRelativeReferenceComponent element) throws IOException { + protected void composeMolecularSequenceRelativeStartingSequenceComponent(String name, MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeMolecularSequenceRelativeReferenceComponentElements(element); + composeMolecularSequenceRelativeStartingSequenceComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeMolecularSequenceRelativeReferenceComponentElements(MolecularSequence.MolecularSequenceRelativeReferenceComponent element) throws IOException { + protected void composeMolecularSequenceRelativeStartingSequenceComponentElements(MolecularSequence.MolecularSequenceRelativeStartingSequenceComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasReferenceSequenceAssembly()) { - composeCodeableConcept("referenceSequenceAssembly", element.getReferenceSequenceAssembly()); + if (element.hasGenomeAssembly()) { + composeCodeableConcept("genomeAssembly", element.getGenomeAssembly()); } if (element.hasChromosome()) { composeCodeableConcept("chromosome", element.getChromosome()); } - if (element.hasReferenceSequence()) { - composeType("referenceSequence", element.getReferenceSequence()); + if (element.hasSequence()) { + composeType("sequence", element.getSequence()); } if (element.hasWindowStartElement()) { composeInteger("windowStart", element.getWindowStartElement()); } @@ -48558,11 +50616,11 @@ public class XmlParser extends XmlParserBase { if (element.hasEndElement()) { composeInteger("end", element.getEndElement()); } - if (element.hasObservedAlleleElement()) { - composeString("observedAllele", element.getObservedAlleleElement()); + if (element.hasReplacementSequenceElement()) { + composeString("replacementSequence", element.getReplacementSequenceElement()); } - if (element.hasReferenceAlleleElement()) { - composeString("referenceAllele", element.getReferenceAlleleElement()); + if (element.hasReplacedSequenceElement()) { + composeString("replacedSequence", element.getReplacedSequenceElement()); } } @@ -48581,6 +50639,10 @@ public class XmlParser extends XmlParserBase { if (element.hasUrlElement()) { composeUri("url", element.getUrlElement()); } + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } @@ -48594,6 +50656,9 @@ public class XmlParser extends XmlParserBase { composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); if (element.hasKindElement()) composeEnumeration("kind", element.getKindElement(), new NamingSystem.NamingSystemTypeEnumFactory()); + if (element.hasExperimentalElement()) { + composeBoolean("experimental", element.getExperimentalElement()); + } if (element.hasDateElement()) { composeDateTime("date", element.getDateElement()); } @@ -48621,6 +50686,45 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getJurisdiction()) composeCodeableConcept("jurisdiction", e); } + if (element.hasPurposeElement()) { + composeMarkdown("purpose", element.getPurposeElement()); + } + if (element.hasCopyrightElement()) { + composeMarkdown("copyright", element.getCopyrightElement()); + } + if (element.hasApprovalDateElement()) { + composeDate("approvalDate", element.getApprovalDateElement()); + } + if (element.hasLastReviewDateElement()) { + composeDate("lastReviewDate", element.getLastReviewDateElement()); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept("topic", e); + } + if (element.hasAuthor()) { + for (ContactDetail e : element.getAuthor()) + composeContactDetail("author", e); + } + if (element.hasEditor()) { + for (ContactDetail e : element.getEditor()) + composeContactDetail("editor", e); + } + if (element.hasReviewer()) { + for (ContactDetail e : element.getReviewer()) + composeContactDetail("reviewer", e); + } + if (element.hasEndorser()) { + for (ContactDetail e : element.getEndorser()) + composeContactDetail("endorser", e); + } + if (element.hasRelatedArtifact()) { + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact("relatedArtifact", e); + } if (element.hasUsageElement()) { composeString("usage", element.getUsageElement()); } @@ -48847,22 +50951,36 @@ public class XmlParser extends XmlParserBase { for (UriType e : element.getInstantiates()) composeUri("instantiates", e); } + if (element.hasBasedOn()) { + for (Reference e : element.getBasedOn()) + composeReference("basedOn", e); + } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); if (element.hasIntentElement()) composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); - if (element.hasPatient()) { - composeReference("patient", element.getPatient()); + if (element.hasPriorityElement()) + composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); } if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } + if (element.hasSupportingInformation()) { + for (Reference e : element.getSupportingInformation()) + composeReference("supportingInformation", e); + } if (element.hasDateTimeElement()) { composeDateTime("dateTime", element.getDateTimeElement()); } if (element.hasOrderer()) { composeReference("orderer", element.getOrderer()); } + if (element.hasPerformer()) { + for (CodeableReference e : element.getPerformer()) + composeCodeableReference("performer", e); + } if (element.hasAllergyIntolerance()) { for (Reference e : element.getAllergyIntolerance()) composeReference("allergyIntolerance", e); @@ -48875,6 +50993,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getExcludeFoodModifier()) composeCodeableConcept("excludeFoodModifier", e); } + if (element.hasOutsideFoodAllowedElement()) { + composeBoolean("outsideFoodAllowed", element.getOutsideFoodAllowedElement()); + } if (element.hasOralDiet()) { composeNutritionOrderOralDietComponent("oralDiet", element.getOralDiet()); } @@ -48907,9 +51028,8 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getType()) composeCodeableConcept("type", e); } - if (element.hasSchedule()) { - for (Timing e : element.getSchedule()) - composeTiming("schedule", e); + if (element.hasSchedule()) { + composeNutritionOrderOralDietScheduleComponent("schedule", element.getSchedule()); } if (element.hasNutrient()) { for (NutritionOrder.NutritionOrderOralDietNutrientComponent e : element.getNutrient()) @@ -48928,6 +51048,30 @@ public class XmlParser extends XmlParserBase { } } + protected void composeNutritionOrderOralDietScheduleComponent(String name, NutritionOrder.NutritionOrderOralDietScheduleComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeNutritionOrderOralDietScheduleComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeNutritionOrderOralDietScheduleComponentElements(NutritionOrder.NutritionOrderOralDietScheduleComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTiming()) { + for (Timing e : element.getTiming()) + composeTiming("timing", e); + } + if (element.hasAsNeededElement()) { + composeBoolean("asNeeded", element.getAsNeededElement()); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } + } + protected void composeNutritionOrderOralDietNutrientComponent(String name, NutritionOrder.NutritionOrderOralDietNutrientComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -48981,14 +51125,13 @@ public class XmlParser extends XmlParserBase { protected void composeNutritionOrderSupplementComponentElements(NutritionOrder.NutritionOrderSupplementComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasType()) { - composeCodeableConcept("type", element.getType()); + composeCodeableReference("type", element.getType()); } if (element.hasProductNameElement()) { composeString("productName", element.getProductNameElement()); } - if (element.hasSchedule()) { - for (Timing e : element.getSchedule()) - composeTiming("schedule", e); + if (element.hasSchedule()) { + composeNutritionOrderSupplementScheduleComponent("schedule", element.getSchedule()); } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); @@ -48998,6 +51141,30 @@ public class XmlParser extends XmlParserBase { } } + protected void composeNutritionOrderSupplementScheduleComponent(String name, NutritionOrder.NutritionOrderSupplementScheduleComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeNutritionOrderSupplementScheduleComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeNutritionOrderSupplementScheduleComponentElements(NutritionOrder.NutritionOrderSupplementScheduleComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTiming()) { + for (Timing e : element.getTiming()) + composeTiming("timing", e); + } + if (element.hasAsNeededElement()) { + composeBoolean("asNeeded", element.getAsNeededElement()); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } + } + protected void composeNutritionOrderEnteralFormulaComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -49011,22 +51178,24 @@ public class XmlParser extends XmlParserBase { protected void composeNutritionOrderEnteralFormulaComponentElements(NutritionOrder.NutritionOrderEnteralFormulaComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasBaseFormulaType()) { - composeCodeableConcept("baseFormulaType", element.getBaseFormulaType()); + composeCodeableReference("baseFormulaType", element.getBaseFormulaType()); } if (element.hasBaseFormulaProductNameElement()) { composeString("baseFormulaProductName", element.getBaseFormulaProductNameElement()); } - if (element.hasAdditiveType()) { - composeCodeableConcept("additiveType", element.getAdditiveType()); + if (element.hasDeliveryDevice()) { + for (CodeableReference e : element.getDeliveryDevice()) + composeCodeableReference("deliveryDevice", e); } - if (element.hasAdditiveProductNameElement()) { - composeString("additiveProductName", element.getAdditiveProductNameElement()); + if (element.hasAdditive()) { + for (NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent e : element.getAdditive()) + composeNutritionOrderEnteralFormulaAdditiveComponent("additive", e); } if (element.hasCaloricDensity()) { composeQuantity("caloricDensity", element.getCaloricDensity()); } - if (element.hasRouteofAdministration()) { - composeCodeableConcept("routeofAdministration", element.getRouteofAdministration()); + if (element.hasRouteOfAdministration()) { + composeCodeableConcept("routeOfAdministration", element.getRouteOfAdministration()); } if (element.hasAdministration()) { for (NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent e : element.getAdministration()) @@ -49040,6 +51209,29 @@ public class XmlParser extends XmlParserBase { } } + protected void composeNutritionOrderEnteralFormulaAdditiveComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeNutritionOrderEnteralFormulaAdditiveComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeNutritionOrderEnteralFormulaAdditiveComponentElements(NutritionOrder.NutritionOrderEnteralFormulaAdditiveComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasType()) { + composeCodeableReference("type", element.getType()); + } + if (element.hasProductNameElement()) { + composeString("productName", element.getProductNameElement()); + } + if (element.hasQuantity()) { + composeQuantity("quantity", element.getQuantity()); + } + } + protected void composeNutritionOrderEnteralFormulaAdministrationComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -49053,7 +51245,7 @@ public class XmlParser extends XmlParserBase { protected void composeNutritionOrderEnteralFormulaAdministrationComponentElements(NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasSchedule()) { - composeTiming("schedule", element.getSchedule()); + composeNutritionOrderEnteralFormulaAdministrationScheduleComponent("schedule", element.getSchedule()); } if (element.hasQuantity()) { composeQuantity("quantity", element.getQuantity()); @@ -49062,6 +51254,30 @@ public class XmlParser extends XmlParserBase { composeType("rate", element.getRate()); } } + protected void composeNutritionOrderEnteralFormulaAdministrationScheduleComponent(String name, NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeNutritionOrderEnteralFormulaAdministrationScheduleComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeNutritionOrderEnteralFormulaAdministrationScheduleComponentElements(NutritionOrder.NutritionOrderEnteralFormulaAdministrationScheduleComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTiming()) { + for (Timing e : element.getTiming()) + composeTiming("timing", e); + } + if (element.hasAsNeededElement()) { + composeBoolean("asNeeded", element.getAsNeededElement()); + } + if (element.hasAsNeededFor()) { + composeCodeableConcept("asNeededFor", element.getAsNeededFor()); + } + } + protected void composeNutritionProduct(String name, NutritionProduct element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -49103,7 +51319,7 @@ public class XmlParser extends XmlParserBase { for (NutritionProduct.NutritionProductCharacteristicComponent e : element.getCharacteristic()) composeNutritionProductCharacteristicComponent("characteristic", e); } - if (element.hasInstance()) { + if (element.hasInstance()) { for (NutritionProduct.NutritionProductInstanceComponent e : element.getInstance()) composeNutritionProductInstanceComponent("instance", e); } @@ -49652,7 +51868,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -49689,6 +51907,12 @@ public class XmlParser extends XmlParserBase { if (element.hasPurposeElement()) { composeMarkdown("purpose", element.getPurposeElement()); } + if (element.hasCopyrightElement()) { + composeMarkdown("copyright", element.getCopyrightElement()); + } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasAffectsStateElement()) { composeBoolean("affectsState", element.getAffectsStateElement()); } @@ -49747,6 +51971,9 @@ public class XmlParser extends XmlParserBase { } if (element.hasUseElement()) composeEnumeration("use", element.getUseElement(), new Enumerations.OperationParameterUseEnumFactory()); + if (element.hasScope()) + for (Enumeration e : element.getScope()) + composeEnumeration("scope", e, new OperationDefinition.OperationParameterScopeEnumFactory()); if (element.hasMinElement()) { composeInteger("min", element.getMinElement()); } @@ -49754,10 +51981,13 @@ public class XmlParser extends XmlParserBase { composeString("max", element.getMaxElement()); } if (element.hasDocumentationElement()) { - composeString("documentation", element.getDocumentationElement()); + composeMarkdown("documentation", element.getDocumentationElement()); } if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRAllTypesEnumFactory()); + composeEnumeration("type", element.getTypeElement(), new Enumerations.FHIRTypesEnumFactory()); + if (element.hasAllowedType()) + for (Enumeration e : element.getAllowedType()) + composeEnumeration("allowedType", e, new Enumerations.FHIRTypesEnumFactory()); if (element.hasTargetProfile()) { for (CanonicalType e : element.getTargetProfile()) composeCanonical("targetProfile", e); @@ -49924,14 +52154,6 @@ public class XmlParser extends XmlParserBase { for (ExtendedContactDetail e : element.getContact()) composeExtendedContactDetail("contact", e); } - if (element.hasTelecom()) { - for (ContactPoint e : element.getTelecom()) - composeContactPoint("telecom", e); - } - if (element.hasAddress()) { - for (Address e : element.getAddress()) - composeAddress("address", e); - } if (element.hasPartOf()) { composeReference("partOf", element.getPartOf()); } @@ -49939,6 +52161,37 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getEndpoint()) composeReference("endpoint", e); } + if (element.hasQualification()) { + for (Organization.OrganizationQualificationComponent e : element.getQualification()) + composeOrganizationQualificationComponent("qualification", e); + } + } + + protected void composeOrganizationQualificationComponent(String name, Organization.OrganizationQualificationComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeOrganizationQualificationComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeOrganizationQualificationComponentElements(Organization.OrganizationQualificationComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasPeriod()) { + composePeriod("period", element.getPeriod()); + } + if (element.hasIssuer()) { + composeReference("issuer", element.getIssuer()); + } } protected void composeOrganizationAffiliation(String name, OrganizationAffiliation element) throws IOException { @@ -49989,9 +52242,9 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getHealthcareService()) composeReference("healthcareService", e); } - if (element.hasTelecom()) { - for (ContactPoint e : element.getTelecom()) - composeContactPoint("telecom", e); + if (element.hasContact()) { + for (ExtendedContactDetail e : element.getContact()) + composeExtendedContactDetail("contact", e); } if (element.hasEndpoint()) { for (Reference e : element.getEndpoint()) @@ -50432,14 +52685,26 @@ public class XmlParser extends XmlParserBase { for (Identifier e : element.getIdentifier()) composeIdentifier("identifier", e); } + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Enumerations.FinancialResourceStatusCodesEnumFactory()); + if (element.hasKind()) { + composeCodeableConcept("kind", element.getKind()); + } if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } if (element.hasCreatedElement()) { composeDateTime("created", element.getCreatedElement()); } + if (element.hasEnterer()) { + composeReference("enterer", element.getEnterer()); + } + if (element.hasIssuerType()) { + composeCodeableConcept("issuerType", element.getIssuerType()); + } if (element.hasPaymentIssuer()) { composeReference("paymentIssuer", element.getPaymentIssuer()); } @@ -50454,18 +52719,48 @@ public class XmlParser extends XmlParserBase { if (element.hasDispositionElement()) { composeString("disposition", element.getDispositionElement()); } - if (element.hasPaymentDateElement()) { - composeDate("paymentDate", element.getPaymentDateElement()); + if (element.hasDateElement()) { + composeDate("date", element.getDateElement()); } - if (element.hasPaymentAmount()) { - composeMoney("paymentAmount", element.getPaymentAmount()); + if (element.hasLocation()) { + composeReference("location", element.getLocation()); + } + if (element.hasMethod()) { + composeCodeableConcept("method", element.getMethod()); + } + if (element.hasCardBrandElement()) { + composeString("cardBrand", element.getCardBrandElement()); + } + if (element.hasAccountNumberElement()) { + composeString("accountNumber", element.getAccountNumberElement()); + } + if (element.hasExpirationDateElement()) { + composeDate("expirationDate", element.getExpirationDateElement()); + } + if (element.hasProcessorElement()) { + composeString("processor", element.getProcessorElement()); + } + if (element.hasReferenceNumberElement()) { + composeString("referenceNumber", element.getReferenceNumberElement()); + } + if (element.hasAuthorizationElement()) { + composeString("authorization", element.getAuthorizationElement()); + } + if (element.hasTenderedAmount()) { + composeMoney("tenderedAmount", element.getTenderedAmount()); + } + if (element.hasReturnedAmount()) { + composeMoney("returnedAmount", element.getReturnedAmount()); + } + if (element.hasAmount()) { + composeMoney("amount", element.getAmount()); } if (element.hasPaymentIdentifier()) { composeIdentifier("paymentIdentifier", element.getPaymentIdentifier()); } - if (element.hasDetail()) { - for (PaymentReconciliation.DetailsComponent e : element.getDetail()) - composePaymentReconciliationDetailsComponent("detail", e); + if (element.hasAllocation()) { + for (PaymentReconciliation.PaymentReconciliationAllocationComponent e : element.getAllocation()) + composePaymentReconciliationAllocationComponent("allocation", e); } if (element.hasFormCode()) { composeCodeableConcept("formCode", element.getFormCode()); @@ -50476,17 +52771,17 @@ public class XmlParser extends XmlParserBase { } } - protected void composePaymentReconciliationDetailsComponent(String name, PaymentReconciliation.DetailsComponent element) throws IOException { + protected void composePaymentReconciliationAllocationComponent(String name, PaymentReconciliation.PaymentReconciliationAllocationComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composePaymentReconciliationDetailsComponentElements(element); + composePaymentReconciliationAllocationComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composePaymentReconciliationDetailsComponentElements(PaymentReconciliation.DetailsComponent element) throws IOException { + protected void composePaymentReconciliationAllocationComponentElements(PaymentReconciliation.PaymentReconciliationAllocationComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasIdentifier()) { composeIdentifier("identifier", element.getIdentifier()); @@ -50494,12 +52789,20 @@ public class XmlParser extends XmlParserBase { if (element.hasPredecessor()) { composeIdentifier("predecessor", element.getPredecessor()); } + if (element.hasTarget()) { + composeReference("target", element.getTarget()); + } + if (element.hasTargetItem()) { + composeType("targetItem", element.getTargetItem()); + } if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); + } + if (element.hasAccount()) { + composeReference("account", element.getAccount()); + } if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasRequest()) { - composeReference("request", element.getRequest()); - } if (element.hasSubmitter()) { composeReference("submitter", element.getSubmitter()); } @@ -50553,63 +52856,24 @@ public class XmlParser extends XmlParserBase { composeDomainResourceElements(element); if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Permission.PermissionStatusEnumFactory()); - if (element.hasIntent()) { - composeCodeableConcept("intent", element.getIntent()); - } if (element.hasAsserter()) { composeReference("asserter", element.getAsserter()); } - if (element.hasAssertionDate()) { - for (DateTimeType e : element.getAssertionDate()) - composeDateTime("assertionDate", e); + if (element.hasDate()) { + for (DateTimeType e : element.getDate()) + composeDateTime("date", e); } if (element.hasValidity()) { composePeriod("validity", element.getValidity()); } - if (element.hasPurpose()) { - for (CodeableConcept e : element.getPurpose()) - composeCodeableConcept("purpose", e); - } - if (element.hasDataScope()) { - for (Expression e : element.getDataScope()) - composeExpression("dataScope", e); - } - if (element.hasProcessingActivity()) { - for (Permission.PermissionProcessingActivityComponent e : element.getProcessingActivity()) - composePermissionProcessingActivityComponent("processingActivity", e); - } if (element.hasJustification()) { composePermissionJustificationComponent("justification", element.getJustification()); } - if (element.hasUsageLimitations()) { - for (CodeableConcept e : element.getUsageLimitations()) - composeCodeableConcept("usageLimitations", e); - } - } - - protected void composePermissionProcessingActivityComponent(String name, Permission.PermissionProcessingActivityComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composePermissionProcessingActivityComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composePermissionProcessingActivityComponentElements(Permission.PermissionProcessingActivityComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasPartyReference()) { - for (Reference e : element.getPartyReference()) - composeReference("partyReference", e); - } - if (element.hasPartyCodeableConcept()) { - for (CodeableConcept e : element.getPartyCodeableConcept()) - composeCodeableConcept("partyCodeableConcept", e); - } - if (element.hasPurpose()) { - for (CodeableConcept e : element.getPurpose()) - composeCodeableConcept("purpose", e); + if (element.hasCombiningElement()) + composeEnumeration("combining", element.getCombiningElement(), new Permission.PermissionRuleCombiningEnumFactory()); + if (element.hasRule()) { + for (Permission.RuleComponent e : element.getRule()) + composePermissionRuleComponent("rule", e); } } @@ -50625,13 +52889,115 @@ public class XmlParser extends XmlParserBase { protected void composePermissionJustificationComponentElements(Permission.PermissionJustificationComponent element) throws IOException { composeBackboneElementElements(element); + if (element.hasBasis()) { + for (CodeableConcept e : element.getBasis()) + composeCodeableConcept("basis", e); + } if (element.hasEvidence()) { for (Reference e : element.getEvidence()) composeReference("evidence", e); } - if (element.hasGrounds()) { - for (CodeableConcept e : element.getGrounds()) - composeCodeableConcept("grounds", e); + } + + protected void composePermissionRuleComponent(String name, Permission.RuleComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composePermissionRuleComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composePermissionRuleComponentElements(Permission.RuleComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTypeElement()) + composeEnumeration("type", element.getTypeElement(), new Enumerations.ConsentProvisionTypeEnumFactory()); + if (element.hasData()) { + for (Permission.RuleDataComponent e : element.getData()) + composePermissionRuleDataComponent("data", e); + } + if (element.hasActivity()) { + for (Permission.RuleActivityComponent e : element.getActivity()) + composePermissionRuleActivityComponent("activity", e); + } + if (element.hasLimit()) { + for (CodeableConcept e : element.getLimit()) + composeCodeableConcept("limit", e); + } + } + + protected void composePermissionRuleDataComponent(String name, Permission.RuleDataComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composePermissionRuleDataComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composePermissionRuleDataComponentElements(Permission.RuleDataComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasResource()) { + for (Permission.RuleDataResourceComponent e : element.getResource()) + composePermissionRuleDataResourceComponent("resource", e); + } + if (element.hasSecurity()) { + for (Coding e : element.getSecurity()) + composeCoding("security", e); + } + if (element.hasPeriod()) { + for (Period e : element.getPeriod()) + composePeriod("period", e); + } + if (element.hasExpression()) { + composeExpression("expression", element.getExpression()); + } + } + + protected void composePermissionRuleDataResourceComponent(String name, Permission.RuleDataResourceComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composePermissionRuleDataResourceComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composePermissionRuleDataResourceComponentElements(Permission.RuleDataResourceComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasMeaningElement()) + composeEnumeration("meaning", element.getMeaningElement(), new Enumerations.ConsentDataMeaningEnumFactory()); + if (element.hasReference()) { + composeReference("reference", element.getReference()); + } + } + + protected void composePermissionRuleActivityComponent(String name, Permission.RuleActivityComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composePermissionRuleActivityComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composePermissionRuleActivityComponentElements(Permission.RuleActivityComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasActor()) { + for (Reference e : element.getActor()) + composeReference("actor", e); + } + if (element.hasAction()) { + for (CodeableConcept e : element.getAction()) + composeCodeableConcept("action", e); + } + if (element.hasPurpose()) { + for (CodeableConcept e : element.getPurpose()) + composeCodeableConcept("purpose", e); } } @@ -50680,13 +53046,13 @@ public class XmlParser extends XmlParserBase { for (Attachment e : element.getPhoto()) composeAttachment("photo", e); } - if (element.hasManagingOrganization()) { - composeReference("managingOrganization", element.getManagingOrganization()); - } if (element.hasCommunication()) { for (Person.PersonCommunicationComponent e : element.getCommunication()) composePersonCommunicationComponent("communication", e); } + if (element.hasManagingOrganization()) { + composeReference("managingOrganization", element.getManagingOrganization()); + } if (element.hasLink()) { for (Person.PersonLinkComponent e : element.getLink()) composePersonLinkComponent("link", e); @@ -50852,7 +53218,9 @@ public class XmlParser extends XmlParserBase { for (PlanDefinition.PlanDefinitionActionComponent e : element.getAction()) composePlanDefinitionActionComponent("action", e); } - } + if (element.hasAsNeeded()) { + composeType("asNeeded", element.getAsNeeded()); + } } protected void composePlanDefinitionGoalComponent(String name, PlanDefinition.PlanDefinitionGoalComponent element) throws IOException { if (element != null) { @@ -50952,6 +53320,9 @@ public class XmlParser extends XmlParserBase { composeBackboneElementElements(element); if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); + if (element.hasTypeCanonicalElement()) { + composeCanonical("typeCanonical", element.getTypeCanonicalElement()); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -51166,6 +53537,9 @@ public class XmlParser extends XmlParserBase { } if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); + if (element.hasTypeCanonicalElement()) { + composeCanonical("typeCanonical", element.getTypeCanonicalElement()); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -51224,17 +53598,17 @@ public class XmlParser extends XmlParserBase { for (ContactPoint e : element.getTelecom()) composeContactPoint("telecom", e); } + if (element.hasGenderElement()) + composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); + if (element.hasBirthDateElement()) { + composeDate("birthDate", element.getBirthDateElement()); + } if (element.hasDeceased()) { composeType("deceased", element.getDeceased()); } if (element.hasAddress()) { for (Address e : element.getAddress()) composeAddress("address", e); } - if (element.hasGenderElement()) - composeEnumeration("gender", element.getGenderElement(), new Enumerations.AdministrativeGenderEnumFactory()); - if (element.hasBirthDateElement()) { - composeDate("birthDate", element.getBirthDateElement()); - } if (element.hasPhoto()) { for (Attachment e : element.getPhoto()) composeAttachment("photo", e); @@ -51324,20 +53698,9 @@ public class XmlParser extends XmlParserBase { for (ExtendedContactDetail e : element.getContact()) composeExtendedContactDetail("contact", e); } - if (element.hasTelecom()) { - for (ContactPoint e : element.getTelecom()) - composeContactPoint("telecom", e); - } - if (element.hasAvailableTime()) { - for (PractitionerRole.PractitionerRoleAvailableTimeComponent e : element.getAvailableTime()) - composePractitionerRoleAvailableTimeComponent("availableTime", e); - } - if (element.hasNotAvailable()) { - for (PractitionerRole.PractitionerRoleNotAvailableComponent e : element.getNotAvailable()) - composePractitionerRoleNotAvailableComponent("notAvailable", e); - } - if (element.hasAvailabilityExceptionsElement()) { - composeString("availabilityExceptions", element.getAvailabilityExceptionsElement()); + if (element.hasAvailability()) { + for (Availability e : element.getAvailability()) + composeAvailability("availability", e); } if (element.hasEndpoint()) { for (Reference e : element.getEndpoint()) @@ -51345,52 +53708,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composePractitionerRoleAvailableTimeComponent(String name, PractitionerRole.PractitionerRoleAvailableTimeComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composePractitionerRoleAvailableTimeComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composePractitionerRoleAvailableTimeComponentElements(PractitionerRole.PractitionerRoleAvailableTimeComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDaysOfWeek()) - for (Enumeration e : element.getDaysOfWeek()) - composeEnumeration("daysOfWeek", e, new Enumerations.DaysOfWeekEnumFactory()); - if (element.hasAllDayElement()) { - composeBoolean("allDay", element.getAllDayElement()); - } - if (element.hasAvailableStartTimeElement()) { - composeTime("availableStartTime", element.getAvailableStartTimeElement()); - } - if (element.hasAvailableEndTimeElement()) { - composeTime("availableEndTime", element.getAvailableEndTimeElement()); - } - } - - protected void composePractitionerRoleNotAvailableComponent(String name, PractitionerRole.PractitionerRoleNotAvailableComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composePractitionerRoleNotAvailableComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composePractitionerRoleNotAvailableComponentElements(PractitionerRole.PractitionerRoleNotAvailableComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasDescriptionElement()) { - composeString("description", element.getDescriptionElement()); - } - if (element.hasDuring()) { - composePeriod("during", element.getDuring()); - } - } - protected void composeProcedure(String name, Procedure element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -51438,6 +53755,9 @@ public class XmlParser extends XmlParserBase { if (element.hasSubject()) { composeReference("subject", element.getSubject()); } + if (element.hasFocus()) { + composeReference("focus", element.getFocus()); + } if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } @@ -51524,6 +53844,9 @@ public class XmlParser extends XmlParserBase { if (element.hasOnBehalfOf()) { composeReference("onBehalfOf", element.getOnBehalfOf()); } + if (element.hasPeriod()) { + composePeriod("period", element.getPeriod()); + } } protected void composeProcedureFocalDeviceComponent(String name, Procedure.ProcedureFocalDeviceComponent element) throws IOException { @@ -51677,7 +54000,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -51723,6 +54048,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasApprovalDateElement()) { composeDate("approvalDate", element.getApprovalDateElement()); } @@ -51768,7 +54096,7 @@ public class XmlParser extends XmlParserBase { composeString("prefix", element.getPrefixElement()); } if (element.hasTextElement()) { - composeMarkdown("text", element.getTextElement()); + composeString("text", element.getTextElement()); } if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Questionnaire.QuestionnaireItemTypeEnumFactory()); @@ -52007,8 +54335,9 @@ public class XmlParser extends XmlParserBase { if (element.hasValidityPeriod()) { composePeriod("validityPeriod", element.getValidityPeriod()); } - if (element.hasIndication()) { - composeCodeableReference("indication", element.getIndication()); + if (element.hasIndication()) { + for (CodeableReference e : element.getIndication()) + composeCodeableReference("indication", e); } if (element.hasIntendedUse()) { composeCodeableConcept("intendedUse", element.getIntendedUse()); @@ -52172,12 +54501,15 @@ public class XmlParser extends XmlParserBase { if (element.hasGroupIdentifier()) { composeIdentifier("groupIdentifier", element.getGroupIdentifier()); } - if (element.hasStatusElement()) - composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); - if (element.hasIntentElement()) - composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); - if (element.hasPriorityElement()) - composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); + if (element.hasStatusElement()) { + composeCode("status", element.getStatusElement()); + } + if (element.hasIntentElement()) { + composeCode("intent", element.getIntentElement()); + } + if (element.hasPriorityElement()) { + composeCode("priority", element.getPriorityElement()); + } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -52238,8 +54570,9 @@ public class XmlParser extends XmlParserBase { if (element.hasTextEquivalentElement()) { composeString("textEquivalent", element.getTextEquivalentElement()); } - if (element.hasPriorityElement()) - composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); + if (element.hasPriorityElement()) { + composeCode("priority", element.getPriorityElement()); + } if (element.hasCode()) { for (CodeableConcept e : element.getCode()) composeCodeableConcept("code", e); @@ -52272,16 +54605,21 @@ public class XmlParser extends XmlParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasGroupingBehaviorElement()) - composeEnumeration("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory()); - if (element.hasSelectionBehaviorElement()) - composeEnumeration("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory()); - if (element.hasRequiredBehaviorElement()) - composeEnumeration("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory()); - if (element.hasPrecheckBehaviorElement()) - composeEnumeration("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory()); - if (element.hasCardinalityBehaviorElement()) - composeEnumeration("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory()); + if (element.hasGroupingBehaviorElement()) { + composeCode("groupingBehavior", element.getGroupingBehaviorElement()); + } + if (element.hasSelectionBehaviorElement()) { + composeCode("selectionBehavior", element.getSelectionBehaviorElement()); + } + if (element.hasRequiredBehaviorElement()) { + composeCode("requiredBehavior", element.getRequiredBehaviorElement()); + } + if (element.hasPrecheckBehaviorElement()) { + composeCode("precheckBehavior", element.getPrecheckBehaviorElement()); + } + if (element.hasCardinalityBehaviorElement()) { + composeCode("cardinalityBehavior", element.getCardinalityBehaviorElement()); + } if (element.hasResource()) { composeReference("resource", element.getResource()); } @@ -52303,8 +54641,9 @@ public class XmlParser extends XmlParserBase { protected void composeRequestGroupActionConditionComponentElements(RequestGroup.RequestGroupActionConditionComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasKindElement()) - composeEnumeration("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory()); + if (element.hasKindElement()) { + composeCode("kind", element.getKindElement()); + } if (element.hasExpression()) { composeExpression("expression", element.getExpression()); } @@ -52325,8 +54664,9 @@ public class XmlParser extends XmlParserBase { if (element.hasTargetIdElement()) { composeId("targetId", element.getTargetIdElement()); } - if (element.hasRelationshipElement()) - composeEnumeration("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory()); + if (element.hasRelationshipElement()) { + composeCode("relationship", element.getRelationshipElement()); + } if (element.hasOffset()) { composeType("offset", element.getOffset()); } } @@ -52343,8 +54683,9 @@ public class XmlParser extends XmlParserBase { protected void composeRequestGroupActionParticipantComponentElements(RequestGroup.RequestGroupActionParticipantComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasTypeElement()) - composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); + if (element.hasTypeElement()) { + composeCode("type", element.getTypeElement()); + } if (element.hasTypeReference()) { composeReference("typeReference", element.getTypeReference()); } @@ -52359,6 +54700,430 @@ public class XmlParser extends XmlParserBase { } } + protected void composeRequestOrchestration(String name, RequestOrchestration element) throws IOException { + if (element != null) { + composeResourceAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationElements(RequestOrchestration element) throws IOException { + composeDomainResourceElements(element); + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } + if (element.hasInstantiatesCanonical()) { + for (CanonicalType e : element.getInstantiatesCanonical()) + composeCanonical("instantiatesCanonical", e); + } + if (element.hasInstantiatesUri()) { + for (UriType e : element.getInstantiatesUri()) + composeUri("instantiatesUri", e); + } + if (element.hasBasedOn()) { + for (Reference e : element.getBasedOn()) + composeReference("basedOn", e); + } + if (element.hasReplaces()) { + for (Reference e : element.getReplaces()) + composeReference("replaces", e); + } + if (element.hasGroupIdentifier()) { + composeIdentifier("groupIdentifier", element.getGroupIdentifier()); + } + if (element.hasStatusElement()) + composeEnumeration("status", element.getStatusElement(), new Enumerations.RequestStatusEnumFactory()); + if (element.hasIntentElement()) + composeEnumeration("intent", element.getIntentElement(), new Enumerations.RequestIntentEnumFactory()); + if (element.hasPriorityElement()) + composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); + if (element.hasCode()) { + composeCodeableConcept("code", element.getCode()); + } + if (element.hasSubject()) { + composeReference("subject", element.getSubject()); + } + if (element.hasEncounter()) { + composeReference("encounter", element.getEncounter()); + } + if (element.hasAuthoredOnElement()) { + composeDateTime("authoredOn", element.getAuthoredOnElement()); + } + if (element.hasAuthor()) { + composeReference("author", element.getAuthor()); + } + if (element.hasReason()) { + for (CodeableReference e : element.getReason()) + composeCodeableReference("reason", e); + } + if (element.hasGoal()) { + for (Reference e : element.getGoal()) + composeReference("goal", e); + } + if (element.hasNote()) { + for (Annotation e : element.getNote()) + composeAnnotation("note", e); + } + if (element.hasAction()) { + for (RequestOrchestration.RequestOrchestrationActionComponent e : element.getAction()) + composeRequestOrchestrationActionComponent("action", e); + } + } + + protected void composeRequestOrchestrationActionComponent(String name, RequestOrchestration.RequestOrchestrationActionComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionComponentElements(RequestOrchestration.RequestOrchestrationActionComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasLinkIdElement()) { + composeString("linkId", element.getLinkIdElement()); + } + if (element.hasPrefixElement()) { + composeString("prefix", element.getPrefixElement()); + } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } + if (element.hasDescriptionElement()) { + composeString("description", element.getDescriptionElement()); + } + if (element.hasTextEquivalentElement()) { + composeString("textEquivalent", element.getTextEquivalentElement()); + } + if (element.hasPriorityElement()) + composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); + if (element.hasCode()) { + for (CodeableConcept e : element.getCode()) + composeCodeableConcept("code", e); + } + if (element.hasDocumentation()) { + for (RelatedArtifact e : element.getDocumentation()) + composeRelatedArtifact("documentation", e); + } + if (element.hasGoal()) { + for (Reference e : element.getGoal()) + composeReference("goal", e); + } + if (element.hasCondition()) { + for (RequestOrchestration.RequestOrchestrationActionConditionComponent e : element.getCondition()) + composeRequestOrchestrationActionConditionComponent("condition", e); + } + if (element.hasInput()) { + for (RequestOrchestration.RequestOrchestrationActionInputComponent e : element.getInput()) + composeRequestOrchestrationActionInputComponent("input", e); + } + if (element.hasOutput()) { + for (RequestOrchestration.RequestOrchestrationActionOutputComponent e : element.getOutput()) + composeRequestOrchestrationActionOutputComponent("output", e); + } + if (element.hasRelatedAction()) { + for (RequestOrchestration.RequestOrchestrationActionRelatedActionComponent e : element.getRelatedAction()) + composeRequestOrchestrationActionRelatedActionComponent("relatedAction", e); + } + if (element.hasTiming()) { + composeType("timing", element.getTiming()); + } if (element.hasLocation()) { + composeCodeableReference("location", element.getLocation()); + } + if (element.hasParticipant()) { + for (RequestOrchestration.RequestOrchestrationActionParticipantComponent e : element.getParticipant()) + composeRequestOrchestrationActionParticipantComponent("participant", e); + } + if (element.hasType()) { + composeCodeableConcept("type", element.getType()); + } + if (element.hasGroupingBehaviorElement()) + composeEnumeration("groupingBehavior", element.getGroupingBehaviorElement(), new Enumerations.ActionGroupingBehaviorEnumFactory()); + if (element.hasSelectionBehaviorElement()) + composeEnumeration("selectionBehavior", element.getSelectionBehaviorElement(), new Enumerations.ActionSelectionBehaviorEnumFactory()); + if (element.hasRequiredBehaviorElement()) + composeEnumeration("requiredBehavior", element.getRequiredBehaviorElement(), new Enumerations.ActionRequiredBehaviorEnumFactory()); + if (element.hasPrecheckBehaviorElement()) + composeEnumeration("precheckBehavior", element.getPrecheckBehaviorElement(), new Enumerations.ActionPrecheckBehaviorEnumFactory()); + if (element.hasCardinalityBehaviorElement()) + composeEnumeration("cardinalityBehavior", element.getCardinalityBehaviorElement(), new Enumerations.ActionCardinalityBehaviorEnumFactory()); + if (element.hasResource()) { + composeReference("resource", element.getResource()); + } + if (element.hasDefinition()) { + composeType("definition", element.getDefinition()); + } if (element.hasTransformElement()) { + composeCanonical("transform", element.getTransformElement()); + } + if (element.hasDynamicValue()) { + for (RequestOrchestration.RequestOrchestrationActionDynamicValueComponent e : element.getDynamicValue()) + composeRequestOrchestrationActionDynamicValueComponent("dynamicValue", e); + } + if (element.hasAction()) { + for (RequestOrchestration.RequestOrchestrationActionComponent e : element.getAction()) + composeRequestOrchestrationActionComponent("action", e); + } + } + + protected void composeRequestOrchestrationActionConditionComponent(String name, RequestOrchestration.RequestOrchestrationActionConditionComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionConditionComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionConditionComponentElements(RequestOrchestration.RequestOrchestrationActionConditionComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasKindElement()) + composeEnumeration("kind", element.getKindElement(), new Enumerations.ActionConditionKindEnumFactory()); + if (element.hasExpression()) { + composeExpression("expression", element.getExpression()); + } + } + + protected void composeRequestOrchestrationActionInputComponent(String name, RequestOrchestration.RequestOrchestrationActionInputComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionInputComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionInputComponentElements(RequestOrchestration.RequestOrchestrationActionInputComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } + if (element.hasRequirement()) { + composeDataRequirement("requirement", element.getRequirement()); + } + if (element.hasRelatedDataElement()) { + composeId("relatedData", element.getRelatedDataElement()); + } + } + + protected void composeRequestOrchestrationActionOutputComponent(String name, RequestOrchestration.RequestOrchestrationActionOutputComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionOutputComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionOutputComponentElements(RequestOrchestration.RequestOrchestrationActionOutputComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } + if (element.hasRequirement()) { + composeDataRequirement("requirement", element.getRequirement()); + } + if (element.hasRelatedDataElement()) { + composeString("relatedData", element.getRelatedDataElement()); + } + } + + protected void composeRequestOrchestrationActionRelatedActionComponent(String name, RequestOrchestration.RequestOrchestrationActionRelatedActionComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionRelatedActionComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionRelatedActionComponentElements(RequestOrchestration.RequestOrchestrationActionRelatedActionComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTargetIdElement()) { + composeId("targetId", element.getTargetIdElement()); + } + if (element.hasRelationshipElement()) + composeEnumeration("relationship", element.getRelationshipElement(), new Enumerations.ActionRelationshipTypeEnumFactory()); + if (element.hasOffset()) { + composeType("offset", element.getOffset()); + } } + + protected void composeRequestOrchestrationActionParticipantComponent(String name, RequestOrchestration.RequestOrchestrationActionParticipantComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionParticipantComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionParticipantComponentElements(RequestOrchestration.RequestOrchestrationActionParticipantComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasTypeElement()) + composeEnumeration("type", element.getTypeElement(), new Enumerations.ActionParticipantTypeEnumFactory()); + if (element.hasTypeCanonicalElement()) { + composeCanonical("typeCanonical", element.getTypeCanonicalElement()); + } + if (element.hasTypeReference()) { + composeReference("typeReference", element.getTypeReference()); + } + if (element.hasRole()) { + composeCodeableConcept("role", element.getRole()); + } + if (element.hasFunction()) { + composeCodeableConcept("function", element.getFunction()); + } + if (element.hasActor()) { + composeType("actor", element.getActor()); + } } + + protected void composeRequestOrchestrationActionDynamicValueComponent(String name, RequestOrchestration.RequestOrchestrationActionDynamicValueComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequestOrchestrationActionDynamicValueComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequestOrchestrationActionDynamicValueComponentElements(RequestOrchestration.RequestOrchestrationActionDynamicValueComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasPathElement()) { + composeString("path", element.getPathElement()); + } + if (element.hasExpression()) { + composeExpression("expression", element.getExpression()); + } + } + + protected void composeRequirements(String name, Requirements element) throws IOException { + if (element != null) { + composeResourceAttributes(element); + xml.enter(FHIR_NS, name); + composeRequirementsElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequirementsElements(Requirements element) throws IOException { + composeCanonicalResourceElements(element); + if (element.hasUrlElement()) { + composeUri("url", element.getUrlElement()); + } + if (element.hasIdentifier()) { + for (Identifier e : element.getIdentifier()) + composeIdentifier("identifier", e); + } + if (element.hasVersionElement()) { + composeString("version", element.getVersionElement()); + } + if (element.hasNameElement()) { + composeString("name", element.getNameElement()); + } + if (element.hasTitleElement()) { + composeString("title", element.getTitleElement()); + } + if (element.hasStatusElement()) + composeEnumeration("status", element.getStatusElement(), new Enumerations.PublicationStatusEnumFactory()); + if (element.hasExperimentalElement()) { + composeBoolean("experimental", element.getExperimentalElement()); + } + if (element.hasDateElement()) { + composeDateTime("date", element.getDateElement()); + } + if (element.hasPublisherElement()) { + composeString("publisher", element.getPublisherElement()); + } + if (element.hasContact()) { + for (ContactDetail e : element.getContact()) + composeContactDetail("contact", e); + } + if (element.hasDescriptionElement()) { + composeMarkdown("description", element.getDescriptionElement()); + } + if (element.hasUseContext()) { + for (UsageContext e : element.getUseContext()) + composeUsageContext("useContext", e); + } + if (element.hasJurisdiction()) { + for (CodeableConcept e : element.getJurisdiction()) + composeCodeableConcept("jurisdiction", e); + } + if (element.hasPurposeElement()) { + composeMarkdown("purpose", element.getPurposeElement()); + } + if (element.hasCopyrightElement()) { + composeMarkdown("copyright", element.getCopyrightElement()); + } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } + if (element.hasDerivedFrom()) { + for (CanonicalType e : element.getDerivedFrom()) + composeCanonical("derivedFrom", e); + } + if (element.hasActor()) { + for (CanonicalType e : element.getActor()) + composeCanonical("actor", e); + } + if (element.hasStatement()) { + for (Requirements.RequirementsStatementComponent e : element.getStatement()) + composeRequirementsStatementComponent("statement", e); + } + } + + protected void composeRequirementsStatementComponent(String name, Requirements.RequirementsStatementComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeRequirementsStatementComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeRequirementsStatementComponentElements(Requirements.RequirementsStatementComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasKeyElement()) { + composeId("key", element.getKeyElement()); + } + if (element.hasLabelElement()) { + composeString("label", element.getLabelElement()); + } + if (element.hasConformanceElement()) + composeEnumeration("conformance", element.getConformanceElement(), new Requirements.ConformanceExpectationEnumFactory()); + if (element.hasRequirementElement()) { + composeMarkdown("requirement", element.getRequirementElement()); + } + if (element.hasDerivedFromElement()) { + composeString("derivedFrom", element.getDerivedFromElement()); + } + if (element.hasSatisfiedBy()) { + for (UrlType e : element.getSatisfiedBy()) + composeUrl("satisfiedBy", e); + } + if (element.hasReference()) { + for (UrlType e : element.getReference()) + composeUrl("reference", e); + } + if (element.hasSource()) { + for (Reference e : element.getSource()) + composeReference("source", e); + } + } + protected void composeResearchStudy(String name, ResearchStudy element) throws IOException { if (element != null) { composeResourceAttributes(element); @@ -52414,9 +55179,9 @@ public class XmlParser extends XmlParserBase { if (element.hasPhase()) { composeCodeableConcept("phase", element.getPhase()); } - if (element.hasCategory()) { - for (CodeableConcept e : element.getCategory()) - composeCodeableConcept("category", e); + if (element.hasStudyDesign()) { + for (CodeableConcept e : element.getStudyDesign()) + composeCodeableConcept("studyDesign", e); } if (element.hasFocus()) { for (ResearchStudy.ResearchStudyFocusComponent e : element.getFocus()) @@ -52430,9 +55195,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getKeyword()) composeCodeableConcept("keyword", e); } - if (element.hasLocation()) { - for (CodeableConcept e : element.getLocation()) - composeCodeableConcept("location", e); + if (element.hasRegion()) { + for (CodeableConcept e : element.getRegion()) + composeCodeableConcept("region", e); } if (element.hasDescriptionSummaryElement()) { composeMarkdown("descriptionSummary", element.getDescriptionSummaryElement()); @@ -52443,16 +55208,6 @@ public class XmlParser extends XmlParserBase { if (element.hasPeriod()) { composePeriod("period", element.getPeriod()); } - if (element.hasContact()) { - for (ContactDetail e : element.getContact()) - composeContactDetail("contact", e); - } - if (element.hasSponsor()) { - composeReference("sponsor", element.getSponsor()); - } - if (element.hasPrincipalInvestigator()) { - composeReference("principalInvestigator", element.getPrincipalInvestigator()); - } if (element.hasSite()) { for (Reference e : element.getSite()) composeReference("site", e); @@ -52461,21 +55216,17 @@ public class XmlParser extends XmlParserBase { for (Annotation e : element.getNote()) composeAnnotation("note", e); } - if (element.hasClassification()) { - for (ResearchStudy.ResearchStudyClassificationComponent e : element.getClassification()) - composeResearchStudyClassificationComponent("classification", e); + if (element.hasClassifier()) { + for (CodeableConcept e : element.getClassifier()) + composeCodeableConcept("classifier", e); } if (element.hasAssociatedParty()) { for (ResearchStudy.ResearchStudyAssociatedPartyComponent e : element.getAssociatedParty()) composeResearchStudyAssociatedPartyComponent("associatedParty", e); } - if (element.hasCurrentState()) { - for (CodeableConcept e : element.getCurrentState()) - composeCodeableConcept("currentState", e); - } - if (element.hasStatusDate()) { - for (ResearchStudy.ResearchStudyStatusDateComponent e : element.getStatusDate()) - composeResearchStudyStatusDateComponent("statusDate", e); + if (element.hasProgressStatus()) { + for (ResearchStudy.ResearchStudyProgressStatusComponent e : element.getProgressStatus()) + composeResearchStudyProgressStatusComponent("progressStatus", e); } if (element.hasWhyStopped()) { composeCodeableConcept("whyStopped", element.getWhyStopped()); @@ -52549,27 +55300,6 @@ public class XmlParser extends XmlParserBase { } } - protected void composeResearchStudyClassificationComponent(String name, ResearchStudy.ResearchStudyClassificationComponent element) throws IOException { - if (element != null) { - composeElementAttributes(element); - xml.enter(FHIR_NS, name); - composeResearchStudyClassificationComponentElements(element); - composeElementClose(element); - xml.exit(FHIR_NS, name); - } - } - - protected void composeResearchStudyClassificationComponentElements(ResearchStudy.ResearchStudyClassificationComponent element) throws IOException { - composeBackboneElementElements(element); - if (element.hasType()) { - composeCodeableConcept("type", element.getType()); - } - if (element.hasClassifier()) { - for (CodeableConcept e : element.getClassifier()) - composeCodeableConcept("classifier", e); - } - } - protected void composeResearchStudyAssociatedPartyComponent(String name, ResearchStudy.ResearchStudyAssociatedPartyComponent element) throws IOException { if (element != null) { composeElementAttributes(element); @@ -52601,20 +55331,20 @@ public class XmlParser extends XmlParserBase { } } - protected void composeResearchStudyStatusDateComponent(String name, ResearchStudy.ResearchStudyStatusDateComponent element) throws IOException { + protected void composeResearchStudyProgressStatusComponent(String name, ResearchStudy.ResearchStudyProgressStatusComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeResearchStudyStatusDateComponentElements(element); + composeResearchStudyProgressStatusComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeResearchStudyStatusDateComponentElements(ResearchStudy.ResearchStudyStatusDateComponent element) throws IOException { + protected void composeResearchStudyProgressStatusComponentElements(ResearchStudy.ResearchStudyProgressStatusComponent element) throws IOException { composeBackboneElementElements(element); - if (element.hasActivity()) { - composeCodeableConcept("activity", element.getActivity()); + if (element.hasState()) { + composeCodeableConcept("state", element.getState()); } if (element.hasActualElement()) { composeBoolean("actual", element.getActualElement()); @@ -52952,6 +55682,9 @@ public class XmlParser extends XmlParserBase { for (CodeableConcept e : element.getSpecialty()) composeCodeableConcept("specialty", e); } + if (element.hasNameElement()) { + composeString("name", element.getNameElement()); + } if (element.hasActor()) { for (Reference e : element.getActor()) composeReference("actor", e); @@ -52982,7 +55715,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -53023,20 +55758,19 @@ public class XmlParser extends XmlParserBase { if (element.hasCodeElement()) { composeCode("code", element.getCodeElement()); } - if (element.hasBase()) { - for (CodeType e : element.getBase()) - composeCode("base", e); - } + if (element.hasBase()) + for (Enumeration e : element.getBase()) + composeEnumeration("base", e, new Enumerations.AllResourceTypesEnumFactory()); if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); if (element.hasExpressionElement()) { composeString("expression", element.getExpressionElement()); } - if (element.hasXpathElement()) { - composeString("xpath", element.getXpathElement()); + if (element.hasProcessingModeElement()) + composeEnumeration("processingMode", element.getProcessingModeElement(), new SearchParameter.SearchProcessingModeTypeEnumFactory()); + if (element.hasConstraintElement()) { + composeString("constraint", element.getConstraintElement()); } - if (element.hasXpathUsageElement()) - composeEnumeration("xpathUsage", element.getXpathUsageElement(), new SearchParameter.XPathUsageTypeEnumFactory()); if (element.hasTarget()) { for (CodeType e : element.getTarget()) composeCode("target", e); @@ -53132,7 +55866,7 @@ public class XmlParser extends XmlParserBase { composeBoolean("doNotPerform", element.getDoNotPerformElement()); } if (element.hasCode()) { - composeCodeableConcept("code", element.getCode()); + composeCodeableReference("code", element.getCode()); } if (element.hasOrderDetail()) { for (CodeableConcept e : element.getOrderDetail()) @@ -53296,6 +56030,12 @@ public class XmlParser extends XmlParserBase { for (Reference e : element.getRequest()) composeReference("request", e); } + if (element.hasCombinedElement()) + composeEnumeration("combined", element.getCombinedElement(), new Specimen.SpecimenCombinedEnumFactory()); + if (element.hasRole()) { + for (CodeableConcept e : element.getRole()) + composeCodeableConcept("role", e); + } if (element.hasFeature()) { for (Specimen.SpecimenFeatureComponent e : element.getFeature()) composeSpecimenFeatureComponent("feature", e); @@ -53445,7 +56185,7 @@ public class XmlParser extends XmlParserBase { composeUri("url", element.getUrlElement()); } if (element.hasIdentifier()) { - composeIdentifier("identifier", element.getIdentifier()); + composeIdentifier("identifier", element.getIdentifierFirstRep()); } if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); @@ -53672,7 +56412,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -53710,6 +56452,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasKeyword()) { for (Coding e : element.getKeyword()) composeCoding("keyword", e); @@ -53852,7 +56597,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -53890,6 +56637,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasStructure()) { for (StructureMap.StructureMapStructureComponent e : element.getStructure()) composeStructureMapStructureComponent("structure", e); @@ -54172,6 +56922,9 @@ public class XmlParser extends XmlParserBase { if (element.hasEndElement()) { composeInstant("end", element.getEndElement()); } + if (element.hasManagingEntity()) { + composeReference("managingEntity", element.getManagingEntity()); + } if (element.hasReasonElement()) { composeString("reason", element.getReasonElement()); } @@ -54353,6 +57106,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasApprovalDateElement()) { composeDate("approvalDate", element.getApprovalDateElement()); } @@ -55726,8 +58482,9 @@ public class XmlParser extends XmlParserBase { if (element.hasType()) { composeCodeableConcept("type", element.getType()); } - if (element.hasSuppliedItem()) { - composeSupplyDeliverySuppliedItemComponent("suppliedItem", element.getSuppliedItem()); + if (element.hasSuppliedItem()) { + for (SupplyDelivery.SupplyDeliverySuppliedItemComponent e : element.getSuppliedItem()) + composeSupplyDeliverySuppliedItemComponent("suppliedItem", e); } if (element.hasOccurrence()) { composeType("occurrence", element.getOccurrence()); @@ -55878,7 +58635,7 @@ public class XmlParser extends XmlParserBase { if (element.hasStatusElement()) composeEnumeration("status", element.getStatusElement(), new Task.TaskStatusEnumFactory()); if (element.hasStatusReason()) { - composeCodeableConcept("statusReason", element.getStatusReason()); + composeCodeableReference("statusReason", element.getStatusReason()); } if (element.hasBusinessStatus()) { composeCodeableConcept("businessStatus", element.getBusinessStatus()); @@ -55887,6 +58644,9 @@ public class XmlParser extends XmlParserBase { composeEnumeration("intent", element.getIntentElement(), new Task.TaskIntentEnumFactory()); if (element.hasPriorityElement()) composeEnumeration("priority", element.getPriorityElement(), new Enumerations.RequestPriorityEnumFactory()); + if (element.hasDoNotPerformElement()) { + composeBoolean("doNotPerform", element.getDoNotPerformElement()); + } if (element.hasCode()) { composeCodeableConcept("code", element.getCode()); } @@ -55902,6 +58662,9 @@ public class XmlParser extends XmlParserBase { if (element.hasEncounter()) { composeReference("encounter", element.getEncounter()); } + if (element.hasRequestedPeriod()) { + composePeriod("requestedPeriod", element.getRequestedPeriod()); + } if (element.hasExecutionPeriod()) { composePeriod("executionPeriod", element.getExecutionPeriod()); } @@ -55914,9 +58677,9 @@ public class XmlParser extends XmlParserBase { if (element.hasRequester()) { composeReference("requester", element.getRequester()); } - if (element.hasPerformerType()) { - for (CodeableConcept e : element.getPerformerType()) - composeCodeableConcept("performerType", e); + if (element.hasRequestedPerformer()) { + for (CodeableReference e : element.getRequestedPerformer()) + composeCodeableReference("requestedPerformer", e); } if (element.hasOwner()) { composeReference("owner", element.getOwner()); @@ -55924,11 +58687,9 @@ public class XmlParser extends XmlParserBase { if (element.hasLocation()) { composeReference("location", element.getLocation()); } - if (element.hasReasonCode()) { - composeCodeableConcept("reasonCode", element.getReasonCode()); - } - if (element.hasReasonReference()) { - composeReference("reasonReference", element.getReasonReference()); + if (element.hasReason()) { + for (CodeableReference e : element.getReason()) + composeCodeableReference("reason", e); } if (element.hasInsurance()) { for (Reference e : element.getInsurance()) @@ -55946,8 +58707,8 @@ public class XmlParser extends XmlParserBase { composeTaskRestrictionComponent("restriction", element.getRestriction()); } if (element.hasInput()) { - for (Task.ParameterComponent e : element.getInput()) - composeTaskParameterComponent("input", e); + for (Task.TaskInputComponent e : element.getInput()) + composeTaskInputComponent("input", e); } if (element.hasOutput()) { for (Task.TaskOutputComponent e : element.getOutput()) @@ -55979,17 +58740,17 @@ public class XmlParser extends XmlParserBase { } } - protected void composeTaskParameterComponent(String name, Task.ParameterComponent element) throws IOException { + protected void composeTaskInputComponent(String name, Task.TaskInputComponent element) throws IOException { if (element != null) { composeElementAttributes(element); xml.enter(FHIR_NS, name); - composeTaskParameterComponentElements(element); + composeTaskInputComponentElements(element); composeElementClose(element); xml.exit(FHIR_NS, name); } } - protected void composeTaskParameterComponentElements(Task.ParameterComponent element) throws IOException { + protected void composeTaskInputComponentElements(Task.TaskInputComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasType()) { composeCodeableConcept("type", element.getType()); @@ -56167,6 +58928,9 @@ public class XmlParser extends XmlParserBase { for (TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionComponent e : element.getVersion()) composeTerminologyCapabilitiesCodeSystemVersionComponent("version", e); } + if (element.hasContentElement()) { + composeCode("content", element.getContentElement()); + } if (element.hasSubsumptionElement()) { composeBoolean("subsumption", element.getSubsumptionElement()); } @@ -56193,10 +58957,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCompositionalElement()) { composeBoolean("compositional", element.getCompositionalElement()); } - if (element.hasLanguage()) { - for (CodeType e : element.getLanguage()) - composeCode("language", e); - } + if (element.hasLanguage()) + for (Enumeration e : element.getLanguage()) + composeEnumeration("language", e, new TerminologyCapabilities.CommonLanguagesEnumFactory()); if (element.hasFilter()) { for (TerminologyCapabilities.TerminologyCapabilitiesCodeSystemVersionFilterComponent e : element.getFilter()) composeTerminologyCapabilitiesCodeSystemVersionFilterComponent("filter", e); @@ -56584,7 +59347,9 @@ public class XmlParser extends XmlParserBase { if (element.hasVersionElement()) { composeString("version", element.getVersionElement()); } - if (element.hasNameElement()) { + if (element.hasVersionAlgorithm()) { + composeType("versionAlgorithm", element.getVersionAlgorithm()); + } if (element.hasNameElement()) { composeString("name", element.getNameElement()); } if (element.hasTitleElement()) { @@ -56622,6 +59387,9 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasCopyrightLabelElement()) { + composeString("copyrightLabel", element.getCopyrightLabelElement()); + } if (element.hasOrigin()) { for (TestScript.TestScriptOriginComponent e : element.getOrigin()) composeTestScriptOriginComponent("origin", e); @@ -57041,8 +59809,9 @@ public class XmlParser extends XmlParserBase { if (element.hasRequestURLElement()) { composeString("requestURL", element.getRequestURLElement()); } - if (element.hasResourceElement()) - composeEnumeration("resource", element.getResourceElement(), new TestScript.FHIRDefinedTypeEnumFactory()); + if (element.hasResourceElement()) { + composeUri("resource", element.getResourceElement()); + } if (element.hasResponseElement()) composeEnumeration("response", element.getResponseElement(), new TestScript.AssertionResponseTypesEnumFactory()); if (element.hasResponseCodeElement()) { @@ -57336,7 +60105,7 @@ public class XmlParser extends XmlParserBase { } protected void composeValueSetElements(ValueSet element) throws IOException { - composeCanonicalResourceElements(element); + composeMetadataResourceElements(element); if (element.hasUrlElement()) { composeUri("url", element.getUrlElement()); } @@ -57388,6 +60157,39 @@ public class XmlParser extends XmlParserBase { if (element.hasCopyrightElement()) { composeMarkdown("copyright", element.getCopyrightElement()); } + if (element.hasApprovalDateElement()) { + composeDate("approvalDate", element.getApprovalDateElement()); + } + if (element.hasLastReviewDateElement()) { + composeDate("lastReviewDate", element.getLastReviewDateElement()); + } + if (element.hasEffectivePeriod()) { + composePeriod("effectivePeriod", element.getEffectivePeriod()); + } + if (element.hasTopic()) { + for (CodeableConcept e : element.getTopic()) + composeCodeableConcept("topic", e); + } + if (element.hasAuthor()) { + for (ContactDetail e : element.getAuthor()) + composeContactDetail("author", e); + } + if (element.hasEditor()) { + for (ContactDetail e : element.getEditor()) + composeContactDetail("editor", e); + } + if (element.hasReviewer()) { + for (ContactDetail e : element.getReviewer()) + composeContactDetail("reviewer", e); + } + if (element.hasEndorser()) { + for (ContactDetail e : element.getEndorser()) + composeContactDetail("endorser", e); + } + if (element.hasRelatedArtifact()) { + for (RelatedArtifact e : element.getRelatedArtifact()) + composeRelatedArtifact("relatedArtifact", e); + } if (element.hasCompose()) { composeValueSetComposeComponent("compose", element.getCompose()); } @@ -57508,6 +60310,10 @@ public class XmlParser extends XmlParserBase { if (element.hasUse()) { composeCoding("use", element.getUse()); } + if (element.hasAdditionalUse()) { + for (Coding e : element.getAdditionalUse()) + composeCoding("additionalUse", e); + } if (element.hasValueElement()) { composeString("value", element.getValueElement()); } @@ -57550,6 +60356,9 @@ public class XmlParser extends XmlParserBase { if (element.hasIdentifierElement()) { composeUri("identifier", element.getIdentifierElement()); } + if (element.hasNextElement()) { + composeUri("next", element.getNextElement()); + } if (element.hasTimestampElement()) { composeDateTime("timestamp", element.getTimestampElement()); } @@ -57667,6 +60476,29 @@ public class XmlParser extends XmlParserBase { } protected void composeValueSetConceptPropertyComponentElements(ValueSet.ConceptPropertyComponent element) throws IOException { + composeBackboneElementElements(element); + if (element.hasCodeElement()) { + composeCode("code", element.getCodeElement()); + } + if (element.hasValue()) { + composeType("value", element.getValue()); + } if (element.hasSubProperty()) { + for (ValueSet.ConceptSubPropertyComponent e : element.getSubProperty()) + composeValueSetConceptSubPropertyComponent("subProperty", e); + } + } + + protected void composeValueSetConceptSubPropertyComponent(String name, ValueSet.ConceptSubPropertyComponent element) throws IOException { + if (element != null) { + composeElementAttributes(element); + xml.enter(FHIR_NS, name); + composeValueSetConceptSubPropertyComponentElements(element); + composeElementClose(element); + xml.exit(FHIR_NS, name); + } + } + + protected void composeValueSetConceptSubPropertyComponentElements(ValueSet.ConceptSubPropertyComponent element) throws IOException { composeBackboneElementElements(element); if (element.hasCodeElement()) { composeCode("code", element.getCodeElement()); @@ -57979,6 +60811,8 @@ public class XmlParser extends XmlParserBase { composeAccount("Account", (Account)resource); } else if (resource instanceof ActivityDefinition) { composeActivityDefinition("ActivityDefinition", (ActivityDefinition)resource); + } else if (resource instanceof ActorDefinition) { + composeActorDefinition("ActorDefinition", (ActorDefinition)resource); } else if (resource instanceof AdministrableProductDefinition) { composeAdministrableProductDefinition("AdministrableProductDefinition", (AdministrableProductDefinition)resource); } else if (resource instanceof AdverseEvent) { @@ -58005,8 +60839,6 @@ public class XmlParser extends XmlParserBase { composeBundle("Bundle", (Bundle)resource); } else if (resource instanceof CapabilityStatement) { composeCapabilityStatement("CapabilityStatement", (CapabilityStatement)resource); - } else if (resource instanceof CapabilityStatement2) { - composeCapabilityStatement2("CapabilityStatement2", (CapabilityStatement2)resource); } else if (resource instanceof CarePlan) { composeCarePlan("CarePlan", (CarePlan)resource); } else if (resource instanceof CareTeam) { @@ -58099,6 +60931,8 @@ public class XmlParser extends XmlParserBase { composeFlag("Flag", (Flag)resource); } else if (resource instanceof FormularyItem) { composeFormularyItem("FormularyItem", (FormularyItem)resource); + } else if (resource instanceof GenomicStudy) { + composeGenomicStudy("GenomicStudy", (GenomicStudy)resource); } else if (resource instanceof Goal) { composeGoal("Goal", (Goal)resource); } else if (resource instanceof GraphDefinition) { @@ -58217,6 +61051,10 @@ public class XmlParser extends XmlParserBase { composeRelatedPerson("RelatedPerson", (RelatedPerson)resource); } else if (resource instanceof RequestGroup) { composeRequestGroup("RequestGroup", (RequestGroup)resource); + } else if (resource instanceof RequestOrchestration) { + composeRequestOrchestration("RequestOrchestration", (RequestOrchestration)resource); + } else if (resource instanceof Requirements) { + composeRequirements("Requirements", (Requirements)resource); } else if (resource instanceof ResearchStudy) { composeResearchStudy("ResearchStudy", (ResearchStudy)resource); } else if (resource instanceof ResearchSubject) { @@ -58294,6 +61132,8 @@ public class XmlParser extends XmlParserBase { composeAccount(name, (Account)resource); } else if (resource instanceof ActivityDefinition) { composeActivityDefinition(name, (ActivityDefinition)resource); + } else if (resource instanceof ActorDefinition) { + composeActorDefinition(name, (ActorDefinition)resource); } else if (resource instanceof AdministrableProductDefinition) { composeAdministrableProductDefinition(name, (AdministrableProductDefinition)resource); } else if (resource instanceof AdverseEvent) { @@ -58320,8 +61160,6 @@ public class XmlParser extends XmlParserBase { composeBundle(name, (Bundle)resource); } else if (resource instanceof CapabilityStatement) { composeCapabilityStatement(name, (CapabilityStatement)resource); - } else if (resource instanceof CapabilityStatement2) { - composeCapabilityStatement2(name, (CapabilityStatement2)resource); } else if (resource instanceof CarePlan) { composeCarePlan(name, (CarePlan)resource); } else if (resource instanceof CareTeam) { @@ -58414,6 +61252,8 @@ public class XmlParser extends XmlParserBase { composeFlag(name, (Flag)resource); } else if (resource instanceof FormularyItem) { composeFormularyItem(name, (FormularyItem)resource); + } else if (resource instanceof GenomicStudy) { + composeGenomicStudy(name, (GenomicStudy)resource); } else if (resource instanceof Goal) { composeGoal(name, (Goal)resource); } else if (resource instanceof GraphDefinition) { @@ -58532,6 +61372,10 @@ public class XmlParser extends XmlParserBase { composeRelatedPerson(name, (RelatedPerson)resource); } else if (resource instanceof RequestGroup) { composeRequestGroup(name, (RequestGroup)resource); + } else if (resource instanceof RequestOrchestration) { + composeRequestOrchestration(name, (RequestOrchestration)resource); + } else if (resource instanceof Requirements) { + composeRequirements(name, (Requirements)resource); } else if (resource instanceof ResearchStudy) { composeResearchStudy(name, (ResearchStudy)resource); } else if (resource instanceof ResearchSubject) { @@ -58613,6 +61457,8 @@ public class XmlParser extends XmlParserBase { composeAnnotation(prefix+"Annotation", (Annotation) type); } else if (type instanceof Attachment) { composeAttachment(prefix+"Attachment", (Attachment) type); + } else if (type instanceof Availability) { + composeAvailability(prefix+"Availability", (Availability) type); } else if (type instanceof CodeableConcept) { composeCodeableConcept(prefix+"CodeableConcept", (CodeableConcept) type); } else if (type instanceof CodeableReference) { @@ -58651,6 +61497,8 @@ public class XmlParser extends XmlParserBase { composeMarketingStatus(prefix+"MarketingStatus", (MarketingStatus) type); } else if (type instanceof Meta) { composeMeta(prefix+"Meta", (Meta) type); + } else if (type instanceof MonetaryComponent) { + composeMonetaryComponent(prefix+"MonetaryComponent", (MonetaryComponent) type); } else if (type instanceof Money) { composeMoney(prefix+"Money", (Money) type); } else if (type instanceof Narrative) { @@ -58685,6 +61533,8 @@ public class XmlParser extends XmlParserBase { composeTriggerDefinition(prefix+"TriggerDefinition", (TriggerDefinition) type); } else if (type instanceof UsageContext) { composeUsageContext(prefix+"UsageContext", (UsageContext) type); + } else if (type instanceof VirtualServiceDetail) { + composeVirtualServiceDetail(prefix+"VirtualServiceDetail", (VirtualServiceDetail) type); } else if (type instanceof CodeType) { composeCode(prefix+"Code", (CodeType) type); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Account.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Account.java index 2eff1ce4d..5f45f7d8f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Account.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Account.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -706,6 +706,542 @@ A coverage may only be responsible for specific types of charges, and the sequen } + } + + @Block() + public static class AccountRelatedAccountComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Relationship of the associated Account. + */ + @Child(name = "relationship", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Relationship of the associated Account", formalDefinition="Relationship of the associated Account." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/account-relationship") + protected CodeableConcept relationship; + + /** + * Reference to an associated Account. + */ + @Child(name = "account", type = {Account.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Reference to an associated Account", formalDefinition="Reference to an associated Account." ) + protected Reference account; + + private static final long serialVersionUID = 1586291361L; + + /** + * Constructor + */ + public AccountRelatedAccountComponent() { + super(); + } + + /** + * Constructor + */ + public AccountRelatedAccountComponent(Reference account) { + super(); + this.setAccount(account); + } + + /** + * @return {@link #relationship} (Relationship of the associated Account.) + */ + public CodeableConcept getRelationship() { + if (this.relationship == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AccountRelatedAccountComponent.relationship"); + else if (Configuration.doAutoCreate()) + this.relationship = new CodeableConcept(); // cc + return this.relationship; + } + + public boolean hasRelationship() { + return this.relationship != null && !this.relationship.isEmpty(); + } + + /** + * @param value {@link #relationship} (Relationship of the associated Account.) + */ + public AccountRelatedAccountComponent setRelationship(CodeableConcept value) { + this.relationship = value; + return this; + } + + /** + * @return {@link #account} (Reference to an associated Account.) + */ + public Reference getAccount() { + if (this.account == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AccountRelatedAccountComponent.account"); + else if (Configuration.doAutoCreate()) + this.account = new Reference(); // cc + return this.account; + } + + public boolean hasAccount() { + return this.account != null && !this.account.isEmpty(); + } + + /** + * @param value {@link #account} (Reference to an associated Account.) + */ + public AccountRelatedAccountComponent setAccount(Reference value) { + this.account = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("relationship", "CodeableConcept", "Relationship of the associated Account.", 0, 1, relationship)); + children.add(new Property("account", "Reference(Account)", "Reference to an associated Account.", 0, 1, account)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -261851592: /*relationship*/ return new Property("relationship", "CodeableConcept", "Relationship of the associated Account.", 0, 1, relationship); + case -1177318867: /*account*/ return new Property("account", "Reference(Account)", "Reference to an associated Account.", 0, 1, account); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // CodeableConcept + case -1177318867: /*account*/ return this.account == null ? new Base[0] : new Base[] {this.account}; // Reference + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -261851592: // relationship + this.relationship = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1177318867: // account + this.account = TypeConvertor.castToReference(value); // Reference + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("relationship")) { + this.relationship = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("account")) { + this.account = TypeConvertor.castToReference(value); // Reference + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -261851592: return getRelationship(); + case -1177318867: return getAccount(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -261851592: /*relationship*/ return new String[] {"CodeableConcept"}; + case -1177318867: /*account*/ return new String[] {"Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("relationship")) { + this.relationship = new CodeableConcept(); + return this.relationship; + } + else if (name.equals("account")) { + this.account = new Reference(); + return this.account; + } + else + return super.addChild(name); + } + + public AccountRelatedAccountComponent copy() { + AccountRelatedAccountComponent dst = new AccountRelatedAccountComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AccountRelatedAccountComponent dst) { + super.copyValues(dst); + dst.relationship = relationship == null ? null : relationship.copy(); + dst.account = account == null ? null : account.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AccountRelatedAccountComponent)) + return false; + AccountRelatedAccountComponent o = (AccountRelatedAccountComponent) other_; + return compareDeep(relationship, o.relationship, true) && compareDeep(account, o.account, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AccountRelatedAccountComponent)) + return false; + AccountRelatedAccountComponent o = (AccountRelatedAccountComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(relationship, account); + } + + public String fhirType() { + return "Account.relatedAccount"; + + } + + } + + @Block() + public static class AccountBalanceComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Who is expected to pay this part of the balance. + */ + @Child(name = "aggregate", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who is expected to pay this part of the balance", formalDefinition="Who is expected to pay this part of the balance." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/account-aggregate") + protected CodeableConcept aggregate; + + /** + * The term of the account balances - The balance value is the amount that was outstanding for this age. + */ + @Child(name = "term", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="current | 30 | 60 | 90 | 120", formalDefinition="The term of the account balances - The balance value is the amount that was outstanding for this age." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/account-balance-term") + protected CodeableConcept term; + + /** + * The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process). + */ + @Child(name = "estimate", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Estimated balance", formalDefinition="The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process)." ) + protected BooleanType estimate; + + /** + * The actual balance value calculated for the age defined in the term property. + */ + @Child(name = "amount", type = {Money.class}, order=4, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Calculated amount", formalDefinition="The actual balance value calculated for the age defined in the term property." ) + protected Money amount; + + private static final long serialVersionUID = -338990145L; + + /** + * Constructor + */ + public AccountBalanceComponent() { + super(); + } + + /** + * Constructor + */ + public AccountBalanceComponent(Money amount) { + super(); + this.setAmount(amount); + } + + /** + * @return {@link #aggregate} (Who is expected to pay this part of the balance.) + */ + public CodeableConcept getAggregate() { + if (this.aggregate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AccountBalanceComponent.aggregate"); + else if (Configuration.doAutoCreate()) + this.aggregate = new CodeableConcept(); // cc + return this.aggregate; + } + + public boolean hasAggregate() { + return this.aggregate != null && !this.aggregate.isEmpty(); + } + + /** + * @param value {@link #aggregate} (Who is expected to pay this part of the balance.) + */ + public AccountBalanceComponent setAggregate(CodeableConcept value) { + this.aggregate = value; + return this; + } + + /** + * @return {@link #term} (The term of the account balances - The balance value is the amount that was outstanding for this age.) + */ + public CodeableConcept getTerm() { + if (this.term == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AccountBalanceComponent.term"); + else if (Configuration.doAutoCreate()) + this.term = new CodeableConcept(); // cc + return this.term; + } + + public boolean hasTerm() { + return this.term != null && !this.term.isEmpty(); + } + + /** + * @param value {@link #term} (The term of the account balances - The balance value is the amount that was outstanding for this age.) + */ + public AccountBalanceComponent setTerm(CodeableConcept value) { + this.term = value; + return this; + } + + /** + * @return {@link #estimate} (The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process).). This is the underlying object with id, value and extensions. The accessor "getEstimate" gives direct access to the value + */ + public BooleanType getEstimateElement() { + if (this.estimate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AccountBalanceComponent.estimate"); + else if (Configuration.doAutoCreate()) + this.estimate = new BooleanType(); // bb + return this.estimate; + } + + public boolean hasEstimateElement() { + return this.estimate != null && !this.estimate.isEmpty(); + } + + public boolean hasEstimate() { + return this.estimate != null && !this.estimate.isEmpty(); + } + + /** + * @param value {@link #estimate} (The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process).). This is the underlying object with id, value and extensions. The accessor "getEstimate" gives direct access to the value + */ + public AccountBalanceComponent setEstimateElement(BooleanType value) { + this.estimate = value; + return this; + } + + /** + * @return The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process). + */ + public boolean getEstimate() { + return this.estimate == null || this.estimate.isEmpty() ? false : this.estimate.getValue(); + } + + /** + * @param value The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process). + */ + public AccountBalanceComponent setEstimate(boolean value) { + if (this.estimate == null) + this.estimate = new BooleanType(); + this.estimate.setValue(value); + return this; + } + + /** + * @return {@link #amount} (The actual balance value calculated for the age defined in the term property.) + */ + public Money getAmount() { + if (this.amount == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AccountBalanceComponent.amount"); + else if (Configuration.doAutoCreate()) + this.amount = new Money(); // cc + return this.amount; + } + + public boolean hasAmount() { + return this.amount != null && !this.amount.isEmpty(); + } + + /** + * @param value {@link #amount} (The actual balance value calculated for the age defined in the term property.) + */ + public AccountBalanceComponent setAmount(Money value) { + this.amount = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("aggregate", "CodeableConcept", "Who is expected to pay this part of the balance.", 0, 1, aggregate)); + children.add(new Property("term", "CodeableConcept", "The term of the account balances - The balance value is the amount that was outstanding for this age.", 0, 1, term)); + children.add(new Property("estimate", "boolean", "The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process).", 0, 1, estimate)); + children.add(new Property("amount", "Money", "The actual balance value calculated for the age defined in the term property.", 0, 1, amount)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 175177151: /*aggregate*/ return new Property("aggregate", "CodeableConcept", "Who is expected to pay this part of the balance.", 0, 1, aggregate); + case 3556460: /*term*/ return new Property("term", "CodeableConcept", "The term of the account balances - The balance value is the amount that was outstanding for this age.", 0, 1, term); + case -1959779032: /*estimate*/ return new Property("estimate", "boolean", "The amount is only an estimated value - this is likely common for `current` term balances, but not with known terms (that were generated by a backend process).", 0, 1, estimate); + case -1413853096: /*amount*/ return new Property("amount", "Money", "The actual balance value calculated for the age defined in the term property.", 0, 1, amount); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 175177151: /*aggregate*/ return this.aggregate == null ? new Base[0] : new Base[] {this.aggregate}; // CodeableConcept + case 3556460: /*term*/ return this.term == null ? new Base[0] : new Base[] {this.term}; // CodeableConcept + case -1959779032: /*estimate*/ return this.estimate == null ? new Base[0] : new Base[] {this.estimate}; // BooleanType + case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : new Base[] {this.amount}; // Money + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 175177151: // aggregate + this.aggregate = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 3556460: // term + this.term = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1959779032: // estimate + this.estimate = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -1413853096: // amount + this.amount = TypeConvertor.castToMoney(value); // Money + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("aggregate")) { + this.aggregate = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("term")) { + this.term = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("estimate")) { + this.estimate = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("amount")) { + this.amount = TypeConvertor.castToMoney(value); // Money + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 175177151: return getAggregate(); + case 3556460: return getTerm(); + case -1959779032: return getEstimateElement(); + case -1413853096: return getAmount(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 175177151: /*aggregate*/ return new String[] {"CodeableConcept"}; + case 3556460: /*term*/ return new String[] {"CodeableConcept"}; + case -1959779032: /*estimate*/ return new String[] {"boolean"}; + case -1413853096: /*amount*/ return new String[] {"Money"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("aggregate")) { + this.aggregate = new CodeableConcept(); + return this.aggregate; + } + else if (name.equals("term")) { + this.term = new CodeableConcept(); + return this.term; + } + else if (name.equals("estimate")) { + throw new FHIRException("Cannot call addChild on a primitive type Account.balance.estimate"); + } + else if (name.equals("amount")) { + this.amount = new Money(); + return this.amount; + } + else + return super.addChild(name); + } + + public AccountBalanceComponent copy() { + AccountBalanceComponent dst = new AccountBalanceComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AccountBalanceComponent dst) { + super.copyValues(dst); + dst.aggregate = aggregate == null ? null : aggregate.copy(); + dst.term = term == null ? null : term.copy(); + dst.estimate = estimate == null ? null : estimate.copy(); + dst.amount = amount == null ? null : amount.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AccountBalanceComponent)) + return false; + AccountBalanceComponent o = (AccountBalanceComponent) other_; + return compareDeep(aggregate, o.aggregate, true) && compareDeep(term, o.term, true) && compareDeep(estimate, o.estimate, true) + && compareDeep(amount, o.amount, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AccountBalanceComponent)) + return false; + AccountBalanceComponent o = (AccountBalanceComponent) other_; + return compareValues(estimate, o.estimate, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(aggregate, term, estimate + , amount); + } + + public String fhirType() { + return "Account.balance"; + + } + } /** @@ -789,13 +1325,35 @@ A coverage may only be responsible for specific types of charges, and the sequen protected List guarantor; /** - * Reference to a parent Account. + * Other associated accounts related to this account. */ - @Child(name = "partOf", type = {Account.class}, order=11, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Reference to a parent Account", formalDefinition="Reference to a parent Account." ) - protected Reference partOf; + @Child(name = "relatedAccount", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Other associated accounts related to this account", formalDefinition="Other associated accounts related to this account." ) + protected List relatedAccount; - private static final long serialVersionUID = 1419356403L; + /** + * The default currency for the account. + */ + @Child(name = "currency", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The base or default currency", formalDefinition="The default currency for the account." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/currencies") + protected CodeableConcept currency; + + /** + * The calculated account balances - these are calculated and processed by the finance system. The balances with a `term` that is not current are usually generated/updated by an invoicing or similar process. + */ + @Child(name = "balance", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Calculated account balance(s)", formalDefinition="The calculated account balances - these are calculated and processed by the finance system.\r\rThe balances with a `term` that is not current are usually generated/updated by an invoicing or similar process." ) + protected List balance; + + /** + * Time the balance amount was calculated. + */ + @Child(name = "calculatedAt", type = {InstantType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Time the balance amount was calculated", formalDefinition="Time the balance amount was calculated." ) + protected InstantType calculatedAt; + + private static final long serialVersionUID = -589833144L; /** * Constructor @@ -1264,26 +1822,181 @@ A coverage may only be responsible for specific types of charges, and the sequen } /** - * @return {@link #partOf} (Reference to a parent Account.) + * @return {@link #relatedAccount} (Other associated accounts related to this account.) */ - public Reference getPartOf() { - if (this.partOf == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Account.partOf"); - else if (Configuration.doAutoCreate()) - this.partOf = new Reference(); // cc - return this.partOf; - } - - public boolean hasPartOf() { - return this.partOf != null && !this.partOf.isEmpty(); + public List getRelatedAccount() { + if (this.relatedAccount == null) + this.relatedAccount = new ArrayList(); + return this.relatedAccount; } /** - * @param value {@link #partOf} (Reference to a parent Account.) + * @return Returns a reference to this for easy method chaining */ - public Account setPartOf(Reference value) { - this.partOf = value; + public Account setRelatedAccount(List theRelatedAccount) { + this.relatedAccount = theRelatedAccount; + return this; + } + + public boolean hasRelatedAccount() { + if (this.relatedAccount == null) + return false; + for (AccountRelatedAccountComponent item : this.relatedAccount) + if (!item.isEmpty()) + return true; + return false; + } + + public AccountRelatedAccountComponent addRelatedAccount() { //3 + AccountRelatedAccountComponent t = new AccountRelatedAccountComponent(); + if (this.relatedAccount == null) + this.relatedAccount = new ArrayList(); + this.relatedAccount.add(t); + return t; + } + + public Account addRelatedAccount(AccountRelatedAccountComponent t) { //3 + if (t == null) + return this; + if (this.relatedAccount == null) + this.relatedAccount = new ArrayList(); + this.relatedAccount.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #relatedAccount}, creating it if it does not already exist {3} + */ + public AccountRelatedAccountComponent getRelatedAccountFirstRep() { + if (getRelatedAccount().isEmpty()) { + addRelatedAccount(); + } + return getRelatedAccount().get(0); + } + + /** + * @return {@link #currency} (The default currency for the account.) + */ + public CodeableConcept getCurrency() { + if (this.currency == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Account.currency"); + else if (Configuration.doAutoCreate()) + this.currency = new CodeableConcept(); // cc + return this.currency; + } + + public boolean hasCurrency() { + return this.currency != null && !this.currency.isEmpty(); + } + + /** + * @param value {@link #currency} (The default currency for the account.) + */ + public Account setCurrency(CodeableConcept value) { + this.currency = value; + return this; + } + + /** + * @return {@link #balance} (The calculated account balances - these are calculated and processed by the finance system. The balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.) + */ + public List getBalance() { + if (this.balance == null) + this.balance = new ArrayList(); + return this.balance; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Account setBalance(List theBalance) { + this.balance = theBalance; + return this; + } + + public boolean hasBalance() { + if (this.balance == null) + return false; + for (AccountBalanceComponent item : this.balance) + if (!item.isEmpty()) + return true; + return false; + } + + public AccountBalanceComponent addBalance() { //3 + AccountBalanceComponent t = new AccountBalanceComponent(); + if (this.balance == null) + this.balance = new ArrayList(); + this.balance.add(t); + return t; + } + + public Account addBalance(AccountBalanceComponent t) { //3 + if (t == null) + return this; + if (this.balance == null) + this.balance = new ArrayList(); + this.balance.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #balance}, creating it if it does not already exist {3} + */ + public AccountBalanceComponent getBalanceFirstRep() { + if (getBalance().isEmpty()) { + addBalance(); + } + return getBalance().get(0); + } + + /** + * @return {@link #calculatedAt} (Time the balance amount was calculated.). This is the underlying object with id, value and extensions. The accessor "getCalculatedAt" gives direct access to the value + */ + public InstantType getCalculatedAtElement() { + if (this.calculatedAt == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Account.calculatedAt"); + else if (Configuration.doAutoCreate()) + this.calculatedAt = new InstantType(); // bb + return this.calculatedAt; + } + + public boolean hasCalculatedAtElement() { + return this.calculatedAt != null && !this.calculatedAt.isEmpty(); + } + + public boolean hasCalculatedAt() { + return this.calculatedAt != null && !this.calculatedAt.isEmpty(); + } + + /** + * @param value {@link #calculatedAt} (Time the balance amount was calculated.). This is the underlying object with id, value and extensions. The accessor "getCalculatedAt" gives direct access to the value + */ + public Account setCalculatedAtElement(InstantType value) { + this.calculatedAt = value; + return this; + } + + /** + * @return Time the balance amount was calculated. + */ + public Date getCalculatedAt() { + return this.calculatedAt == null ? null : this.calculatedAt.getValue(); + } + + /** + * @param value Time the balance amount was calculated. + */ + public Account setCalculatedAt(Date value) { + if (value == null) + this.calculatedAt = null; + else { + if (this.calculatedAt == null) + this.calculatedAt = new InstantType(); + this.calculatedAt.setValue(value); + } return this; } @@ -1300,7 +2013,10 @@ A coverage may only be responsible for specific types of charges, and the sequen children.add(new Property("owner", "Reference(Organization)", "Indicates the service area, hospital, department, etc. with responsibility for managing the Account.", 0, 1, owner)); children.add(new Property("description", "string", "Provides additional information about what the account tracks and how it is used.", 0, 1, description)); children.add(new Property("guarantor", "", "The parties responsible for balancing the account if other payment options fall short.", 0, java.lang.Integer.MAX_VALUE, guarantor)); - children.add(new Property("partOf", "Reference(Account)", "Reference to a parent Account.", 0, 1, partOf)); + children.add(new Property("relatedAccount", "", "Other associated accounts related to this account.", 0, java.lang.Integer.MAX_VALUE, relatedAccount)); + children.add(new Property("currency", "CodeableConcept", "The default currency for the account.", 0, 1, currency)); + children.add(new Property("balance", "", "The calculated account balances - these are calculated and processed by the finance system.\r\rThe balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.", 0, java.lang.Integer.MAX_VALUE, balance)); + children.add(new Property("calculatedAt", "instant", "Time the balance amount was calculated.", 0, 1, calculatedAt)); } @Override @@ -1317,7 +2033,10 @@ A coverage may only be responsible for specific types of charges, and the sequen case 106164915: /*owner*/ return new Property("owner", "Reference(Organization)", "Indicates the service area, hospital, department, etc. with responsibility for managing the Account.", 0, 1, owner); case -1724546052: /*description*/ return new Property("description", "string", "Provides additional information about what the account tracks and how it is used.", 0, 1, description); case -188629045: /*guarantor*/ return new Property("guarantor", "", "The parties responsible for balancing the account if other payment options fall short.", 0, java.lang.Integer.MAX_VALUE, guarantor); - case -995410646: /*partOf*/ return new Property("partOf", "Reference(Account)", "Reference to a parent Account.", 0, 1, partOf); + case 962039682: /*relatedAccount*/ return new Property("relatedAccount", "", "Other associated accounts related to this account.", 0, java.lang.Integer.MAX_VALUE, relatedAccount); + case 575402001: /*currency*/ return new Property("currency", "CodeableConcept", "The default currency for the account.", 0, 1, currency); + case -339185956: /*balance*/ return new Property("balance", "", "The calculated account balances - these are calculated and processed by the finance system.\r\rThe balances with a `term` that is not current are usually generated/updated by an invoicing or similar process.", 0, java.lang.Integer.MAX_VALUE, balance); + case 1089469073: /*calculatedAt*/ return new Property("calculatedAt", "instant", "Time the balance amount was calculated.", 0, 1, calculatedAt); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1337,7 +2056,10 @@ A coverage may only be responsible for specific types of charges, and the sequen case 106164915: /*owner*/ return this.owner == null ? new Base[0] : new Base[] {this.owner}; // Reference case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType case -188629045: /*guarantor*/ return this.guarantor == null ? new Base[0] : this.guarantor.toArray(new Base[this.guarantor.size()]); // GuarantorComponent - case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference + case 962039682: /*relatedAccount*/ return this.relatedAccount == null ? new Base[0] : this.relatedAccount.toArray(new Base[this.relatedAccount.size()]); // AccountRelatedAccountComponent + case 575402001: /*currency*/ return this.currency == null ? new Base[0] : new Base[] {this.currency}; // CodeableConcept + case -339185956: /*balance*/ return this.balance == null ? new Base[0] : this.balance.toArray(new Base[this.balance.size()]); // AccountBalanceComponent + case 1089469073: /*calculatedAt*/ return this.calculatedAt == null ? new Base[0] : new Base[] {this.calculatedAt}; // InstantType default: return super.getProperty(hash, name, checkValid); } @@ -1380,8 +2102,17 @@ A coverage may only be responsible for specific types of charges, and the sequen case -188629045: // guarantor this.getGuarantor().add((GuarantorComponent) value); // GuarantorComponent return value; - case -995410646: // partOf - this.partOf = TypeConvertor.castToReference(value); // Reference + case 962039682: // relatedAccount + this.getRelatedAccount().add((AccountRelatedAccountComponent) value); // AccountRelatedAccountComponent + return value; + case 575402001: // currency + this.currency = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -339185956: // balance + this.getBalance().add((AccountBalanceComponent) value); // AccountBalanceComponent + return value; + case 1089469073: // calculatedAt + this.calculatedAt = TypeConvertor.castToInstant(value); // InstantType return value; default: return super.setProperty(hash, name, value); } @@ -1413,8 +2144,14 @@ A coverage may only be responsible for specific types of charges, and the sequen this.description = TypeConvertor.castToString(value); // StringType } else if (name.equals("guarantor")) { this.getGuarantor().add((GuarantorComponent) value); - } else if (name.equals("partOf")) { - this.partOf = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("relatedAccount")) { + this.getRelatedAccount().add((AccountRelatedAccountComponent) value); + } else if (name.equals("currency")) { + this.currency = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("balance")) { + this.getBalance().add((AccountBalanceComponent) value); + } else if (name.equals("calculatedAt")) { + this.calculatedAt = TypeConvertor.castToInstant(value); // InstantType } else return super.setProperty(name, value); return value; @@ -1434,7 +2171,10 @@ A coverage may only be responsible for specific types of charges, and the sequen case 106164915: return getOwner(); case -1724546052: return getDescriptionElement(); case -188629045: return addGuarantor(); - case -995410646: return getPartOf(); + case 962039682: return addRelatedAccount(); + case 575402001: return getCurrency(); + case -339185956: return addBalance(); + case 1089469073: return getCalculatedAtElement(); default: return super.makeProperty(hash, name); } @@ -1454,7 +2194,10 @@ A coverage may only be responsible for specific types of charges, and the sequen case 106164915: /*owner*/ return new String[] {"Reference"}; case -1724546052: /*description*/ return new String[] {"string"}; case -188629045: /*guarantor*/ return new String[] {}; - case -995410646: /*partOf*/ return new String[] {"Reference"}; + case 962039682: /*relatedAccount*/ return new String[] {}; + case 575402001: /*currency*/ return new String[] {"CodeableConcept"}; + case -339185956: /*balance*/ return new String[] {}; + case 1089469073: /*calculatedAt*/ return new String[] {"instant"}; default: return super.getTypesForProperty(hash, name); } @@ -1499,9 +2242,18 @@ A coverage may only be responsible for specific types of charges, and the sequen else if (name.equals("guarantor")) { return addGuarantor(); } - else if (name.equals("partOf")) { - this.partOf = new Reference(); - return this.partOf; + else if (name.equals("relatedAccount")) { + return addRelatedAccount(); + } + else if (name.equals("currency")) { + this.currency = new CodeableConcept(); + return this.currency; + } + else if (name.equals("balance")) { + return addBalance(); + } + else if (name.equals("calculatedAt")) { + throw new FHIRException("Cannot call addChild on a primitive type Account.calculatedAt"); } else return super.addChild(name); @@ -1547,7 +2299,18 @@ A coverage may only be responsible for specific types of charges, and the sequen for (GuarantorComponent i : guarantor) dst.guarantor.add(i.copy()); }; - dst.partOf = partOf == null ? null : partOf.copy(); + if (relatedAccount != null) { + dst.relatedAccount = new ArrayList(); + for (AccountRelatedAccountComponent i : relatedAccount) + dst.relatedAccount.add(i.copy()); + }; + dst.currency = currency == null ? null : currency.copy(); + if (balance != null) { + dst.balance = new ArrayList(); + for (AccountBalanceComponent i : balance) + dst.balance.add(i.copy()); + }; + dst.calculatedAt = calculatedAt == null ? null : calculatedAt.copy(); } protected Account typedCopy() { @@ -1565,7 +2328,8 @@ A coverage may only be responsible for specific types of charges, and the sequen && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) && compareDeep(subject, o.subject, true) && compareDeep(servicePeriod, o.servicePeriod, true) && compareDeep(coverage, o.coverage, true) && compareDeep(owner, o.owner, true) && compareDeep(description, o.description, true) && compareDeep(guarantor, o.guarantor, true) - && compareDeep(partOf, o.partOf, true); + && compareDeep(relatedAccount, o.relatedAccount, true) && compareDeep(currency, o.currency, true) + && compareDeep(balance, o.balance, true) && compareDeep(calculatedAt, o.calculatedAt, true); } @Override @@ -1576,13 +2340,13 @@ A coverage may only be responsible for specific types of charges, and the sequen return false; Account o = (Account) other_; return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true) - ; + && compareValues(calculatedAt, o.calculatedAt, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, billingStatus , type, name, subject, servicePeriod, coverage, owner, description, guarantor - , partOf); + , relatedAccount, currency, balance, calculatedAt); } @Override @@ -1728,6 +2492,32 @@ A coverage may only be responsible for specific types of charges, and the sequen */ public static final ca.uhn.fhir.rest.gclient.DateClientParam PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PERIOD); + /** + * Search parameter: relatedaccount + *

+ * Description: Parent and other related accounts
+ * Type: reference
+ * Path: Account.relatedAccount.account
+ *

+ */ + @SearchParamDefinition(name="relatedaccount", path="Account.relatedAccount.account", description="Parent and other related accounts", type="reference", target={Account.class } ) + public static final String SP_RELATEDACCOUNT = "relatedaccount"; + /** + * Fluent Client search parameter constant for relatedaccount + *

+ * Description: Parent and other related accounts
+ * Type: reference
+ * Path: Account.relatedAccount.account
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RELATEDACCOUNT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RELATEDACCOUNT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Account:relatedaccount". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATEDACCOUNT = new ca.uhn.fhir.model.api.Include("Account:relatedaccount").toLocked(); + /** * Search parameter: status *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActivityDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActivityDefinition.java index 3b8e29bab..ba2261e24 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActivityDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActivityDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,7 +53,7 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="ActivityDefinition", profile="http://hl7.org/fhir/StructureDefinition/ActivityDefinition") public class ActivityDefinition extends MetadataResource { - public enum RequestResourceType { + public enum RequestResourceTypes { /** * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). */ @@ -63,62 +63,66 @@ public class ActivityDefinition extends MetadataResource { */ APPOINTMENTRESPONSE, /** - * Healthcare plan for patient or group. + * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. */ CAREPLAN, /** - * Claim, Pre-determination or Pre-authorization. + * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. */ CLAIM, /** - * A request for information to be sent to a receiver. + * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. */ COMMUNICATIONREQUEST, /** - * Legal Agreement. + * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. */ CONTRACT, /** - * Medical device request. + * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. + */ + COVERAGEELIGIBILITYREQUEST, + /** + * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used. */ DEVICEREQUEST, /** - * Enrollment request. + * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. */ ENROLLMENTREQUEST, /** - * Guidance or advice relating to an immunization. + * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. */ IMMUNIZATIONRECOMMENDATION, /** - * Ordering of medication for patient or group. + * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. */ MEDICATIONREQUEST, /** - * Diet, formula or nutritional supplement request. + * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. */ NUTRITIONORDER, + /** + * A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\". + */ + REQUESTORCHESTRATION, /** * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. */ SERVICEREQUEST, /** - * Request for a medication, substance or device. + * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting. */ SUPPLYREQUEST, /** - * A task to be performed. - */ - TASK, - /** - * Prescription for vision correction products for a patient. + * An authorization for the provision of glasses and/or contact lenses to a patient. */ VISIONPRESCRIPTION, /** * added to help the parsers with the generic types */ NULL; - public static RequestResourceType fromCode(String codeString) throws FHIRException { + public static RequestResourceTypes fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; if ("Appointment".equals(codeString)) @@ -133,6 +137,8 @@ public class ActivityDefinition extends MetadataResource { return COMMUNICATIONREQUEST; if ("Contract".equals(codeString)) return CONTRACT; + if ("CoverageEligibilityRequest".equals(codeString)) + return COVERAGEELIGIBILITYREQUEST; if ("DeviceRequest".equals(codeString)) return DEVICEREQUEST; if ("EnrollmentRequest".equals(codeString)) @@ -143,18 +149,18 @@ public class ActivityDefinition extends MetadataResource { return MEDICATIONREQUEST; if ("NutritionOrder".equals(codeString)) return NUTRITIONORDER; + if ("RequestOrchestration".equals(codeString)) + return REQUESTORCHESTRATION; if ("ServiceRequest".equals(codeString)) return SERVICEREQUEST; if ("SupplyRequest".equals(codeString)) return SUPPLYREQUEST; - if ("Task".equals(codeString)) - return TASK; if ("VisionPrescription".equals(codeString)) return VISIONPRESCRIPTION; if (Configuration.isAcceptInvalidEnums()) return null; else - throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'"); + throw new FHIRException("Unknown RequestResourceTypes code '"+codeString+"'"); } public String toCode() { switch (this) { @@ -164,14 +170,15 @@ public class ActivityDefinition extends MetadataResource { case CLAIM: return "Claim"; case COMMUNICATIONREQUEST: return "CommunicationRequest"; case CONTRACT: return "Contract"; + case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; case DEVICEREQUEST: return "DeviceRequest"; case ENROLLMENTREQUEST: return "EnrollmentRequest"; case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; case MEDICATIONREQUEST: return "MedicationRequest"; case NUTRITIONORDER: return "NutritionOrder"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; case SERVICEREQUEST: return "ServiceRequest"; case SUPPLYREQUEST: return "SupplyRequest"; - case TASK: return "Task"; case VISIONPRESCRIPTION: return "VisionPrescription"; case NULL: return null; default: return "?"; @@ -179,21 +186,22 @@ public class ActivityDefinition extends MetadataResource { } public String getSystem() { switch (this) { - case APPOINTMENT: return "http://hl7.org/fhir/request-resource-types"; - case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/request-resource-types"; - case CAREPLAN: return "http://hl7.org/fhir/request-resource-types"; - case CLAIM: return "http://hl7.org/fhir/request-resource-types"; - case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types"; - case CONTRACT: return "http://hl7.org/fhir/request-resource-types"; - case DEVICEREQUEST: return "http://hl7.org/fhir/request-resource-types"; - case ENROLLMENTREQUEST: return "http://hl7.org/fhir/request-resource-types"; - case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/request-resource-types"; - case MEDICATIONREQUEST: return "http://hl7.org/fhir/request-resource-types"; - case NUTRITIONORDER: return "http://hl7.org/fhir/request-resource-types"; - case SERVICEREQUEST: return "http://hl7.org/fhir/request-resource-types"; - case SUPPLYREQUEST: return "http://hl7.org/fhir/request-resource-types"; - case TASK: return "http://hl7.org/fhir/request-resource-types"; - case VISIONPRESCRIPTION: return "http://hl7.org/fhir/request-resource-types"; + case APPOINTMENT: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case CAREPLAN: return "http://hl7.org/fhir/fhir-types"; + case CLAIM: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case CONTRACT: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types"; + case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types"; + case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types"; case NULL: return null; default: return "?"; } @@ -202,19 +210,20 @@ public class ActivityDefinition extends MetadataResource { switch (this) { case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; - case CAREPLAN: return "Healthcare plan for patient or group."; - case CLAIM: return "Claim, Pre-determination or Pre-authorization."; - case COMMUNICATIONREQUEST: return "A request for information to be sent to a receiver."; - case CONTRACT: return "Legal Agreement."; - case DEVICEREQUEST: return "Medical device request."; - case ENROLLMENTREQUEST: return "Enrollment request."; - case IMMUNIZATIONRECOMMENDATION: return "Guidance or advice relating to an immunization."; - case MEDICATIONREQUEST: return "Ordering of medication for patient or group."; - case NUTRITIONORDER: return "Diet, formula or nutritional supplement request."; + case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; + case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement."; + case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; + case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement."; + case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy."; + case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used."; + case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; + case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; + case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; + case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; + case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; - case SUPPLYREQUEST: return "Request for a medication, substance or device."; - case TASK: return "A task to be performed."; - case VISIONPRESCRIPTION: return "Prescription for vision correction products for a patient."; + case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting."; + case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; case NULL: return null; default: return "?"; } @@ -227,14 +236,15 @@ public class ActivityDefinition extends MetadataResource { case CLAIM: return "Claim"; case COMMUNICATIONREQUEST: return "CommunicationRequest"; case CONTRACT: return "Contract"; + case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; case DEVICEREQUEST: return "DeviceRequest"; case ENROLLMENTREQUEST: return "EnrollmentRequest"; case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; case MEDICATIONREQUEST: return "MedicationRequest"; case NUTRITIONORDER: return "NutritionOrder"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; case SERVICEREQUEST: return "ServiceRequest"; case SUPPLYREQUEST: return "SupplyRequest"; - case TASK: return "Task"; case VISIONPRESCRIPTION: return "VisionPrescription"; case NULL: return null; default: return "?"; @@ -242,117 +252,123 @@ public class ActivityDefinition extends MetadataResource { } } - public static class RequestResourceTypeEnumFactory implements EnumFactory { - public RequestResourceType fromCode(String codeString) throws IllegalArgumentException { + public static class RequestResourceTypesEnumFactory implements EnumFactory { + public RequestResourceTypes fromCode(String codeString) throws IllegalArgumentException { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; if ("Appointment".equals(codeString)) - return RequestResourceType.APPOINTMENT; + return RequestResourceTypes.APPOINTMENT; if ("AppointmentResponse".equals(codeString)) - return RequestResourceType.APPOINTMENTRESPONSE; + return RequestResourceTypes.APPOINTMENTRESPONSE; if ("CarePlan".equals(codeString)) - return RequestResourceType.CAREPLAN; + return RequestResourceTypes.CAREPLAN; if ("Claim".equals(codeString)) - return RequestResourceType.CLAIM; + return RequestResourceTypes.CLAIM; if ("CommunicationRequest".equals(codeString)) - return RequestResourceType.COMMUNICATIONREQUEST; + return RequestResourceTypes.COMMUNICATIONREQUEST; if ("Contract".equals(codeString)) - return RequestResourceType.CONTRACT; + return RequestResourceTypes.CONTRACT; + if ("CoverageEligibilityRequest".equals(codeString)) + return RequestResourceTypes.COVERAGEELIGIBILITYREQUEST; if ("DeviceRequest".equals(codeString)) - return RequestResourceType.DEVICEREQUEST; + return RequestResourceTypes.DEVICEREQUEST; if ("EnrollmentRequest".equals(codeString)) - return RequestResourceType.ENROLLMENTREQUEST; + return RequestResourceTypes.ENROLLMENTREQUEST; if ("ImmunizationRecommendation".equals(codeString)) - return RequestResourceType.IMMUNIZATIONRECOMMENDATION; + return RequestResourceTypes.IMMUNIZATIONRECOMMENDATION; if ("MedicationRequest".equals(codeString)) - return RequestResourceType.MEDICATIONREQUEST; + return RequestResourceTypes.MEDICATIONREQUEST; if ("NutritionOrder".equals(codeString)) - return RequestResourceType.NUTRITIONORDER; + return RequestResourceTypes.NUTRITIONORDER; + if ("RequestOrchestration".equals(codeString)) + return RequestResourceTypes.REQUESTORCHESTRATION; if ("ServiceRequest".equals(codeString)) - return RequestResourceType.SERVICEREQUEST; + return RequestResourceTypes.SERVICEREQUEST; if ("SupplyRequest".equals(codeString)) - return RequestResourceType.SUPPLYREQUEST; - if ("Task".equals(codeString)) - return RequestResourceType.TASK; + return RequestResourceTypes.SUPPLYREQUEST; if ("VisionPrescription".equals(codeString)) - return RequestResourceType.VISIONPRESCRIPTION; - throw new IllegalArgumentException("Unknown RequestResourceType code '"+codeString+"'"); + return RequestResourceTypes.VISIONPRESCRIPTION; + throw new IllegalArgumentException("Unknown RequestResourceTypes code '"+codeString+"'"); } - public Enumeration fromType(Base code) throws FHIRException { + public Enumeration fromType(Base code) throws FHIRException { if (code == null) return null; if (code.isEmpty()) - return new Enumeration(this); + return new Enumeration(this); String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; if ("Appointment".equals(codeString)) - return new Enumeration(this, RequestResourceType.APPOINTMENT); + return new Enumeration(this, RequestResourceTypes.APPOINTMENT); if ("AppointmentResponse".equals(codeString)) - return new Enumeration(this, RequestResourceType.APPOINTMENTRESPONSE); + return new Enumeration(this, RequestResourceTypes.APPOINTMENTRESPONSE); if ("CarePlan".equals(codeString)) - return new Enumeration(this, RequestResourceType.CAREPLAN); + return new Enumeration(this, RequestResourceTypes.CAREPLAN); if ("Claim".equals(codeString)) - return new Enumeration(this, RequestResourceType.CLAIM); + return new Enumeration(this, RequestResourceTypes.CLAIM); if ("CommunicationRequest".equals(codeString)) - return new Enumeration(this, RequestResourceType.COMMUNICATIONREQUEST); + return new Enumeration(this, RequestResourceTypes.COMMUNICATIONREQUEST); if ("Contract".equals(codeString)) - return new Enumeration(this, RequestResourceType.CONTRACT); + return new Enumeration(this, RequestResourceTypes.CONTRACT); + if ("CoverageEligibilityRequest".equals(codeString)) + return new Enumeration(this, RequestResourceTypes.COVERAGEELIGIBILITYREQUEST); if ("DeviceRequest".equals(codeString)) - return new Enumeration(this, RequestResourceType.DEVICEREQUEST); + return new Enumeration(this, RequestResourceTypes.DEVICEREQUEST); if ("EnrollmentRequest".equals(codeString)) - return new Enumeration(this, RequestResourceType.ENROLLMENTREQUEST); + return new Enumeration(this, RequestResourceTypes.ENROLLMENTREQUEST); if ("ImmunizationRecommendation".equals(codeString)) - return new Enumeration(this, RequestResourceType.IMMUNIZATIONRECOMMENDATION); + return new Enumeration(this, RequestResourceTypes.IMMUNIZATIONRECOMMENDATION); if ("MedicationRequest".equals(codeString)) - return new Enumeration(this, RequestResourceType.MEDICATIONREQUEST); + return new Enumeration(this, RequestResourceTypes.MEDICATIONREQUEST); if ("NutritionOrder".equals(codeString)) - return new Enumeration(this, RequestResourceType.NUTRITIONORDER); + return new Enumeration(this, RequestResourceTypes.NUTRITIONORDER); + if ("RequestOrchestration".equals(codeString)) + return new Enumeration(this, RequestResourceTypes.REQUESTORCHESTRATION); if ("ServiceRequest".equals(codeString)) - return new Enumeration(this, RequestResourceType.SERVICEREQUEST); + return new Enumeration(this, RequestResourceTypes.SERVICEREQUEST); if ("SupplyRequest".equals(codeString)) - return new Enumeration(this, RequestResourceType.SUPPLYREQUEST); - if ("Task".equals(codeString)) - return new Enumeration(this, RequestResourceType.TASK); + return new Enumeration(this, RequestResourceTypes.SUPPLYREQUEST); if ("VisionPrescription".equals(codeString)) - return new Enumeration(this, RequestResourceType.VISIONPRESCRIPTION); - throw new FHIRException("Unknown RequestResourceType code '"+codeString+"'"); + return new Enumeration(this, RequestResourceTypes.VISIONPRESCRIPTION); + throw new FHIRException("Unknown RequestResourceTypes code '"+codeString+"'"); } - public String toCode(RequestResourceType code) { - if (code == RequestResourceType.APPOINTMENT) + public String toCode(RequestResourceTypes code) { + if (code == RequestResourceTypes.APPOINTMENT) return "Appointment"; - if (code == RequestResourceType.APPOINTMENTRESPONSE) + if (code == RequestResourceTypes.APPOINTMENTRESPONSE) return "AppointmentResponse"; - if (code == RequestResourceType.CAREPLAN) + if (code == RequestResourceTypes.CAREPLAN) return "CarePlan"; - if (code == RequestResourceType.CLAIM) + if (code == RequestResourceTypes.CLAIM) return "Claim"; - if (code == RequestResourceType.COMMUNICATIONREQUEST) + if (code == RequestResourceTypes.COMMUNICATIONREQUEST) return "CommunicationRequest"; - if (code == RequestResourceType.CONTRACT) + if (code == RequestResourceTypes.CONTRACT) return "Contract"; - if (code == RequestResourceType.DEVICEREQUEST) + if (code == RequestResourceTypes.COVERAGEELIGIBILITYREQUEST) + return "CoverageEligibilityRequest"; + if (code == RequestResourceTypes.DEVICEREQUEST) return "DeviceRequest"; - if (code == RequestResourceType.ENROLLMENTREQUEST) + if (code == RequestResourceTypes.ENROLLMENTREQUEST) return "EnrollmentRequest"; - if (code == RequestResourceType.IMMUNIZATIONRECOMMENDATION) + if (code == RequestResourceTypes.IMMUNIZATIONRECOMMENDATION) return "ImmunizationRecommendation"; - if (code == RequestResourceType.MEDICATIONREQUEST) + if (code == RequestResourceTypes.MEDICATIONREQUEST) return "MedicationRequest"; - if (code == RequestResourceType.NUTRITIONORDER) + if (code == RequestResourceTypes.NUTRITIONORDER) return "NutritionOrder"; - if (code == RequestResourceType.SERVICEREQUEST) + if (code == RequestResourceTypes.REQUESTORCHESTRATION) + return "RequestOrchestration"; + if (code == RequestResourceTypes.SERVICEREQUEST) return "ServiceRequest"; - if (code == RequestResourceType.SUPPLYREQUEST) + if (code == RequestResourceTypes.SUPPLYREQUEST) return "SupplyRequest"; - if (code == RequestResourceType.TASK) - return "Task"; - if (code == RequestResourceType.VISIONPRESCRIPTION) + if (code == RequestResourceTypes.VISIONPRESCRIPTION) return "VisionPrescription"; return "?"; } - public String toSystem(RequestResourceType code) { + public String toSystem(RequestResourceTypes code) { return code.getSystem(); } } @@ -370,14 +386,21 @@ public class ActivityDefinition extends MetadataResource { /** * The type of participant in the action. */ - @Child(name = "typeReference", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Child(name = "typeCanonical", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) + protected CanonicalType typeCanonical; + + /** + * The type of participant in the action. + */ + @Child(name = "typeReference", type = {CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) protected Reference typeReference; /** * The role the participant should play in performing the described action. */ - @Child(name = "role", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "role", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="E.g. Nurse, Surgeon, Parent, etc.", formalDefinition="The role the participant should play in performing the described action." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") protected CodeableConcept role; @@ -385,12 +408,12 @@ public class ActivityDefinition extends MetadataResource { /** * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. */ - @Child(name = "function", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "function", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="E.g. Author, Reviewer, Witness, etc.", formalDefinition="Indicates how the actor will be involved in the action - author, reviewer, witness, etc." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-function") protected CodeableConcept function; - private static final long serialVersionUID = -136836616L; + private static final long serialVersionUID = 468446682L; /** * Constructor @@ -448,6 +471,55 @@ public class ActivityDefinition extends MetadataResource { return this; } + /** + * @return {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public CanonicalType getTypeCanonicalElement() { + if (this.typeCanonical == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActivityDefinitionParticipantComponent.typeCanonical"); + else if (Configuration.doAutoCreate()) + this.typeCanonical = new CanonicalType(); // bb + return this.typeCanonical; + } + + public boolean hasTypeCanonicalElement() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + public boolean hasTypeCanonical() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + /** + * @param value {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public ActivityDefinitionParticipantComponent setTypeCanonicalElement(CanonicalType value) { + this.typeCanonical = value; + return this; + } + + /** + * @return The type of participant in the action. + */ + public String getTypeCanonical() { + return this.typeCanonical == null ? null : this.typeCanonical.getValue(); + } + + /** + * @param value The type of participant in the action. + */ + public ActivityDefinitionParticipantComponent setTypeCanonical(String value) { + if (Utilities.noString(value)) + this.typeCanonical = null; + else { + if (this.typeCanonical == null) + this.typeCanonical = new CanonicalType(); + this.typeCanonical.setValue(value); + } + return this; + } + /** * @return {@link #typeReference} (The type of participant in the action.) */ @@ -523,7 +595,8 @@ public class ActivityDefinition extends MetadataResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); - children.add(new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); + children.add(new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical)); + children.add(new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); children.add(new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function)); } @@ -532,7 +605,8 @@ public class ActivityDefinition extends MetadataResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); - case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); + case -466635046: /*typeCanonical*/ return new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical); + case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -544,6 +618,7 @@ public class ActivityDefinition extends MetadataResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case -466635046: /*typeCanonical*/ return this.typeCanonical == null ? new Base[0] : new Base[] {this.typeCanonical}; // CanonicalType case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept @@ -559,6 +634,9 @@ public class ActivityDefinition extends MetadataResource { value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration return value; + case -466635046: // typeCanonical + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + return value; case 2074825009: // typeReference this.typeReference = TypeConvertor.castToReference(value); // Reference return value; @@ -578,6 +656,8 @@ public class ActivityDefinition extends MetadataResource { if (name.equals("type")) { value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration + } else if (name.equals("typeCanonical")) { + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("typeReference")) { this.typeReference = TypeConvertor.castToReference(value); // Reference } else if (name.equals("role")) { @@ -593,6 +673,7 @@ public class ActivityDefinition extends MetadataResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: return getTypeElement(); + case -466635046: return getTypeCanonicalElement(); case 2074825009: return getTypeReference(); case 3506294: return getRole(); case 1380938712: return getFunction(); @@ -605,6 +686,7 @@ public class ActivityDefinition extends MetadataResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"code"}; + case -466635046: /*typeCanonical*/ return new String[] {"canonical"}; case 2074825009: /*typeReference*/ return new String[] {"Reference"}; case 3506294: /*role*/ return new String[] {"CodeableConcept"}; case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; @@ -618,6 +700,9 @@ public class ActivityDefinition extends MetadataResource { if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.participant.type"); } + else if (name.equals("typeCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.participant.typeCanonical"); + } else if (name.equals("typeReference")) { this.typeReference = new Reference(); return this.typeReference; @@ -643,6 +728,7 @@ public class ActivityDefinition extends MetadataResource { public void copyValues(ActivityDefinitionParticipantComponent dst) { super.copyValues(dst); dst.type = type == null ? null : type.copy(); + dst.typeCanonical = typeCanonical == null ? null : typeCanonical.copy(); dst.typeReference = typeReference == null ? null : typeReference.copy(); dst.role = role == null ? null : role.copy(); dst.function = function == null ? null : function.copy(); @@ -655,8 +741,8 @@ public class ActivityDefinition extends MetadataResource { if (!(other_ instanceof ActivityDefinitionParticipantComponent)) return false; ActivityDefinitionParticipantComponent o = (ActivityDefinitionParticipantComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(typeReference, o.typeReference, true) && compareDeep(role, o.role, true) - && compareDeep(function, o.function, true); + return compareDeep(type, o.type, true) && compareDeep(typeCanonical, o.typeCanonical, true) && compareDeep(typeReference, o.typeReference, true) + && compareDeep(role, o.role, true) && compareDeep(function, o.function, true); } @Override @@ -666,12 +752,12 @@ public class ActivityDefinition extends MetadataResource { if (!(other_ instanceof ActivityDefinitionParticipantComponent)) return false; ActivityDefinitionParticipantComponent o = (ActivityDefinitionParticipantComponent) other_; - return compareValues(type, o.type, true); + return compareValues(type, o.type, true) && compareValues(typeCanonical, o.typeCanonical, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeReference, role - , function); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeCanonical, typeReference + , role, function); } public String fhirType() { @@ -912,10 +998,10 @@ public class ActivityDefinition extends MetadataResource { } /** - * An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. + * An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this activity definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this activity definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers." ) protected UriType url; /** @@ -971,9 +1057,9 @@ public class ActivityDefinition extends MetadataResource { /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - @Child(name = "subject", type = {CodeableConcept.class, Group.class, CanonicalType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "subject", type = {CodeableConcept.class, Group.class, MedicinalProductDefinition.class, SubstanceDefinition.class, AdministrableProductDefinition.class, ManufacturedItemDefinition.class, PackagedProductDefinition.class, CanonicalType.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Type of individual the activity definition is intended for", formalDefinition="A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -984,10 +1070,10 @@ public class ActivityDefinition extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the activity definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition. */ @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the activity definition." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition." ) protected StringType publisher; /** @@ -1117,7 +1203,7 @@ public class ActivityDefinition extends MetadataResource { @Child(name = "kind", type = {CodeType.class}, order=28, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Kind of resource", formalDefinition="A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-resource-types") - protected Enumeration kind; + protected Enumeration kind; /** * A profile to which the target of the activity definition is expected to conform. @@ -1164,24 +1250,32 @@ public class ActivityDefinition extends MetadataResource { @Description(shortDefinition="When activity is to occur", formalDefinition="The timing or frequency upon which the described activity is to occur." ) protected DataType timing; + /** + * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. + */ + @Child(name = "asNeeded", type = {BooleanType.class, CodeableConcept.class}, order=35, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Preconditions for service", formalDefinition="If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-as-needed-reason") + protected DataType asNeeded; + /** * Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc. */ - @Child(name = "location", type = {CodeableReference.class}, order=35, min=0, max=1, modifier=false, summary=false) + @Child(name = "location", type = {CodeableReference.class}, order=36, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Where it should happen", formalDefinition="Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc." ) protected CodeableReference location; /** * Indicates who should participate in performing the action described. */ - @Child(name = "participant", type = {}, order=36, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "participant", type = {}, order=37, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Who should participate in the action", formalDefinition="Indicates who should participate in performing the action described." ) protected List participant; /** * Identifies the food, drug or other product being consumed or supplied in the activity. */ - @Child(name = "product", type = {Medication.class, Substance.class, Ingredient.class, CodeableConcept.class}, order=37, min=0, max=1, modifier=false, summary=false) + @Child(name = "product", type = {Medication.class, Substance.class, Ingredient.class, CodeableConcept.class}, order=38, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="What's administered/supplied", formalDefinition="Identifies the food, drug or other product being consumed or supplied in the activity." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") protected DataType product; @@ -1189,21 +1283,21 @@ public class ActivityDefinition extends MetadataResource { /** * Identifies the quantity expected to be consumed at once (per dose, per meal, etc.). */ - @Child(name = "quantity", type = {Quantity.class}, order=38, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=39, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="How much is administered/consumed/supplied", formalDefinition="Identifies the quantity expected to be consumed at once (per dose, per meal, etc.)." ) protected Quantity quantity; /** * Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources. */ - @Child(name = "dosage", type = {Dosage.class}, order=39, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "dosage", type = {Dosage.class}, order=40, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Detailed dosage instructions", formalDefinition="Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources." ) protected List dosage; /** * Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites). */ - @Child(name = "bodySite", type = {CodeableConcept.class}, order=40, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "bodySite", type = {CodeableConcept.class}, order=41, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="What part of body to perform on", formalDefinition="Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") protected List bodySite; @@ -1211,39 +1305,39 @@ public class ActivityDefinition extends MetadataResource { /** * Defines specimen requirements for the action to be performed, such as required specimens for a lab test. */ - @Child(name = "specimenRequirement", type = {SpecimenDefinition.class}, order=41, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "specimenRequirement", type = {CanonicalType.class}, order=42, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="What specimens are required to perform this action", formalDefinition="Defines specimen requirements for the action to be performed, such as required specimens for a lab test." ) - protected List specimenRequirement; + protected List specimenRequirement; /** * Defines observation requirements for the action to be performed, such as body weight or surface area. */ - @Child(name = "observationRequirement", type = {ObservationDefinition.class}, order=42, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "observationRequirement", type = {CanonicalType.class}, order=43, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="What observations are required to perform this action", formalDefinition="Defines observation requirements for the action to be performed, such as body weight or surface area." ) - protected List observationRequirement; + protected List observationRequirement; /** * Defines the observations that are expected to be produced by the action. */ - @Child(name = "observationResultRequirement", type = {ObservationDefinition.class}, order=43, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "observationResultRequirement", type = {CanonicalType.class}, order=44, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="What observations must be produced by this action", formalDefinition="Defines the observations that are expected to be produced by the action." ) - protected List observationResultRequirement; + protected List observationResultRequirement; /** * A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. */ - @Child(name = "transform", type = {CanonicalType.class}, order=44, min=0, max=1, modifier=false, summary=false) + @Child(name = "transform", type = {CanonicalType.class}, order=45, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Transform to apply the template", formalDefinition="A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input." ) protected CanonicalType transform; /** * Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result. */ - @Child(name = "dynamicValue", type = {}, order=45, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "dynamicValue", type = {}, order=46, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Dynamic aspects of the definition", formalDefinition="Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result." ) protected List dynamicValue; - private static final long serialVersionUID = 173439425L; + private static final long serialVersionUID = 928601194L; /** * Constructor @@ -1261,7 +1355,7 @@ public class ActivityDefinition extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1281,7 +1375,7 @@ public class ActivityDefinition extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public ActivityDefinition setUrlElement(UriType value) { this.url = value; @@ -1289,14 +1383,14 @@ public class ActivityDefinition extends MetadataResource { } /** - * @return An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. + * @return An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. + * @param value An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers. */ public ActivityDefinition setUrl(String value) { if (Utilities.noString(value)) @@ -1764,7 +1858,7 @@ public class ActivityDefinition extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the activity definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -1784,7 +1878,7 @@ public class ActivityDefinition extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the activity definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ActivityDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -1792,14 +1886,14 @@ public class ActivityDefinition extends MetadataResource { } /** - * @return The name of the organization or individual that published the activity definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the activity definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition. */ public ActivityDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -2671,12 +2765,12 @@ public class ActivityDefinition extends MetadataResource { /** * @return {@link #kind} (A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value */ - public Enumeration getKindElement() { + public Enumeration getKindElement() { if (this.kind == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ActivityDefinition.kind"); else if (Configuration.doAutoCreate()) - this.kind = new Enumeration(new RequestResourceTypeEnumFactory()); // bb + this.kind = new Enumeration(new RequestResourceTypesEnumFactory()); // bb return this.kind; } @@ -2691,7 +2785,7 @@ public class ActivityDefinition extends MetadataResource { /** * @param value {@link #kind} (A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value */ - public ActivityDefinition setKindElement(Enumeration value) { + public ActivityDefinition setKindElement(Enumeration value) { this.kind = value; return this; } @@ -2699,19 +2793,19 @@ public class ActivityDefinition extends MetadataResource { /** * @return A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource. */ - public RequestResourceType getKind() { + public RequestResourceTypes getKind() { return this.kind == null ? null : this.kind.getValue(); } /** * @param value A description of the kind of resource the activity definition is representing. For example, a MedicationRequest, a ServiceRequest, or a CommunicationRequest. Typically, but not always, this is a Request resource. */ - public ActivityDefinition setKind(RequestResourceType value) { + public ActivityDefinition setKind(RequestResourceTypes value) { if (value == null) this.kind = null; else { if (this.kind == null) - this.kind = new Enumeration(new RequestResourceTypeEnumFactory()); + this.kind = new Enumeration(new RequestResourceTypesEnumFactory()); this.kind.setValue(value); } return this; @@ -3014,6 +3108,57 @@ public class ActivityDefinition extends MetadataResource { return this; } + /** + * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public DataType getAsNeeded() { + return this.asNeeded; + } + + /** + * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public BooleanType getAsNeededBooleanType() throws FHIRException { + if (this.asNeeded == null) + this.asNeeded = new BooleanType(); + if (!(this.asNeeded instanceof BooleanType)) + throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.asNeeded.getClass().getName()+" was encountered"); + return (BooleanType) this.asNeeded; + } + + public boolean hasAsNeededBooleanType() { + return this != null && this.asNeeded instanceof BooleanType; + } + + /** + * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public CodeableConcept getAsNeededCodeableConcept() throws FHIRException { + if (this.asNeeded == null) + this.asNeeded = new CodeableConcept(); + if (!(this.asNeeded instanceof CodeableConcept)) + throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.asNeeded.getClass().getName()+" was encountered"); + return (CodeableConcept) this.asNeeded; + } + + public boolean hasAsNeededCodeableConcept() { + return this != null && this.asNeeded instanceof CodeableConcept; + } + + public boolean hasAsNeeded() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + /** + * @param value {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public ActivityDefinition setAsNeeded(DataType value) { + if (value != null && !(value instanceof BooleanType || value instanceof CodeableConcept)) + throw new Error("Not the right type for ActivityDefinition.asNeeded[x]: "+value.fhirType()); + this.asNeeded = value; + return this; + } + /** * @return {@link #location} (Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.) */ @@ -3275,16 +3420,16 @@ public class ActivityDefinition extends MetadataResource { /** * @return {@link #specimenRequirement} (Defines specimen requirements for the action to be performed, such as required specimens for a lab test.) */ - public List getSpecimenRequirement() { + public List getSpecimenRequirement() { if (this.specimenRequirement == null) - this.specimenRequirement = new ArrayList(); + this.specimenRequirement = new ArrayList(); return this.specimenRequirement; } /** * @return Returns a reference to this for easy method chaining */ - public ActivityDefinition setSpecimenRequirement(List theSpecimenRequirement) { + public ActivityDefinition setSpecimenRequirement(List theSpecimenRequirement) { this.specimenRequirement = theSpecimenRequirement; return this; } @@ -3292,52 +3437,60 @@ public class ActivityDefinition extends MetadataResource { public boolean hasSpecimenRequirement() { if (this.specimenRequirement == null) return false; - for (Reference item : this.specimenRequirement) + for (CanonicalType item : this.specimenRequirement) if (!item.isEmpty()) return true; return false; } - public Reference addSpecimenRequirement() { //3 - Reference t = new Reference(); + /** + * @return {@link #specimenRequirement} (Defines specimen requirements for the action to be performed, such as required specimens for a lab test.) + */ + public CanonicalType addSpecimenRequirementElement() {//2 + CanonicalType t = new CanonicalType(); if (this.specimenRequirement == null) - this.specimenRequirement = new ArrayList(); + this.specimenRequirement = new ArrayList(); this.specimenRequirement.add(t); return t; } - public ActivityDefinition addSpecimenRequirement(Reference t) { //3 - if (t == null) - return this; + /** + * @param value {@link #specimenRequirement} (Defines specimen requirements for the action to be performed, such as required specimens for a lab test.) + */ + public ActivityDefinition addSpecimenRequirement(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); if (this.specimenRequirement == null) - this.specimenRequirement = new ArrayList(); + this.specimenRequirement = new ArrayList(); this.specimenRequirement.add(t); return this; } /** - * @return The first repetition of repeating field {@link #specimenRequirement}, creating it if it does not already exist {3} + * @param value {@link #specimenRequirement} (Defines specimen requirements for the action to be performed, such as required specimens for a lab test.) */ - public Reference getSpecimenRequirementFirstRep() { - if (getSpecimenRequirement().isEmpty()) { - addSpecimenRequirement(); - } - return getSpecimenRequirement().get(0); + public boolean hasSpecimenRequirement(String value) { + if (this.specimenRequirement == null) + return false; + for (CanonicalType v : this.specimenRequirement) + if (v.getValue().equals(value)) // canonical + return true; + return false; } /** * @return {@link #observationRequirement} (Defines observation requirements for the action to be performed, such as body weight or surface area.) */ - public List getObservationRequirement() { + public List getObservationRequirement() { if (this.observationRequirement == null) - this.observationRequirement = new ArrayList(); + this.observationRequirement = new ArrayList(); return this.observationRequirement; } /** * @return Returns a reference to this for easy method chaining */ - public ActivityDefinition setObservationRequirement(List theObservationRequirement) { + public ActivityDefinition setObservationRequirement(List theObservationRequirement) { this.observationRequirement = theObservationRequirement; return this; } @@ -3345,52 +3498,60 @@ public class ActivityDefinition extends MetadataResource { public boolean hasObservationRequirement() { if (this.observationRequirement == null) return false; - for (Reference item : this.observationRequirement) + for (CanonicalType item : this.observationRequirement) if (!item.isEmpty()) return true; return false; } - public Reference addObservationRequirement() { //3 - Reference t = new Reference(); + /** + * @return {@link #observationRequirement} (Defines observation requirements for the action to be performed, such as body weight or surface area.) + */ + public CanonicalType addObservationRequirementElement() {//2 + CanonicalType t = new CanonicalType(); if (this.observationRequirement == null) - this.observationRequirement = new ArrayList(); + this.observationRequirement = new ArrayList(); this.observationRequirement.add(t); return t; } - public ActivityDefinition addObservationRequirement(Reference t) { //3 - if (t == null) - return this; + /** + * @param value {@link #observationRequirement} (Defines observation requirements for the action to be performed, such as body weight or surface area.) + */ + public ActivityDefinition addObservationRequirement(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); if (this.observationRequirement == null) - this.observationRequirement = new ArrayList(); + this.observationRequirement = new ArrayList(); this.observationRequirement.add(t); return this; } /** - * @return The first repetition of repeating field {@link #observationRequirement}, creating it if it does not already exist {3} + * @param value {@link #observationRequirement} (Defines observation requirements for the action to be performed, such as body weight or surface area.) */ - public Reference getObservationRequirementFirstRep() { - if (getObservationRequirement().isEmpty()) { - addObservationRequirement(); - } - return getObservationRequirement().get(0); + public boolean hasObservationRequirement(String value) { + if (this.observationRequirement == null) + return false; + for (CanonicalType v : this.observationRequirement) + if (v.getValue().equals(value)) // canonical + return true; + return false; } /** * @return {@link #observationResultRequirement} (Defines the observations that are expected to be produced by the action.) */ - public List getObservationResultRequirement() { + public List getObservationResultRequirement() { if (this.observationResultRequirement == null) - this.observationResultRequirement = new ArrayList(); + this.observationResultRequirement = new ArrayList(); return this.observationResultRequirement; } /** * @return Returns a reference to this for easy method chaining */ - public ActivityDefinition setObservationResultRequirement(List theObservationResultRequirement) { + public ActivityDefinition setObservationResultRequirement(List theObservationResultRequirement) { this.observationResultRequirement = theObservationResultRequirement; return this; } @@ -3398,37 +3559,45 @@ public class ActivityDefinition extends MetadataResource { public boolean hasObservationResultRequirement() { if (this.observationResultRequirement == null) return false; - for (Reference item : this.observationResultRequirement) + for (CanonicalType item : this.observationResultRequirement) if (!item.isEmpty()) return true; return false; } - public Reference addObservationResultRequirement() { //3 - Reference t = new Reference(); + /** + * @return {@link #observationResultRequirement} (Defines the observations that are expected to be produced by the action.) + */ + public CanonicalType addObservationResultRequirementElement() {//2 + CanonicalType t = new CanonicalType(); if (this.observationResultRequirement == null) - this.observationResultRequirement = new ArrayList(); + this.observationResultRequirement = new ArrayList(); this.observationResultRequirement.add(t); return t; } - public ActivityDefinition addObservationResultRequirement(Reference t) { //3 - if (t == null) - return this; + /** + * @param value {@link #observationResultRequirement} (Defines the observations that are expected to be produced by the action.) + */ + public ActivityDefinition addObservationResultRequirement(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); if (this.observationResultRequirement == null) - this.observationResultRequirement = new ArrayList(); + this.observationResultRequirement = new ArrayList(); this.observationResultRequirement.add(t); return this; } /** - * @return The first repetition of repeating field {@link #observationResultRequirement}, creating it if it does not already exist {3} + * @param value {@link #observationResultRequirement} (Defines the observations that are expected to be produced by the action.) */ - public Reference getObservationResultRequirementFirstRep() { - if (getObservationResultRequirement().isEmpty()) { - addObservationResultRequirement(); - } - return getObservationResultRequirement().get(0); + public boolean hasObservationResultRequirement(String value) { + if (this.observationResultRequirement == null) + return false; + for (CanonicalType v : this.observationResultRequirement) + if (v.getValue().equals(value)) // canonical + return true; + return false; } /** @@ -3533,9 +3702,86 @@ public class ActivityDefinition extends MetadataResource { return getDynamicValue().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ActivityDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ActivityDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public ActivityDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"ActivityDefinition\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -3543,9 +3789,9 @@ public class ActivityDefinition extends MetadataResource { children.add(new Property("subtitle", "string", "An explanatory or alternate title for the activity definition giving additional information about its content.", 0, 1, subtitle)); children.add(new Property("status", "code", "The status of this activity definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); - children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject)); + children.add(new Property("subject[x]", "CodeableConcept|Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)|canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the activity definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the activity definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -3570,15 +3816,16 @@ public class ActivityDefinition extends MetadataResource { children.add(new Property("priority", "code", "Indicates how quickly the activity should be addressed with respect to other requests.", 0, 1, priority)); children.add(new Property("doNotPerform", "boolean", "Set this to true if the definition is to indicate that a particular activity should NOT be performed. If true, this element should be interpreted to reinforce a negative coding. For example NPO as a code with a doNotPerform of true would still indicate to NOT perform the action.", 0, 1, doNotPerform)); children.add(new Property("timing[x]", "Timing|Age|Range|Duration", "The timing or frequency upon which the described activity is to occur.", 0, 1, timing)); + children.add(new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded)); children.add(new Property("location", "CodeableReference(Location)", "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location)); children.add(new Property("participant", "", "Indicates who should participate in performing the action described.", 0, java.lang.Integer.MAX_VALUE, participant)); children.add(new Property("product[x]", "Reference(Medication|Substance|Ingredient)|CodeableConcept", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product)); children.add(new Property("quantity", "Quantity", "Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).", 0, 1, quantity)); children.add(new Property("dosage", "Dosage", "Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.", 0, java.lang.Integer.MAX_VALUE, dosage)); children.add(new Property("bodySite", "CodeableConcept", "Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).", 0, java.lang.Integer.MAX_VALUE, bodySite)); - children.add(new Property("specimenRequirement", "Reference(SpecimenDefinition)", "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.", 0, java.lang.Integer.MAX_VALUE, specimenRequirement)); - children.add(new Property("observationRequirement", "Reference(ObservationDefinition)", "Defines observation requirements for the action to be performed, such as body weight or surface area.", 0, java.lang.Integer.MAX_VALUE, observationRequirement)); - children.add(new Property("observationResultRequirement", "Reference(ObservationDefinition)", "Defines the observations that are expected to be produced by the action.", 0, java.lang.Integer.MAX_VALUE, observationResultRequirement)); + children.add(new Property("specimenRequirement", "canonical(SpecimenDefinition)", "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.", 0, java.lang.Integer.MAX_VALUE, specimenRequirement)); + children.add(new Property("observationRequirement", "canonical(ObservationDefinition)", "Defines observation requirements for the action to be performed, such as body weight or surface area.", 0, java.lang.Integer.MAX_VALUE, observationRequirement)); + children.add(new Property("observationResultRequirement", "canonical(ObservationDefinition)", "Defines the observations that are expected to be produced by the action.", 0, java.lang.Integer.MAX_VALUE, observationResultRequirement)); children.add(new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform)); children.add(new Property("dynamicValue", "", "Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue)); } @@ -3586,7 +3833,7 @@ public class ActivityDefinition extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this activity definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this activity definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the activity definition is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this activity definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the activity definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the activity definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the activity definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -3594,13 +3841,13 @@ public class ActivityDefinition extends MetadataResource { case -2060497896: /*subtitle*/ return new Property("subtitle", "string", "An explanatory or alternate title for the activity definition giving additional information about its content.", 0, 1, subtitle); case -892481550: /*status*/ return new Property("status", "code", "The status of this activity definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this activity definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); - case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); - case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)|canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)|canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); - case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); - case -1768521432: /*subjectCanonical*/ return new Property("subject[x]", "canonical", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case -1768521432: /*subjectCanonical*/ return new Property("subject[x]", "canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the activity being defined. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the activity definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the activity definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the activity definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the activity definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the activity definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate activity definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -3630,6 +3877,10 @@ public class ActivityDefinition extends MetadataResource { case 164607061: /*timingAge*/ return new Property("timing[x]", "Age", "The timing or frequency upon which the described activity is to occur.", 0, 1, timing); case -710871277: /*timingRange*/ return new Property("timing[x]", "Range", "The timing or frequency upon which the described activity is to occur.", 0, 1, timing); case -1327253506: /*timingDuration*/ return new Property("timing[x]", "Duration", "The timing or frequency upon which the described activity is to occur.", 0, 1, timing); + case -544329575: /*asNeeded[x]*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); + case -1432923513: /*asNeeded*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); + case -591717471: /*asNeededBoolean*/ return new Property("asNeeded[x]", "boolean", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); + case 1556420122: /*asNeededCodeableConcept*/ return new Property("asNeeded[x]", "CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); case 1901043637: /*location*/ return new Property("location", "CodeableReference(Location)", "Identifies the facility where the activity will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location); case 767422259: /*participant*/ return new Property("participant", "", "Indicates who should participate in performing the action described.", 0, java.lang.Integer.MAX_VALUE, participant); case 1753005361: /*product[x]*/ return new Property("product[x]", "Reference(Medication|Substance|Ingredient)|CodeableConcept", "Identifies the food, drug or other product being consumed or supplied in the activity.", 0, 1, product); @@ -3639,9 +3890,9 @@ public class ActivityDefinition extends MetadataResource { case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "Identifies the quantity expected to be consumed at once (per dose, per meal, etc.).", 0, 1, quantity); case -1326018889: /*dosage*/ return new Property("dosage", "Dosage", "Provides detailed dosage instructions in the same way that they are described for MedicationRequest resources.", 0, java.lang.Integer.MAX_VALUE, dosage); case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Indicates the sites on the subject's body where the procedure should be performed (I.e. the target sites).", 0, java.lang.Integer.MAX_VALUE, bodySite); - case 1498467355: /*specimenRequirement*/ return new Property("specimenRequirement", "Reference(SpecimenDefinition)", "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.", 0, java.lang.Integer.MAX_VALUE, specimenRequirement); - case 362354807: /*observationRequirement*/ return new Property("observationRequirement", "Reference(ObservationDefinition)", "Defines observation requirements for the action to be performed, such as body weight or surface area.", 0, java.lang.Integer.MAX_VALUE, observationRequirement); - case 395230490: /*observationResultRequirement*/ return new Property("observationResultRequirement", "Reference(ObservationDefinition)", "Defines the observations that are expected to be produced by the action.", 0, java.lang.Integer.MAX_VALUE, observationResultRequirement); + case 1498467355: /*specimenRequirement*/ return new Property("specimenRequirement", "canonical(SpecimenDefinition)", "Defines specimen requirements for the action to be performed, such as required specimens for a lab test.", 0, java.lang.Integer.MAX_VALUE, specimenRequirement); + case 362354807: /*observationRequirement*/ return new Property("observationRequirement", "canonical(ObservationDefinition)", "Defines observation requirements for the action to be performed, such as body weight or surface area.", 0, java.lang.Integer.MAX_VALUE, observationRequirement); + case 395230490: /*observationResultRequirement*/ return new Property("observationResultRequirement", "canonical(ObservationDefinition)", "Defines the observations that are expected to be produced by the action.", 0, java.lang.Integer.MAX_VALUE, observationResultRequirement); case 1052666732: /*transform*/ return new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform); case 572625010: /*dynamicValue*/ return new Property("dynamicValue", "", "Dynamic values that will be evaluated to produce values for elements of the resulting resource. For example, if the dosage of a medication must be computed based on the patient's weight, a dynamic value would be used to specify an expression that calculated the weight, and the path on the request resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -3680,22 +3931,23 @@ public class ActivityDefinition extends MetadataResource { case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact case 166208699: /*library*/ return this.library == null ? new Base[0] : this.library.toArray(new Base[this.library.size()]); // CanonicalType - case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration + case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // DataType + case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // DataType case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // CodeableReference case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // ActivityDefinitionParticipantComponent case -309474065: /*product*/ return this.product == null ? new Base[0] : new Base[] {this.product}; // DataType case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -1326018889: /*dosage*/ return this.dosage == null ? new Base[0] : this.dosage.toArray(new Base[this.dosage.size()]); // Dosage case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // CodeableConcept - case 1498467355: /*specimenRequirement*/ return this.specimenRequirement == null ? new Base[0] : this.specimenRequirement.toArray(new Base[this.specimenRequirement.size()]); // Reference - case 362354807: /*observationRequirement*/ return this.observationRequirement == null ? new Base[0] : this.observationRequirement.toArray(new Base[this.observationRequirement.size()]); // Reference - case 395230490: /*observationResultRequirement*/ return this.observationResultRequirement == null ? new Base[0] : this.observationResultRequirement.toArray(new Base[this.observationResultRequirement.size()]); // Reference + case 1498467355: /*specimenRequirement*/ return this.specimenRequirement == null ? new Base[0] : this.specimenRequirement.toArray(new Base[this.specimenRequirement.size()]); // CanonicalType + case 362354807: /*observationRequirement*/ return this.observationRequirement == null ? new Base[0] : this.observationRequirement.toArray(new Base[this.observationRequirement.size()]); // CanonicalType + case 395230490: /*observationResultRequirement*/ return this.observationResultRequirement == null ? new Base[0] : this.observationResultRequirement.toArray(new Base[this.observationResultRequirement.size()]); // CanonicalType case 1052666732: /*transform*/ return this.transform == null ? new Base[0] : new Base[] {this.transform}; // CanonicalType case 572625010: /*dynamicValue*/ return this.dynamicValue == null ? new Base[0] : this.dynamicValue.toArray(new Base[this.dynamicValue.size()]); // ActivityDefinitionDynamicValueComponent default: return super.getProperty(hash, name, checkValid); @@ -3792,8 +4044,8 @@ public class ActivityDefinition extends MetadataResource { this.getLibrary().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; case 3292052: // kind - value = new RequestResourceTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.kind = (Enumeration) value; // Enumeration + value = new RequestResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.kind = (Enumeration) value; // Enumeration return value; case -309425751: // profile this.profile = TypeConvertor.castToCanonical(value); // CanonicalType @@ -3815,6 +4067,9 @@ public class ActivityDefinition extends MetadataResource { case -873664438: // timing this.timing = TypeConvertor.castToType(value); // DataType return value; + case -1432923513: // asNeeded + this.asNeeded = TypeConvertor.castToType(value); // DataType + return value; case 1901043637: // location this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; @@ -3834,13 +4089,13 @@ public class ActivityDefinition extends MetadataResource { this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 1498467355: // specimenRequirement - this.getSpecimenRequirement().add(TypeConvertor.castToReference(value)); // Reference + this.getSpecimenRequirement().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; case 362354807: // observationRequirement - this.getObservationRequirement().add(TypeConvertor.castToReference(value)); // Reference + this.getObservationRequirement().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; case 395230490: // observationResultRequirement - this.getObservationResultRequirement().add(TypeConvertor.castToReference(value)); // Reference + this.getObservationResultRequirement().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; case 1052666732: // transform this.transform = TypeConvertor.castToCanonical(value); // CanonicalType @@ -3913,8 +4168,8 @@ public class ActivityDefinition extends MetadataResource { } else if (name.equals("library")) { this.getLibrary().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("kind")) { - value = new RequestResourceTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.kind = (Enumeration) value; // Enumeration + value = new RequestResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.kind = (Enumeration) value; // Enumeration } else if (name.equals("profile")) { this.profile = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("code")) { @@ -3929,6 +4184,8 @@ public class ActivityDefinition extends MetadataResource { this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("timing[x]")) { this.timing = TypeConvertor.castToType(value); // DataType + } else if (name.equals("asNeeded[x]")) { + this.asNeeded = TypeConvertor.castToType(value); // DataType } else if (name.equals("location")) { this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("participant")) { @@ -3942,11 +4199,11 @@ public class ActivityDefinition extends MetadataResource { } else if (name.equals("bodySite")) { this.getBodySite().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("specimenRequirement")) { - this.getSpecimenRequirement().add(TypeConvertor.castToReference(value)); + this.getSpecimenRequirement().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("observationRequirement")) { - this.getObservationRequirement().add(TypeConvertor.castToReference(value)); + this.getObservationRequirement().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("observationResultRequirement")) { - this.getObservationResultRequirement().add(TypeConvertor.castToReference(value)); + this.getObservationResultRequirement().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("transform")) { this.transform = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("dynamicValue")) { @@ -3996,6 +4253,8 @@ public class ActivityDefinition extends MetadataResource { case -1788508167: return getDoNotPerformElement(); case 164632566: return getTiming(); case -873664438: return getTiming(); + case -544329575: return getAsNeeded(); + case -1432923513: return getAsNeeded(); case 1901043637: return getLocation(); case 767422259: return addParticipant(); case 1753005361: return getProduct(); @@ -4003,9 +4262,9 @@ public class ActivityDefinition extends MetadataResource { case -1285004149: return getQuantity(); case -1326018889: return addDosage(); case 1702620169: return addBodySite(); - case 1498467355: return addSpecimenRequirement(); - case 362354807: return addObservationRequirement(); - case 395230490: return addObservationResultRequirement(); + case 1498467355: return addSpecimenRequirementElement(); + case 362354807: return addObservationRequirementElement(); + case 395230490: return addObservationResultRequirementElement(); case 1052666732: return getTransformElement(); case 572625010: return addDynamicValue(); default: return super.makeProperty(hash, name); @@ -4051,15 +4310,16 @@ public class ActivityDefinition extends MetadataResource { case -1165461084: /*priority*/ return new String[] {"code"}; case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; case -873664438: /*timing*/ return new String[] {"Timing", "Age", "Range", "Duration"}; + case -1432923513: /*asNeeded*/ return new String[] {"boolean", "CodeableConcept"}; case 1901043637: /*location*/ return new String[] {"CodeableReference"}; case 767422259: /*participant*/ return new String[] {}; case -309474065: /*product*/ return new String[] {"Reference", "CodeableConcept"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -1326018889: /*dosage*/ return new String[] {"Dosage"}; case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; - case 1498467355: /*specimenRequirement*/ return new String[] {"Reference"}; - case 362354807: /*observationRequirement*/ return new String[] {"Reference"}; - case 395230490: /*observationResultRequirement*/ return new String[] {"Reference"}; + case 1498467355: /*specimenRequirement*/ return new String[] {"canonical"}; + case 362354807: /*observationRequirement*/ return new String[] {"canonical"}; + case 395230490: /*observationResultRequirement*/ return new String[] {"canonical"}; case 1052666732: /*transform*/ return new String[] {"canonical"}; case 572625010: /*dynamicValue*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -4198,6 +4458,14 @@ public class ActivityDefinition extends MetadataResource { this.timing = new Duration(); return this.timing; } + else if (name.equals("asNeededBoolean")) { + this.asNeeded = new BooleanType(); + return this.asNeeded; + } + else if (name.equals("asNeededCodeableConcept")) { + this.asNeeded = new CodeableConcept(); + return this.asNeeded; + } else if (name.equals("location")) { this.location = new CodeableReference(); return this.location; @@ -4224,13 +4492,13 @@ public class ActivityDefinition extends MetadataResource { return addBodySite(); } else if (name.equals("specimenRequirement")) { - return addSpecimenRequirement(); + throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.specimenRequirement"); } else if (name.equals("observationRequirement")) { - return addObservationRequirement(); + throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.observationRequirement"); } else if (name.equals("observationResultRequirement")) { - return addObservationResultRequirement(); + throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.observationResultRequirement"); } else if (name.equals("transform")) { throw new FHIRException("Cannot call addChild on a primitive type ActivityDefinition.transform"); @@ -4334,6 +4602,7 @@ public class ActivityDefinition extends MetadataResource { dst.priority = priority == null ? null : priority.copy(); dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); dst.timing = timing == null ? null : timing.copy(); + dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); dst.location = location == null ? null : location.copy(); if (participant != null) { dst.participant = new ArrayList(); @@ -4353,18 +4622,18 @@ public class ActivityDefinition extends MetadataResource { dst.bodySite.add(i.copy()); }; if (specimenRequirement != null) { - dst.specimenRequirement = new ArrayList(); - for (Reference i : specimenRequirement) + dst.specimenRequirement = new ArrayList(); + for (CanonicalType i : specimenRequirement) dst.specimenRequirement.add(i.copy()); }; if (observationRequirement != null) { - dst.observationRequirement = new ArrayList(); - for (Reference i : observationRequirement) + dst.observationRequirement = new ArrayList(); + for (CanonicalType i : observationRequirement) dst.observationRequirement.add(i.copy()); }; if (observationResultRequirement != null) { - dst.observationResultRequirement = new ArrayList(); - for (Reference i : observationResultRequirement) + dst.observationResultRequirement = new ArrayList(); + for (CanonicalType i : observationResultRequirement) dst.observationResultRequirement.add(i.copy()); }; dst.transform = transform == null ? null : transform.copy(); @@ -4398,12 +4667,12 @@ public class ActivityDefinition extends MetadataResource { && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(library, o.library, true) && compareDeep(kind, o.kind, true) && compareDeep(profile, o.profile, true) && compareDeep(code, o.code, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) - && compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(timing, o.timing, true) && compareDeep(location, o.location, true) - && compareDeep(participant, o.participant, true) && compareDeep(product, o.product, true) && compareDeep(quantity, o.quantity, true) - && compareDeep(dosage, o.dosage, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(specimenRequirement, o.specimenRequirement, true) - && compareDeep(observationRequirement, o.observationRequirement, true) && compareDeep(observationResultRequirement, o.observationResultRequirement, true) - && compareDeep(transform, o.transform, true) && compareDeep(dynamicValue, o.dynamicValue, true) - ; + && compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(timing, o.timing, true) && compareDeep(asNeeded, o.asNeeded, true) + && compareDeep(location, o.location, true) && compareDeep(participant, o.participant, true) && compareDeep(product, o.product, true) + && compareDeep(quantity, o.quantity, true) && compareDeep(dosage, o.dosage, true) && compareDeep(bodySite, o.bodySite, true) + && compareDeep(specimenRequirement, o.specimenRequirement, true) && compareDeep(observationRequirement, o.observationRequirement, true) + && compareDeep(observationResultRequirement, o.observationResultRequirement, true) && compareDeep(transform, o.transform, true) + && compareDeep(dynamicValue, o.dynamicValue, true); } @Override @@ -4420,8 +4689,9 @@ public class ActivityDefinition extends MetadataResource { && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(library, o.library, true) && compareValues(kind, o.kind, true) && compareValues(profile, o.profile, true) && compareValues(intent, o.intent, true) - && compareValues(priority, o.priority, true) && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(transform, o.transform, true) - ; + && compareValues(priority, o.priority, true) && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(specimenRequirement, o.specimenRequirement, true) + && compareValues(observationRequirement, o.observationRequirement, true) && compareValues(observationResultRequirement, o.observationResultRequirement, true) + && compareValues(transform, o.transform, true); } public boolean isEmpty() { @@ -4429,9 +4699,9 @@ public class ActivityDefinition extends MetadataResource { , name, title, subtitle, status, experimental, subject, date, publisher, contact , description, useContext, jurisdiction, purpose, usage, copyright, approvalDate , lastReviewDate, effectivePeriod, topic, author, editor, reviewer, endorser, relatedArtifact - , library, kind, profile, code, intent, priority, doNotPerform, timing, location - , participant, product, quantity, dosage, bodySite, specimenRequirement, observationRequirement - , observationResultRequirement, transform, dynamicValue); + , library, kind, profile, code, intent, priority, doNotPerform, timing, asNeeded + , location, participant, product, quantity, dosage, bodySite, specimenRequirement + , observationRequirement, observationResultRequirement, transform, dynamicValue); } @Override @@ -4447,7 +4717,7 @@ public class ActivityDefinition extends MetadataResource { * Path: ActivityDefinition.relatedArtifact.where(type='composed-of').resource
*

*/ - @SearchParamDefinition(name="composed-of", path="ActivityDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="composed-of", path="ActivityDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_COMPOSED_OF = "composed-of"; /** * Fluent Client search parameter constant for composed-of @@ -4593,7 +4863,7 @@ public class ActivityDefinition extends MetadataResource { * Path: ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library
*

*/ - @SearchParamDefinition(name="depends-on", path="ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="depends-on", path="ActivityDefinition.relatedArtifact.where(type='depends-on').resource | ActivityDefinition.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DEPENDS_ON = "depends-on"; /** * Fluent Client search parameter constant for depends-on @@ -4619,7 +4889,7 @@ public class ActivityDefinition extends MetadataResource { * Path: ActivityDefinition.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="derived-from", path="ActivityDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="derived-from", path="ActivityDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -4765,7 +5035,7 @@ public class ActivityDefinition extends MetadataResource { * Path: ActivityDefinition.relatedArtifact.where(type='predecessor').resource
*

*/ - @SearchParamDefinition(name="predecessor", path="ActivityDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="predecessor", path="ActivityDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PREDECESSOR = "predecessor"; /** * Fluent Client search parameter constant for predecessor @@ -4831,7 +5101,7 @@ public class ActivityDefinition extends MetadataResource { * Path: ActivityDefinition.relatedArtifact.where(type='successor').resource
*

*/ - @SearchParamDefinition(name="successor", path="ActivityDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="successor", path="ActivityDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUCCESSOR = "successor"; /** * Fluent Client search parameter constant for successor diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActorDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActorDefinition.java new file mode 100644 index 000000000..64767e60e --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ActorDefinition.java @@ -0,0 +1,2067 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ +@ResourceDef(name="ActorDefinition", profile="http://hl7.org/fhir/StructureDefinition/ActorDefinition") +public class ActorDefinition extends CanonicalResource { + + /** + * An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers. + */ + @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Canonical identifier for this actor definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers." ) + protected UriType url; + + /** + * A formal identifier that is used to identify this actor definition when it is represented in other formats, or referenced in a specification, model, design or an instance. + */ + @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Additional identifier for the actor definition (business identifier)", formalDefinition="A formal identifier that is used to identify this actor definition when it is represented in other formats, or referenced in a specification, model, design or an instance." ) + protected List identifier; + + /** + * The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. + */ + @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Business version of the actor definition", formalDefinition="The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) + protected StringType version; + + /** + * A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this actor definition (computer friendly)", formalDefinition="A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) + protected StringType name; + + /** + * A short, descriptive, user-friendly title for the actor definition. + */ + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this actor definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the actor definition." ) + protected StringType title; + + /** + * The status of this actor definition. Enables tracking the life-cycle of the content. + */ + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this actor definition. Enables tracking the life-cycle of the content." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") + protected Enumeration status; + + /** + * A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) + protected BooleanType experimental; + + /** + * The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes. + */ + @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes." ) + protected DateTimeType date; + + /** + * The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition. + */ + @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition." ) + protected StringType publisher; + + /** + * Contact details to assist a user in finding and communicating with the publisher. + */ + @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) + protected List contact; + + /** + * A free text natural language description of the actor. + */ + @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Natural language description of the actor", formalDefinition="A free text natural language description of the actor." ) + protected MarkdownType description; + + /** + * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate actor definition instances. + */ + @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate actor definition instances." ) + protected List useContext; + + /** + * A legal or geographic region in which the actor definition is intended to be used. + */ + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Intended jurisdiction for actor definition (if applicable)", formalDefinition="A legal or geographic region in which the actor definition is intended to be used." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") + protected List jurisdiction; + + /** + * Explanation of why this actor definition is needed and why it has been designed as it has. + */ + @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Why this actor definition is defined", formalDefinition="Explanation of why this actor definition is needed and why it has been designed as it has." ) + protected MarkdownType purpose; + + /** + * A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition. + */ + @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition." ) + protected MarkdownType copyright; + + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + + /** + * Whether the actor represents a human or an appliction. + */ + @Child(name = "type", type = {CodeType.class}, order=16, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="person | system", formalDefinition="Whether the actor represents a human or an appliction." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/examplescenario-actor-type") + protected Enumeration type; + + /** + * Documentation about the functionality of the actor. + */ + @Child(name = "documentation", type = {MarkdownType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Functionality associated with the actor", formalDefinition="Documentation about the functionality of the actor." ) + protected MarkdownType documentation; + + /** + * A reference to additional documentation about the actor, but description and documentation. + */ + @Child(name = "reference", type = {UrlType.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Reference to more information about the actor", formalDefinition="A reference to additional documentation about the actor, but description and documentation." ) + protected List reference; + + /** + * The capability statement for the actor (if the concept is applicable). + */ + @Child(name = "capabilities", type = {CanonicalType.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="CapabilityStatement for the actor (if applicable)", formalDefinition="The capability statement for the actor (if the concept is applicable)." ) + protected CanonicalType capabilities; + + /** + * A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG. + */ + @Child(name = "derivedFrom", type = {CanonicalType.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Definition of this actor in another context / IG", formalDefinition="A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG." ) + protected List derivedFrom; + + private static final long serialVersionUID = -1359678211L; + + /** + * Constructor + */ + public ActorDefinition() { + super(); + } + + /** + * Constructor + */ + public ActorDefinition(PublicationStatus status, ExampleScenarioActorType type) { + super(); + this.setStatus(status); + this.setType(type); + } + + /** + * @return {@link #url} (An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + */ + public UriType getUrlElement() { + if (this.url == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.url"); + else if (Configuration.doAutoCreate()) + this.url = new UriType(); // bb + return this.url; + } + + public boolean hasUrlElement() { + return this.url != null && !this.url.isEmpty(); + } + + public boolean hasUrl() { + return this.url != null && !this.url.isEmpty(); + } + + /** + * @param value {@link #url} (An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + */ + public ActorDefinition setUrlElement(UriType value) { + this.url = value; + return this; + } + + /** + * @return An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers. + */ + public String getUrl() { + return this.url == null ? null : this.url.getValue(); + } + + /** + * @param value An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers. + */ + public ActorDefinition setUrl(String value) { + if (Utilities.noString(value)) + this.url = null; + else { + if (this.url == null) + this.url = new UriType(); + this.url.setValue(value); + } + return this; + } + + /** + * @return {@link #identifier} (A formal identifier that is used to identify this actor definition when it is represented in other formats, or referenced in a specification, model, design or an instance.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ActorDefinition setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public ActorDefinition addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + + /** + * @return {@link #version} (The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value + */ + public StringType getVersionElement() { + if (this.version == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.version"); + else if (Configuration.doAutoCreate()) + this.version = new StringType(); // bb + return this.version; + } + + public boolean hasVersionElement() { + return this.version != null && !this.version.isEmpty(); + } + + public boolean hasVersion() { + return this.version != null && !this.version.isEmpty(); + } + + /** + * @param value {@link #version} (The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value + */ + public ActorDefinition setVersionElement(StringType value) { + this.version = value; + return this; + } + + /** + * @return The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. + */ + public String getVersion() { + return this.version == null ? null : this.version.getValue(); + } + + /** + * @param value The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. + */ + public ActorDefinition setVersion(String value) { + if (Utilities.noString(value)) + this.version = null; + else { + if (this.version == null) + this.version = new StringType(); + this.version.setValue(value); + } + return this; + } + + /** + * @return {@link #name} (A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public StringType getNameElement() { + if (this.name == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.name"); + else if (Configuration.doAutoCreate()) + this.name = new StringType(); // bb + return this.name; + } + + public boolean hasNameElement() { + return this.name != null && !this.name.isEmpty(); + } + + public boolean hasName() { + return this.name != null && !this.name.isEmpty(); + } + + /** + * @param value {@link #name} (A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public ActorDefinition setNameElement(StringType value) { + this.name = value; + return this; + } + + /** + * @return A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public String getName() { + return this.name == null ? null : this.name.getValue(); + } + + /** + * @param value A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public ActorDefinition setName(String value) { + if (Utilities.noString(value)) + this.name = null; + else { + if (this.name == null) + this.name = new StringType(); + this.name.setValue(value); + } + return this; + } + + /** + * @return {@link #title} (A short, descriptive, user-friendly title for the actor definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A short, descriptive, user-friendly title for the actor definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public ActorDefinition setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A short, descriptive, user-friendly title for the actor definition. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A short, descriptive, user-friendly title for the actor definition. + */ + public ActorDefinition setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + + /** + * @return {@link #status} (The status of this actor definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + */ + public Enumeration getStatusElement() { + if (this.status == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.status"); + else if (Configuration.doAutoCreate()) + this.status = new Enumeration(new PublicationStatusEnumFactory()); // bb + return this.status; + } + + public boolean hasStatusElement() { + return this.status != null && !this.status.isEmpty(); + } + + public boolean hasStatus() { + return this.status != null && !this.status.isEmpty(); + } + + /** + * @param value {@link #status} (The status of this actor definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + */ + public ActorDefinition setStatusElement(Enumeration value) { + this.status = value; + return this; + } + + /** + * @return The status of this actor definition. Enables tracking the life-cycle of the content. + */ + public PublicationStatus getStatus() { + return this.status == null ? null : this.status.getValue(); + } + + /** + * @param value The status of this actor definition. Enables tracking the life-cycle of the content. + */ + public ActorDefinition setStatus(PublicationStatus value) { + if (this.status == null) + this.status = new Enumeration(new PublicationStatusEnumFactory()); + this.status.setValue(value); + return this; + } + + /** + * @return {@link #experimental} (A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value + */ + public BooleanType getExperimentalElement() { + if (this.experimental == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.experimental"); + else if (Configuration.doAutoCreate()) + this.experimental = new BooleanType(); // bb + return this.experimental; + } + + public boolean hasExperimentalElement() { + return this.experimental != null && !this.experimental.isEmpty(); + } + + public boolean hasExperimental() { + return this.experimental != null && !this.experimental.isEmpty(); + } + + /** + * @param value {@link #experimental} (A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value + */ + public ActorDefinition setExperimentalElement(BooleanType value) { + this.experimental = value; + return this; + } + + /** + * @return A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + public boolean getExperimental() { + return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); + } + + /** + * @param value A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + public ActorDefinition setExperimental(boolean value) { + if (this.experimental == null) + this.experimental = new BooleanType(); + this.experimental.setValue(value); + return this; + } + + /** + * @return {@link #date} (The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + */ + public DateTimeType getDateElement() { + if (this.date == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.date"); + else if (Configuration.doAutoCreate()) + this.date = new DateTimeType(); // bb + return this.date; + } + + public boolean hasDateElement() { + return this.date != null && !this.date.isEmpty(); + } + + public boolean hasDate() { + return this.date != null && !this.date.isEmpty(); + } + + /** + * @param value {@link #date} (The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + */ + public ActorDefinition setDateElement(DateTimeType value) { + this.date = value; + return this; + } + + /** + * @return The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes. + */ + public Date getDate() { + return this.date == null ? null : this.date.getValue(); + } + + /** + * @param value The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes. + */ + public ActorDefinition setDate(Date value) { + if (value == null) + this.date = null; + else { + if (this.date == null) + this.date = new DateTimeType(); + this.date.setValue(value); + } + return this; + } + + /** + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + */ + public StringType getPublisherElement() { + if (this.publisher == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.publisher"); + else if (Configuration.doAutoCreate()) + this.publisher = new StringType(); // bb + return this.publisher; + } + + public boolean hasPublisherElement() { + return this.publisher != null && !this.publisher.isEmpty(); + } + + public boolean hasPublisher() { + return this.publisher != null && !this.publisher.isEmpty(); + } + + /** + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + */ + public ActorDefinition setPublisherElement(StringType value) { + this.publisher = value; + return this; + } + + /** + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition. + */ + public String getPublisher() { + return this.publisher == null ? null : this.publisher.getValue(); + } + + /** + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition. + */ + public ActorDefinition setPublisher(String value) { + if (Utilities.noString(value)) + this.publisher = null; + else { + if (this.publisher == null) + this.publisher = new StringType(); + this.publisher.setValue(value); + } + return this; + } + + /** + * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) + */ + public List getContact() { + if (this.contact == null) + this.contact = new ArrayList(); + return this.contact; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ActorDefinition setContact(List theContact) { + this.contact = theContact; + return this; + } + + public boolean hasContact() { + if (this.contact == null) + return false; + for (ContactDetail item : this.contact) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addContact() { //3 + ContactDetail t = new ContactDetail(); + if (this.contact == null) + this.contact = new ArrayList(); + this.contact.add(t); + return t; + } + + public ActorDefinition addContact(ContactDetail t) { //3 + if (t == null) + return this; + if (this.contact == null) + this.contact = new ArrayList(); + this.contact.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} + */ + public ContactDetail getContactFirstRep() { + if (getContact().isEmpty()) { + addContact(); + } + return getContact().get(0); + } + + /** + * @return {@link #description} (A free text natural language description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public MarkdownType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.description"); + else if (Configuration.doAutoCreate()) + this.description = new MarkdownType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (A free text natural language description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public ActorDefinition setDescriptionElement(MarkdownType value) { + this.description = value; + return this; + } + + /** + * @return A free text natural language description of the actor. + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value A free text natural language description of the actor. + */ + public ActorDefinition setDescription(String value) { + if (value == null) + this.description = null; + else { + if (this.description == null) + this.description = new MarkdownType(); + this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate actor definition instances.) + */ + public List getUseContext() { + if (this.useContext == null) + this.useContext = new ArrayList(); + return this.useContext; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ActorDefinition setUseContext(List theUseContext) { + this.useContext = theUseContext; + return this; + } + + public boolean hasUseContext() { + if (this.useContext == null) + return false; + for (UsageContext item : this.useContext) + if (!item.isEmpty()) + return true; + return false; + } + + public UsageContext addUseContext() { //3 + UsageContext t = new UsageContext(); + if (this.useContext == null) + this.useContext = new ArrayList(); + this.useContext.add(t); + return t; + } + + public ActorDefinition addUseContext(UsageContext t) { //3 + if (t == null) + return this; + if (this.useContext == null) + this.useContext = new ArrayList(); + this.useContext.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} + */ + public UsageContext getUseContextFirstRep() { + if (getUseContext().isEmpty()) { + addUseContext(); + } + return getUseContext().get(0); + } + + /** + * @return {@link #jurisdiction} (A legal or geographic region in which the actor definition is intended to be used.) + */ + public List getJurisdiction() { + if (this.jurisdiction == null) + this.jurisdiction = new ArrayList(); + return this.jurisdiction; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ActorDefinition setJurisdiction(List theJurisdiction) { + this.jurisdiction = theJurisdiction; + return this; + } + + public boolean hasJurisdiction() { + if (this.jurisdiction == null) + return false; + for (CodeableConcept item : this.jurisdiction) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addJurisdiction() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.jurisdiction == null) + this.jurisdiction = new ArrayList(); + this.jurisdiction.add(t); + return t; + } + + public ActorDefinition addJurisdiction(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.jurisdiction == null) + this.jurisdiction = new ArrayList(); + this.jurisdiction.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} + */ + public CodeableConcept getJurisdictionFirstRep() { + if (getJurisdiction().isEmpty()) { + addJurisdiction(); + } + return getJurisdiction().get(0); + } + + /** + * @return {@link #purpose} (Explanation of why this actor definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public MarkdownType getPurposeElement() { + if (this.purpose == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.purpose"); + else if (Configuration.doAutoCreate()) + this.purpose = new MarkdownType(); // bb + return this.purpose; + } + + public boolean hasPurposeElement() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + public boolean hasPurpose() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + /** + * @param value {@link #purpose} (Explanation of why this actor definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public ActorDefinition setPurposeElement(MarkdownType value) { + this.purpose = value; + return this; + } + + /** + * @return Explanation of why this actor definition is needed and why it has been designed as it has. + */ + public String getPurpose() { + return this.purpose == null ? null : this.purpose.getValue(); + } + + /** + * @param value Explanation of why this actor definition is needed and why it has been designed as it has. + */ + public ActorDefinition setPurpose(String value) { + if (value == null) + this.purpose = null; + else { + if (this.purpose == null) + this.purpose = new MarkdownType(); + this.purpose.setValue(value); + } + return this; + } + + /** + * @return {@link #copyright} (A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public MarkdownType getCopyrightElement() { + if (this.copyright == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.copyright"); + else if (Configuration.doAutoCreate()) + this.copyright = new MarkdownType(); // bb + return this.copyright; + } + + public boolean hasCopyrightElement() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + public boolean hasCopyright() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + /** + * @param value {@link #copyright} (A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public ActorDefinition setCopyrightElement(MarkdownType value) { + this.copyright = value; + return this; + } + + /** + * @return A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition. + */ + public String getCopyright() { + return this.copyright == null ? null : this.copyright.getValue(); + } + + /** + * @param value A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition. + */ + public ActorDefinition setCopyright(String value) { + if (value == null) + this.copyright = null; + else { + if (this.copyright == null) + this.copyright = new MarkdownType(); + this.copyright.setValue(value); + } + return this; + } + + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ActorDefinition setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public ActorDefinition setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + + /** + * @return {@link #type} (Whether the actor represents a human or an appliction.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public Enumeration getTypeElement() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.type"); + else if (Configuration.doAutoCreate()) + this.type = new Enumeration(new ExampleScenarioActorTypeEnumFactory()); // bb + return this.type; + } + + public boolean hasTypeElement() { + return this.type != null && !this.type.isEmpty(); + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (Whether the actor represents a human or an appliction.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public ActorDefinition setTypeElement(Enumeration value) { + this.type = value; + return this; + } + + /** + * @return Whether the actor represents a human or an appliction. + */ + public ExampleScenarioActorType getType() { + return this.type == null ? null : this.type.getValue(); + } + + /** + * @param value Whether the actor represents a human or an appliction. + */ + public ActorDefinition setType(ExampleScenarioActorType value) { + if (this.type == null) + this.type = new Enumeration(new ExampleScenarioActorTypeEnumFactory()); + this.type.setValue(value); + return this; + } + + /** + * @return {@link #documentation} (Documentation about the functionality of the actor.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value + */ + public MarkdownType getDocumentationElement() { + if (this.documentation == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.documentation"); + else if (Configuration.doAutoCreate()) + this.documentation = new MarkdownType(); // bb + return this.documentation; + } + + public boolean hasDocumentationElement() { + return this.documentation != null && !this.documentation.isEmpty(); + } + + public boolean hasDocumentation() { + return this.documentation != null && !this.documentation.isEmpty(); + } + + /** + * @param value {@link #documentation} (Documentation about the functionality of the actor.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value + */ + public ActorDefinition setDocumentationElement(MarkdownType value) { + this.documentation = value; + return this; + } + + /** + * @return Documentation about the functionality of the actor. + */ + public String getDocumentation() { + return this.documentation == null ? null : this.documentation.getValue(); + } + + /** + * @param value Documentation about the functionality of the actor. + */ + public ActorDefinition setDocumentation(String value) { + if (value == null) + this.documentation = null; + else { + if (this.documentation == null) + this.documentation = new MarkdownType(); + this.documentation.setValue(value); + } + return this; + } + + /** + * @return {@link #reference} (A reference to additional documentation about the actor, but description and documentation.) + */ + public List getReference() { + if (this.reference == null) + this.reference = new ArrayList(); + return this.reference; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ActorDefinition setReference(List theReference) { + this.reference = theReference; + return this; + } + + public boolean hasReference() { + if (this.reference == null) + return false; + for (UrlType item : this.reference) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #reference} (A reference to additional documentation about the actor, but description and documentation.) + */ + public UrlType addReferenceElement() {//2 + UrlType t = new UrlType(); + if (this.reference == null) + this.reference = new ArrayList(); + this.reference.add(t); + return t; + } + + /** + * @param value {@link #reference} (A reference to additional documentation about the actor, but description and documentation.) + */ + public ActorDefinition addReference(String value) { //1 + UrlType t = new UrlType(); + t.setValue(value); + if (this.reference == null) + this.reference = new ArrayList(); + this.reference.add(t); + return this; + } + + /** + * @param value {@link #reference} (A reference to additional documentation about the actor, but description and documentation.) + */ + public boolean hasReference(String value) { + if (this.reference == null) + return false; + for (UrlType v : this.reference) + if (v.getValue().equals(value)) // url + return true; + return false; + } + + /** + * @return {@link #capabilities} (The capability statement for the actor (if the concept is applicable).). This is the underlying object with id, value and extensions. The accessor "getCapabilities" gives direct access to the value + */ + public CanonicalType getCapabilitiesElement() { + if (this.capabilities == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ActorDefinition.capabilities"); + else if (Configuration.doAutoCreate()) + this.capabilities = new CanonicalType(); // bb + return this.capabilities; + } + + public boolean hasCapabilitiesElement() { + return this.capabilities != null && !this.capabilities.isEmpty(); + } + + public boolean hasCapabilities() { + return this.capabilities != null && !this.capabilities.isEmpty(); + } + + /** + * @param value {@link #capabilities} (The capability statement for the actor (if the concept is applicable).). This is the underlying object with id, value and extensions. The accessor "getCapabilities" gives direct access to the value + */ + public ActorDefinition setCapabilitiesElement(CanonicalType value) { + this.capabilities = value; + return this; + } + + /** + * @return The capability statement for the actor (if the concept is applicable). + */ + public String getCapabilities() { + return this.capabilities == null ? null : this.capabilities.getValue(); + } + + /** + * @param value The capability statement for the actor (if the concept is applicable). + */ + public ActorDefinition setCapabilities(String value) { + if (Utilities.noString(value)) + this.capabilities = null; + else { + if (this.capabilities == null) + this.capabilities = new CanonicalType(); + this.capabilities.setValue(value); + } + return this; + } + + /** + * @return {@link #derivedFrom} (A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG.) + */ + public List getDerivedFrom() { + if (this.derivedFrom == null) + this.derivedFrom = new ArrayList(); + return this.derivedFrom; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ActorDefinition setDerivedFrom(List theDerivedFrom) { + this.derivedFrom = theDerivedFrom; + return this; + } + + public boolean hasDerivedFrom() { + if (this.derivedFrom == null) + return false; + for (CanonicalType item : this.derivedFrom) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #derivedFrom} (A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG.) + */ + public CanonicalType addDerivedFromElement() {//2 + CanonicalType t = new CanonicalType(); + if (this.derivedFrom == null) + this.derivedFrom = new ArrayList(); + this.derivedFrom.add(t); + return t; + } + + /** + * @param value {@link #derivedFrom} (A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG.) + */ + public ActorDefinition addDerivedFrom(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); + if (this.derivedFrom == null) + this.derivedFrom = new ArrayList(); + this.derivedFrom.add(t); + return this; + } + + /** + * @param value {@link #derivedFrom} (A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG.) + */ + public boolean hasDerivedFrom(String value) { + if (this.derivedFrom == null) + return false; + for (CanonicalType v : this.derivedFrom) + if (v.getValue().equals(value)) // canonical + return true; + return false; + } + + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"ActorDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"ActorDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"ActorDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ActorDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"ActorDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers.", 0, 1, url)); + children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this actor definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("version", "string", "The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("name", "string", "A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); + children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the actor definition.", 0, 1, title)); + children.add(new Property("status", "code", "The status of this actor definition. Enables tracking the life-cycle of the content.", 0, 1, status)); + children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); + children.add(new Property("date", "dateTime", "The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes.", 0, 1, date)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition.", 0, 1, publisher)); + children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); + children.add(new Property("description", "markdown", "A free text natural language description of the actor.", 0, 1, description)); + children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate actor definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); + children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the actor definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); + children.add(new Property("purpose", "markdown", "Explanation of why this actor definition is needed and why it has been designed as it has.", 0, 1, purpose)); + children.add(new Property("copyright", "markdown", "A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); + children.add(new Property("type", "code", "Whether the actor represents a human or an appliction.", 0, 1, type)); + children.add(new Property("documentation", "markdown", "Documentation about the functionality of the actor.", 0, 1, documentation)); + children.add(new Property("reference", "url", "A reference to additional documentation about the actor, but description and documentation.", 0, java.lang.Integer.MAX_VALUE, reference)); + children.add(new Property("capabilities", "canonical(CapabilityStatement)", "The capability statement for the actor (if the concept is applicable).", 0, 1, capabilities)); + children.add(new Property("derivedFrom", "canonical(ActorDefinition)", "A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this actor definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this actor definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the actor definition is stored on different servers.", 0, 1, url); + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this actor definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); + case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the actor definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the actor definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the actor definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); + case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the actor definition.", 0, 1, title); + case -892481550: /*status*/ return new Property("status", "code", "The status of this actor definition. Enables tracking the life-cycle of the content.", 0, 1, status); + case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this actor definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); + case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the actor definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the actor definition changes.", 0, 1, date); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the actor definition.", 0, 1, publisher); + case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); + case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the actor.", 0, 1, description); + case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate actor definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); + case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the actor definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); + case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this actor definition is needed and why it has been designed as it has.", 0, 1, purpose); + case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the actor definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the actor definition.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); + case 3575610: /*type*/ return new Property("type", "code", "Whether the actor represents a human or an appliction.", 0, 1, type); + case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Documentation about the functionality of the actor.", 0, 1, documentation); + case -925155509: /*reference*/ return new Property("reference", "url", "A reference to additional documentation about the actor, but description and documentation.", 0, java.lang.Integer.MAX_VALUE, reference); + case -1487597642: /*capabilities*/ return new Property("capabilities", "canonical(CapabilityStatement)", "The capability statement for the actor (if the concept is applicable).", 0, 1, capabilities); + case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "canonical(ActorDefinition)", "A url that identifies the definition of this actor in another IG (which IG must be listed in the dependencies). This actor inherits all the obligations etc as defined in the other IG.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType + case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType + case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType + case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType + case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType + case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext + case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept + case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType + case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType + case -925155509: /*reference*/ return this.reference == null ? new Base[0] : this.reference.toArray(new Base[this.reference.size()]); // UrlType + case -1487597642: /*capabilities*/ return this.capabilities == null ? new Base[0] : new Base[] {this.capabilities}; // CanonicalType + case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : this.derivedFrom.toArray(new Base[this.derivedFrom.size()]); // CanonicalType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 116079: // url + this.url = TypeConvertor.castToUri(value); // UriType + return value; + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; + case 351608024: // version + this.version = TypeConvertor.castToString(value); // StringType + return value; + case 3373707: // name + this.name = TypeConvertor.castToString(value); // StringType + return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; + case -892481550: // status + value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + return value; + case -404562712: // experimental + this.experimental = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case 3076014: // date + this.date = TypeConvertor.castToDateTime(value); // DateTimeType + return value; + case 1447404028: // publisher + this.publisher = TypeConvertor.castToString(value); // StringType + return value; + case 951526432: // contact + this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -1724546052: // description + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case -669707736: // useContext + this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext + return value; + case -507075711: // jurisdiction + this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -220463842: // purpose + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 1522889671: // copyright + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; + case 3575610: // type + value = new ExampleScenarioActorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + return value; + case 1587405498: // documentation + this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case -925155509: // reference + this.getReference().add(TypeConvertor.castToUrl(value)); // UrlType + return value; + case -1487597642: // capabilities + this.capabilities = TypeConvertor.castToCanonical(value); // CanonicalType + return value; + case 1077922663: // derivedFrom + this.getDerivedFrom().add(TypeConvertor.castToCanonical(value)); // CanonicalType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("url")) { + this.url = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("version")) { + this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("name")) { + this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType + } else if (name.equals("status")) { + value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + } else if (name.equals("experimental")) { + this.experimental = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("date")) { + this.date = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("publisher")) { + this.publisher = TypeConvertor.castToString(value); // StringType + } else if (name.equals("contact")) { + this.getContact().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("description")) { + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("useContext")) { + this.getUseContext().add(TypeConvertor.castToUsageContext(value)); + } else if (name.equals("jurisdiction")) { + this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("purpose")) { + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyright")) { + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + } else if (name.equals("type")) { + value = new ExampleScenarioActorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + } else if (name.equals("documentation")) { + this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("reference")) { + this.getReference().add(TypeConvertor.castToUrl(value)); + } else if (name.equals("capabilities")) { + this.capabilities = TypeConvertor.castToCanonical(value); // CanonicalType + } else if (name.equals("derivedFrom")) { + this.getDerivedFrom().add(TypeConvertor.castToCanonical(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 116079: return getUrlElement(); + case -1618432855: return addIdentifier(); + case 351608024: return getVersionElement(); + case 3373707: return getNameElement(); + case 110371416: return getTitleElement(); + case -892481550: return getStatusElement(); + case -404562712: return getExperimentalElement(); + case 3076014: return getDateElement(); + case 1447404028: return getPublisherElement(); + case 951526432: return addContact(); + case -1724546052: return getDescriptionElement(); + case -669707736: return addUseContext(); + case -507075711: return addJurisdiction(); + case -220463842: return getPurposeElement(); + case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); + case 3575610: return getTypeElement(); + case 1587405498: return getDocumentationElement(); + case -925155509: return addReferenceElement(); + case -1487597642: return getCapabilitiesElement(); + case 1077922663: return addDerivedFromElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 116079: /*url*/ return new String[] {"uri"}; + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case 351608024: /*version*/ return new String[] {"string"}; + case 3373707: /*name*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; + case -892481550: /*status*/ return new String[] {"code"}; + case -404562712: /*experimental*/ return new String[] {"boolean"}; + case 3076014: /*date*/ return new String[] {"dateTime"}; + case 1447404028: /*publisher*/ return new String[] {"string"}; + case 951526432: /*contact*/ return new String[] {"ContactDetail"}; + case -1724546052: /*description*/ return new String[] {"markdown"}; + case -669707736: /*useContext*/ return new String[] {"UsageContext"}; + case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; + case -220463842: /*purpose*/ return new String[] {"markdown"}; + case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; + case 3575610: /*type*/ return new String[] {"code"}; + case 1587405498: /*documentation*/ return new String[] {"markdown"}; + case -925155509: /*reference*/ return new String[] {"url"}; + case -1487597642: /*capabilities*/ return new String[] {"canonical"}; + case 1077922663: /*derivedFrom*/ return new String[] {"canonical"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("url")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.url"); + } + else if (name.equals("identifier")) { + return addIdentifier(); + } + else if (name.equals("version")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.version"); + } + else if (name.equals("name")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.name"); + } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.title"); + } + else if (name.equals("status")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.status"); + } + else if (name.equals("experimental")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.experimental"); + } + else if (name.equals("date")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.date"); + } + else if (name.equals("publisher")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.publisher"); + } + else if (name.equals("contact")) { + return addContact(); + } + else if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.description"); + } + else if (name.equals("useContext")) { + return addUseContext(); + } + else if (name.equals("jurisdiction")) { + return addJurisdiction(); + } + else if (name.equals("purpose")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.purpose"); + } + else if (name.equals("copyright")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.copyright"); + } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.copyrightLabel"); + } + else if (name.equals("type")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.type"); + } + else if (name.equals("documentation")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.documentation"); + } + else if (name.equals("reference")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.reference"); + } + else if (name.equals("capabilities")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.capabilities"); + } + else if (name.equals("derivedFrom")) { + throw new FHIRException("Cannot call addChild on a primitive type ActorDefinition.derivedFrom"); + } + else + return super.addChild(name); + } + + public String fhirType() { + return "ActorDefinition"; + + } + + public ActorDefinition copy() { + ActorDefinition dst = new ActorDefinition(); + copyValues(dst); + return dst; + } + + public void copyValues(ActorDefinition dst) { + super.copyValues(dst); + dst.url = url == null ? null : url.copy(); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; + dst.version = version == null ? null : version.copy(); + dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); + dst.status = status == null ? null : status.copy(); + dst.experimental = experimental == null ? null : experimental.copy(); + dst.date = date == null ? null : date.copy(); + dst.publisher = publisher == null ? null : publisher.copy(); + if (contact != null) { + dst.contact = new ArrayList(); + for (ContactDetail i : contact) + dst.contact.add(i.copy()); + }; + dst.description = description == null ? null : description.copy(); + if (useContext != null) { + dst.useContext = new ArrayList(); + for (UsageContext i : useContext) + dst.useContext.add(i.copy()); + }; + if (jurisdiction != null) { + dst.jurisdiction = new ArrayList(); + for (CodeableConcept i : jurisdiction) + dst.jurisdiction.add(i.copy()); + }; + dst.purpose = purpose == null ? null : purpose.copy(); + dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); + dst.type = type == null ? null : type.copy(); + dst.documentation = documentation == null ? null : documentation.copy(); + if (reference != null) { + dst.reference = new ArrayList(); + for (UrlType i : reference) + dst.reference.add(i.copy()); + }; + dst.capabilities = capabilities == null ? null : capabilities.copy(); + if (derivedFrom != null) { + dst.derivedFrom = new ArrayList(); + for (CanonicalType i : derivedFrom) + dst.derivedFrom.add(i.copy()); + }; + } + + protected ActorDefinition typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof ActorDefinition)) + return false; + ActorDefinition o = (ActorDefinition) other_; + return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(type, o.type, true) && compareDeep(documentation, o.documentation, true) + && compareDeep(reference, o.reference, true) && compareDeep(capabilities, o.capabilities, true) + && compareDeep(derivedFrom, o.derivedFrom, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof ActorDefinition)) + return false; + ActorDefinition o = (ActorDefinition) other_; + return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) + && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) + && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(type, o.type, true) && compareValues(documentation, o.documentation, true) && compareValues(reference, o.reference, true) + && compareValues(capabilities, o.capabilities, true) && compareValues(derivedFrom, o.derivedFrom, true) + ; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version + , name, title, status, experimental, date, publisher, contact, description, useContext + , jurisdiction, purpose, copyright, copyrightLabel, type, documentation, reference + , capabilities, derivedFrom); + } + + @Override + public ResourceType getResourceType() { + return ResourceType.ActorDefinition; + } + + /** + * Search parameter: context-quantity + *

+ * Description: A quantity- or range-valued use context assigned to the Actor Definition
+ * Type: quantity
+ * Path: (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range)
+ *

+ */ + @SearchParamDefinition(name="context-quantity", path="(ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the Actor Definition", type="quantity" ) + public static final String SP_CONTEXT_QUANTITY = "context-quantity"; + /** + * Fluent Client search parameter constant for context-quantity + *

+ * Description: A quantity- or range-valued use context assigned to the Actor Definition
+ * Type: quantity
+ * Path: (ActorDefinition.useContext.value as Quantity) | (ActorDefinition.useContext.value as Range)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); + + /** + * Search parameter: context-type-quantity + *

+ * Description: A use context type and quantity- or range-based value assigned to the Actor Definition
+ * Type: composite
+ * Path: ActorDefinition.useContext
+ *

+ */ + @SearchParamDefinition(name="context-type-quantity", path="ActorDefinition.useContext", description="A use context type and quantity- or range-based value assigned to the Actor Definition", type="composite", compositeOf={"context-type", "context-quantity"} ) + public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; + /** + * Fluent Client search parameter constant for context-type-quantity + *

+ * Description: A use context type and quantity- or range-based value assigned to the Actor Definition
+ * Type: composite
+ * Path: ActorDefinition.useContext
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.CompositeClientParam CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_CONTEXT_TYPE_QUANTITY); + + /** + * Search parameter: context-type-value + *

+ * Description: A use context type and value assigned to the Actor Definition
+ * Type: composite
+ * Path: ActorDefinition.useContext
+ *

+ */ + @SearchParamDefinition(name="context-type-value", path="ActorDefinition.useContext", description="A use context type and value assigned to the Actor Definition", type="composite", compositeOf={"context-type", "context"} ) + public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; + /** + * Fluent Client search parameter constant for context-type-value + *

+ * Description: A use context type and value assigned to the Actor Definition
+ * Type: composite
+ * Path: ActorDefinition.useContext
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.CompositeClientParam CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_CONTEXT_TYPE_VALUE); + + /** + * Search parameter: context-type + *

+ * Description: A type of use context assigned to the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.useContext.code
+ *

+ */ + @SearchParamDefinition(name="context-type", path="ActorDefinition.useContext.code", description="A type of use context assigned to the Actor Definition", type="token" ) + public static final String SP_CONTEXT_TYPE = "context-type"; + /** + * Fluent Client search parameter constant for context-type + *

+ * Description: A type of use context assigned to the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.useContext.code
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); + + /** + * Search parameter: context + *

+ * Description: A use context assigned to the Actor Definition
+ * Type: token
+ * Path: (ActorDefinition.useContext.value as CodeableConcept)
+ *

+ */ + @SearchParamDefinition(name="context", path="(ActorDefinition.useContext.value as CodeableConcept)", description="A use context assigned to the Actor Definition", type="token" ) + public static final String SP_CONTEXT = "context"; + /** + * Fluent Client search parameter constant for context + *

+ * Description: A use context assigned to the Actor Definition
+ * Type: token
+ * Path: (ActorDefinition.useContext.value as CodeableConcept)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); + + /** + * Search parameter: date + *

+ * Description: The Actor Definition publication date
+ * Type: date
+ * Path: ActorDefinition.date
+ *

+ */ + @SearchParamDefinition(name="date", path="ActorDefinition.date", description="The Actor Definition publication date", type="date" ) + public static final String SP_DATE = "date"; + /** + * Fluent Client search parameter constant for date + *

+ * Description: The Actor Definition publication date
+ * Type: date
+ * Path: ActorDefinition.date
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); + + /** + * Search parameter: description + *

+ * Description: The description of the Actor Definition
+ * Type: string
+ * Path: ActorDefinition.description
+ *

+ */ + @SearchParamDefinition(name="description", path="ActorDefinition.description", description="The description of the Actor Definition", type="string" ) + public static final String SP_DESCRIPTION = "description"; + /** + * Fluent Client search parameter constant for description + *

+ * Description: The description of the Actor Definition
+ * Type: string
+ * Path: ActorDefinition.description
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); + + /** + * Search parameter: identifier + *

+ * Description: External identifier for the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.identifier
+ *

+ */ + @SearchParamDefinition(name="identifier", path="ActorDefinition.identifier", description="External identifier for the Actor Definition", type="token" ) + public static final String SP_IDENTIFIER = "identifier"; + /** + * Fluent Client search parameter constant for identifier + *

+ * Description: External identifier for the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.identifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + + /** + * Search parameter: jurisdiction + *

+ * Description: Intended jurisdiction for the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.jurisdiction
+ *

+ */ + @SearchParamDefinition(name="jurisdiction", path="ActorDefinition.jurisdiction", description="Intended jurisdiction for the Actor Definition", type="token" ) + public static final String SP_JURISDICTION = "jurisdiction"; + /** + * Fluent Client search parameter constant for jurisdiction + *

+ * Description: Intended jurisdiction for the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.jurisdiction
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); + + /** + * Search parameter: publisher + *

+ * Description: Name of the publisher of the Actor Definition
+ * Type: string
+ * Path: ActorDefinition.publisher
+ *

+ */ + @SearchParamDefinition(name="publisher", path="ActorDefinition.publisher", description="Name of the publisher of the Actor Definition", type="string" ) + public static final String SP_PUBLISHER = "publisher"; + /** + * Fluent Client search parameter constant for publisher + *

+ * Description: Name of the publisher of the Actor Definition
+ * Type: string
+ * Path: ActorDefinition.publisher
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); + + /** + * Search parameter: status + *

+ * Description: The current status of the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.status
+ *

+ */ + @SearchParamDefinition(name="status", path="ActorDefinition.status", description="The current status of the Actor Definition", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The current status of the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + + /** + * Search parameter: title + *

+ * Description: The human-friendly name of the Actor Definition
+ * Type: string
+ * Path: ActorDefinition.title
+ *

+ */ + @SearchParamDefinition(name="title", path="ActorDefinition.title", description="The human-friendly name of the Actor Definition", type="string" ) + public static final String SP_TITLE = "title"; + /** + * Fluent Client search parameter constant for title + *

+ * Description: The human-friendly name of the Actor Definition
+ * Type: string
+ * Path: ActorDefinition.title
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); + + /** + * Search parameter: type + *

+ * Description: The type of actor
+ * Type: token
+ * Path: ActorDefinition.type
+ *

+ */ + @SearchParamDefinition(name="type", path="ActorDefinition.type", description="The type of actor", type="token" ) + public static final String SP_TYPE = "type"; + /** + * Fluent Client search parameter constant for type + *

+ * Description: The type of actor
+ * Type: token
+ * Path: ActorDefinition.type
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); + + /** + * Search parameter: url + *

+ * Description: The uri that identifies the Actor Definition
+ * Type: uri
+ * Path: ActorDefinition.url
+ *

+ */ + @SearchParamDefinition(name="url", path="ActorDefinition.url", description="The uri that identifies the Actor Definition", type="uri" ) + public static final String SP_URL = "url"; + /** + * Fluent Client search parameter constant for url + *

+ * Description: The uri that identifies the Actor Definition
+ * Type: uri
+ * Path: ActorDefinition.url
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); + + /** + * Search parameter: version + *

+ * Description: The business version of the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.version
+ *

+ */ + @SearchParamDefinition(name="version", path="ActorDefinition.version", description="The business version of the Actor Definition", type="token" ) + public static final String SP_VERSION = "version"; + /** + * Fluent Client search parameter constant for version + *

+ * Description: The business version of the Actor Definition
+ * Type: token
+ * Path: ActorDefinition.version
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Address.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Address.java index 7dc900cde..44eaa9af1 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Address.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Address.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,8 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. + * Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. +The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address. */ @DatatypeDef(name="Address") public class Address extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdministrableProductDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdministrableProductDefinition.java index 9f0e24349..15dceb186 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdministrableProductDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdministrableProductDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2373,6 +2373,26 @@ public class AdministrableProductDefinition extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam ROUTE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ROUTE); + /** + * Search parameter: status + *

+ * Description: The status of this administrable product. Enables tracking the life-cycle of the content.
+ * Type: token
+ * Path: AdministrableProductDefinition.status
+ *

+ */ + @SearchParamDefinition(name="status", path="AdministrableProductDefinition.status", description="The status of this administrable product. Enables tracking the life-cycle of the content.", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The status of this administrable product. Enables tracking the life-cycle of the content.
+ * Type: token
+ * Path: AdministrableProductDefinition.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + /** * Search parameter: target-species *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdverseEvent.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdverseEvent.java index 651cad258..c374b3893 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdverseEvent.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AdverseEvent.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. + * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints. */ @ResourceDef(name="AdverseEvent", profile="http://hl7.org/fhir/StructureDefinition/AdverseEvent") public class AdverseEvent extends DomainResource { @@ -290,7 +290,7 @@ public class AdverseEvent extends DomainResource { /** * Indicates who or what participated in the event. */ - @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, Device.class, RelatedPerson.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, Device.class, RelatedPerson.class, ResearchSubject.class}, order=2, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Who was involved in the adverse event or the potential adverse event", formalDefinition="Indicates who or what participated in the event." ) protected Reference actor; @@ -362,14 +362,14 @@ public class AdverseEvent extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the actor in the adverse event, such as contributor or informant.", 0, 1, function)); - children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "Indicates who or what participated in the event.", 0, 1, actor)); + children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson|ResearchSubject)", "Indicates who or what participated in the event.", 0, 1, actor)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the actor in the adverse event, such as contributor or informant.", 0, 1, function); - case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "Indicates who or what participated in the event.", 0, 1, actor); + case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson|ResearchSubject)", "Indicates who or what participated in the event.", 0, 1, actor); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -752,7 +752,7 @@ public class AdverseEvent extends DomainResource { /** * The author of the information on the possible cause of the event. */ - @Child(name = "author", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "author", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class, ResearchSubject.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Author of the information on the possible cause of the event", formalDefinition="The author of the information on the possible cause of the event." ) protected Reference author; @@ -841,7 +841,7 @@ public class AdverseEvent extends DomainResource { super.listChildren(children); children.add(new Property("assessmentMethod", "CodeableConcept", "The method of evaluating the relatedness of the suspected entity to the event.", 0, 1, assessmentMethod)); children.add(new Property("entityRelatedness", "CodeableConcept", "The result of the assessment regarding the relatedness of the suspected entity to the event.", 0, 1, entityRelatedness)); - children.add(new Property("author", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "The author of the information on the possible cause of the event.", 0, 1, author)); + children.add(new Property("author", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|ResearchSubject)", "The author of the information on the possible cause of the event.", 0, 1, author)); } @Override @@ -849,7 +849,7 @@ public class AdverseEvent extends DomainResource { switch (_hash) { case 1681283651: /*assessmentMethod*/ return new Property("assessmentMethod", "CodeableConcept", "The method of evaluating the relatedness of the suspected entity to the event.", 0, 1, assessmentMethod); case 2000199967: /*entityRelatedness*/ return new Property("entityRelatedness", "CodeableConcept", "The result of the assessment regarding the relatedness of the suspected entity to the event.", 0, 1, entityRelatedness); - case -1406328437: /*author*/ return new Property("author", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "The author of the information on the possible cause of the event.", 0, 1, author); + case -1406328437: /*author*/ return new Property("author", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson|ResearchSubject)", "The author of the information on the possible cause of the event.", 0, 1, author); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -987,7 +987,7 @@ public class AdverseEvent extends DomainResource { /** * The item that is suspected to have increased the probability or severity of the adverse event. */ - @Child(name = "item", type = {Condition.class, Observation.class, AllergyIntolerance.class, FamilyMemberHistory.class, Immunization.class, Procedure.class, DocumentReference.class, CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Child(name = "item", type = {Condition.class, Observation.class, AllergyIntolerance.class, FamilyMemberHistory.class, Immunization.class, Procedure.class, Device.class, DocumentReference.class, MedicationAdministration.class, MedicationUsage.class, CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Item suspected to have increased the probability or severity of the adverse event", formalDefinition="The item that is suspected to have increased the probability or severity of the adverse event." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/adverse-event-contributing-factor") protected DataType item; @@ -1062,15 +1062,15 @@ public class AdverseEvent extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)|CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item)); + children.add(new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|Device|DocumentReference|MedicationAdministration|MedicationUsage)|CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 2116201613: /*item[x]*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)|CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); - case 3242771: /*item*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)|CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); - case 1376364920: /*itemReference*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); + case 2116201613: /*item[x]*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|Device|DocumentReference|MedicationAdministration|MedicationUsage)|CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); + case 3242771: /*item*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|Device|DocumentReference|MedicationAdministration|MedicationUsage)|CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); + case 1376364920: /*itemReference*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|Device|DocumentReference|MedicationAdministration|MedicationUsage)", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); case 106644494: /*itemCodeableConcept*/ return new Property("item[x]", "CodeableConcept", "The item that is suspected to have increased the probability or severity of the adverse event.", 0, 1, item); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1584,7 +1584,7 @@ public class AdverseEvent extends DomainResource { /** * Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action. */ - @Child(name = "item", type = {Condition.class, Observation.class, AllergyIntolerance.class, FamilyMemberHistory.class, Immunization.class, Procedure.class, DocumentReference.class, CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Child(name = "item", type = {Condition.class, Observation.class, AllergyIntolerance.class, FamilyMemberHistory.class, Immunization.class, Procedure.class, DocumentReference.class, MedicationAdministration.class, MedicationUsage.class, CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Subject medical history or document relevant to this adverse event", formalDefinition="Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/adverse-event-supporting-info") protected DataType item; @@ -1659,15 +1659,15 @@ public class AdverseEvent extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)|CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item)); + children.add(new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference|MedicationAdministration|MedicationUsage)|CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 2116201613: /*item[x]*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)|CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); - case 3242771: /*item*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)|CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); - case 1376364920: /*itemReference*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference)", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); + case 2116201613: /*item[x]*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference|MedicationAdministration|MedicationUsage)|CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); + case 3242771: /*item*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference|MedicationAdministration|MedicationUsage)|CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); + case 1376364920: /*itemReference*/ return new Property("item[x]", "Reference(Condition|Observation|AllergyIntolerance|FamilyMemberHistory|Immunization|Procedure|DocumentReference|MedicationAdministration|MedicationUsage)", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); case 106644494: /*itemCodeableConcept*/ return new Property("item[x]", "CodeableConcept", "Relevant past history for the subject. In a clinical care context, an example being a patient had an adverse event following a pencillin administration and the patient had a previously documented penicillin allergy. In a clinical trials context, an example is a bunion or rash that was present prior to the study. Additionally, the supporting item can be a document that is relevant to this instance of the adverse event that is not part of the subject's medical history. For example, a clinical note, staff list, or material safety data sheet (MSDS). Supporting information is not a contributing factor, preventive action, or mitigating action.", 0, 1, item); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1820,7 +1820,7 @@ public class AdverseEvent extends DomainResource { /** * This subject or group impacted by the event. */ - @Child(name = "subject", type = {Patient.class, Group.class, Practitioner.class, RelatedPerson.class}, order=5, min=1, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {Patient.class, Group.class, Practitioner.class, RelatedPerson.class, ResearchSubject.class}, order=5, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Subject impacted by event", formalDefinition="This subject or group impacted by the event." ) protected Reference subject; @@ -1885,7 +1885,7 @@ public class AdverseEvent extends DomainResource { /** * Information on who recorded the adverse event. May be the patient or a practitioner. */ - @Child(name = "recorder", type = {Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Child(name = "recorder", type = {Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, ResearchSubject.class}, order=14, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Who recorded the adverse event", formalDefinition="Information on who recorded the adverse event. May be the patient or a practitioner." ) protected Reference recorder; @@ -1896,56 +1896,63 @@ public class AdverseEvent extends DomainResource { @Description(shortDefinition="Who was involved in the adverse event or the potential adverse event and what they did", formalDefinition="Indicates who or what participated in the adverse event and how they were involved." ) protected List participant; + /** + * The research study that the subject is enrolled in. + */ + @Child(name = "study", type = {ResearchStudy.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Research study that the subject is enrolled in", formalDefinition="The research study that the subject is enrolled in." ) + protected List study; + /** * Considered likely or probable or anticipated in the research study. Whether the reported event matches any of the outcomes for the patient that are considered by the study as known or likely. */ - @Child(name = "expectedInResearchStudy", type = {BooleanType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "expectedInResearchStudy", type = {BooleanType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Considered likely or probable or anticipated in the research study", formalDefinition="Considered likely or probable or anticipated in the research study. Whether the reported event matches any of the outcomes for the patient that are considered by the study as known or likely." ) protected BooleanType expectedInResearchStudy; /** * Describes the entity that is suspected to have caused the adverse event. */ - @Child(name = "suspectEntity", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "suspectEntity", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The suspected agent causing the adverse event", formalDefinition="Describes the entity that is suspected to have caused the adverse event." ) protected List suspectEntity; /** * The contributing factors suspected to have increased the probability or severity of the adverse event. */ - @Child(name = "contributingFactor", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contributingFactor", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contributing factors suspected to have increased the probability or severity of the adverse event", formalDefinition="The contributing factors suspected to have increased the probability or severity of the adverse event." ) protected List contributingFactor; /** * Preventive actions that contributed to avoiding the adverse event. */ - @Child(name = "preventiveAction", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "preventiveAction", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Preventive actions that contributed to avoiding the adverse event", formalDefinition="Preventive actions that contributed to avoiding the adverse event." ) protected List preventiveAction; /** * The ameliorating action taken after the adverse event occured in order to reduce the extent of harm. */ - @Child(name = "mitigatingAction", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "mitigatingAction", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Ameliorating actions taken after the adverse event occured in order to reduce the extent of harm", formalDefinition="The ameliorating action taken after the adverse event occured in order to reduce the extent of harm." ) protected List mitigatingAction; /** * Supporting information relevant to the event. */ - @Child(name = "supportingInfo", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "supportingInfo", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Supporting information relevant to the event", formalDefinition="Supporting information relevant to the event." ) protected List supportingInfo; /** - * The research study that the subject is enrolled in. + * Comments made about the adverse event by the performer, subject or other participants. */ - @Child(name = "study", type = {ResearchStudy.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Research study that the subject is enrolled in", formalDefinition="The research study that the subject is enrolled in." ) - protected List study; + @Child(name = "note", type = {Annotation.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Comment on adverse event", formalDefinition="Comments made about the adverse event by the performer, subject or other participants." ) + protected List note; - private static final long serialVersionUID = 1950308679L; + private static final long serialVersionUID = 973851632L; /** * Constructor @@ -2627,6 +2634,59 @@ public class AdverseEvent extends DomainResource { return getParticipant().get(0); } + /** + * @return {@link #study} (The research study that the subject is enrolled in.) + */ + public List getStudy() { + if (this.study == null) + this.study = new ArrayList(); + return this.study; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public AdverseEvent setStudy(List theStudy) { + this.study = theStudy; + return this; + } + + public boolean hasStudy() { + if (this.study == null) + return false; + for (Reference item : this.study) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addStudy() { //3 + Reference t = new Reference(); + if (this.study == null) + this.study = new ArrayList(); + this.study.add(t); + return t; + } + + public AdverseEvent addStudy(Reference t) { //3 + if (t == null) + return this; + if (this.study == null) + this.study = new ArrayList(); + this.study.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #study}, creating it if it does not already exist {3} + */ + public Reference getStudyFirstRep() { + if (getStudy().isEmpty()) { + addStudy(); + } + return getStudy().get(0); + } + /** * @return {@link #expectedInResearchStudy} (Considered likely or probable or anticipated in the research study. Whether the reported event matches any of the outcomes for the patient that are considered by the study as known or likely.). This is the underlying object with id, value and extensions. The accessor "getExpectedInResearchStudy" gives direct access to the value */ @@ -2938,56 +2998,56 @@ public class AdverseEvent extends DomainResource { } /** - * @return {@link #study} (The research study that the subject is enrolled in.) + * @return {@link #note} (Comments made about the adverse event by the performer, subject or other participants.) */ - public List getStudy() { - if (this.study == null) - this.study = new ArrayList(); - return this.study; + public List getNote() { + if (this.note == null) + this.note = new ArrayList(); + return this.note; } /** * @return Returns a reference to this for easy method chaining */ - public AdverseEvent setStudy(List theStudy) { - this.study = theStudy; + public AdverseEvent setNote(List theNote) { + this.note = theNote; return this; } - public boolean hasStudy() { - if (this.study == null) + public boolean hasNote() { + if (this.note == null) return false; - for (Reference item : this.study) + for (Annotation item : this.note) if (!item.isEmpty()) return true; return false; } - public Reference addStudy() { //3 - Reference t = new Reference(); - if (this.study == null) - this.study = new ArrayList(); - this.study.add(t); + public Annotation addNote() { //3 + Annotation t = new Annotation(); + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); return t; } - public AdverseEvent addStudy(Reference t) { //3 + public AdverseEvent addNote(Annotation t) { //3 if (t == null) return this; - if (this.study == null) - this.study = new ArrayList(); - this.study.add(t); + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); return this; } /** - * @return The first repetition of repeating field {@link #study}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} */ - public Reference getStudyFirstRep() { - if (getStudy().isEmpty()) { - addStudy(); + public Annotation getNoteFirstRep() { + if (getNote().isEmpty()) { + addNote(); } - return getStudy().get(0); + return getNote().get(0); } protected void listChildren(List children) { @@ -2997,7 +3057,7 @@ public class AdverseEvent extends DomainResource { children.add(new Property("actuality", "code", "Whether the event actually happened or was a near miss. Note that this is independent of whether anyone was affected or harmed or how severely.", 0, 1, actuality)); children.add(new Property("category", "CodeableConcept", "The overall type of event, intended for search and filtering purposes.", 0, java.lang.Integer.MAX_VALUE, category)); children.add(new Property("code", "CodeableConcept", "Specific event that occurred or that was averted, such as patient fall, wrong organ removed, or wrong blood transfused.", 0, 1, code)); - children.add(new Property("subject", "Reference(Patient|Group|Practitioner|RelatedPerson)", "This subject or group impacted by the event.", 0, 1, subject)); + children.add(new Property("subject", "Reference(Patient|Group|Practitioner|RelatedPerson|ResearchSubject)", "This subject or group impacted by the event.", 0, 1, subject)); children.add(new Property("encounter", "Reference(Encounter)", "The Encounter associated with the start of the AdverseEvent.", 0, 1, encounter)); children.add(new Property("occurrence[x]", "dateTime|Period|Timing", "The date (and perhaps time) when the adverse event occurred.", 0, 1, occurrence)); children.add(new Property("detected", "dateTime", "Estimated or actual date the AdverseEvent began, in the opinion of the reporter.", 0, 1, detected)); @@ -3006,15 +3066,16 @@ public class AdverseEvent extends DomainResource { children.add(new Property("location", "Reference(Location)", "The information about where the adverse event occurred.", 0, 1, location)); children.add(new Property("seriousness", "CodeableConcept", "Assessment whether this event, or averted event, was of clinical importance.", 0, 1, seriousness)); children.add(new Property("outcome", "CodeableConcept", "Describes the type of outcome from the adverse event, such as resolved, recovering, ongoing, resolved-with-sequelae, or fatal.", 0, java.lang.Integer.MAX_VALUE, outcome)); - children.add(new Property("recorder", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson)", "Information on who recorded the adverse event. May be the patient or a practitioner.", 0, 1, recorder)); + children.add(new Property("recorder", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|ResearchSubject)", "Information on who recorded the adverse event. May be the patient or a practitioner.", 0, 1, recorder)); children.add(new Property("participant", "", "Indicates who or what participated in the adverse event and how they were involved.", 0, java.lang.Integer.MAX_VALUE, participant)); + children.add(new Property("study", "Reference(ResearchStudy)", "The research study that the subject is enrolled in.", 0, java.lang.Integer.MAX_VALUE, study)); children.add(new Property("expectedInResearchStudy", "boolean", "Considered likely or probable or anticipated in the research study. Whether the reported event matches any of the outcomes for the patient that are considered by the study as known or likely.", 0, 1, expectedInResearchStudy)); children.add(new Property("suspectEntity", "", "Describes the entity that is suspected to have caused the adverse event.", 0, java.lang.Integer.MAX_VALUE, suspectEntity)); children.add(new Property("contributingFactor", "", "The contributing factors suspected to have increased the probability or severity of the adverse event.", 0, java.lang.Integer.MAX_VALUE, contributingFactor)); children.add(new Property("preventiveAction", "", "Preventive actions that contributed to avoiding the adverse event.", 0, java.lang.Integer.MAX_VALUE, preventiveAction)); children.add(new Property("mitigatingAction", "", "The ameliorating action taken after the adverse event occured in order to reduce the extent of harm.", 0, java.lang.Integer.MAX_VALUE, mitigatingAction)); children.add(new Property("supportingInfo", "", "Supporting information relevant to the event.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); - children.add(new Property("study", "Reference(ResearchStudy)", "The research study that the subject is enrolled in.", 0, java.lang.Integer.MAX_VALUE, study)); + children.add(new Property("note", "Annotation", "Comments made about the adverse event by the performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note)); } @Override @@ -3025,7 +3086,7 @@ public class AdverseEvent extends DomainResource { case 528866400: /*actuality*/ return new Property("actuality", "code", "Whether the event actually happened or was a near miss. Note that this is independent of whether anyone was affected or harmed or how severely.", 0, 1, actuality); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "The overall type of event, intended for search and filtering purposes.", 0, java.lang.Integer.MAX_VALUE, category); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Specific event that occurred or that was averted, such as patient fall, wrong organ removed, or wrong blood transfused.", 0, 1, code); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Practitioner|RelatedPerson)", "This subject or group impacted by the event.", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Practitioner|RelatedPerson|ResearchSubject)", "This subject or group impacted by the event.", 0, 1, subject); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter associated with the start of the AdverseEvent.", 0, 1, encounter); case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date (and perhaps time) when the adverse event occurred.", 0, 1, occurrence); case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date (and perhaps time) when the adverse event occurred.", 0, 1, occurrence); @@ -3038,15 +3099,16 @@ public class AdverseEvent extends DomainResource { case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The information about where the adverse event occurred.", 0, 1, location); case -1551003909: /*seriousness*/ return new Property("seriousness", "CodeableConcept", "Assessment whether this event, or averted event, was of clinical importance.", 0, 1, seriousness); case -1106507950: /*outcome*/ return new Property("outcome", "CodeableConcept", "Describes the type of outcome from the adverse event, such as resolved, recovering, ongoing, resolved-with-sequelae, or fatal.", 0, java.lang.Integer.MAX_VALUE, outcome); - case -799233858: /*recorder*/ return new Property("recorder", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson)", "Information on who recorded the adverse event. May be the patient or a practitioner.", 0, 1, recorder); + case -799233858: /*recorder*/ return new Property("recorder", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|ResearchSubject)", "Information on who recorded the adverse event. May be the patient or a practitioner.", 0, 1, recorder); case 767422259: /*participant*/ return new Property("participant", "", "Indicates who or what participated in the adverse event and how they were involved.", 0, java.lang.Integer.MAX_VALUE, participant); + case 109776329: /*study*/ return new Property("study", "Reference(ResearchStudy)", "The research study that the subject is enrolled in.", 0, java.lang.Integer.MAX_VALUE, study); case -1071467023: /*expectedInResearchStudy*/ return new Property("expectedInResearchStudy", "boolean", "Considered likely or probable or anticipated in the research study. Whether the reported event matches any of the outcomes for the patient that are considered by the study as known or likely.", 0, 1, expectedInResearchStudy); case -1957422662: /*suspectEntity*/ return new Property("suspectEntity", "", "Describes the entity that is suspected to have caused the adverse event.", 0, java.lang.Integer.MAX_VALUE, suspectEntity); case -219647527: /*contributingFactor*/ return new Property("contributingFactor", "", "The contributing factors suspected to have increased the probability or severity of the adverse event.", 0, java.lang.Integer.MAX_VALUE, contributingFactor); case 2052341334: /*preventiveAction*/ return new Property("preventiveAction", "", "Preventive actions that contributed to avoiding the adverse event.", 0, java.lang.Integer.MAX_VALUE, preventiveAction); case 1992862383: /*mitigatingAction*/ return new Property("mitigatingAction", "", "The ameliorating action taken after the adverse event occured in order to reduce the extent of harm.", 0, java.lang.Integer.MAX_VALUE, mitigatingAction); case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "Supporting information relevant to the event.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); - case 109776329: /*study*/ return new Property("study", "Reference(ResearchStudy)", "The research study that the subject is enrolled in.", 0, java.lang.Integer.MAX_VALUE, study); + case 3387378: /*note*/ return new Property("note", "Annotation", "Comments made about the adverse event by the performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -3071,13 +3133,14 @@ public class AdverseEvent extends DomainResource { case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : this.outcome.toArray(new Base[this.outcome.size()]); // CodeableConcept case -799233858: /*recorder*/ return this.recorder == null ? new Base[0] : new Base[] {this.recorder}; // Reference case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // AdverseEventParticipantComponent + case 109776329: /*study*/ return this.study == null ? new Base[0] : this.study.toArray(new Base[this.study.size()]); // Reference case -1071467023: /*expectedInResearchStudy*/ return this.expectedInResearchStudy == null ? new Base[0] : new Base[] {this.expectedInResearchStudy}; // BooleanType case -1957422662: /*suspectEntity*/ return this.suspectEntity == null ? new Base[0] : this.suspectEntity.toArray(new Base[this.suspectEntity.size()]); // AdverseEventSuspectEntityComponent case -219647527: /*contributingFactor*/ return this.contributingFactor == null ? new Base[0] : this.contributingFactor.toArray(new Base[this.contributingFactor.size()]); // AdverseEventContributingFactorComponent case 2052341334: /*preventiveAction*/ return this.preventiveAction == null ? new Base[0] : this.preventiveAction.toArray(new Base[this.preventiveAction.size()]); // AdverseEventPreventiveActionComponent case 1992862383: /*mitigatingAction*/ return this.mitigatingAction == null ? new Base[0] : this.mitigatingAction.toArray(new Base[this.mitigatingAction.size()]); // AdverseEventMitigatingActionComponent case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // AdverseEventSupportingInfoComponent - case 109776329: /*study*/ return this.study == null ? new Base[0] : this.study.toArray(new Base[this.study.size()]); // Reference + case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation default: return super.getProperty(hash, name, checkValid); } @@ -3136,6 +3199,9 @@ public class AdverseEvent extends DomainResource { case 767422259: // participant this.getParticipant().add((AdverseEventParticipantComponent) value); // AdverseEventParticipantComponent return value; + case 109776329: // study + this.getStudy().add(TypeConvertor.castToReference(value)); // Reference + return value; case -1071467023: // expectedInResearchStudy this.expectedInResearchStudy = TypeConvertor.castToBoolean(value); // BooleanType return value; @@ -3154,8 +3220,8 @@ public class AdverseEvent extends DomainResource { case 1922406657: // supportingInfo this.getSupportingInfo().add((AdverseEventSupportingInfoComponent) value); // AdverseEventSupportingInfoComponent return value; - case 109776329: // study - this.getStudy().add(TypeConvertor.castToReference(value)); // Reference + case 3387378: // note + this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation return value; default: return super.setProperty(hash, name, value); } @@ -3198,6 +3264,8 @@ public class AdverseEvent extends DomainResource { this.recorder = TypeConvertor.castToReference(value); // Reference } else if (name.equals("participant")) { this.getParticipant().add((AdverseEventParticipantComponent) value); + } else if (name.equals("study")) { + this.getStudy().add(TypeConvertor.castToReference(value)); } else if (name.equals("expectedInResearchStudy")) { this.expectedInResearchStudy = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("suspectEntity")) { @@ -3210,8 +3278,8 @@ public class AdverseEvent extends DomainResource { this.getMitigatingAction().add((AdverseEventMitigatingActionComponent) value); } else if (name.equals("supportingInfo")) { this.getSupportingInfo().add((AdverseEventSupportingInfoComponent) value); - } else if (name.equals("study")) { - this.getStudy().add(TypeConvertor.castToReference(value)); + } else if (name.equals("note")) { + this.getNote().add(TypeConvertor.castToAnnotation(value)); } else return super.setProperty(name, value); return value; @@ -3237,13 +3305,14 @@ public class AdverseEvent extends DomainResource { case -1106507950: return addOutcome(); case -799233858: return getRecorder(); case 767422259: return addParticipant(); + case 109776329: return addStudy(); case -1071467023: return getExpectedInResearchStudyElement(); case -1957422662: return addSuspectEntity(); case -219647527: return addContributingFactor(); case 2052341334: return addPreventiveAction(); case 1992862383: return addMitigatingAction(); case 1922406657: return addSupportingInfo(); - case 109776329: return addStudy(); + case 3387378: return addNote(); default: return super.makeProperty(hash, name); } @@ -3268,13 +3337,14 @@ public class AdverseEvent extends DomainResource { case -1106507950: /*outcome*/ return new String[] {"CodeableConcept"}; case -799233858: /*recorder*/ return new String[] {"Reference"}; case 767422259: /*participant*/ return new String[] {}; + case 109776329: /*study*/ return new String[] {"Reference"}; case -1071467023: /*expectedInResearchStudy*/ return new String[] {"boolean"}; case -1957422662: /*suspectEntity*/ return new String[] {}; case -219647527: /*contributingFactor*/ return new String[] {}; case 2052341334: /*preventiveAction*/ return new String[] {}; case 1992862383: /*mitigatingAction*/ return new String[] {}; case 1922406657: /*supportingInfo*/ return new String[] {}; - case 109776329: /*study*/ return new String[] {"Reference"}; + case 3387378: /*note*/ return new String[] {"Annotation"}; default: return super.getTypesForProperty(hash, name); } @@ -3345,6 +3415,9 @@ public class AdverseEvent extends DomainResource { else if (name.equals("participant")) { return addParticipant(); } + else if (name.equals("study")) { + return addStudy(); + } else if (name.equals("expectedInResearchStudy")) { throw new FHIRException("Cannot call addChild on a primitive type AdverseEvent.expectedInResearchStudy"); } @@ -3363,8 +3436,8 @@ public class AdverseEvent extends DomainResource { else if (name.equals("supportingInfo")) { return addSupportingInfo(); } - else if (name.equals("study")) { - return addStudy(); + else if (name.equals("note")) { + return addNote(); } else return super.addChild(name); @@ -3419,6 +3492,11 @@ public class AdverseEvent extends DomainResource { for (AdverseEventParticipantComponent i : participant) dst.participant.add(i.copy()); }; + if (study != null) { + dst.study = new ArrayList(); + for (Reference i : study) + dst.study.add(i.copy()); + }; dst.expectedInResearchStudy = expectedInResearchStudy == null ? null : expectedInResearchStudy.copy(); if (suspectEntity != null) { dst.suspectEntity = new ArrayList(); @@ -3445,10 +3523,10 @@ public class AdverseEvent extends DomainResource { for (AdverseEventSupportingInfoComponent i : supportingInfo) dst.supportingInfo.add(i.copy()); }; - if (study != null) { - dst.study = new ArrayList(); - for (Reference i : study) - dst.study.add(i.copy()); + if (note != null) { + dst.note = new ArrayList(); + for (Annotation i : note) + dst.note.add(i.copy()); }; } @@ -3468,10 +3546,11 @@ public class AdverseEvent extends DomainResource { && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(detected, o.detected, true) && compareDeep(recordedDate, o.recordedDate, true) && compareDeep(resultingCondition, o.resultingCondition, true) && compareDeep(location, o.location, true) && compareDeep(seriousness, o.seriousness, true) && compareDeep(outcome, o.outcome, true) - && compareDeep(recorder, o.recorder, true) && compareDeep(participant, o.participant, true) && compareDeep(expectedInResearchStudy, o.expectedInResearchStudy, true) - && compareDeep(suspectEntity, o.suspectEntity, true) && compareDeep(contributingFactor, o.contributingFactor, true) - && compareDeep(preventiveAction, o.preventiveAction, true) && compareDeep(mitigatingAction, o.mitigatingAction, true) - && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(study, o.study, true); + && compareDeep(recorder, o.recorder, true) && compareDeep(participant, o.participant, true) && compareDeep(study, o.study, true) + && compareDeep(expectedInResearchStudy, o.expectedInResearchStudy, true) && compareDeep(suspectEntity, o.suspectEntity, true) + && compareDeep(contributingFactor, o.contributingFactor, true) && compareDeep(preventiveAction, o.preventiveAction, true) + && compareDeep(mitigatingAction, o.mitigatingAction, true) && compareDeep(supportingInfo, o.supportingInfo, true) + && compareDeep(note, o.note, true); } @Override @@ -3489,9 +3568,9 @@ public class AdverseEvent extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, actuality , category, code, subject, encounter, occurrence, detected, recordedDate, resultingCondition - , location, seriousness, outcome, recorder, participant, expectedInResearchStudy + , location, seriousness, outcome, recorder, participant, study, expectedInResearchStudy , suspectEntity, contributingFactor, preventiveAction, mitigatingAction, supportingInfo - , study); + , note); } @Override @@ -3633,7 +3712,7 @@ public class AdverseEvent extends DomainResource { * Path: AdverseEvent.subject
*

*/ - @SearchParamDefinition(name="patient", path="AdverseEvent.subject", description="Subject impacted by event", type="reference", target={Group.class, Patient.class, Practitioner.class, RelatedPerson.class } ) + @SearchParamDefinition(name="patient", path="AdverseEvent.subject", description="Subject impacted by event", type="reference", target={Group.class, Patient.class, Practitioner.class, RelatedPerson.class, ResearchSubject.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3659,7 +3738,7 @@ public class AdverseEvent extends DomainResource { * Path: AdverseEvent.recorder
*

*/ - @SearchParamDefinition(name="recorder", path="AdverseEvent.recorder", description="Who recorded the adverse event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) + @SearchParamDefinition(name="recorder", path="AdverseEvent.recorder", description="Who recorded the adverse event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, ResearchSubject.class } ) public static final String SP_RECORDER = "recorder"; /** * Fluent Client search parameter constant for recorder @@ -3777,7 +3856,7 @@ public class AdverseEvent extends DomainResource { * Path: AdverseEvent.subject
*

*/ - @SearchParamDefinition(name="subject", path="AdverseEvent.subject", description="Subject impacted by event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class, Practitioner.class, RelatedPerson.class } ) + @SearchParamDefinition(name="subject", path="AdverseEvent.subject", description="Subject impacted by event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class, Practitioner.class, RelatedPerson.class, ResearchSubject.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Age.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Age.java index 6f2c1fa5d..bcf7ded06 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Age.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Age.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Age Type: A duration of time during which an organism (or a process) has existed. + * Age Type: A duration of time during which an organism (or a process) has existed. */ @DatatypeDef(name="Age") public class Age extends Quantity implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AllergyIntolerance.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AllergyIntolerance.java index 9bc4ee09a..ecc0dcc00 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AllergyIntolerance.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AllergyIntolerance.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2719,13 +2719,12 @@ public class AllergyIntolerance extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -2745,10 +2744,9 @@ public class AllergyIntolerance extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -2925,7 +2923,7 @@ public class AllergyIntolerance extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2934,10 +2932,10 @@ public class AllergyIntolerance extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2969,7 +2967,7 @@ public class AllergyIntolerance extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2978,7 +2976,7 @@ public class AllergyIntolerance extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Annotation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Annotation.java index 58ed9fc73..7c4b4fe02 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Annotation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Annotation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Annotation Type: A text note which also contains information about who made the statement and when. + * Annotation Type: A text note which also contains information about who made the statement and when. */ @DatatypeDef(name="Annotation") public class Annotation extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Appointment.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Appointment.java index 374cfc5b3..565f56309 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Appointment.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Appointment.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -295,10 +295,10 @@ public class Appointment extends DomainResource { protected Period period; /** - * A Person, Location/HealthcareService or Device that is participating in the appointment. + * The individual, device, location, or service participating in the appointment. */ @Child(name = "actor", type = {Patient.class, Group.class, Practitioner.class, PractitionerRole.class, CareTeam.class, RelatedPerson.class, Device.class, HealthcareService.class, Location.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Person, Location/HealthcareService or Device", formalDefinition="A Person, Location/HealthcareService or Device that is participating in the appointment." ) + @Description(shortDefinition="The individual, device, location, or service participating in the appointment", formalDefinition="The individual, device, location, or service participating in the appointment." ) protected Reference actor; /** @@ -411,7 +411,7 @@ public class Appointment extends DomainResource { } /** - * @return {@link #actor} (A Person, Location/HealthcareService or Device that is participating in the appointment.) + * @return {@link #actor} (The individual, device, location, or service participating in the appointment.) */ public Reference getActor() { if (this.actor == null) @@ -427,7 +427,7 @@ public class Appointment extends DomainResource { } /** - * @param value {@link #actor} (A Person, Location/HealthcareService or Device that is participating in the appointment.) + * @param value {@link #actor} (The individual, device, location, or service participating in the appointment.) */ public AppointmentParticipantComponent setActor(Reference value) { this.actor = value; @@ -528,7 +528,7 @@ public class Appointment extends DomainResource { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "Role of participant in the appointment.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("period", "Period", "Participation period of the actor.", 0, 1, period)); - children.add(new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|CareTeam|RelatedPerson|Device|HealthcareService|Location)", "A Person, Location/HealthcareService or Device that is participating in the appointment.", 0, 1, actor)); + children.add(new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|CareTeam|RelatedPerson|Device|HealthcareService|Location)", "The individual, device, location, or service participating in the appointment.", 0, 1, actor)); children.add(new Property("required", "boolean", "Whether this participant is required to be present at the meeting. If false, the participant is optional.", 0, 1, required)); children.add(new Property("status", "code", "Participation status of the actor.", 0, 1, status)); } @@ -538,7 +538,7 @@ public class Appointment extends DomainResource { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Role of participant in the appointment.", 0, java.lang.Integer.MAX_VALUE, type); case -991726143: /*period*/ return new Property("period", "Period", "Participation period of the actor.", 0, 1, period); - case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|CareTeam|RelatedPerson|Device|HealthcareService|Location)", "A Person, Location/HealthcareService or Device that is participating in the appointment.", 0, 1, actor); + case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|CareTeam|RelatedPerson|Device|HealthcareService|Location)", "The individual, device, location, or service participating in the appointment.", 0, 1, actor); case -393139297: /*required*/ return new Property("required", "boolean", "Whether this participant is required to be present at the meeting. If false, the participant is optional.", 0, 1, required); case -892481550: /*status*/ return new Property("status", "code", "Participation status of the actor.", 0, 1, status); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -700,6 +700,1930 @@ public class Appointment extends DomainResource { } + } + + @Block() + public static class AppointmentRecurrenceTemplateComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The timezone of the recurring appointment occurrences. + */ + @Child(name = "timezone", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The timezone of the occurrences", formalDefinition="The timezone of the recurring appointment occurrences." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/timezones") + protected CodeableConcept timezone; + + /** + * How often the appointment series should recur. + */ + @Child(name = "recurrenceType", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The frequency of the recurrence", formalDefinition="How often the appointment series should recur." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/appointment-recurrrence-type") + protected CodeableConcept recurrenceType; + + /** + * Recurring appointments will not occur after this date. + */ + @Child(name = "lastOccurrenceDate", type = {DateType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The date when the recurrence should end", formalDefinition="Recurring appointments will not occur after this date." ) + protected DateType lastOccurrenceDate; + + /** + * How many appointments are planned in the recurrence. + */ + @Child(name = "occurrenceCount", type = {PositiveIntType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The number of planned occurrences", formalDefinition="How many appointments are planned in the recurrence." ) + protected PositiveIntType occurrenceCount; + + /** + * The list of specific dates that will have appointments generated. + */ + @Child(name = "occurrenceDate", type = {DateType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Specific dates for a recurring set of appointments (no template)", formalDefinition="The list of specific dates that will have appointments generated." ) + protected List occurrenceDate; + + /** + * Information about weekly recurring appointments. + */ + @Child(name = "weeklyTemplate", type = {}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Information about weekly recurring appointments", formalDefinition="Information about weekly recurring appointments." ) + protected AppointmentRecurrenceTemplateWeeklyTemplateComponent weeklyTemplate; + + /** + * Information about monthly recurring appointments. + */ + @Child(name = "monthlyTemplate", type = {}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Information about monthly recurring appointments", formalDefinition="Information about monthly recurring appointments." ) + protected AppointmentRecurrenceTemplateMonthlyTemplateComponent monthlyTemplate; + + /** + * Information about yearly recurring appointments. + */ + @Child(name = "yearlyTemplate", type = {}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Information about yearly recurring appointments", formalDefinition="Information about yearly recurring appointments." ) + protected AppointmentRecurrenceTemplateYearlyTemplateComponent yearlyTemplate; + + /** + * Any dates, such as holidays, that should be excluded from the recurrence. + */ + @Child(name = "excludingDate", type = {DateType.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Any dates that should be excluded from the series", formalDefinition="Any dates, such as holidays, that should be excluded from the recurrence." ) + protected List excludingDate; + + /** + * Any dates, such as holidays, that should be excluded from the recurrence. + */ + @Child(name = "excludingRecurrenceId", type = {PositiveIntType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Any recurrence IDs that should be excluded from the recurrence", formalDefinition="Any dates, such as holidays, that should be excluded from the recurrence." ) + protected List excludingRecurrenceId; + + private static final long serialVersionUID = -1582999176L; + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateComponent() { + super(); + } + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateComponent(CodeableConcept recurrenceType) { + super(); + this.setRecurrenceType(recurrenceType); + } + + /** + * @return {@link #timezone} (The timezone of the recurring appointment occurrences.) + */ + public CodeableConcept getTimezone() { + if (this.timezone == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.timezone"); + else if (Configuration.doAutoCreate()) + this.timezone = new CodeableConcept(); // cc + return this.timezone; + } + + public boolean hasTimezone() { + return this.timezone != null && !this.timezone.isEmpty(); + } + + /** + * @param value {@link #timezone} (The timezone of the recurring appointment occurrences.) + */ + public AppointmentRecurrenceTemplateComponent setTimezone(CodeableConcept value) { + this.timezone = value; + return this; + } + + /** + * @return {@link #recurrenceType} (How often the appointment series should recur.) + */ + public CodeableConcept getRecurrenceType() { + if (this.recurrenceType == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.recurrenceType"); + else if (Configuration.doAutoCreate()) + this.recurrenceType = new CodeableConcept(); // cc + return this.recurrenceType; + } + + public boolean hasRecurrenceType() { + return this.recurrenceType != null && !this.recurrenceType.isEmpty(); + } + + /** + * @param value {@link #recurrenceType} (How often the appointment series should recur.) + */ + public AppointmentRecurrenceTemplateComponent setRecurrenceType(CodeableConcept value) { + this.recurrenceType = value; + return this; + } + + /** + * @return {@link #lastOccurrenceDate} (Recurring appointments will not occur after this date.). This is the underlying object with id, value and extensions. The accessor "getLastOccurrenceDate" gives direct access to the value + */ + public DateType getLastOccurrenceDateElement() { + if (this.lastOccurrenceDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.lastOccurrenceDate"); + else if (Configuration.doAutoCreate()) + this.lastOccurrenceDate = new DateType(); // bb + return this.lastOccurrenceDate; + } + + public boolean hasLastOccurrenceDateElement() { + return this.lastOccurrenceDate != null && !this.lastOccurrenceDate.isEmpty(); + } + + public boolean hasLastOccurrenceDate() { + return this.lastOccurrenceDate != null && !this.lastOccurrenceDate.isEmpty(); + } + + /** + * @param value {@link #lastOccurrenceDate} (Recurring appointments will not occur after this date.). This is the underlying object with id, value and extensions. The accessor "getLastOccurrenceDate" gives direct access to the value + */ + public AppointmentRecurrenceTemplateComponent setLastOccurrenceDateElement(DateType value) { + this.lastOccurrenceDate = value; + return this; + } + + /** + * @return Recurring appointments will not occur after this date. + */ + public Date getLastOccurrenceDate() { + return this.lastOccurrenceDate == null ? null : this.lastOccurrenceDate.getValue(); + } + + /** + * @param value Recurring appointments will not occur after this date. + */ + public AppointmentRecurrenceTemplateComponent setLastOccurrenceDate(Date value) { + if (value == null) + this.lastOccurrenceDate = null; + else { + if (this.lastOccurrenceDate == null) + this.lastOccurrenceDate = new DateType(); + this.lastOccurrenceDate.setValue(value); + } + return this; + } + + /** + * @return {@link #occurrenceCount} (How many appointments are planned in the recurrence.). This is the underlying object with id, value and extensions. The accessor "getOccurrenceCount" gives direct access to the value + */ + public PositiveIntType getOccurrenceCountElement() { + if (this.occurrenceCount == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.occurrenceCount"); + else if (Configuration.doAutoCreate()) + this.occurrenceCount = new PositiveIntType(); // bb + return this.occurrenceCount; + } + + public boolean hasOccurrenceCountElement() { + return this.occurrenceCount != null && !this.occurrenceCount.isEmpty(); + } + + public boolean hasOccurrenceCount() { + return this.occurrenceCount != null && !this.occurrenceCount.isEmpty(); + } + + /** + * @param value {@link #occurrenceCount} (How many appointments are planned in the recurrence.). This is the underlying object with id, value and extensions. The accessor "getOccurrenceCount" gives direct access to the value + */ + public AppointmentRecurrenceTemplateComponent setOccurrenceCountElement(PositiveIntType value) { + this.occurrenceCount = value; + return this; + } + + /** + * @return How many appointments are planned in the recurrence. + */ + public int getOccurrenceCount() { + return this.occurrenceCount == null || this.occurrenceCount.isEmpty() ? 0 : this.occurrenceCount.getValue(); + } + + /** + * @param value How many appointments are planned in the recurrence. + */ + public AppointmentRecurrenceTemplateComponent setOccurrenceCount(int value) { + if (this.occurrenceCount == null) + this.occurrenceCount = new PositiveIntType(); + this.occurrenceCount.setValue(value); + return this; + } + + /** + * @return {@link #occurrenceDate} (The list of specific dates that will have appointments generated.) + */ + public List getOccurrenceDate() { + if (this.occurrenceDate == null) + this.occurrenceDate = new ArrayList(); + return this.occurrenceDate; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public AppointmentRecurrenceTemplateComponent setOccurrenceDate(List theOccurrenceDate) { + this.occurrenceDate = theOccurrenceDate; + return this; + } + + public boolean hasOccurrenceDate() { + if (this.occurrenceDate == null) + return false; + for (DateType item : this.occurrenceDate) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #occurrenceDate} (The list of specific dates that will have appointments generated.) + */ + public DateType addOccurrenceDateElement() {//2 + DateType t = new DateType(); + if (this.occurrenceDate == null) + this.occurrenceDate = new ArrayList(); + this.occurrenceDate.add(t); + return t; + } + + /** + * @param value {@link #occurrenceDate} (The list of specific dates that will have appointments generated.) + */ + public AppointmentRecurrenceTemplateComponent addOccurrenceDate(Date value) { //1 + DateType t = new DateType(); + t.setValue(value); + if (this.occurrenceDate == null) + this.occurrenceDate = new ArrayList(); + this.occurrenceDate.add(t); + return this; + } + + /** + * @param value {@link #occurrenceDate} (The list of specific dates that will have appointments generated.) + */ + public boolean hasOccurrenceDate(Date value) { + if (this.occurrenceDate == null) + return false; + for (DateType v : this.occurrenceDate) + if (v.getValue().equals(value)) // date + return true; + return false; + } + + /** + * @return {@link #weeklyTemplate} (Information about weekly recurring appointments.) + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent getWeeklyTemplate() { + if (this.weeklyTemplate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.weeklyTemplate"); + else if (Configuration.doAutoCreate()) + this.weeklyTemplate = new AppointmentRecurrenceTemplateWeeklyTemplateComponent(); // cc + return this.weeklyTemplate; + } + + public boolean hasWeeklyTemplate() { + return this.weeklyTemplate != null && !this.weeklyTemplate.isEmpty(); + } + + /** + * @param value {@link #weeklyTemplate} (Information about weekly recurring appointments.) + */ + public AppointmentRecurrenceTemplateComponent setWeeklyTemplate(AppointmentRecurrenceTemplateWeeklyTemplateComponent value) { + this.weeklyTemplate = value; + return this; + } + + /** + * @return {@link #monthlyTemplate} (Information about monthly recurring appointments.) + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent getMonthlyTemplate() { + if (this.monthlyTemplate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.monthlyTemplate"); + else if (Configuration.doAutoCreate()) + this.monthlyTemplate = new AppointmentRecurrenceTemplateMonthlyTemplateComponent(); // cc + return this.monthlyTemplate; + } + + public boolean hasMonthlyTemplate() { + return this.monthlyTemplate != null && !this.monthlyTemplate.isEmpty(); + } + + /** + * @param value {@link #monthlyTemplate} (Information about monthly recurring appointments.) + */ + public AppointmentRecurrenceTemplateComponent setMonthlyTemplate(AppointmentRecurrenceTemplateMonthlyTemplateComponent value) { + this.monthlyTemplate = value; + return this; + } + + /** + * @return {@link #yearlyTemplate} (Information about yearly recurring appointments.) + */ + public AppointmentRecurrenceTemplateYearlyTemplateComponent getYearlyTemplate() { + if (this.yearlyTemplate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateComponent.yearlyTemplate"); + else if (Configuration.doAutoCreate()) + this.yearlyTemplate = new AppointmentRecurrenceTemplateYearlyTemplateComponent(); // cc + return this.yearlyTemplate; + } + + public boolean hasYearlyTemplate() { + return this.yearlyTemplate != null && !this.yearlyTemplate.isEmpty(); + } + + /** + * @param value {@link #yearlyTemplate} (Information about yearly recurring appointments.) + */ + public AppointmentRecurrenceTemplateComponent setYearlyTemplate(AppointmentRecurrenceTemplateYearlyTemplateComponent value) { + this.yearlyTemplate = value; + return this; + } + + /** + * @return {@link #excludingDate} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public List getExcludingDate() { + if (this.excludingDate == null) + this.excludingDate = new ArrayList(); + return this.excludingDate; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public AppointmentRecurrenceTemplateComponent setExcludingDate(List theExcludingDate) { + this.excludingDate = theExcludingDate; + return this; + } + + public boolean hasExcludingDate() { + if (this.excludingDate == null) + return false; + for (DateType item : this.excludingDate) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #excludingDate} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public DateType addExcludingDateElement() {//2 + DateType t = new DateType(); + if (this.excludingDate == null) + this.excludingDate = new ArrayList(); + this.excludingDate.add(t); + return t; + } + + /** + * @param value {@link #excludingDate} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public AppointmentRecurrenceTemplateComponent addExcludingDate(Date value) { //1 + DateType t = new DateType(); + t.setValue(value); + if (this.excludingDate == null) + this.excludingDate = new ArrayList(); + this.excludingDate.add(t); + return this; + } + + /** + * @param value {@link #excludingDate} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public boolean hasExcludingDate(Date value) { + if (this.excludingDate == null) + return false; + for (DateType v : this.excludingDate) + if (v.getValue().equals(value)) // date + return true; + return false; + } + + /** + * @return {@link #excludingRecurrenceId} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public List getExcludingRecurrenceId() { + if (this.excludingRecurrenceId == null) + this.excludingRecurrenceId = new ArrayList(); + return this.excludingRecurrenceId; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public AppointmentRecurrenceTemplateComponent setExcludingRecurrenceId(List theExcludingRecurrenceId) { + this.excludingRecurrenceId = theExcludingRecurrenceId; + return this; + } + + public boolean hasExcludingRecurrenceId() { + if (this.excludingRecurrenceId == null) + return false; + for (PositiveIntType item : this.excludingRecurrenceId) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #excludingRecurrenceId} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public PositiveIntType addExcludingRecurrenceIdElement() {//2 + PositiveIntType t = new PositiveIntType(); + if (this.excludingRecurrenceId == null) + this.excludingRecurrenceId = new ArrayList(); + this.excludingRecurrenceId.add(t); + return t; + } + + /** + * @param value {@link #excludingRecurrenceId} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public AppointmentRecurrenceTemplateComponent addExcludingRecurrenceId(int value) { //1 + PositiveIntType t = new PositiveIntType(); + t.setValue(value); + if (this.excludingRecurrenceId == null) + this.excludingRecurrenceId = new ArrayList(); + this.excludingRecurrenceId.add(t); + return this; + } + + /** + * @param value {@link #excludingRecurrenceId} (Any dates, such as holidays, that should be excluded from the recurrence.) + */ + public boolean hasExcludingRecurrenceId(int value) { + if (this.excludingRecurrenceId == null) + return false; + for (PositiveIntType v : this.excludingRecurrenceId) + if (v.getValue().equals(value)) // positiveInt + return true; + return false; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("timezone", "CodeableConcept", "The timezone of the recurring appointment occurrences.", 0, 1, timezone)); + children.add(new Property("recurrenceType", "CodeableConcept", "How often the appointment series should recur.", 0, 1, recurrenceType)); + children.add(new Property("lastOccurrenceDate", "date", "Recurring appointments will not occur after this date.", 0, 1, lastOccurrenceDate)); + children.add(new Property("occurrenceCount", "positiveInt", "How many appointments are planned in the recurrence.", 0, 1, occurrenceCount)); + children.add(new Property("occurrenceDate", "date", "The list of specific dates that will have appointments generated.", 0, java.lang.Integer.MAX_VALUE, occurrenceDate)); + children.add(new Property("weeklyTemplate", "", "Information about weekly recurring appointments.", 0, 1, weeklyTemplate)); + children.add(new Property("monthlyTemplate", "", "Information about monthly recurring appointments.", 0, 1, monthlyTemplate)); + children.add(new Property("yearlyTemplate", "", "Information about yearly recurring appointments.", 0, 1, yearlyTemplate)); + children.add(new Property("excludingDate", "date", "Any dates, such as holidays, that should be excluded from the recurrence.", 0, java.lang.Integer.MAX_VALUE, excludingDate)); + children.add(new Property("excludingRecurrenceId", "positiveInt", "Any dates, such as holidays, that should be excluded from the recurrence.", 0, java.lang.Integer.MAX_VALUE, excludingRecurrenceId)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -2076227591: /*timezone*/ return new Property("timezone", "CodeableConcept", "The timezone of the recurring appointment occurrences.", 0, 1, timezone); + case -381221238: /*recurrenceType*/ return new Property("recurrenceType", "CodeableConcept", "How often the appointment series should recur.", 0, 1, recurrenceType); + case -1262346923: /*lastOccurrenceDate*/ return new Property("lastOccurrenceDate", "date", "Recurring appointments will not occur after this date.", 0, 1, lastOccurrenceDate); + case 1834480062: /*occurrenceCount*/ return new Property("occurrenceCount", "positiveInt", "How many appointments are planned in the recurrence.", 0, 1, occurrenceCount); + case 1721761055: /*occurrenceDate*/ return new Property("occurrenceDate", "date", "The list of specific dates that will have appointments generated.", 0, java.lang.Integer.MAX_VALUE, occurrenceDate); + case 887136283: /*weeklyTemplate*/ return new Property("weeklyTemplate", "", "Information about weekly recurring appointments.", 0, 1, weeklyTemplate); + case 2142528423: /*monthlyTemplate*/ return new Property("monthlyTemplate", "", "Information about monthly recurring appointments.", 0, 1, monthlyTemplate); + case -334069468: /*yearlyTemplate*/ return new Property("yearlyTemplate", "", "Information about yearly recurring appointments.", 0, 1, yearlyTemplate); + case 596601957: /*excludingDate*/ return new Property("excludingDate", "date", "Any dates, such as holidays, that should be excluded from the recurrence.", 0, java.lang.Integer.MAX_VALUE, excludingDate); + case -797577694: /*excludingRecurrenceId*/ return new Property("excludingRecurrenceId", "positiveInt", "Any dates, such as holidays, that should be excluded from the recurrence.", 0, java.lang.Integer.MAX_VALUE, excludingRecurrenceId); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -2076227591: /*timezone*/ return this.timezone == null ? new Base[0] : new Base[] {this.timezone}; // CodeableConcept + case -381221238: /*recurrenceType*/ return this.recurrenceType == null ? new Base[0] : new Base[] {this.recurrenceType}; // CodeableConcept + case -1262346923: /*lastOccurrenceDate*/ return this.lastOccurrenceDate == null ? new Base[0] : new Base[] {this.lastOccurrenceDate}; // DateType + case 1834480062: /*occurrenceCount*/ return this.occurrenceCount == null ? new Base[0] : new Base[] {this.occurrenceCount}; // PositiveIntType + case 1721761055: /*occurrenceDate*/ return this.occurrenceDate == null ? new Base[0] : this.occurrenceDate.toArray(new Base[this.occurrenceDate.size()]); // DateType + case 887136283: /*weeklyTemplate*/ return this.weeklyTemplate == null ? new Base[0] : new Base[] {this.weeklyTemplate}; // AppointmentRecurrenceTemplateWeeklyTemplateComponent + case 2142528423: /*monthlyTemplate*/ return this.monthlyTemplate == null ? new Base[0] : new Base[] {this.monthlyTemplate}; // AppointmentRecurrenceTemplateMonthlyTemplateComponent + case -334069468: /*yearlyTemplate*/ return this.yearlyTemplate == null ? new Base[0] : new Base[] {this.yearlyTemplate}; // AppointmentRecurrenceTemplateYearlyTemplateComponent + case 596601957: /*excludingDate*/ return this.excludingDate == null ? new Base[0] : this.excludingDate.toArray(new Base[this.excludingDate.size()]); // DateType + case -797577694: /*excludingRecurrenceId*/ return this.excludingRecurrenceId == null ? new Base[0] : this.excludingRecurrenceId.toArray(new Base[this.excludingRecurrenceId.size()]); // PositiveIntType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -2076227591: // timezone + this.timezone = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -381221238: // recurrenceType + this.recurrenceType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1262346923: // lastOccurrenceDate + this.lastOccurrenceDate = TypeConvertor.castToDate(value); // DateType + return value; + case 1834480062: // occurrenceCount + this.occurrenceCount = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + case 1721761055: // occurrenceDate + this.getOccurrenceDate().add(TypeConvertor.castToDate(value)); // DateType + return value; + case 887136283: // weeklyTemplate + this.weeklyTemplate = (AppointmentRecurrenceTemplateWeeklyTemplateComponent) value; // AppointmentRecurrenceTemplateWeeklyTemplateComponent + return value; + case 2142528423: // monthlyTemplate + this.monthlyTemplate = (AppointmentRecurrenceTemplateMonthlyTemplateComponent) value; // AppointmentRecurrenceTemplateMonthlyTemplateComponent + return value; + case -334069468: // yearlyTemplate + this.yearlyTemplate = (AppointmentRecurrenceTemplateYearlyTemplateComponent) value; // AppointmentRecurrenceTemplateYearlyTemplateComponent + return value; + case 596601957: // excludingDate + this.getExcludingDate().add(TypeConvertor.castToDate(value)); // DateType + return value; + case -797577694: // excludingRecurrenceId + this.getExcludingRecurrenceId().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("timezone")) { + this.timezone = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("recurrenceType")) { + this.recurrenceType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("lastOccurrenceDate")) { + this.lastOccurrenceDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("occurrenceCount")) { + this.occurrenceCount = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else if (name.equals("occurrenceDate")) { + this.getOccurrenceDate().add(TypeConvertor.castToDate(value)); + } else if (name.equals("weeklyTemplate")) { + this.weeklyTemplate = (AppointmentRecurrenceTemplateWeeklyTemplateComponent) value; // AppointmentRecurrenceTemplateWeeklyTemplateComponent + } else if (name.equals("monthlyTemplate")) { + this.monthlyTemplate = (AppointmentRecurrenceTemplateMonthlyTemplateComponent) value; // AppointmentRecurrenceTemplateMonthlyTemplateComponent + } else if (name.equals("yearlyTemplate")) { + this.yearlyTemplate = (AppointmentRecurrenceTemplateYearlyTemplateComponent) value; // AppointmentRecurrenceTemplateYearlyTemplateComponent + } else if (name.equals("excludingDate")) { + this.getExcludingDate().add(TypeConvertor.castToDate(value)); + } else if (name.equals("excludingRecurrenceId")) { + this.getExcludingRecurrenceId().add(TypeConvertor.castToPositiveInt(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -2076227591: return getTimezone(); + case -381221238: return getRecurrenceType(); + case -1262346923: return getLastOccurrenceDateElement(); + case 1834480062: return getOccurrenceCountElement(); + case 1721761055: return addOccurrenceDateElement(); + case 887136283: return getWeeklyTemplate(); + case 2142528423: return getMonthlyTemplate(); + case -334069468: return getYearlyTemplate(); + case 596601957: return addExcludingDateElement(); + case -797577694: return addExcludingRecurrenceIdElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -2076227591: /*timezone*/ return new String[] {"CodeableConcept"}; + case -381221238: /*recurrenceType*/ return new String[] {"CodeableConcept"}; + case -1262346923: /*lastOccurrenceDate*/ return new String[] {"date"}; + case 1834480062: /*occurrenceCount*/ return new String[] {"positiveInt"}; + case 1721761055: /*occurrenceDate*/ return new String[] {"date"}; + case 887136283: /*weeklyTemplate*/ return new String[] {}; + case 2142528423: /*monthlyTemplate*/ return new String[] {}; + case -334069468: /*yearlyTemplate*/ return new String[] {}; + case 596601957: /*excludingDate*/ return new String[] {"date"}; + case -797577694: /*excludingRecurrenceId*/ return new String[] {"positiveInt"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("timezone")) { + this.timezone = new CodeableConcept(); + return this.timezone; + } + else if (name.equals("recurrenceType")) { + this.recurrenceType = new CodeableConcept(); + return this.recurrenceType; + } + else if (name.equals("lastOccurrenceDate")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.lastOccurrenceDate"); + } + else if (name.equals("occurrenceCount")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.occurrenceCount"); + } + else if (name.equals("occurrenceDate")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.occurrenceDate"); + } + else if (name.equals("weeklyTemplate")) { + this.weeklyTemplate = new AppointmentRecurrenceTemplateWeeklyTemplateComponent(); + return this.weeklyTemplate; + } + else if (name.equals("monthlyTemplate")) { + this.monthlyTemplate = new AppointmentRecurrenceTemplateMonthlyTemplateComponent(); + return this.monthlyTemplate; + } + else if (name.equals("yearlyTemplate")) { + this.yearlyTemplate = new AppointmentRecurrenceTemplateYearlyTemplateComponent(); + return this.yearlyTemplate; + } + else if (name.equals("excludingDate")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.excludingDate"); + } + else if (name.equals("excludingRecurrenceId")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.excludingRecurrenceId"); + } + else + return super.addChild(name); + } + + public AppointmentRecurrenceTemplateComponent copy() { + AppointmentRecurrenceTemplateComponent dst = new AppointmentRecurrenceTemplateComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AppointmentRecurrenceTemplateComponent dst) { + super.copyValues(dst); + dst.timezone = timezone == null ? null : timezone.copy(); + dst.recurrenceType = recurrenceType == null ? null : recurrenceType.copy(); + dst.lastOccurrenceDate = lastOccurrenceDate == null ? null : lastOccurrenceDate.copy(); + dst.occurrenceCount = occurrenceCount == null ? null : occurrenceCount.copy(); + if (occurrenceDate != null) { + dst.occurrenceDate = new ArrayList(); + for (DateType i : occurrenceDate) + dst.occurrenceDate.add(i.copy()); + }; + dst.weeklyTemplate = weeklyTemplate == null ? null : weeklyTemplate.copy(); + dst.monthlyTemplate = monthlyTemplate == null ? null : monthlyTemplate.copy(); + dst.yearlyTemplate = yearlyTemplate == null ? null : yearlyTemplate.copy(); + if (excludingDate != null) { + dst.excludingDate = new ArrayList(); + for (DateType i : excludingDate) + dst.excludingDate.add(i.copy()); + }; + if (excludingRecurrenceId != null) { + dst.excludingRecurrenceId = new ArrayList(); + for (PositiveIntType i : excludingRecurrenceId) + dst.excludingRecurrenceId.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateComponent)) + return false; + AppointmentRecurrenceTemplateComponent o = (AppointmentRecurrenceTemplateComponent) other_; + return compareDeep(timezone, o.timezone, true) && compareDeep(recurrenceType, o.recurrenceType, true) + && compareDeep(lastOccurrenceDate, o.lastOccurrenceDate, true) && compareDeep(occurrenceCount, o.occurrenceCount, true) + && compareDeep(occurrenceDate, o.occurrenceDate, true) && compareDeep(weeklyTemplate, o.weeklyTemplate, true) + && compareDeep(monthlyTemplate, o.monthlyTemplate, true) && compareDeep(yearlyTemplate, o.yearlyTemplate, true) + && compareDeep(excludingDate, o.excludingDate, true) && compareDeep(excludingRecurrenceId, o.excludingRecurrenceId, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateComponent)) + return false; + AppointmentRecurrenceTemplateComponent o = (AppointmentRecurrenceTemplateComponent) other_; + return compareValues(lastOccurrenceDate, o.lastOccurrenceDate, true) && compareValues(occurrenceCount, o.occurrenceCount, true) + && compareValues(occurrenceDate, o.occurrenceDate, true) && compareValues(excludingDate, o.excludingDate, true) + && compareValues(excludingRecurrenceId, o.excludingRecurrenceId, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(timezone, recurrenceType, lastOccurrenceDate + , occurrenceCount, occurrenceDate, weeklyTemplate, monthlyTemplate, yearlyTemplate + , excludingDate, excludingRecurrenceId); + } + + public String fhirType() { + return "Appointment.recurrenceTemplate"; + + } + + } + + @Block() + public static class AppointmentRecurrenceTemplateWeeklyTemplateComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Indicates that recurring appointments should occur on Mondays. + */ + @Child(name = "monday", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Mondays", formalDefinition="Indicates that recurring appointments should occur on Mondays." ) + protected BooleanType monday; + + /** + * Indicates that recurring appointments should occur on Tuesdays. + */ + @Child(name = "tuesday", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Tuesday", formalDefinition="Indicates that recurring appointments should occur on Tuesdays." ) + protected BooleanType tuesday; + + /** + * Indicates that recurring appointments should occur on Wednesdays. + */ + @Child(name = "wednesday", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Wednesday", formalDefinition="Indicates that recurring appointments should occur on Wednesdays." ) + protected BooleanType wednesday; + + /** + * Indicates that recurring appointments should occur on Thursdays. + */ + @Child(name = "thursday", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Thursday", formalDefinition="Indicates that recurring appointments should occur on Thursdays." ) + protected BooleanType thursday; + + /** + * Indicates that recurring appointments should occur on Fridays. + */ + @Child(name = "friday", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Friday", formalDefinition="Indicates that recurring appointments should occur on Fridays." ) + protected BooleanType friday; + + /** + * Indicates that recurring appointments should occur on Saturdays. + */ + @Child(name = "saturday", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Saturday", formalDefinition="Indicates that recurring appointments should occur on Saturdays." ) + protected BooleanType saturday; + + /** + * Indicates that recurring appointments should occur on Sundays. + */ + @Child(name = "sunday", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on Sunday", formalDefinition="Indicates that recurring appointments should occur on Sundays." ) + protected BooleanType sunday; + + /** + * The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3. + */ + @Child(name = "weekInterval", type = {PositiveIntType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs every nth week", formalDefinition="The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.\r\re.g. For recurring every second week this interval would be 2, or every third week the interval would be 3." ) + protected PositiveIntType weekInterval; + + private static final long serialVersionUID = 588795188L; + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent() { + super(); + } + + /** + * @return {@link #monday} (Indicates that recurring appointments should occur on Mondays.). This is the underlying object with id, value and extensions. The accessor "getMonday" gives direct access to the value + */ + public BooleanType getMondayElement() { + if (this.monday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.monday"); + else if (Configuration.doAutoCreate()) + this.monday = new BooleanType(); // bb + return this.monday; + } + + public boolean hasMondayElement() { + return this.monday != null && !this.monday.isEmpty(); + } + + public boolean hasMonday() { + return this.monday != null && !this.monday.isEmpty(); + } + + /** + * @param value {@link #monday} (Indicates that recurring appointments should occur on Mondays.). This is the underlying object with id, value and extensions. The accessor "getMonday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setMondayElement(BooleanType value) { + this.monday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Mondays. + */ + public boolean getMonday() { + return this.monday == null || this.monday.isEmpty() ? false : this.monday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Mondays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setMonday(boolean value) { + if (this.monday == null) + this.monday = new BooleanType(); + this.monday.setValue(value); + return this; + } + + /** + * @return {@link #tuesday} (Indicates that recurring appointments should occur on Tuesdays.). This is the underlying object with id, value and extensions. The accessor "getTuesday" gives direct access to the value + */ + public BooleanType getTuesdayElement() { + if (this.tuesday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.tuesday"); + else if (Configuration.doAutoCreate()) + this.tuesday = new BooleanType(); // bb + return this.tuesday; + } + + public boolean hasTuesdayElement() { + return this.tuesday != null && !this.tuesday.isEmpty(); + } + + public boolean hasTuesday() { + return this.tuesday != null && !this.tuesday.isEmpty(); + } + + /** + * @param value {@link #tuesday} (Indicates that recurring appointments should occur on Tuesdays.). This is the underlying object with id, value and extensions. The accessor "getTuesday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setTuesdayElement(BooleanType value) { + this.tuesday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Tuesdays. + */ + public boolean getTuesday() { + return this.tuesday == null || this.tuesday.isEmpty() ? false : this.tuesday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Tuesdays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setTuesday(boolean value) { + if (this.tuesday == null) + this.tuesday = new BooleanType(); + this.tuesday.setValue(value); + return this; + } + + /** + * @return {@link #wednesday} (Indicates that recurring appointments should occur on Wednesdays.). This is the underlying object with id, value and extensions. The accessor "getWednesday" gives direct access to the value + */ + public BooleanType getWednesdayElement() { + if (this.wednesday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.wednesday"); + else if (Configuration.doAutoCreate()) + this.wednesday = new BooleanType(); // bb + return this.wednesday; + } + + public boolean hasWednesdayElement() { + return this.wednesday != null && !this.wednesday.isEmpty(); + } + + public boolean hasWednesday() { + return this.wednesday != null && !this.wednesday.isEmpty(); + } + + /** + * @param value {@link #wednesday} (Indicates that recurring appointments should occur on Wednesdays.). This is the underlying object with id, value and extensions. The accessor "getWednesday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setWednesdayElement(BooleanType value) { + this.wednesday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Wednesdays. + */ + public boolean getWednesday() { + return this.wednesday == null || this.wednesday.isEmpty() ? false : this.wednesday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Wednesdays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setWednesday(boolean value) { + if (this.wednesday == null) + this.wednesday = new BooleanType(); + this.wednesday.setValue(value); + return this; + } + + /** + * @return {@link #thursday} (Indicates that recurring appointments should occur on Thursdays.). This is the underlying object with id, value and extensions. The accessor "getThursday" gives direct access to the value + */ + public BooleanType getThursdayElement() { + if (this.thursday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.thursday"); + else if (Configuration.doAutoCreate()) + this.thursday = new BooleanType(); // bb + return this.thursday; + } + + public boolean hasThursdayElement() { + return this.thursday != null && !this.thursday.isEmpty(); + } + + public boolean hasThursday() { + return this.thursday != null && !this.thursday.isEmpty(); + } + + /** + * @param value {@link #thursday} (Indicates that recurring appointments should occur on Thursdays.). This is the underlying object with id, value and extensions. The accessor "getThursday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setThursdayElement(BooleanType value) { + this.thursday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Thursdays. + */ + public boolean getThursday() { + return this.thursday == null || this.thursday.isEmpty() ? false : this.thursday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Thursdays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setThursday(boolean value) { + if (this.thursday == null) + this.thursday = new BooleanType(); + this.thursday.setValue(value); + return this; + } + + /** + * @return {@link #friday} (Indicates that recurring appointments should occur on Fridays.). This is the underlying object with id, value and extensions. The accessor "getFriday" gives direct access to the value + */ + public BooleanType getFridayElement() { + if (this.friday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.friday"); + else if (Configuration.doAutoCreate()) + this.friday = new BooleanType(); // bb + return this.friday; + } + + public boolean hasFridayElement() { + return this.friday != null && !this.friday.isEmpty(); + } + + public boolean hasFriday() { + return this.friday != null && !this.friday.isEmpty(); + } + + /** + * @param value {@link #friday} (Indicates that recurring appointments should occur on Fridays.). This is the underlying object with id, value and extensions. The accessor "getFriday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setFridayElement(BooleanType value) { + this.friday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Fridays. + */ + public boolean getFriday() { + return this.friday == null || this.friday.isEmpty() ? false : this.friday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Fridays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setFriday(boolean value) { + if (this.friday == null) + this.friday = new BooleanType(); + this.friday.setValue(value); + return this; + } + + /** + * @return {@link #saturday} (Indicates that recurring appointments should occur on Saturdays.). This is the underlying object with id, value and extensions. The accessor "getSaturday" gives direct access to the value + */ + public BooleanType getSaturdayElement() { + if (this.saturday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.saturday"); + else if (Configuration.doAutoCreate()) + this.saturday = new BooleanType(); // bb + return this.saturday; + } + + public boolean hasSaturdayElement() { + return this.saturday != null && !this.saturday.isEmpty(); + } + + public boolean hasSaturday() { + return this.saturday != null && !this.saturday.isEmpty(); + } + + /** + * @param value {@link #saturday} (Indicates that recurring appointments should occur on Saturdays.). This is the underlying object with id, value and extensions. The accessor "getSaturday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setSaturdayElement(BooleanType value) { + this.saturday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Saturdays. + */ + public boolean getSaturday() { + return this.saturday == null || this.saturday.isEmpty() ? false : this.saturday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Saturdays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setSaturday(boolean value) { + if (this.saturday == null) + this.saturday = new BooleanType(); + this.saturday.setValue(value); + return this; + } + + /** + * @return {@link #sunday} (Indicates that recurring appointments should occur on Sundays.). This is the underlying object with id, value and extensions. The accessor "getSunday" gives direct access to the value + */ + public BooleanType getSundayElement() { + if (this.sunday == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.sunday"); + else if (Configuration.doAutoCreate()) + this.sunday = new BooleanType(); // bb + return this.sunday; + } + + public boolean hasSundayElement() { + return this.sunday != null && !this.sunday.isEmpty(); + } + + public boolean hasSunday() { + return this.sunday != null && !this.sunday.isEmpty(); + } + + /** + * @param value {@link #sunday} (Indicates that recurring appointments should occur on Sundays.). This is the underlying object with id, value and extensions. The accessor "getSunday" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setSundayElement(BooleanType value) { + this.sunday = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur on Sundays. + */ + public boolean getSunday() { + return this.sunday == null || this.sunday.isEmpty() ? false : this.sunday.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur on Sundays. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setSunday(boolean value) { + if (this.sunday == null) + this.sunday = new BooleanType(); + this.sunday.setValue(value); + return this; + } + + /** + * @return {@link #weekInterval} (The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.). This is the underlying object with id, value and extensions. The accessor "getWeekInterval" gives direct access to the value + */ + public PositiveIntType getWeekIntervalElement() { + if (this.weekInterval == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateWeeklyTemplateComponent.weekInterval"); + else if (Configuration.doAutoCreate()) + this.weekInterval = new PositiveIntType(); // bb + return this.weekInterval; + } + + public boolean hasWeekIntervalElement() { + return this.weekInterval != null && !this.weekInterval.isEmpty(); + } + + public boolean hasWeekInterval() { + return this.weekInterval != null && !this.weekInterval.isEmpty(); + } + + /** + * @param value {@link #weekInterval} (The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.). This is the underlying object with id, value and extensions. The accessor "getWeekInterval" gives direct access to the value + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setWeekIntervalElement(PositiveIntType value) { + this.weekInterval = value; + return this; + } + + /** + * @return The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3. + */ + public int getWeekInterval() { + return this.weekInterval == null || this.weekInterval.isEmpty() ? 0 : this.weekInterval.getValue(); + } + + /** + * @param value The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more. e.g. For recurring every second week this interval would be 2, or every third week the interval would be 3. + */ + public AppointmentRecurrenceTemplateWeeklyTemplateComponent setWeekInterval(int value) { + if (this.weekInterval == null) + this.weekInterval = new PositiveIntType(); + this.weekInterval.setValue(value); + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("monday", "boolean", "Indicates that recurring appointments should occur on Mondays.", 0, 1, monday)); + children.add(new Property("tuesday", "boolean", "Indicates that recurring appointments should occur on Tuesdays.", 0, 1, tuesday)); + children.add(new Property("wednesday", "boolean", "Indicates that recurring appointments should occur on Wednesdays.", 0, 1, wednesday)); + children.add(new Property("thursday", "boolean", "Indicates that recurring appointments should occur on Thursdays.", 0, 1, thursday)); + children.add(new Property("friday", "boolean", "Indicates that recurring appointments should occur on Fridays.", 0, 1, friday)); + children.add(new Property("saturday", "boolean", "Indicates that recurring appointments should occur on Saturdays.", 0, 1, saturday)); + children.add(new Property("sunday", "boolean", "Indicates that recurring appointments should occur on Sundays.", 0, 1, sunday)); + children.add(new Property("weekInterval", "positiveInt", "The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.\r\re.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.", 0, 1, weekInterval)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1068502768: /*monday*/ return new Property("monday", "boolean", "Indicates that recurring appointments should occur on Mondays.", 0, 1, monday); + case -977343923: /*tuesday*/ return new Property("tuesday", "boolean", "Indicates that recurring appointments should occur on Tuesdays.", 0, 1, tuesday); + case 1393530710: /*wednesday*/ return new Property("wednesday", "boolean", "Indicates that recurring appointments should occur on Wednesdays.", 0, 1, wednesday); + case 1572055514: /*thursday*/ return new Property("thursday", "boolean", "Indicates that recurring appointments should occur on Thursdays.", 0, 1, thursday); + case -1266285217: /*friday*/ return new Property("friday", "boolean", "Indicates that recurring appointments should occur on Fridays.", 0, 1, friday); + case -2114201671: /*saturday*/ return new Property("saturday", "boolean", "Indicates that recurring appointments should occur on Saturdays.", 0, 1, saturday); + case -891186736: /*sunday*/ return new Property("sunday", "boolean", "Indicates that recurring appointments should occur on Sundays.", 0, 1, sunday); + case -784550695: /*weekInterval*/ return new Property("weekInterval", "positiveInt", "The interval defines if the recurrence is every nth week. The default is every week, so it is expected that this value will be 2 or more.\r\re.g. For recurring every second week this interval would be 2, or every third week the interval would be 3.", 0, 1, weekInterval); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1068502768: /*monday*/ return this.monday == null ? new Base[0] : new Base[] {this.monday}; // BooleanType + case -977343923: /*tuesday*/ return this.tuesday == null ? new Base[0] : new Base[] {this.tuesday}; // BooleanType + case 1393530710: /*wednesday*/ return this.wednesday == null ? new Base[0] : new Base[] {this.wednesday}; // BooleanType + case 1572055514: /*thursday*/ return this.thursday == null ? new Base[0] : new Base[] {this.thursday}; // BooleanType + case -1266285217: /*friday*/ return this.friday == null ? new Base[0] : new Base[] {this.friday}; // BooleanType + case -2114201671: /*saturday*/ return this.saturday == null ? new Base[0] : new Base[] {this.saturday}; // BooleanType + case -891186736: /*sunday*/ return this.sunday == null ? new Base[0] : new Base[] {this.sunday}; // BooleanType + case -784550695: /*weekInterval*/ return this.weekInterval == null ? new Base[0] : new Base[] {this.weekInterval}; // PositiveIntType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1068502768: // monday + this.monday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -977343923: // tuesday + this.tuesday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case 1393530710: // wednesday + this.wednesday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case 1572055514: // thursday + this.thursday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -1266285217: // friday + this.friday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -2114201671: // saturday + this.saturday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -891186736: // sunday + this.sunday = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -784550695: // weekInterval + this.weekInterval = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("monday")) { + this.monday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("tuesday")) { + this.tuesday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("wednesday")) { + this.wednesday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("thursday")) { + this.thursday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("friday")) { + this.friday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("saturday")) { + this.saturday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("sunday")) { + this.sunday = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("weekInterval")) { + this.weekInterval = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1068502768: return getMondayElement(); + case -977343923: return getTuesdayElement(); + case 1393530710: return getWednesdayElement(); + case 1572055514: return getThursdayElement(); + case -1266285217: return getFridayElement(); + case -2114201671: return getSaturdayElement(); + case -891186736: return getSundayElement(); + case -784550695: return getWeekIntervalElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1068502768: /*monday*/ return new String[] {"boolean"}; + case -977343923: /*tuesday*/ return new String[] {"boolean"}; + case 1393530710: /*wednesday*/ return new String[] {"boolean"}; + case 1572055514: /*thursday*/ return new String[] {"boolean"}; + case -1266285217: /*friday*/ return new String[] {"boolean"}; + case -2114201671: /*saturday*/ return new String[] {"boolean"}; + case -891186736: /*sunday*/ return new String[] {"boolean"}; + case -784550695: /*weekInterval*/ return new String[] {"positiveInt"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("monday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.monday"); + } + else if (name.equals("tuesday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.tuesday"); + } + else if (name.equals("wednesday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.wednesday"); + } + else if (name.equals("thursday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.thursday"); + } + else if (name.equals("friday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.friday"); + } + else if (name.equals("saturday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.saturday"); + } + else if (name.equals("sunday")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.sunday"); + } + else if (name.equals("weekInterval")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.weeklyTemplate.weekInterval"); + } + else + return super.addChild(name); + } + + public AppointmentRecurrenceTemplateWeeklyTemplateComponent copy() { + AppointmentRecurrenceTemplateWeeklyTemplateComponent dst = new AppointmentRecurrenceTemplateWeeklyTemplateComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AppointmentRecurrenceTemplateWeeklyTemplateComponent dst) { + super.copyValues(dst); + dst.monday = monday == null ? null : monday.copy(); + dst.tuesday = tuesday == null ? null : tuesday.copy(); + dst.wednesday = wednesday == null ? null : wednesday.copy(); + dst.thursday = thursday == null ? null : thursday.copy(); + dst.friday = friday == null ? null : friday.copy(); + dst.saturday = saturday == null ? null : saturday.copy(); + dst.sunday = sunday == null ? null : sunday.copy(); + dst.weekInterval = weekInterval == null ? null : weekInterval.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateWeeklyTemplateComponent)) + return false; + AppointmentRecurrenceTemplateWeeklyTemplateComponent o = (AppointmentRecurrenceTemplateWeeklyTemplateComponent) other_; + return compareDeep(monday, o.monday, true) && compareDeep(tuesday, o.tuesday, true) && compareDeep(wednesday, o.wednesday, true) + && compareDeep(thursday, o.thursday, true) && compareDeep(friday, o.friday, true) && compareDeep(saturday, o.saturday, true) + && compareDeep(sunday, o.sunday, true) && compareDeep(weekInterval, o.weekInterval, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateWeeklyTemplateComponent)) + return false; + AppointmentRecurrenceTemplateWeeklyTemplateComponent o = (AppointmentRecurrenceTemplateWeeklyTemplateComponent) other_; + return compareValues(monday, o.monday, true) && compareValues(tuesday, o.tuesday, true) && compareValues(wednesday, o.wednesday, true) + && compareValues(thursday, o.thursday, true) && compareValues(friday, o.friday, true) && compareValues(saturday, o.saturday, true) + && compareValues(sunday, o.sunday, true) && compareValues(weekInterval, o.weekInterval, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(monday, tuesday, wednesday + , thursday, friday, saturday, sunday, weekInterval); + } + + public String fhirType() { + return "Appointment.recurrenceTemplate.weeklyTemplate"; + + } + + } + + @Block() + public static class AppointmentRecurrenceTemplateMonthlyTemplateComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Indicates that appointments in the series of recurring appointments should occur on a specific day of the month. + */ + @Child(name = "dayOfMonth", type = {PositiveIntType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs on a specific day of the month", formalDefinition="Indicates that appointments in the series of recurring appointments should occur on a specific day of the month." ) + protected PositiveIntType dayOfMonth; + + /** + * Indicates which week within a month the appointments in the series of recurring appointments should occur on. + */ + @Child(name = "nthWeekOfMonth", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Indicates which week of the month the appointment should occur", formalDefinition="Indicates which week within a month the appointments in the series of recurring appointments should occur on." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/week-of-month") + protected Coding nthWeekOfMonth; + + /** + * Indicates which day of the week the recurring appointments should occur each nth week. + */ + @Child(name = "dayOfWeek", type = {Coding.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Indicates which day of the week the appointment should occur", formalDefinition="Indicates which day of the week the recurring appointments should occur each nth week." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/days-of-week") + protected Coding dayOfWeek; + + /** + * Indicates that recurring appointments should occur every nth month. + */ + @Child(name = "monthInterval", type = {PositiveIntType.class}, order=4, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs every nth month", formalDefinition="Indicates that recurring appointments should occur every nth month." ) + protected PositiveIntType monthInterval; + + private static final long serialVersionUID = -1234046272L; + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent() { + super(); + } + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent(int monthInterval) { + super(); + this.setMonthInterval(monthInterval); + } + + /** + * @return {@link #dayOfMonth} (Indicates that appointments in the series of recurring appointments should occur on a specific day of the month.). This is the underlying object with id, value and extensions. The accessor "getDayOfMonth" gives direct access to the value + */ + public PositiveIntType getDayOfMonthElement() { + if (this.dayOfMonth == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateMonthlyTemplateComponent.dayOfMonth"); + else if (Configuration.doAutoCreate()) + this.dayOfMonth = new PositiveIntType(); // bb + return this.dayOfMonth; + } + + public boolean hasDayOfMonthElement() { + return this.dayOfMonth != null && !this.dayOfMonth.isEmpty(); + } + + public boolean hasDayOfMonth() { + return this.dayOfMonth != null && !this.dayOfMonth.isEmpty(); + } + + /** + * @param value {@link #dayOfMonth} (Indicates that appointments in the series of recurring appointments should occur on a specific day of the month.). This is the underlying object with id, value and extensions. The accessor "getDayOfMonth" gives direct access to the value + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent setDayOfMonthElement(PositiveIntType value) { + this.dayOfMonth = value; + return this; + } + + /** + * @return Indicates that appointments in the series of recurring appointments should occur on a specific day of the month. + */ + public int getDayOfMonth() { + return this.dayOfMonth == null || this.dayOfMonth.isEmpty() ? 0 : this.dayOfMonth.getValue(); + } + + /** + * @param value Indicates that appointments in the series of recurring appointments should occur on a specific day of the month. + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent setDayOfMonth(int value) { + if (this.dayOfMonth == null) + this.dayOfMonth = new PositiveIntType(); + this.dayOfMonth.setValue(value); + return this; + } + + /** + * @return {@link #nthWeekOfMonth} (Indicates which week within a month the appointments in the series of recurring appointments should occur on.) + */ + public Coding getNthWeekOfMonth() { + if (this.nthWeekOfMonth == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateMonthlyTemplateComponent.nthWeekOfMonth"); + else if (Configuration.doAutoCreate()) + this.nthWeekOfMonth = new Coding(); // cc + return this.nthWeekOfMonth; + } + + public boolean hasNthWeekOfMonth() { + return this.nthWeekOfMonth != null && !this.nthWeekOfMonth.isEmpty(); + } + + /** + * @param value {@link #nthWeekOfMonth} (Indicates which week within a month the appointments in the series of recurring appointments should occur on.) + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent setNthWeekOfMonth(Coding value) { + this.nthWeekOfMonth = value; + return this; + } + + /** + * @return {@link #dayOfWeek} (Indicates which day of the week the recurring appointments should occur each nth week.) + */ + public Coding getDayOfWeek() { + if (this.dayOfWeek == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateMonthlyTemplateComponent.dayOfWeek"); + else if (Configuration.doAutoCreate()) + this.dayOfWeek = new Coding(); // cc + return this.dayOfWeek; + } + + public boolean hasDayOfWeek() { + return this.dayOfWeek != null && !this.dayOfWeek.isEmpty(); + } + + /** + * @param value {@link #dayOfWeek} (Indicates which day of the week the recurring appointments should occur each nth week.) + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent setDayOfWeek(Coding value) { + this.dayOfWeek = value; + return this; + } + + /** + * @return {@link #monthInterval} (Indicates that recurring appointments should occur every nth month.). This is the underlying object with id, value and extensions. The accessor "getMonthInterval" gives direct access to the value + */ + public PositiveIntType getMonthIntervalElement() { + if (this.monthInterval == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateMonthlyTemplateComponent.monthInterval"); + else if (Configuration.doAutoCreate()) + this.monthInterval = new PositiveIntType(); // bb + return this.monthInterval; + } + + public boolean hasMonthIntervalElement() { + return this.monthInterval != null && !this.monthInterval.isEmpty(); + } + + public boolean hasMonthInterval() { + return this.monthInterval != null && !this.monthInterval.isEmpty(); + } + + /** + * @param value {@link #monthInterval} (Indicates that recurring appointments should occur every nth month.). This is the underlying object with id, value and extensions. The accessor "getMonthInterval" gives direct access to the value + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent setMonthIntervalElement(PositiveIntType value) { + this.monthInterval = value; + return this; + } + + /** + * @return Indicates that recurring appointments should occur every nth month. + */ + public int getMonthInterval() { + return this.monthInterval == null || this.monthInterval.isEmpty() ? 0 : this.monthInterval.getValue(); + } + + /** + * @param value Indicates that recurring appointments should occur every nth month. + */ + public AppointmentRecurrenceTemplateMonthlyTemplateComponent setMonthInterval(int value) { + if (this.monthInterval == null) + this.monthInterval = new PositiveIntType(); + this.monthInterval.setValue(value); + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("dayOfMonth", "positiveInt", "Indicates that appointments in the series of recurring appointments should occur on a specific day of the month.", 0, 1, dayOfMonth)); + children.add(new Property("nthWeekOfMonth", "Coding", "Indicates which week within a month the appointments in the series of recurring appointments should occur on.", 0, 1, nthWeekOfMonth)); + children.add(new Property("dayOfWeek", "Coding", "Indicates which day of the week the recurring appointments should occur each nth week.", 0, 1, dayOfWeek)); + children.add(new Property("monthInterval", "positiveInt", "Indicates that recurring appointments should occur every nth month.", 0, 1, monthInterval)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1181204563: /*dayOfMonth*/ return new Property("dayOfMonth", "positiveInt", "Indicates that appointments in the series of recurring appointments should occur on a specific day of the month.", 0, 1, dayOfMonth); + case 724728723: /*nthWeekOfMonth*/ return new Property("nthWeekOfMonth", "Coding", "Indicates which week within a month the appointments in the series of recurring appointments should occur on.", 0, 1, nthWeekOfMonth); + case -730552025: /*dayOfWeek*/ return new Property("dayOfWeek", "Coding", "Indicates which day of the week the recurring appointments should occur each nth week.", 0, 1, dayOfWeek); + case -251401371: /*monthInterval*/ return new Property("monthInterval", "positiveInt", "Indicates that recurring appointments should occur every nth month.", 0, 1, monthInterval); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1181204563: /*dayOfMonth*/ return this.dayOfMonth == null ? new Base[0] : new Base[] {this.dayOfMonth}; // PositiveIntType + case 724728723: /*nthWeekOfMonth*/ return this.nthWeekOfMonth == null ? new Base[0] : new Base[] {this.nthWeekOfMonth}; // Coding + case -730552025: /*dayOfWeek*/ return this.dayOfWeek == null ? new Base[0] : new Base[] {this.dayOfWeek}; // Coding + case -251401371: /*monthInterval*/ return this.monthInterval == null ? new Base[0] : new Base[] {this.monthInterval}; // PositiveIntType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1181204563: // dayOfMonth + this.dayOfMonth = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + case 724728723: // nthWeekOfMonth + this.nthWeekOfMonth = TypeConvertor.castToCoding(value); // Coding + return value; + case -730552025: // dayOfWeek + this.dayOfWeek = TypeConvertor.castToCoding(value); // Coding + return value; + case -251401371: // monthInterval + this.monthInterval = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("dayOfMonth")) { + this.dayOfMonth = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else if (name.equals("nthWeekOfMonth")) { + this.nthWeekOfMonth = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("dayOfWeek")) { + this.dayOfWeek = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("monthInterval")) { + this.monthInterval = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1181204563: return getDayOfMonthElement(); + case 724728723: return getNthWeekOfMonth(); + case -730552025: return getDayOfWeek(); + case -251401371: return getMonthIntervalElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1181204563: /*dayOfMonth*/ return new String[] {"positiveInt"}; + case 724728723: /*nthWeekOfMonth*/ return new String[] {"Coding"}; + case -730552025: /*dayOfWeek*/ return new String[] {"Coding"}; + case -251401371: /*monthInterval*/ return new String[] {"positiveInt"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("dayOfMonth")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.monthlyTemplate.dayOfMonth"); + } + else if (name.equals("nthWeekOfMonth")) { + this.nthWeekOfMonth = new Coding(); + return this.nthWeekOfMonth; + } + else if (name.equals("dayOfWeek")) { + this.dayOfWeek = new Coding(); + return this.dayOfWeek; + } + else if (name.equals("monthInterval")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.monthlyTemplate.monthInterval"); + } + else + return super.addChild(name); + } + + public AppointmentRecurrenceTemplateMonthlyTemplateComponent copy() { + AppointmentRecurrenceTemplateMonthlyTemplateComponent dst = new AppointmentRecurrenceTemplateMonthlyTemplateComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AppointmentRecurrenceTemplateMonthlyTemplateComponent dst) { + super.copyValues(dst); + dst.dayOfMonth = dayOfMonth == null ? null : dayOfMonth.copy(); + dst.nthWeekOfMonth = nthWeekOfMonth == null ? null : nthWeekOfMonth.copy(); + dst.dayOfWeek = dayOfWeek == null ? null : dayOfWeek.copy(); + dst.monthInterval = monthInterval == null ? null : monthInterval.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateMonthlyTemplateComponent)) + return false; + AppointmentRecurrenceTemplateMonthlyTemplateComponent o = (AppointmentRecurrenceTemplateMonthlyTemplateComponent) other_; + return compareDeep(dayOfMonth, o.dayOfMonth, true) && compareDeep(nthWeekOfMonth, o.nthWeekOfMonth, true) + && compareDeep(dayOfWeek, o.dayOfWeek, true) && compareDeep(monthInterval, o.monthInterval, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateMonthlyTemplateComponent)) + return false; + AppointmentRecurrenceTemplateMonthlyTemplateComponent o = (AppointmentRecurrenceTemplateMonthlyTemplateComponent) other_; + return compareValues(dayOfMonth, o.dayOfMonth, true) && compareValues(monthInterval, o.monthInterval, true) + ; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(dayOfMonth, nthWeekOfMonth + , dayOfWeek, monthInterval); + } + + public String fhirType() { + return "Appointment.recurrenceTemplate.monthlyTemplate"; + + } + + } + + @Block() + public static class AppointmentRecurrenceTemplateYearlyTemplateComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Appointment recurs every nth year. + */ + @Child(name = "yearInterval", type = {PositiveIntType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Recurs every nth year", formalDefinition="Appointment recurs every nth year." ) + protected PositiveIntType yearInterval; + + private static final long serialVersionUID = -120794476L; + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateYearlyTemplateComponent() { + super(); + } + + /** + * Constructor + */ + public AppointmentRecurrenceTemplateYearlyTemplateComponent(int yearInterval) { + super(); + this.setYearInterval(yearInterval); + } + + /** + * @return {@link #yearInterval} (Appointment recurs every nth year.). This is the underlying object with id, value and extensions. The accessor "getYearInterval" gives direct access to the value + */ + public PositiveIntType getYearIntervalElement() { + if (this.yearInterval == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentRecurrenceTemplateYearlyTemplateComponent.yearInterval"); + else if (Configuration.doAutoCreate()) + this.yearInterval = new PositiveIntType(); // bb + return this.yearInterval; + } + + public boolean hasYearIntervalElement() { + return this.yearInterval != null && !this.yearInterval.isEmpty(); + } + + public boolean hasYearInterval() { + return this.yearInterval != null && !this.yearInterval.isEmpty(); + } + + /** + * @param value {@link #yearInterval} (Appointment recurs every nth year.). This is the underlying object with id, value and extensions. The accessor "getYearInterval" gives direct access to the value + */ + public AppointmentRecurrenceTemplateYearlyTemplateComponent setYearIntervalElement(PositiveIntType value) { + this.yearInterval = value; + return this; + } + + /** + * @return Appointment recurs every nth year. + */ + public int getYearInterval() { + return this.yearInterval == null || this.yearInterval.isEmpty() ? 0 : this.yearInterval.getValue(); + } + + /** + * @param value Appointment recurs every nth year. + */ + public AppointmentRecurrenceTemplateYearlyTemplateComponent setYearInterval(int value) { + if (this.yearInterval == null) + this.yearInterval = new PositiveIntType(); + this.yearInterval.setValue(value); + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("yearInterval", "positiveInt", "Appointment recurs every nth year.", 0, 1, yearInterval)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 492389410: /*yearInterval*/ return new Property("yearInterval", "positiveInt", "Appointment recurs every nth year.", 0, 1, yearInterval); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 492389410: /*yearInterval*/ return this.yearInterval == null ? new Base[0] : new Base[] {this.yearInterval}; // PositiveIntType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 492389410: // yearInterval + this.yearInterval = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("yearInterval")) { + this.yearInterval = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 492389410: return getYearIntervalElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 492389410: /*yearInterval*/ return new String[] {"positiveInt"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("yearInterval")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceTemplate.yearlyTemplate.yearInterval"); + } + else + return super.addChild(name); + } + + public AppointmentRecurrenceTemplateYearlyTemplateComponent copy() { + AppointmentRecurrenceTemplateYearlyTemplateComponent dst = new AppointmentRecurrenceTemplateYearlyTemplateComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AppointmentRecurrenceTemplateYearlyTemplateComponent dst) { + super.copyValues(dst); + dst.yearInterval = yearInterval == null ? null : yearInterval.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateYearlyTemplateComponent)) + return false; + AppointmentRecurrenceTemplateYearlyTemplateComponent o = (AppointmentRecurrenceTemplateYearlyTemplateComponent) other_; + return compareDeep(yearInterval, o.yearInterval, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AppointmentRecurrenceTemplateYearlyTemplateComponent)) + return false; + AppointmentRecurrenceTemplateYearlyTemplateComponent o = (AppointmentRecurrenceTemplateYearlyTemplateComponent) other_; + return compareValues(yearInterval, o.yearInterval, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(yearInterval); + } + + public String fhirType() { + return "Appointment.recurrenceTemplate.yearlyTemplate"; + + } + } /** @@ -725,10 +2649,18 @@ public class Appointment extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/appointment-cancellation-reason") protected CodeableConcept cancellationReason; + /** + * Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations. + */ + @Child(name = "class", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Classification when becoming an encounter", formalDefinition="Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/EncounterClass") + protected List class_; + /** * A broad categorization of the service that is to be performed during this appointment. */ - @Child(name = "serviceCategory", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "serviceCategory", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="A broad categorization of the service that is to be performed during this appointment", formalDefinition="A broad categorization of the service that is to be performed during this appointment." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-category") protected List serviceCategory; @@ -736,7 +2668,7 @@ public class Appointment extends DomainResource { /** * The specific service that is to be performed during this appointment. */ - @Child(name = "serviceType", type = {CodeableReference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "serviceType", type = {CodeableReference.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The specific service that is to be performed during this appointment", formalDefinition="The specific service that is to be performed during this appointment." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-type") protected List serviceType; @@ -744,7 +2676,7 @@ public class Appointment extends DomainResource { /** * The specialty of a practitioner that would be required to perform the service requested in this appointment. */ - @Child(name = "specialty", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "specialty", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The specialty of a practitioner that would be required to perform the service requested in this appointment", formalDefinition="The specialty of a practitioner that would be required to perform the service requested in this appointment." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-practice-codes") protected List specialty; @@ -752,7 +2684,7 @@ public class Appointment extends DomainResource { /** * The style of appointment or patient that has been booked in the slot (not service type). */ - @Child(name = "appointmentType", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "appointmentType", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The style of appointment or patient that has been booked in the slot (not service type)", formalDefinition="The style of appointment or patient that has been booked in the slot (not service type)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0276") protected CodeableConcept appointmentType; @@ -760,7 +2692,7 @@ public class Appointment extends DomainResource { /** * The reason that this appointment is being scheduled. This is more clinical than administrative. This can be coded, or as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure. */ - @Child(name = "reason", type = {CodeableReference.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "reason", type = {CodeableReference.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Reason this appointment is scheduled", formalDefinition="The reason that this appointment is being scheduled. This is more clinical than administrative. This can be coded, or as specified using information from another resource. When the patient arrives and the encounter begins it may be used as the admission diagnosis. The indication will typically be a Condition (with other resources referenced in the evidence.detail), or a Procedure." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-reason") protected List reason; @@ -768,7 +2700,7 @@ public class Appointment extends DomainResource { /** * The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority). */ - @Child(name = "priority", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "priority", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Used to make informed decisions if needing to re-prioritize", formalDefinition="The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActPriority") protected CodeableConcept priority; @@ -776,98 +2708,119 @@ public class Appointment extends DomainResource { /** * The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field. */ - @Child(name = "description", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Shown on a subject line in a meeting request, or appointment list", formalDefinition="The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field." ) protected StringType description; /** * Appointment replaced by this Appointment in cases where there is a cancellation, the details of the cancellation can be found in the cancellationReason property (on the referenced resource). */ - @Child(name = "replaces", type = {Appointment.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "replaces", type = {Appointment.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Appointment replaced by this Appointment", formalDefinition="Appointment replaced by this Appointment in cases where there is a cancellation, the details of the cancellation can be found in the cancellationReason property (on the referenced resource)." ) protected List replaces; + /** + * Connection details of a virtual service (e.g. conference call). + */ + @Child(name = "virtualService", type = {VirtualServiceDetail.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Connection details of a virtual service (e.g. conference call)", formalDefinition="Connection details of a virtual service (e.g. conference call)." ) + protected List virtualService; + /** * Additional information to support the appointment provided when making the appointment. */ - @Child(name = "supportingInformation", type = {Reference.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInformation", type = {Reference.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional information to support the appointment", formalDefinition="Additional information to support the appointment provided when making the appointment." ) protected List supportingInformation; + /** + * The previous appointment in a series of related appointments. + */ + @Child(name = "previousAppointment", type = {Appointment.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The previous appointment in a series", formalDefinition="The previous appointment in a series of related appointments." ) + protected Reference previousAppointment; + + /** + * The originating appointment in a recurring set of related appointments. + */ + @Child(name = "originatingAppointment", type = {Appointment.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The originating appointment in a recurring set of appointments", formalDefinition="The originating appointment in a recurring set of related appointments." ) + protected Reference originatingAppointment; + /** * Date/Time that the appointment is to take place. */ - @Child(name = "start", type = {InstantType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "start", type = {InstantType.class}, order=16, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When appointment is to take place", formalDefinition="Date/Time that the appointment is to take place." ) protected InstantType start; /** * Date/Time that the appointment is to conclude. */ - @Child(name = "end", type = {InstantType.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "end", type = {InstantType.class}, order=17, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When appointment is to conclude", formalDefinition="Date/Time that the appointment is to conclude." ) protected InstantType end; /** * Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end. */ - @Child(name = "minutesDuration", type = {PositiveIntType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "minutesDuration", type = {PositiveIntType.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Can be less than start/end (e.g. estimate)", formalDefinition="Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end." ) protected PositiveIntType minutesDuration; /** * The slots from the participants' schedules that will be filled by the appointment. */ - @Child(name = "slot", type = {Slot.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "slot", type = {Slot.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The slots that this appointment is filling", formalDefinition="The slots from the participants' schedules that will be filled by the appointment." ) protected List slot; /** * The set of accounts that is expected to be used for billing the activities that result from this Appointment. */ - @Child(name = "account", type = {Account.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "account", type = {Account.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The set of accounts that may be used for billing for this Appointment", formalDefinition="The set of accounts that is expected to be used for billing the activities that result from this Appointment." ) protected List account; /** * The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment. */ - @Child(name = "created", type = {DateTimeType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "created", type = {DateTimeType.class}, order=21, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The date that this appointment was initially created", formalDefinition="The date that this appointment was initially created. This could be different to the meta.lastModified value on the initial entry, as this could have been before the resource was created on the FHIR server, and should remain unchanged over the lifespan of the appointment." ) protected DateTimeType created; /** * Additional notes/comments about the appointment. */ - @Child(name = "note", type = {Annotation.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional comments", formalDefinition="Additional notes/comments about the appointment." ) protected List note; /** * While Appointment.note contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before). */ - @Child(name = "patientInstruction", type = {CodeableReference.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "patientInstruction", type = {CodeableReference.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Detailed information and instructions for the patient", formalDefinition="While Appointment.note contains information for internal use, Appointment.patientInstructions is used to capture patient facing information about the Appointment (e.g. please bring your referral or fast from 8pm night before)." ) protected List patientInstruction; /** * The request this appointment is allocated to assess (e.g. incoming referral or procedure request). */ - @Child(name = "basedOn", type = {CarePlan.class, DeviceRequest.class, MedicationRequest.class, ServiceRequest.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "basedOn", type = {CarePlan.class, DeviceRequest.class, MedicationRequest.class, ServiceRequest.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The request this appointment is allocated to assess", formalDefinition="The request this appointment is allocated to assess (e.g. incoming referral or procedure request)." ) protected List basedOn; /** * The patient or group associated with the appointment, if they are to be present (usually) then they should also be included in the participant backbone element. */ - @Child(name = "subject", type = {Patient.class, Group.class}, order=21, min=0, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {Patient.class, Group.class}, order=25, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The patient or group associated with the appointment", formalDefinition="The patient or group associated with the appointment, if they are to be present (usually) then they should also be included in the participant backbone element." ) protected Reference subject; /** * List of participants involved in the appointment. */ - @Child(name = "participant", type = {}, order=22, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "participant", type = {}, order=26, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Participants involved in appointment", formalDefinition="List of participants involved in the appointment." ) protected List participant; @@ -876,11 +2829,32 @@ public class Appointment extends DomainResource { The duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system. */ - @Child(name = "requestedPeriod", type = {Period.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "requestedPeriod", type = {Period.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Potential date/time interval(s) requested to allocate the appointment within", formalDefinition="A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.\n\nThe duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system." ) protected List requestedPeriod; - private static final long serialVersionUID = -1643708854L; + /** + * The sequence number that identifies a specific appointment in a recurring pattern. + */ + @Child(name = "recurrenceId", type = {PositiveIntType.class}, order=28, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The sequence number in the recurrence", formalDefinition="The sequence number that identifies a specific appointment in a recurring pattern." ) + protected PositiveIntType recurrenceId; + + /** + * This appointment varies from the recurring pattern. + */ + @Child(name = "occurrenceChanged", type = {BooleanType.class}, order=29, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Indicates that this appointment varies from a recurrence pattern", formalDefinition="This appointment varies from the recurring pattern." ) + protected BooleanType occurrenceChanged; + + /** + * The details of the recurrence pattern or template that is used to generate recurring appointments. + */ + @Child(name = "recurrenceTemplate", type = {}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Details of the recurrence pattern/template used to generate occurrences", formalDefinition="The details of the recurrence pattern or template that is used to generate recurring appointments." ) + protected List recurrenceTemplate; + + private static final long serialVersionUID = 621636241L; /** * Constructor @@ -1020,6 +2994,59 @@ The duration (usually in minutes) could also be provided to indicate the length return this; } + /** + * @return {@link #class_} (Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.) + */ + public List getClass_() { + if (this.class_ == null) + this.class_ = new ArrayList(); + return this.class_; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Appointment setClass_(List theClass_) { + this.class_ = theClass_; + return this; + } + + public boolean hasClass_() { + if (this.class_ == null) + return false; + for (CodeableConcept item : this.class_) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addClass_() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.class_ == null) + this.class_ = new ArrayList(); + this.class_.add(t); + return t; + } + + public Appointment addClass_(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.class_ == null) + this.class_ = new ArrayList(); + this.class_.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #class_}, creating it if it does not already exist {3} + */ + public CodeableConcept getClass_FirstRep() { + if (getClass_().isEmpty()) { + addClass_(); + } + return getClass_().get(0); + } + /** * @return {@link #serviceCategory} (A broad categorization of the service that is to be performed during this appointment.) */ @@ -1382,6 +3409,59 @@ The duration (usually in minutes) could also be provided to indicate the length return getReplaces().get(0); } + /** + * @return {@link #virtualService} (Connection details of a virtual service (e.g. conference call).) + */ + public List getVirtualService() { + if (this.virtualService == null) + this.virtualService = new ArrayList(); + return this.virtualService; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Appointment setVirtualService(List theVirtualService) { + this.virtualService = theVirtualService; + return this; + } + + public boolean hasVirtualService() { + if (this.virtualService == null) + return false; + for (VirtualServiceDetail item : this.virtualService) + if (!item.isEmpty()) + return true; + return false; + } + + public VirtualServiceDetail addVirtualService() { //3 + VirtualServiceDetail t = new VirtualServiceDetail(); + if (this.virtualService == null) + this.virtualService = new ArrayList(); + this.virtualService.add(t); + return t; + } + + public Appointment addVirtualService(VirtualServiceDetail t) { //3 + if (t == null) + return this; + if (this.virtualService == null) + this.virtualService = new ArrayList(); + this.virtualService.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #virtualService}, creating it if it does not already exist {3} + */ + public VirtualServiceDetail getVirtualServiceFirstRep() { + if (getVirtualService().isEmpty()) { + addVirtualService(); + } + return getVirtualService().get(0); + } + /** * @return {@link #supportingInformation} (Additional information to support the appointment provided when making the appointment.) */ @@ -1435,6 +3515,54 @@ The duration (usually in minutes) could also be provided to indicate the length return getSupportingInformation().get(0); } + /** + * @return {@link #previousAppointment} (The previous appointment in a series of related appointments.) + */ + public Reference getPreviousAppointment() { + if (this.previousAppointment == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Appointment.previousAppointment"); + else if (Configuration.doAutoCreate()) + this.previousAppointment = new Reference(); // cc + return this.previousAppointment; + } + + public boolean hasPreviousAppointment() { + return this.previousAppointment != null && !this.previousAppointment.isEmpty(); + } + + /** + * @param value {@link #previousAppointment} (The previous appointment in a series of related appointments.) + */ + public Appointment setPreviousAppointment(Reference value) { + this.previousAppointment = value; + return this; + } + + /** + * @return {@link #originatingAppointment} (The originating appointment in a recurring set of related appointments.) + */ + public Reference getOriginatingAppointment() { + if (this.originatingAppointment == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Appointment.originatingAppointment"); + else if (Configuration.doAutoCreate()) + this.originatingAppointment = new Reference(); // cc + return this.originatingAppointment; + } + + public boolean hasOriginatingAppointment() { + return this.originatingAppointment != null && !this.originatingAppointment.isEmpty(); + } + + /** + * @param value {@link #originatingAppointment} (The originating appointment in a recurring set of related appointments.) + */ + public Appointment setOriginatingAppointment(Reference value) { + this.originatingAppointment = value; + return this; + } + /** * @return {@link #start} (Date/Time that the appointment is to take place.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value */ @@ -2024,11 +4152,155 @@ The duration (usually in minutes) could also be provided to indicate the length return getRequestedPeriod().get(0); } + /** + * @return {@link #recurrenceId} (The sequence number that identifies a specific appointment in a recurring pattern.). This is the underlying object with id, value and extensions. The accessor "getRecurrenceId" gives direct access to the value + */ + public PositiveIntType getRecurrenceIdElement() { + if (this.recurrenceId == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Appointment.recurrenceId"); + else if (Configuration.doAutoCreate()) + this.recurrenceId = new PositiveIntType(); // bb + return this.recurrenceId; + } + + public boolean hasRecurrenceIdElement() { + return this.recurrenceId != null && !this.recurrenceId.isEmpty(); + } + + public boolean hasRecurrenceId() { + return this.recurrenceId != null && !this.recurrenceId.isEmpty(); + } + + /** + * @param value {@link #recurrenceId} (The sequence number that identifies a specific appointment in a recurring pattern.). This is the underlying object with id, value and extensions. The accessor "getRecurrenceId" gives direct access to the value + */ + public Appointment setRecurrenceIdElement(PositiveIntType value) { + this.recurrenceId = value; + return this; + } + + /** + * @return The sequence number that identifies a specific appointment in a recurring pattern. + */ + public int getRecurrenceId() { + return this.recurrenceId == null || this.recurrenceId.isEmpty() ? 0 : this.recurrenceId.getValue(); + } + + /** + * @param value The sequence number that identifies a specific appointment in a recurring pattern. + */ + public Appointment setRecurrenceId(int value) { + if (this.recurrenceId == null) + this.recurrenceId = new PositiveIntType(); + this.recurrenceId.setValue(value); + return this; + } + + /** + * @return {@link #occurrenceChanged} (This appointment varies from the recurring pattern.). This is the underlying object with id, value and extensions. The accessor "getOccurrenceChanged" gives direct access to the value + */ + public BooleanType getOccurrenceChangedElement() { + if (this.occurrenceChanged == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Appointment.occurrenceChanged"); + else if (Configuration.doAutoCreate()) + this.occurrenceChanged = new BooleanType(); // bb + return this.occurrenceChanged; + } + + public boolean hasOccurrenceChangedElement() { + return this.occurrenceChanged != null && !this.occurrenceChanged.isEmpty(); + } + + public boolean hasOccurrenceChanged() { + return this.occurrenceChanged != null && !this.occurrenceChanged.isEmpty(); + } + + /** + * @param value {@link #occurrenceChanged} (This appointment varies from the recurring pattern.). This is the underlying object with id, value and extensions. The accessor "getOccurrenceChanged" gives direct access to the value + */ + public Appointment setOccurrenceChangedElement(BooleanType value) { + this.occurrenceChanged = value; + return this; + } + + /** + * @return This appointment varies from the recurring pattern. + */ + public boolean getOccurrenceChanged() { + return this.occurrenceChanged == null || this.occurrenceChanged.isEmpty() ? false : this.occurrenceChanged.getValue(); + } + + /** + * @param value This appointment varies from the recurring pattern. + */ + public Appointment setOccurrenceChanged(boolean value) { + if (this.occurrenceChanged == null) + this.occurrenceChanged = new BooleanType(); + this.occurrenceChanged.setValue(value); + return this; + } + + /** + * @return {@link #recurrenceTemplate} (The details of the recurrence pattern or template that is used to generate recurring appointments.) + */ + public List getRecurrenceTemplate() { + if (this.recurrenceTemplate == null) + this.recurrenceTemplate = new ArrayList(); + return this.recurrenceTemplate; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Appointment setRecurrenceTemplate(List theRecurrenceTemplate) { + this.recurrenceTemplate = theRecurrenceTemplate; + return this; + } + + public boolean hasRecurrenceTemplate() { + if (this.recurrenceTemplate == null) + return false; + for (AppointmentRecurrenceTemplateComponent item : this.recurrenceTemplate) + if (!item.isEmpty()) + return true; + return false; + } + + public AppointmentRecurrenceTemplateComponent addRecurrenceTemplate() { //3 + AppointmentRecurrenceTemplateComponent t = new AppointmentRecurrenceTemplateComponent(); + if (this.recurrenceTemplate == null) + this.recurrenceTemplate = new ArrayList(); + this.recurrenceTemplate.add(t); + return t; + } + + public Appointment addRecurrenceTemplate(AppointmentRecurrenceTemplateComponent t) { //3 + if (t == null) + return this; + if (this.recurrenceTemplate == null) + this.recurrenceTemplate = new ArrayList(); + this.recurrenceTemplate.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #recurrenceTemplate}, creating it if it does not already exist {3} + */ + public AppointmentRecurrenceTemplateComponent getRecurrenceTemplateFirstRep() { + if (getRecurrenceTemplate().isEmpty()) { + addRecurrenceTemplate(); + } + return getRecurrenceTemplate().get(0); + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("status", "code", "The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.", 0, 1, status)); children.add(new Property("cancellationReason", "CodeableConcept", "The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply.", 0, 1, cancellationReason)); + children.add(new Property("class", "CodeableConcept", "Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.", 0, java.lang.Integer.MAX_VALUE, class_)); children.add(new Property("serviceCategory", "CodeableConcept", "A broad categorization of the service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceCategory)); children.add(new Property("serviceType", "CodeableReference(HealthcareService)", "The specific service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceType)); children.add(new Property("specialty", "CodeableConcept", "The specialty of a practitioner that would be required to perform the service requested in this appointment.", 0, java.lang.Integer.MAX_VALUE, specialty)); @@ -2037,7 +4309,10 @@ The duration (usually in minutes) could also be provided to indicate the length children.add(new Property("priority", "CodeableConcept", "The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).", 0, 1, priority)); children.add(new Property("description", "string", "The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.", 0, 1, description)); children.add(new Property("replaces", "Reference(Appointment)", "Appointment replaced by this Appointment in cases where there is a cancellation, the details of the cancellation can be found in the cancellationReason property (on the referenced resource).", 0, java.lang.Integer.MAX_VALUE, replaces)); + children.add(new Property("virtualService", "VirtualServiceDetail", "Connection details of a virtual service (e.g. conference call).", 0, java.lang.Integer.MAX_VALUE, virtualService)); children.add(new Property("supportingInformation", "Reference(Any)", "Additional information to support the appointment provided when making the appointment.", 0, java.lang.Integer.MAX_VALUE, supportingInformation)); + children.add(new Property("previousAppointment", "Reference(Appointment)", "The previous appointment in a series of related appointments.", 0, 1, previousAppointment)); + children.add(new Property("originatingAppointment", "Reference(Appointment)", "The originating appointment in a recurring set of related appointments.", 0, 1, originatingAppointment)); children.add(new Property("start", "instant", "Date/Time that the appointment is to take place.", 0, 1, start)); children.add(new Property("end", "instant", "Date/Time that the appointment is to conclude.", 0, 1, end)); children.add(new Property("minutesDuration", "positiveInt", "Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end.", 0, 1, minutesDuration)); @@ -2050,6 +4325,9 @@ The duration (usually in minutes) could also be provided to indicate the length children.add(new Property("subject", "Reference(Patient|Group)", "The patient or group associated with the appointment, if they are to be present (usually) then they should also be included in the participant backbone element.", 0, 1, subject)); children.add(new Property("participant", "", "List of participants involved in the appointment.", 0, java.lang.Integer.MAX_VALUE, participant)); children.add(new Property("requestedPeriod", "Period", "A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.\n\nThe duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system.", 0, java.lang.Integer.MAX_VALUE, requestedPeriod)); + children.add(new Property("recurrenceId", "positiveInt", "The sequence number that identifies a specific appointment in a recurring pattern.", 0, 1, recurrenceId)); + children.add(new Property("occurrenceChanged", "boolean", "This appointment varies from the recurring pattern.", 0, 1, occurrenceChanged)); + children.add(new Property("recurrenceTemplate", "", "The details of the recurrence pattern or template that is used to generate recurring appointments.", 0, java.lang.Integer.MAX_VALUE, recurrenceTemplate)); } @Override @@ -2058,6 +4336,7 @@ The duration (usually in minutes) could also be provided to indicate the length case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "This records identifiers associated with this appointment concern that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate (e.g. in CDA documents, or in written / printed documentation).", 0, java.lang.Integer.MAX_VALUE, identifier); case -892481550: /*status*/ return new Property("status", "code", "The overall status of the Appointment. Each of the participants has their own participation status which indicates their involvement in the process, however this status indicates the shared status.", 0, 1, status); case 2135095591: /*cancellationReason*/ return new Property("cancellationReason", "CodeableConcept", "The coded reason for the appointment being cancelled. This is often used in reporting/billing/futher processing to determine if further actions are required, or specific fees apply.", 0, 1, cancellationReason); + case 94742904: /*class*/ return new Property("class", "CodeableConcept", "Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.", 0, java.lang.Integer.MAX_VALUE, class_); case 1281188563: /*serviceCategory*/ return new Property("serviceCategory", "CodeableConcept", "A broad categorization of the service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceCategory); case -1928370289: /*serviceType*/ return new Property("serviceType", "CodeableReference(HealthcareService)", "The specific service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceType); case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "The specialty of a practitioner that would be required to perform the service requested in this appointment.", 0, java.lang.Integer.MAX_VALUE, specialty); @@ -2066,7 +4345,10 @@ The duration (usually in minutes) could also be provided to indicate the length case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "The priority of the appointment. Can be used to make informed decisions if needing to re-prioritize appointments. (The iCal Standard specifies 0 as undefined, 1 as highest, 9 as lowest priority).", 0, 1, priority); case -1724546052: /*description*/ return new Property("description", "string", "The brief description of the appointment as would be shown on a subject line in a meeting request, or appointment list. Detailed or expanded information should be put in the comment field.", 0, 1, description); case -430332865: /*replaces*/ return new Property("replaces", "Reference(Appointment)", "Appointment replaced by this Appointment in cases where there is a cancellation, the details of the cancellation can be found in the cancellationReason property (on the referenced resource).", 0, java.lang.Integer.MAX_VALUE, replaces); + case 1420774698: /*virtualService*/ return new Property("virtualService", "VirtualServiceDetail", "Connection details of a virtual service (e.g. conference call).", 0, java.lang.Integer.MAX_VALUE, virtualService); case -1248768647: /*supportingInformation*/ return new Property("supportingInformation", "Reference(Any)", "Additional information to support the appointment provided when making the appointment.", 0, java.lang.Integer.MAX_VALUE, supportingInformation); + case -1676044248: /*previousAppointment*/ return new Property("previousAppointment", "Reference(Appointment)", "The previous appointment in a series of related appointments.", 0, 1, previousAppointment); + case 1841882230: /*originatingAppointment*/ return new Property("originatingAppointment", "Reference(Appointment)", "The originating appointment in a recurring set of related appointments.", 0, 1, originatingAppointment); case 109757538: /*start*/ return new Property("start", "instant", "Date/Time that the appointment is to take place.", 0, 1, start); case 100571: /*end*/ return new Property("end", "instant", "Date/Time that the appointment is to conclude.", 0, 1, end); case -413630573: /*minutesDuration*/ return new Property("minutesDuration", "positiveInt", "Number of minutes that the appointment is to take. This can be less than the duration between the start and end times. For example, where the actual time of appointment is only an estimate or if a 30 minute appointment is being requested, but any time would work. Also, if there is, for example, a planned 15 minute break in the middle of a long appointment, the duration may be 15 minutes less than the difference between the start and end.", 0, 1, minutesDuration); @@ -2079,6 +4361,9 @@ The duration (usually in minutes) could also be provided to indicate the length case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The patient or group associated with the appointment, if they are to be present (usually) then they should also be included in the participant backbone element.", 0, 1, subject); case 767422259: /*participant*/ return new Property("participant", "", "List of participants involved in the appointment.", 0, java.lang.Integer.MAX_VALUE, participant); case -897241393: /*requestedPeriod*/ return new Property("requestedPeriod", "Period", "A set of date ranges (potentially including times) that the appointment is preferred to be scheduled within.\n\nThe duration (usually in minutes) could also be provided to indicate the length of the appointment to fill and populate the start/end times for the actual allocated time. However, in other situations the duration may be calculated by the scheduling system.", 0, java.lang.Integer.MAX_VALUE, requestedPeriod); + case -362407829: /*recurrenceId*/ return new Property("recurrenceId", "positiveInt", "The sequence number that identifies a specific appointment in a recurring pattern.", 0, 1, recurrenceId); + case 1779864483: /*occurrenceChanged*/ return new Property("occurrenceChanged", "boolean", "This appointment varies from the recurring pattern.", 0, 1, occurrenceChanged); + case 597629898: /*recurrenceTemplate*/ return new Property("recurrenceTemplate", "", "The details of the recurrence pattern or template that is used to generate recurring appointments.", 0, java.lang.Integer.MAX_VALUE, recurrenceTemplate); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2090,6 +4375,7 @@ The duration (usually in minutes) could also be provided to indicate the length case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case 2135095591: /*cancellationReason*/ return this.cancellationReason == null ? new Base[0] : new Base[] {this.cancellationReason}; // CodeableConcept + case 94742904: /*class*/ return this.class_ == null ? new Base[0] : this.class_.toArray(new Base[this.class_.size()]); // CodeableConcept case 1281188563: /*serviceCategory*/ return this.serviceCategory == null ? new Base[0] : this.serviceCategory.toArray(new Base[this.serviceCategory.size()]); // CodeableConcept case -1928370289: /*serviceType*/ return this.serviceType == null ? new Base[0] : this.serviceType.toArray(new Base[this.serviceType.size()]); // CodeableReference case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : this.specialty.toArray(new Base[this.specialty.size()]); // CodeableConcept @@ -2098,7 +4384,10 @@ The duration (usually in minutes) could also be provided to indicate the length case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference + case 1420774698: /*virtualService*/ return this.virtualService == null ? new Base[0] : this.virtualService.toArray(new Base[this.virtualService.size()]); // VirtualServiceDetail case -1248768647: /*supportingInformation*/ return this.supportingInformation == null ? new Base[0] : this.supportingInformation.toArray(new Base[this.supportingInformation.size()]); // Reference + case -1676044248: /*previousAppointment*/ return this.previousAppointment == null ? new Base[0] : new Base[] {this.previousAppointment}; // Reference + case 1841882230: /*originatingAppointment*/ return this.originatingAppointment == null ? new Base[0] : new Base[] {this.originatingAppointment}; // Reference case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // InstantType case 100571: /*end*/ return this.end == null ? new Base[0] : new Base[] {this.end}; // InstantType case -413630573: /*minutesDuration*/ return this.minutesDuration == null ? new Base[0] : new Base[] {this.minutesDuration}; // PositiveIntType @@ -2111,6 +4400,9 @@ The duration (usually in minutes) could also be provided to indicate the length case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // AppointmentParticipantComponent case -897241393: /*requestedPeriod*/ return this.requestedPeriod == null ? new Base[0] : this.requestedPeriod.toArray(new Base[this.requestedPeriod.size()]); // Period + case -362407829: /*recurrenceId*/ return this.recurrenceId == null ? new Base[0] : new Base[] {this.recurrenceId}; // PositiveIntType + case 1779864483: /*occurrenceChanged*/ return this.occurrenceChanged == null ? new Base[0] : new Base[] {this.occurrenceChanged}; // BooleanType + case 597629898: /*recurrenceTemplate*/ return this.recurrenceTemplate == null ? new Base[0] : this.recurrenceTemplate.toArray(new Base[this.recurrenceTemplate.size()]); // AppointmentRecurrenceTemplateComponent default: return super.getProperty(hash, name, checkValid); } @@ -2129,6 +4421,9 @@ The duration (usually in minutes) could also be provided to indicate the length case 2135095591: // cancellationReason this.cancellationReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case 94742904: // class + this.getClass_().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; case 1281188563: // serviceCategory this.getServiceCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -2153,9 +4448,18 @@ The duration (usually in minutes) could also be provided to indicate the length case -430332865: // replaces this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference return value; + case 1420774698: // virtualService + this.getVirtualService().add(TypeConvertor.castToVirtualServiceDetail(value)); // VirtualServiceDetail + return value; case -1248768647: // supportingInformation this.getSupportingInformation().add(TypeConvertor.castToReference(value)); // Reference return value; + case -1676044248: // previousAppointment + this.previousAppointment = TypeConvertor.castToReference(value); // Reference + return value; + case 1841882230: // originatingAppointment + this.originatingAppointment = TypeConvertor.castToReference(value); // Reference + return value; case 109757538: // start this.start = TypeConvertor.castToInstant(value); // InstantType return value; @@ -2192,6 +4496,15 @@ The duration (usually in minutes) could also be provided to indicate the length case -897241393: // requestedPeriod this.getRequestedPeriod().add(TypeConvertor.castToPeriod(value)); // Period return value; + case -362407829: // recurrenceId + this.recurrenceId = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + case 1779864483: // occurrenceChanged + this.occurrenceChanged = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case 597629898: // recurrenceTemplate + this.getRecurrenceTemplate().add((AppointmentRecurrenceTemplateComponent) value); // AppointmentRecurrenceTemplateComponent + return value; default: return super.setProperty(hash, name, value); } @@ -2206,6 +4519,8 @@ The duration (usually in minutes) could also be provided to indicate the length this.status = (Enumeration) value; // Enumeration } else if (name.equals("cancellationReason")) { this.cancellationReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("class")) { + this.getClass_().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("serviceCategory")) { this.getServiceCategory().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("serviceType")) { @@ -2222,8 +4537,14 @@ The duration (usually in minutes) could also be provided to indicate the length this.description = TypeConvertor.castToString(value); // StringType } else if (name.equals("replaces")) { this.getReplaces().add(TypeConvertor.castToReference(value)); + } else if (name.equals("virtualService")) { + this.getVirtualService().add(TypeConvertor.castToVirtualServiceDetail(value)); } else if (name.equals("supportingInformation")) { this.getSupportingInformation().add(TypeConvertor.castToReference(value)); + } else if (name.equals("previousAppointment")) { + this.previousAppointment = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("originatingAppointment")) { + this.originatingAppointment = TypeConvertor.castToReference(value); // Reference } else if (name.equals("start")) { this.start = TypeConvertor.castToInstant(value); // InstantType } else if (name.equals("end")) { @@ -2248,6 +4569,12 @@ The duration (usually in minutes) could also be provided to indicate the length this.getParticipant().add((AppointmentParticipantComponent) value); } else if (name.equals("requestedPeriod")) { this.getRequestedPeriod().add(TypeConvertor.castToPeriod(value)); + } else if (name.equals("recurrenceId")) { + this.recurrenceId = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else if (name.equals("occurrenceChanged")) { + this.occurrenceChanged = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("recurrenceTemplate")) { + this.getRecurrenceTemplate().add((AppointmentRecurrenceTemplateComponent) value); } else return super.setProperty(name, value); return value; @@ -2259,6 +4586,7 @@ The duration (usually in minutes) could also be provided to indicate the length case -1618432855: return addIdentifier(); case -892481550: return getStatusElement(); case 2135095591: return getCancellationReason(); + case 94742904: return addClass_(); case 1281188563: return addServiceCategory(); case -1928370289: return addServiceType(); case -1694759682: return addSpecialty(); @@ -2267,7 +4595,10 @@ The duration (usually in minutes) could also be provided to indicate the length case -1165461084: return getPriority(); case -1724546052: return getDescriptionElement(); case -430332865: return addReplaces(); + case 1420774698: return addVirtualService(); case -1248768647: return addSupportingInformation(); + case -1676044248: return getPreviousAppointment(); + case 1841882230: return getOriginatingAppointment(); case 109757538: return getStartElement(); case 100571: return getEndElement(); case -413630573: return getMinutesDurationElement(); @@ -2280,6 +4611,9 @@ The duration (usually in minutes) could also be provided to indicate the length case -1867885268: return getSubject(); case 767422259: return addParticipant(); case -897241393: return addRequestedPeriod(); + case -362407829: return getRecurrenceIdElement(); + case 1779864483: return getOccurrenceChangedElement(); + case 597629898: return addRecurrenceTemplate(); default: return super.makeProperty(hash, name); } @@ -2291,6 +4625,7 @@ The duration (usually in minutes) could also be provided to indicate the length case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -892481550: /*status*/ return new String[] {"code"}; case 2135095591: /*cancellationReason*/ return new String[] {"CodeableConcept"}; + case 94742904: /*class*/ return new String[] {"CodeableConcept"}; case 1281188563: /*serviceCategory*/ return new String[] {"CodeableConcept"}; case -1928370289: /*serviceType*/ return new String[] {"CodeableReference"}; case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; @@ -2299,7 +4634,10 @@ The duration (usually in minutes) could also be provided to indicate the length case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; case -1724546052: /*description*/ return new String[] {"string"}; case -430332865: /*replaces*/ return new String[] {"Reference"}; + case 1420774698: /*virtualService*/ return new String[] {"VirtualServiceDetail"}; case -1248768647: /*supportingInformation*/ return new String[] {"Reference"}; + case -1676044248: /*previousAppointment*/ return new String[] {"Reference"}; + case 1841882230: /*originatingAppointment*/ return new String[] {"Reference"}; case 109757538: /*start*/ return new String[] {"instant"}; case 100571: /*end*/ return new String[] {"instant"}; case -413630573: /*minutesDuration*/ return new String[] {"positiveInt"}; @@ -2312,6 +4650,9 @@ The duration (usually in minutes) could also be provided to indicate the length case -1867885268: /*subject*/ return new String[] {"Reference"}; case 767422259: /*participant*/ return new String[] {}; case -897241393: /*requestedPeriod*/ return new String[] {"Period"}; + case -362407829: /*recurrenceId*/ return new String[] {"positiveInt"}; + case 1779864483: /*occurrenceChanged*/ return new String[] {"boolean"}; + case 597629898: /*recurrenceTemplate*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -2329,6 +4670,9 @@ The duration (usually in minutes) could also be provided to indicate the length this.cancellationReason = new CodeableConcept(); return this.cancellationReason; } + else if (name.equals("class")) { + return addClass_(); + } else if (name.equals("serviceCategory")) { return addServiceCategory(); } @@ -2355,9 +4699,20 @@ The duration (usually in minutes) could also be provided to indicate the length else if (name.equals("replaces")) { return addReplaces(); } + else if (name.equals("virtualService")) { + return addVirtualService(); + } else if (name.equals("supportingInformation")) { return addSupportingInformation(); } + else if (name.equals("previousAppointment")) { + this.previousAppointment = new Reference(); + return this.previousAppointment; + } + else if (name.equals("originatingAppointment")) { + this.originatingAppointment = new Reference(); + return this.originatingAppointment; + } else if (name.equals("start")) { throw new FHIRException("Cannot call addChild on a primitive type Appointment.start"); } @@ -2395,6 +4750,15 @@ The duration (usually in minutes) could also be provided to indicate the length else if (name.equals("requestedPeriod")) { return addRequestedPeriod(); } + else if (name.equals("recurrenceId")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.recurrenceId"); + } + else if (name.equals("occurrenceChanged")) { + throw new FHIRException("Cannot call addChild on a primitive type Appointment.occurrenceChanged"); + } + else if (name.equals("recurrenceTemplate")) { + return addRecurrenceTemplate(); + } else return super.addChild(name); } @@ -2419,6 +4783,11 @@ The duration (usually in minutes) could also be provided to indicate the length }; dst.status = status == null ? null : status.copy(); dst.cancellationReason = cancellationReason == null ? null : cancellationReason.copy(); + if (class_ != null) { + dst.class_ = new ArrayList(); + for (CodeableConcept i : class_) + dst.class_.add(i.copy()); + }; if (serviceCategory != null) { dst.serviceCategory = new ArrayList(); for (CodeableConcept i : serviceCategory) @@ -2447,11 +4816,18 @@ The duration (usually in minutes) could also be provided to indicate the length for (Reference i : replaces) dst.replaces.add(i.copy()); }; + if (virtualService != null) { + dst.virtualService = new ArrayList(); + for (VirtualServiceDetail i : virtualService) + dst.virtualService.add(i.copy()); + }; if (supportingInformation != null) { dst.supportingInformation = new ArrayList(); for (Reference i : supportingInformation) dst.supportingInformation.add(i.copy()); }; + dst.previousAppointment = previousAppointment == null ? null : previousAppointment.copy(); + dst.originatingAppointment = originatingAppointment == null ? null : originatingAppointment.copy(); dst.start = start == null ? null : start.copy(); dst.end = end == null ? null : end.copy(); dst.minutesDuration = minutesDuration == null ? null : minutesDuration.copy(); @@ -2492,6 +4868,13 @@ The duration (usually in minutes) could also be provided to indicate the length for (Period i : requestedPeriod) dst.requestedPeriod.add(i.copy()); }; + dst.recurrenceId = recurrenceId == null ? null : recurrenceId.copy(); + dst.occurrenceChanged = occurrenceChanged == null ? null : occurrenceChanged.copy(); + if (recurrenceTemplate != null) { + dst.recurrenceTemplate = new ArrayList(); + for (AppointmentRecurrenceTemplateComponent i : recurrenceTemplate) + dst.recurrenceTemplate.add(i.copy()); + }; } protected Appointment typedCopy() { @@ -2506,15 +4889,18 @@ The duration (usually in minutes) could also be provided to indicate the length return false; Appointment o = (Appointment) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(cancellationReason, o.cancellationReason, true) - && compareDeep(serviceCategory, o.serviceCategory, true) && compareDeep(serviceType, o.serviceType, true) - && compareDeep(specialty, o.specialty, true) && compareDeep(appointmentType, o.appointmentType, true) + && compareDeep(class_, o.class_, true) && compareDeep(serviceCategory, o.serviceCategory, true) + && compareDeep(serviceType, o.serviceType, true) && compareDeep(specialty, o.specialty, true) && compareDeep(appointmentType, o.appointmentType, true) && compareDeep(reason, o.reason, true) && compareDeep(priority, o.priority, true) && compareDeep(description, o.description, true) - && compareDeep(replaces, o.replaces, true) && compareDeep(supportingInformation, o.supportingInformation, true) - && compareDeep(start, o.start, true) && compareDeep(end, o.end, true) && compareDeep(minutesDuration, o.minutesDuration, true) - && compareDeep(slot, o.slot, true) && compareDeep(account, o.account, true) && compareDeep(created, o.created, true) - && compareDeep(note, o.note, true) && compareDeep(patientInstruction, o.patientInstruction, true) - && compareDeep(basedOn, o.basedOn, true) && compareDeep(subject, o.subject, true) && compareDeep(participant, o.participant, true) - && compareDeep(requestedPeriod, o.requestedPeriod, true); + && compareDeep(replaces, o.replaces, true) && compareDeep(virtualService, o.virtualService, true) + && compareDeep(supportingInformation, o.supportingInformation, true) && compareDeep(previousAppointment, o.previousAppointment, true) + && compareDeep(originatingAppointment, o.originatingAppointment, true) && compareDeep(start, o.start, true) + && compareDeep(end, o.end, true) && compareDeep(minutesDuration, o.minutesDuration, true) && compareDeep(slot, o.slot, true) + && compareDeep(account, o.account, true) && compareDeep(created, o.created, true) && compareDeep(note, o.note, true) + && compareDeep(patientInstruction, o.patientInstruction, true) && compareDeep(basedOn, o.basedOn, true) + && compareDeep(subject, o.subject, true) && compareDeep(participant, o.participant, true) && compareDeep(requestedPeriod, o.requestedPeriod, true) + && compareDeep(recurrenceId, o.recurrenceId, true) && compareDeep(occurrenceChanged, o.occurrenceChanged, true) + && compareDeep(recurrenceTemplate, o.recurrenceTemplate, true); } @Override @@ -2526,15 +4912,17 @@ The duration (usually in minutes) could also be provided to indicate the length Appointment o = (Appointment) other_; return compareValues(status, o.status, true) && compareValues(description, o.description, true) && compareValues(start, o.start, true) && compareValues(end, o.end, true) && compareValues(minutesDuration, o.minutesDuration, true) && compareValues(created, o.created, true) + && compareValues(recurrenceId, o.recurrenceId, true) && compareValues(occurrenceChanged, o.occurrenceChanged, true) ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, cancellationReason - , serviceCategory, serviceType, specialty, appointmentType, reason, priority, description - , replaces, supportingInformation, start, end, minutesDuration, slot, account - , created, note, patientInstruction, basedOn, subject, participant, requestedPeriod - ); + , class_, serviceCategory, serviceType, specialty, appointmentType, reason, priority + , description, replaces, virtualService, supportingInformation, previousAppointment + , originatingAppointment, start, end, minutesDuration, slot, account, created + , note, patientInstruction, basedOn, subject, participant, requestedPeriod, recurrenceId + , occurrenceChanged, recurrenceTemplate); } @Override @@ -3010,7 +5398,7 @@ The duration (usually in minutes) could also be provided to indicate the length * Path: Appointment.supportingInformation
*

*/ - @SearchParamDefinition(name="supporting-info", path="Appointment.supportingInformation", description="Additional information to support the appointment", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="supporting-info", path="Appointment.supportingInformation", description="Additional information to support the appointment", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUPPORTING_INFO = "supporting-info"; /** * Fluent Client search parameter constant for supporting-info diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AppointmentResponse.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AppointmentResponse.java index f53cf84d8..4c14e7512 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AppointmentResponse.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AppointmentResponse.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -67,24 +67,31 @@ public class AppointmentResponse extends DomainResource { @Description(shortDefinition="Appointment this response relates to", formalDefinition="Appointment that this response is replying to." ) protected Reference appointment; + /** + * Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties. + */ + @Child(name = "proposedNewTime", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Indicator for a counter proposal", formalDefinition="Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties." ) + protected BooleanType proposedNewTime; + /** * Date/Time that the appointment is to take place, or requested new start time. */ - @Child(name = "start", type = {InstantType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Child(name = "start", type = {InstantType.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Time from appointment, or requested new start time", formalDefinition="Date/Time that the appointment is to take place, or requested new start time." ) protected InstantType start; /** * This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time. */ - @Child(name = "end", type = {InstantType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "end", type = {InstantType.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Time from appointment, or requested new end time", formalDefinition="This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time." ) protected InstantType end; /** * Role of participant in the appointment. */ - @Child(name = "participantType", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "participantType", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Role of participant in the appointment", formalDefinition="Role of participant in the appointment." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-participant-type") protected List participantType; @@ -92,14 +99,14 @@ public class AppointmentResponse extends DomainResource { /** * A Person, Location, HealthcareService, or Device that is participating in the appointment. */ - @Child(name = "actor", type = {Patient.class, Group.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Device.class, HealthcareService.class, Location.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "actor", type = {Patient.class, Group.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Device.class, HealthcareService.class, Location.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Person(s), Location, HealthcareService, or Device", formalDefinition="A Person, Location, HealthcareService, or Device that is participating in the appointment." ) protected Reference actor; /** * Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty. */ - @Child(name = "participantStatus", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) + @Child(name = "participantStatus", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="accepted | declined | tentative | needs-action", formalDefinition="Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participationstatus") protected Enumeration participantStatus; @@ -107,11 +114,32 @@ public class AppointmentResponse extends DomainResource { /** * Additional comments about the appointment. */ - @Child(name = "comment", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "comment", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Additional comments", formalDefinition="Additional comments about the appointment." ) protected StringType comment; - private static final long serialVersionUID = -1779591264L; + /** + * Indicates that this AppointmentResponse applies to all occurrences in a recurring request. + */ + @Child(name = "recurring", type = {BooleanType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="This response is for all occurrences in a recurring request", formalDefinition="Indicates that this AppointmentResponse applies to all occurrences in a recurring request." ) + protected BooleanType recurring; + + /** + * The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`). + */ + @Child(name = "occurrenceDate", type = {DateType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Original date within a recurring request", formalDefinition="The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`)." ) + protected DateType occurrenceDate; + + /** + * The recurrence ID (sequence number) of the specific appointment when responding to a recurring request. + */ + @Child(name = "recurrenceId", type = {PositiveIntType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The recurrence ID of the specific recurring request", formalDefinition="The recurrence ID (sequence number) of the specific appointment when responding to a recurring request." ) + protected PositiveIntType recurrenceId; + + private static final long serialVersionUID = 1970686636L; /** * Constructor @@ -206,6 +234,51 @@ public class AppointmentResponse extends DomainResource { return this; } + /** + * @return {@link #proposedNewTime} (Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.). This is the underlying object with id, value and extensions. The accessor "getProposedNewTime" gives direct access to the value + */ + public BooleanType getProposedNewTimeElement() { + if (this.proposedNewTime == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentResponse.proposedNewTime"); + else if (Configuration.doAutoCreate()) + this.proposedNewTime = new BooleanType(); // bb + return this.proposedNewTime; + } + + public boolean hasProposedNewTimeElement() { + return this.proposedNewTime != null && !this.proposedNewTime.isEmpty(); + } + + public boolean hasProposedNewTime() { + return this.proposedNewTime != null && !this.proposedNewTime.isEmpty(); + } + + /** + * @param value {@link #proposedNewTime} (Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.). This is the underlying object with id, value and extensions. The accessor "getProposedNewTime" gives direct access to the value + */ + public AppointmentResponse setProposedNewTimeElement(BooleanType value) { + this.proposedNewTime = value; + return this; + } + + /** + * @return Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties. + */ + public boolean getProposedNewTime() { + return this.proposedNewTime == null || this.proposedNewTime.isEmpty() ? false : this.proposedNewTime.getValue(); + } + + /** + * @param value Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties. + */ + public AppointmentResponse setProposedNewTime(boolean value) { + if (this.proposedNewTime == null) + this.proposedNewTime = new BooleanType(); + this.proposedNewTime.setValue(value); + return this; + } + /** * @return {@link #start} (Date/Time that the appointment is to take place, or requested new start time.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value */ @@ -475,16 +548,159 @@ public class AppointmentResponse extends DomainResource { return this; } + /** + * @return {@link #recurring} (Indicates that this AppointmentResponse applies to all occurrences in a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurring" gives direct access to the value + */ + public BooleanType getRecurringElement() { + if (this.recurring == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentResponse.recurring"); + else if (Configuration.doAutoCreate()) + this.recurring = new BooleanType(); // bb + return this.recurring; + } + + public boolean hasRecurringElement() { + return this.recurring != null && !this.recurring.isEmpty(); + } + + public boolean hasRecurring() { + return this.recurring != null && !this.recurring.isEmpty(); + } + + /** + * @param value {@link #recurring} (Indicates that this AppointmentResponse applies to all occurrences in a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurring" gives direct access to the value + */ + public AppointmentResponse setRecurringElement(BooleanType value) { + this.recurring = value; + return this; + } + + /** + * @return Indicates that this AppointmentResponse applies to all occurrences in a recurring request. + */ + public boolean getRecurring() { + return this.recurring == null || this.recurring.isEmpty() ? false : this.recurring.getValue(); + } + + /** + * @param value Indicates that this AppointmentResponse applies to all occurrences in a recurring request. + */ + public AppointmentResponse setRecurring(boolean value) { + if (this.recurring == null) + this.recurring = new BooleanType(); + this.recurring.setValue(value); + return this; + } + + /** + * @return {@link #occurrenceDate} (The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).). This is the underlying object with id, value and extensions. The accessor "getOccurrenceDate" gives direct access to the value + */ + public DateType getOccurrenceDateElement() { + if (this.occurrenceDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentResponse.occurrenceDate"); + else if (Configuration.doAutoCreate()) + this.occurrenceDate = new DateType(); // bb + return this.occurrenceDate; + } + + public boolean hasOccurrenceDateElement() { + return this.occurrenceDate != null && !this.occurrenceDate.isEmpty(); + } + + public boolean hasOccurrenceDate() { + return this.occurrenceDate != null && !this.occurrenceDate.isEmpty(); + } + + /** + * @param value {@link #occurrenceDate} (The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).). This is the underlying object with id, value and extensions. The accessor "getOccurrenceDate" gives direct access to the value + */ + public AppointmentResponse setOccurrenceDateElement(DateType value) { + this.occurrenceDate = value; + return this; + } + + /** + * @return The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`). + */ + public Date getOccurrenceDate() { + return this.occurrenceDate == null ? null : this.occurrenceDate.getValue(); + } + + /** + * @param value The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`). + */ + public AppointmentResponse setOccurrenceDate(Date value) { + if (value == null) + this.occurrenceDate = null; + else { + if (this.occurrenceDate == null) + this.occurrenceDate = new DateType(); + this.occurrenceDate.setValue(value); + } + return this; + } + + /** + * @return {@link #recurrenceId} (The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurrenceId" gives direct access to the value + */ + public PositiveIntType getRecurrenceIdElement() { + if (this.recurrenceId == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AppointmentResponse.recurrenceId"); + else if (Configuration.doAutoCreate()) + this.recurrenceId = new PositiveIntType(); // bb + return this.recurrenceId; + } + + public boolean hasRecurrenceIdElement() { + return this.recurrenceId != null && !this.recurrenceId.isEmpty(); + } + + public boolean hasRecurrenceId() { + return this.recurrenceId != null && !this.recurrenceId.isEmpty(); + } + + /** + * @param value {@link #recurrenceId} (The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.). This is the underlying object with id, value and extensions. The accessor "getRecurrenceId" gives direct access to the value + */ + public AppointmentResponse setRecurrenceIdElement(PositiveIntType value) { + this.recurrenceId = value; + return this; + } + + /** + * @return The recurrence ID (sequence number) of the specific appointment when responding to a recurring request. + */ + public int getRecurrenceId() { + return this.recurrenceId == null || this.recurrenceId.isEmpty() ? 0 : this.recurrenceId.getValue(); + } + + /** + * @param value The recurrence ID (sequence number) of the specific appointment when responding to a recurring request. + */ + public AppointmentResponse setRecurrenceId(int value) { + if (this.recurrenceId == null) + this.recurrenceId = new PositiveIntType(); + this.recurrenceId.setValue(value); + return this; + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("appointment", "Reference(Appointment)", "Appointment that this response is replying to.", 0, 1, appointment)); + children.add(new Property("proposedNewTime", "boolean", "Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.", 0, 1, proposedNewTime)); children.add(new Property("start", "instant", "Date/Time that the appointment is to take place, or requested new start time.", 0, 1, start)); children.add(new Property("end", "instant", "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.", 0, 1, end)); children.add(new Property("participantType", "CodeableConcept", "Role of participant in the appointment.", 0, java.lang.Integer.MAX_VALUE, participantType)); children.add(new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|RelatedPerson|Device|HealthcareService|Location)", "A Person, Location, HealthcareService, or Device that is participating in the appointment.", 0, 1, actor)); children.add(new Property("participantStatus", "code", "Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.", 0, 1, participantStatus)); children.add(new Property("comment", "string", "Additional comments about the appointment.", 0, 1, comment)); + children.add(new Property("recurring", "boolean", "Indicates that this AppointmentResponse applies to all occurrences in a recurring request.", 0, 1, recurring)); + children.add(new Property("occurrenceDate", "date", "The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).", 0, 1, occurrenceDate)); + children.add(new Property("recurrenceId", "positiveInt", "The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.", 0, 1, recurrenceId)); } @Override @@ -492,12 +708,16 @@ public class AppointmentResponse extends DomainResource { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "This records identifiers associated with this appointment response concern that are defined by business processes and/ or used to refer to it when a direct URL reference to the resource itself is not appropriate.", 0, java.lang.Integer.MAX_VALUE, identifier); case -1474995297: /*appointment*/ return new Property("appointment", "Reference(Appointment)", "Appointment that this response is replying to.", 0, 1, appointment); + case -577024441: /*proposedNewTime*/ return new Property("proposedNewTime", "boolean", "Indicates that the response is proposing a different time that was initially requested. The new proposed time will be indicated in the start and end properties.", 0, 1, proposedNewTime); case 109757538: /*start*/ return new Property("start", "instant", "Date/Time that the appointment is to take place, or requested new start time.", 0, 1, start); case 100571: /*end*/ return new Property("end", "instant", "This may be either the same as the appointment request to confirm the details of the appointment, or alternately a new time to request a re-negotiation of the end time.", 0, 1, end); case 841294093: /*participantType*/ return new Property("participantType", "CodeableConcept", "Role of participant in the appointment.", 0, java.lang.Integer.MAX_VALUE, participantType); case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Group|Practitioner|PractitionerRole|RelatedPerson|Device|HealthcareService|Location)", "A Person, Location, HealthcareService, or Device that is participating in the appointment.", 0, 1, actor); case 996096261: /*participantStatus*/ return new Property("participantStatus", "code", "Participation status of the participant. When the status is declined or tentative if the start/end times are different to the appointment, then these times should be interpreted as a requested time change. When the status is accepted, the times can either be the time of the appointment (as a confirmation of the time) or can be empty.", 0, 1, participantStatus); case 950398559: /*comment*/ return new Property("comment", "string", "Additional comments about the appointment.", 0, 1, comment); + case 1165749981: /*recurring*/ return new Property("recurring", "boolean", "Indicates that this AppointmentResponse applies to all occurrences in a recurring request.", 0, 1, recurring); + case 1721761055: /*occurrenceDate*/ return new Property("occurrenceDate", "date", "The original date within a recurring request. This could be used in place of the recurrenceId to be more direct (or where the template is provided through the simple list of dates in `Appointment.occurrenceDate`).", 0, 1, occurrenceDate); + case -362407829: /*recurrenceId*/ return new Property("recurrenceId", "positiveInt", "The recurrence ID (sequence number) of the specific appointment when responding to a recurring request.", 0, 1, recurrenceId); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -508,12 +728,16 @@ public class AppointmentResponse extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -1474995297: /*appointment*/ return this.appointment == null ? new Base[0] : new Base[] {this.appointment}; // Reference + case -577024441: /*proposedNewTime*/ return this.proposedNewTime == null ? new Base[0] : new Base[] {this.proposedNewTime}; // BooleanType case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // InstantType case 100571: /*end*/ return this.end == null ? new Base[0] : new Base[] {this.end}; // InstantType case 841294093: /*participantType*/ return this.participantType == null ? new Base[0] : this.participantType.toArray(new Base[this.participantType.size()]); // CodeableConcept case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference case 996096261: /*participantStatus*/ return this.participantStatus == null ? new Base[0] : new Base[] {this.participantStatus}; // Enumeration case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType + case 1165749981: /*recurring*/ return this.recurring == null ? new Base[0] : new Base[] {this.recurring}; // BooleanType + case 1721761055: /*occurrenceDate*/ return this.occurrenceDate == null ? new Base[0] : new Base[] {this.occurrenceDate}; // DateType + case -362407829: /*recurrenceId*/ return this.recurrenceId == null ? new Base[0] : new Base[] {this.recurrenceId}; // PositiveIntType default: return super.getProperty(hash, name, checkValid); } @@ -528,6 +752,9 @@ public class AppointmentResponse extends DomainResource { case -1474995297: // appointment this.appointment = TypeConvertor.castToReference(value); // Reference return value; + case -577024441: // proposedNewTime + this.proposedNewTime = TypeConvertor.castToBoolean(value); // BooleanType + return value; case 109757538: // start this.start = TypeConvertor.castToInstant(value); // InstantType return value; @@ -547,6 +774,15 @@ public class AppointmentResponse extends DomainResource { case 950398559: // comment this.comment = TypeConvertor.castToString(value); // StringType return value; + case 1165749981: // recurring + this.recurring = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case 1721761055: // occurrenceDate + this.occurrenceDate = TypeConvertor.castToDate(value); // DateType + return value; + case -362407829: // recurrenceId + this.recurrenceId = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; default: return super.setProperty(hash, name, value); } @@ -558,6 +794,8 @@ public class AppointmentResponse extends DomainResource { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("appointment")) { this.appointment = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("proposedNewTime")) { + this.proposedNewTime = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("start")) { this.start = TypeConvertor.castToInstant(value); // InstantType } else if (name.equals("end")) { @@ -571,6 +809,12 @@ public class AppointmentResponse extends DomainResource { this.participantStatus = (Enumeration) value; // Enumeration } else if (name.equals("comment")) { this.comment = TypeConvertor.castToString(value); // StringType + } else if (name.equals("recurring")) { + this.recurring = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("occurrenceDate")) { + this.occurrenceDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("recurrenceId")) { + this.recurrenceId = TypeConvertor.castToPositiveInt(value); // PositiveIntType } else return super.setProperty(name, value); return value; @@ -581,12 +825,16 @@ public class AppointmentResponse extends DomainResource { switch (hash) { case -1618432855: return addIdentifier(); case -1474995297: return getAppointment(); + case -577024441: return getProposedNewTimeElement(); case 109757538: return getStartElement(); case 100571: return getEndElement(); case 841294093: return addParticipantType(); case 92645877: return getActor(); case 996096261: return getParticipantStatusElement(); case 950398559: return getCommentElement(); + case 1165749981: return getRecurringElement(); + case 1721761055: return getOccurrenceDateElement(); + case -362407829: return getRecurrenceIdElement(); default: return super.makeProperty(hash, name); } @@ -597,12 +845,16 @@ public class AppointmentResponse extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -1474995297: /*appointment*/ return new String[] {"Reference"}; + case -577024441: /*proposedNewTime*/ return new String[] {"boolean"}; case 109757538: /*start*/ return new String[] {"instant"}; case 100571: /*end*/ return new String[] {"instant"}; case 841294093: /*participantType*/ return new String[] {"CodeableConcept"}; case 92645877: /*actor*/ return new String[] {"Reference"}; case 996096261: /*participantStatus*/ return new String[] {"code"}; case 950398559: /*comment*/ return new String[] {"string"}; + case 1165749981: /*recurring*/ return new String[] {"boolean"}; + case 1721761055: /*occurrenceDate*/ return new String[] {"date"}; + case -362407829: /*recurrenceId*/ return new String[] {"positiveInt"}; default: return super.getTypesForProperty(hash, name); } @@ -617,6 +869,9 @@ public class AppointmentResponse extends DomainResource { this.appointment = new Reference(); return this.appointment; } + else if (name.equals("proposedNewTime")) { + throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.proposedNewTime"); + } else if (name.equals("start")) { throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.start"); } @@ -636,6 +891,15 @@ public class AppointmentResponse extends DomainResource { else if (name.equals("comment")) { throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.comment"); } + else if (name.equals("recurring")) { + throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.recurring"); + } + else if (name.equals("occurrenceDate")) { + throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.occurrenceDate"); + } + else if (name.equals("recurrenceId")) { + throw new FHIRException("Cannot call addChild on a primitive type AppointmentResponse.recurrenceId"); + } else return super.addChild(name); } @@ -659,6 +923,7 @@ public class AppointmentResponse extends DomainResource { dst.identifier.add(i.copy()); }; dst.appointment = appointment == null ? null : appointment.copy(); + dst.proposedNewTime = proposedNewTime == null ? null : proposedNewTime.copy(); dst.start = start == null ? null : start.copy(); dst.end = end == null ? null : end.copy(); if (participantType != null) { @@ -669,6 +934,9 @@ public class AppointmentResponse extends DomainResource { dst.actor = actor == null ? null : actor.copy(); dst.participantStatus = participantStatus == null ? null : participantStatus.copy(); dst.comment = comment == null ? null : comment.copy(); + dst.recurring = recurring == null ? null : recurring.copy(); + dst.occurrenceDate = occurrenceDate == null ? null : occurrenceDate.copy(); + dst.recurrenceId = recurrenceId == null ? null : recurrenceId.copy(); } protected AppointmentResponse typedCopy() { @@ -683,9 +951,10 @@ public class AppointmentResponse extends DomainResource { return false; AppointmentResponse o = (AppointmentResponse) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(appointment, o.appointment, true) - && compareDeep(start, o.start, true) && compareDeep(end, o.end, true) && compareDeep(participantType, o.participantType, true) - && compareDeep(actor, o.actor, true) && compareDeep(participantStatus, o.participantStatus, true) - && compareDeep(comment, o.comment, true); + && compareDeep(proposedNewTime, o.proposedNewTime, true) && compareDeep(start, o.start, true) && compareDeep(end, o.end, true) + && compareDeep(participantType, o.participantType, true) && compareDeep(actor, o.actor, true) && compareDeep(participantStatus, o.participantStatus, true) + && compareDeep(comment, o.comment, true) && compareDeep(recurring, o.recurring, true) && compareDeep(occurrenceDate, o.occurrenceDate, true) + && compareDeep(recurrenceId, o.recurrenceId, true); } @Override @@ -695,13 +964,16 @@ public class AppointmentResponse extends DomainResource { if (!(other_ instanceof AppointmentResponse)) return false; AppointmentResponse o = (AppointmentResponse) other_; - return compareValues(start, o.start, true) && compareValues(end, o.end, true) && compareValues(participantStatus, o.participantStatus, true) - && compareValues(comment, o.comment, true); + return compareValues(proposedNewTime, o.proposedNewTime, true) && compareValues(start, o.start, true) + && compareValues(end, o.end, true) && compareValues(participantStatus, o.participantStatus, true) && compareValues(comment, o.comment, true) + && compareValues(recurring, o.recurring, true) && compareValues(occurrenceDate, o.occurrenceDate, true) + && compareValues(recurrenceId, o.recurrenceId, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, appointment, start - , end, participantType, actor, participantStatus, comment); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, appointment, proposedNewTime + , start, end, participantType, actor, participantStatus, comment, recurring, occurrenceDate + , recurrenceId); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ArtifactAssessment.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ArtifactAssessment.java index bce88657e..9fa07e47b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ArtifactAssessment.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ArtifactAssessment.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Attachment.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Attachment.java index a82668c9f..67589a377 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Attachment.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Attachment.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Attachment Type: For referring to data content defined in other formats. + * Attachment Type: For referring to data content defined in other formats. */ @DatatypeDef(name="Attachment") public class Attachment extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AuditEvent.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AuditEvent.java index 89ae98ee5..d0c82ec49 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AuditEvent.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/AuditEvent.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1594,10 +1594,10 @@ public class AuditEvent extends DomainResource { @Block() public static class AuditEventEntityComponent extends BackboneElement implements IBaseBackboneElement { /** - * Identifies a specific instance of the entity. The reference should be version specific. + * Identifies a specific instance of the entity. The reference should be version specific. This is allowed to be a Parameters resource. */ @Child(name = "what", type = {Reference.class}, order=1, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Specific instance of resource", formalDefinition="Identifies a specific instance of the entity. The reference should be version specific." ) + @Description(shortDefinition="Specific instance of resource", formalDefinition="Identifies a specific instance of the entity. The reference should be version specific. This is allowed to be a Parameters resource." ) protected Reference what; /** @@ -1647,7 +1647,7 @@ public class AuditEvent extends DomainResource { } /** - * @return {@link #what} (Identifies a specific instance of the entity. The reference should be version specific.) + * @return {@link #what} (Identifies a specific instance of the entity. The reference should be version specific. This is allowed to be a Parameters resource.) */ public Reference getWhat() { if (this.what == null) @@ -1663,7 +1663,7 @@ public class AuditEvent extends DomainResource { } /** - * @param value {@link #what} (Identifies a specific instance of the entity. The reference should be version specific.) + * @param value {@link #what} (Identifies a specific instance of the entity. The reference should be version specific. This is allowed to be a Parameters resource.) */ public AuditEventEntityComponent setWhat(Reference value) { this.what = value; @@ -1904,7 +1904,7 @@ public class AuditEvent extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("what", "Reference(Any)", "Identifies a specific instance of the entity. The reference should be version specific.", 0, 1, what)); + children.add(new Property("what", "Reference(Any)", "Identifies a specific instance of the entity. The reference should be version specific. This is allowed to be a Parameters resource.", 0, 1, what)); children.add(new Property("role", "CodeableConcept", "Code representing the role the entity played in the event being audited.", 0, 1, role)); children.add(new Property("securityLabel", "CodeableConcept", "Security labels for the identified entity.", 0, java.lang.Integer.MAX_VALUE, securityLabel)); children.add(new Property("query", "base64Binary", "The query parameters for a query-type entities.", 0, 1, query)); @@ -1915,7 +1915,7 @@ public class AuditEvent extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3648196: /*what*/ return new Property("what", "Reference(Any)", "Identifies a specific instance of the entity. The reference should be version specific.", 0, 1, what); + case 3648196: /*what*/ return new Property("what", "Reference(Any)", "Identifies a specific instance of the entity. The reference should be version specific. This is allowed to be a Parameters resource.", 0, 1, what); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Code representing the role the entity played in the event being audited.", 0, 1, role); case -722296940: /*securityLabel*/ return new Property("securityLabel", "CodeableConcept", "Security labels for the identified entity.", 0, java.lang.Integer.MAX_VALUE, securityLabel); case 107944136: /*query*/ return new Property("query", "base64Binary", "The query parameters for a query-type entities.", 0, 1, query); @@ -3781,7 +3781,7 @@ public class AuditEvent extends DomainResource { * Path: AuditEvent.entity.what
*

*/ - @SearchParamDefinition(name="entity", path="AuditEvent.entity.what", description="Specific instance of resource", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="entity", path="AuditEvent.entity.what", description="Specific instance of resource", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_ENTITY = "entity"; /** * Fluent Client search parameter constant for entity diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Availability.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Availability.java new file mode 100644 index 000000000..447f97e02 --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Availability.java @@ -0,0 +1,955 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseDatatypeElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.DatatypeDef; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * Availability Type: Availability data for an {item}. + */ +@DatatypeDef(name="Availability") +public class Availability extends DataType implements ICompositeType { + + @Block() + public static class AvailabilityAvailableTimeComponent extends Element implements IBaseDatatypeElement { + /** + * mon | tue | wed | thu | fri | sat | sun. + */ + @Child(name = "daysOfWeek", type = {CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="mon | tue | wed | thu | fri | sat | sun", formalDefinition="mon | tue | wed | thu | fri | sat | sun." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/days-of-week") + protected List> daysOfWeek; + + /** + * Always available? i.e. 24 hour service. + */ + @Child(name = "allDay", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Always available? i.e. 24 hour service", formalDefinition="Always available? i.e. 24 hour service." ) + protected BooleanType allDay; + + /** + * Opening time of day (ignored if allDay = true). + */ + @Child(name = "availableStartTime", type = {TimeType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Opening time of day (ignored if allDay = true)", formalDefinition="Opening time of day (ignored if allDay = true)." ) + protected TimeType availableStartTime; + + /** + * Closing time of day (ignored if allDay = true). + */ + @Child(name = "availableEndTime", type = {TimeType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Closing time of day (ignored if allDay = true)", formalDefinition="Closing time of day (ignored if allDay = true)." ) + protected TimeType availableEndTime; + + private static final long serialVersionUID = -2139510127L; + + /** + * Constructor + */ + public AvailabilityAvailableTimeComponent() { + super(); + } + + /** + * @return {@link #daysOfWeek} (mon | tue | wed | thu | fri | sat | sun.) + */ + public List> getDaysOfWeek() { + if (this.daysOfWeek == null) + this.daysOfWeek = new ArrayList>(); + return this.daysOfWeek; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public AvailabilityAvailableTimeComponent setDaysOfWeek(List> theDaysOfWeek) { + this.daysOfWeek = theDaysOfWeek; + return this; + } + + public boolean hasDaysOfWeek() { + if (this.daysOfWeek == null) + return false; + for (Enumeration item : this.daysOfWeek) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #daysOfWeek} (mon | tue | wed | thu | fri | sat | sun.) + */ + public Enumeration addDaysOfWeekElement() {//2 + Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); + if (this.daysOfWeek == null) + this.daysOfWeek = new ArrayList>(); + this.daysOfWeek.add(t); + return t; + } + + /** + * @param value {@link #daysOfWeek} (mon | tue | wed | thu | fri | sat | sun.) + */ + public AvailabilityAvailableTimeComponent addDaysOfWeek(DaysOfWeek value) { //1 + Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); + t.setValue(value); + if (this.daysOfWeek == null) + this.daysOfWeek = new ArrayList>(); + this.daysOfWeek.add(t); + return this; + } + + /** + * @param value {@link #daysOfWeek} (mon | tue | wed | thu | fri | sat | sun.) + */ + public boolean hasDaysOfWeek(DaysOfWeek value) { + if (this.daysOfWeek == null) + return false; + for (Enumeration v : this.daysOfWeek) + if (v.getValue().equals(value)) // code + return true; + return false; + } + + /** + * @return {@link #allDay} (Always available? i.e. 24 hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value + */ + public BooleanType getAllDayElement() { + if (this.allDay == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AvailabilityAvailableTimeComponent.allDay"); + else if (Configuration.doAutoCreate()) + this.allDay = new BooleanType(); // bb + return this.allDay; + } + + public boolean hasAllDayElement() { + return this.allDay != null && !this.allDay.isEmpty(); + } + + public boolean hasAllDay() { + return this.allDay != null && !this.allDay.isEmpty(); + } + + /** + * @param value {@link #allDay} (Always available? i.e. 24 hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value + */ + public AvailabilityAvailableTimeComponent setAllDayElement(BooleanType value) { + this.allDay = value; + return this; + } + + /** + * @return Always available? i.e. 24 hour service. + */ + public boolean getAllDay() { + return this.allDay == null || this.allDay.isEmpty() ? false : this.allDay.getValue(); + } + + /** + * @param value Always available? i.e. 24 hour service. + */ + public AvailabilityAvailableTimeComponent setAllDay(boolean value) { + if (this.allDay == null) + this.allDay = new BooleanType(); + this.allDay.setValue(value); + return this; + } + + /** + * @return {@link #availableStartTime} (Opening time of day (ignored if allDay = true).). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value + */ + public TimeType getAvailableStartTimeElement() { + if (this.availableStartTime == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AvailabilityAvailableTimeComponent.availableStartTime"); + else if (Configuration.doAutoCreate()) + this.availableStartTime = new TimeType(); // bb + return this.availableStartTime; + } + + public boolean hasAvailableStartTimeElement() { + return this.availableStartTime != null && !this.availableStartTime.isEmpty(); + } + + public boolean hasAvailableStartTime() { + return this.availableStartTime != null && !this.availableStartTime.isEmpty(); + } + + /** + * @param value {@link #availableStartTime} (Opening time of day (ignored if allDay = true).). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value + */ + public AvailabilityAvailableTimeComponent setAvailableStartTimeElement(TimeType value) { + this.availableStartTime = value; + return this; + } + + /** + * @return Opening time of day (ignored if allDay = true). + */ + public String getAvailableStartTime() { + return this.availableStartTime == null ? null : this.availableStartTime.getValue(); + } + + /** + * @param value Opening time of day (ignored if allDay = true). + */ + public AvailabilityAvailableTimeComponent setAvailableStartTime(String value) { + if (value == null) + this.availableStartTime = null; + else { + if (this.availableStartTime == null) + this.availableStartTime = new TimeType(); + this.availableStartTime.setValue(value); + } + return this; + } + + /** + * @return {@link #availableEndTime} (Closing time of day (ignored if allDay = true).). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value + */ + public TimeType getAvailableEndTimeElement() { + if (this.availableEndTime == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AvailabilityAvailableTimeComponent.availableEndTime"); + else if (Configuration.doAutoCreate()) + this.availableEndTime = new TimeType(); // bb + return this.availableEndTime; + } + + public boolean hasAvailableEndTimeElement() { + return this.availableEndTime != null && !this.availableEndTime.isEmpty(); + } + + public boolean hasAvailableEndTime() { + return this.availableEndTime != null && !this.availableEndTime.isEmpty(); + } + + /** + * @param value {@link #availableEndTime} (Closing time of day (ignored if allDay = true).). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value + */ + public AvailabilityAvailableTimeComponent setAvailableEndTimeElement(TimeType value) { + this.availableEndTime = value; + return this; + } + + /** + * @return Closing time of day (ignored if allDay = true). + */ + public String getAvailableEndTime() { + return this.availableEndTime == null ? null : this.availableEndTime.getValue(); + } + + /** + * @param value Closing time of day (ignored if allDay = true). + */ + public AvailabilityAvailableTimeComponent setAvailableEndTime(String value) { + if (value == null) + this.availableEndTime = null; + else { + if (this.availableEndTime == null) + this.availableEndTime = new TimeType(); + this.availableEndTime.setValue(value); + } + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("daysOfWeek", "code", "mon | tue | wed | thu | fri | sat | sun.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek)); + children.add(new Property("allDay", "boolean", "Always available? i.e. 24 hour service.", 0, 1, allDay)); + children.add(new Property("availableStartTime", "time", "Opening time of day (ignored if allDay = true).", 0, 1, availableStartTime)); + children.add(new Property("availableEndTime", "time", "Closing time of day (ignored if allDay = true).", 0, 1, availableEndTime)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 68050338: /*daysOfWeek*/ return new Property("daysOfWeek", "code", "mon | tue | wed | thu | fri | sat | sun.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek); + case -1414913477: /*allDay*/ return new Property("allDay", "boolean", "Always available? i.e. 24 hour service.", 0, 1, allDay); + case -1039453818: /*availableStartTime*/ return new Property("availableStartTime", "time", "Opening time of day (ignored if allDay = true).", 0, 1, availableStartTime); + case 101151551: /*availableEndTime*/ return new Property("availableEndTime", "time", "Closing time of day (ignored if allDay = true).", 0, 1, availableEndTime); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 68050338: /*daysOfWeek*/ return this.daysOfWeek == null ? new Base[0] : this.daysOfWeek.toArray(new Base[this.daysOfWeek.size()]); // Enumeration + case -1414913477: /*allDay*/ return this.allDay == null ? new Base[0] : new Base[] {this.allDay}; // BooleanType + case -1039453818: /*availableStartTime*/ return this.availableStartTime == null ? new Base[0] : new Base[] {this.availableStartTime}; // TimeType + case 101151551: /*availableEndTime*/ return this.availableEndTime == null ? new Base[0] : new Base[] {this.availableEndTime}; // TimeType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 68050338: // daysOfWeek + value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getDaysOfWeek().add((Enumeration) value); // Enumeration + return value; + case -1414913477: // allDay + this.allDay = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -1039453818: // availableStartTime + this.availableStartTime = TypeConvertor.castToTime(value); // TimeType + return value; + case 101151551: // availableEndTime + this.availableEndTime = TypeConvertor.castToTime(value); // TimeType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("daysOfWeek")) { + value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getDaysOfWeek().add((Enumeration) value); + } else if (name.equals("allDay")) { + this.allDay = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("availableStartTime")) { + this.availableStartTime = TypeConvertor.castToTime(value); // TimeType + } else if (name.equals("availableEndTime")) { + this.availableEndTime = TypeConvertor.castToTime(value); // TimeType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 68050338: return addDaysOfWeekElement(); + case -1414913477: return getAllDayElement(); + case -1039453818: return getAvailableStartTimeElement(); + case 101151551: return getAvailableEndTimeElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 68050338: /*daysOfWeek*/ return new String[] {"code"}; + case -1414913477: /*allDay*/ return new String[] {"boolean"}; + case -1039453818: /*availableStartTime*/ return new String[] {"time"}; + case 101151551: /*availableEndTime*/ return new String[] {"time"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("daysOfWeek")) { + throw new FHIRException("Cannot call addChild on a primitive type Availability.availableTime.daysOfWeek"); + } + else if (name.equals("allDay")) { + throw new FHIRException("Cannot call addChild on a primitive type Availability.availableTime.allDay"); + } + else if (name.equals("availableStartTime")) { + throw new FHIRException("Cannot call addChild on a primitive type Availability.availableTime.availableStartTime"); + } + else if (name.equals("availableEndTime")) { + throw new FHIRException("Cannot call addChild on a primitive type Availability.availableTime.availableEndTime"); + } + else + return super.addChild(name); + } + + public AvailabilityAvailableTimeComponent copy() { + AvailabilityAvailableTimeComponent dst = new AvailabilityAvailableTimeComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AvailabilityAvailableTimeComponent dst) { + super.copyValues(dst); + if (daysOfWeek != null) { + dst.daysOfWeek = new ArrayList>(); + for (Enumeration i : daysOfWeek) + dst.daysOfWeek.add(i.copy()); + }; + dst.allDay = allDay == null ? null : allDay.copy(); + dst.availableStartTime = availableStartTime == null ? null : availableStartTime.copy(); + dst.availableEndTime = availableEndTime == null ? null : availableEndTime.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AvailabilityAvailableTimeComponent)) + return false; + AvailabilityAvailableTimeComponent o = (AvailabilityAvailableTimeComponent) other_; + return compareDeep(daysOfWeek, o.daysOfWeek, true) && compareDeep(allDay, o.allDay, true) && compareDeep(availableStartTime, o.availableStartTime, true) + && compareDeep(availableEndTime, o.availableEndTime, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AvailabilityAvailableTimeComponent)) + return false; + AvailabilityAvailableTimeComponent o = (AvailabilityAvailableTimeComponent) other_; + return compareValues(daysOfWeek, o.daysOfWeek, true) && compareValues(allDay, o.allDay, true) && compareValues(availableStartTime, o.availableStartTime, true) + && compareValues(availableEndTime, o.availableEndTime, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(daysOfWeek, allDay, availableStartTime + , availableEndTime); + } + + public String fhirType() { + return "Availability.availableTime"; + + } + + } + + @Block() + public static class AvailabilityNotAvailableTimeComponent extends Element implements IBaseDatatypeElement { + /** + * Reason presented to the user explaining why time not available. + */ + @Child(name = "description", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Reason presented to the user explaining why time not available", formalDefinition="Reason presented to the user explaining why time not available." ) + protected StringType description; + + /** + * Service not available during this period. + */ + @Child(name = "during", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Service not available during this period", formalDefinition="Service not available during this period." ) + protected Period during; + + private static final long serialVersionUID = 310849929L; + + /** + * Constructor + */ + public AvailabilityNotAvailableTimeComponent() { + super(); + } + + /** + * @return {@link #description} (Reason presented to the user explaining why time not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public StringType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AvailabilityNotAvailableTimeComponent.description"); + else if (Configuration.doAutoCreate()) + this.description = new StringType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (Reason presented to the user explaining why time not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public AvailabilityNotAvailableTimeComponent setDescriptionElement(StringType value) { + this.description = value; + return this; + } + + /** + * @return Reason presented to the user explaining why time not available. + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value Reason presented to the user explaining why time not available. + */ + public AvailabilityNotAvailableTimeComponent setDescription(String value) { + if (Utilities.noString(value)) + this.description = null; + else { + if (this.description == null) + this.description = new StringType(); + this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #during} (Service not available during this period.) + */ + public Period getDuring() { + if (this.during == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AvailabilityNotAvailableTimeComponent.during"); + else if (Configuration.doAutoCreate()) + this.during = new Period(); // cc + return this.during; + } + + public boolean hasDuring() { + return this.during != null && !this.during.isEmpty(); + } + + /** + * @param value {@link #during} (Service not available during this period.) + */ + public AvailabilityNotAvailableTimeComponent setDuring(Period value) { + this.during = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("description", "string", "Reason presented to the user explaining why time not available.", 0, 1, description)); + children.add(new Property("during", "Period", "Service not available during this period.", 0, 1, during)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1724546052: /*description*/ return new Property("description", "string", "Reason presented to the user explaining why time not available.", 0, 1, description); + case -1320499647: /*during*/ return new Property("during", "Period", "Service not available during this period.", 0, 1, during); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType + case -1320499647: /*during*/ return this.during == null ? new Base[0] : new Base[] {this.during}; // Period + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1724546052: // description + this.description = TypeConvertor.castToString(value); // StringType + return value; + case -1320499647: // during + this.during = TypeConvertor.castToPeriod(value); // Period + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("description")) { + this.description = TypeConvertor.castToString(value); // StringType + } else if (name.equals("during")) { + this.during = TypeConvertor.castToPeriod(value); // Period + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1724546052: return getDescriptionElement(); + case -1320499647: return getDuring(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1724546052: /*description*/ return new String[] {"string"}; + case -1320499647: /*during*/ return new String[] {"Period"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type Availability.notAvailableTime.description"); + } + else if (name.equals("during")) { + this.during = new Period(); + return this.during; + } + else + return super.addChild(name); + } + + public AvailabilityNotAvailableTimeComponent copy() { + AvailabilityNotAvailableTimeComponent dst = new AvailabilityNotAvailableTimeComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(AvailabilityNotAvailableTimeComponent dst) { + super.copyValues(dst); + dst.description = description == null ? null : description.copy(); + dst.during = during == null ? null : during.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof AvailabilityNotAvailableTimeComponent)) + return false; + AvailabilityNotAvailableTimeComponent o = (AvailabilityNotAvailableTimeComponent) other_; + return compareDeep(description, o.description, true) && compareDeep(during, o.during, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof AvailabilityNotAvailableTimeComponent)) + return false; + AvailabilityNotAvailableTimeComponent o = (AvailabilityNotAvailableTimeComponent) other_; + return compareValues(description, o.description, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, during); + } + + public String fhirType() { + return "Availability.notAvailableTime"; + + } + + } + + /** + * Times the {item} is available. + */ + @Child(name = "availableTime", type = {}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Times the {item} is available", formalDefinition="Times the {item} is available." ) + protected List availableTime; + + /** + * Not available during this time due to provided reason. + */ + @Child(name = "notAvailableTime", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Not available during this time due to provided reason", formalDefinition="Not available during this time due to provided reason." ) + protected List notAvailableTime; + + private static final long serialVersionUID = -444820754L; + + /** + * Constructor + */ + public Availability() { + super(); + } + + /** + * @return {@link #availableTime} (Times the {item} is available.) + */ + public List getAvailableTime() { + if (this.availableTime == null) + this.availableTime = new ArrayList(); + return this.availableTime; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Availability setAvailableTime(List theAvailableTime) { + this.availableTime = theAvailableTime; + return this; + } + + public boolean hasAvailableTime() { + if (this.availableTime == null) + return false; + for (AvailabilityAvailableTimeComponent item : this.availableTime) + if (!item.isEmpty()) + return true; + return false; + } + + public AvailabilityAvailableTimeComponent addAvailableTime() { //3 + AvailabilityAvailableTimeComponent t = new AvailabilityAvailableTimeComponent(); + if (this.availableTime == null) + this.availableTime = new ArrayList(); + this.availableTime.add(t); + return t; + } + + public Availability addAvailableTime(AvailabilityAvailableTimeComponent t) { //3 + if (t == null) + return this; + if (this.availableTime == null) + this.availableTime = new ArrayList(); + this.availableTime.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #availableTime}, creating it if it does not already exist {3} + */ + public AvailabilityAvailableTimeComponent getAvailableTimeFirstRep() { + if (getAvailableTime().isEmpty()) { + addAvailableTime(); + } + return getAvailableTime().get(0); + } + + /** + * @return {@link #notAvailableTime} (Not available during this time due to provided reason.) + */ + public List getNotAvailableTime() { + if (this.notAvailableTime == null) + this.notAvailableTime = new ArrayList(); + return this.notAvailableTime; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Availability setNotAvailableTime(List theNotAvailableTime) { + this.notAvailableTime = theNotAvailableTime; + return this; + } + + public boolean hasNotAvailableTime() { + if (this.notAvailableTime == null) + return false; + for (AvailabilityNotAvailableTimeComponent item : this.notAvailableTime) + if (!item.isEmpty()) + return true; + return false; + } + + public AvailabilityNotAvailableTimeComponent addNotAvailableTime() { //3 + AvailabilityNotAvailableTimeComponent t = new AvailabilityNotAvailableTimeComponent(); + if (this.notAvailableTime == null) + this.notAvailableTime = new ArrayList(); + this.notAvailableTime.add(t); + return t; + } + + public Availability addNotAvailableTime(AvailabilityNotAvailableTimeComponent t) { //3 + if (t == null) + return this; + if (this.notAvailableTime == null) + this.notAvailableTime = new ArrayList(); + this.notAvailableTime.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #notAvailableTime}, creating it if it does not already exist {3} + */ + public AvailabilityNotAvailableTimeComponent getNotAvailableTimeFirstRep() { + if (getNotAvailableTime().isEmpty()) { + addNotAvailableTime(); + } + return getNotAvailableTime().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("availableTime", "", "Times the {item} is available.", 0, java.lang.Integer.MAX_VALUE, availableTime)); + children.add(new Property("notAvailableTime", "", "Not available during this time due to provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailableTime)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 1873069366: /*availableTime*/ return new Property("availableTime", "", "Times the {item} is available.", 0, java.lang.Integer.MAX_VALUE, availableTime); + case -627853021: /*notAvailableTime*/ return new Property("notAvailableTime", "", "Not available during this time due to provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailableTime); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 1873069366: /*availableTime*/ return this.availableTime == null ? new Base[0] : this.availableTime.toArray(new Base[this.availableTime.size()]); // AvailabilityAvailableTimeComponent + case -627853021: /*notAvailableTime*/ return this.notAvailableTime == null ? new Base[0] : this.notAvailableTime.toArray(new Base[this.notAvailableTime.size()]); // AvailabilityNotAvailableTimeComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 1873069366: // availableTime + this.getAvailableTime().add((AvailabilityAvailableTimeComponent) value); // AvailabilityAvailableTimeComponent + return value; + case -627853021: // notAvailableTime + this.getNotAvailableTime().add((AvailabilityNotAvailableTimeComponent) value); // AvailabilityNotAvailableTimeComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("availableTime")) { + this.getAvailableTime().add((AvailabilityAvailableTimeComponent) value); + } else if (name.equals("notAvailableTime")) { + this.getNotAvailableTime().add((AvailabilityNotAvailableTimeComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 1873069366: return addAvailableTime(); + case -627853021: return addNotAvailableTime(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 1873069366: /*availableTime*/ return new String[] {}; + case -627853021: /*notAvailableTime*/ return new String[] {}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("availableTime")) { + return addAvailableTime(); + } + else if (name.equals("notAvailableTime")) { + return addNotAvailableTime(); + } + else + return super.addChild(name); + } + + public String fhirType() { + return "Availability"; + + } + + public Availability copy() { + Availability dst = new Availability(); + copyValues(dst); + return dst; + } + + public void copyValues(Availability dst) { + super.copyValues(dst); + if (availableTime != null) { + dst.availableTime = new ArrayList(); + for (AvailabilityAvailableTimeComponent i : availableTime) + dst.availableTime.add(i.copy()); + }; + if (notAvailableTime != null) { + dst.notAvailableTime = new ArrayList(); + for (AvailabilityNotAvailableTimeComponent i : notAvailableTime) + dst.notAvailableTime.add(i.copy()); + }; + } + + protected Availability typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof Availability)) + return false; + Availability o = (Availability) other_; + return compareDeep(availableTime, o.availableTime, true) && compareDeep(notAvailableTime, o.notAvailableTime, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof Availability)) + return false; + Availability o = (Availability) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(availableTime, notAvailableTime + ); + } + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneElement.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneElement.java index a400b2590..a9522b230 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneElement.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneElement.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for BackboneElement Type: Base definition for all elements that are defined inside a resource - but not those in a data type. + * BackboneElement Type: Base definition for all elements that are defined inside a resource - but not those in a data type. */ @DatatypeDef(name="BackboneElement") public abstract class BackboneElement extends Element implements IBaseBackboneElement { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneType.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneType.java index 730643788..5f910c869 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneType.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BackboneType.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for BackboneType Type: Base definition for the few data types that are allowed to carry modifier extensions. + * BackboneType Type: Base definition for the few data types that are allowed to carry modifier extensions. */ @DatatypeDef(name="BackboneType") public abstract class BackboneType extends DataType implements IBaseBackboneElement { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Basic.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Basic.java index 7cccd7576..c5fd8c513 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Basic.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Basic.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -583,7 +583,7 @@ public class Basic extends DomainResource { * Path: Basic.subject
*

*/ - @SearchParamDefinition(name="subject", path="Basic.subject", description="Identifies the focus of this resource", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="subject", path="Basic.subject", description="Identifies the focus of this resource", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Binary.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Binary.java index 1bcd67c4b..8700ecb33 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Binary.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Binary.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BiologicallyDerivedProduct.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BiologicallyDerivedProduct.java index cbf80d91f..5b4b6b481 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BiologicallyDerivedProduct.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BiologicallyDerivedProduct.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -344,7 +344,7 @@ public class BiologicallyDerivedProduct extends DomainResource { */ @Child(name = "type", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Code that specifies the property", formalDefinition="Code that specifies the property. It should reference an established coding system." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/biologicallyderived-product-property-type-codes") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/biologicallyderivedproduct-property-type-codes") protected Coding type; /** @@ -734,10 +734,10 @@ public class BiologicallyDerivedProduct extends DomainResource { /** * A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions. */ - @Child(name = "productCode", type = {Coding.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Child(name = "productCode", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="A code that identifies the kind of this biologically derived product", formalDefinition="A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/biologicallyderived-product-codes") - protected Coding productCode; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/biologicallyderived-productcodes") + protected CodeableConcept productCode; /** * Parent product (if any) for this biologically-derived product. @@ -817,7 +817,7 @@ public class BiologicallyDerivedProduct extends DomainResource { @Description(shortDefinition="A property that is specific to this BiologicallyDerviedProduct instance", formalDefinition="A property that is specific to this BiologicallyDerviedProduct instance." ) protected List property; - private static final long serialVersionUID = 823916581L; + private static final long serialVersionUID = 452844848L; /** * Constructor @@ -853,12 +853,12 @@ public class BiologicallyDerivedProduct extends DomainResource { /** * @return {@link #productCode} (A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions.) */ - public Coding getProductCode() { + public CodeableConcept getProductCode() { if (this.productCode == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create BiologicallyDerivedProduct.productCode"); else if (Configuration.doAutoCreate()) - this.productCode = new Coding(); // cc + this.productCode = new CodeableConcept(); // cc return this.productCode; } @@ -869,7 +869,7 @@ public class BiologicallyDerivedProduct extends DomainResource { /** * @param value {@link #productCode} (A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions.) */ - public BiologicallyDerivedProduct setProductCode(Coding value) { + public BiologicallyDerivedProduct setProductCode(CodeableConcept value) { this.productCode = value; return this; } @@ -1336,7 +1336,7 @@ public class BiologicallyDerivedProduct extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("productCategory", "Coding", "Broad category of this product.", 0, 1, productCategory)); - children.add(new Property("productCode", "Coding", "A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions.", 0, 1, productCode)); + children.add(new Property("productCode", "CodeableConcept", "A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions.", 0, 1, productCode)); children.add(new Property("parent", "Reference(BiologicallyDerivedProduct)", "Parent product (if any) for this biologically-derived product.", 0, java.lang.Integer.MAX_VALUE, parent)); children.add(new Property("request", "Reference(ServiceRequest)", "Request to obtain and/or infuse this biologically derived product.", 0, java.lang.Integer.MAX_VALUE, request)); children.add(new Property("identifier", "Identifier", "Unique instance identifiers assigned to a biologically derived product. Note: This is a business identifier, not a resource identifier.", 0, java.lang.Integer.MAX_VALUE, identifier)); @@ -1354,7 +1354,7 @@ public class BiologicallyDerivedProduct extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 197299981: /*productCategory*/ return new Property("productCategory", "Coding", "Broad category of this product.", 0, 1, productCategory); - case -1492131972: /*productCode*/ return new Property("productCode", "Coding", "A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions.", 0, 1, productCode); + case -1492131972: /*productCode*/ return new Property("productCode", "CodeableConcept", "A codified value that systematically supports characterization and classification of medical products of human origin inclusive of processing conditions such as additives, volumes and handling conditions.", 0, 1, productCode); case -995424086: /*parent*/ return new Property("parent", "Reference(BiologicallyDerivedProduct)", "Parent product (if any) for this biologically-derived product.", 0, java.lang.Integer.MAX_VALUE, parent); case 1095692943: /*request*/ return new Property("request", "Reference(ServiceRequest)", "Request to obtain and/or infuse this biologically derived product.", 0, java.lang.Integer.MAX_VALUE, request); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique instance identifiers assigned to a biologically derived product. Note: This is a business identifier, not a resource identifier.", 0, java.lang.Integer.MAX_VALUE, identifier); @@ -1375,7 +1375,7 @@ public class BiologicallyDerivedProduct extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 197299981: /*productCategory*/ return this.productCategory == null ? new Base[0] : new Base[] {this.productCategory}; // Coding - case -1492131972: /*productCode*/ return this.productCode == null ? new Base[0] : new Base[] {this.productCode}; // Coding + case -1492131972: /*productCode*/ return this.productCode == null ? new Base[0] : new Base[] {this.productCode}; // CodeableConcept case -995424086: /*parent*/ return this.parent == null ? new Base[0] : this.parent.toArray(new Base[this.parent.size()]); // Reference case 1095692943: /*request*/ return this.request == null ? new Base[0] : this.request.toArray(new Base[this.request.size()]); // Reference case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier @@ -1399,7 +1399,7 @@ public class BiologicallyDerivedProduct extends DomainResource { this.productCategory = TypeConvertor.castToCoding(value); // Coding return value; case -1492131972: // productCode - this.productCode = TypeConvertor.castToCoding(value); // Coding + this.productCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -995424086: // parent this.getParent().add(TypeConvertor.castToReference(value)); // Reference @@ -1444,7 +1444,7 @@ public class BiologicallyDerivedProduct extends DomainResource { if (name.equals("productCategory")) { this.productCategory = TypeConvertor.castToCoding(value); // Coding } else if (name.equals("productCode")) { - this.productCode = TypeConvertor.castToCoding(value); // Coding + this.productCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("parent")) { this.getParent().add(TypeConvertor.castToReference(value)); } else if (name.equals("request")) { @@ -1497,7 +1497,7 @@ public class BiologicallyDerivedProduct extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 197299981: /*productCategory*/ return new String[] {"Coding"}; - case -1492131972: /*productCode*/ return new String[] {"Coding"}; + case -1492131972: /*productCode*/ return new String[] {"CodeableConcept"}; case -995424086: /*parent*/ return new String[] {"Reference"}; case 1095692943: /*request*/ return new String[] {"Reference"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; @@ -1521,7 +1521,7 @@ public class BiologicallyDerivedProduct extends DomainResource { return this.productCategory; } else if (name.equals("productCode")) { - this.productCode = new Coding(); + this.productCode = new CodeableConcept(); return this.productCode; } else if (name.equals("parent")) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BodyStructure.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BodyStructure.java index 54b137c8c..151fcd76c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BodyStructure.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/BodyStructure.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Bundle.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Bundle.java index e3d16de0b..799b7796a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Bundle.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Bundle.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -439,6 +439,1990 @@ public class Bundle extends Resource implements IBaseBundle { } } + public enum LinkRelationTypes { + /** + * Refers to a resource that is the subject of the link's context. + */ + ABOUT, + /** + * Asserts that the link target provides an access control description for the link context. + */ + ACL, + /** + * Refers to a substitute for this context + */ + ALTERNATE, + /** + * Used to reference alternative content that uses the AMP profile of the HTML format. + */ + AMPHTML, + /** + * Refers to an appendix. + */ + APPENDIX, + /** + * Refers to an icon for the context. Synonym for icon. + */ + APPLETOUCHICON, + /** + * Refers to a launch screen for the context. + */ + APPLETOUCHSTARTUPIMAGE, + /** + * Refers to a collection of records, documents, or other\n materials of historical interest. + */ + ARCHIVES, + /** + * Refers to the context's author. + */ + AUTHOR, + /** + * Identifies the entity that blocks access to a resource\n following receipt of a legal demand. + */ + BLOCKEDBY, + /** + * Gives a permanent link to use for bookmarking purposes. + */ + BOOKMARK, + /** + * Designates the preferred version of a resource (the IRI and its contents). + */ + CANONICAL, + /** + * Refers to a chapter in a collection of resources. + */ + CHAPTER, + /** + * Indicates that the link target is preferred over the link context for the purpose of permanent citation. + */ + CITEAS, + /** + * The target IRI points to a resource which represents the collection resource for the context IRI. + */ + COLLECTION, + /** + * Refers to a table of contents. + */ + CONTENTS, + /** + * The document linked to was later converted to the\n document that contains this link relation. For example, an RFC can\n have a link to the Internet-Draft that became the RFC; in that case,\n the link relation would be \"convertedFrom\". + */ + CONVERTEDFROM, + /** + * Refers to a copyright statement that applies to the\n link's context. + */ + COPYRIGHT, + /** + * The target IRI points to a resource where a submission form can be obtained. + */ + CREATEFORM, + /** + * Refers to a resource containing the most recent\n item(s) in a collection of resources. + */ + CURRENT, + /** + * Refers to a resource providing information about the\n link's context. + */ + DESCRIBEDBY, + /** + * The relationship A 'describes' B asserts that\n resource A provides a description of resource B. There are no\n constraints on the format or representation of either A or B,\n neither are there any further constraints on either resource. + */ + DESCRIBES, + /** + * Refers to a list of patent disclosures made with respect to \n material for which 'disclosure' relation is specified. + */ + DISCLOSURE, + /** + * Used to indicate an origin that will be used to fetch required \n resources for the link context, and that the user agent ought to resolve \n as early as possible. + */ + DNSPREFETCH, + /** + * Refers to a resource whose available representations\n are byte-for-byte identical with the corresponding representations of\n the context IRI. + */ + DUPLICATE, + /** + * Refers to a resource that can be used to edit the\n link's context. + */ + EDIT, + /** + * The target IRI points to a resource where a submission form for\n editing associated resource can be obtained. + */ + EDITFORM, + /** + * Refers to a resource that can be used to edit media\n associated with the link's context. + */ + EDITMEDIA, + /** + * Identifies a related resource that is potentially\n large and might require special handling. + */ + ENCLOSURE, + /** + * Refers to a resource that is not part of the same site as the current context. + */ + EXTERNAL, + /** + * An IRI that refers to the furthest preceding resource\n in a series of resources. + */ + FIRST, + /** + * Refers to a glossary of terms. + */ + GLOSSARY, + /** + * Refers to context-sensitive help. + */ + HELP, + /** + * Refers to a resource hosted by the server indicated by\n the link context. + */ + HOSTS, + /** + * Refers to a hub that enables registration for\n notification of updates to the context. + */ + HUB, + /** + * Refers to an icon representing the link's context. + */ + ICON, + /** + * Refers to an index. + */ + INDEX, + /** + * refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource + */ + INTERVALAFTER, + /** + * refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource + */ + INTERVALBEFORE, + /** + * refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource + */ + INTERVALCONTAINS, + /** + * refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource + */ + INTERVALDISJOINT, + /** + * refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource + */ + INTERVALDURING, + /** + * refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource + */ + INTERVALEQUALS, + /** + * refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource + */ + INTERVALFINISHEDBY, + /** + * refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource + */ + INTERVALFINISHES, + /** + * refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource + */ + INTERVALIN, + /** + * refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource + */ + INTERVALMEETS, + /** + * refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource + */ + INTERVALMETBY, + /** + * refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource + */ + INTERVALOVERLAPPEDBY, + /** + * refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource + */ + INTERVALOVERLAPS, + /** + * refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource + */ + INTERVALSTARTEDBY, + /** + * refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource + */ + INTERVALSTARTS, + /** + * The target IRI points to a resource that is a member of the collection represented by the context IRI. + */ + ITEM, + /** + * An IRI that refers to the furthest following resource\n in a series of resources. + */ + LAST, + /** + * Points to a resource containing the latest (e.g.,\n current) version of the context. + */ + LATESTVERSION, + /** + * Refers to a license associated with this context. + */ + LICENSE, + /** + * The link target of a link with the \"linkset\" relation\n type provides a set of links, including links in which the link\n context of the link participates.\n + */ + LINKSET, + /** + * Refers to further information about the link's context,\n expressed as a LRDD (\"Link-based Resource Descriptor Document\")\n resource. See for information about\n processing this relation type in host-meta documents. When used\n elsewhere, it refers to additional links and other metadata.\n Multiple instances indicate additional LRDD resources. LRDD\n resources MUST have an \"application/xrd+xml\" representation, and\n MAY have others. + */ + LRDD, + /** + * Links to a manifest file for the context. + */ + MANIFEST, + /** + * Refers to a mask that can be applied to the icon for the context. + */ + MASKICON, + /** + * Refers to a feed of personalised media recommendations relevant to the link context. + */ + MEDIAFEED, + /** + * The Target IRI points to a Memento, a fixed resource that will not change state anymore. + */ + MEMENTO, + /** + * Links to the context's Micropub endpoint. + */ + MICROPUB, + /** + * Refers to a module that the user agent is to preemptively fetch and store for use in the current context. + */ + MODULEPRELOAD, + /** + * Refers to a resource that can be used to monitor changes in an HTTP resource.\n + */ + MONITOR, + /** + * Refers to a resource that can be used to monitor changes in a specified group of HTTP resources.\n + */ + MONITORGROUP, + /** + * Indicates that the link's context is a part of a series, and\n that the next in the series is the link target.\n + */ + NEXT, + /** + * Refers to the immediately following archive resource. + */ + NEXTARCHIVE, + /** + * Indicates that the context’s original author or publisher does not endorse the link target. + */ + NOFOLLOW, + /** + * Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context. + */ + NOOPENER, + /** + * Indicates that no referrer information is to be leaked when following the link. + */ + NOREFERRER, + /** + * Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context. + */ + OPENER, + /** + * Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier. + */ + OPENID2_LOCALID, + /** + * Refers to a resource which accepts OpenID Authentication protocol messages for the context. + */ + OPENID2_PROVIDER, + /** + * The Target IRI points to an Original Resource. + */ + ORIGINAL, + /** + * Refers to a P3P privacy policy for the context. + */ + P3PV1, + /** + * Indicates a resource where payment is accepted. + */ + PAYMENT, + /** + * Gives the address of the pingback resource for the link context. + */ + PINGBACK, + /** + * Used to indicate an origin that will be used to fetch required \n resources for the link context. Initiating an early connection, which \n includes the DNS lookup, TCP handshake, and optional TLS negotiation, \n allows the user agent to mask the high latency costs of establishing a \n connection. + */ + PRECONNECT, + /** + * Points to a resource containing the predecessor\n version in the version history.\n + */ + PREDECESSORVERSION, + /** + * The prefetch link relation type is used to identify a resource \n that might be required by the next navigation from the link context, and \n that the user agent ought to fetch, such that the user agent can deliver a \n faster response once the resource is requested in the future. + */ + PREFETCH, + /** + * Refers to a resource that should be loaded early in the \n processing of the link's context, without blocking rendering. + */ + PRELOAD, + /** + * Used to identify a resource that might be required by the next \n navigation from the link context, and that the user agent ought to fetch \n and execute, such that the user agent can deliver a faster response once \n the resource is requested in the future. + */ + PRERENDER, + /** + * Indicates that the link's context is a part of a series, and\n that the previous in the series is the link target.\n + */ + PREV, + /** + * Refers to a resource that provides a preview of the link's context. + */ + PREVIEW, + /** + * Refers to the previous resource in an ordered series\n of resources. Synonym for \"prev\". + */ + PREVIOUS, + /** + * Refers to the immediately preceding archive resource. + */ + PREVARCHIVE, + /** + * Refers to a privacy policy associated with the link's context. + */ + PRIVACYPOLICY, + /** + * Identifying that a resource representation conforms\nto a certain profile, without affecting the non-profile semantics\nof the resource representation. + */ + PROFILE, + /** + * Links to a publication manifest. A manifest represents \n structured information about a publication, such as informative metadata, \n a list of resources, and a default reading order. + */ + PUBLICATION, + /** + * Identifies a related resource. + */ + RELATED, + /** + * Identifies the root of RESTCONF API as configured on this HTTP server.\n The \"restconf\" relation defines the root of the API defined in RFC8040.\n Subsequent revisions of RESTCONF will use alternate relation values to support \n protocol versioning. + */ + RESTCONF, + /** + * Identifies a resource that is a reply to the context\n of the link.\n + */ + REPLIES, + /** + * The resource identified by the link target provides an input value to an \n instance of a rule, where the resource which represents the rule instance is \n identified by the link context.\n + */ + RULEINPUT, + /** + * Refers to a resource that can be used to search through\n the link's context and related resources. + */ + SEARCH, + /** + * Refers to a section in a collection of resources. + */ + SECTION, + /** + * Conveys an identifier for the link's context.\n + */ + SELF, + /** + * Indicates a URI that can be used to retrieve a\n service document. + */ + SERVICE, + /** + * Identifies service description for the context that\n is primarily intended for consumption by machines. + */ + SERVICEDESC, + /** + * Identifies service documentation for the context that\n is primarily intended for human consumption. + */ + SERVICEDOC, + /** + * Identifies general metadata for the context that is\n primarily intended for consumption by machines. + */ + SERVICEMETA, + /** + * Refers to a resource that is within a context that is \n sponsored (such as advertising or another compensation agreement). + */ + SPONSORED, + /** + * Refers to the first resource in a collection of\n resources. + */ + START, + /** + * Identifies a resource that represents the context's\n status. + */ + STATUS, + /** + * Refers to a stylesheet. + */ + STYLESHEET, + /** + * Refers to a resource serving as a subsection in a\n collection of resources. + */ + SUBSECTION, + /** + * Points to a resource containing the successor version\n in the version history.\n + */ + SUCCESSORVERSION, + /** + * Identifies a resource that provides information about\n the context's retirement policy.\n + */ + SUNSET, + /** + * Gives a tag (identified by the given address) that applies to\n the current document.\n + */ + TAG, + /** + * Refers to the terms of service associated with the link's context. + */ + TERMSOFSERVICE, + /** + * The Target IRI points to a TimeGate for an Original Resource. + */ + TIMEGATE, + /** + * The Target IRI points to a TimeMap for an Original Resource. + */ + TIMEMAP, + /** + * Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance. + */ + TYPE, + /** + * Refers to a resource that is within a context that is User Generated Content.\n + */ + UGC, + /** + * Refers to a parent document in a hierarchy of\n documents.\n + */ + UP, + /** + * Points to a resource containing the version history\n for the context.\n + */ + VERSIONHISTORY, + /** + * Identifies a resource that is the source of the\n information in the link's context.\n + */ + VIA, + /** + * Identifies a target URI that supports the Webmention protocol.\n This allows clients that mention a resource in some form of publishing process\n to contact that endpoint and inform it that this resource has been mentioned. + */ + WEBMENTION, + /** + * Points to a working copy for this resource. + */ + WORKINGCOPY, + /** + * Points to the versioned resource from which this\n working copy was obtained.\n + */ + WORKINGCOPYOF, + /** + * added to help the parsers with the generic types + */ + NULL; + public static LinkRelationTypes fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("about".equals(codeString)) + return ABOUT; + if ("acl".equals(codeString)) + return ACL; + if ("alternate".equals(codeString)) + return ALTERNATE; + if ("amphtml".equals(codeString)) + return AMPHTML; + if ("appendix".equals(codeString)) + return APPENDIX; + if ("apple-touch-icon".equals(codeString)) + return APPLETOUCHICON; + if ("apple-touch-startup-image".equals(codeString)) + return APPLETOUCHSTARTUPIMAGE; + if ("archives".equals(codeString)) + return ARCHIVES; + if ("author".equals(codeString)) + return AUTHOR; + if ("blocked-by".equals(codeString)) + return BLOCKEDBY; + if ("bookmark".equals(codeString)) + return BOOKMARK; + if ("canonical".equals(codeString)) + return CANONICAL; + if ("chapter".equals(codeString)) + return CHAPTER; + if ("cite-as".equals(codeString)) + return CITEAS; + if ("collection".equals(codeString)) + return COLLECTION; + if ("contents".equals(codeString)) + return CONTENTS; + if ("convertedFrom".equals(codeString)) + return CONVERTEDFROM; + if ("copyright".equals(codeString)) + return COPYRIGHT; + if ("create-form".equals(codeString)) + return CREATEFORM; + if ("current".equals(codeString)) + return CURRENT; + if ("describedby".equals(codeString)) + return DESCRIBEDBY; + if ("describes".equals(codeString)) + return DESCRIBES; + if ("disclosure".equals(codeString)) + return DISCLOSURE; + if ("dns-prefetch".equals(codeString)) + return DNSPREFETCH; + if ("duplicate".equals(codeString)) + return DUPLICATE; + if ("edit".equals(codeString)) + return EDIT; + if ("edit-form".equals(codeString)) + return EDITFORM; + if ("edit-media".equals(codeString)) + return EDITMEDIA; + if ("enclosure".equals(codeString)) + return ENCLOSURE; + if ("external".equals(codeString)) + return EXTERNAL; + if ("first".equals(codeString)) + return FIRST; + if ("glossary".equals(codeString)) + return GLOSSARY; + if ("help".equals(codeString)) + return HELP; + if ("hosts".equals(codeString)) + return HOSTS; + if ("hub".equals(codeString)) + return HUB; + if ("icon".equals(codeString)) + return ICON; + if ("index".equals(codeString)) + return INDEX; + if ("intervalAfter".equals(codeString)) + return INTERVALAFTER; + if ("intervalBefore".equals(codeString)) + return INTERVALBEFORE; + if ("intervalContains".equals(codeString)) + return INTERVALCONTAINS; + if ("intervalDisjoint".equals(codeString)) + return INTERVALDISJOINT; + if ("intervalDuring".equals(codeString)) + return INTERVALDURING; + if ("intervalEquals".equals(codeString)) + return INTERVALEQUALS; + if ("intervalFinishedBy".equals(codeString)) + return INTERVALFINISHEDBY; + if ("intervalFinishes".equals(codeString)) + return INTERVALFINISHES; + if ("intervalIn".equals(codeString)) + return INTERVALIN; + if ("intervalMeets".equals(codeString)) + return INTERVALMEETS; + if ("intervalMetBy".equals(codeString)) + return INTERVALMETBY; + if ("intervalOverlappedBy".equals(codeString)) + return INTERVALOVERLAPPEDBY; + if ("intervalOverlaps".equals(codeString)) + return INTERVALOVERLAPS; + if ("intervalStartedBy".equals(codeString)) + return INTERVALSTARTEDBY; + if ("intervalStarts".equals(codeString)) + return INTERVALSTARTS; + if ("item".equals(codeString)) + return ITEM; + if ("last".equals(codeString)) + return LAST; + if ("latest-version".equals(codeString)) + return LATESTVERSION; + if ("license".equals(codeString)) + return LICENSE; + if ("linkset".equals(codeString)) + return LINKSET; + if ("lrdd".equals(codeString)) + return LRDD; + if ("manifest".equals(codeString)) + return MANIFEST; + if ("mask-icon".equals(codeString)) + return MASKICON; + if ("media-feed".equals(codeString)) + return MEDIAFEED; + if ("memento".equals(codeString)) + return MEMENTO; + if ("micropub".equals(codeString)) + return MICROPUB; + if ("modulepreload".equals(codeString)) + return MODULEPRELOAD; + if ("monitor".equals(codeString)) + return MONITOR; + if ("monitor-group".equals(codeString)) + return MONITORGROUP; + if ("next".equals(codeString)) + return NEXT; + if ("next-archive".equals(codeString)) + return NEXTARCHIVE; + if ("nofollow".equals(codeString)) + return NOFOLLOW; + if ("noopener".equals(codeString)) + return NOOPENER; + if ("noreferrer".equals(codeString)) + return NOREFERRER; + if ("opener".equals(codeString)) + return OPENER; + if ("openid2.local_id".equals(codeString)) + return OPENID2_LOCALID; + if ("openid2.provider".equals(codeString)) + return OPENID2_PROVIDER; + if ("original".equals(codeString)) + return ORIGINAL; + if ("P3Pv1".equals(codeString)) + return P3PV1; + if ("payment".equals(codeString)) + return PAYMENT; + if ("pingback".equals(codeString)) + return PINGBACK; + if ("preconnect".equals(codeString)) + return PRECONNECT; + if ("predecessor-version".equals(codeString)) + return PREDECESSORVERSION; + if ("prefetch".equals(codeString)) + return PREFETCH; + if ("preload".equals(codeString)) + return PRELOAD; + if ("prerender".equals(codeString)) + return PRERENDER; + if ("prev".equals(codeString)) + return PREV; + if ("preview".equals(codeString)) + return PREVIEW; + if ("previous".equals(codeString)) + return PREVIOUS; + if ("prev-archive".equals(codeString)) + return PREVARCHIVE; + if ("privacy-policy".equals(codeString)) + return PRIVACYPOLICY; + if ("profile".equals(codeString)) + return PROFILE; + if ("publication".equals(codeString)) + return PUBLICATION; + if ("related".equals(codeString)) + return RELATED; + if ("restconf".equals(codeString)) + return RESTCONF; + if ("replies".equals(codeString)) + return REPLIES; + if ("ruleinput".equals(codeString)) + return RULEINPUT; + if ("search".equals(codeString)) + return SEARCH; + if ("section".equals(codeString)) + return SECTION; + if ("self".equals(codeString)) + return SELF; + if ("service".equals(codeString)) + return SERVICE; + if ("service-desc".equals(codeString)) + return SERVICEDESC; + if ("service-doc".equals(codeString)) + return SERVICEDOC; + if ("service-meta".equals(codeString)) + return SERVICEMETA; + if ("sponsored".equals(codeString)) + return SPONSORED; + if ("start".equals(codeString)) + return START; + if ("status".equals(codeString)) + return STATUS; + if ("stylesheet".equals(codeString)) + return STYLESHEET; + if ("subsection".equals(codeString)) + return SUBSECTION; + if ("successor-version".equals(codeString)) + return SUCCESSORVERSION; + if ("sunset".equals(codeString)) + return SUNSET; + if ("tag".equals(codeString)) + return TAG; + if ("terms-of-service".equals(codeString)) + return TERMSOFSERVICE; + if ("timegate".equals(codeString)) + return TIMEGATE; + if ("timemap".equals(codeString)) + return TIMEMAP; + if ("type".equals(codeString)) + return TYPE; + if ("ugc".equals(codeString)) + return UGC; + if ("up".equals(codeString)) + return UP; + if ("version-history".equals(codeString)) + return VERSIONHISTORY; + if ("via".equals(codeString)) + return VIA; + if ("webmention".equals(codeString)) + return WEBMENTION; + if ("working-copy".equals(codeString)) + return WORKINGCOPY; + if ("working-copy-of".equals(codeString)) + return WORKINGCOPYOF; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown LinkRelationTypes code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case ABOUT: return "about"; + case ACL: return "acl"; + case ALTERNATE: return "alternate"; + case AMPHTML: return "amphtml"; + case APPENDIX: return "appendix"; + case APPLETOUCHICON: return "apple-touch-icon"; + case APPLETOUCHSTARTUPIMAGE: return "apple-touch-startup-image"; + case ARCHIVES: return "archives"; + case AUTHOR: return "author"; + case BLOCKEDBY: return "blocked-by"; + case BOOKMARK: return "bookmark"; + case CANONICAL: return "canonical"; + case CHAPTER: return "chapter"; + case CITEAS: return "cite-as"; + case COLLECTION: return "collection"; + case CONTENTS: return "contents"; + case CONVERTEDFROM: return "convertedFrom"; + case COPYRIGHT: return "copyright"; + case CREATEFORM: return "create-form"; + case CURRENT: return "current"; + case DESCRIBEDBY: return "describedby"; + case DESCRIBES: return "describes"; + case DISCLOSURE: return "disclosure"; + case DNSPREFETCH: return "dns-prefetch"; + case DUPLICATE: return "duplicate"; + case EDIT: return "edit"; + case EDITFORM: return "edit-form"; + case EDITMEDIA: return "edit-media"; + case ENCLOSURE: return "enclosure"; + case EXTERNAL: return "external"; + case FIRST: return "first"; + case GLOSSARY: return "glossary"; + case HELP: return "help"; + case HOSTS: return "hosts"; + case HUB: return "hub"; + case ICON: return "icon"; + case INDEX: return "index"; + case INTERVALAFTER: return "intervalAfter"; + case INTERVALBEFORE: return "intervalBefore"; + case INTERVALCONTAINS: return "intervalContains"; + case INTERVALDISJOINT: return "intervalDisjoint"; + case INTERVALDURING: return "intervalDuring"; + case INTERVALEQUALS: return "intervalEquals"; + case INTERVALFINISHEDBY: return "intervalFinishedBy"; + case INTERVALFINISHES: return "intervalFinishes"; + case INTERVALIN: return "intervalIn"; + case INTERVALMEETS: return "intervalMeets"; + case INTERVALMETBY: return "intervalMetBy"; + case INTERVALOVERLAPPEDBY: return "intervalOverlappedBy"; + case INTERVALOVERLAPS: return "intervalOverlaps"; + case INTERVALSTARTEDBY: return "intervalStartedBy"; + case INTERVALSTARTS: return "intervalStarts"; + case ITEM: return "item"; + case LAST: return "last"; + case LATESTVERSION: return "latest-version"; + case LICENSE: return "license"; + case LINKSET: return "linkset"; + case LRDD: return "lrdd"; + case MANIFEST: return "manifest"; + case MASKICON: return "mask-icon"; + case MEDIAFEED: return "media-feed"; + case MEMENTO: return "memento"; + case MICROPUB: return "micropub"; + case MODULEPRELOAD: return "modulepreload"; + case MONITOR: return "monitor"; + case MONITORGROUP: return "monitor-group"; + case NEXT: return "next"; + case NEXTARCHIVE: return "next-archive"; + case NOFOLLOW: return "nofollow"; + case NOOPENER: return "noopener"; + case NOREFERRER: return "noreferrer"; + case OPENER: return "opener"; + case OPENID2_LOCALID: return "openid2.local_id"; + case OPENID2_PROVIDER: return "openid2.provider"; + case ORIGINAL: return "original"; + case P3PV1: return "P3Pv1"; + case PAYMENT: return "payment"; + case PINGBACK: return "pingback"; + case PRECONNECT: return "preconnect"; + case PREDECESSORVERSION: return "predecessor-version"; + case PREFETCH: return "prefetch"; + case PRELOAD: return "preload"; + case PRERENDER: return "prerender"; + case PREV: return "prev"; + case PREVIEW: return "preview"; + case PREVIOUS: return "previous"; + case PREVARCHIVE: return "prev-archive"; + case PRIVACYPOLICY: return "privacy-policy"; + case PROFILE: return "profile"; + case PUBLICATION: return "publication"; + case RELATED: return "related"; + case RESTCONF: return "restconf"; + case REPLIES: return "replies"; + case RULEINPUT: return "ruleinput"; + case SEARCH: return "search"; + case SECTION: return "section"; + case SELF: return "self"; + case SERVICE: return "service"; + case SERVICEDESC: return "service-desc"; + case SERVICEDOC: return "service-doc"; + case SERVICEMETA: return "service-meta"; + case SPONSORED: return "sponsored"; + case START: return "start"; + case STATUS: return "status"; + case STYLESHEET: return "stylesheet"; + case SUBSECTION: return "subsection"; + case SUCCESSORVERSION: return "successor-version"; + case SUNSET: return "sunset"; + case TAG: return "tag"; + case TERMSOFSERVICE: return "terms-of-service"; + case TIMEGATE: return "timegate"; + case TIMEMAP: return "timemap"; + case TYPE: return "type"; + case UGC: return "ugc"; + case UP: return "up"; + case VERSIONHISTORY: return "version-history"; + case VIA: return "via"; + case WEBMENTION: return "webmention"; + case WORKINGCOPY: return "working-copy"; + case WORKINGCOPYOF: return "working-copy-of"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case ABOUT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ACL: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ALTERNATE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case AMPHTML: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case APPENDIX: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case APPLETOUCHICON: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case APPLETOUCHSTARTUPIMAGE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ARCHIVES: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case AUTHOR: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case BLOCKEDBY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case BOOKMARK: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CANONICAL: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CHAPTER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CITEAS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case COLLECTION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CONTENTS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CONVERTEDFROM: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case COPYRIGHT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CREATEFORM: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case CURRENT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case DESCRIBEDBY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case DESCRIBES: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case DISCLOSURE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case DNSPREFETCH: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case DUPLICATE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case EDIT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case EDITFORM: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case EDITMEDIA: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ENCLOSURE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case EXTERNAL: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case FIRST: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case GLOSSARY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case HELP: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case HOSTS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case HUB: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ICON: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INDEX: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALAFTER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALBEFORE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALCONTAINS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALDISJOINT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALDURING: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALEQUALS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALFINISHEDBY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALFINISHES: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALIN: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALMEETS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALMETBY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALOVERLAPPEDBY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALOVERLAPS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALSTARTEDBY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case INTERVALSTARTS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ITEM: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case LAST: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case LATESTVERSION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case LICENSE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case LINKSET: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case LRDD: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MANIFEST: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MASKICON: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MEDIAFEED: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MEMENTO: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MICROPUB: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MODULEPRELOAD: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MONITOR: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case MONITORGROUP: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case NEXT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case NEXTARCHIVE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case NOFOLLOW: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case NOOPENER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case NOREFERRER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case OPENER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case OPENID2_LOCALID: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case OPENID2_PROVIDER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case ORIGINAL: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case P3PV1: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PAYMENT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PINGBACK: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PRECONNECT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PREDECESSORVERSION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PREFETCH: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PRELOAD: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PRERENDER: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PREV: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PREVIEW: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PREVIOUS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PREVARCHIVE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PRIVACYPOLICY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PROFILE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case PUBLICATION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case RELATED: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case RESTCONF: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case REPLIES: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case RULEINPUT: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SEARCH: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SECTION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SELF: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SERVICE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SERVICEDESC: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SERVICEDOC: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SERVICEMETA: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SPONSORED: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case START: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case STATUS: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case STYLESHEET: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SUBSECTION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SUCCESSORVERSION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case SUNSET: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case TAG: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case TERMSOFSERVICE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case TIMEGATE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case TIMEMAP: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case TYPE: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case UGC: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case UP: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case VERSIONHISTORY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case VIA: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case WEBMENTION: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case WORKINGCOPY: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case WORKINGCOPYOF: return "http://hl7.org/fhir/CodeSystem/iana-link-relations"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case ABOUT: return "Refers to a resource that is the subject of the link's context."; + case ACL: return "Asserts that the link target provides an access control description for the link context."; + case ALTERNATE: return "Refers to a substitute for this context"; + case AMPHTML: return "Used to reference alternative content that uses the AMP profile of the HTML format."; + case APPENDIX: return "Refers to an appendix."; + case APPLETOUCHICON: return "Refers to an icon for the context. Synonym for icon."; + case APPLETOUCHSTARTUPIMAGE: return "Refers to a launch screen for the context."; + case ARCHIVES: return "Refers to a collection of records, documents, or other\n materials of historical interest."; + case AUTHOR: return "Refers to the context's author."; + case BLOCKEDBY: return "Identifies the entity that blocks access to a resource\n following receipt of a legal demand."; + case BOOKMARK: return "Gives a permanent link to use for bookmarking purposes."; + case CANONICAL: return "Designates the preferred version of a resource (the IRI and its contents)."; + case CHAPTER: return "Refers to a chapter in a collection of resources."; + case CITEAS: return "Indicates that the link target is preferred over the link context for the purpose of permanent citation."; + case COLLECTION: return "The target IRI points to a resource which represents the collection resource for the context IRI."; + case CONTENTS: return "Refers to a table of contents."; + case CONVERTEDFROM: return "The document linked to was later converted to the\n document that contains this link relation. For example, an RFC can\n have a link to the Internet-Draft that became the RFC; in that case,\n the link relation would be \"convertedFrom\"."; + case COPYRIGHT: return "Refers to a copyright statement that applies to the\n link's context."; + case CREATEFORM: return "The target IRI points to a resource where a submission form can be obtained."; + case CURRENT: return "Refers to a resource containing the most recent\n item(s) in a collection of resources."; + case DESCRIBEDBY: return "Refers to a resource providing information about the\n link's context."; + case DESCRIBES: return "The relationship A 'describes' B asserts that\n resource A provides a description of resource B. There are no\n constraints on the format or representation of either A or B,\n neither are there any further constraints on either resource."; + case DISCLOSURE: return "Refers to a list of patent disclosures made with respect to \n material for which 'disclosure' relation is specified."; + case DNSPREFETCH: return "Used to indicate an origin that will be used to fetch required \n resources for the link context, and that the user agent ought to resolve \n as early as possible."; + case DUPLICATE: return "Refers to a resource whose available representations\n are byte-for-byte identical with the corresponding representations of\n the context IRI."; + case EDIT: return "Refers to a resource that can be used to edit the\n link's context."; + case EDITFORM: return "The target IRI points to a resource where a submission form for\n editing associated resource can be obtained."; + case EDITMEDIA: return "Refers to a resource that can be used to edit media\n associated with the link's context."; + case ENCLOSURE: return "Identifies a related resource that is potentially\n large and might require special handling."; + case EXTERNAL: return "Refers to a resource that is not part of the same site as the current context."; + case FIRST: return "An IRI that refers to the furthest preceding resource\n in a series of resources."; + case GLOSSARY: return "Refers to a glossary of terms."; + case HELP: return "Refers to context-sensitive help."; + case HOSTS: return "Refers to a resource hosted by the server indicated by\n the link context."; + case HUB: return "Refers to a hub that enables registration for\n notification of updates to the context."; + case ICON: return "Refers to an icon representing the link's context."; + case INDEX: return "Refers to an index."; + case INTERVALAFTER: return "refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource"; + case INTERVALBEFORE: return "refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource"; + case INTERVALCONTAINS: return "refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource"; + case INTERVALDISJOINT: return "refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource"; + case INTERVALDURING: return "refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"; + case INTERVALEQUALS: return "refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"; + case INTERVALFINISHEDBY: return "refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"; + case INTERVALFINISHES: return "refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"; + case INTERVALIN: return "refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource"; + case INTERVALMEETS: return "refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource"; + case INTERVALMETBY: return "refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource"; + case INTERVALOVERLAPPEDBY: return "refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource"; + case INTERVALOVERLAPS: return "refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"; + case INTERVALSTARTEDBY: return "refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource"; + case INTERVALSTARTS: return "refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"; + case ITEM: return "The target IRI points to a resource that is a member of the collection represented by the context IRI."; + case LAST: return "An IRI that refers to the furthest following resource\n in a series of resources."; + case LATESTVERSION: return "Points to a resource containing the latest (e.g.,\n current) version of the context."; + case LICENSE: return "Refers to a license associated with this context."; + case LINKSET: return "The link target of a link with the \"linkset\" relation\n type provides a set of links, including links in which the link\n context of the link participates.\n "; + case LRDD: return "Refers to further information about the link's context,\n expressed as a LRDD (\"Link-based Resource Descriptor Document\")\n resource. See for information about\n processing this relation type in host-meta documents. When used\n elsewhere, it refers to additional links and other metadata.\n Multiple instances indicate additional LRDD resources. LRDD\n resources MUST have an \"application/xrd+xml\" representation, and\n MAY have others."; + case MANIFEST: return "Links to a manifest file for the context."; + case MASKICON: return "Refers to a mask that can be applied to the icon for the context."; + case MEDIAFEED: return "Refers to a feed of personalised media recommendations relevant to the link context."; + case MEMENTO: return "The Target IRI points to a Memento, a fixed resource that will not change state anymore."; + case MICROPUB: return "Links to the context's Micropub endpoint."; + case MODULEPRELOAD: return "Refers to a module that the user agent is to preemptively fetch and store for use in the current context."; + case MONITOR: return "Refers to a resource that can be used to monitor changes in an HTTP resource.\n "; + case MONITORGROUP: return "Refers to a resource that can be used to monitor changes in a specified group of HTTP resources.\n "; + case NEXT: return "Indicates that the link's context is a part of a series, and\n that the next in the series is the link target.\n "; + case NEXTARCHIVE: return "Refers to the immediately following archive resource."; + case NOFOLLOW: return "Indicates that the context’s original author or publisher does not endorse the link target."; + case NOOPENER: return "Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context."; + case NOREFERRER: return "Indicates that no referrer information is to be leaked when following the link."; + case OPENER: return "Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context."; + case OPENID2_LOCALID: return "Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier."; + case OPENID2_PROVIDER: return "Refers to a resource which accepts OpenID Authentication protocol messages for the context."; + case ORIGINAL: return "The Target IRI points to an Original Resource."; + case P3PV1: return "Refers to a P3P privacy policy for the context."; + case PAYMENT: return "Indicates a resource where payment is accepted."; + case PINGBACK: return "Gives the address of the pingback resource for the link context."; + case PRECONNECT: return "Used to indicate an origin that will be used to fetch required \n resources for the link context. Initiating an early connection, which \n includes the DNS lookup, TCP handshake, and optional TLS negotiation, \n allows the user agent to mask the high latency costs of establishing a \n connection."; + case PREDECESSORVERSION: return "Points to a resource containing the predecessor\n version in the version history.\n "; + case PREFETCH: return "The prefetch link relation type is used to identify a resource \n that might be required by the next navigation from the link context, and \n that the user agent ought to fetch, such that the user agent can deliver a \n faster response once the resource is requested in the future."; + case PRELOAD: return "Refers to a resource that should be loaded early in the \n processing of the link's context, without blocking rendering."; + case PRERENDER: return "Used to identify a resource that might be required by the next \n navigation from the link context, and that the user agent ought to fetch \n and execute, such that the user agent can deliver a faster response once \n the resource is requested in the future."; + case PREV: return "Indicates that the link's context is a part of a series, and\n that the previous in the series is the link target.\n "; + case PREVIEW: return "Refers to a resource that provides a preview of the link's context."; + case PREVIOUS: return "Refers to the previous resource in an ordered series\n of resources. Synonym for \"prev\"."; + case PREVARCHIVE: return "Refers to the immediately preceding archive resource."; + case PRIVACYPOLICY: return "Refers to a privacy policy associated with the link's context."; + case PROFILE: return "Identifying that a resource representation conforms\nto a certain profile, without affecting the non-profile semantics\nof the resource representation."; + case PUBLICATION: return "Links to a publication manifest. A manifest represents \n structured information about a publication, such as informative metadata, \n a list of resources, and a default reading order."; + case RELATED: return "Identifies a related resource."; + case RESTCONF: return "Identifies the root of RESTCONF API as configured on this HTTP server.\n The \"restconf\" relation defines the root of the API defined in RFC8040.\n Subsequent revisions of RESTCONF will use alternate relation values to support \n protocol versioning."; + case REPLIES: return "Identifies a resource that is a reply to the context\n of the link.\n "; + case RULEINPUT: return "The resource identified by the link target provides an input value to an \n instance of a rule, where the resource which represents the rule instance is \n identified by the link context.\n "; + case SEARCH: return "Refers to a resource that can be used to search through\n the link's context and related resources."; + case SECTION: return "Refers to a section in a collection of resources."; + case SELF: return "Conveys an identifier for the link's context.\n "; + case SERVICE: return "Indicates a URI that can be used to retrieve a\n service document."; + case SERVICEDESC: return "Identifies service description for the context that\n is primarily intended for consumption by machines."; + case SERVICEDOC: return "Identifies service documentation for the context that\n is primarily intended for human consumption."; + case SERVICEMETA: return "Identifies general metadata for the context that is\n primarily intended for consumption by machines."; + case SPONSORED: return "Refers to a resource that is within a context that is \n sponsored (such as advertising or another compensation agreement)."; + case START: return "Refers to the first resource in a collection of\n resources."; + case STATUS: return "Identifies a resource that represents the context's\n status."; + case STYLESHEET: return "Refers to a stylesheet."; + case SUBSECTION: return "Refers to a resource serving as a subsection in a\n collection of resources."; + case SUCCESSORVERSION: return "Points to a resource containing the successor version\n in the version history.\n "; + case SUNSET: return "Identifies a resource that provides information about\n the context's retirement policy.\n "; + case TAG: return "Gives a tag (identified by the given address) that applies to\n the current document.\n "; + case TERMSOFSERVICE: return "Refers to the terms of service associated with the link's context."; + case TIMEGATE: return "The Target IRI points to a TimeGate for an Original Resource."; + case TIMEMAP: return "The Target IRI points to a TimeMap for an Original Resource."; + case TYPE: return "Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance."; + case UGC: return "Refers to a resource that is within a context that is User Generated Content.\n "; + case UP: return "Refers to a parent document in a hierarchy of\n documents.\n "; + case VERSIONHISTORY: return "Points to a resource containing the version history\n for the context.\n "; + case VIA: return "Identifies a resource that is the source of the\n information in the link's context.\n "; + case WEBMENTION: return "Identifies a target URI that supports the Webmention protocol.\n This allows clients that mention a resource in some form of publishing process\n to contact that endpoint and inform it that this resource has been mentioned."; + case WORKINGCOPY: return "Points to a working copy for this resource."; + case WORKINGCOPYOF: return "Points to the versioned resource from which this\n working copy was obtained.\n "; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case ABOUT: return "Refers to a resource that is the subject of the link's context."; + case ACL: return "Asserts that the link target provides an access control description for the link context."; + case ALTERNATE: return "Refers to a substitute for this context"; + case AMPHTML: return "Used to reference alternative content that uses the AMP profile of the HTML format."; + case APPENDIX: return "Refers to an appendix."; + case APPLETOUCHICON: return "Refers to an icon for the context. Synonym for icon."; + case APPLETOUCHSTARTUPIMAGE: return "Refers to a launch screen for the context."; + case ARCHIVES: return "Refers to a collection of records, documents, or other\n materials of historical interest."; + case AUTHOR: return "Refers to the context's author."; + case BLOCKEDBY: return "Identifies the entity that blocks access to a resource\n following receipt of a legal demand."; + case BOOKMARK: return "Gives a permanent link to use for bookmarking purposes."; + case CANONICAL: return "Designates the preferred version of a resource (the IRI and its contents)."; + case CHAPTER: return "Refers to a chapter in a collection of resources."; + case CITEAS: return "Indicates that the link target is preferred over the link context for the purpose of permanent citation."; + case COLLECTION: return "The target IRI points to a resource which represents the collection resource for the context IRI."; + case CONTENTS: return "Refers to a table of contents."; + case CONVERTEDFROM: return "The document linked to was later converted to the\n document that contains this link relation. For example, an RFC can\n have a link to the Internet-Draft that became the RFC; in that case,\n the link relation would be \"convertedFrom\"."; + case COPYRIGHT: return "Refers to a copyright statement that applies to the\n link's context."; + case CREATEFORM: return "The target IRI points to a resource where a submission form can be obtained."; + case CURRENT: return "Refers to a resource containing the most recent\n item(s) in a collection of resources."; + case DESCRIBEDBY: return "Refers to a resource providing information about the\n link's context."; + case DESCRIBES: return "The relationship A 'describes' B asserts that\n resource A provides a description of resource B. There are no\n constraints on the format or representation of either A or B,\n neither are there any further constraints on either resource."; + case DISCLOSURE: return "Refers to a list of patent disclosures made with respect to \n material for which 'disclosure' relation is specified."; + case DNSPREFETCH: return "Used to indicate an origin that will be used to fetch required \n resources for the link context, and that the user agent ought to resolve \n as early as possible."; + case DUPLICATE: return "Refers to a resource whose available representations\n are byte-for-byte identical with the corresponding representations of\n the context IRI."; + case EDIT: return "Refers to a resource that can be used to edit the\n link's context."; + case EDITFORM: return "The target IRI points to a resource where a submission form for\n editing associated resource can be obtained."; + case EDITMEDIA: return "Refers to a resource that can be used to edit media\n associated with the link's context."; + case ENCLOSURE: return "Identifies a related resource that is potentially\n large and might require special handling."; + case EXTERNAL: return "Refers to a resource that is not part of the same site as the current context."; + case FIRST: return "An IRI that refers to the furthest preceding resource\n in a series of resources."; + case GLOSSARY: return "Refers to a glossary of terms."; + case HELP: return "Refers to context-sensitive help."; + case HOSTS: return "Refers to a resource hosted by the server indicated by\n the link context."; + case HUB: return "Refers to a hub that enables registration for\n notification of updates to the context."; + case ICON: return "Refers to an icon representing the link's context."; + case INDEX: return "Refers to an index."; + case INTERVALAFTER: return "refers to a resource associated with a time interval that ends before the beginning of the time interval associated with the context resource"; + case INTERVALBEFORE: return "refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource"; + case INTERVALCONTAINS: return "refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource"; + case INTERVALDISJOINT: return "refers to a resource associated with a time interval that begins after the end of the time interval associated with the context resource, or ends before the beginning of the time interval associated with the context resource"; + case INTERVALDURING: return "refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"; + case INTERVALEQUALS: return "refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"; + case INTERVALFINISHEDBY: return "refers to a resource associated with a time interval that begins after the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"; + case INTERVALFINISHES: return "refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and whose end coincides with the end of the time interval associated with the context resource"; + case INTERVALIN: return "refers to a resource associated with a time interval that begins before or is coincident with the beginning of the time interval associated with the context resource, and ends after or is coincident with the end of the time interval associated with the context resource"; + case INTERVALMEETS: return "refers to a resource associated with a time interval whose beginning coincides with the end of the time interval associated with the context resource"; + case INTERVALMETBY: return "refers to a resource associated with a time interval whose end coincides with the beginning of the time interval associated with the context resource"; + case INTERVALOVERLAPPEDBY: return "refers to a resource associated with a time interval that begins before the beginning of the time interval associated with the context resource, and ends after the beginning of the time interval associated with the context resource"; + case INTERVALOVERLAPS: return "refers to a resource associated with a time interval that begins before the end of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"; + case INTERVALSTARTEDBY: return "refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends before the end of the time interval associated with the context resource"; + case INTERVALSTARTS: return "refers to a resource associated with a time interval whose beginning coincides with the beginning of the time interval associated with the context resource, and ends after the end of the time interval associated with the context resource"; + case ITEM: return "The target IRI points to a resource that is a member of the collection represented by the context IRI."; + case LAST: return "An IRI that refers to the furthest following resource\n in a series of resources."; + case LATESTVERSION: return "Points to a resource containing the latest (e.g.,\n current) version of the context."; + case LICENSE: return "Refers to a license associated with this context."; + case LINKSET: return "The link target of a link with the \"linkset\" relation\n type provides a set of links, including links in which the link\n context of the link participates.\n "; + case LRDD: return "Refers to further information about the link's context,\n expressed as a LRDD (\"Link-based Resource Descriptor Document\")\n resource. See for information about\n processing this relation type in host-meta documents. When used\n elsewhere, it refers to additional links and other metadata.\n Multiple instances indicate additional LRDD resources. LRDD\n resources MUST have an \"application/xrd+xml\" representation, and\n MAY have others."; + case MANIFEST: return "Links to a manifest file for the context."; + case MASKICON: return "Refers to a mask that can be applied to the icon for the context."; + case MEDIAFEED: return "Refers to a feed of personalised media recommendations relevant to the link context."; + case MEMENTO: return "The Target IRI points to a Memento, a fixed resource that will not change state anymore."; + case MICROPUB: return "Links to the context's Micropub endpoint."; + case MODULEPRELOAD: return "Refers to a module that the user agent is to preemptively fetch and store for use in the current context."; + case MONITOR: return "Refers to a resource that can be used to monitor changes in an HTTP resource.\n "; + case MONITORGROUP: return "Refers to a resource that can be used to monitor changes in a specified group of HTTP resources.\n "; + case NEXT: return "Indicates that the link's context is a part of a series, and\n that the next in the series is the link target.\n "; + case NEXTARCHIVE: return "Refers to the immediately following archive resource."; + case NOFOLLOW: return "Indicates that the context’s original author or publisher does not endorse the link target."; + case NOOPENER: return "Indicates that any newly created top-level browsing context which results from following the link will not be an auxiliary browsing context."; + case NOREFERRER: return "Indicates that no referrer information is to be leaked when following the link."; + case OPENER: return "Indicates that any newly created top-level browsing context which results from following the link will be an auxiliary browsing context."; + case OPENID2_LOCALID: return "Refers to an OpenID Authentication server on which the context relies for an assertion that the end user controls an Identifier."; + case OPENID2_PROVIDER: return "Refers to a resource which accepts OpenID Authentication protocol messages for the context."; + case ORIGINAL: return "The Target IRI points to an Original Resource."; + case P3PV1: return "Refers to a P3P privacy policy for the context."; + case PAYMENT: return "Indicates a resource where payment is accepted."; + case PINGBACK: return "Gives the address of the pingback resource for the link context."; + case PRECONNECT: return "Used to indicate an origin that will be used to fetch required \n resources for the link context. Initiating an early connection, which \n includes the DNS lookup, TCP handshake, and optional TLS negotiation, \n allows the user agent to mask the high latency costs of establishing a \n connection."; + case PREDECESSORVERSION: return "Points to a resource containing the predecessor\n version in the version history.\n "; + case PREFETCH: return "The prefetch link relation type is used to identify a resource \n that might be required by the next navigation from the link context, and \n that the user agent ought to fetch, such that the user agent can deliver a \n faster response once the resource is requested in the future."; + case PRELOAD: return "Refers to a resource that should be loaded early in the \n processing of the link's context, without blocking rendering."; + case PRERENDER: return "Used to identify a resource that might be required by the next \n navigation from the link context, and that the user agent ought to fetch \n and execute, such that the user agent can deliver a faster response once \n the resource is requested in the future."; + case PREV: return "Indicates that the link's context is a part of a series, and\n that the previous in the series is the link target.\n "; + case PREVIEW: return "Refers to a resource that provides a preview of the link's context."; + case PREVIOUS: return "Refers to the previous resource in an ordered series\n of resources. Synonym for \"prev\"."; + case PREVARCHIVE: return "Refers to the immediately preceding archive resource."; + case PRIVACYPOLICY: return "Refers to a privacy policy associated with the link's context."; + case PROFILE: return "Identifying that a resource representation conforms\nto a certain profile, without affecting the non-profile semantics\nof the resource representation."; + case PUBLICATION: return "Links to a publication manifest. A manifest represents \n structured information about a publication, such as informative metadata, \n a list of resources, and a default reading order."; + case RELATED: return "Identifies a related resource."; + case RESTCONF: return "Identifies the root of RESTCONF API as configured on this HTTP server.\n The \"restconf\" relation defines the root of the API defined in RFC8040.\n Subsequent revisions of RESTCONF will use alternate relation values to support \n protocol versioning."; + case REPLIES: return "Identifies a resource that is a reply to the context\n of the link.\n "; + case RULEINPUT: return "The resource identified by the link target provides an input value to an \n instance of a rule, where the resource which represents the rule instance is \n identified by the link context.\n "; + case SEARCH: return "Refers to a resource that can be used to search through\n the link's context and related resources."; + case SECTION: return "Refers to a section in a collection of resources."; + case SELF: return "Conveys an identifier for the link's context.\n "; + case SERVICE: return "Indicates a URI that can be used to retrieve a\n service document."; + case SERVICEDESC: return "Identifies service description for the context that\n is primarily intended for consumption by machines."; + case SERVICEDOC: return "Identifies service documentation for the context that\n is primarily intended for human consumption."; + case SERVICEMETA: return "Identifies general metadata for the context that is\n primarily intended for consumption by machines."; + case SPONSORED: return "Refers to a resource that is within a context that is \n sponsored (such as advertising or another compensation agreement)."; + case START: return "Refers to the first resource in a collection of\n resources."; + case STATUS: return "Identifies a resource that represents the context's\n status."; + case STYLESHEET: return "Refers to a stylesheet."; + case SUBSECTION: return "Refers to a resource serving as a subsection in a\n collection of resources."; + case SUCCESSORVERSION: return "Points to a resource containing the successor version\n in the version history.\n "; + case SUNSET: return "Identifies a resource that provides information about\n the context's retirement policy.\n "; + case TAG: return "Gives a tag (identified by the given address) that applies to\n the current document.\n "; + case TERMSOFSERVICE: return "Refers to the terms of service associated with the link's context."; + case TIMEGATE: return "The Target IRI points to a TimeGate for an Original Resource."; + case TIMEMAP: return "The Target IRI points to a TimeMap for an Original Resource."; + case TYPE: return "Refers to a resource identifying the abstract semantic type of which the link's context is considered to be an instance."; + case UGC: return "Refers to a resource that is within a context that is User Generated Content.\n "; + case UP: return "Refers to a parent document in a hierarchy of\n documents.\n "; + case VERSIONHISTORY: return "Points to a resource containing the version history\n for the context.\n "; + case VIA: return "Identifies a resource that is the source of the\n information in the link's context.\n "; + case WEBMENTION: return "Identifies a target URI that supports the Webmention protocol.\n This allows clients that mention a resource in some form of publishing process\n to contact that endpoint and inform it that this resource has been mentioned."; + case WORKINGCOPY: return "Points to a working copy for this resource."; + case WORKINGCOPYOF: return "Points to the versioned resource from which this\n working copy was obtained.\n "; + case NULL: return null; + default: return "?"; + } + } + } + + public static class LinkRelationTypesEnumFactory implements EnumFactory { + public LinkRelationTypes fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("about".equals(codeString)) + return LinkRelationTypes.ABOUT; + if ("acl".equals(codeString)) + return LinkRelationTypes.ACL; + if ("alternate".equals(codeString)) + return LinkRelationTypes.ALTERNATE; + if ("amphtml".equals(codeString)) + return LinkRelationTypes.AMPHTML; + if ("appendix".equals(codeString)) + return LinkRelationTypes.APPENDIX; + if ("apple-touch-icon".equals(codeString)) + return LinkRelationTypes.APPLETOUCHICON; + if ("apple-touch-startup-image".equals(codeString)) + return LinkRelationTypes.APPLETOUCHSTARTUPIMAGE; + if ("archives".equals(codeString)) + return LinkRelationTypes.ARCHIVES; + if ("author".equals(codeString)) + return LinkRelationTypes.AUTHOR; + if ("blocked-by".equals(codeString)) + return LinkRelationTypes.BLOCKEDBY; + if ("bookmark".equals(codeString)) + return LinkRelationTypes.BOOKMARK; + if ("canonical".equals(codeString)) + return LinkRelationTypes.CANONICAL; + if ("chapter".equals(codeString)) + return LinkRelationTypes.CHAPTER; + if ("cite-as".equals(codeString)) + return LinkRelationTypes.CITEAS; + if ("collection".equals(codeString)) + return LinkRelationTypes.COLLECTION; + if ("contents".equals(codeString)) + return LinkRelationTypes.CONTENTS; + if ("convertedFrom".equals(codeString)) + return LinkRelationTypes.CONVERTEDFROM; + if ("copyright".equals(codeString)) + return LinkRelationTypes.COPYRIGHT; + if ("create-form".equals(codeString)) + return LinkRelationTypes.CREATEFORM; + if ("current".equals(codeString)) + return LinkRelationTypes.CURRENT; + if ("describedby".equals(codeString)) + return LinkRelationTypes.DESCRIBEDBY; + if ("describes".equals(codeString)) + return LinkRelationTypes.DESCRIBES; + if ("disclosure".equals(codeString)) + return LinkRelationTypes.DISCLOSURE; + if ("dns-prefetch".equals(codeString)) + return LinkRelationTypes.DNSPREFETCH; + if ("duplicate".equals(codeString)) + return LinkRelationTypes.DUPLICATE; + if ("edit".equals(codeString)) + return LinkRelationTypes.EDIT; + if ("edit-form".equals(codeString)) + return LinkRelationTypes.EDITFORM; + if ("edit-media".equals(codeString)) + return LinkRelationTypes.EDITMEDIA; + if ("enclosure".equals(codeString)) + return LinkRelationTypes.ENCLOSURE; + if ("external".equals(codeString)) + return LinkRelationTypes.EXTERNAL; + if ("first".equals(codeString)) + return LinkRelationTypes.FIRST; + if ("glossary".equals(codeString)) + return LinkRelationTypes.GLOSSARY; + if ("help".equals(codeString)) + return LinkRelationTypes.HELP; + if ("hosts".equals(codeString)) + return LinkRelationTypes.HOSTS; + if ("hub".equals(codeString)) + return LinkRelationTypes.HUB; + if ("icon".equals(codeString)) + return LinkRelationTypes.ICON; + if ("index".equals(codeString)) + return LinkRelationTypes.INDEX; + if ("intervalAfter".equals(codeString)) + return LinkRelationTypes.INTERVALAFTER; + if ("intervalBefore".equals(codeString)) + return LinkRelationTypes.INTERVALBEFORE; + if ("intervalContains".equals(codeString)) + return LinkRelationTypes.INTERVALCONTAINS; + if ("intervalDisjoint".equals(codeString)) + return LinkRelationTypes.INTERVALDISJOINT; + if ("intervalDuring".equals(codeString)) + return LinkRelationTypes.INTERVALDURING; + if ("intervalEquals".equals(codeString)) + return LinkRelationTypes.INTERVALEQUALS; + if ("intervalFinishedBy".equals(codeString)) + return LinkRelationTypes.INTERVALFINISHEDBY; + if ("intervalFinishes".equals(codeString)) + return LinkRelationTypes.INTERVALFINISHES; + if ("intervalIn".equals(codeString)) + return LinkRelationTypes.INTERVALIN; + if ("intervalMeets".equals(codeString)) + return LinkRelationTypes.INTERVALMEETS; + if ("intervalMetBy".equals(codeString)) + return LinkRelationTypes.INTERVALMETBY; + if ("intervalOverlappedBy".equals(codeString)) + return LinkRelationTypes.INTERVALOVERLAPPEDBY; + if ("intervalOverlaps".equals(codeString)) + return LinkRelationTypes.INTERVALOVERLAPS; + if ("intervalStartedBy".equals(codeString)) + return LinkRelationTypes.INTERVALSTARTEDBY; + if ("intervalStarts".equals(codeString)) + return LinkRelationTypes.INTERVALSTARTS; + if ("item".equals(codeString)) + return LinkRelationTypes.ITEM; + if ("last".equals(codeString)) + return LinkRelationTypes.LAST; + if ("latest-version".equals(codeString)) + return LinkRelationTypes.LATESTVERSION; + if ("license".equals(codeString)) + return LinkRelationTypes.LICENSE; + if ("linkset".equals(codeString)) + return LinkRelationTypes.LINKSET; + if ("lrdd".equals(codeString)) + return LinkRelationTypes.LRDD; + if ("manifest".equals(codeString)) + return LinkRelationTypes.MANIFEST; + if ("mask-icon".equals(codeString)) + return LinkRelationTypes.MASKICON; + if ("media-feed".equals(codeString)) + return LinkRelationTypes.MEDIAFEED; + if ("memento".equals(codeString)) + return LinkRelationTypes.MEMENTO; + if ("micropub".equals(codeString)) + return LinkRelationTypes.MICROPUB; + if ("modulepreload".equals(codeString)) + return LinkRelationTypes.MODULEPRELOAD; + if ("monitor".equals(codeString)) + return LinkRelationTypes.MONITOR; + if ("monitor-group".equals(codeString)) + return LinkRelationTypes.MONITORGROUP; + if ("next".equals(codeString)) + return LinkRelationTypes.NEXT; + if ("next-archive".equals(codeString)) + return LinkRelationTypes.NEXTARCHIVE; + if ("nofollow".equals(codeString)) + return LinkRelationTypes.NOFOLLOW; + if ("noopener".equals(codeString)) + return LinkRelationTypes.NOOPENER; + if ("noreferrer".equals(codeString)) + return LinkRelationTypes.NOREFERRER; + if ("opener".equals(codeString)) + return LinkRelationTypes.OPENER; + if ("openid2.local_id".equals(codeString)) + return LinkRelationTypes.OPENID2_LOCALID; + if ("openid2.provider".equals(codeString)) + return LinkRelationTypes.OPENID2_PROVIDER; + if ("original".equals(codeString)) + return LinkRelationTypes.ORIGINAL; + if ("P3Pv1".equals(codeString)) + return LinkRelationTypes.P3PV1; + if ("payment".equals(codeString)) + return LinkRelationTypes.PAYMENT; + if ("pingback".equals(codeString)) + return LinkRelationTypes.PINGBACK; + if ("preconnect".equals(codeString)) + return LinkRelationTypes.PRECONNECT; + if ("predecessor-version".equals(codeString)) + return LinkRelationTypes.PREDECESSORVERSION; + if ("prefetch".equals(codeString)) + return LinkRelationTypes.PREFETCH; + if ("preload".equals(codeString)) + return LinkRelationTypes.PRELOAD; + if ("prerender".equals(codeString)) + return LinkRelationTypes.PRERENDER; + if ("prev".equals(codeString)) + return LinkRelationTypes.PREV; + if ("preview".equals(codeString)) + return LinkRelationTypes.PREVIEW; + if ("previous".equals(codeString)) + return LinkRelationTypes.PREVIOUS; + if ("prev-archive".equals(codeString)) + return LinkRelationTypes.PREVARCHIVE; + if ("privacy-policy".equals(codeString)) + return LinkRelationTypes.PRIVACYPOLICY; + if ("profile".equals(codeString)) + return LinkRelationTypes.PROFILE; + if ("publication".equals(codeString)) + return LinkRelationTypes.PUBLICATION; + if ("related".equals(codeString)) + return LinkRelationTypes.RELATED; + if ("restconf".equals(codeString)) + return LinkRelationTypes.RESTCONF; + if ("replies".equals(codeString)) + return LinkRelationTypes.REPLIES; + if ("ruleinput".equals(codeString)) + return LinkRelationTypes.RULEINPUT; + if ("search".equals(codeString)) + return LinkRelationTypes.SEARCH; + if ("section".equals(codeString)) + return LinkRelationTypes.SECTION; + if ("self".equals(codeString)) + return LinkRelationTypes.SELF; + if ("service".equals(codeString)) + return LinkRelationTypes.SERVICE; + if ("service-desc".equals(codeString)) + return LinkRelationTypes.SERVICEDESC; + if ("service-doc".equals(codeString)) + return LinkRelationTypes.SERVICEDOC; + if ("service-meta".equals(codeString)) + return LinkRelationTypes.SERVICEMETA; + if ("sponsored".equals(codeString)) + return LinkRelationTypes.SPONSORED; + if ("start".equals(codeString)) + return LinkRelationTypes.START; + if ("status".equals(codeString)) + return LinkRelationTypes.STATUS; + if ("stylesheet".equals(codeString)) + return LinkRelationTypes.STYLESHEET; + if ("subsection".equals(codeString)) + return LinkRelationTypes.SUBSECTION; + if ("successor-version".equals(codeString)) + return LinkRelationTypes.SUCCESSORVERSION; + if ("sunset".equals(codeString)) + return LinkRelationTypes.SUNSET; + if ("tag".equals(codeString)) + return LinkRelationTypes.TAG; + if ("terms-of-service".equals(codeString)) + return LinkRelationTypes.TERMSOFSERVICE; + if ("timegate".equals(codeString)) + return LinkRelationTypes.TIMEGATE; + if ("timemap".equals(codeString)) + return LinkRelationTypes.TIMEMAP; + if ("type".equals(codeString)) + return LinkRelationTypes.TYPE; + if ("ugc".equals(codeString)) + return LinkRelationTypes.UGC; + if ("up".equals(codeString)) + return LinkRelationTypes.UP; + if ("version-history".equals(codeString)) + return LinkRelationTypes.VERSIONHISTORY; + if ("via".equals(codeString)) + return LinkRelationTypes.VIA; + if ("webmention".equals(codeString)) + return LinkRelationTypes.WEBMENTION; + if ("working-copy".equals(codeString)) + return LinkRelationTypes.WORKINGCOPY; + if ("working-copy-of".equals(codeString)) + return LinkRelationTypes.WORKINGCOPYOF; + throw new IllegalArgumentException("Unknown LinkRelationTypes code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("about".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ABOUT); + if ("acl".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ACL); + if ("alternate".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ALTERNATE); + if ("amphtml".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.AMPHTML); + if ("appendix".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.APPENDIX); + if ("apple-touch-icon".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.APPLETOUCHICON); + if ("apple-touch-startup-image".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.APPLETOUCHSTARTUPIMAGE); + if ("archives".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ARCHIVES); + if ("author".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.AUTHOR); + if ("blocked-by".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.BLOCKEDBY); + if ("bookmark".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.BOOKMARK); + if ("canonical".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CANONICAL); + if ("chapter".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CHAPTER); + if ("cite-as".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CITEAS); + if ("collection".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.COLLECTION); + if ("contents".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CONTENTS); + if ("convertedFrom".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CONVERTEDFROM); + if ("copyright".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.COPYRIGHT); + if ("create-form".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CREATEFORM); + if ("current".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.CURRENT); + if ("describedby".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.DESCRIBEDBY); + if ("describes".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.DESCRIBES); + if ("disclosure".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.DISCLOSURE); + if ("dns-prefetch".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.DNSPREFETCH); + if ("duplicate".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.DUPLICATE); + if ("edit".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.EDIT); + if ("edit-form".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.EDITFORM); + if ("edit-media".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.EDITMEDIA); + if ("enclosure".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ENCLOSURE); + if ("external".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.EXTERNAL); + if ("first".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.FIRST); + if ("glossary".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.GLOSSARY); + if ("help".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.HELP); + if ("hosts".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.HOSTS); + if ("hub".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.HUB); + if ("icon".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ICON); + if ("index".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INDEX); + if ("intervalAfter".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALAFTER); + if ("intervalBefore".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALBEFORE); + if ("intervalContains".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALCONTAINS); + if ("intervalDisjoint".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALDISJOINT); + if ("intervalDuring".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALDURING); + if ("intervalEquals".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALEQUALS); + if ("intervalFinishedBy".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALFINISHEDBY); + if ("intervalFinishes".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALFINISHES); + if ("intervalIn".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALIN); + if ("intervalMeets".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALMEETS); + if ("intervalMetBy".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALMETBY); + if ("intervalOverlappedBy".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALOVERLAPPEDBY); + if ("intervalOverlaps".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALOVERLAPS); + if ("intervalStartedBy".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALSTARTEDBY); + if ("intervalStarts".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.INTERVALSTARTS); + if ("item".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ITEM); + if ("last".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.LAST); + if ("latest-version".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.LATESTVERSION); + if ("license".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.LICENSE); + if ("linkset".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.LINKSET); + if ("lrdd".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.LRDD); + if ("manifest".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MANIFEST); + if ("mask-icon".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MASKICON); + if ("media-feed".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MEDIAFEED); + if ("memento".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MEMENTO); + if ("micropub".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MICROPUB); + if ("modulepreload".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MODULEPRELOAD); + if ("monitor".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MONITOR); + if ("monitor-group".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.MONITORGROUP); + if ("next".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.NEXT); + if ("next-archive".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.NEXTARCHIVE); + if ("nofollow".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.NOFOLLOW); + if ("noopener".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.NOOPENER); + if ("noreferrer".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.NOREFERRER); + if ("opener".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.OPENER); + if ("openid2.local_id".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.OPENID2_LOCALID); + if ("openid2.provider".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.OPENID2_PROVIDER); + if ("original".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.ORIGINAL); + if ("P3Pv1".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.P3PV1); + if ("payment".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PAYMENT); + if ("pingback".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PINGBACK); + if ("preconnect".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PRECONNECT); + if ("predecessor-version".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PREDECESSORVERSION); + if ("prefetch".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PREFETCH); + if ("preload".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PRELOAD); + if ("prerender".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PRERENDER); + if ("prev".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PREV); + if ("preview".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PREVIEW); + if ("previous".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PREVIOUS); + if ("prev-archive".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PREVARCHIVE); + if ("privacy-policy".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PRIVACYPOLICY); + if ("profile".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PROFILE); + if ("publication".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.PUBLICATION); + if ("related".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.RELATED); + if ("restconf".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.RESTCONF); + if ("replies".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.REPLIES); + if ("ruleinput".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.RULEINPUT); + if ("search".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SEARCH); + if ("section".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SECTION); + if ("self".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SELF); + if ("service".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SERVICE); + if ("service-desc".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SERVICEDESC); + if ("service-doc".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SERVICEDOC); + if ("service-meta".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SERVICEMETA); + if ("sponsored".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SPONSORED); + if ("start".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.START); + if ("status".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.STATUS); + if ("stylesheet".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.STYLESHEET); + if ("subsection".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SUBSECTION); + if ("successor-version".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SUCCESSORVERSION); + if ("sunset".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.SUNSET); + if ("tag".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.TAG); + if ("terms-of-service".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.TERMSOFSERVICE); + if ("timegate".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.TIMEGATE); + if ("timemap".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.TIMEMAP); + if ("type".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.TYPE); + if ("ugc".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.UGC); + if ("up".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.UP); + if ("version-history".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.VERSIONHISTORY); + if ("via".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.VIA); + if ("webmention".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.WEBMENTION); + if ("working-copy".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.WORKINGCOPY); + if ("working-copy-of".equals(codeString)) + return new Enumeration(this, LinkRelationTypes.WORKINGCOPYOF); + throw new FHIRException("Unknown LinkRelationTypes code '"+codeString+"'"); + } + public String toCode(LinkRelationTypes code) { + if (code == LinkRelationTypes.ABOUT) + return "about"; + if (code == LinkRelationTypes.ACL) + return "acl"; + if (code == LinkRelationTypes.ALTERNATE) + return "alternate"; + if (code == LinkRelationTypes.AMPHTML) + return "amphtml"; + if (code == LinkRelationTypes.APPENDIX) + return "appendix"; + if (code == LinkRelationTypes.APPLETOUCHICON) + return "apple-touch-icon"; + if (code == LinkRelationTypes.APPLETOUCHSTARTUPIMAGE) + return "apple-touch-startup-image"; + if (code == LinkRelationTypes.ARCHIVES) + return "archives"; + if (code == LinkRelationTypes.AUTHOR) + return "author"; + if (code == LinkRelationTypes.BLOCKEDBY) + return "blocked-by"; + if (code == LinkRelationTypes.BOOKMARK) + return "bookmark"; + if (code == LinkRelationTypes.CANONICAL) + return "canonical"; + if (code == LinkRelationTypes.CHAPTER) + return "chapter"; + if (code == LinkRelationTypes.CITEAS) + return "cite-as"; + if (code == LinkRelationTypes.COLLECTION) + return "collection"; + if (code == LinkRelationTypes.CONTENTS) + return "contents"; + if (code == LinkRelationTypes.CONVERTEDFROM) + return "convertedFrom"; + if (code == LinkRelationTypes.COPYRIGHT) + return "copyright"; + if (code == LinkRelationTypes.CREATEFORM) + return "create-form"; + if (code == LinkRelationTypes.CURRENT) + return "current"; + if (code == LinkRelationTypes.DESCRIBEDBY) + return "describedby"; + if (code == LinkRelationTypes.DESCRIBES) + return "describes"; + if (code == LinkRelationTypes.DISCLOSURE) + return "disclosure"; + if (code == LinkRelationTypes.DNSPREFETCH) + return "dns-prefetch"; + if (code == LinkRelationTypes.DUPLICATE) + return "duplicate"; + if (code == LinkRelationTypes.EDIT) + return "edit"; + if (code == LinkRelationTypes.EDITFORM) + return "edit-form"; + if (code == LinkRelationTypes.EDITMEDIA) + return "edit-media"; + if (code == LinkRelationTypes.ENCLOSURE) + return "enclosure"; + if (code == LinkRelationTypes.EXTERNAL) + return "external"; + if (code == LinkRelationTypes.FIRST) + return "first"; + if (code == LinkRelationTypes.GLOSSARY) + return "glossary"; + if (code == LinkRelationTypes.HELP) + return "help"; + if (code == LinkRelationTypes.HOSTS) + return "hosts"; + if (code == LinkRelationTypes.HUB) + return "hub"; + if (code == LinkRelationTypes.ICON) + return "icon"; + if (code == LinkRelationTypes.INDEX) + return "index"; + if (code == LinkRelationTypes.INTERVALAFTER) + return "intervalAfter"; + if (code == LinkRelationTypes.INTERVALBEFORE) + return "intervalBefore"; + if (code == LinkRelationTypes.INTERVALCONTAINS) + return "intervalContains"; + if (code == LinkRelationTypes.INTERVALDISJOINT) + return "intervalDisjoint"; + if (code == LinkRelationTypes.INTERVALDURING) + return "intervalDuring"; + if (code == LinkRelationTypes.INTERVALEQUALS) + return "intervalEquals"; + if (code == LinkRelationTypes.INTERVALFINISHEDBY) + return "intervalFinishedBy"; + if (code == LinkRelationTypes.INTERVALFINISHES) + return "intervalFinishes"; + if (code == LinkRelationTypes.INTERVALIN) + return "intervalIn"; + if (code == LinkRelationTypes.INTERVALMEETS) + return "intervalMeets"; + if (code == LinkRelationTypes.INTERVALMETBY) + return "intervalMetBy"; + if (code == LinkRelationTypes.INTERVALOVERLAPPEDBY) + return "intervalOverlappedBy"; + if (code == LinkRelationTypes.INTERVALOVERLAPS) + return "intervalOverlaps"; + if (code == LinkRelationTypes.INTERVALSTARTEDBY) + return "intervalStartedBy"; + if (code == LinkRelationTypes.INTERVALSTARTS) + return "intervalStarts"; + if (code == LinkRelationTypes.ITEM) + return "item"; + if (code == LinkRelationTypes.LAST) + return "last"; + if (code == LinkRelationTypes.LATESTVERSION) + return "latest-version"; + if (code == LinkRelationTypes.LICENSE) + return "license"; + if (code == LinkRelationTypes.LINKSET) + return "linkset"; + if (code == LinkRelationTypes.LRDD) + return "lrdd"; + if (code == LinkRelationTypes.MANIFEST) + return "manifest"; + if (code == LinkRelationTypes.MASKICON) + return "mask-icon"; + if (code == LinkRelationTypes.MEDIAFEED) + return "media-feed"; + if (code == LinkRelationTypes.MEMENTO) + return "memento"; + if (code == LinkRelationTypes.MICROPUB) + return "micropub"; + if (code == LinkRelationTypes.MODULEPRELOAD) + return "modulepreload"; + if (code == LinkRelationTypes.MONITOR) + return "monitor"; + if (code == LinkRelationTypes.MONITORGROUP) + return "monitor-group"; + if (code == LinkRelationTypes.NEXT) + return "next"; + if (code == LinkRelationTypes.NEXTARCHIVE) + return "next-archive"; + if (code == LinkRelationTypes.NOFOLLOW) + return "nofollow"; + if (code == LinkRelationTypes.NOOPENER) + return "noopener"; + if (code == LinkRelationTypes.NOREFERRER) + return "noreferrer"; + if (code == LinkRelationTypes.OPENER) + return "opener"; + if (code == LinkRelationTypes.OPENID2_LOCALID) + return "openid2.local_id"; + if (code == LinkRelationTypes.OPENID2_PROVIDER) + return "openid2.provider"; + if (code == LinkRelationTypes.ORIGINAL) + return "original"; + if (code == LinkRelationTypes.P3PV1) + return "P3Pv1"; + if (code == LinkRelationTypes.PAYMENT) + return "payment"; + if (code == LinkRelationTypes.PINGBACK) + return "pingback"; + if (code == LinkRelationTypes.PRECONNECT) + return "preconnect"; + if (code == LinkRelationTypes.PREDECESSORVERSION) + return "predecessor-version"; + if (code == LinkRelationTypes.PREFETCH) + return "prefetch"; + if (code == LinkRelationTypes.PRELOAD) + return "preload"; + if (code == LinkRelationTypes.PRERENDER) + return "prerender"; + if (code == LinkRelationTypes.PREV) + return "prev"; + if (code == LinkRelationTypes.PREVIEW) + return "preview"; + if (code == LinkRelationTypes.PREVIOUS) + return "previous"; + if (code == LinkRelationTypes.PREVARCHIVE) + return "prev-archive"; + if (code == LinkRelationTypes.PRIVACYPOLICY) + return "privacy-policy"; + if (code == LinkRelationTypes.PROFILE) + return "profile"; + if (code == LinkRelationTypes.PUBLICATION) + return "publication"; + if (code == LinkRelationTypes.RELATED) + return "related"; + if (code == LinkRelationTypes.RESTCONF) + return "restconf"; + if (code == LinkRelationTypes.REPLIES) + return "replies"; + if (code == LinkRelationTypes.RULEINPUT) + return "ruleinput"; + if (code == LinkRelationTypes.SEARCH) + return "search"; + if (code == LinkRelationTypes.SECTION) + return "section"; + if (code == LinkRelationTypes.SELF) + return "self"; + if (code == LinkRelationTypes.SERVICE) + return "service"; + if (code == LinkRelationTypes.SERVICEDESC) + return "service-desc"; + if (code == LinkRelationTypes.SERVICEDOC) + return "service-doc"; + if (code == LinkRelationTypes.SERVICEMETA) + return "service-meta"; + if (code == LinkRelationTypes.SPONSORED) + return "sponsored"; + if (code == LinkRelationTypes.START) + return "start"; + if (code == LinkRelationTypes.STATUS) + return "status"; + if (code == LinkRelationTypes.STYLESHEET) + return "stylesheet"; + if (code == LinkRelationTypes.SUBSECTION) + return "subsection"; + if (code == LinkRelationTypes.SUCCESSORVERSION) + return "successor-version"; + if (code == LinkRelationTypes.SUNSET) + return "sunset"; + if (code == LinkRelationTypes.TAG) + return "tag"; + if (code == LinkRelationTypes.TERMSOFSERVICE) + return "terms-of-service"; + if (code == LinkRelationTypes.TIMEGATE) + return "timegate"; + if (code == LinkRelationTypes.TIMEMAP) + return "timemap"; + if (code == LinkRelationTypes.TYPE) + return "type"; + if (code == LinkRelationTypes.UGC) + return "ugc"; + if (code == LinkRelationTypes.UP) + return "up"; + if (code == LinkRelationTypes.VERSIONHISTORY) + return "version-history"; + if (code == LinkRelationTypes.VIA) + return "via"; + if (code == LinkRelationTypes.WEBMENTION) + return "webmention"; + if (code == LinkRelationTypes.WORKINGCOPY) + return "working-copy"; + if (code == LinkRelationTypes.WORKINGCOPYOF) + return "working-copy-of"; + return "?"; + } + public String toSystem(LinkRelationTypes code) { + return code.getSystem(); + } + } + public enum SearchEntryMode { /** * This resource matched the search specification. @@ -556,9 +2540,10 @@ public class Bundle extends Resource implements IBaseBundle { /** * A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). */ - @Child(name = "relation", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Child(name = "relation", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="See http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1", formalDefinition="A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1)." ) - protected StringType relation; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/iana-link-relations") + protected Enumeration relation; /** * The reference details for the link. @@ -567,7 +2552,7 @@ public class Bundle extends Resource implements IBaseBundle { @Description(shortDefinition="Reference details for the link", formalDefinition="The reference details for the link." ) protected UriType url; - private static final long serialVersionUID = -1010386066L; + private static final long serialVersionUID = -878418349L; /** * Constructor @@ -579,7 +2564,7 @@ public class Bundle extends Resource implements IBaseBundle { /** * Constructor */ - public BundleLinkComponent(String relation, String url) { + public BundleLinkComponent(LinkRelationTypes relation, String url) { super(); this.setRelation(relation); this.setUrl(url); @@ -588,12 +2573,12 @@ public class Bundle extends Resource implements IBaseBundle { /** * @return {@link #relation} (A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).). This is the underlying object with id, value and extensions. The accessor "getRelation" gives direct access to the value */ - public StringType getRelationElement() { + public Enumeration getRelationElement() { if (this.relation == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create BundleLinkComponent.relation"); else if (Configuration.doAutoCreate()) - this.relation = new StringType(); // bb + this.relation = new Enumeration(new LinkRelationTypesEnumFactory()); // bb return this.relation; } @@ -608,7 +2593,7 @@ public class Bundle extends Resource implements IBaseBundle { /** * @param value {@link #relation} (A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).). This is the underlying object with id, value and extensions. The accessor "getRelation" gives direct access to the value */ - public BundleLinkComponent setRelationElement(StringType value) { + public BundleLinkComponent setRelationElement(Enumeration value) { this.relation = value; return this; } @@ -616,16 +2601,16 @@ public class Bundle extends Resource implements IBaseBundle { /** * @return A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). */ - public String getRelation() { + public LinkRelationTypes getRelation() { return this.relation == null ? null : this.relation.getValue(); } /** * @param value A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1). */ - public BundleLinkComponent setRelation(String value) { + public BundleLinkComponent setRelation(LinkRelationTypes value) { if (this.relation == null) - this.relation = new StringType(); + this.relation = new Enumeration(new LinkRelationTypesEnumFactory()); this.relation.setValue(value); return this; } @@ -677,14 +2662,14 @@ public class Bundle extends Resource implements IBaseBundle { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("relation", "string", "A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).", 0, 1, relation)); + children.add(new Property("relation", "code", "A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).", 0, 1, relation)); children.add(new Property("url", "uri", "The reference details for the link.", 0, 1, url)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -554436100: /*relation*/ return new Property("relation", "string", "A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).", 0, 1, relation); + case -554436100: /*relation*/ return new Property("relation", "code", "A name which details the functional use for this link - see [http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1](http://www.iana.org/assignments/link-relations/link-relations.xhtml#link-relations-1).", 0, 1, relation); case 116079: /*url*/ return new Property("url", "uri", "The reference details for the link.", 0, 1, url); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -694,7 +2679,7 @@ public class Bundle extends Resource implements IBaseBundle { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -554436100: /*relation*/ return this.relation == null ? new Base[0] : new Base[] {this.relation}; // StringType + case -554436100: /*relation*/ return this.relation == null ? new Base[0] : new Base[] {this.relation}; // Enumeration case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType default: return super.getProperty(hash, name, checkValid); } @@ -705,7 +2690,8 @@ public class Bundle extends Resource implements IBaseBundle { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case -554436100: // relation - this.relation = TypeConvertor.castToString(value); // StringType + value = new LinkRelationTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.relation = (Enumeration) value; // Enumeration return value; case 116079: // url this.url = TypeConvertor.castToUri(value); // UriType @@ -718,7 +2704,8 @@ public class Bundle extends Resource implements IBaseBundle { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("relation")) { - this.relation = TypeConvertor.castToString(value); // StringType + value = new LinkRelationTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.relation = (Enumeration) value; // Enumeration } else if (name.equals("url")) { this.url = TypeConvertor.castToUri(value); // UriType } else @@ -739,7 +2726,7 @@ public class Bundle extends Resource implements IBaseBundle { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -554436100: /*relation*/ return new String[] {"string"}; + case -554436100: /*relation*/ return new String[] {"code"}; case 116079: /*url*/ return new String[] {"uri"}; default: return super.getTypesForProperty(hash, name); } @@ -811,19 +2798,20 @@ public class Bundle extends Resource implements IBaseBundle { protected List link; /** - * The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: -* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) -* Results from operations might involve resources that are not identified. + * The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: +* invoking a create +* invoking or responding to an operation where the body is not a single identified resource +* invoking or returning the results of a search or history operation. */ @Child(name = "fullUrl", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="URI for resource (Absolute URL server address or URI for UUID/OID)", formalDefinition="The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: \n* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)\n* Results from operations might involve resources that are not identified." ) + @Description(shortDefinition="URI for resource (e.g. the absolute URL server address, URI for UUID/OID, etc.)", formalDefinition="The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: \n* invoking a create\n* invoking or responding to an operation where the body is not a single identified resource\n* invoking or returning the results of a search or history operation." ) protected UriType fullUrl; /** - * The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. + * The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. This is allowed to be a Parameters resource if and only if it is referenced by something else within the Bundle that provides context/meaning. */ @Child(name = "resource", type = {Resource.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="A resource in the bundle", formalDefinition="The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type." ) + @Description(shortDefinition="A resource in the bundle", formalDefinition="The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. This is allowed to be a Parameters resource if and only if it is referenced by something else within the Bundle that provides context/meaning." ) protected Resource resource; /** @@ -910,9 +2898,10 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @return {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: -* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) -* Results from operations might involve resources that are not identified.). This is the underlying object with id, value and extensions. The accessor "getFullUrl" gives direct access to the value + * @return {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: +* invoking a create +* invoking or responding to an operation where the body is not a single identified resource +* invoking or returning the results of a search or history operation.). This is the underlying object with id, value and extensions. The accessor "getFullUrl" gives direct access to the value */ public UriType getFullUrlElement() { if (this.fullUrl == null) @@ -932,9 +2921,10 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @param value {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: -* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) -* Results from operations might involve resources that are not identified.). This is the underlying object with id, value and extensions. The accessor "getFullUrl" gives direct access to the value + * @param value {@link #fullUrl} (The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: +* invoking a create +* invoking or responding to an operation where the body is not a single identified resource +* invoking or returning the results of a search or history operation.). This is the underlying object with id, value and extensions. The accessor "getFullUrl" gives direct access to the value */ public BundleEntryComponent setFullUrlElement(UriType value) { this.fullUrl = value; @@ -942,18 +2932,20 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @return The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: -* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) -* Results from operations might involve resources that are not identified. + * @return The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: +* invoking a create +* invoking or responding to an operation where the body is not a single identified resource +* invoking or returning the results of a search or history operation. */ public String getFullUrl() { return this.fullUrl == null ? null : this.fullUrl.getValue(); } /** - * @param value The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: -* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle) -* Results from operations might involve resources that are not identified. + * @param value The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: +* invoking a create +* invoking or responding to an operation where the body is not a single identified resource +* invoking or returning the results of a search or history operation. */ public BundleEntryComponent setFullUrl(String value) { if (Utilities.noString(value)) @@ -967,7 +2959,7 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @return {@link #resource} (The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.) + * @return {@link #resource} (The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. This is allowed to be a Parameters resource if and only if it is referenced by something else within the Bundle that provides context/meaning.) */ public Resource getResource() { return this.resource; @@ -978,7 +2970,7 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @param value {@link #resource} (The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.) + * @param value {@link #resource} (The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. This is allowed to be a Parameters resource if and only if it is referenced by something else within the Bundle that provides context/meaning.) */ public BundleEntryComponent setResource(Resource value) { this.resource = value; @@ -1060,8 +3052,8 @@ public class Bundle extends Resource implements IBaseBundle { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("link", "@Bundle.link", "A series of links that provide context to this entry.", 0, java.lang.Integer.MAX_VALUE, link)); - children.add(new Property("fullUrl", "uri", "The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: \n* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)\n* Results from operations might involve resources that are not identified.", 0, 1, fullUrl)); - children.add(new Property("resource", "Resource", "The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.", 0, 1, resource)); + children.add(new Property("fullUrl", "uri", "The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: \n* invoking a create\n* invoking or responding to an operation where the body is not a single identified resource\n* invoking or returning the results of a search or history operation.", 0, 1, fullUrl)); + children.add(new Property("resource", "Resource", "The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. This is allowed to be a Parameters resource if and only if it is referenced by something else within the Bundle that provides context/meaning.", 0, 1, resource)); children.add(new Property("search", "", "Information about the search process that lead to the creation of this entry.", 0, 1, search)); children.add(new Property("request", "", "Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.", 0, 1, request)); children.add(new Property("response", "", "Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.", 0, 1, response)); @@ -1071,8 +3063,8 @@ public class Bundle extends Resource implements IBaseBundle { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3321850: /*link*/ return new Property("link", "@Bundle.link", "A series of links that provide context to this entry.", 0, java.lang.Integer.MAX_VALUE, link); - case -511251360: /*fullUrl*/ return new Property("fullUrl", "uri", "The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. The fullUrl element SHALL have a value except that: \n* fullUrl can be empty on a POST (although it does not need to when specifying a temporary id for reference in the bundle)\n* Results from operations might involve resources that are not identified.", 0, 1, fullUrl); - case -341064690: /*resource*/ return new Property("resource", "Resource", "The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type.", 0, 1, resource); + case -511251360: /*fullUrl*/ return new Property("fullUrl", "uri", "The Absolute URL for the resource. The fullUrl SHALL NOT disagree with the id in the resource - i.e. if the fullUrl is not a urn:uuid, the URL shall be version-independent URL consistent with the Resource.id. The fullUrl is a version independent reference to the resource. Even when not required, fullUrl MAY be set to a urn:uuid to allow referencing entries in a transaction. The fullUrl can be an arbitrary URI and is not limited to urn:uuid, urn:oid, http, and https. The fullUrl element SHALL have a value except when: \n* invoking a create\n* invoking or responding to an operation where the body is not a single identified resource\n* invoking or returning the results of a search or history operation.", 0, 1, fullUrl); + case -341064690: /*resource*/ return new Property("resource", "Resource", "The Resource for the entry. The purpose/meaning of the resource is determined by the Bundle.type. This is allowed to be a Parameters resource if and only if it is referenced by something else within the Bundle that provides context/meaning.", 0, 1, resource); case -906336856: /*search*/ return new Property("search", "", "Information about the search process that lead to the creation of this entry.", 0, 1, search); case 1095692943: /*request*/ return new Property("request", "", "Additional information about how this entry should be processed as part of a transaction or batch. For history, it shows how the entry was processed to create the version contained in the entry.", 0, 1, request); case -340323263: /*response*/ return new Property("response", "", "Indicates the results of processing the corresponding 'request' entry in the batch or transaction being responded to or what the results of an operation where when returning history.", 0, 1, response); @@ -1291,7 +3283,7 @@ public class Bundle extends Resource implements IBaseBundle { } } BundleLinkComponent retVal = new BundleLinkComponent(); - retVal.setRelation(theRelation); + retVal.setRelation(Bundle.LinkRelationTypes.fromCode(theRelation)); getLink().add(retVal); return retVal; } @@ -1589,7 +3581,7 @@ public class Bundle extends Resource implements IBaseBundle { * If the ETag values match, return a 304 Not Modified status. See the API documentation for ["Conditional Read"](http.html#cread). */ @Child(name = "ifNoneMatch", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="For managing cache currency", formalDefinition="If the ETag values match, return a 304 Not Modified status. See the API documentation for [\"Conditional Read\"](http.html#cread)." ) + @Description(shortDefinition="For managing cache validation", formalDefinition="If the ETag values match, return a 304 Not Modified status. See the API documentation for [\"Conditional Read\"](http.html#cread)." ) protected StringType ifNoneMatch; /** @@ -2565,10 +4557,10 @@ public class Bundle extends Resource implements IBaseBundle { protected InstantType timestamp; /** - * If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. + * If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. */ @Child(name = "total", type = {UnsignedIntType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="If search, the total number of matches", formalDefinition="If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle." ) + @Description(shortDefinition="If search, the total number of matches", formalDefinition="If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle." ) protected UnsignedIntType total; /** @@ -2592,7 +4584,14 @@ public class Bundle extends Resource implements IBaseBundle { @Description(shortDefinition="Digital Signature", formalDefinition="Digital Signature - base64 encoded. XML-DSig or a JWS." ) protected Signature signature; - private static final long serialVersionUID = 1740470158L; + /** + * Captures issues and warnings that relate to the construction of the Bundle and the content within it. + */ + @Child(name = "issues", type = {Resource.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Issues with the Bundle", formalDefinition="Captures issues and warnings that relate to the construction of the Bundle and the content within it." ) + protected Resource issues; + + private static final long serialVersionUID = -843739668L; /** * Constructor @@ -2728,7 +4727,7 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @return {@link #total} (If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.). This is the underlying object with id, value and extensions. The accessor "getTotal" gives direct access to the value + * @return {@link #total} (If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.). This is the underlying object with id, value and extensions. The accessor "getTotal" gives direct access to the value */ public UnsignedIntType getTotalElement() { if (this.total == null) @@ -2748,7 +4747,7 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @param value {@link #total} (If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.). This is the underlying object with id, value and extensions. The accessor "getTotal" gives direct access to the value + * @param value {@link #total} (If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.). This is the underlying object with id, value and extensions. The accessor "getTotal" gives direct access to the value */ public Bundle setTotalElement(UnsignedIntType value) { this.total = value; @@ -2756,14 +4755,14 @@ public class Bundle extends Resource implements IBaseBundle { } /** - * @return If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. + * @return If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. */ public int getTotal() { return this.total == null || this.total.isEmpty() ? 0 : this.total.getValue(); } /** - * @param value If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. + * @param value If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle. */ public Bundle setTotal(int value) { if (this.total == null) @@ -2902,15 +4901,35 @@ public class Bundle extends Resource implements IBaseBundle { return this; } + /** + * @return {@link #issues} (Captures issues and warnings that relate to the construction of the Bundle and the content within it.) + */ + public Resource getIssues() { + return this.issues; + } + + public boolean hasIssues() { + return this.issues != null && !this.issues.isEmpty(); + } + + /** + * @param value {@link #issues} (Captures issues and warnings that relate to the construction of the Bundle and the content within it.) + */ + public Bundle setIssues(Resource value) { + this.issues = value; + return this; + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "A persistent identifier for the bundle that won't change as a bundle is copied from server to server.", 0, 1, identifier)); children.add(new Property("type", "code", "Indicates the purpose of this bundle - how it is intended to be used.", 0, 1, type)); children.add(new Property("timestamp", "instant", "The date/time that the bundle was assembled - i.e. when the resources were placed in the bundle.", 0, 1, timestamp)); - children.add(new Property("total", "unsignedInt", "If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.", 0, 1, total)); + children.add(new Property("total", "unsignedInt", "If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.", 0, 1, total)); children.add(new Property("link", "", "A series of links that provide context to this bundle.", 0, java.lang.Integer.MAX_VALUE, link)); children.add(new Property("entry", "", "An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).", 0, java.lang.Integer.MAX_VALUE, entry)); children.add(new Property("signature", "Signature", "Digital Signature - base64 encoded. XML-DSig or a JWS.", 0, 1, signature)); + children.add(new Property("issues", "Resource", "Captures issues and warnings that relate to the construction of the Bundle and the content within it.", 0, 1, issues)); } @Override @@ -2919,10 +4938,11 @@ public class Bundle extends Resource implements IBaseBundle { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A persistent identifier for the bundle that won't change as a bundle is copied from server to server.", 0, 1, identifier); case 3575610: /*type*/ return new Property("type", "code", "Indicates the purpose of this bundle - how it is intended to be used.", 0, 1, type); case 55126294: /*timestamp*/ return new Property("timestamp", "instant", "The date/time that the bundle was assembled - i.e. when the resources were placed in the bundle.", 0, 1, timestamp); - case 110549828: /*total*/ return new Property("total", "unsignedInt", "If a set of search matches, this is the total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.", 0, 1, total); + case 110549828: /*total*/ return new Property("total", "unsignedInt", "If a set of search matches, this is the (potentially estimated) total number of entries of type 'match' across all pages in the search. It does not include search.mode = 'include' or 'outcome' entries and it does not provide a count of the number of entries in the Bundle.", 0, 1, total); case 3321850: /*link*/ return new Property("link", "", "A series of links that provide context to this bundle.", 0, java.lang.Integer.MAX_VALUE, link); case 96667762: /*entry*/ return new Property("entry", "", "An entry in a bundle resource - will either contain a resource or information about a resource (transactions and history only).", 0, java.lang.Integer.MAX_VALUE, entry); case 1073584312: /*signature*/ return new Property("signature", "Signature", "Digital Signature - base64 encoded. XML-DSig or a JWS.", 0, 1, signature); + case -1179159878: /*issues*/ return new Property("issues", "Resource", "Captures issues and warnings that relate to the construction of the Bundle and the content within it.", 0, 1, issues); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2938,6 +4958,7 @@ public class Bundle extends Resource implements IBaseBundle { case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // BundleLinkComponent case 96667762: /*entry*/ return this.entry == null ? new Base[0] : this.entry.toArray(new Base[this.entry.size()]); // BundleEntryComponent case 1073584312: /*signature*/ return this.signature == null ? new Base[0] : new Base[] {this.signature}; // Signature + case -1179159878: /*issues*/ return this.issues == null ? new Base[0] : new Base[] {this.issues}; // Resource default: return super.getProperty(hash, name, checkValid); } @@ -2968,6 +4989,9 @@ public class Bundle extends Resource implements IBaseBundle { case 1073584312: // signature this.signature = TypeConvertor.castToSignature(value); // Signature return value; + case -1179159878: // issues + this.issues = TypeConvertor.castToResource(value); // Resource + return value; default: return super.setProperty(hash, name, value); } @@ -2990,6 +5014,8 @@ public class Bundle extends Resource implements IBaseBundle { this.getEntry().add((BundleEntryComponent) value); } else if (name.equals("signature")) { this.signature = TypeConvertor.castToSignature(value); // Signature + } else if (name.equals("issues")) { + this.issues = TypeConvertor.castToResource(value); // Resource } else return super.setProperty(name, value); return value; @@ -3005,6 +5031,7 @@ public class Bundle extends Resource implements IBaseBundle { case 3321850: return addLink(); case 96667762: return addEntry(); case 1073584312: return getSignature(); + case -1179159878: throw new FHIRException("Cannot make property issues as it is not a complex type"); // Resource default: return super.makeProperty(hash, name); } @@ -3020,6 +5047,7 @@ public class Bundle extends Resource implements IBaseBundle { case 3321850: /*link*/ return new String[] {}; case 96667762: /*entry*/ return new String[] {}; case 1073584312: /*signature*/ return new String[] {"Signature"}; + case -1179159878: /*issues*/ return new String[] {"Resource"}; default: return super.getTypesForProperty(hash, name); } @@ -3050,6 +5078,9 @@ public class Bundle extends Resource implements IBaseBundle { this.signature = new Signature(); return this.signature; } + else if (name.equals("issues")) { + throw new FHIRException("Cannot call addChild on an abstract type Bundle.issues"); + } else return super.addChild(name); } @@ -3082,6 +5113,7 @@ public class Bundle extends Resource implements IBaseBundle { dst.entry.add(i.copy()); }; dst.signature = signature == null ? null : signature.copy(); + dst.issues = issues == null ? null : issues.copy(); } protected Bundle typedCopy() { @@ -3097,7 +5129,7 @@ public class Bundle extends Resource implements IBaseBundle { Bundle o = (Bundle) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(timestamp, o.timestamp, true) && compareDeep(total, o.total, true) && compareDeep(link, o.link, true) && compareDeep(entry, o.entry, true) - && compareDeep(signature, o.signature, true); + && compareDeep(signature, o.signature, true) && compareDeep(issues, o.issues, true); } @Override @@ -3113,7 +5145,7 @@ public class Bundle extends Resource implements IBaseBundle { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, timestamp - , total, link, entry, signature); + , total, link, entry, signature, issues); } @Override @@ -3126,17 +5158,17 @@ public class Bundle extends Resource implements IBaseBundle { *

* Description: The first resource in the bundle, if the bundle type is "document" - this is a composition, and this parameter provides access to search its contents
* Type: reference
- * Path: Bundle.entry[0].resource
+ * Path: Bundle.entry[0].resource as Composition
*

*/ - @SearchParamDefinition(name="composition", path="Bundle.entry[0].resource", description="The first resource in the bundle, if the bundle type is \"document\" - this is a composition, and this parameter provides access to search its contents", type="reference" ) + @SearchParamDefinition(name="composition", path="Bundle.entry[0].resource as Composition", description="The first resource in the bundle, if the bundle type is \"document\" - this is a composition, and this parameter provides access to search its contents", type="reference" ) public static final String SP_COMPOSITION = "composition"; /** * Fluent Client search parameter constant for composition *

* Description: The first resource in the bundle, if the bundle type is "document" - this is a composition, and this parameter provides access to search its contents
* Type: reference
- * Path: Bundle.entry[0].resource
+ * Path: Bundle.entry[0].resource as Composition
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam COMPOSITION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_COMPOSITION); @@ -3172,17 +5204,17 @@ public class Bundle extends Resource implements IBaseBundle { *

* Description: The first resource in the bundle, if the bundle type is "message" - this is a message header, and this parameter provides access to search its contents
* Type: reference
- * Path: Bundle.entry[0].resource
+ * Path: Bundle.entry[0].resource as MessageHeader
*

*/ - @SearchParamDefinition(name="message", path="Bundle.entry[0].resource", description="The first resource in the bundle, if the bundle type is \"message\" - this is a message header, and this parameter provides access to search its contents", type="reference" ) + @SearchParamDefinition(name="message", path="Bundle.entry[0].resource as MessageHeader", description="The first resource in the bundle, if the bundle type is \"message\" - this is a message header, and this parameter provides access to search its contents", type="reference" ) public static final String SP_MESSAGE = "message"; /** * Fluent Client search parameter constant for message *

* Description: The first resource in the bundle, if the bundle type is "message" - this is a message header, and this parameter provides access to search its contents
* Type: reference
- * Path: Bundle.entry[0].resource
+ * Path: Bundle.entry[0].resource as MessageHeader
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MESSAGE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MESSAGE); @@ -3233,6 +5265,32 @@ public class Bundle extends Resource implements IBaseBundle { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TYPE); + /** + * Search parameter: example-constraint + *

+ * Description: Search Composition Bundle
+ * Type: reference
+ * Path: Bundle.entry[0].resource
+ *

+ */ + @SearchParamDefinition(name="example-constraint", path="Bundle.entry[0].resource", description="Search Composition Bundle", type="reference", target={Composition.class } ) + public static final String SP_EXAMPLE_CONSTRAINT = "example-constraint"; + /** + * Fluent Client search parameter constant for example-constraint + *

+ * Description: Search Composition Bundle
+ * Type: reference
+ * Path: Bundle.entry[0].resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam EXAMPLE_CONSTRAINT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_EXAMPLE_CONSTRAINT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Bundle:example-constraint". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_EXAMPLE_CONSTRAINT = new ca.uhn.fhir.model.api.Include("Bundle:example-constraint").toLocked(); + // Manual code (from Configuration.txt): /** * Returns the {@link #getLink() link} which matches a given {@link BundleLinkComponent#getRelation() relation}. @@ -3277,7 +5335,7 @@ public class Bundle extends Resource implements IBaseBundle { } } BundleLinkComponent retVal = new BundleLinkComponent(); - retVal.setRelation(theRelation); + retVal.setRelation(Bundle.LinkRelationTypes.fromCode(theRelation)); getLink().add(retVal); return retVal; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java index 8f6c6ab74..bae536003 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CanonicalResource.java @@ -29,16 +29,12 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; import java.util.List; import org.hl7.fhir.utilities.Utilities; -import org.hl7.fhir.utilities.json.JsonUtilities; - -import com.google.gson.JsonObject; - import org.hl7.fhir.r5.model.Enumerations.*; import org.hl7.fhir.instance.model.api.IBaseBackboneElement; import org.hl7.fhir.exceptions.FHIRException; @@ -52,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Common Ancestor declaration for conformance and knowledge artifact resources. + * Common Interface declaration for conformance and knowledge artifact resources. */ public abstract class CanonicalResource extends DomainResource { @@ -80,7 +76,7 @@ public abstract class CanonicalResource extends DomainResource { return 1; } /** - * @return {@link #url} (An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public abstract UriType getUrlElement(); @@ -88,15 +84,15 @@ public abstract class CanonicalResource extends DomainResource { public abstract boolean hasUrl(); /** - * @param value {@link #url} (An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public abstract CanonicalResource setUrlElement(UriType value); /** - * @return An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers. + * @return An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers. */ public abstract String getUrl(); /** - * @param value An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers. + * @param value An absolute URI that is used to identify this canonical resource when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this canonical resource is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the canonical resource is stored on different servers. */ public abstract CanonicalResource setUrl(String value); /** @@ -147,6 +143,32 @@ public abstract class CanonicalResource extends DomainResource { * @param value The identifier that is used to identify this version of the canonical resource when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the canonical resource author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. */ public abstract CanonicalResource setVersion(String value); + /** + * How many allowed for this property by the implementation + */ + public int getVersionAlgorithmMax() { + return 1; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public abstract DataType getVersionAlgorithm(); + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public abstract StringType getVersionAlgorithmStringType() throws FHIRException; + public abstract boolean hasVersionAlgorithmStringType(); + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public abstract Coding getVersionAlgorithmCoding() throws FHIRException; + public abstract boolean hasVersionAlgorithmCoding(); + public abstract boolean hasVersionAlgorithm(); + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public abstract CanonicalResource setVersionAlgorithm(DataType value); + /** * How many allowed for this property by the implementation */ @@ -284,7 +306,7 @@ public abstract class CanonicalResource extends DomainResource { return 1; } /** - * @return {@link #publisher} (The name of the organization or individual that published the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public abstract StringType getPublisherElement(); @@ -292,15 +314,15 @@ public abstract class CanonicalResource extends DomainResource { public abstract boolean hasPublisher(); /** - * @param value {@link #publisher} (The name of the organization or individual that published the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public abstract CanonicalResource setPublisherElement(StringType value); /** - * @return The name of the organization or individual that published the canonical resource. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource. */ public abstract String getPublisher(); /** - * @param value The name of the organization or individual that published the canonical resource. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the canonical resource. */ public abstract CanonicalResource setPublisher(String value); /** @@ -447,6 +469,32 @@ public abstract class CanonicalResource extends DomainResource { * @param value A copyright statement relating to the canonical resource and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the canonical resource. */ public abstract CanonicalResource setCopyright(String value); + /** + * How many allowed for this property by the implementation + */ + public int getCopyrightLabelMax() { + return 1; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public abstract StringType getCopyrightLabelElement(); + + public abstract boolean hasCopyrightLabelElement(); + public abstract boolean hasCopyrightLabel(); + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public abstract CanonicalResource setCopyrightLabelElement(StringType value); + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public abstract String getCopyrightLabel(); + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public abstract CanonicalResource setCopyrightLabel(String value); protected void listChildren(List children) { super.listChildren(children); } @@ -561,7 +609,7 @@ public abstract class CanonicalResource extends DomainResource { public String getVersionedUrl() { return hasVersion() ? getUrl()+"|"+getVersion() : getUrl(); } -// end addition + public String oid() { for (Identifier id : getIdentifier()) { @@ -581,5 +629,7 @@ public abstract class CanonicalResource extends DomainResource { return null; } +// end addition + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement.java index 7c2228fa6..9d730f38f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -49,7 +49,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.IBaseConformance; /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. */ @ResourceDef(name="CapabilityStatement", profile="http://hl7.org/fhir/StructureDefinition/CapabilityStatement") public class CapabilityStatement extends CanonicalResource implements IBaseConformance { @@ -640,7 +640,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo */ VERSIONED, /** - * VersionId must be correct for updates (server) or will be specified (If-match header) for updates (client). + * Supports version-aware updates (server) or will be specified (If-match header) for updates (client). */ VERSIONEDUPDATE, /** @@ -683,7 +683,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo switch (this) { case NOVERSION: return "VersionId meta-property is not supported (server) or used (client)."; case VERSIONED: return "VersionId meta-property is supported (server) or used (client)."; - case VERSIONEDUPDATE: return "VersionId must be correct for updates (server) or will be specified (If-match header) for updates (client)."; + case VERSIONEDUPDATE: return "Supports version-aware updates (server) or will be specified (If-match header) for updates (client)."; case NULL: return null; default: return "?"; } @@ -742,6 +742,102 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } } + public enum RestfulCapabilityMode { + /** + * The application acts as a client for this resource. + */ + CLIENT, + /** + * The application acts as a server for this resource. + */ + SERVER, + /** + * added to help the parsers with the generic types + */ + NULL; + public static RestfulCapabilityMode fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("client".equals(codeString)) + return CLIENT; + if ("server".equals(codeString)) + return SERVER; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown RestfulCapabilityMode code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case CLIENT: return "client"; + case SERVER: return "server"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case CLIENT: return "http://hl7.org/fhir/restful-capability-mode"; + case SERVER: return "http://hl7.org/fhir/restful-capability-mode"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case CLIENT: return "The application acts as a client for this resource."; + case SERVER: return "The application acts as a server for this resource."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case CLIENT: return "Client"; + case SERVER: return "Server"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class RestfulCapabilityModeEnumFactory implements EnumFactory { + public RestfulCapabilityMode fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("client".equals(codeString)) + return RestfulCapabilityMode.CLIENT; + if ("server".equals(codeString)) + return RestfulCapabilityMode.SERVER; + throw new IllegalArgumentException("Unknown RestfulCapabilityMode code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("client".equals(codeString)) + return new Enumeration(this, RestfulCapabilityMode.CLIENT); + if ("server".equals(codeString)) + return new Enumeration(this, RestfulCapabilityMode.SERVER); + throw new FHIRException("Unknown RestfulCapabilityMode code '"+codeString+"'"); + } + public String toCode(RestfulCapabilityMode code) { + if (code == RestfulCapabilityMode.CLIENT) + return "client"; + if (code == RestfulCapabilityMode.SERVER) + return "server"; + return "?"; + } + public String toSystem(RestfulCapabilityMode code) { + return code.getSystem(); + } + } + public enum SystemRestfulInteraction { /** * Update, create or delete a set of resources as a single transaction. @@ -1744,10 +1840,10 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo protected List interaction; /** - * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. + * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. This is only for searches executed against the system-level endpoint. */ @Child(name = "searchParam", type = {CapabilityStatementRestResourceSearchParamComponent.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Search parameters for searching all resources", formalDefinition="Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation." ) + @Description(shortDefinition="Search parameters for searching all resources", formalDefinition="Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. This is only for searches executed against the system-level endpoint." ) protected List searchParam; /** @@ -2006,7 +2102,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #searchParam} (Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.) + * @return {@link #searchParam} (Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. This is only for searches executed against the system-level endpoint.) */ public List getSearchParam() { if (this.searchParam == null) @@ -2179,7 +2275,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo children.add(new Property("security", "", "Information about security implementation from an interface perspective - what a client needs to know.", 0, 1, security)); children.add(new Property("resource", "", "A specification of the restful capabilities of the solution for a specific resource type.", 0, java.lang.Integer.MAX_VALUE, resource)); children.add(new Property("interaction", "", "A specification of restful operations supported by the system.", 0, java.lang.Integer.MAX_VALUE, interaction)); - children.add(new Property("searchParam", "@CapabilityStatement.rest.resource.searchParam", "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.", 0, java.lang.Integer.MAX_VALUE, searchParam)); + children.add(new Property("searchParam", "@CapabilityStatement.rest.resource.searchParam", "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. This is only for searches executed against the system-level endpoint.", 0, java.lang.Integer.MAX_VALUE, searchParam)); children.add(new Property("operation", "@CapabilityStatement.rest.resource.operation", "Definition of an operation or a named query together with its parameters and their meaning and type.", 0, java.lang.Integer.MAX_VALUE, operation)); children.add(new Property("compartment", "canonical(CompartmentDefinition)", "An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .", 0, java.lang.Integer.MAX_VALUE, compartment)); } @@ -2192,7 +2288,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 949122880: /*security*/ return new Property("security", "", "Information about security implementation from an interface perspective - what a client needs to know.", 0, 1, security); case -341064690: /*resource*/ return new Property("resource", "", "A specification of the restful capabilities of the solution for a specific resource type.", 0, java.lang.Integer.MAX_VALUE, resource); case 1844104722: /*interaction*/ return new Property("interaction", "", "A specification of restful operations supported by the system.", 0, java.lang.Integer.MAX_VALUE, interaction); - case -553645115: /*searchParam*/ return new Property("searchParam", "@CapabilityStatement.rest.resource.searchParam", "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.", 0, java.lang.Integer.MAX_VALUE, searchParam); + case -553645115: /*searchParam*/ return new Property("searchParam", "@CapabilityStatement.rest.resource.searchParam", "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. This is only for searches executed against the system-level endpoint.", 0, java.lang.Integer.MAX_VALUE, searchParam); case 1662702951: /*operation*/ return new Property("operation", "@CapabilityStatement.rest.resource.operation", "Definition of an operation or a named query together with its parameters and their meaning and type.", 0, java.lang.Integer.MAX_VALUE, operation); case -397756334: /*compartment*/ return new Property("compartment", "canonical(CompartmentDefinition)", "An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .", 0, java.lang.Integer.MAX_VALUE, compartment); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -2746,17 +2842,17 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo protected CodeType type; /** - * A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses). + * A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the "superset" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses). */ @Child(name = "profile", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Base System profile for all uses of resource", formalDefinition="A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses)." ) + @Description(shortDefinition="System-wide profile", formalDefinition="A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the \"superset\" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses)." ) protected CanonicalType profile; /** - * A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses). + * A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses). */ @Child(name = "supportedProfile", type = {CanonicalType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Profiles for use cases supported", formalDefinition="A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses)." ) + @Description(shortDefinition="Use-case specific profiles", formalDefinition="A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses)." ) protected List supportedProfile; /** @@ -2817,10 +2913,17 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Description(shortDefinition="If allows/uses conditional update", formalDefinition="A flag that indicates that the server supports conditional update." ) protected BooleanType conditionalUpdate; + /** + * A flag that indicates that the server supports conditional patch. + */ + @Child(name = "conditionalPatch", type = {BooleanType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="If allows/uses conditional patch", formalDefinition="A flag that indicates that the server supports conditional patch." ) + protected BooleanType conditionalPatch; + /** * A code that indicates how the server supports conditional delete. */ - @Child(name = "conditionalDelete", type = {CodeType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "conditionalDelete", type = {CodeType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="not-supported | single | multiple - how conditional delete is supported", formalDefinition="A code that indicates how the server supports conditional delete." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/conditional-delete-status") protected Enumeration conditionalDelete; @@ -2828,7 +2931,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo /** * A set of flags that defines how references are supported. */ - @Child(name = "referencePolicy", type = {CodeType.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "referencePolicy", type = {CodeType.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="literal | logical | resolves | enforced | local", formalDefinition="A set of flags that defines how references are supported." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/reference-handling-policy") protected List> referencePolicy; @@ -2836,32 +2939,32 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo /** * A list of _include values supported by the server. */ - @Child(name = "searchInclude", type = {StringType.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "searchInclude", type = {StringType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="_include values supported by the server", formalDefinition="A list of _include values supported by the server." ) protected List searchInclude; /** * A list of _revinclude (reverse include) values supported by the server. */ - @Child(name = "searchRevInclude", type = {StringType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "searchRevInclude", type = {StringType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="_revinclude values supported by the server", formalDefinition="A list of _revinclude (reverse include) values supported by the server." ) protected List searchRevInclude; /** * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. */ - @Child(name = "searchParam", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "searchParam", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Search parameters supported by implementation", formalDefinition="Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation." ) protected List searchParam; /** * Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters. */ - @Child(name = "operation", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "operation", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Definition of a resource operation", formalDefinition="Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters." ) protected List operation; - private static final long serialVersionUID = -1843372337L; + private static final long serialVersionUID = -1565226425L; /** * Constructor @@ -2924,7 +3027,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #profile} (A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value + * @return {@link #profile} (A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the "superset" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value */ public CanonicalType getProfileElement() { if (this.profile == null) @@ -2944,7 +3047,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #profile} (A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value + * @param value {@link #profile} (A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the "superset" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value */ public CapabilityStatementRestResourceComponent setProfileElement(CanonicalType value) { this.profile = value; @@ -2952,14 +3055,14 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses). + * @return A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the "superset" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses). */ public String getProfile() { return this.profile == null ? null : this.profile.getValue(); } /** - * @param value A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses). + * @param value A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the "superset" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses). */ public CapabilityStatementRestResourceComponent setProfile(String value) { if (Utilities.noString(value)) @@ -2973,7 +3076,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) + * @return {@link #supportedProfile} (A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses).) */ public List getSupportedProfile() { if (this.supportedProfile == null) @@ -2999,7 +3102,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) + * @return {@link #supportedProfile} (A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses).) */ public CanonicalType addSupportedProfileElement() {//2 CanonicalType t = new CanonicalType(); @@ -3010,7 +3113,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) + * @param value {@link #supportedProfile} (A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses).) */ public CapabilityStatementRestResourceComponent addSupportedProfile(String value) { //1 CanonicalType t = new CanonicalType(); @@ -3022,7 +3125,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) + * @param value {@link #supportedProfile} (A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses).) */ public boolean hasSupportedProfile(String value) { if (this.supportedProfile == null) @@ -3413,6 +3516,51 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo return this; } + /** + * @return {@link #conditionalPatch} (A flag that indicates that the server supports conditional patch.). This is the underlying object with id, value and extensions. The accessor "getConditionalPatch" gives direct access to the value + */ + public BooleanType getConditionalPatchElement() { + if (this.conditionalPatch == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CapabilityStatementRestResourceComponent.conditionalPatch"); + else if (Configuration.doAutoCreate()) + this.conditionalPatch = new BooleanType(); // bb + return this.conditionalPatch; + } + + public boolean hasConditionalPatchElement() { + return this.conditionalPatch != null && !this.conditionalPatch.isEmpty(); + } + + public boolean hasConditionalPatch() { + return this.conditionalPatch != null && !this.conditionalPatch.isEmpty(); + } + + /** + * @param value {@link #conditionalPatch} (A flag that indicates that the server supports conditional patch.). This is the underlying object with id, value and extensions. The accessor "getConditionalPatch" gives direct access to the value + */ + public CapabilityStatementRestResourceComponent setConditionalPatchElement(BooleanType value) { + this.conditionalPatch = value; + return this; + } + + /** + * @return A flag that indicates that the server supports conditional patch. + */ + public boolean getConditionalPatch() { + return this.conditionalPatch == null || this.conditionalPatch.isEmpty() ? false : this.conditionalPatch.getValue(); + } + + /** + * @param value A flag that indicates that the server supports conditional patch. + */ + public CapabilityStatementRestResourceComponent setConditionalPatch(boolean value) { + if (this.conditionalPatch == null) + this.conditionalPatch = new BooleanType(); + this.conditionalPatch.setValue(value); + return this; + } + /** * @return {@link #conditionalDelete} (A code that indicates how the server supports conditional delete.). This is the underlying object with id, value and extensions. The accessor "getConditionalDelete" gives direct access to the value */ @@ -3754,8 +3902,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "code", "A type of resource exposed via the restful interface.", 0, 1, type)); - children.add(new Property("profile", "canonical(StructureDefinition)", "A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, 1, profile)); - children.add(new Property("supportedProfile", "canonical(StructureDefinition)", "A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, java.lang.Integer.MAX_VALUE, supportedProfile)); + children.add(new Property("profile", "canonical(StructureDefinition)", "A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the \"superset\" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, 1, profile)); + children.add(new Property("supportedProfile", "canonical(StructureDefinition)", "A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, java.lang.Integer.MAX_VALUE, supportedProfile)); children.add(new Property("documentation", "markdown", "Additional information about the resource type used by the system.", 0, 1, documentation)); children.add(new Property("interaction", "", "Identifies a restful operation supported by the solution.", 0, java.lang.Integer.MAX_VALUE, interaction)); children.add(new Property("versioning", "code", "This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API.", 0, 1, versioning)); @@ -3764,6 +3912,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo children.add(new Property("conditionalCreate", "boolean", "A flag that indicates that the server supports conditional create.", 0, 1, conditionalCreate)); children.add(new Property("conditionalRead", "code", "A code that indicates how the server supports conditional read.", 0, 1, conditionalRead)); children.add(new Property("conditionalUpdate", "boolean", "A flag that indicates that the server supports conditional update.", 0, 1, conditionalUpdate)); + children.add(new Property("conditionalPatch", "boolean", "A flag that indicates that the server supports conditional patch.", 0, 1, conditionalPatch)); children.add(new Property("conditionalDelete", "code", "A code that indicates how the server supports conditional delete.", 0, 1, conditionalDelete)); children.add(new Property("referencePolicy", "code", "A set of flags that defines how references are supported.", 0, java.lang.Integer.MAX_VALUE, referencePolicy)); children.add(new Property("searchInclude", "string", "A list of _include values supported by the server.", 0, java.lang.Integer.MAX_VALUE, searchInclude)); @@ -3776,8 +3925,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "code", "A type of resource exposed via the restful interface.", 0, 1, type); - case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, 1, profile); - case 1225477403: /*supportedProfile*/ return new Property("supportedProfile", "canonical(StructureDefinition)", "A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, java.lang.Integer.MAX_VALUE, supportedProfile); + case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "A system-wide profile that is applied across *all* instances of the resource supported by the system. For example, if declared on Observation, this profile is the \"superset\" of capabilities for laboratory *and* vitals *and* other domains. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, 1, profile); + case 1225477403: /*supportedProfile*/ return new Property("supportedProfile", "canonical(StructureDefinition)", "A list of profiles representing different use cases the system hosts/produces. A supported profile is a statement about the functionality of the data and services provided by the server (or the client) for supported use cases. For example, a system can define and declare multiple Observation profiles for laboratory observations, vital sign observations, etc. By declaring supported profiles, systems provide a way to determine whether individual resources are conformant. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, java.lang.Integer.MAX_VALUE, supportedProfile); case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Additional information about the resource type used by the system.", 0, 1, documentation); case 1844104722: /*interaction*/ return new Property("interaction", "", "Identifies a restful operation supported by the solution.", 0, java.lang.Integer.MAX_VALUE, interaction); case -670487542: /*versioning*/ return new Property("versioning", "code", "This field is set to no-version to specify that the system does not support (server) or use (client) versioning for this resource type. If this has some other value, the server must at least correctly track and populate the versionId meta-property on resources. If the value is 'versioned-update', then the server supports all the versioning features, including using e-tags for version integrity in the API.", 0, 1, versioning); @@ -3786,6 +3935,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 6401826: /*conditionalCreate*/ return new Property("conditionalCreate", "boolean", "A flag that indicates that the server supports conditional create.", 0, 1, conditionalCreate); case 822786364: /*conditionalRead*/ return new Property("conditionalRead", "code", "A code that indicates how the server supports conditional read.", 0, 1, conditionalRead); case 519849711: /*conditionalUpdate*/ return new Property("conditionalUpdate", "boolean", "A flag that indicates that the server supports conditional update.", 0, 1, conditionalUpdate); + case -265374366: /*conditionalPatch*/ return new Property("conditionalPatch", "boolean", "A flag that indicates that the server supports conditional patch.", 0, 1, conditionalPatch); case 23237585: /*conditionalDelete*/ return new Property("conditionalDelete", "code", "A code that indicates how the server supports conditional delete.", 0, 1, conditionalDelete); case 796257373: /*referencePolicy*/ return new Property("referencePolicy", "code", "A set of flags that defines how references are supported.", 0, java.lang.Integer.MAX_VALUE, referencePolicy); case -1035904544: /*searchInclude*/ return new Property("searchInclude", "string", "A list of _include values supported by the server.", 0, java.lang.Integer.MAX_VALUE, searchInclude); @@ -3811,6 +3961,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 6401826: /*conditionalCreate*/ return this.conditionalCreate == null ? new Base[0] : new Base[] {this.conditionalCreate}; // BooleanType case 822786364: /*conditionalRead*/ return this.conditionalRead == null ? new Base[0] : new Base[] {this.conditionalRead}; // Enumeration case 519849711: /*conditionalUpdate*/ return this.conditionalUpdate == null ? new Base[0] : new Base[] {this.conditionalUpdate}; // BooleanType + case -265374366: /*conditionalPatch*/ return this.conditionalPatch == null ? new Base[0] : new Base[] {this.conditionalPatch}; // BooleanType case 23237585: /*conditionalDelete*/ return this.conditionalDelete == null ? new Base[0] : new Base[] {this.conditionalDelete}; // Enumeration case 796257373: /*referencePolicy*/ return this.referencePolicy == null ? new Base[0] : this.referencePolicy.toArray(new Base[this.referencePolicy.size()]); // Enumeration case -1035904544: /*searchInclude*/ return this.searchInclude == null ? new Base[0] : this.searchInclude.toArray(new Base[this.searchInclude.size()]); // StringType @@ -3860,6 +4011,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 519849711: // conditionalUpdate this.conditionalUpdate = TypeConvertor.castToBoolean(value); // BooleanType return value; + case -265374366: // conditionalPatch + this.conditionalPatch = TypeConvertor.castToBoolean(value); // BooleanType + return value; case 23237585: // conditionalDelete value = new ConditionalDeleteStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.conditionalDelete = (Enumeration) value; // Enumeration @@ -3911,6 +4065,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo this.conditionalRead = (Enumeration) value; // Enumeration } else if (name.equals("conditionalUpdate")) { this.conditionalUpdate = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("conditionalPatch")) { + this.conditionalPatch = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("conditionalDelete")) { value = new ConditionalDeleteStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.conditionalDelete = (Enumeration) value; // Enumeration @@ -3944,6 +4100,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 6401826: return getConditionalCreateElement(); case 822786364: return getConditionalReadElement(); case 519849711: return getConditionalUpdateElement(); + case -265374366: return getConditionalPatchElement(); case 23237585: return getConditionalDeleteElement(); case 796257373: return addReferencePolicyElement(); case -1035904544: return addSearchIncludeElement(); @@ -3969,6 +4126,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 6401826: /*conditionalCreate*/ return new String[] {"boolean"}; case 822786364: /*conditionalRead*/ return new String[] {"code"}; case 519849711: /*conditionalUpdate*/ return new String[] {"boolean"}; + case -265374366: /*conditionalPatch*/ return new String[] {"boolean"}; case 23237585: /*conditionalDelete*/ return new String[] {"code"}; case 796257373: /*referencePolicy*/ return new String[] {"code"}; case -1035904544: /*searchInclude*/ return new String[] {"string"}; @@ -4015,6 +4173,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo else if (name.equals("conditionalUpdate")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.rest.resource.conditionalUpdate"); } + else if (name.equals("conditionalPatch")) { + throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.rest.resource.conditionalPatch"); + } else if (name.equals("conditionalDelete")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.rest.resource.conditionalDelete"); } @@ -4064,6 +4225,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo dst.conditionalCreate = conditionalCreate == null ? null : conditionalCreate.copy(); dst.conditionalRead = conditionalRead == null ? null : conditionalRead.copy(); dst.conditionalUpdate = conditionalUpdate == null ? null : conditionalUpdate.copy(); + dst.conditionalPatch = conditionalPatch == null ? null : conditionalPatch.copy(); dst.conditionalDelete = conditionalDelete == null ? null : conditionalDelete.copy(); if (referencePolicy != null) { dst.referencePolicy = new ArrayList>(); @@ -4104,9 +4266,10 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo && compareDeep(versioning, o.versioning, true) && compareDeep(readHistory, o.readHistory, true) && compareDeep(updateCreate, o.updateCreate, true) && compareDeep(conditionalCreate, o.conditionalCreate, true) && compareDeep(conditionalRead, o.conditionalRead, true) && compareDeep(conditionalUpdate, o.conditionalUpdate, true) - && compareDeep(conditionalDelete, o.conditionalDelete, true) && compareDeep(referencePolicy, o.referencePolicy, true) - && compareDeep(searchInclude, o.searchInclude, true) && compareDeep(searchRevInclude, o.searchRevInclude, true) - && compareDeep(searchParam, o.searchParam, true) && compareDeep(operation, o.operation, true); + && compareDeep(conditionalPatch, o.conditionalPatch, true) && compareDeep(conditionalDelete, o.conditionalDelete, true) + && compareDeep(referencePolicy, o.referencePolicy, true) && compareDeep(searchInclude, o.searchInclude, true) + && compareDeep(searchRevInclude, o.searchRevInclude, true) && compareDeep(searchParam, o.searchParam, true) + && compareDeep(operation, o.operation, true); } @Override @@ -4120,16 +4283,17 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo && compareValues(documentation, o.documentation, true) && compareValues(versioning, o.versioning, true) && compareValues(readHistory, o.readHistory, true) && compareValues(updateCreate, o.updateCreate, true) && compareValues(conditionalCreate, o.conditionalCreate, true) && compareValues(conditionalRead, o.conditionalRead, true) - && compareValues(conditionalUpdate, o.conditionalUpdate, true) && compareValues(conditionalDelete, o.conditionalDelete, true) - && compareValues(referencePolicy, o.referencePolicy, true) && compareValues(searchInclude, o.searchInclude, true) - && compareValues(searchRevInclude, o.searchRevInclude, true); + && compareValues(conditionalUpdate, o.conditionalUpdate, true) && compareValues(conditionalPatch, o.conditionalPatch, true) + && compareValues(conditionalDelete, o.conditionalDelete, true) && compareValues(referencePolicy, o.referencePolicy, true) + && compareValues(searchInclude, o.searchInclude, true) && compareValues(searchRevInclude, o.searchRevInclude, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, profile, supportedProfile , documentation, interaction, versioning, readHistory, updateCreate, conditionalCreate - , conditionalRead, conditionalUpdate, conditionalDelete, referencePolicy, searchInclude - , searchRevInclude, searchParam, operation); + , conditionalRead, conditionalUpdate, conditionalPatch, conditionalDelete, referencePolicy + , searchInclude, searchRevInclude, searchParam, operation); } public String fhirType() { @@ -4398,10 +4562,10 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Block() public static class CapabilityStatementRestResourceSearchParamComponent extends BackboneElement implements IBaseBackboneElement { /** - * The name of the search parameter used in the interface. + * The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code. */ @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Name of search parameter", formalDefinition="The name of the search parameter used in the interface." ) + @Description(shortDefinition="Name for parameter in search url", formalDefinition="The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code." ) protected StringType name; /** @@ -4445,7 +4609,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #name} (The name of the search parameter used in the interface.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @return {@link #name} (The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public StringType getNameElement() { if (this.name == null) @@ -4465,7 +4629,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #name} (The name of the search parameter used in the interface.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #name} (The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public CapabilityStatementRestResourceSearchParamComponent setNameElement(StringType value) { this.name = value; @@ -4473,14 +4637,14 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return The name of the search parameter used in the interface. + * @return The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code. */ public String getName() { return this.name == null ? null : this.name.getValue(); } /** - * @param value The name of the search parameter used in the interface. + * @param value The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code. */ public CapabilityStatementRestResourceSearchParamComponent setName(String value) { if (this.name == null) @@ -4634,7 +4798,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("name", "string", "The name of the search parameter used in the interface.", 0, 1, name)); + children.add(new Property("name", "string", "The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code.", 0, 1, name)); children.add(new Property("definition", "canonical(SearchParameter)", "An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.", 0, 1, definition)); children.add(new Property("type", "code", "The type of value a search parameter refers to, and how the content is interpreted.", 0, 1, type)); children.add(new Property("documentation", "markdown", "This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms.", 0, 1, documentation)); @@ -4643,7 +4807,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3373707: /*name*/ return new Property("name", "string", "The name of the search parameter used in the interface.", 0, 1, name); + case 3373707: /*name*/ return new Property("name", "string", "The label used for the search parameter in this particular system's API - i.e. the 'name' portion of the name-value pair that will appear as part of the search URL. This SHOULD be the same as the SearchParameter.code of the defining SearchParameter. However, it can sometimes differ if necessary to disambiguate when a server supports multiple SearchParameters that happen to share the same code.", 0, 1, name); case -1014418093: /*definition*/ return new Property("definition", "canonical(SearchParameter)", "An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.", 0, 1, definition); case 3575610: /*type*/ return new Property("type", "code", "The type of value a search parameter refers to, and how the content is interpreted.", 0, 1, type); case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms.", 0, 1, documentation); @@ -4794,10 +4958,10 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Block() public static class CapabilityStatementRestResourceOperationComponent extends BackboneElement implements IBaseBackboneElement { /** - * The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. + * The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code. */ @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name by which the operation/query is invoked", formalDefinition="The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called." ) + @Description(shortDefinition="Name by which the operation/query is invoked", formalDefinition="The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code." ) protected StringType name; /** @@ -4833,7 +4997,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #name} (The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @return {@link #name} (The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public StringType getNameElement() { if (this.name == null) @@ -4853,7 +5017,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #name} (The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #name} (The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public CapabilityStatementRestResourceOperationComponent setNameElement(StringType value) { this.name = value; @@ -4861,14 +5025,14 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. + * @return The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code. */ public String getName() { return this.name == null ? null : this.name.getValue(); } /** - * @param value The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. + * @param value The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code. */ public CapabilityStatementRestResourceOperationComponent setName(String value) { if (this.name == null) @@ -4973,7 +5137,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("name", "string", "The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.", 0, 1, name)); + children.add(new Property("name", "string", "The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code.", 0, 1, name)); children.add(new Property("definition", "canonical(OperationDefinition)", "Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported.", 0, 1, definition)); children.add(new Property("documentation", "markdown", "Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.", 0, 1, documentation)); } @@ -4981,7 +5145,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3373707: /*name*/ return new Property("name", "string", "The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.", 0, 1, name); + case 3373707: /*name*/ return new Property("name", "string", "The name of the operation or query. For an operation, this name is prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. This SHOULD be the same as the OperationDefinition.code of the defining OperationDefinition. However, it can sometimes differ if necessary to disambiguate when a server supports multiple OperationDefinition that happen to share the same code.", 0, 1, name); case -1014418093: /*definition*/ return new Property("definition", "canonical(OperationDefinition)", "Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported.", 0, 1, definition); case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.", 0, 1, documentation); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -6586,10 +6750,10 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers. + * An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this capability statement, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this capability statement, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers." ) protected UriType url; /** @@ -6599,24 +6763,32 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Description(shortDefinition="Business version of the capability statement", formalDefinition="The identifier that is used to identify this version of the capability statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this capability statement (computer friendly)", formalDefinition="A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the capability statement. */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this capability statement (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the capability statement." ) protected StringType title; /** * The status of this capability statement. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this capability statement. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -6624,49 +6796,49 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo /** * A Boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the capability statement was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=6, min=1, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=7, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the capability statement was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the capability statement. + * The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement. */ - @Child(name = "publisher", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the capability statement." ) + @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the capability statement from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. */ - @Child(name = "description", type = {MarkdownType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the capability statement", formalDefinition="A free text natural language description of the capability statement from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement instances." ) protected List useContext; /** * A legal or geographic region in which the capability statement is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for capability statement (if applicable)", formalDefinition="A legal or geographic region in which the capability statement is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -6674,21 +6846,28 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo /** * Explanation of why this capability statement is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this capability statement is defined", formalDefinition="Explanation of why this capability statement is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** * A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement." ) protected MarkdownType copyright; + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). */ - @Child(name = "kind", type = {CodeType.class}, order=14, min=1, max=1, modifier=false, summary=true) + @Child(name = "kind", type = {CodeType.class}, order=16, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="instance | capability | requirements", formalDefinition="The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/capability-statement-kind") protected Enumeration kind; @@ -6696,35 +6875,35 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo /** * Reference to a canonical URL of another CapabilityStatement that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details. */ - @Child(name = "instantiates", type = {CanonicalType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "instantiates", type = {CanonicalType.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Canonical URL of another capability statement this implements", formalDefinition="Reference to a canonical URL of another CapabilityStatement that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details." ) protected List instantiates; /** * Reference to a canonical URL of another CapabilityStatement that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them. */ - @Child(name = "imports", type = {CanonicalType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "imports", type = {CanonicalType.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Canonical URL of another capability statement this adds to", formalDefinition="Reference to a canonical URL of another CapabilityStatement that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them." ) protected List imports; /** * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. */ - @Child(name = "software", type = {}, order=17, min=0, max=1, modifier=false, summary=true) + @Child(name = "software", type = {}, order=19, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Software that is covered by this capability statement", formalDefinition="Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation." ) protected CapabilityStatementSoftwareComponent software; /** * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. */ - @Child(name = "implementation", type = {}, order=18, min=0, max=1, modifier=false, summary=true) + @Child(name = "implementation", type = {}, order=20, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If this describes a specific instance", formalDefinition="Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program." ) protected CapabilityStatementImplementationComponent implementation; /** * The version of the FHIR specification that this CapabilityStatement describes (which SHALL be the same as the FHIR version of the CapabilityStatement itself). There is no default value. */ - @Child(name = "fhirVersion", type = {CodeType.class}, order=19, min=1, max=1, modifier=false, summary=true) + @Child(name = "fhirVersion", type = {CodeType.class}, order=21, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="FHIR Version the system supports", formalDefinition="The version of the FHIR specification that this CapabilityStatement describes (which SHALL be the same as the FHIR version of the CapabilityStatement itself). There is no default value." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version") protected Enumeration fhirVersion; @@ -6732,48 +6911,56 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo /** * A list of the formats supported by this implementation using their content types. */ - @Child(name = "format", type = {CodeType.class}, order=20, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "format", type = {CodeType.class}, order=22, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="formats supported (xml | json | ttl | mime type)", formalDefinition="A list of the formats supported by this implementation using their content types." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/capability-format-type") protected List format; /** * A list of the patch formats supported by this implementation using their content types. */ - @Child(name = "patchFormat", type = {CodeType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "patchFormat", type = {CodeType.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Patch formats supported", formalDefinition="A list of the patch formats supported by this implementation using their content types." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") protected List patchFormat; + /** + * A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header. + */ + @Child(name = "acceptLanguage", type = {CodeType.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Languages supported", formalDefinition="A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") + protected List acceptLanguage; + /** * A list of implementation guides that the server does (or should) support in their entirety. */ - @Child(name = "implementationGuide", type = {CanonicalType.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "implementationGuide", type = {CanonicalType.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Implementation guides supported", formalDefinition="A list of implementation guides that the server does (or should) support in their entirety." ) protected List implementationGuide; /** * A definition of the restful capabilities of the solution, if any. */ - @Child(name = "rest", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "rest", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="If the endpoint is a RESTful one", formalDefinition="A definition of the restful capabilities of the solution, if any." ) protected List rest; /** * A description of the messaging capabilities of the solution. */ - @Child(name = "messaging", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "messaging", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="If messaging is supported", formalDefinition="A description of the messaging capabilities of the solution." ) protected List messaging; /** * A document definition. */ - @Child(name = "document", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "document", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Document definition", formalDefinition="A document definition." ) protected List document; - private static final long serialVersionUID = 1554492069L; + private static final long serialVersionUID = 1172441623L; /** * Constructor @@ -6795,7 +6982,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #url} (An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -6815,7 +7002,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #url} (An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public CapabilityStatement setUrlElement(UriType value) { this.url = value; @@ -6823,14 +7010,14 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers. + * @return An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers. + * @param value An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers. */ public CapabilityStatement setUrl(String value) { if (Utilities.noString(value)) @@ -6892,6 +7079,57 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public CapabilityStatement setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for CapabilityStatement.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -7126,7 +7364,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return {@link #publisher} (The name of the organization or individual that published the capability statement.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -7146,7 +7384,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @param value {@link #publisher} (The name of the organization or individual that published the capability statement.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public CapabilityStatement setPublisherElement(StringType value) { this.publisher = value; @@ -7154,14 +7392,14 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo } /** - * @return The name of the organization or individual that published the capability statement. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the capability statement. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement. */ public CapabilityStatement setPublisher(String value) { if (Utilities.noString(value)) @@ -7480,6 +7718,55 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo return this; } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CapabilityStatement.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public CapabilityStatement setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public CapabilityStatement setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #kind} (The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value */ @@ -7862,6 +8149,67 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo return false; } + /** + * @return {@link #acceptLanguage} (A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header.) + */ + public List getAcceptLanguage() { + if (this.acceptLanguage == null) + this.acceptLanguage = new ArrayList(); + return this.acceptLanguage; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CapabilityStatement setAcceptLanguage(List theAcceptLanguage) { + this.acceptLanguage = theAcceptLanguage; + return this; + } + + public boolean hasAcceptLanguage() { + if (this.acceptLanguage == null) + return false; + for (CodeType item : this.acceptLanguage) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #acceptLanguage} (A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header.) + */ + public CodeType addAcceptLanguageElement() {//2 + CodeType t = new CodeType(); + if (this.acceptLanguage == null) + this.acceptLanguage = new ArrayList(); + this.acceptLanguage.add(t); + return t; + } + + /** + * @param value {@link #acceptLanguage} (A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header.) + */ + public CapabilityStatement addAcceptLanguage(String value) { //1 + CodeType t = new CodeType(); + t.setValue(value); + if (this.acceptLanguage == null) + this.acceptLanguage = new ArrayList(); + this.acceptLanguage.add(t); + return this; + } + + /** + * @param value {@link #acceptLanguage} (A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header.) + */ + public boolean hasAcceptLanguage(String value) { + if (this.acceptLanguage == null) + return false; + for (CodeType v : this.acceptLanguage) + if (v.getValue().equals(value)) // code + return true; + return false; + } + /** * @return {@link #implementationGuide} (A list of implementation guides that the server does (or should) support in their entirety.) */ @@ -8099,40 +8447,42 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo * @return Returns a reference to this for easy method chaining */ public CapabilityStatement setIdentifier(List theIdentifier) { - throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); } public boolean hasIdentifier() { return false; } public Identifier addIdentifier() { //3 - throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); } public CapabilityStatement addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); } /** * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} */ public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CapabilityStatement\" does not implement the property \"identifier\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.", 0, 1, url)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the capability statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title)); children.add(new Property("status", "code", "The status of this capability statement. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the capability statement was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the capability statement.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the capability statement from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the capability statement is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this capability statement is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("kind", "code", "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).", 0, 1, kind)); children.add(new Property("instantiates", "canonical(CapabilityStatement)", "Reference to a canonical URL of another CapabilityStatement that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.", 0, java.lang.Integer.MAX_VALUE, instantiates)); children.add(new Property("imports", "canonical(CapabilityStatement)", "Reference to a canonical URL of another CapabilityStatement that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.", 0, java.lang.Integer.MAX_VALUE, imports)); @@ -8141,6 +8491,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo children.add(new Property("fhirVersion", "code", "The version of the FHIR specification that this CapabilityStatement describes (which SHALL be the same as the FHIR version of the CapabilityStatement itself). There is no default value.", 0, 1, fhirVersion)); children.add(new Property("format", "code", "A list of the formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, format)); children.add(new Property("patchFormat", "code", "A list of the patch formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, patchFormat)); + children.add(new Property("acceptLanguage", "code", "A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header.", 0, java.lang.Integer.MAX_VALUE, acceptLanguage)); children.add(new Property("implementationGuide", "canonical(ImplementationGuide)", "A list of implementation guides that the server does (or should) support in their entirety.", 0, java.lang.Integer.MAX_VALUE, implementationGuide)); children.add(new Property("rest", "", "A definition of the restful capabilities of the solution, if any.", 0, java.lang.Integer.MAX_VALUE, rest)); children.add(new Property("messaging", "", "A description of the messaging capabilities of the solution.", 0, java.lang.Integer.MAX_VALUE, messaging)); @@ -8150,20 +8501,25 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this capability statement when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this capability statement is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement is stored on different servers.", 0, 1, url); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the capability statement when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the capability statement. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this capability statement. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this capability statement is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the capability statement was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the capability statement.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the capability statement.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the capability statement from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the capability statement is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this capability statement is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the capability statement and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case 3292052: /*kind*/ return new Property("kind", "code", "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).", 0, 1, kind); case -246883639: /*instantiates*/ return new Property("instantiates", "canonical(CapabilityStatement)", "Reference to a canonical URL of another CapabilityStatement that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.", 0, java.lang.Integer.MAX_VALUE, instantiates); case 1926037870: /*imports*/ return new Property("imports", "canonical(CapabilityStatement)", "Reference to a canonical URL of another CapabilityStatement that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.", 0, java.lang.Integer.MAX_VALUE, imports); @@ -8172,6 +8528,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 461006061: /*fhirVersion*/ return new Property("fhirVersion", "code", "The version of the FHIR specification that this CapabilityStatement describes (which SHALL be the same as the FHIR version of the CapabilityStatement itself). There is no default value.", 0, 1, fhirVersion); case -1268779017: /*format*/ return new Property("format", "code", "A list of the formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, format); case 172338783: /*patchFormat*/ return new Property("patchFormat", "code", "A list of the patch formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, patchFormat); + case 1014178944: /*acceptLanguage*/ return new Property("acceptLanguage", "code", "A list of the languages supported by this implementation that are usefully supported in the ```Accept-Language``` header.", 0, java.lang.Integer.MAX_VALUE, acceptLanguage); case 156966506: /*implementationGuide*/ return new Property("implementationGuide", "canonical(ImplementationGuide)", "A list of implementation guides that the server does (or should) support in their entirety.", 0, java.lang.Integer.MAX_VALUE, implementationGuide); case 3496916: /*rest*/ return new Property("rest", "", "A definition of the restful capabilities of the solution, if any.", 0, java.lang.Integer.MAX_VALUE, rest); case -1440008444: /*messaging*/ return new Property("messaging", "", "A description of the messaging capabilities of the solution.", 0, java.lang.Integer.MAX_VALUE, messaging); @@ -8186,6 +8543,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -8198,6 +8556,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration case -246883639: /*instantiates*/ return this.instantiates == null ? new Base[0] : this.instantiates.toArray(new Base[this.instantiates.size()]); // CanonicalType case 1926037870: /*imports*/ return this.imports == null ? new Base[0] : this.imports.toArray(new Base[this.imports.size()]); // CanonicalType @@ -8206,6 +8565,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : new Base[] {this.fhirVersion}; // Enumeration case -1268779017: /*format*/ return this.format == null ? new Base[0] : this.format.toArray(new Base[this.format.size()]); // CodeType case 172338783: /*patchFormat*/ return this.patchFormat == null ? new Base[0] : this.patchFormat.toArray(new Base[this.patchFormat.size()]); // CodeType + case 1014178944: /*acceptLanguage*/ return this.acceptLanguage == null ? new Base[0] : this.acceptLanguage.toArray(new Base[this.acceptLanguage.size()]); // CodeType case 156966506: /*implementationGuide*/ return this.implementationGuide == null ? new Base[0] : this.implementationGuide.toArray(new Base[this.implementationGuide.size()]); // CanonicalType case 3496916: /*rest*/ return this.rest == null ? new Base[0] : this.rest.toArray(new Base[this.rest.size()]); // CapabilityStatementRestComponent case -1440008444: /*messaging*/ return this.messaging == null ? new Base[0] : this.messaging.toArray(new Base[this.messaging.size()]); // CapabilityStatementMessagingComponent @@ -8224,6 +8584,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -8261,6 +8624,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case 3292052: // kind value = new CapabilityStatementKindEnumFactory().fromType(TypeConvertor.castToCode(value)); this.kind = (Enumeration) value; // Enumeration @@ -8287,6 +8653,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 172338783: // patchFormat this.getPatchFormat().add(TypeConvertor.castToCode(value)); // CodeType return value; + case 1014178944: // acceptLanguage + this.getAcceptLanguage().add(TypeConvertor.castToCode(value)); // CodeType + return value; case 156966506: // implementationGuide this.getImplementationGuide().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; @@ -8310,6 +8679,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -8335,6 +8706,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("kind")) { value = new CapabilityStatementKindEnumFactory().fromType(TypeConvertor.castToCode(value)); this.kind = (Enumeration) value; // Enumeration @@ -8353,6 +8726,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo this.getFormat().add(TypeConvertor.castToCode(value)); } else if (name.equals("patchFormat")) { this.getPatchFormat().add(TypeConvertor.castToCode(value)); + } else if (name.equals("acceptLanguage")) { + this.getAcceptLanguage().add(TypeConvertor.castToCode(value)); } else if (name.equals("implementationGuide")) { this.getImplementationGuide().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("rest")) { @@ -8371,6 +8746,8 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo switch (hash) { case 116079: return getUrlElement(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); @@ -8383,6 +8760,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case 3292052: return getKindElement(); case -246883639: return addInstantiatesElement(); case 1926037870: return addImportsElement(); @@ -8391,6 +8769,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 461006061: return getFhirVersionElement(); case -1268779017: return addFormatElement(); case 172338783: return addPatchFormatElement(); + case 1014178944: return addAcceptLanguageElement(); case 156966506: return addImplementationGuideElement(); case 3496916: return addRest(); case -1440008444: return addMessaging(); @@ -8405,6 +8784,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -8417,6 +8797,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case 3292052: /*kind*/ return new String[] {"code"}; case -246883639: /*instantiates*/ return new String[] {"canonical"}; case 1926037870: /*imports*/ return new String[] {"canonical"}; @@ -8425,6 +8806,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo case 461006061: /*fhirVersion*/ return new String[] {"code"}; case -1268779017: /*format*/ return new String[] {"code"}; case 172338783: /*patchFormat*/ return new String[] {"code"}; + case 1014178944: /*acceptLanguage*/ return new String[] {"code"}; case 156966506: /*implementationGuide*/ return new String[] {"canonical"}; case 3496916: /*rest*/ return new String[] {}; case -1440008444: /*messaging*/ return new String[] {}; @@ -8442,6 +8824,14 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.name"); } @@ -8478,6 +8868,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.copyrightLabel"); + } else if (name.equals("kind")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.kind"); } @@ -8504,6 +8897,9 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo else if (name.equals("patchFormat")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.patchFormat"); } + else if (name.equals("acceptLanguage")) { + throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.acceptLanguage"); + } else if (name.equals("implementationGuide")) { throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement.implementationGuide"); } @@ -8535,6 +8931,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo super.copyValues(dst); dst.url = url == null ? null : url.copy(); dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); @@ -8559,6 +8956,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); dst.kind = kind == null ? null : kind.copy(); if (instantiates != null) { dst.instantiates = new ArrayList(); @@ -8583,6 +8981,11 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo for (CodeType i : patchFormat) dst.patchFormat.add(i.copy()); }; + if (acceptLanguage != null) { + dst.acceptLanguage = new ArrayList(); + for (CodeType i : acceptLanguage) + dst.acceptLanguage.add(i.copy()); + }; if (implementationGuide != null) { dst.implementationGuide = new ArrayList(); for (CanonicalType i : implementationGuide) @@ -8616,16 +9019,17 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo if (!(other_ instanceof CapabilityStatement)) return false; CapabilityStatement o = (CapabilityStatement) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) - && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(kind, o.kind, true) && compareDeep(instantiates, o.instantiates, true) && compareDeep(imports, o.imports, true) - && compareDeep(software, o.software, true) && compareDeep(implementation, o.implementation, true) + && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(kind, o.kind, true) && compareDeep(instantiates, o.instantiates, true) + && compareDeep(imports, o.imports, true) && compareDeep(software, o.software, true) && compareDeep(implementation, o.implementation, true) && compareDeep(fhirVersion, o.fhirVersion, true) && compareDeep(format, o.format, true) && compareDeep(patchFormat, o.patchFormat, true) - && compareDeep(implementationGuide, o.implementationGuide, true) && compareDeep(rest, o.rest, true) - && compareDeep(messaging, o.messaging, true) && compareDeep(document, o.document, true); + && compareDeep(acceptLanguage, o.acceptLanguage, true) && compareDeep(implementationGuide, o.implementationGuide, true) + && compareDeep(rest, o.rest, true) && compareDeep(messaging, o.messaging, true) && compareDeep(document, o.document, true) + ; } @Override @@ -8638,17 +9042,19 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(kind, o.kind, true) - && compareValues(instantiates, o.instantiates, true) && compareValues(imports, o.imports, true) && compareValues(fhirVersion, o.fhirVersion, true) - && compareValues(format, o.format, true) && compareValues(patchFormat, o.patchFormat, true) && compareValues(implementationGuide, o.implementationGuide, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(kind, o.kind, true) && compareValues(instantiates, o.instantiates, true) && compareValues(imports, o.imports, true) + && compareValues(fhirVersion, o.fhirVersion, true) && compareValues(format, o.format, true) && compareValues(patchFormat, o.patchFormat, true) + && compareValues(acceptLanguage, o.acceptLanguage, true) && compareValues(implementationGuide, o.implementationGuide, true) ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title - , status, experimental, date, publisher, contact, description, useContext, jurisdiction - , purpose, copyright, kind, instantiates, imports, software, implementation, fhirVersion - , format, patchFormat, implementationGuide, rest, messaging, document); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm + , name, title, status, experimental, date, publisher, contact, description, useContext + , jurisdiction, purpose, copyright, copyrightLabel, kind, instantiates, imports + , software, implementation, fhirVersion, format, patchFormat, acceptLanguage, implementationGuide + , rest, messaging, document); } @Override @@ -8661,17 +9067,17 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo *

* Description: The version of FHIR
* Type: token
- * Path: CapabilityStatement.version
+ * Path: CapabilityStatement.fhirVersion
*

*/ - @SearchParamDefinition(name="fhirversion", path="CapabilityStatement.version", description="The version of FHIR", type="token" ) + @SearchParamDefinition(name="fhirversion", path="CapabilityStatement.fhirVersion", description="The version of FHIR", type="token" ) public static final String SP_FHIRVERSION = "fhirversion"; /** * Fluent Client search parameter constant for fhirversion *

* Description: The version of FHIR
* Type: token
- * Path: CapabilityStatement.version
+ * Path: CapabilityStatement.fhirVersion
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam FHIRVERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FHIRVERSION); @@ -9476,7 +9882,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -9492,7 +9898,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -9502,7 +9908,7 @@ public class CapabilityStatement extends CanonicalResource implements IBaseConfo * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement2.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement2.java deleted file mode 100644 index ef9c9c54b..000000000 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CapabilityStatement2.java +++ /dev/null @@ -1,7251 +0,0 @@ -package org.hl7.fhir.r5.model; - - -/* - Copyright (c) 2011+, HL7, Inc. - All rights reserved. - - Redistribution and use in source and binary forms, with or without modification, \ - are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this \ - list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, \ - this list of conditions and the following disclaimer in the documentation \ - and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to - endorse or promote products derived from this software without specific - prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ - WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ - IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ - INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ - NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ - WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ - POSSIBILITY OF SUCH DAMAGE. - */ - -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 - -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import org.hl7.fhir.utilities.Utilities; -import org.hl7.fhir.r5.model.Enumerations.*; -import org.hl7.fhir.instance.model.api.IBaseBackboneElement; -import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.instance.model.api.ICompositeType; -import ca.uhn.fhir.model.api.annotation.ResourceDef; -import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; -import org.hl7.fhir.instance.model.api.IBaseBackboneElement; -import ca.uhn.fhir.model.api.annotation.Child; -import ca.uhn.fhir.model.api.annotation.ChildOrder; -import ca.uhn.fhir.model.api.annotation.Description; -import ca.uhn.fhir.model.api.annotation.Block; - -/** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ -@ResourceDef(name="CapabilityStatement2", profile="http://hl7.org/fhir/StructureDefinition/CapabilityStatement2") -public class CapabilityStatement2 extends CanonicalResource { - - public enum CapabilityFeature { - /** - * - */ - FEATUREHEADER, - /** - * - */ - SECURITYCORS, - /** - * - */ - SECURITYSERVICE, - /** - * - */ - VERSIONING, - /** - * - */ - READHISTORY, - /** - * - */ - UPDATECREATE, - /** - * - */ - CONDITIONALCREATE, - /** - * - */ - CONDITIONALREAD, - /** - * - */ - CONDITIONALUPDATE, - /** - * - */ - CONDITIONALDELETE, - /** - * - */ - REFERENCEPOLICY, - /** - * - */ - SEARCHINCLUDE, - /** - * - */ - SEARCHREVINCLUDE, - /** - * added to help the parsers with the generic types - */ - NULL; - public static CapabilityFeature fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("feature-header".equals(codeString)) - return FEATUREHEADER; - if ("security-cors".equals(codeString)) - return SECURITYCORS; - if ("security-service".equals(codeString)) - return SECURITYSERVICE; - if ("versioning".equals(codeString)) - return VERSIONING; - if ("readHistory".equals(codeString)) - return READHISTORY; - if ("updateCreate".equals(codeString)) - return UPDATECREATE; - if ("conditionalCreate".equals(codeString)) - return CONDITIONALCREATE; - if ("conditionalRead".equals(codeString)) - return CONDITIONALREAD; - if ("conditionalUpdate".equals(codeString)) - return CONDITIONALUPDATE; - if ("conditionalDelete".equals(codeString)) - return CONDITIONALDELETE; - if ("referencePolicy".equals(codeString)) - return REFERENCEPOLICY; - if ("searchInclude".equals(codeString)) - return SEARCHINCLUDE; - if ("searchRevInclude".equals(codeString)) - return SEARCHREVINCLUDE; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown CapabilityFeature code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case FEATUREHEADER: return "feature-header"; - case SECURITYCORS: return "security-cors"; - case SECURITYSERVICE: return "security-service"; - case VERSIONING: return "versioning"; - case READHISTORY: return "readHistory"; - case UPDATECREATE: return "updateCreate"; - case CONDITIONALCREATE: return "conditionalCreate"; - case CONDITIONALREAD: return "conditionalRead"; - case CONDITIONALUPDATE: return "conditionalUpdate"; - case CONDITIONALDELETE: return "conditionalDelete"; - case REFERENCEPOLICY: return "referencePolicy"; - case SEARCHINCLUDE: return "searchInclude"; - case SEARCHREVINCLUDE: return "searchRevInclude"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case FEATUREHEADER: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case SECURITYCORS: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case SECURITYSERVICE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case VERSIONING: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case READHISTORY: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case UPDATECREATE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case CONDITIONALCREATE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case CONDITIONALREAD: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case CONDITIONALUPDATE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case CONDITIONALDELETE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case REFERENCEPOLICY: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case SEARCHINCLUDE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case SEARCHREVINCLUDE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case FEATUREHEADER: return ""; - case SECURITYCORS: return ""; - case SECURITYSERVICE: return ""; - case VERSIONING: return ""; - case READHISTORY: return ""; - case UPDATECREATE: return ""; - case CONDITIONALCREATE: return ""; - case CONDITIONALREAD: return ""; - case CONDITIONALUPDATE: return ""; - case CONDITIONALDELETE: return ""; - case REFERENCEPOLICY: return ""; - case SEARCHINCLUDE: return ""; - case SEARCHREVINCLUDE: return ""; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case FEATUREHEADER: return "Whether the server supports the Required-Feature header by which a client makes a feature as mandatory for processing a requrest properly"; - case SECURITYCORS: return "security-cors"; - case SECURITYSERVICE: return "security-service"; - case VERSIONING: return "versioning"; - case READHISTORY: return "readHistory"; - case UPDATECREATE: return "updateCreate"; - case CONDITIONALCREATE: return "conditionalCreate"; - case CONDITIONALREAD: return "conditionalRead"; - case CONDITIONALUPDATE: return "conditionalUpdate"; - case CONDITIONALDELETE: return "conditionalDelete"; - case REFERENCEPOLICY: return "referencePolicy"; - case SEARCHINCLUDE: return "searchInclude"; - case SEARCHREVINCLUDE: return "searchRevInclude"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class CapabilityFeatureEnumFactory implements EnumFactory { - public CapabilityFeature fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("feature-header".equals(codeString)) - return CapabilityFeature.FEATUREHEADER; - if ("security-cors".equals(codeString)) - return CapabilityFeature.SECURITYCORS; - if ("security-service".equals(codeString)) - return CapabilityFeature.SECURITYSERVICE; - if ("versioning".equals(codeString)) - return CapabilityFeature.VERSIONING; - if ("readHistory".equals(codeString)) - return CapabilityFeature.READHISTORY; - if ("updateCreate".equals(codeString)) - return CapabilityFeature.UPDATECREATE; - if ("conditionalCreate".equals(codeString)) - return CapabilityFeature.CONDITIONALCREATE; - if ("conditionalRead".equals(codeString)) - return CapabilityFeature.CONDITIONALREAD; - if ("conditionalUpdate".equals(codeString)) - return CapabilityFeature.CONDITIONALUPDATE; - if ("conditionalDelete".equals(codeString)) - return CapabilityFeature.CONDITIONALDELETE; - if ("referencePolicy".equals(codeString)) - return CapabilityFeature.REFERENCEPOLICY; - if ("searchInclude".equals(codeString)) - return CapabilityFeature.SEARCHINCLUDE; - if ("searchRevInclude".equals(codeString)) - return CapabilityFeature.SEARCHREVINCLUDE; - throw new IllegalArgumentException("Unknown CapabilityFeature code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("feature-header".equals(codeString)) - return new Enumeration(this, CapabilityFeature.FEATUREHEADER); - if ("security-cors".equals(codeString)) - return new Enumeration(this, CapabilityFeature.SECURITYCORS); - if ("security-service".equals(codeString)) - return new Enumeration(this, CapabilityFeature.SECURITYSERVICE); - if ("versioning".equals(codeString)) - return new Enumeration(this, CapabilityFeature.VERSIONING); - if ("readHistory".equals(codeString)) - return new Enumeration(this, CapabilityFeature.READHISTORY); - if ("updateCreate".equals(codeString)) - return new Enumeration(this, CapabilityFeature.UPDATECREATE); - if ("conditionalCreate".equals(codeString)) - return new Enumeration(this, CapabilityFeature.CONDITIONALCREATE); - if ("conditionalRead".equals(codeString)) - return new Enumeration(this, CapabilityFeature.CONDITIONALREAD); - if ("conditionalUpdate".equals(codeString)) - return new Enumeration(this, CapabilityFeature.CONDITIONALUPDATE); - if ("conditionalDelete".equals(codeString)) - return new Enumeration(this, CapabilityFeature.CONDITIONALDELETE); - if ("referencePolicy".equals(codeString)) - return new Enumeration(this, CapabilityFeature.REFERENCEPOLICY); - if ("searchInclude".equals(codeString)) - return new Enumeration(this, CapabilityFeature.SEARCHINCLUDE); - if ("searchRevInclude".equals(codeString)) - return new Enumeration(this, CapabilityFeature.SEARCHREVINCLUDE); - throw new FHIRException("Unknown CapabilityFeature code '"+codeString+"'"); - } - public String toCode(CapabilityFeature code) { - if (code == CapabilityFeature.FEATUREHEADER) - return "feature-header"; - if (code == CapabilityFeature.SECURITYCORS) - return "security-cors"; - if (code == CapabilityFeature.SECURITYSERVICE) - return "security-service"; - if (code == CapabilityFeature.VERSIONING) - return "versioning"; - if (code == CapabilityFeature.READHISTORY) - return "readHistory"; - if (code == CapabilityFeature.UPDATECREATE) - return "updateCreate"; - if (code == CapabilityFeature.CONDITIONALCREATE) - return "conditionalCreate"; - if (code == CapabilityFeature.CONDITIONALREAD) - return "conditionalRead"; - if (code == CapabilityFeature.CONDITIONALUPDATE) - return "conditionalUpdate"; - if (code == CapabilityFeature.CONDITIONALDELETE) - return "conditionalDelete"; - if (code == CapabilityFeature.REFERENCEPOLICY) - return "referencePolicy"; - if (code == CapabilityFeature.SEARCHINCLUDE) - return "searchInclude"; - if (code == CapabilityFeature.SEARCHREVINCLUDE) - return "searchRevInclude"; - return "?"; - } - public String toSystem(CapabilityFeature code) { - return code.getSystem(); - } - } - - public enum CapabilityFeatureValue { - /** - * - */ - TRUE, - /** - * - */ - FALSE, - /** - * VersionId meta-property is not supported (server) or used (client). - */ - NOVERSION, - /** - * VersionId meta-property is supported (server) or used (client). - */ - VERSIONED, - /** - * VersionId must be correct for updates (server) or will be specified (If-match header) for updates (client). - */ - VERSIONEDUPDATE, - /** - * No support for conditional reads. - */ - NOTSUPPORTED, - /** - * Conditional reads are supported, but only with the If-Modified-Since HTTP Header. - */ - MODIFIEDSINCE, - /** - * Conditional reads are supported, but only with the If-None-Match HTTP Header. - */ - NOTMATCH, - /** - * Conditional reads are supported, with both If-Modified-Since and If-None-Match HTTP Headers. - */ - FULLSUPPORT, - /** - * Conditional deletes are supported, but only single resources at a time. - */ - SINGLE, - /** - * Conditional deletes are supported, and multiple resources can be deleted in a single interaction. - */ - MULTIPLE, - /** - * The server supports and populates Literal references (i.e. using Reference.reference) where they are known (this code does not guarantee that all references are literal; see 'enforced'). - */ - LITERAL, - /** - * The server allows logical references (i.e. using Reference.identifier). - */ - LOGICAL, - /** - * The server will attempt to resolve logical references to literal references - i.e. converting Reference.identifier to Reference.reference (if resolution fails, the server may still accept resources; see logical). - */ - RESOLVES, - /** - * The server enforces that references have integrity - e.g. it ensures that references can always be resolved. This is typically the case for clinical record systems, but often not the case for middleware/proxy systems. - */ - ENFORCED, - /** - * The server does not support references that point to other servers. - */ - LOCAL, - /** - * added to help the parsers with the generic types - */ - NULL; - public static CapabilityFeatureValue fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("true".equals(codeString)) - return TRUE; - if ("false".equals(codeString)) - return FALSE; - if ("no-version".equals(codeString)) - return NOVERSION; - if ("versioned".equals(codeString)) - return VERSIONED; - if ("versioned-update".equals(codeString)) - return VERSIONEDUPDATE; - if ("not-supported".equals(codeString)) - return NOTSUPPORTED; - if ("modified-since".equals(codeString)) - return MODIFIEDSINCE; - if ("not-match".equals(codeString)) - return NOTMATCH; - if ("full-support".equals(codeString)) - return FULLSUPPORT; - if ("single".equals(codeString)) - return SINGLE; - if ("multiple".equals(codeString)) - return MULTIPLE; - if ("literal".equals(codeString)) - return LITERAL; - if ("logical".equals(codeString)) - return LOGICAL; - if ("resolves".equals(codeString)) - return RESOLVES; - if ("enforced".equals(codeString)) - return ENFORCED; - if ("local".equals(codeString)) - return LOCAL; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown CapabilityFeatureValue code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case TRUE: return "true"; - case FALSE: return "false"; - case NOVERSION: return "no-version"; - case VERSIONED: return "versioned"; - case VERSIONEDUPDATE: return "versioned-update"; - case NOTSUPPORTED: return "not-supported"; - case MODIFIEDSINCE: return "modified-since"; - case NOTMATCH: return "not-match"; - case FULLSUPPORT: return "full-support"; - case SINGLE: return "single"; - case MULTIPLE: return "multiple"; - case LITERAL: return "literal"; - case LOGICAL: return "logical"; - case RESOLVES: return "resolves"; - case ENFORCED: return "enforced"; - case LOCAL: return "local"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case TRUE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case FALSE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case NOVERSION: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case VERSIONED: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case VERSIONEDUPDATE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case NOTSUPPORTED: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case MODIFIEDSINCE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case NOTMATCH: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case FULLSUPPORT: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case SINGLE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case MULTIPLE: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case LITERAL: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case LOGICAL: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case RESOLVES: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case ENFORCED: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case LOCAL: return "http://hl7.org/fhir/CodeSystem/capability-features"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case TRUE: return ""; - case FALSE: return ""; - case NOVERSION: return "VersionId meta-property is not supported (server) or used (client)."; - case VERSIONED: return "VersionId meta-property is supported (server) or used (client)."; - case VERSIONEDUPDATE: return "VersionId must be correct for updates (server) or will be specified (If-match header) for updates (client)."; - case NOTSUPPORTED: return "No support for conditional reads."; - case MODIFIEDSINCE: return "Conditional reads are supported, but only with the If-Modified-Since HTTP Header."; - case NOTMATCH: return "Conditional reads are supported, but only with the If-None-Match HTTP Header."; - case FULLSUPPORT: return "Conditional reads are supported, with both If-Modified-Since and If-None-Match HTTP Headers."; - case SINGLE: return "Conditional deletes are supported, but only single resources at a time."; - case MULTIPLE: return "Conditional deletes are supported, and multiple resources can be deleted in a single interaction."; - case LITERAL: return "The server supports and populates Literal references (i.e. using Reference.reference) where they are known (this code does not guarantee that all references are literal; see 'enforced')."; - case LOGICAL: return "The server allows logical references (i.e. using Reference.identifier)."; - case RESOLVES: return "The server will attempt to resolve logical references to literal references - i.e. converting Reference.identifier to Reference.reference (if resolution fails, the server may still accept resources; see logical)."; - case ENFORCED: return "The server enforces that references have integrity - e.g. it ensures that references can always be resolved. This is typically the case for clinical record systems, but often not the case for middleware/proxy systems."; - case LOCAL: return "The server does not support references that point to other servers."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case TRUE: return "Value is true"; - case FALSE: return "Value is false"; - case NOVERSION: return "No VersionId Support"; - case VERSIONED: return "Versioned"; - case VERSIONEDUPDATE: return "VersionId tracked fully"; - case NOTSUPPORTED: return "Not Supported"; - case MODIFIEDSINCE: return "If-Modified-Since"; - case NOTMATCH: return "If-None-Match"; - case FULLSUPPORT: return "Full Support"; - case SINGLE: return "Single Deletes Supported"; - case MULTIPLE: return "Multiple Deletes Supported"; - case LITERAL: return "Literal References"; - case LOGICAL: return "Logical References"; - case RESOLVES: return "Resolves References"; - case ENFORCED: return "Reference Integrity Enforced"; - case LOCAL: return "Local References Only"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class CapabilityFeatureValueEnumFactory implements EnumFactory { - public CapabilityFeatureValue fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("true".equals(codeString)) - return CapabilityFeatureValue.TRUE; - if ("false".equals(codeString)) - return CapabilityFeatureValue.FALSE; - if ("no-version".equals(codeString)) - return CapabilityFeatureValue.NOVERSION; - if ("versioned".equals(codeString)) - return CapabilityFeatureValue.VERSIONED; - if ("versioned-update".equals(codeString)) - return CapabilityFeatureValue.VERSIONEDUPDATE; - if ("not-supported".equals(codeString)) - return CapabilityFeatureValue.NOTSUPPORTED; - if ("modified-since".equals(codeString)) - return CapabilityFeatureValue.MODIFIEDSINCE; - if ("not-match".equals(codeString)) - return CapabilityFeatureValue.NOTMATCH; - if ("full-support".equals(codeString)) - return CapabilityFeatureValue.FULLSUPPORT; - if ("single".equals(codeString)) - return CapabilityFeatureValue.SINGLE; - if ("multiple".equals(codeString)) - return CapabilityFeatureValue.MULTIPLE; - if ("literal".equals(codeString)) - return CapabilityFeatureValue.LITERAL; - if ("logical".equals(codeString)) - return CapabilityFeatureValue.LOGICAL; - if ("resolves".equals(codeString)) - return CapabilityFeatureValue.RESOLVES; - if ("enforced".equals(codeString)) - return CapabilityFeatureValue.ENFORCED; - if ("local".equals(codeString)) - return CapabilityFeatureValue.LOCAL; - throw new IllegalArgumentException("Unknown CapabilityFeatureValue code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("true".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.TRUE); - if ("false".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.FALSE); - if ("no-version".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.NOVERSION); - if ("versioned".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.VERSIONED); - if ("versioned-update".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.VERSIONEDUPDATE); - if ("not-supported".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.NOTSUPPORTED); - if ("modified-since".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.MODIFIEDSINCE); - if ("not-match".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.NOTMATCH); - if ("full-support".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.FULLSUPPORT); - if ("single".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.SINGLE); - if ("multiple".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.MULTIPLE); - if ("literal".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.LITERAL); - if ("logical".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.LOGICAL); - if ("resolves".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.RESOLVES); - if ("enforced".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.ENFORCED); - if ("local".equals(codeString)) - return new Enumeration(this, CapabilityFeatureValue.LOCAL); - throw new FHIRException("Unknown CapabilityFeatureValue code '"+codeString+"'"); - } - public String toCode(CapabilityFeatureValue code) { - if (code == CapabilityFeatureValue.TRUE) - return "true"; - if (code == CapabilityFeatureValue.FALSE) - return "false"; - if (code == CapabilityFeatureValue.NOVERSION) - return "no-version"; - if (code == CapabilityFeatureValue.VERSIONED) - return "versioned"; - if (code == CapabilityFeatureValue.VERSIONEDUPDATE) - return "versioned-update"; - if (code == CapabilityFeatureValue.NOTSUPPORTED) - return "not-supported"; - if (code == CapabilityFeatureValue.MODIFIEDSINCE) - return "modified-since"; - if (code == CapabilityFeatureValue.NOTMATCH) - return "not-match"; - if (code == CapabilityFeatureValue.FULLSUPPORT) - return "full-support"; - if (code == CapabilityFeatureValue.SINGLE) - return "single"; - if (code == CapabilityFeatureValue.MULTIPLE) - return "multiple"; - if (code == CapabilityFeatureValue.LITERAL) - return "literal"; - if (code == CapabilityFeatureValue.LOGICAL) - return "logical"; - if (code == CapabilityFeatureValue.RESOLVES) - return "resolves"; - if (code == CapabilityFeatureValue.ENFORCED) - return "enforced"; - if (code == CapabilityFeatureValue.LOCAL) - return "local"; - return "?"; - } - public String toSystem(CapabilityFeatureValue code) { - return code.getSystem(); - } - } - - public enum SystemRestfulInteraction { - /** - * Update, create or delete a set of resources as a single transaction. - */ - TRANSACTION, - /** - * perform a set of a separate interactions in a single http operation - */ - BATCH, - /** - * Search all resources based on some filter criteria. - */ - SEARCHSYSTEM, - /** - * Retrieve the change history for all resources on a system. - */ - HISTORYSYSTEM, - /** - * added to help the parsers with the generic types - */ - NULL; - public static SystemRestfulInteraction fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("transaction".equals(codeString)) - return TRANSACTION; - if ("batch".equals(codeString)) - return BATCH; - if ("search-system".equals(codeString)) - return SEARCHSYSTEM; - if ("history-system".equals(codeString)) - return HISTORYSYSTEM; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown SystemRestfulInteraction code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case TRANSACTION: return "transaction"; - case BATCH: return "batch"; - case SEARCHSYSTEM: return "search-system"; - case HISTORYSYSTEM: return "history-system"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case TRANSACTION: return "http://hl7.org/fhir/restful-interaction"; - case BATCH: return "http://hl7.org/fhir/restful-interaction"; - case SEARCHSYSTEM: return "http://hl7.org/fhir/restful-interaction"; - case HISTORYSYSTEM: return "http://hl7.org/fhir/restful-interaction"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case TRANSACTION: return "Update, create or delete a set of resources as a single transaction."; - case BATCH: return "perform a set of a separate interactions in a single http operation"; - case SEARCHSYSTEM: return "Search all resources based on some filter criteria."; - case HISTORYSYSTEM: return "Retrieve the change history for all resources on a system."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case TRANSACTION: return "transaction"; - case BATCH: return "batch"; - case SEARCHSYSTEM: return "search-system"; - case HISTORYSYSTEM: return "history-system"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class SystemRestfulInteractionEnumFactory implements EnumFactory { - public SystemRestfulInteraction fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("transaction".equals(codeString)) - return SystemRestfulInteraction.TRANSACTION; - if ("batch".equals(codeString)) - return SystemRestfulInteraction.BATCH; - if ("search-system".equals(codeString)) - return SystemRestfulInteraction.SEARCHSYSTEM; - if ("history-system".equals(codeString)) - return SystemRestfulInteraction.HISTORYSYSTEM; - throw new IllegalArgumentException("Unknown SystemRestfulInteraction code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("transaction".equals(codeString)) - return new Enumeration(this, SystemRestfulInteraction.TRANSACTION); - if ("batch".equals(codeString)) - return new Enumeration(this, SystemRestfulInteraction.BATCH); - if ("search-system".equals(codeString)) - return new Enumeration(this, SystemRestfulInteraction.SEARCHSYSTEM); - if ("history-system".equals(codeString)) - return new Enumeration(this, SystemRestfulInteraction.HISTORYSYSTEM); - throw new FHIRException("Unknown SystemRestfulInteraction code '"+codeString+"'"); - } - public String toCode(SystemRestfulInteraction code) { - if (code == SystemRestfulInteraction.TRANSACTION) - return "transaction"; - if (code == SystemRestfulInteraction.BATCH) - return "batch"; - if (code == SystemRestfulInteraction.SEARCHSYSTEM) - return "search-system"; - if (code == SystemRestfulInteraction.HISTORYSYSTEM) - return "history-system"; - return "?"; - } - public String toSystem(SystemRestfulInteraction code) { - return code.getSystem(); - } - } - - public enum TypeRestfulInteraction { - /** - * Read the current state of the resource. - */ - READ, - /** - * Read the state of a specific version of the resource. - */ - VREAD, - /** - * Update an existing resource by its id (or create it if it is new). - */ - UPDATE, - /** - * Update an existing resource by posting a set of changes to it. - */ - PATCH, - /** - * Delete a resource. - */ - DELETE, - /** - * Retrieve the change history for a particular resource. - */ - HISTORYINSTANCE, - /** - * Retrieve the change history for all resources of a particular type. - */ - HISTORYTYPE, - /** - * Create a new resource with a server assigned id. - */ - CREATE, - /** - * Search all resources of the specified type based on some filter criteria. - */ - SEARCHTYPE, - /** - * added to help the parsers with the generic types - */ - NULL; - public static TypeRestfulInteraction fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("read".equals(codeString)) - return READ; - if ("vread".equals(codeString)) - return VREAD; - if ("update".equals(codeString)) - return UPDATE; - if ("patch".equals(codeString)) - return PATCH; - if ("delete".equals(codeString)) - return DELETE; - if ("history-instance".equals(codeString)) - return HISTORYINSTANCE; - if ("history-type".equals(codeString)) - return HISTORYTYPE; - if ("create".equals(codeString)) - return CREATE; - if ("search-type".equals(codeString)) - return SEARCHTYPE; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown TypeRestfulInteraction code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case READ: return "read"; - case VREAD: return "vread"; - case UPDATE: return "update"; - case PATCH: return "patch"; - case DELETE: return "delete"; - case HISTORYINSTANCE: return "history-instance"; - case HISTORYTYPE: return "history-type"; - case CREATE: return "create"; - case SEARCHTYPE: return "search-type"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case READ: return "http://hl7.org/fhir/restful-interaction"; - case VREAD: return "http://hl7.org/fhir/restful-interaction"; - case UPDATE: return "http://hl7.org/fhir/restful-interaction"; - case PATCH: return "http://hl7.org/fhir/restful-interaction"; - case DELETE: return "http://hl7.org/fhir/restful-interaction"; - case HISTORYINSTANCE: return "http://hl7.org/fhir/restful-interaction"; - case HISTORYTYPE: return "http://hl7.org/fhir/restful-interaction"; - case CREATE: return "http://hl7.org/fhir/restful-interaction"; - case SEARCHTYPE: return "http://hl7.org/fhir/restful-interaction"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case READ: return "Read the current state of the resource."; - case VREAD: return "Read the state of a specific version of the resource."; - case UPDATE: return "Update an existing resource by its id (or create it if it is new)."; - case PATCH: return "Update an existing resource by posting a set of changes to it."; - case DELETE: return "Delete a resource."; - case HISTORYINSTANCE: return "Retrieve the change history for a particular resource."; - case HISTORYTYPE: return "Retrieve the change history for all resources of a particular type."; - case CREATE: return "Create a new resource with a server assigned id."; - case SEARCHTYPE: return "Search all resources of the specified type based on some filter criteria."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case READ: return "read"; - case VREAD: return "vread"; - case UPDATE: return "update"; - case PATCH: return "patch"; - case DELETE: return "delete"; - case HISTORYINSTANCE: return "history-instance"; - case HISTORYTYPE: return "history-type"; - case CREATE: return "create"; - case SEARCHTYPE: return "search-type"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class TypeRestfulInteractionEnumFactory implements EnumFactory { - public TypeRestfulInteraction fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("read".equals(codeString)) - return TypeRestfulInteraction.READ; - if ("vread".equals(codeString)) - return TypeRestfulInteraction.VREAD; - if ("update".equals(codeString)) - return TypeRestfulInteraction.UPDATE; - if ("patch".equals(codeString)) - return TypeRestfulInteraction.PATCH; - if ("delete".equals(codeString)) - return TypeRestfulInteraction.DELETE; - if ("history-instance".equals(codeString)) - return TypeRestfulInteraction.HISTORYINSTANCE; - if ("history-type".equals(codeString)) - return TypeRestfulInteraction.HISTORYTYPE; - if ("create".equals(codeString)) - return TypeRestfulInteraction.CREATE; - if ("search-type".equals(codeString)) - return TypeRestfulInteraction.SEARCHTYPE; - throw new IllegalArgumentException("Unknown TypeRestfulInteraction code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("read".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.READ); - if ("vread".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.VREAD); - if ("update".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.UPDATE); - if ("patch".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.PATCH); - if ("delete".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.DELETE); - if ("history-instance".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.HISTORYINSTANCE); - if ("history-type".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.HISTORYTYPE); - if ("create".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.CREATE); - if ("search-type".equals(codeString)) - return new Enumeration(this, TypeRestfulInteraction.SEARCHTYPE); - throw new FHIRException("Unknown TypeRestfulInteraction code '"+codeString+"'"); - } - public String toCode(TypeRestfulInteraction code) { - if (code == TypeRestfulInteraction.READ) - return "read"; - if (code == TypeRestfulInteraction.VREAD) - return "vread"; - if (code == TypeRestfulInteraction.UPDATE) - return "update"; - if (code == TypeRestfulInteraction.PATCH) - return "patch"; - if (code == TypeRestfulInteraction.DELETE) - return "delete"; - if (code == TypeRestfulInteraction.HISTORYINSTANCE) - return "history-instance"; - if (code == TypeRestfulInteraction.HISTORYTYPE) - return "history-type"; - if (code == TypeRestfulInteraction.CREATE) - return "create"; - if (code == TypeRestfulInteraction.SEARCHTYPE) - return "search-type"; - return "?"; - } - public String toSystem(TypeRestfulInteraction code) { - return code.getSystem(); - } - } - - @Block() - public static class CapabilityStatement2SoftwareComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Name the software is known by. - */ - @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="A name the software is known by", formalDefinition="Name the software is known by." ) - protected StringType name; - - /** - * The version identifier for the software covered by this statement. - */ - @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Version covered by this statement", formalDefinition="The version identifier for the software covered by this statement." ) - protected StringType version; - - /** - * Date this version of the software was released. - */ - @Child(name = "releaseDate", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Date this version was released", formalDefinition="Date this version of the software was released." ) - protected DateTimeType releaseDate; - - private static final long serialVersionUID = 1819769027L; - - /** - * Constructor - */ - public CapabilityStatement2SoftwareComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2SoftwareComponent(String name) { - super(); - this.setName(name); - } - - /** - * @return {@link #name} (Name the software is known by.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public StringType getNameElement() { - if (this.name == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2SoftwareComponent.name"); - else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; - } - - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); - } - - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); - } - - /** - * @param value {@link #name} (Name the software is known by.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public CapabilityStatement2SoftwareComponent setNameElement(StringType value) { - this.name = value; - return this; - } - - /** - * @return Name the software is known by. - */ - public String getName() { - return this.name == null ? null : this.name.getValue(); - } - - /** - * @param value Name the software is known by. - */ - public CapabilityStatement2SoftwareComponent setName(String value) { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); - return this; - } - - /** - * @return {@link #version} (The version identifier for the software covered by this statement.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value - */ - public StringType getVersionElement() { - if (this.version == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2SoftwareComponent.version"); - else if (Configuration.doAutoCreate()) - this.version = new StringType(); // bb - return this.version; - } - - public boolean hasVersionElement() { - return this.version != null && !this.version.isEmpty(); - } - - public boolean hasVersion() { - return this.version != null && !this.version.isEmpty(); - } - - /** - * @param value {@link #version} (The version identifier for the software covered by this statement.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value - */ - public CapabilityStatement2SoftwareComponent setVersionElement(StringType value) { - this.version = value; - return this; - } - - /** - * @return The version identifier for the software covered by this statement. - */ - public String getVersion() { - return this.version == null ? null : this.version.getValue(); - } - - /** - * @param value The version identifier for the software covered by this statement. - */ - public CapabilityStatement2SoftwareComponent setVersion(String value) { - if (Utilities.noString(value)) - this.version = null; - else { - if (this.version == null) - this.version = new StringType(); - this.version.setValue(value); - } - return this; - } - - /** - * @return {@link #releaseDate} (Date this version of the software was released.). This is the underlying object with id, value and extensions. The accessor "getReleaseDate" gives direct access to the value - */ - public DateTimeType getReleaseDateElement() { - if (this.releaseDate == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2SoftwareComponent.releaseDate"); - else if (Configuration.doAutoCreate()) - this.releaseDate = new DateTimeType(); // bb - return this.releaseDate; - } - - public boolean hasReleaseDateElement() { - return this.releaseDate != null && !this.releaseDate.isEmpty(); - } - - public boolean hasReleaseDate() { - return this.releaseDate != null && !this.releaseDate.isEmpty(); - } - - /** - * @param value {@link #releaseDate} (Date this version of the software was released.). This is the underlying object with id, value and extensions. The accessor "getReleaseDate" gives direct access to the value - */ - public CapabilityStatement2SoftwareComponent setReleaseDateElement(DateTimeType value) { - this.releaseDate = value; - return this; - } - - /** - * @return Date this version of the software was released. - */ - public Date getReleaseDate() { - return this.releaseDate == null ? null : this.releaseDate.getValue(); - } - - /** - * @param value Date this version of the software was released. - */ - public CapabilityStatement2SoftwareComponent setReleaseDate(Date value) { - if (value == null) - this.releaseDate = null; - else { - if (this.releaseDate == null) - this.releaseDate = new DateTimeType(); - this.releaseDate.setValue(value); - } - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("name", "string", "Name the software is known by.", 0, 1, name)); - children.add(new Property("version", "string", "The version identifier for the software covered by this statement.", 0, 1, version)); - children.add(new Property("releaseDate", "dateTime", "Date this version of the software was released.", 0, 1, releaseDate)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3373707: /*name*/ return new Property("name", "string", "Name the software is known by.", 0, 1, name); - case 351608024: /*version*/ return new Property("version", "string", "The version identifier for the software covered by this statement.", 0, 1, version); - case 212873301: /*releaseDate*/ return new Property("releaseDate", "dateTime", "Date this version of the software was released.", 0, 1, releaseDate); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType - case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType - case 212873301: /*releaseDate*/ return this.releaseDate == null ? new Base[0] : new Base[] {this.releaseDate}; // DateTimeType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType - return value; - case 351608024: // version - this.version = TypeConvertor.castToString(value); // StringType - return value; - case 212873301: // releaseDate - this.releaseDate = TypeConvertor.castToDateTime(value); // DateTimeType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType - } else if (name.equals("version")) { - this.version = TypeConvertor.castToString(value); // StringType - } else if (name.equals("releaseDate")) { - this.releaseDate = TypeConvertor.castToDateTime(value); // DateTimeType - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3373707: return getNameElement(); - case 351608024: return getVersionElement(); - case 212873301: return getReleaseDateElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3373707: /*name*/ return new String[] {"string"}; - case 351608024: /*version*/ return new String[] {"string"}; - case 212873301: /*releaseDate*/ return new String[] {"dateTime"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.software.name"); - } - else if (name.equals("version")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.software.version"); - } - else if (name.equals("releaseDate")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.software.releaseDate"); - } - else - return super.addChild(name); - } - - public CapabilityStatement2SoftwareComponent copy() { - CapabilityStatement2SoftwareComponent dst = new CapabilityStatement2SoftwareComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2SoftwareComponent dst) { - super.copyValues(dst); - dst.name = name == null ? null : name.copy(); - dst.version = version == null ? null : version.copy(); - dst.releaseDate = releaseDate == null ? null : releaseDate.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2SoftwareComponent)) - return false; - CapabilityStatement2SoftwareComponent o = (CapabilityStatement2SoftwareComponent) other_; - return compareDeep(name, o.name, true) && compareDeep(version, o.version, true) && compareDeep(releaseDate, o.releaseDate, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2SoftwareComponent)) - return false; - CapabilityStatement2SoftwareComponent o = (CapabilityStatement2SoftwareComponent) other_; - return compareValues(name, o.name, true) && compareValues(version, o.version, true) && compareValues(releaseDate, o.releaseDate, true) - ; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, version, releaseDate - ); - } - - public String fhirType() { - return "CapabilityStatement2.software"; - - } - - } - - @Block() - public static class CapabilityStatement2ImplementationComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Information about the specific installation that this capability statement relates to. - */ - @Child(name = "description", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Describes this specific instance", formalDefinition="Information about the specific installation that this capability statement relates to." ) - protected StringType description; - - /** - * An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. - */ - @Child(name = "url", type = {UrlType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Base URL for the installation", formalDefinition="An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces." ) - protected UrlType url; - - /** - * The organization responsible for the management of the instance and oversight of the data on the server at the specified URL. - */ - @Child(name = "custodian", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Organization that manages the data", formalDefinition="The organization responsible for the management of the instance and oversight of the data on the server at the specified URL." ) - protected Reference custodian; - - private static final long serialVersionUID = 1681322786L; - - /** - * Constructor - */ - public CapabilityStatement2ImplementationComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2ImplementationComponent(String description) { - super(); - this.setDescription(description); - } - - /** - * @return {@link #description} (Information about the specific installation that this capability statement relates to.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public StringType getDescriptionElement() { - if (this.description == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2ImplementationComponent.description"); - else if (Configuration.doAutoCreate()) - this.description = new StringType(); // bb - return this.description; - } - - public boolean hasDescriptionElement() { - return this.description != null && !this.description.isEmpty(); - } - - public boolean hasDescription() { - return this.description != null && !this.description.isEmpty(); - } - - /** - * @param value {@link #description} (Information about the specific installation that this capability statement relates to.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public CapabilityStatement2ImplementationComponent setDescriptionElement(StringType value) { - this.description = value; - return this; - } - - /** - * @return Information about the specific installation that this capability statement relates to. - */ - public String getDescription() { - return this.description == null ? null : this.description.getValue(); - } - - /** - * @param value Information about the specific installation that this capability statement relates to. - */ - public CapabilityStatement2ImplementationComponent setDescription(String value) { - if (this.description == null) - this.description = new StringType(); - this.description.setValue(value); - return this; - } - - /** - * @return {@link #url} (An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value - */ - public UrlType getUrlElement() { - if (this.url == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2ImplementationComponent.url"); - else if (Configuration.doAutoCreate()) - this.url = new UrlType(); // bb - return this.url; - } - - public boolean hasUrlElement() { - return this.url != null && !this.url.isEmpty(); - } - - public boolean hasUrl() { - return this.url != null && !this.url.isEmpty(); - } - - /** - * @param value {@link #url} (An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value - */ - public CapabilityStatement2ImplementationComponent setUrlElement(UrlType value) { - this.url = value; - return this; - } - - /** - * @return An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. - */ - public String getUrl() { - return this.url == null ? null : this.url.getValue(); - } - - /** - * @param value An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces. - */ - public CapabilityStatement2ImplementationComponent setUrl(String value) { - if (Utilities.noString(value)) - this.url = null; - else { - if (this.url == null) - this.url = new UrlType(); - this.url.setValue(value); - } - return this; - } - - /** - * @return {@link #custodian} (The organization responsible for the management of the instance and oversight of the data on the server at the specified URL.) - */ - public Reference getCustodian() { - if (this.custodian == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2ImplementationComponent.custodian"); - else if (Configuration.doAutoCreate()) - this.custodian = new Reference(); // cc - return this.custodian; - } - - public boolean hasCustodian() { - return this.custodian != null && !this.custodian.isEmpty(); - } - - /** - * @param value {@link #custodian} (The organization responsible for the management of the instance and oversight of the data on the server at the specified URL.) - */ - public CapabilityStatement2ImplementationComponent setCustodian(Reference value) { - this.custodian = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("description", "string", "Information about the specific installation that this capability statement relates to.", 0, 1, description)); - children.add(new Property("url", "url", "An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces.", 0, 1, url)); - children.add(new Property("custodian", "Reference(Organization)", "The organization responsible for the management of the instance and oversight of the data on the server at the specified URL.", 0, 1, custodian)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case -1724546052: /*description*/ return new Property("description", "string", "Information about the specific installation that this capability statement relates to.", 0, 1, description); - case 116079: /*url*/ return new Property("url", "url", "An absolute base URL for the implementation. This forms the base for REST interfaces as well as the mailbox and document interfaces.", 0, 1, url); - case 1611297262: /*custodian*/ return new Property("custodian", "Reference(Organization)", "The organization responsible for the management of the instance and oversight of the data on the server at the specified URL.", 0, 1, custodian); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType - case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UrlType - case 1611297262: /*custodian*/ return this.custodian == null ? new Base[0] : new Base[] {this.custodian}; // Reference - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case -1724546052: // description - this.description = TypeConvertor.castToString(value); // StringType - return value; - case 116079: // url - this.url = TypeConvertor.castToUrl(value); // UrlType - return value; - case 1611297262: // custodian - this.custodian = TypeConvertor.castToReference(value); // Reference - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("description")) { - this.description = TypeConvertor.castToString(value); // StringType - } else if (name.equals("url")) { - this.url = TypeConvertor.castToUrl(value); // UrlType - } else if (name.equals("custodian")) { - this.custodian = TypeConvertor.castToReference(value); // Reference - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -1724546052: return getDescriptionElement(); - case 116079: return getUrlElement(); - case 1611297262: return getCustodian(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -1724546052: /*description*/ return new String[] {"string"}; - case 116079: /*url*/ return new String[] {"url"}; - case 1611297262: /*custodian*/ return new String[] {"Reference"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("description")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.implementation.description"); - } - else if (name.equals("url")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.implementation.url"); - } - else if (name.equals("custodian")) { - this.custodian = new Reference(); - return this.custodian; - } - else - return super.addChild(name); - } - - public CapabilityStatement2ImplementationComponent copy() { - CapabilityStatement2ImplementationComponent dst = new CapabilityStatement2ImplementationComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2ImplementationComponent dst) { - super.copyValues(dst); - dst.description = description == null ? null : description.copy(); - dst.url = url == null ? null : url.copy(); - dst.custodian = custodian == null ? null : custodian.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2ImplementationComponent)) - return false; - CapabilityStatement2ImplementationComponent o = (CapabilityStatement2ImplementationComponent) other_; - return compareDeep(description, o.description, true) && compareDeep(url, o.url, true) && compareDeep(custodian, o.custodian, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2ImplementationComponent)) - return false; - CapabilityStatement2ImplementationComponent o = (CapabilityStatement2ImplementationComponent) other_; - return compareValues(description, o.description, true) && compareValues(url, o.url, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, url, custodian - ); - } - - public String fhirType() { - return "CapabilityStatement2.implementation"; - - } - - } - - @Block() - public static class CapabilityStatement2RestComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. - */ - @Child(name = "mode", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="client | server", formalDefinition="Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/restful-capability-mode") - protected Enumeration mode; - - /** - * Information about the system's restful capabilities that apply across all applications, such as security. - */ - @Child(name = "documentation", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="General description of implementation", formalDefinition="Information about the system's restful capabilities that apply across all applications, such as security." ) - protected MarkdownType documentation; - - /** - * A statement that affirms support for a feature. - */ - @Child(name = "feature", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Statement of support for a feature", formalDefinition="A statement that affirms support for a feature." ) - protected List feature; - - /** - * A specification of the restful capabilities of the solution for a specific resource type. - */ - @Child(name = "resource", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Resource served on the REST interface", formalDefinition="A specification of the restful capabilities of the solution for a specific resource type." ) - protected List resource; - - /** - * A specification of restful operations supported by the system. - */ - @Child(name = "interaction", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="What operations are supported?", formalDefinition="A specification of restful operations supported by the system." ) - protected List interaction; - - /** - * Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. - */ - @Child(name = "searchParam", type = {CapabilityStatement2RestResourceSearchParamComponent.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Search parameters for searching all resources", formalDefinition="Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation." ) - protected List searchParam; - - /** - * Definition of an operation or a named query together with its parameters and their meaning and type. - */ - @Child(name = "operation", type = {CapabilityStatement2RestResourceOperationComponent.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Definition of a system level operation", formalDefinition="Definition of an operation or a named query together with its parameters and their meaning and type." ) - protected List operation; - - /** - * An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL . - */ - @Child(name = "compartment", type = {CanonicalType.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Compartments served/used by system", formalDefinition="An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL ." ) - protected List compartment; - - private static final long serialVersionUID = 2139914073L; - - /** - * Constructor - */ - public CapabilityStatement2RestComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2RestComponent(RestfulCapabilityMode mode) { - super(); - this.setMode(mode); - } - - /** - * @return {@link #mode} (Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value - */ - public Enumeration getModeElement() { - if (this.mode == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestComponent.mode"); - else if (Configuration.doAutoCreate()) - this.mode = new Enumeration(new RestfulCapabilityModeEnumFactory()); // bb - return this.mode; - } - - public boolean hasModeElement() { - return this.mode != null && !this.mode.isEmpty(); - } - - public boolean hasMode() { - return this.mode != null && !this.mode.isEmpty(); - } - - /** - * @param value {@link #mode} (Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations.). This is the underlying object with id, value and extensions. The accessor "getMode" gives direct access to the value - */ - public CapabilityStatement2RestComponent setModeElement(Enumeration value) { - this.mode = value; - return this; - } - - /** - * @return Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. - */ - public RestfulCapabilityMode getMode() { - return this.mode == null ? null : this.mode.getValue(); - } - - /** - * @param value Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations. - */ - public CapabilityStatement2RestComponent setMode(RestfulCapabilityMode value) { - if (this.mode == null) - this.mode = new Enumeration(new RestfulCapabilityModeEnumFactory()); - this.mode.setValue(value); - return this; - } - - /** - * @return {@link #documentation} (Information about the system's restful capabilities that apply across all applications, such as security.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public MarkdownType getDocumentationElement() { - if (this.documentation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestComponent.documentation"); - else if (Configuration.doAutoCreate()) - this.documentation = new MarkdownType(); // bb - return this.documentation; - } - - public boolean hasDocumentationElement() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - public boolean hasDocumentation() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - /** - * @param value {@link #documentation} (Information about the system's restful capabilities that apply across all applications, such as security.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public CapabilityStatement2RestComponent setDocumentationElement(MarkdownType value) { - this.documentation = value; - return this; - } - - /** - * @return Information about the system's restful capabilities that apply across all applications, such as security. - */ - public String getDocumentation() { - return this.documentation == null ? null : this.documentation.getValue(); - } - - /** - * @param value Information about the system's restful capabilities that apply across all applications, such as security. - */ - public CapabilityStatement2RestComponent setDocumentation(String value) { - if (value == null) - this.documentation = null; - else { - if (this.documentation == null) - this.documentation = new MarkdownType(); - this.documentation.setValue(value); - } - return this; - } - - /** - * @return {@link #feature} (A statement that affirms support for a feature.) - */ - public List getFeature() { - if (this.feature == null) - this.feature = new ArrayList(); - return this.feature; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestComponent setFeature(List theFeature) { - this.feature = theFeature; - return this; - } - - public boolean hasFeature() { - if (this.feature == null) - return false; - for (CapabilityStatement2RestFeatureComponent item : this.feature) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestFeatureComponent addFeature() { //3 - CapabilityStatement2RestFeatureComponent t = new CapabilityStatement2RestFeatureComponent(); - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return t; - } - - public CapabilityStatement2RestComponent addFeature(CapabilityStatement2RestFeatureComponent t) { //3 - if (t == null) - return this; - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #feature}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestFeatureComponent getFeatureFirstRep() { - if (getFeature().isEmpty()) { - addFeature(); - } - return getFeature().get(0); - } - - /** - * @return {@link #resource} (A specification of the restful capabilities of the solution for a specific resource type.) - */ - public List getResource() { - if (this.resource == null) - this.resource = new ArrayList(); - return this.resource; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestComponent setResource(List theResource) { - this.resource = theResource; - return this; - } - - public boolean hasResource() { - if (this.resource == null) - return false; - for (CapabilityStatement2RestResourceComponent item : this.resource) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestResourceComponent addResource() { //3 - CapabilityStatement2RestResourceComponent t = new CapabilityStatement2RestResourceComponent(); - if (this.resource == null) - this.resource = new ArrayList(); - this.resource.add(t); - return t; - } - - public CapabilityStatement2RestComponent addResource(CapabilityStatement2RestResourceComponent t) { //3 - if (t == null) - return this; - if (this.resource == null) - this.resource = new ArrayList(); - this.resource.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestResourceComponent getResourceFirstRep() { - if (getResource().isEmpty()) { - addResource(); - } - return getResource().get(0); - } - - /** - * @return {@link #interaction} (A specification of restful operations supported by the system.) - */ - public List getInteraction() { - if (this.interaction == null) - this.interaction = new ArrayList(); - return this.interaction; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestComponent setInteraction(List theInteraction) { - this.interaction = theInteraction; - return this; - } - - public boolean hasInteraction() { - if (this.interaction == null) - return false; - for (SystemInteractionComponent item : this.interaction) - if (!item.isEmpty()) - return true; - return false; - } - - public SystemInteractionComponent addInteraction() { //3 - SystemInteractionComponent t = new SystemInteractionComponent(); - if (this.interaction == null) - this.interaction = new ArrayList(); - this.interaction.add(t); - return t; - } - - public CapabilityStatement2RestComponent addInteraction(SystemInteractionComponent t) { //3 - if (t == null) - return this; - if (this.interaction == null) - this.interaction = new ArrayList(); - this.interaction.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #interaction}, creating it if it does not already exist {3} - */ - public SystemInteractionComponent getInteractionFirstRep() { - if (getInteraction().isEmpty()) { - addInteraction(); - } - return getInteraction().get(0); - } - - /** - * @return {@link #searchParam} (Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.) - */ - public List getSearchParam() { - if (this.searchParam == null) - this.searchParam = new ArrayList(); - return this.searchParam; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestComponent setSearchParam(List theSearchParam) { - this.searchParam = theSearchParam; - return this; - } - - public boolean hasSearchParam() { - if (this.searchParam == null) - return false; - for (CapabilityStatement2RestResourceSearchParamComponent item : this.searchParam) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestResourceSearchParamComponent addSearchParam() { //3 - CapabilityStatement2RestResourceSearchParamComponent t = new CapabilityStatement2RestResourceSearchParamComponent(); - if (this.searchParam == null) - this.searchParam = new ArrayList(); - this.searchParam.add(t); - return t; - } - - public CapabilityStatement2RestComponent addSearchParam(CapabilityStatement2RestResourceSearchParamComponent t) { //3 - if (t == null) - return this; - if (this.searchParam == null) - this.searchParam = new ArrayList(); - this.searchParam.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #searchParam}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestResourceSearchParamComponent getSearchParamFirstRep() { - if (getSearchParam().isEmpty()) { - addSearchParam(); - } - return getSearchParam().get(0); - } - - /** - * @return {@link #operation} (Definition of an operation or a named query together with its parameters and their meaning and type.) - */ - public List getOperation() { - if (this.operation == null) - this.operation = new ArrayList(); - return this.operation; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestComponent setOperation(List theOperation) { - this.operation = theOperation; - return this; - } - - public boolean hasOperation() { - if (this.operation == null) - return false; - for (CapabilityStatement2RestResourceOperationComponent item : this.operation) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestResourceOperationComponent addOperation() { //3 - CapabilityStatement2RestResourceOperationComponent t = new CapabilityStatement2RestResourceOperationComponent(); - if (this.operation == null) - this.operation = new ArrayList(); - this.operation.add(t); - return t; - } - - public CapabilityStatement2RestComponent addOperation(CapabilityStatement2RestResourceOperationComponent t) { //3 - if (t == null) - return this; - if (this.operation == null) - this.operation = new ArrayList(); - this.operation.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #operation}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestResourceOperationComponent getOperationFirstRep() { - if (getOperation().isEmpty()) { - addOperation(); - } - return getOperation().get(0); - } - - /** - * @return {@link #compartment} (An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .) - */ - public List getCompartment() { - if (this.compartment == null) - this.compartment = new ArrayList(); - return this.compartment; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestComponent setCompartment(List theCompartment) { - this.compartment = theCompartment; - return this; - } - - public boolean hasCompartment() { - if (this.compartment == null) - return false; - for (CanonicalType item : this.compartment) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #compartment} (An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .) - */ - public CanonicalType addCompartmentElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.compartment == null) - this.compartment = new ArrayList(); - this.compartment.add(t); - return t; - } - - /** - * @param value {@link #compartment} (An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .) - */ - public CapabilityStatement2RestComponent addCompartment(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.compartment == null) - this.compartment = new ArrayList(); - this.compartment.add(t); - return this; - } - - /** - * @param value {@link #compartment} (An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .) - */ - public boolean hasCompartment(String value) { - if (this.compartment == null) - return false; - for (CanonicalType v : this.compartment) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("mode", "code", "Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations.", 0, 1, mode)); - children.add(new Property("documentation", "markdown", "Information about the system's restful capabilities that apply across all applications, such as security.", 0, 1, documentation)); - children.add(new Property("feature", "", "A statement that affirms support for a feature.", 0, java.lang.Integer.MAX_VALUE, feature)); - children.add(new Property("resource", "", "A specification of the restful capabilities of the solution for a specific resource type.", 0, java.lang.Integer.MAX_VALUE, resource)); - children.add(new Property("interaction", "", "A specification of restful operations supported by the system.", 0, java.lang.Integer.MAX_VALUE, interaction)); - children.add(new Property("searchParam", "@CapabilityStatement2.rest.resource.searchParam", "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.", 0, java.lang.Integer.MAX_VALUE, searchParam)); - children.add(new Property("operation", "@CapabilityStatement2.rest.resource.operation", "Definition of an operation or a named query together with its parameters and their meaning and type.", 0, java.lang.Integer.MAX_VALUE, operation)); - children.add(new Property("compartment", "canonical(CompartmentDefinition)", "An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .", 0, java.lang.Integer.MAX_VALUE, compartment)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3357091: /*mode*/ return new Property("mode", "code", "Identifies whether this portion of the statement is describing the ability to initiate or receive restful operations.", 0, 1, mode); - case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Information about the system's restful capabilities that apply across all applications, such as security.", 0, 1, documentation); - case -979207434: /*feature*/ return new Property("feature", "", "A statement that affirms support for a feature.", 0, java.lang.Integer.MAX_VALUE, feature); - case -341064690: /*resource*/ return new Property("resource", "", "A specification of the restful capabilities of the solution for a specific resource type.", 0, java.lang.Integer.MAX_VALUE, resource); - case 1844104722: /*interaction*/ return new Property("interaction", "", "A specification of restful operations supported by the system.", 0, java.lang.Integer.MAX_VALUE, interaction); - case -553645115: /*searchParam*/ return new Property("searchParam", "@CapabilityStatement2.rest.resource.searchParam", "Search parameters that are supported for searching all resources for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.", 0, java.lang.Integer.MAX_VALUE, searchParam); - case 1662702951: /*operation*/ return new Property("operation", "@CapabilityStatement2.rest.resource.operation", "Definition of an operation or a named query together with its parameters and their meaning and type.", 0, java.lang.Integer.MAX_VALUE, operation); - case -397756334: /*compartment*/ return new Property("compartment", "canonical(CompartmentDefinition)", "An absolute URI which is a reference to the definition of a compartment that the system supports. The reference is to a CompartmentDefinition resource by its canonical URL .", 0, java.lang.Integer.MAX_VALUE, compartment); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // Enumeration - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType - case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // CapabilityStatement2RestFeatureComponent - case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // CapabilityStatement2RestResourceComponent - case 1844104722: /*interaction*/ return this.interaction == null ? new Base[0] : this.interaction.toArray(new Base[this.interaction.size()]); // SystemInteractionComponent - case -553645115: /*searchParam*/ return this.searchParam == null ? new Base[0] : this.searchParam.toArray(new Base[this.searchParam.size()]); // CapabilityStatement2RestResourceSearchParamComponent - case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : this.operation.toArray(new Base[this.operation.size()]); // CapabilityStatement2RestResourceOperationComponent - case -397756334: /*compartment*/ return this.compartment == null ? new Base[0] : this.compartment.toArray(new Base[this.compartment.size()]); // CanonicalType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3357091: // mode - value = new RestfulCapabilityModeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.mode = (Enumeration) value; // Enumeration - return value; - case 1587405498: // documentation - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -979207434: // feature - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); // CapabilityStatement2RestFeatureComponent - return value; - case -341064690: // resource - this.getResource().add((CapabilityStatement2RestResourceComponent) value); // CapabilityStatement2RestResourceComponent - return value; - case 1844104722: // interaction - this.getInteraction().add((SystemInteractionComponent) value); // SystemInteractionComponent - return value; - case -553645115: // searchParam - this.getSearchParam().add((CapabilityStatement2RestResourceSearchParamComponent) value); // CapabilityStatement2RestResourceSearchParamComponent - return value; - case 1662702951: // operation - this.getOperation().add((CapabilityStatement2RestResourceOperationComponent) value); // CapabilityStatement2RestResourceOperationComponent - return value; - case -397756334: // compartment - this.getCompartment().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("mode")) { - value = new RestfulCapabilityModeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.mode = (Enumeration) value; // Enumeration - } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("feature")) { - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); - } else if (name.equals("resource")) { - this.getResource().add((CapabilityStatement2RestResourceComponent) value); - } else if (name.equals("interaction")) { - this.getInteraction().add((SystemInteractionComponent) value); - } else if (name.equals("searchParam")) { - this.getSearchParam().add((CapabilityStatement2RestResourceSearchParamComponent) value); - } else if (name.equals("operation")) { - this.getOperation().add((CapabilityStatement2RestResourceOperationComponent) value); - } else if (name.equals("compartment")) { - this.getCompartment().add(TypeConvertor.castToCanonical(value)); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3357091: return getModeElement(); - case 1587405498: return getDocumentationElement(); - case -979207434: return addFeature(); - case -341064690: return addResource(); - case 1844104722: return addInteraction(); - case -553645115: return addSearchParam(); - case 1662702951: return addOperation(); - case -397756334: return addCompartmentElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3357091: /*mode*/ return new String[] {"code"}; - case 1587405498: /*documentation*/ return new String[] {"markdown"}; - case -979207434: /*feature*/ return new String[] {}; - case -341064690: /*resource*/ return new String[] {}; - case 1844104722: /*interaction*/ return new String[] {}; - case -553645115: /*searchParam*/ return new String[] {"@CapabilityStatement2.rest.resource.searchParam"}; - case 1662702951: /*operation*/ return new String[] {"@CapabilityStatement2.rest.resource.operation"}; - case -397756334: /*compartment*/ return new String[] {"canonical"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("mode")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.mode"); - } - else if (name.equals("documentation")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.documentation"); - } - else if (name.equals("feature")) { - return addFeature(); - } - else if (name.equals("resource")) { - return addResource(); - } - else if (name.equals("interaction")) { - return addInteraction(); - } - else if (name.equals("searchParam")) { - return addSearchParam(); - } - else if (name.equals("operation")) { - return addOperation(); - } - else if (name.equals("compartment")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.compartment"); - } - else - return super.addChild(name); - } - - public CapabilityStatement2RestComponent copy() { - CapabilityStatement2RestComponent dst = new CapabilityStatement2RestComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2RestComponent dst) { - super.copyValues(dst); - dst.mode = mode == null ? null : mode.copy(); - dst.documentation = documentation == null ? null : documentation.copy(); - if (feature != null) { - dst.feature = new ArrayList(); - for (CapabilityStatement2RestFeatureComponent i : feature) - dst.feature.add(i.copy()); - }; - if (resource != null) { - dst.resource = new ArrayList(); - for (CapabilityStatement2RestResourceComponent i : resource) - dst.resource.add(i.copy()); - }; - if (interaction != null) { - dst.interaction = new ArrayList(); - for (SystemInteractionComponent i : interaction) - dst.interaction.add(i.copy()); - }; - if (searchParam != null) { - dst.searchParam = new ArrayList(); - for (CapabilityStatement2RestResourceSearchParamComponent i : searchParam) - dst.searchParam.add(i.copy()); - }; - if (operation != null) { - dst.operation = new ArrayList(); - for (CapabilityStatement2RestResourceOperationComponent i : operation) - dst.operation.add(i.copy()); - }; - if (compartment != null) { - dst.compartment = new ArrayList(); - for (CanonicalType i : compartment) - dst.compartment.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestComponent)) - return false; - CapabilityStatement2RestComponent o = (CapabilityStatement2RestComponent) other_; - return compareDeep(mode, o.mode, true) && compareDeep(documentation, o.documentation, true) && compareDeep(feature, o.feature, true) - && compareDeep(resource, o.resource, true) && compareDeep(interaction, o.interaction, true) && compareDeep(searchParam, o.searchParam, true) - && compareDeep(operation, o.operation, true) && compareDeep(compartment, o.compartment, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestComponent)) - return false; - CapabilityStatement2RestComponent o = (CapabilityStatement2RestComponent) other_; - return compareValues(mode, o.mode, true) && compareValues(documentation, o.documentation, true) && compareValues(compartment, o.compartment, true) - ; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(mode, documentation, feature - , resource, interaction, searchParam, operation, compartment); - } - - public String fhirType() { - return "CapabilityStatement2.rest"; - - } - - } - - @Block() - public static class CapabilityStatement2RestFeatureComponent extends BackboneElement implements IBaseBackboneElement { - /** - * A code that describes the feature being reported on. - */ - @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Feature that is being reported", formalDefinition="A code that describes the feature being reported on." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/capability-feature") - protected Enumeration code; - - /** - * A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code. - */ - @Child(name = "value", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Value of the feature (true, false, or a code)", formalDefinition="A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/capability-feature-value") - protected Enumeration value; - - private static final long serialVersionUID = 782619829L; - - /** - * Constructor - */ - public CapabilityStatement2RestFeatureComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2RestFeatureComponent(CapabilityFeature code, CapabilityFeatureValue value) { - super(); - this.setCode(code); - this.setValue(value); - } - - /** - * @return {@link #code} (A code that describes the feature being reported on.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value - */ - public Enumeration getCodeElement() { - if (this.code == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestFeatureComponent.code"); - else if (Configuration.doAutoCreate()) - this.code = new Enumeration(new CapabilityFeatureEnumFactory()); // bb - return this.code; - } - - public boolean hasCodeElement() { - return this.code != null && !this.code.isEmpty(); - } - - public boolean hasCode() { - return this.code != null && !this.code.isEmpty(); - } - - /** - * @param value {@link #code} (A code that describes the feature being reported on.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value - */ - public CapabilityStatement2RestFeatureComponent setCodeElement(Enumeration value) { - this.code = value; - return this; - } - - /** - * @return A code that describes the feature being reported on. - */ - public CapabilityFeature getCode() { - return this.code == null ? null : this.code.getValue(); - } - - /** - * @param value A code that describes the feature being reported on. - */ - public CapabilityStatement2RestFeatureComponent setCode(CapabilityFeature value) { - if (this.code == null) - this.code = new Enumeration(new CapabilityFeatureEnumFactory()); - this.code.setValue(value); - return this; - } - - /** - * @return {@link #value} (A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value - */ - public Enumeration getValueElement() { - if (this.value == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestFeatureComponent.value"); - else if (Configuration.doAutoCreate()) - this.value = new Enumeration(new CapabilityFeatureValueEnumFactory()); // bb - return this.value; - } - - public boolean hasValueElement() { - return this.value != null && !this.value.isEmpty(); - } - - public boolean hasValue() { - return this.value != null && !this.value.isEmpty(); - } - - /** - * @param value {@link #value} (A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value - */ - public CapabilityStatement2RestFeatureComponent setValueElement(Enumeration value) { - this.value = value; - return this; - } - - /** - * @return A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code. - */ - public CapabilityFeatureValue getValue() { - return this.value == null ? null : this.value.getValue(); - } - - /** - * @param value A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code. - */ - public CapabilityStatement2RestFeatureComponent setValue(CapabilityFeatureValue value) { - if (this.value == null) - this.value = new Enumeration(new CapabilityFeatureValueEnumFactory()); - this.value.setValue(value); - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("code", "code", "A code that describes the feature being reported on.", 0, 1, code)); - children.add(new Property("value", "code", "A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code.", 0, 1, value)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3059181: /*code*/ return new Property("code", "code", "A code that describes the feature being reported on.", 0, 1, code); - case 111972721: /*value*/ return new Property("value", "code", "A value for the feature - maybe true, false, or one of the set of codes allowed in the definition of the feature code.", 0, 1, value); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration - case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // Enumeration - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3059181: // code - value = new CapabilityFeatureEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.code = (Enumeration) value; // Enumeration - return value; - case 111972721: // value - value = new CapabilityFeatureValueEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.value = (Enumeration) value; // Enumeration - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("code")) { - value = new CapabilityFeatureEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.code = (Enumeration) value; // Enumeration - } else if (name.equals("value")) { - value = new CapabilityFeatureValueEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.value = (Enumeration) value; // Enumeration - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3059181: return getCodeElement(); - case 111972721: return getValueElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3059181: /*code*/ return new String[] {"code"}; - case 111972721: /*value*/ return new String[] {"code"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("code")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.feature.code"); - } - else if (name.equals("value")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.feature.value"); - } - else - return super.addChild(name); - } - - public CapabilityStatement2RestFeatureComponent copy() { - CapabilityStatement2RestFeatureComponent dst = new CapabilityStatement2RestFeatureComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2RestFeatureComponent dst) { - super.copyValues(dst); - dst.code = code == null ? null : code.copy(); - dst.value = value == null ? null : value.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestFeatureComponent)) - return false; - CapabilityStatement2RestFeatureComponent o = (CapabilityStatement2RestFeatureComponent) other_; - return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestFeatureComponent)) - return false; - CapabilityStatement2RestFeatureComponent o = (CapabilityStatement2RestFeatureComponent) other_; - return compareValues(code, o.code, true) && compareValues(value, o.value, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value); - } - - public String fhirType() { - return "CapabilityStatement2.rest.feature"; - - } - - } - - @Block() - public static class CapabilityStatement2RestResourceComponent extends BackboneElement implements IBaseBackboneElement { - /** - * A type of resource exposed via the restful interface. - */ - @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="A resource type that is supported", formalDefinition="A type of resource exposed via the restful interface." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") - protected CodeType type; - - /** - * A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses). - */ - @Child(name = "profile", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Base System profile for all uses of resource", formalDefinition="A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses)." ) - protected CanonicalType profile; - - /** - * A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses). - */ - @Child(name = "supportedProfile", type = {CanonicalType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Profiles for use cases supported", formalDefinition="A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses)." ) - protected List supportedProfile; - - /** - * Additional information about the resource type used by the system. - */ - @Child(name = "documentation", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Additional information about the use of the resource type", formalDefinition="Additional information about the resource type used by the system." ) - protected MarkdownType documentation; - - /** - * A statement that affirms support for a feature, in this context. - */ - @Child(name = "feature", type = {CapabilityStatement2RestFeatureComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Statement of support for a feature in this context", formalDefinition="A statement that affirms support for a feature, in this context." ) - protected List feature; - - /** - * Identifies a restful operation supported by the solution. - */ - @Child(name = "interaction", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="What operations are supported?", formalDefinition="Identifies a restful operation supported by the solution." ) - protected List interaction; - - /** - * Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation. - */ - @Child(name = "searchParam", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Search parameters supported by implementation", formalDefinition="Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation." ) - protected List searchParam; - - /** - * Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters. - */ - @Child(name = "operation", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Definition of a resource operation", formalDefinition="Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters." ) - protected List operation; - - private static final long serialVersionUID = -815167785L; - - /** - * Constructor - */ - public CapabilityStatement2RestResourceComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2RestResourceComponent(String type) { - super(); - this.setType(type); - } - - /** - * @return {@link #type} (A type of resource exposed via the restful interface.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public CodeType getTypeElement() { - if (this.type == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceComponent.type"); - else if (Configuration.doAutoCreate()) - this.type = new CodeType(); // bb - return this.type; - } - - public boolean hasTypeElement() { - return this.type != null && !this.type.isEmpty(); - } - - public boolean hasType() { - return this.type != null && !this.type.isEmpty(); - } - - /** - * @param value {@link #type} (A type of resource exposed via the restful interface.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public CapabilityStatement2RestResourceComponent setTypeElement(CodeType value) { - this.type = value; - return this; - } - - /** - * @return A type of resource exposed via the restful interface. - */ - public String getType() { - return this.type == null ? null : this.type.getValue(); - } - - /** - * @param value A type of resource exposed via the restful interface. - */ - public CapabilityStatement2RestResourceComponent setType(String value) { - if (this.type == null) - this.type = new CodeType(); - this.type.setValue(value); - return this; - } - - /** - * @return {@link #profile} (A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value - */ - public CanonicalType getProfileElement() { - if (this.profile == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceComponent.profile"); - else if (Configuration.doAutoCreate()) - this.profile = new CanonicalType(); // bb - return this.profile; - } - - public boolean hasProfileElement() { - return this.profile != null && !this.profile.isEmpty(); - } - - public boolean hasProfile() { - return this.profile != null && !this.profile.isEmpty(); - } - - /** - * @param value {@link #profile} (A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).). This is the underlying object with id, value and extensions. The accessor "getProfile" gives direct access to the value - */ - public CapabilityStatement2RestResourceComponent setProfileElement(CanonicalType value) { - this.profile = value; - return this; - } - - /** - * @return A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses). - */ - public String getProfile() { - return this.profile == null ? null : this.profile.getValue(); - } - - /** - * @param value A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses). - */ - public CapabilityStatement2RestResourceComponent setProfile(String value) { - if (Utilities.noString(value)) - this.profile = null; - else { - if (this.profile == null) - this.profile = new CanonicalType(); - this.profile.setValue(value); - } - return this; - } - - /** - * @return {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) - */ - public List getSupportedProfile() { - if (this.supportedProfile == null) - this.supportedProfile = new ArrayList(); - return this.supportedProfile; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceComponent setSupportedProfile(List theSupportedProfile) { - this.supportedProfile = theSupportedProfile; - return this; - } - - public boolean hasSupportedProfile() { - if (this.supportedProfile == null) - return false; - for (CanonicalType item : this.supportedProfile) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) - */ - public CanonicalType addSupportedProfileElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.supportedProfile == null) - this.supportedProfile = new ArrayList(); - this.supportedProfile.add(t); - return t; - } - - /** - * @param value {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) - */ - public CapabilityStatement2RestResourceComponent addSupportedProfile(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.supportedProfile == null) - this.supportedProfile = new ArrayList(); - this.supportedProfile.add(t); - return this; - } - - /** - * @param value {@link #supportedProfile} (A list of profiles that represent different use cases supported by the system. For a server, "supported by the system" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).) - */ - public boolean hasSupportedProfile(String value) { - if (this.supportedProfile == null) - return false; - for (CanonicalType v : this.supportedProfile) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #documentation} (Additional information about the resource type used by the system.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public MarkdownType getDocumentationElement() { - if (this.documentation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceComponent.documentation"); - else if (Configuration.doAutoCreate()) - this.documentation = new MarkdownType(); // bb - return this.documentation; - } - - public boolean hasDocumentationElement() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - public boolean hasDocumentation() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - /** - * @param value {@link #documentation} (Additional information about the resource type used by the system.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public CapabilityStatement2RestResourceComponent setDocumentationElement(MarkdownType value) { - this.documentation = value; - return this; - } - - /** - * @return Additional information about the resource type used by the system. - */ - public String getDocumentation() { - return this.documentation == null ? null : this.documentation.getValue(); - } - - /** - * @param value Additional information about the resource type used by the system. - */ - public CapabilityStatement2RestResourceComponent setDocumentation(String value) { - if (value == null) - this.documentation = null; - else { - if (this.documentation == null) - this.documentation = new MarkdownType(); - this.documentation.setValue(value); - } - return this; - } - - /** - * @return {@link #feature} (A statement that affirms support for a feature, in this context.) - */ - public List getFeature() { - if (this.feature == null) - this.feature = new ArrayList(); - return this.feature; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceComponent setFeature(List theFeature) { - this.feature = theFeature; - return this; - } - - public boolean hasFeature() { - if (this.feature == null) - return false; - for (CapabilityStatement2RestFeatureComponent item : this.feature) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestFeatureComponent addFeature() { //3 - CapabilityStatement2RestFeatureComponent t = new CapabilityStatement2RestFeatureComponent(); - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return t; - } - - public CapabilityStatement2RestResourceComponent addFeature(CapabilityStatement2RestFeatureComponent t) { //3 - if (t == null) - return this; - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #feature}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestFeatureComponent getFeatureFirstRep() { - if (getFeature().isEmpty()) { - addFeature(); - } - return getFeature().get(0); - } - - /** - * @return {@link #interaction} (Identifies a restful operation supported by the solution.) - */ - public List getInteraction() { - if (this.interaction == null) - this.interaction = new ArrayList(); - return this.interaction; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceComponent setInteraction(List theInteraction) { - this.interaction = theInteraction; - return this; - } - - public boolean hasInteraction() { - if (this.interaction == null) - return false; - for (ResourceInteractionComponent item : this.interaction) - if (!item.isEmpty()) - return true; - return false; - } - - public ResourceInteractionComponent addInteraction() { //3 - ResourceInteractionComponent t = new ResourceInteractionComponent(); - if (this.interaction == null) - this.interaction = new ArrayList(); - this.interaction.add(t); - return t; - } - - public CapabilityStatement2RestResourceComponent addInteraction(ResourceInteractionComponent t) { //3 - if (t == null) - return this; - if (this.interaction == null) - this.interaction = new ArrayList(); - this.interaction.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #interaction}, creating it if it does not already exist {3} - */ - public ResourceInteractionComponent getInteractionFirstRep() { - if (getInteraction().isEmpty()) { - addInteraction(); - } - return getInteraction().get(0); - } - - /** - * @return {@link #searchParam} (Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.) - */ - public List getSearchParam() { - if (this.searchParam == null) - this.searchParam = new ArrayList(); - return this.searchParam; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceComponent setSearchParam(List theSearchParam) { - this.searchParam = theSearchParam; - return this; - } - - public boolean hasSearchParam() { - if (this.searchParam == null) - return false; - for (CapabilityStatement2RestResourceSearchParamComponent item : this.searchParam) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestResourceSearchParamComponent addSearchParam() { //3 - CapabilityStatement2RestResourceSearchParamComponent t = new CapabilityStatement2RestResourceSearchParamComponent(); - if (this.searchParam == null) - this.searchParam = new ArrayList(); - this.searchParam.add(t); - return t; - } - - public CapabilityStatement2RestResourceComponent addSearchParam(CapabilityStatement2RestResourceSearchParamComponent t) { //3 - if (t == null) - return this; - if (this.searchParam == null) - this.searchParam = new ArrayList(); - this.searchParam.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #searchParam}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestResourceSearchParamComponent getSearchParamFirstRep() { - if (getSearchParam().isEmpty()) { - addSearchParam(); - } - return getSearchParam().get(0); - } - - /** - * @return {@link #operation} (Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters.) - */ - public List getOperation() { - if (this.operation == null) - this.operation = new ArrayList(); - return this.operation; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceComponent setOperation(List theOperation) { - this.operation = theOperation; - return this; - } - - public boolean hasOperation() { - if (this.operation == null) - return false; - for (CapabilityStatement2RestResourceOperationComponent item : this.operation) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestResourceOperationComponent addOperation() { //3 - CapabilityStatement2RestResourceOperationComponent t = new CapabilityStatement2RestResourceOperationComponent(); - if (this.operation == null) - this.operation = new ArrayList(); - this.operation.add(t); - return t; - } - - public CapabilityStatement2RestResourceComponent addOperation(CapabilityStatement2RestResourceOperationComponent t) { //3 - if (t == null) - return this; - if (this.operation == null) - this.operation = new ArrayList(); - this.operation.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #operation}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestResourceOperationComponent getOperationFirstRep() { - if (getOperation().isEmpty()) { - addOperation(); - } - return getOperation().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("type", "code", "A type of resource exposed via the restful interface.", 0, 1, type)); - children.add(new Property("profile", "canonical(StructureDefinition)", "A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, 1, profile)); - children.add(new Property("supportedProfile", "canonical(StructureDefinition)", "A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, java.lang.Integer.MAX_VALUE, supportedProfile)); - children.add(new Property("documentation", "markdown", "Additional information about the resource type used by the system.", 0, 1, documentation)); - children.add(new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature)); - children.add(new Property("interaction", "", "Identifies a restful operation supported by the solution.", 0, java.lang.Integer.MAX_VALUE, interaction)); - children.add(new Property("searchParam", "", "Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.", 0, java.lang.Integer.MAX_VALUE, searchParam)); - children.add(new Property("operation", "", "Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters.", 0, java.lang.Integer.MAX_VALUE, operation)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3575610: /*type*/ return new Property("type", "code", "A type of resource exposed via the restful interface.", 0, 1, type); - case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "A specification of the profile that describes the solution's overall support for the resource, including any constraints on cardinality, bindings, lengths or other limitations. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, 1, profile); - case 1225477403: /*supportedProfile*/ return new Property("supportedProfile", "canonical(StructureDefinition)", "A list of profiles that represent different use cases supported by the system. For a server, \"supported by the system\" means the system hosts/produces a set of resources that are conformant to a particular profile, and allows clients that use its services to search using this profile and to find appropriate data. For a client, it means the system will search by this profile and process data according to the guidance implicit in the profile. See further discussion in [Using Profiles](profiling.html#profile-uses).", 0, java.lang.Integer.MAX_VALUE, supportedProfile); - case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Additional information about the resource type used by the system.", 0, 1, documentation); - case -979207434: /*feature*/ return new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature); - case 1844104722: /*interaction*/ return new Property("interaction", "", "Identifies a restful operation supported by the solution.", 0, java.lang.Integer.MAX_VALUE, interaction); - case -553645115: /*searchParam*/ return new Property("searchParam", "", "Search parameters for implementations to support and/or make use of - either references to ones defined in the specification, or additional ones defined for/by the implementation.", 0, java.lang.Integer.MAX_VALUE, searchParam); - case 1662702951: /*operation*/ return new Property("operation", "", "Definition of an operation or a named query together with its parameters and their meaning and type. Consult the definition of the operation for details about how to invoke the operation, and the parameters.", 0, java.lang.Integer.MAX_VALUE, operation); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType - case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType - case 1225477403: /*supportedProfile*/ return this.supportedProfile == null ? new Base[0] : this.supportedProfile.toArray(new Base[this.supportedProfile.size()]); // CanonicalType - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType - case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // CapabilityStatement2RestFeatureComponent - case 1844104722: /*interaction*/ return this.interaction == null ? new Base[0] : this.interaction.toArray(new Base[this.interaction.size()]); // ResourceInteractionComponent - case -553645115: /*searchParam*/ return this.searchParam == null ? new Base[0] : this.searchParam.toArray(new Base[this.searchParam.size()]); // CapabilityStatement2RestResourceSearchParamComponent - case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : this.operation.toArray(new Base[this.operation.size()]); // CapabilityStatement2RestResourceOperationComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3575610: // type - this.type = TypeConvertor.castToCode(value); // CodeType - return value; - case -309425751: // profile - this.profile = TypeConvertor.castToCanonical(value); // CanonicalType - return value; - case 1225477403: // supportedProfile - this.getSupportedProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case 1587405498: // documentation - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -979207434: // feature - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); // CapabilityStatement2RestFeatureComponent - return value; - case 1844104722: // interaction - this.getInteraction().add((ResourceInteractionComponent) value); // ResourceInteractionComponent - return value; - case -553645115: // searchParam - this.getSearchParam().add((CapabilityStatement2RestResourceSearchParamComponent) value); // CapabilityStatement2RestResourceSearchParamComponent - return value; - case 1662702951: // operation - this.getOperation().add((CapabilityStatement2RestResourceOperationComponent) value); // CapabilityStatement2RestResourceOperationComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("type")) { - this.type = TypeConvertor.castToCode(value); // CodeType - } else if (name.equals("profile")) { - this.profile = TypeConvertor.castToCanonical(value); // CanonicalType - } else if (name.equals("supportedProfile")) { - this.getSupportedProfile().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("feature")) { - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); - } else if (name.equals("interaction")) { - this.getInteraction().add((ResourceInteractionComponent) value); - } else if (name.equals("searchParam")) { - this.getSearchParam().add((CapabilityStatement2RestResourceSearchParamComponent) value); - } else if (name.equals("operation")) { - this.getOperation().add((CapabilityStatement2RestResourceOperationComponent) value); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: return getTypeElement(); - case -309425751: return getProfileElement(); - case 1225477403: return addSupportedProfileElement(); - case 1587405498: return getDocumentationElement(); - case -979207434: return addFeature(); - case 1844104722: return addInteraction(); - case -553645115: return addSearchParam(); - case 1662702951: return addOperation(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return new String[] {"code"}; - case -309425751: /*profile*/ return new String[] {"canonical"}; - case 1225477403: /*supportedProfile*/ return new String[] {"canonical"}; - case 1587405498: /*documentation*/ return new String[] {"markdown"}; - case -979207434: /*feature*/ return new String[] {"@CapabilityStatement2.rest.feature"}; - case 1844104722: /*interaction*/ return new String[] {}; - case -553645115: /*searchParam*/ return new String[] {}; - case 1662702951: /*operation*/ return new String[] {}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("type")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.type"); - } - else if (name.equals("profile")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.profile"); - } - else if (name.equals("supportedProfile")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.supportedProfile"); - } - else if (name.equals("documentation")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.documentation"); - } - else if (name.equals("feature")) { - return addFeature(); - } - else if (name.equals("interaction")) { - return addInteraction(); - } - else if (name.equals("searchParam")) { - return addSearchParam(); - } - else if (name.equals("operation")) { - return addOperation(); - } - else - return super.addChild(name); - } - - public CapabilityStatement2RestResourceComponent copy() { - CapabilityStatement2RestResourceComponent dst = new CapabilityStatement2RestResourceComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2RestResourceComponent dst) { - super.copyValues(dst); - dst.type = type == null ? null : type.copy(); - dst.profile = profile == null ? null : profile.copy(); - if (supportedProfile != null) { - dst.supportedProfile = new ArrayList(); - for (CanonicalType i : supportedProfile) - dst.supportedProfile.add(i.copy()); - }; - dst.documentation = documentation == null ? null : documentation.copy(); - if (feature != null) { - dst.feature = new ArrayList(); - for (CapabilityStatement2RestFeatureComponent i : feature) - dst.feature.add(i.copy()); - }; - if (interaction != null) { - dst.interaction = new ArrayList(); - for (ResourceInteractionComponent i : interaction) - dst.interaction.add(i.copy()); - }; - if (searchParam != null) { - dst.searchParam = new ArrayList(); - for (CapabilityStatement2RestResourceSearchParamComponent i : searchParam) - dst.searchParam.add(i.copy()); - }; - if (operation != null) { - dst.operation = new ArrayList(); - for (CapabilityStatement2RestResourceOperationComponent i : operation) - dst.operation.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestResourceComponent)) - return false; - CapabilityStatement2RestResourceComponent o = (CapabilityStatement2RestResourceComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(profile, o.profile, true) && compareDeep(supportedProfile, o.supportedProfile, true) - && compareDeep(documentation, o.documentation, true) && compareDeep(feature, o.feature, true) && compareDeep(interaction, o.interaction, true) - && compareDeep(searchParam, o.searchParam, true) && compareDeep(operation, o.operation, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestResourceComponent)) - return false; - CapabilityStatement2RestResourceComponent o = (CapabilityStatement2RestResourceComponent) other_; - return compareValues(type, o.type, true) && compareValues(profile, o.profile, true) && compareValues(supportedProfile, o.supportedProfile, true) - && compareValues(documentation, o.documentation, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, profile, supportedProfile - , documentation, feature, interaction, searchParam, operation); - } - - public String fhirType() { - return "CapabilityStatement2.rest.resource"; - - } - - } - - @Block() - public static class ResourceInteractionComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Coded identifier of the operation, supported by the system resource. - */ - @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="read | vread | update | patch | delete | history-instance | history-type | create | search-type", formalDefinition="Coded identifier of the operation, supported by the system resource." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/type-restful-interaction") - protected Enumeration code; - - /** - * Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. - */ - @Child(name = "documentation", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Anything special about operation behavior", formalDefinition="Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'." ) - protected MarkdownType documentation; - - /** - * A statement that affirms support for a feature, in this context. - */ - @Child(name = "feature", type = {CapabilityStatement2RestFeatureComponent.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Statement of support for a feature in this context", formalDefinition="A statement that affirms support for a feature, in this context." ) - protected List feature; - - private static final long serialVersionUID = -543206334L; - - /** - * Constructor - */ - public ResourceInteractionComponent() { - super(); - } - - /** - * Constructor - */ - public ResourceInteractionComponent(TypeRestfulInteraction code) { - super(); - this.setCode(code); - } - - /** - * @return {@link #code} (Coded identifier of the operation, supported by the system resource.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value - */ - public Enumeration getCodeElement() { - if (this.code == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResourceInteractionComponent.code"); - else if (Configuration.doAutoCreate()) - this.code = new Enumeration(new TypeRestfulInteractionEnumFactory()); // bb - return this.code; - } - - public boolean hasCodeElement() { - return this.code != null && !this.code.isEmpty(); - } - - public boolean hasCode() { - return this.code != null && !this.code.isEmpty(); - } - - /** - * @param value {@link #code} (Coded identifier of the operation, supported by the system resource.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value - */ - public ResourceInteractionComponent setCodeElement(Enumeration value) { - this.code = value; - return this; - } - - /** - * @return Coded identifier of the operation, supported by the system resource. - */ - public TypeRestfulInteraction getCode() { - return this.code == null ? null : this.code.getValue(); - } - - /** - * @param value Coded identifier of the operation, supported by the system resource. - */ - public ResourceInteractionComponent setCode(TypeRestfulInteraction value) { - if (this.code == null) - this.code = new Enumeration(new TypeRestfulInteractionEnumFactory()); - this.code.setValue(value); - return this; - } - - /** - * @return {@link #documentation} (Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public MarkdownType getDocumentationElement() { - if (this.documentation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResourceInteractionComponent.documentation"); - else if (Configuration.doAutoCreate()) - this.documentation = new MarkdownType(); // bb - return this.documentation; - } - - public boolean hasDocumentationElement() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - public boolean hasDocumentation() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - /** - * @param value {@link #documentation} (Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public ResourceInteractionComponent setDocumentationElement(MarkdownType value) { - this.documentation = value; - return this; - } - - /** - * @return Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. - */ - public String getDocumentation() { - return this.documentation == null ? null : this.documentation.getValue(); - } - - /** - * @param value Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'. - */ - public ResourceInteractionComponent setDocumentation(String value) { - if (value == null) - this.documentation = null; - else { - if (this.documentation == null) - this.documentation = new MarkdownType(); - this.documentation.setValue(value); - } - return this; - } - - /** - * @return {@link #feature} (A statement that affirms support for a feature, in this context.) - */ - public List getFeature() { - if (this.feature == null) - this.feature = new ArrayList(); - return this.feature; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ResourceInteractionComponent setFeature(List theFeature) { - this.feature = theFeature; - return this; - } - - public boolean hasFeature() { - if (this.feature == null) - return false; - for (CapabilityStatement2RestFeatureComponent item : this.feature) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestFeatureComponent addFeature() { //3 - CapabilityStatement2RestFeatureComponent t = new CapabilityStatement2RestFeatureComponent(); - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return t; - } - - public ResourceInteractionComponent addFeature(CapabilityStatement2RestFeatureComponent t) { //3 - if (t == null) - return this; - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #feature}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestFeatureComponent getFeatureFirstRep() { - if (getFeature().isEmpty()) { - addFeature(); - } - return getFeature().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("code", "code", "Coded identifier of the operation, supported by the system resource.", 0, 1, code)); - children.add(new Property("documentation", "markdown", "Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'.", 0, 1, documentation)); - children.add(new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3059181: /*code*/ return new Property("code", "code", "Coded identifier of the operation, supported by the system resource.", 0, 1, code); - case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Guidance specific to the implementation of this operation, such as 'delete is a logical delete' or 'updates are only allowed with version id' or 'creates permitted from pre-authorized certificates only'.", 0, 1, documentation); - case -979207434: /*feature*/ return new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType - case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // CapabilityStatement2RestFeatureComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3059181: // code - value = new TypeRestfulInteractionEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.code = (Enumeration) value; // Enumeration - return value; - case 1587405498: // documentation - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -979207434: // feature - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); // CapabilityStatement2RestFeatureComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("code")) { - value = new TypeRestfulInteractionEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.code = (Enumeration) value; // Enumeration - } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("feature")) { - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3059181: return getCodeElement(); - case 1587405498: return getDocumentationElement(); - case -979207434: return addFeature(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3059181: /*code*/ return new String[] {"code"}; - case 1587405498: /*documentation*/ return new String[] {"markdown"}; - case -979207434: /*feature*/ return new String[] {"@CapabilityStatement2.rest.feature"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("code")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.interaction.code"); - } - else if (name.equals("documentation")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.interaction.documentation"); - } - else if (name.equals("feature")) { - return addFeature(); - } - else - return super.addChild(name); - } - - public ResourceInteractionComponent copy() { - ResourceInteractionComponent dst = new ResourceInteractionComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(ResourceInteractionComponent dst) { - super.copyValues(dst); - dst.code = code == null ? null : code.copy(); - dst.documentation = documentation == null ? null : documentation.copy(); - if (feature != null) { - dst.feature = new ArrayList(); - for (CapabilityStatement2RestFeatureComponent i : feature) - dst.feature.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof ResourceInteractionComponent)) - return false; - ResourceInteractionComponent o = (ResourceInteractionComponent) other_; - return compareDeep(code, o.code, true) && compareDeep(documentation, o.documentation, true) && compareDeep(feature, o.feature, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof ResourceInteractionComponent)) - return false; - ResourceInteractionComponent o = (ResourceInteractionComponent) other_; - return compareValues(code, o.code, true) && compareValues(documentation, o.documentation, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, documentation, feature - ); - } - - public String fhirType() { - return "CapabilityStatement2.rest.resource.interaction"; - - } - - } - - @Block() - public static class CapabilityStatement2RestResourceSearchParamComponent extends BackboneElement implements IBaseBackboneElement { - /** - * The name of the search parameter used in the interface. - */ - @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Name of search parameter", formalDefinition="The name of the search parameter used in the interface." ) - protected StringType name; - - /** - * An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. - */ - @Child(name = "definition", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Source of definition for parameter", formalDefinition="An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs." ) - protected CanonicalType definition; - - /** - * The type of value a search parameter refers to, and how the content is interpreted. - */ - @Child(name = "type", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="number | date | string | token | reference | composite | quantity | uri | special", formalDefinition="The type of value a search parameter refers to, and how the content is interpreted." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-param-type") - protected Enumeration type; - - /** - * This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. - */ - @Child(name = "documentation", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Server-specific usage", formalDefinition="This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms." ) - protected MarkdownType documentation; - - /** - * A statement that affirms support for a feature, in this context. - */ - @Child(name = "feature", type = {CapabilityStatement2RestFeatureComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Statement of support for a feature in this context", formalDefinition="A statement that affirms support for a feature, in this context." ) - protected List feature; - - private static final long serialVersionUID = -300448290L; - - /** - * Constructor - */ - public CapabilityStatement2RestResourceSearchParamComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2RestResourceSearchParamComponent(String name, SearchParamType type) { - super(); - this.setName(name); - this.setType(type); - } - - /** - * @return {@link #name} (The name of the search parameter used in the interface.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public StringType getNameElement() { - if (this.name == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceSearchParamComponent.name"); - else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; - } - - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); - } - - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); - } - - /** - * @param value {@link #name} (The name of the search parameter used in the interface.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public CapabilityStatement2RestResourceSearchParamComponent setNameElement(StringType value) { - this.name = value; - return this; - } - - /** - * @return The name of the search parameter used in the interface. - */ - public String getName() { - return this.name == null ? null : this.name.getValue(); - } - - /** - * @param value The name of the search parameter used in the interface. - */ - public CapabilityStatement2RestResourceSearchParamComponent setName(String value) { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); - return this; - } - - /** - * @return {@link #definition} (An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value - */ - public CanonicalType getDefinitionElement() { - if (this.definition == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceSearchParamComponent.definition"); - else if (Configuration.doAutoCreate()) - this.definition = new CanonicalType(); // bb - return this.definition; - } - - public boolean hasDefinitionElement() { - return this.definition != null && !this.definition.isEmpty(); - } - - public boolean hasDefinition() { - return this.definition != null && !this.definition.isEmpty(); - } - - /** - * @param value {@link #definition} (An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value - */ - public CapabilityStatement2RestResourceSearchParamComponent setDefinitionElement(CanonicalType value) { - this.definition = value; - return this; - } - - /** - * @return An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. - */ - public String getDefinition() { - return this.definition == null ? null : this.definition.getValue(); - } - - /** - * @param value An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs. - */ - public CapabilityStatement2RestResourceSearchParamComponent setDefinition(String value) { - if (Utilities.noString(value)) - this.definition = null; - else { - if (this.definition == null) - this.definition = new CanonicalType(); - this.definition.setValue(value); - } - return this; - } - - /** - * @return {@link #type} (The type of value a search parameter refers to, and how the content is interpreted.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public Enumeration getTypeElement() { - if (this.type == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceSearchParamComponent.type"); - else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new SearchParamTypeEnumFactory()); // bb - return this.type; - } - - public boolean hasTypeElement() { - return this.type != null && !this.type.isEmpty(); - } - - public boolean hasType() { - return this.type != null && !this.type.isEmpty(); - } - - /** - * @param value {@link #type} (The type of value a search parameter refers to, and how the content is interpreted.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public CapabilityStatement2RestResourceSearchParamComponent setTypeElement(Enumeration value) { - this.type = value; - return this; - } - - /** - * @return The type of value a search parameter refers to, and how the content is interpreted. - */ - public SearchParamType getType() { - return this.type == null ? null : this.type.getValue(); - } - - /** - * @param value The type of value a search parameter refers to, and how the content is interpreted. - */ - public CapabilityStatement2RestResourceSearchParamComponent setType(SearchParamType value) { - if (this.type == null) - this.type = new Enumeration(new SearchParamTypeEnumFactory()); - this.type.setValue(value); - return this; - } - - /** - * @return {@link #documentation} (This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public MarkdownType getDocumentationElement() { - if (this.documentation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceSearchParamComponent.documentation"); - else if (Configuration.doAutoCreate()) - this.documentation = new MarkdownType(); // bb - return this.documentation; - } - - public boolean hasDocumentationElement() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - public boolean hasDocumentation() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - /** - * @param value {@link #documentation} (This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public CapabilityStatement2RestResourceSearchParamComponent setDocumentationElement(MarkdownType value) { - this.documentation = value; - return this; - } - - /** - * @return This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. - */ - public String getDocumentation() { - return this.documentation == null ? null : this.documentation.getValue(); - } - - /** - * @param value This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms. - */ - public CapabilityStatement2RestResourceSearchParamComponent setDocumentation(String value) { - if (value == null) - this.documentation = null; - else { - if (this.documentation == null) - this.documentation = new MarkdownType(); - this.documentation.setValue(value); - } - return this; - } - - /** - * @return {@link #feature} (A statement that affirms support for a feature, in this context.) - */ - public List getFeature() { - if (this.feature == null) - this.feature = new ArrayList(); - return this.feature; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceSearchParamComponent setFeature(List theFeature) { - this.feature = theFeature; - return this; - } - - public boolean hasFeature() { - if (this.feature == null) - return false; - for (CapabilityStatement2RestFeatureComponent item : this.feature) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestFeatureComponent addFeature() { //3 - CapabilityStatement2RestFeatureComponent t = new CapabilityStatement2RestFeatureComponent(); - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return t; - } - - public CapabilityStatement2RestResourceSearchParamComponent addFeature(CapabilityStatement2RestFeatureComponent t) { //3 - if (t == null) - return this; - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #feature}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestFeatureComponent getFeatureFirstRep() { - if (getFeature().isEmpty()) { - addFeature(); - } - return getFeature().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("name", "string", "The name of the search parameter used in the interface.", 0, 1, name)); - children.add(new Property("definition", "canonical(SearchParameter)", "An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.", 0, 1, definition)); - children.add(new Property("type", "code", "The type of value a search parameter refers to, and how the content is interpreted.", 0, 1, type)); - children.add(new Property("documentation", "markdown", "This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms.", 0, 1, documentation)); - children.add(new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3373707: /*name*/ return new Property("name", "string", "The name of the search parameter used in the interface.", 0, 1, name); - case -1014418093: /*definition*/ return new Property("definition", "canonical(SearchParameter)", "An absolute URI that is a formal reference to where this parameter was first defined, so that a client can be confident of the meaning of the search parameter (a reference to [SearchParameter.url](searchparameter-definitions.html#SearchParameter.url)). This element SHALL be populated if the search parameter refers to a SearchParameter defined by the FHIR core specification or externally defined IGs.", 0, 1, definition); - case 3575610: /*type*/ return new Property("type", "code", "The type of value a search parameter refers to, and how the content is interpreted.", 0, 1, type); - case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "This allows documentation of any distinct behaviors about how the search parameter is used. For example, text matching algorithms.", 0, 1, documentation); - case -979207434: /*feature*/ return new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType - case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // CanonicalType - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType - case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // CapabilityStatement2RestFeatureComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType - return value; - case -1014418093: // definition - this.definition = TypeConvertor.castToCanonical(value); // CanonicalType - return value; - case 3575610: // type - value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration - return value; - case 1587405498: // documentation - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -979207434: // feature - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); // CapabilityStatement2RestFeatureComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType - } else if (name.equals("definition")) { - this.definition = TypeConvertor.castToCanonical(value); // CanonicalType - } else if (name.equals("type")) { - value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration - } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("feature")) { - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3373707: return getNameElement(); - case -1014418093: return getDefinitionElement(); - case 3575610: return getTypeElement(); - case 1587405498: return getDocumentationElement(); - case -979207434: return addFeature(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3373707: /*name*/ return new String[] {"string"}; - case -1014418093: /*definition*/ return new String[] {"canonical"}; - case 3575610: /*type*/ return new String[] {"code"}; - case 1587405498: /*documentation*/ return new String[] {"markdown"}; - case -979207434: /*feature*/ return new String[] {"@CapabilityStatement2.rest.feature"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.searchParam.name"); - } - else if (name.equals("definition")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.searchParam.definition"); - } - else if (name.equals("type")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.searchParam.type"); - } - else if (name.equals("documentation")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.searchParam.documentation"); - } - else if (name.equals("feature")) { - return addFeature(); - } - else - return super.addChild(name); - } - - public CapabilityStatement2RestResourceSearchParamComponent copy() { - CapabilityStatement2RestResourceSearchParamComponent dst = new CapabilityStatement2RestResourceSearchParamComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2RestResourceSearchParamComponent dst) { - super.copyValues(dst); - dst.name = name == null ? null : name.copy(); - dst.definition = definition == null ? null : definition.copy(); - dst.type = type == null ? null : type.copy(); - dst.documentation = documentation == null ? null : documentation.copy(); - if (feature != null) { - dst.feature = new ArrayList(); - for (CapabilityStatement2RestFeatureComponent i : feature) - dst.feature.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestResourceSearchParamComponent)) - return false; - CapabilityStatement2RestResourceSearchParamComponent o = (CapabilityStatement2RestResourceSearchParamComponent) other_; - return compareDeep(name, o.name, true) && compareDeep(definition, o.definition, true) && compareDeep(type, o.type, true) - && compareDeep(documentation, o.documentation, true) && compareDeep(feature, o.feature, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestResourceSearchParamComponent)) - return false; - CapabilityStatement2RestResourceSearchParamComponent o = (CapabilityStatement2RestResourceSearchParamComponent) other_; - return compareValues(name, o.name, true) && compareValues(definition, o.definition, true) && compareValues(type, o.type, true) - && compareValues(documentation, o.documentation, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, definition, type, documentation - , feature); - } - - public String fhirType() { - return "CapabilityStatement2.rest.resource.searchParam"; - - } - - } - - @Block() - public static class CapabilityStatement2RestResourceOperationComponent extends BackboneElement implements IBaseBackboneElement { - /** - * The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. - */ - @Child(name = "name", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name by which the operation/query is invoked", formalDefinition="The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called." ) - protected StringType name; - - /** - * Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported. - */ - @Child(name = "definition", type = {CanonicalType.class}, order=2, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="The defined operation/query", formalDefinition="Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported." ) - protected CanonicalType definition; - - /** - * Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. - */ - @Child(name = "documentation", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Specific details about operation behavior", formalDefinition="Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation." ) - protected MarkdownType documentation; - - /** - * A statement that affirms support for a feature, in this context. - */ - @Child(name = "feature", type = {CapabilityStatement2RestFeatureComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Statement of support for a feature in this context", formalDefinition="A statement that affirms support for a feature, in this context." ) - protected List feature; - - private static final long serialVersionUID = 1206974170L; - - /** - * Constructor - */ - public CapabilityStatement2RestResourceOperationComponent() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2RestResourceOperationComponent(String name, String definition) { - super(); - this.setName(name); - this.setDefinition(definition); - } - - /** - * @return {@link #name} (The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public StringType getNameElement() { - if (this.name == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceOperationComponent.name"); - else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; - } - - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); - } - - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); - } - - /** - * @param value {@link #name} (The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public CapabilityStatement2RestResourceOperationComponent setNameElement(StringType value) { - this.name = value; - return this; - } - - /** - * @return The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. - */ - public String getName() { - return this.name == null ? null : this.name.getValue(); - } - - /** - * @param value The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called. - */ - public CapabilityStatement2RestResourceOperationComponent setName(String value) { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); - return this; - } - - /** - * @return {@link #definition} (Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value - */ - public CanonicalType getDefinitionElement() { - if (this.definition == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceOperationComponent.definition"); - else if (Configuration.doAutoCreate()) - this.definition = new CanonicalType(); // bb - return this.definition; - } - - public boolean hasDefinitionElement() { - return this.definition != null && !this.definition.isEmpty(); - } - - public boolean hasDefinition() { - return this.definition != null && !this.definition.isEmpty(); - } - - /** - * @param value {@link #definition} (Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value - */ - public CapabilityStatement2RestResourceOperationComponent setDefinitionElement(CanonicalType value) { - this.definition = value; - return this; - } - - /** - * @return Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported. - */ - public String getDefinition() { - return this.definition == null ? null : this.definition.getValue(); - } - - /** - * @param value Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported. - */ - public CapabilityStatement2RestResourceOperationComponent setDefinition(String value) { - if (this.definition == null) - this.definition = new CanonicalType(); - this.definition.setValue(value); - return this; - } - - /** - * @return {@link #documentation} (Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public MarkdownType getDocumentationElement() { - if (this.documentation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2RestResourceOperationComponent.documentation"); - else if (Configuration.doAutoCreate()) - this.documentation = new MarkdownType(); // bb - return this.documentation; - } - - public boolean hasDocumentationElement() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - public boolean hasDocumentation() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - /** - * @param value {@link #documentation} (Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public CapabilityStatement2RestResourceOperationComponent setDocumentationElement(MarkdownType value) { - this.documentation = value; - return this; - } - - /** - * @return Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. - */ - public String getDocumentation() { - return this.documentation == null ? null : this.documentation.getValue(); - } - - /** - * @param value Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation. - */ - public CapabilityStatement2RestResourceOperationComponent setDocumentation(String value) { - if (value == null) - this.documentation = null; - else { - if (this.documentation == null) - this.documentation = new MarkdownType(); - this.documentation.setValue(value); - } - return this; - } - - /** - * @return {@link #feature} (A statement that affirms support for a feature, in this context.) - */ - public List getFeature() { - if (this.feature == null) - this.feature = new ArrayList(); - return this.feature; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2RestResourceOperationComponent setFeature(List theFeature) { - this.feature = theFeature; - return this; - } - - public boolean hasFeature() { - if (this.feature == null) - return false; - for (CapabilityStatement2RestFeatureComponent item : this.feature) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestFeatureComponent addFeature() { //3 - CapabilityStatement2RestFeatureComponent t = new CapabilityStatement2RestFeatureComponent(); - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return t; - } - - public CapabilityStatement2RestResourceOperationComponent addFeature(CapabilityStatement2RestFeatureComponent t) { //3 - if (t == null) - return this; - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #feature}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestFeatureComponent getFeatureFirstRep() { - if (getFeature().isEmpty()) { - addFeature(); - } - return getFeature().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("name", "string", "The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.", 0, 1, name)); - children.add(new Property("definition", "canonical(OperationDefinition)", "Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported.", 0, 1, definition)); - children.add(new Property("documentation", "markdown", "Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.", 0, 1, documentation)); - children.add(new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3373707: /*name*/ return new Property("name", "string", "The name of the operation or query. For an operation, this is the name prefixed with $ and used in the URL. For a query, this is the name used in the _query parameter when the query is called.", 0, 1, name); - case -1014418093: /*definition*/ return new Property("definition", "canonical(OperationDefinition)", "Where the formal definition can be found. If a server references the base definition of an Operation (i.e. from the specification itself such as ```http://hl7.org/fhir/OperationDefinition/ValueSet-expand```), that means it supports the full capabilities of the operation - e.g. both GET and POST invocation. If it only supports a subset, it must define its own custom [OperationDefinition](operationdefinition.html#) with a 'base' of the original OperationDefinition. The custom definition would describe the specific subset of functionality supported.", 0, 1, definition); - case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Documentation that describes anything special about the operation behavior, possibly detailing different behavior for system, type and instance-level invocation of the operation.", 0, 1, documentation); - case -979207434: /*feature*/ return new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType - case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // CanonicalType - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType - case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // CapabilityStatement2RestFeatureComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType - return value; - case -1014418093: // definition - this.definition = TypeConvertor.castToCanonical(value); // CanonicalType - return value; - case 1587405498: // documentation - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -979207434: // feature - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); // CapabilityStatement2RestFeatureComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType - } else if (name.equals("definition")) { - this.definition = TypeConvertor.castToCanonical(value); // CanonicalType - } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("feature")) { - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3373707: return getNameElement(); - case -1014418093: return getDefinitionElement(); - case 1587405498: return getDocumentationElement(); - case -979207434: return addFeature(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3373707: /*name*/ return new String[] {"string"}; - case -1014418093: /*definition*/ return new String[] {"canonical"}; - case 1587405498: /*documentation*/ return new String[] {"markdown"}; - case -979207434: /*feature*/ return new String[] {"@CapabilityStatement2.rest.feature"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.operation.name"); - } - else if (name.equals("definition")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.operation.definition"); - } - else if (name.equals("documentation")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.resource.operation.documentation"); - } - else if (name.equals("feature")) { - return addFeature(); - } - else - return super.addChild(name); - } - - public CapabilityStatement2RestResourceOperationComponent copy() { - CapabilityStatement2RestResourceOperationComponent dst = new CapabilityStatement2RestResourceOperationComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2RestResourceOperationComponent dst) { - super.copyValues(dst); - dst.name = name == null ? null : name.copy(); - dst.definition = definition == null ? null : definition.copy(); - dst.documentation = documentation == null ? null : documentation.copy(); - if (feature != null) { - dst.feature = new ArrayList(); - for (CapabilityStatement2RestFeatureComponent i : feature) - dst.feature.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestResourceOperationComponent)) - return false; - CapabilityStatement2RestResourceOperationComponent o = (CapabilityStatement2RestResourceOperationComponent) other_; - return compareDeep(name, o.name, true) && compareDeep(definition, o.definition, true) && compareDeep(documentation, o.documentation, true) - && compareDeep(feature, o.feature, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2RestResourceOperationComponent)) - return false; - CapabilityStatement2RestResourceOperationComponent o = (CapabilityStatement2RestResourceOperationComponent) other_; - return compareValues(name, o.name, true) && compareValues(definition, o.definition, true) && compareValues(documentation, o.documentation, true) - ; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, definition, documentation - , feature); - } - - public String fhirType() { - return "CapabilityStatement2.rest.resource.operation"; - - } - - } - - @Block() - public static class SystemInteractionComponent extends BackboneElement implements IBaseBackboneElement { - /** - * A coded identifier of the operation, supported by the system. - */ - @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="transaction | batch | search-system | history-system", formalDefinition="A coded identifier of the operation, supported by the system." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/system-restful-interaction") - protected Enumeration code; - - /** - * Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. - */ - @Child(name = "documentation", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Anything special about operation behavior", formalDefinition="Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented." ) - protected MarkdownType documentation; - - /** - * A statement that affirms support for a feature, in this context. - */ - @Child(name = "feature", type = {CapabilityStatement2RestFeatureComponent.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Statement of support for a feature in this context", formalDefinition="A statement that affirms support for a feature, in this context." ) - protected List feature; - - private static final long serialVersionUID = 353704493L; - - /** - * Constructor - */ - public SystemInteractionComponent() { - super(); - } - - /** - * Constructor - */ - public SystemInteractionComponent(SystemRestfulInteraction code) { - super(); - this.setCode(code); - } - - /** - * @return {@link #code} (A coded identifier of the operation, supported by the system.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value - */ - public Enumeration getCodeElement() { - if (this.code == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SystemInteractionComponent.code"); - else if (Configuration.doAutoCreate()) - this.code = new Enumeration(new SystemRestfulInteractionEnumFactory()); // bb - return this.code; - } - - public boolean hasCodeElement() { - return this.code != null && !this.code.isEmpty(); - } - - public boolean hasCode() { - return this.code != null && !this.code.isEmpty(); - } - - /** - * @param value {@link #code} (A coded identifier of the operation, supported by the system.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value - */ - public SystemInteractionComponent setCodeElement(Enumeration value) { - this.code = value; - return this; - } - - /** - * @return A coded identifier of the operation, supported by the system. - */ - public SystemRestfulInteraction getCode() { - return this.code == null ? null : this.code.getValue(); - } - - /** - * @param value A coded identifier of the operation, supported by the system. - */ - public SystemInteractionComponent setCode(SystemRestfulInteraction value) { - if (this.code == null) - this.code = new Enumeration(new SystemRestfulInteractionEnumFactory()); - this.code.setValue(value); - return this; - } - - /** - * @return {@link #documentation} (Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public MarkdownType getDocumentationElement() { - if (this.documentation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SystemInteractionComponent.documentation"); - else if (Configuration.doAutoCreate()) - this.documentation = new MarkdownType(); // bb - return this.documentation; - } - - public boolean hasDocumentationElement() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - public boolean hasDocumentation() { - return this.documentation != null && !this.documentation.isEmpty(); - } - - /** - * @param value {@link #documentation} (Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value - */ - public SystemInteractionComponent setDocumentationElement(MarkdownType value) { - this.documentation = value; - return this; - } - - /** - * @return Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. - */ - public String getDocumentation() { - return this.documentation == null ? null : this.documentation.getValue(); - } - - /** - * @param value Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented. - */ - public SystemInteractionComponent setDocumentation(String value) { - if (value == null) - this.documentation = null; - else { - if (this.documentation == null) - this.documentation = new MarkdownType(); - this.documentation.setValue(value); - } - return this; - } - - /** - * @return {@link #feature} (A statement that affirms support for a feature, in this context.) - */ - public List getFeature() { - if (this.feature == null) - this.feature = new ArrayList(); - return this.feature; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public SystemInteractionComponent setFeature(List theFeature) { - this.feature = theFeature; - return this; - } - - public boolean hasFeature() { - if (this.feature == null) - return false; - for (CapabilityStatement2RestFeatureComponent item : this.feature) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestFeatureComponent addFeature() { //3 - CapabilityStatement2RestFeatureComponent t = new CapabilityStatement2RestFeatureComponent(); - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return t; - } - - public SystemInteractionComponent addFeature(CapabilityStatement2RestFeatureComponent t) { //3 - if (t == null) - return this; - if (this.feature == null) - this.feature = new ArrayList(); - this.feature.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #feature}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestFeatureComponent getFeatureFirstRep() { - if (getFeature().isEmpty()) { - addFeature(); - } - return getFeature().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("code", "code", "A coded identifier of the operation, supported by the system.", 0, 1, code)); - children.add(new Property("documentation", "markdown", "Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented.", 0, 1, documentation)); - children.add(new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3059181: /*code*/ return new Property("code", "code", "A coded identifier of the operation, supported by the system.", 0, 1, code); - case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Guidance specific to the implementation of this operation, such as limitations on the kind of transactions allowed, or information about system wide search is implemented.", 0, 1, documentation); - case -979207434: /*feature*/ return new Property("feature", "@CapabilityStatement2.rest.feature", "A statement that affirms support for a feature, in this context.", 0, java.lang.Integer.MAX_VALUE, feature); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Enumeration - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType - case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // CapabilityStatement2RestFeatureComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3059181: // code - value = new SystemRestfulInteractionEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.code = (Enumeration) value; // Enumeration - return value; - case 1587405498: // documentation - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -979207434: // feature - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); // CapabilityStatement2RestFeatureComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("code")) { - value = new SystemRestfulInteractionEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.code = (Enumeration) value; // Enumeration - } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("feature")) { - this.getFeature().add((CapabilityStatement2RestFeatureComponent) value); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3059181: return getCodeElement(); - case 1587405498: return getDocumentationElement(); - case -979207434: return addFeature(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3059181: /*code*/ return new String[] {"code"}; - case 1587405498: /*documentation*/ return new String[] {"markdown"}; - case -979207434: /*feature*/ return new String[] {"@CapabilityStatement2.rest.feature"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("code")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.interaction.code"); - } - else if (name.equals("documentation")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.rest.interaction.documentation"); - } - else if (name.equals("feature")) { - return addFeature(); - } - else - return super.addChild(name); - } - - public SystemInteractionComponent copy() { - SystemInteractionComponent dst = new SystemInteractionComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(SystemInteractionComponent dst) { - super.copyValues(dst); - dst.code = code == null ? null : code.copy(); - dst.documentation = documentation == null ? null : documentation.copy(); - if (feature != null) { - dst.feature = new ArrayList(); - for (CapabilityStatement2RestFeatureComponent i : feature) - dst.feature.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof SystemInteractionComponent)) - return false; - SystemInteractionComponent o = (SystemInteractionComponent) other_; - return compareDeep(code, o.code, true) && compareDeep(documentation, o.documentation, true) && compareDeep(feature, o.feature, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof SystemInteractionComponent)) - return false; - SystemInteractionComponent o = (SystemInteractionComponent) other_; - return compareValues(code, o.code, true) && compareValues(documentation, o.documentation, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, documentation, feature - ); - } - - public String fhirType() { - return "CapabilityStatement2.rest.interaction"; - - } - - } - - /** - * An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers. - */ - @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this capability statement2, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers." ) - protected UriType url; - - /** - * The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. - */ - @Child(name = "version", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Business version of the capability statement2", formalDefinition="The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) - protected StringType version; - - /** - * A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation. - */ - @Child(name = "name", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name for this capability statement2 (computer friendly)", formalDefinition="A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) - protected StringType name; - - /** - * A short, descriptive, user-friendly title for the capability statement2. - */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name for this capability statement2 (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the capability statement2." ) - protected StringType title; - - /** - * The status of this capability statement2. Enables tracking the life-cycle of the content. - */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) - @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this capability statement2. Enables tracking the life-cycle of the content." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") - protected Enumeration status; - - /** - * A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. - */ - @Child(name = "experimental", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) - protected BooleanType experimental; - - /** - * The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes. - */ - @Child(name = "date", type = {DateTimeType.class}, order=6, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes." ) - protected DateTimeType date; - - /** - * The name of the organization or individual that published the capability statement2. - */ - @Child(name = "publisher", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the capability statement2." ) - protected StringType publisher; - - /** - * Contact details to assist a user in finding and communicating with the publisher. - */ - @Child(name = "contact", type = {ContactDetail.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) - protected List contact; - - /** - * A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. - */ - @Child(name = "description", type = {MarkdownType.class}, order=9, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Natural language description of the capability statement2", formalDefinition="A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP." ) - protected MarkdownType description; - - /** - * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement2 instances. - */ - @Child(name = "useContext", type = {UsageContext.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement2 instances." ) - protected List useContext; - - /** - * A legal or geographic region in which the capability statement2 is intended to be used. - */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Intended jurisdiction for capability statement2 (if applicable)", formalDefinition="A legal or geographic region in which the capability statement2 is intended to be used." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") - protected List jurisdiction; - - /** - * Explanation of why this capability statement2 is needed and why it has been designed as it has. - */ - @Child(name = "purpose", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Why this capability statement2 is defined", formalDefinition="Explanation of why this capability statement2 is needed and why it has been designed as it has." ) - protected MarkdownType purpose; - - /** - * A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2. - */ - @Child(name = "copyright", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2." ) - protected MarkdownType copyright; - - /** - * The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). - */ - @Child(name = "kind", type = {CodeType.class}, order=14, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="instance | capability | requirements", formalDefinition="The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/capability-statement-kind") - protected Enumeration kind; - - /** - * Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details. - */ - @Child(name = "instantiates", type = {CanonicalType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Canonical URL of another capability statement this implements", formalDefinition="Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details." ) - protected List instantiates; - - /** - * Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them. - */ - @Child(name = "imports", type = {CanonicalType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Canonical URL of another capability statement this adds to", formalDefinition="Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them." ) - protected List imports; - - /** - * Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation. - */ - @Child(name = "software", type = {}, order=17, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Software that is covered by this capability statement", formalDefinition="Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation." ) - protected CapabilityStatement2SoftwareComponent software; - - /** - * Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program. - */ - @Child(name = "implementation", type = {}, order=18, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="If this describes a specific instance", formalDefinition="Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program." ) - protected CapabilityStatement2ImplementationComponent implementation; - - /** - * The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value. - */ - @Child(name = "fhirVersion", type = {CodeType.class}, order=19, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="FHIR Version the system supports", formalDefinition="The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version") - protected Enumeration fhirVersion; - - /** - * A list of the formats supported by this implementation using their content types. - */ - @Child(name = "format", type = {CodeType.class}, order=20, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="formats supported (xml | json | ttl | mime type)", formalDefinition="A list of the formats supported by this implementation using their content types." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") - protected List format; - - /** - * A list of the patch formats supported by this implementation using their content types. - */ - @Child(name = "patchFormat", type = {CodeType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Patch formats supported", formalDefinition="A list of the patch formats supported by this implementation using their content types." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") - protected List patchFormat; - - /** - * A list of implementation guides that the server does (or should) support in their entirety. - */ - @Child(name = "implementationGuide", type = {CanonicalType.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Implementation guides supported", formalDefinition="A list of implementation guides that the server does (or should) support in their entirety." ) - protected List implementationGuide; - - /** - * A definition of the restful capabilities of the solution, if any. - */ - @Child(name = "rest", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="If the endpoint is a RESTful one", formalDefinition="A definition of the restful capabilities of the solution, if any." ) - protected List rest; - - private static final long serialVersionUID = -242661375L; - - /** - * Constructor - */ - public CapabilityStatement2() { - super(); - } - - /** - * Constructor - */ - public CapabilityStatement2(PublicationStatus status, Date date, CapabilityStatementKind kind, FHIRVersion fhirVersion, String format) { - super(); - this.setStatus(status); - this.setDate(date); - this.setKind(kind); - this.setFhirVersion(fhirVersion); - this.addFormat(format); - } - - /** - * @return {@link #url} (An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value - */ - public UriType getUrlElement() { - if (this.url == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.url"); - else if (Configuration.doAutoCreate()) - this.url = new UriType(); // bb - return this.url; - } - - public boolean hasUrlElement() { - return this.url != null && !this.url.isEmpty(); - } - - public boolean hasUrl() { - return this.url != null && !this.url.isEmpty(); - } - - /** - * @param value {@link #url} (An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value - */ - public CapabilityStatement2 setUrlElement(UriType value) { - this.url = value; - return this; - } - - /** - * @return An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers. - */ - public String getUrl() { - return this.url == null ? null : this.url.getValue(); - } - - /** - * @param value An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers. - */ - public CapabilityStatement2 setUrl(String value) { - if (Utilities.noString(value)) - this.url = null; - else { - if (this.url == null) - this.url = new UriType(); - this.url.setValue(value); - } - return this; - } - - /** - * @return {@link #version} (The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value - */ - public StringType getVersionElement() { - if (this.version == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.version"); - else if (Configuration.doAutoCreate()) - this.version = new StringType(); // bb - return this.version; - } - - public boolean hasVersionElement() { - return this.version != null && !this.version.isEmpty(); - } - - public boolean hasVersion() { - return this.version != null && !this.version.isEmpty(); - } - - /** - * @param value {@link #version} (The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value - */ - public CapabilityStatement2 setVersionElement(StringType value) { - this.version = value; - return this; - } - - /** - * @return The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. - */ - public String getVersion() { - return this.version == null ? null : this.version.getValue(); - } - - /** - * @param value The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. - */ - public CapabilityStatement2 setVersion(String value) { - if (Utilities.noString(value)) - this.version = null; - else { - if (this.version == null) - this.version = new StringType(); - this.version.setValue(value); - } - return this; - } - - /** - * @return {@link #name} (A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public StringType getNameElement() { - if (this.name == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.name"); - else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; - } - - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); - } - - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); - } - - /** - * @param value {@link #name} (A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public CapabilityStatement2 setNameElement(StringType value) { - this.name = value; - return this; - } - - /** - * @return A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation. - */ - public String getName() { - return this.name == null ? null : this.name.getValue(); - } - - /** - * @param value A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation. - */ - public CapabilityStatement2 setName(String value) { - if (Utilities.noString(value)) - this.name = null; - else { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); - } - return this; - } - - /** - * @return {@link #title} (A short, descriptive, user-friendly title for the capability statement2.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public StringType getTitleElement() { - if (this.title == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.title"); - else if (Configuration.doAutoCreate()) - this.title = new StringType(); // bb - return this.title; - } - - public boolean hasTitleElement() { - return this.title != null && !this.title.isEmpty(); - } - - public boolean hasTitle() { - return this.title != null && !this.title.isEmpty(); - } - - /** - * @param value {@link #title} (A short, descriptive, user-friendly title for the capability statement2.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public CapabilityStatement2 setTitleElement(StringType value) { - this.title = value; - return this; - } - - /** - * @return A short, descriptive, user-friendly title for the capability statement2. - */ - public String getTitle() { - return this.title == null ? null : this.title.getValue(); - } - - /** - * @param value A short, descriptive, user-friendly title for the capability statement2. - */ - public CapabilityStatement2 setTitle(String value) { - if (Utilities.noString(value)) - this.title = null; - else { - if (this.title == null) - this.title = new StringType(); - this.title.setValue(value); - } - return this; - } - - /** - * @return {@link #status} (The status of this capability statement2. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value - */ - public Enumeration getStatusElement() { - if (this.status == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.status"); - else if (Configuration.doAutoCreate()) - this.status = new Enumeration(new PublicationStatusEnumFactory()); // bb - return this.status; - } - - public boolean hasStatusElement() { - return this.status != null && !this.status.isEmpty(); - } - - public boolean hasStatus() { - return this.status != null && !this.status.isEmpty(); - } - - /** - * @param value {@link #status} (The status of this capability statement2. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value - */ - public CapabilityStatement2 setStatusElement(Enumeration value) { - this.status = value; - return this; - } - - /** - * @return The status of this capability statement2. Enables tracking the life-cycle of the content. - */ - public PublicationStatus getStatus() { - return this.status == null ? null : this.status.getValue(); - } - - /** - * @param value The status of this capability statement2. Enables tracking the life-cycle of the content. - */ - public CapabilityStatement2 setStatus(PublicationStatus value) { - if (this.status == null) - this.status = new Enumeration(new PublicationStatusEnumFactory()); - this.status.setValue(value); - return this; - } - - /** - * @return {@link #experimental} (A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value - */ - public BooleanType getExperimentalElement() { - if (this.experimental == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.experimental"); - else if (Configuration.doAutoCreate()) - this.experimental = new BooleanType(); // bb - return this.experimental; - } - - public boolean hasExperimentalElement() { - return this.experimental != null && !this.experimental.isEmpty(); - } - - public boolean hasExperimental() { - return this.experimental != null && !this.experimental.isEmpty(); - } - - /** - * @param value {@link #experimental} (A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value - */ - public CapabilityStatement2 setExperimentalElement(BooleanType value) { - this.experimental = value; - return this; - } - - /** - * @return A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. - */ - public boolean getExperimental() { - return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); - } - - /** - * @param value A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. - */ - public CapabilityStatement2 setExperimental(boolean value) { - if (this.experimental == null) - this.experimental = new BooleanType(); - this.experimental.setValue(value); - return this; - } - - /** - * @return {@link #date} (The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value - */ - public DateTimeType getDateElement() { - if (this.date == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.date"); - else if (Configuration.doAutoCreate()) - this.date = new DateTimeType(); // bb - return this.date; - } - - public boolean hasDateElement() { - return this.date != null && !this.date.isEmpty(); - } - - public boolean hasDate() { - return this.date != null && !this.date.isEmpty(); - } - - /** - * @param value {@link #date} (The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value - */ - public CapabilityStatement2 setDateElement(DateTimeType value) { - this.date = value; - return this; - } - - /** - * @return The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes. - */ - public Date getDate() { - return this.date == null ? null : this.date.getValue(); - } - - /** - * @param value The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes. - */ - public CapabilityStatement2 setDate(Date value) { - if (this.date == null) - this.date = new DateTimeType(); - this.date.setValue(value); - return this; - } - - /** - * @return {@link #publisher} (The name of the organization or individual that published the capability statement2.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value - */ - public StringType getPublisherElement() { - if (this.publisher == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.publisher"); - else if (Configuration.doAutoCreate()) - this.publisher = new StringType(); // bb - return this.publisher; - } - - public boolean hasPublisherElement() { - return this.publisher != null && !this.publisher.isEmpty(); - } - - public boolean hasPublisher() { - return this.publisher != null && !this.publisher.isEmpty(); - } - - /** - * @param value {@link #publisher} (The name of the organization or individual that published the capability statement2.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value - */ - public CapabilityStatement2 setPublisherElement(StringType value) { - this.publisher = value; - return this; - } - - /** - * @return The name of the organization or individual that published the capability statement2. - */ - public String getPublisher() { - return this.publisher == null ? null : this.publisher.getValue(); - } - - /** - * @param value The name of the organization or individual that published the capability statement2. - */ - public CapabilityStatement2 setPublisher(String value) { - if (Utilities.noString(value)) - this.publisher = null; - else { - if (this.publisher == null) - this.publisher = new StringType(); - this.publisher.setValue(value); - } - return this; - } - - /** - * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) - */ - public List getContact() { - if (this.contact == null) - this.contact = new ArrayList(); - return this.contact; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setContact(List theContact) { - this.contact = theContact; - return this; - } - - public boolean hasContact() { - if (this.contact == null) - return false; - for (ContactDetail item : this.contact) - if (!item.isEmpty()) - return true; - return false; - } - - public ContactDetail addContact() { //3 - ContactDetail t = new ContactDetail(); - if (this.contact == null) - this.contact = new ArrayList(); - this.contact.add(t); - return t; - } - - public CapabilityStatement2 addContact(ContactDetail t) { //3 - if (t == null) - return this; - if (this.contact == null) - this.contact = new ArrayList(); - this.contact.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} - */ - public ContactDetail getContactFirstRep() { - if (getContact().isEmpty()) { - addContact(); - } - return getContact().get(0); - } - - /** - * @return {@link #description} (A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public MarkdownType getDescriptionElement() { - if (this.description == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.description"); - else if (Configuration.doAutoCreate()) - this.description = new MarkdownType(); // bb - return this.description; - } - - public boolean hasDescriptionElement() { - return this.description != null && !this.description.isEmpty(); - } - - public boolean hasDescription() { - return this.description != null && !this.description.isEmpty(); - } - - /** - * @param value {@link #description} (A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public CapabilityStatement2 setDescriptionElement(MarkdownType value) { - this.description = value; - return this; - } - - /** - * @return A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. - */ - public String getDescription() { - return this.description == null ? null : this.description.getValue(); - } - - /** - * @param value A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP. - */ - public CapabilityStatement2 setDescription(String value) { - if (value == null) - this.description = null; - else { - if (this.description == null) - this.description = new MarkdownType(); - this.description.setValue(value); - } - return this; - } - - /** - * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement2 instances.) - */ - public List getUseContext() { - if (this.useContext == null) - this.useContext = new ArrayList(); - return this.useContext; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setUseContext(List theUseContext) { - this.useContext = theUseContext; - return this; - } - - public boolean hasUseContext() { - if (this.useContext == null) - return false; - for (UsageContext item : this.useContext) - if (!item.isEmpty()) - return true; - return false; - } - - public UsageContext addUseContext() { //3 - UsageContext t = new UsageContext(); - if (this.useContext == null) - this.useContext = new ArrayList(); - this.useContext.add(t); - return t; - } - - public CapabilityStatement2 addUseContext(UsageContext t) { //3 - if (t == null) - return this; - if (this.useContext == null) - this.useContext = new ArrayList(); - this.useContext.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} - */ - public UsageContext getUseContextFirstRep() { - if (getUseContext().isEmpty()) { - addUseContext(); - } - return getUseContext().get(0); - } - - /** - * @return {@link #jurisdiction} (A legal or geographic region in which the capability statement2 is intended to be used.) - */ - public List getJurisdiction() { - if (this.jurisdiction == null) - this.jurisdiction = new ArrayList(); - return this.jurisdiction; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setJurisdiction(List theJurisdiction) { - this.jurisdiction = theJurisdiction; - return this; - } - - public boolean hasJurisdiction() { - if (this.jurisdiction == null) - return false; - for (CodeableConcept item : this.jurisdiction) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addJurisdiction() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.jurisdiction == null) - this.jurisdiction = new ArrayList(); - this.jurisdiction.add(t); - return t; - } - - public CapabilityStatement2 addJurisdiction(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.jurisdiction == null) - this.jurisdiction = new ArrayList(); - this.jurisdiction.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} - */ - public CodeableConcept getJurisdictionFirstRep() { - if (getJurisdiction().isEmpty()) { - addJurisdiction(); - } - return getJurisdiction().get(0); - } - - /** - * @return {@link #purpose} (Explanation of why this capability statement2 is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value - */ - public MarkdownType getPurposeElement() { - if (this.purpose == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.purpose"); - else if (Configuration.doAutoCreate()) - this.purpose = new MarkdownType(); // bb - return this.purpose; - } - - public boolean hasPurposeElement() { - return this.purpose != null && !this.purpose.isEmpty(); - } - - public boolean hasPurpose() { - return this.purpose != null && !this.purpose.isEmpty(); - } - - /** - * @param value {@link #purpose} (Explanation of why this capability statement2 is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value - */ - public CapabilityStatement2 setPurposeElement(MarkdownType value) { - this.purpose = value; - return this; - } - - /** - * @return Explanation of why this capability statement2 is needed and why it has been designed as it has. - */ - public String getPurpose() { - return this.purpose == null ? null : this.purpose.getValue(); - } - - /** - * @param value Explanation of why this capability statement2 is needed and why it has been designed as it has. - */ - public CapabilityStatement2 setPurpose(String value) { - if (value == null) - this.purpose = null; - else { - if (this.purpose == null) - this.purpose = new MarkdownType(); - this.purpose.setValue(value); - } - return this; - } - - /** - * @return {@link #copyright} (A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value - */ - public MarkdownType getCopyrightElement() { - if (this.copyright == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.copyright"); - else if (Configuration.doAutoCreate()) - this.copyright = new MarkdownType(); // bb - return this.copyright; - } - - public boolean hasCopyrightElement() { - return this.copyright != null && !this.copyright.isEmpty(); - } - - public boolean hasCopyright() { - return this.copyright != null && !this.copyright.isEmpty(); - } - - /** - * @param value {@link #copyright} (A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value - */ - public CapabilityStatement2 setCopyrightElement(MarkdownType value) { - this.copyright = value; - return this; - } - - /** - * @return A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2. - */ - public String getCopyright() { - return this.copyright == null ? null : this.copyright.getValue(); - } - - /** - * @param value A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2. - */ - public CapabilityStatement2 setCopyright(String value) { - if (value == null) - this.copyright = null; - else { - if (this.copyright == null) - this.copyright = new MarkdownType(); - this.copyright.setValue(value); - } - return this; - } - - /** - * @return {@link #kind} (The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value - */ - public Enumeration getKindElement() { - if (this.kind == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.kind"); - else if (Configuration.doAutoCreate()) - this.kind = new Enumeration(new CapabilityStatementKindEnumFactory()); // bb - return this.kind; - } - - public boolean hasKindElement() { - return this.kind != null && !this.kind.isEmpty(); - } - - public boolean hasKind() { - return this.kind != null && !this.kind.isEmpty(); - } - - /** - * @param value {@link #kind} (The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value - */ - public CapabilityStatement2 setKindElement(Enumeration value) { - this.kind = value; - return this; - } - - /** - * @return The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). - */ - public CapabilityStatementKind getKind() { - return this.kind == null ? null : this.kind.getValue(); - } - - /** - * @param value The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase). - */ - public CapabilityStatement2 setKind(CapabilityStatementKind value) { - if (this.kind == null) - this.kind = new Enumeration(new CapabilityStatementKindEnumFactory()); - this.kind.setValue(value); - return this; - } - - /** - * @return {@link #instantiates} (Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.) - */ - public List getInstantiates() { - if (this.instantiates == null) - this.instantiates = new ArrayList(); - return this.instantiates; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setInstantiates(List theInstantiates) { - this.instantiates = theInstantiates; - return this; - } - - public boolean hasInstantiates() { - if (this.instantiates == null) - return false; - for (CanonicalType item : this.instantiates) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiates} (Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.) - */ - public CanonicalType addInstantiatesElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.instantiates == null) - this.instantiates = new ArrayList(); - this.instantiates.add(t); - return t; - } - - /** - * @param value {@link #instantiates} (Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.) - */ - public CapabilityStatement2 addInstantiates(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.instantiates == null) - this.instantiates = new ArrayList(); - this.instantiates.add(t); - return this; - } - - /** - * @param value {@link #instantiates} (Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.) - */ - public boolean hasInstantiates(String value) { - if (this.instantiates == null) - return false; - for (CanonicalType v : this.instantiates) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #imports} (Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.) - */ - public List getImports() { - if (this.imports == null) - this.imports = new ArrayList(); - return this.imports; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setImports(List theImports) { - this.imports = theImports; - return this; - } - - public boolean hasImports() { - if (this.imports == null) - return false; - for (CanonicalType item : this.imports) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #imports} (Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.) - */ - public CanonicalType addImportsElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.imports == null) - this.imports = new ArrayList(); - this.imports.add(t); - return t; - } - - /** - * @param value {@link #imports} (Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.) - */ - public CapabilityStatement2 addImports(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.imports == null) - this.imports = new ArrayList(); - this.imports.add(t); - return this; - } - - /** - * @param value {@link #imports} (Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.) - */ - public boolean hasImports(String value) { - if (this.imports == null) - return false; - for (CanonicalType v : this.imports) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #software} (Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.) - */ - public CapabilityStatement2SoftwareComponent getSoftware() { - if (this.software == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.software"); - else if (Configuration.doAutoCreate()) - this.software = new CapabilityStatement2SoftwareComponent(); // cc - return this.software; - } - - public boolean hasSoftware() { - return this.software != null && !this.software.isEmpty(); - } - - /** - * @param value {@link #software} (Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.) - */ - public CapabilityStatement2 setSoftware(CapabilityStatement2SoftwareComponent value) { - this.software = value; - return this; - } - - /** - * @return {@link #implementation} (Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.) - */ - public CapabilityStatement2ImplementationComponent getImplementation() { - if (this.implementation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.implementation"); - else if (Configuration.doAutoCreate()) - this.implementation = new CapabilityStatement2ImplementationComponent(); // cc - return this.implementation; - } - - public boolean hasImplementation() { - return this.implementation != null && !this.implementation.isEmpty(); - } - - /** - * @param value {@link #implementation} (Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.) - */ - public CapabilityStatement2 setImplementation(CapabilityStatement2ImplementationComponent value) { - this.implementation = value; - return this; - } - - /** - * @return {@link #fhirVersion} (The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value.). This is the underlying object with id, value and extensions. The accessor "getFhirVersion" gives direct access to the value - */ - public Enumeration getFhirVersionElement() { - if (this.fhirVersion == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CapabilityStatement2.fhirVersion"); - else if (Configuration.doAutoCreate()) - this.fhirVersion = new Enumeration(new FHIRVersionEnumFactory()); // bb - return this.fhirVersion; - } - - public boolean hasFhirVersionElement() { - return this.fhirVersion != null && !this.fhirVersion.isEmpty(); - } - - public boolean hasFhirVersion() { - return this.fhirVersion != null && !this.fhirVersion.isEmpty(); - } - - /** - * @param value {@link #fhirVersion} (The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value.). This is the underlying object with id, value and extensions. The accessor "getFhirVersion" gives direct access to the value - */ - public CapabilityStatement2 setFhirVersionElement(Enumeration value) { - this.fhirVersion = value; - return this; - } - - /** - * @return The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value. - */ - public FHIRVersion getFhirVersion() { - return this.fhirVersion == null ? null : this.fhirVersion.getValue(); - } - - /** - * @param value The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value. - */ - public CapabilityStatement2 setFhirVersion(FHIRVersion value) { - if (this.fhirVersion == null) - this.fhirVersion = new Enumeration(new FHIRVersionEnumFactory()); - this.fhirVersion.setValue(value); - return this; - } - - /** - * @return {@link #format} (A list of the formats supported by this implementation using their content types.) - */ - public List getFormat() { - if (this.format == null) - this.format = new ArrayList(); - return this.format; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setFormat(List theFormat) { - this.format = theFormat; - return this; - } - - public boolean hasFormat() { - if (this.format == null) - return false; - for (CodeType item : this.format) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #format} (A list of the formats supported by this implementation using their content types.) - */ - public CodeType addFormatElement() {//2 - CodeType t = new CodeType(); - if (this.format == null) - this.format = new ArrayList(); - this.format.add(t); - return t; - } - - /** - * @param value {@link #format} (A list of the formats supported by this implementation using their content types.) - */ - public CapabilityStatement2 addFormat(String value) { //1 - CodeType t = new CodeType(); - t.setValue(value); - if (this.format == null) - this.format = new ArrayList(); - this.format.add(t); - return this; - } - - /** - * @param value {@link #format} (A list of the formats supported by this implementation using their content types.) - */ - public boolean hasFormat(String value) { - if (this.format == null) - return false; - for (CodeType v : this.format) - if (v.getValue().equals(value)) // code - return true; - return false; - } - - /** - * @return {@link #patchFormat} (A list of the patch formats supported by this implementation using their content types.) - */ - public List getPatchFormat() { - if (this.patchFormat == null) - this.patchFormat = new ArrayList(); - return this.patchFormat; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setPatchFormat(List thePatchFormat) { - this.patchFormat = thePatchFormat; - return this; - } - - public boolean hasPatchFormat() { - if (this.patchFormat == null) - return false; - for (CodeType item : this.patchFormat) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #patchFormat} (A list of the patch formats supported by this implementation using their content types.) - */ - public CodeType addPatchFormatElement() {//2 - CodeType t = new CodeType(); - if (this.patchFormat == null) - this.patchFormat = new ArrayList(); - this.patchFormat.add(t); - return t; - } - - /** - * @param value {@link #patchFormat} (A list of the patch formats supported by this implementation using their content types.) - */ - public CapabilityStatement2 addPatchFormat(String value) { //1 - CodeType t = new CodeType(); - t.setValue(value); - if (this.patchFormat == null) - this.patchFormat = new ArrayList(); - this.patchFormat.add(t); - return this; - } - - /** - * @param value {@link #patchFormat} (A list of the patch formats supported by this implementation using their content types.) - */ - public boolean hasPatchFormat(String value) { - if (this.patchFormat == null) - return false; - for (CodeType v : this.patchFormat) - if (v.getValue().equals(value)) // code - return true; - return false; - } - - /** - * @return {@link #implementationGuide} (A list of implementation guides that the server does (or should) support in their entirety.) - */ - public List getImplementationGuide() { - if (this.implementationGuide == null) - this.implementationGuide = new ArrayList(); - return this.implementationGuide; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setImplementationGuide(List theImplementationGuide) { - this.implementationGuide = theImplementationGuide; - return this; - } - - public boolean hasImplementationGuide() { - if (this.implementationGuide == null) - return false; - for (CanonicalType item : this.implementationGuide) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #implementationGuide} (A list of implementation guides that the server does (or should) support in their entirety.) - */ - public CanonicalType addImplementationGuideElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.implementationGuide == null) - this.implementationGuide = new ArrayList(); - this.implementationGuide.add(t); - return t; - } - - /** - * @param value {@link #implementationGuide} (A list of implementation guides that the server does (or should) support in their entirety.) - */ - public CapabilityStatement2 addImplementationGuide(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.implementationGuide == null) - this.implementationGuide = new ArrayList(); - this.implementationGuide.add(t); - return this; - } - - /** - * @param value {@link #implementationGuide} (A list of implementation guides that the server does (or should) support in their entirety.) - */ - public boolean hasImplementationGuide(String value) { - if (this.implementationGuide == null) - return false; - for (CanonicalType v : this.implementationGuide) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #rest} (A definition of the restful capabilities of the solution, if any.) - */ - public List getRest() { - if (this.rest == null) - this.rest = new ArrayList(); - return this.rest; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setRest(List theRest) { - this.rest = theRest; - return this; - } - - public boolean hasRest() { - if (this.rest == null) - return false; - for (CapabilityStatement2RestComponent item : this.rest) - if (!item.isEmpty()) - return true; - return false; - } - - public CapabilityStatement2RestComponent addRest() { //3 - CapabilityStatement2RestComponent t = new CapabilityStatement2RestComponent(); - if (this.rest == null) - this.rest = new ArrayList(); - this.rest.add(t); - return t; - } - - public CapabilityStatement2 addRest(CapabilityStatement2RestComponent t) { //3 - if (t == null) - return this; - if (this.rest == null) - this.rest = new ArrayList(); - this.rest.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #rest}, creating it if it does not already exist {3} - */ - public CapabilityStatement2RestComponent getRestFirstRep() { - if (getRest().isEmpty()) { - addRest(); - } - return getRest().get(0); - } - - /** - * not supported on this implementation - */ - @Override - public int getIdentifierMax() { - return 0; - } - /** - * @return {@link #identifier} (A formal identifier that is used to identify this capability statement2 when it is represented in other formats, or referenced in a specification, model, design or an instance.) - */ - public List getIdentifier() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public CapabilityStatement2 setIdentifier(List theIdentifier) { - throw new Error("The resource type \"CapabilityStatement2\" does not implement the property \"identifier\""); - } - public boolean hasIdentifier() { - return false; - } - - public Identifier addIdentifier() { //3 - throw new Error("The resource type \"CapabilityStatement2\" does not implement the property \"identifier\""); - } - public CapabilityStatement2 addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"CapabilityStatement2\" does not implement the property \"identifier\""); - } - /** - * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} - */ - public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"CapabilityStatement2\" does not implement the property \"identifier\""); - } - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers.", 0, 1, url)); - children.add(new Property("version", "string", "The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); - children.add(new Property("name", "string", "A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); - children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement2.", 0, 1, title)); - children.add(new Property("status", "code", "The status of this capability statement2. Enables tracking the life-cycle of the content.", 0, 1, status)); - children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); - children.add(new Property("date", "dateTime", "The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the capability statement2.", 0, 1, publisher)); - children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); - children.add(new Property("description", "markdown", "A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description)); - children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement2 instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); - children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the capability statement2 is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); - children.add(new Property("purpose", "markdown", "Explanation of why this capability statement2 is needed and why it has been designed as it has.", 0, 1, purpose)); - children.add(new Property("copyright", "markdown", "A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2.", 0, 1, copyright)); - children.add(new Property("kind", "code", "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).", 0, 1, kind)); - children.add(new Property("instantiates", "canonical(CapabilityStatement2)", "Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.", 0, java.lang.Integer.MAX_VALUE, instantiates)); - children.add(new Property("imports", "canonical(CapabilityStatement2)", "Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.", 0, java.lang.Integer.MAX_VALUE, imports)); - children.add(new Property("software", "", "Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.", 0, 1, software)); - children.add(new Property("implementation", "", "Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.", 0, 1, implementation)); - children.add(new Property("fhirVersion", "code", "The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value.", 0, 1, fhirVersion)); - children.add(new Property("format", "code", "A list of the formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, format)); - children.add(new Property("patchFormat", "code", "A list of the patch formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, patchFormat)); - children.add(new Property("implementationGuide", "canonical(ImplementationGuide)", "A list of implementation guides that the server does (or should) support in their entirety.", 0, java.lang.Integer.MAX_VALUE, implementationGuide)); - children.add(new Property("rest", "", "A definition of the restful capabilities of the solution, if any.", 0, java.lang.Integer.MAX_VALUE, rest)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this capability statement2 when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this capability statement2 is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the capability statement2 is stored on different servers.", 0, 1, url); - case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the capability statement2 when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the capability statement2 author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); - case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the capability statement2. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); - case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement2.", 0, 1, title); - case -892481550: /*status*/ return new Property("status", "code", "The status of this capability statement2. Enables tracking the life-cycle of the content.", 0, 1, status); - case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this capability statement2 is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); - case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the capability statement2 was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the capability statement2 changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the capability statement2.", 0, 1, publisher); - case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); - case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the capability statement2 from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description); - case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate capability statement2 instances.", 0, java.lang.Integer.MAX_VALUE, useContext); - case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the capability statement2 is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); - case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this capability statement2 is needed and why it has been designed as it has.", 0, 1, purpose); - case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the capability statement2 and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the capability statement2.", 0, 1, copyright); - case 3292052: /*kind*/ return new Property("kind", "code", "The way that this statement is intended to be used, to describe an actual running instance of software, a particular product (kind, not instance of software) or a class of implementation (e.g. a desired purchase).", 0, 1, kind); - case -246883639: /*instantiates*/ return new Property("instantiates", "canonical(CapabilityStatement2)", "Reference to a canonical URL of another CapabilityStatement2 that this software implements. This capability statement is a published API description that corresponds to a business service. The server may actually implement a subset of the capability statement it claims to implement, so the capability statement must specify the full capability details.", 0, java.lang.Integer.MAX_VALUE, instantiates); - case 1926037870: /*imports*/ return new Property("imports", "canonical(CapabilityStatement2)", "Reference to a canonical URL of another CapabilityStatement2 that this software adds to. The capability statement automatically includes everything in the other statement, and it is not duplicated, though the server may repeat the same resources, interactions and operations to add additional details to them.", 0, java.lang.Integer.MAX_VALUE, imports); - case 1319330215: /*software*/ return new Property("software", "", "Software that is covered by this capability statement. It is used when the capability statement describes the capabilities of a particular software version, independent of an installation.", 0, 1, software); - case 1683336114: /*implementation*/ return new Property("implementation", "", "Identifies a specific implementation instance that is described by the capability statement - i.e. a particular installation, rather than the capabilities of a software program.", 0, 1, implementation); - case 461006061: /*fhirVersion*/ return new Property("fhirVersion", "code", "The version of the FHIR specification that this CapabilityStatement2 describes (which SHALL be the same as the FHIR version of the CapabilityStatement2 itself). There is no default value.", 0, 1, fhirVersion); - case -1268779017: /*format*/ return new Property("format", "code", "A list of the formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, format); - case 172338783: /*patchFormat*/ return new Property("patchFormat", "code", "A list of the patch formats supported by this implementation using their content types.", 0, java.lang.Integer.MAX_VALUE, patchFormat); - case 156966506: /*implementationGuide*/ return new Property("implementationGuide", "canonical(ImplementationGuide)", "A list of implementation guides that the server does (or should) support in their entirety.", 0, java.lang.Integer.MAX_VALUE, implementationGuide); - case 3496916: /*rest*/ return new Property("rest", "", "A definition of the restful capabilities of the solution, if any.", 0, java.lang.Integer.MAX_VALUE, rest); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType - case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType - case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType - case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType - case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType - case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType - case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail - case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType - case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext - case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept - case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType - case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType - case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration - case -246883639: /*instantiates*/ return this.instantiates == null ? new Base[0] : this.instantiates.toArray(new Base[this.instantiates.size()]); // CanonicalType - case 1926037870: /*imports*/ return this.imports == null ? new Base[0] : this.imports.toArray(new Base[this.imports.size()]); // CanonicalType - case 1319330215: /*software*/ return this.software == null ? new Base[0] : new Base[] {this.software}; // CapabilityStatement2SoftwareComponent - case 1683336114: /*implementation*/ return this.implementation == null ? new Base[0] : new Base[] {this.implementation}; // CapabilityStatement2ImplementationComponent - case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : new Base[] {this.fhirVersion}; // Enumeration - case -1268779017: /*format*/ return this.format == null ? new Base[0] : this.format.toArray(new Base[this.format.size()]); // CodeType - case 172338783: /*patchFormat*/ return this.patchFormat == null ? new Base[0] : this.patchFormat.toArray(new Base[this.patchFormat.size()]); // CodeType - case 156966506: /*implementationGuide*/ return this.implementationGuide == null ? new Base[0] : this.implementationGuide.toArray(new Base[this.implementationGuide.size()]); // CanonicalType - case 3496916: /*rest*/ return this.rest == null ? new Base[0] : this.rest.toArray(new Base[this.rest.size()]); // CapabilityStatement2RestComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 116079: // url - this.url = TypeConvertor.castToUri(value); // UriType - return value; - case 351608024: // version - this.version = TypeConvertor.castToString(value); // StringType - return value; - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType - return value; - case 110371416: // title - this.title = TypeConvertor.castToString(value); // StringType - return value; - case -892481550: // status - value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.status = (Enumeration) value; // Enumeration - return value; - case -404562712: // experimental - this.experimental = TypeConvertor.castToBoolean(value); // BooleanType - return value; - case 3076014: // date - this.date = TypeConvertor.castToDateTime(value); // DateTimeType - return value; - case 1447404028: // publisher - this.publisher = TypeConvertor.castToString(value); // StringType - return value; - case 951526432: // contact - this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail - return value; - case -1724546052: // description - this.description = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case -669707736: // useContext - this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext - return value; - case -507075711: // jurisdiction - this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - case -220463842: // purpose - this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case 1522889671: // copyright - this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType - return value; - case 3292052: // kind - value = new CapabilityStatementKindEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.kind = (Enumeration) value; // Enumeration - return value; - case -246883639: // instantiates - this.getInstantiates().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case 1926037870: // imports - this.getImports().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case 1319330215: // software - this.software = (CapabilityStatement2SoftwareComponent) value; // CapabilityStatement2SoftwareComponent - return value; - case 1683336114: // implementation - this.implementation = (CapabilityStatement2ImplementationComponent) value; // CapabilityStatement2ImplementationComponent - return value; - case 461006061: // fhirVersion - value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.fhirVersion = (Enumeration) value; // Enumeration - return value; - case -1268779017: // format - this.getFormat().add(TypeConvertor.castToCode(value)); // CodeType - return value; - case 172338783: // patchFormat - this.getPatchFormat().add(TypeConvertor.castToCode(value)); // CodeType - return value; - case 156966506: // implementationGuide - this.getImplementationGuide().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case 3496916: // rest - this.getRest().add((CapabilityStatement2RestComponent) value); // CapabilityStatement2RestComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("url")) { - this.url = TypeConvertor.castToUri(value); // UriType - } else if (name.equals("version")) { - this.version = TypeConvertor.castToString(value); // StringType - } else if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType - } else if (name.equals("title")) { - this.title = TypeConvertor.castToString(value); // StringType - } else if (name.equals("status")) { - value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.status = (Enumeration) value; // Enumeration - } else if (name.equals("experimental")) { - this.experimental = TypeConvertor.castToBoolean(value); // BooleanType - } else if (name.equals("date")) { - this.date = TypeConvertor.castToDateTime(value); // DateTimeType - } else if (name.equals("publisher")) { - this.publisher = TypeConvertor.castToString(value); // StringType - } else if (name.equals("contact")) { - this.getContact().add(TypeConvertor.castToContactDetail(value)); - } else if (name.equals("description")) { - this.description = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("useContext")) { - this.getUseContext().add(TypeConvertor.castToUsageContext(value)); - } else if (name.equals("jurisdiction")) { - this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("purpose")) { - this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("copyright")) { - this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("kind")) { - value = new CapabilityStatementKindEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.kind = (Enumeration) value; // Enumeration - } else if (name.equals("instantiates")) { - this.getInstantiates().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("imports")) { - this.getImports().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("software")) { - this.software = (CapabilityStatement2SoftwareComponent) value; // CapabilityStatement2SoftwareComponent - } else if (name.equals("implementation")) { - this.implementation = (CapabilityStatement2ImplementationComponent) value; // CapabilityStatement2ImplementationComponent - } else if (name.equals("fhirVersion")) { - value = new FHIRVersionEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.fhirVersion = (Enumeration) value; // Enumeration - } else if (name.equals("format")) { - this.getFormat().add(TypeConvertor.castToCode(value)); - } else if (name.equals("patchFormat")) { - this.getPatchFormat().add(TypeConvertor.castToCode(value)); - } else if (name.equals("implementationGuide")) { - this.getImplementationGuide().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("rest")) { - this.getRest().add((CapabilityStatement2RestComponent) value); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 116079: return getUrlElement(); - case 351608024: return getVersionElement(); - case 3373707: return getNameElement(); - case 110371416: return getTitleElement(); - case -892481550: return getStatusElement(); - case -404562712: return getExperimentalElement(); - case 3076014: return getDateElement(); - case 1447404028: return getPublisherElement(); - case 951526432: return addContact(); - case -1724546052: return getDescriptionElement(); - case -669707736: return addUseContext(); - case -507075711: return addJurisdiction(); - case -220463842: return getPurposeElement(); - case 1522889671: return getCopyrightElement(); - case 3292052: return getKindElement(); - case -246883639: return addInstantiatesElement(); - case 1926037870: return addImportsElement(); - case 1319330215: return getSoftware(); - case 1683336114: return getImplementation(); - case 461006061: return getFhirVersionElement(); - case -1268779017: return addFormatElement(); - case 172338783: return addPatchFormatElement(); - case 156966506: return addImplementationGuideElement(); - case 3496916: return addRest(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 116079: /*url*/ return new String[] {"uri"}; - case 351608024: /*version*/ return new String[] {"string"}; - case 3373707: /*name*/ return new String[] {"string"}; - case 110371416: /*title*/ return new String[] {"string"}; - case -892481550: /*status*/ return new String[] {"code"}; - case -404562712: /*experimental*/ return new String[] {"boolean"}; - case 3076014: /*date*/ return new String[] {"dateTime"}; - case 1447404028: /*publisher*/ return new String[] {"string"}; - case 951526432: /*contact*/ return new String[] {"ContactDetail"}; - case -1724546052: /*description*/ return new String[] {"markdown"}; - case -669707736: /*useContext*/ return new String[] {"UsageContext"}; - case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; - case -220463842: /*purpose*/ return new String[] {"markdown"}; - case 1522889671: /*copyright*/ return new String[] {"markdown"}; - case 3292052: /*kind*/ return new String[] {"code"}; - case -246883639: /*instantiates*/ return new String[] {"canonical"}; - case 1926037870: /*imports*/ return new String[] {"canonical"}; - case 1319330215: /*software*/ return new String[] {}; - case 1683336114: /*implementation*/ return new String[] {}; - case 461006061: /*fhirVersion*/ return new String[] {"code"}; - case -1268779017: /*format*/ return new String[] {"code"}; - case 172338783: /*patchFormat*/ return new String[] {"code"}; - case 156966506: /*implementationGuide*/ return new String[] {"canonical"}; - case 3496916: /*rest*/ return new String[] {}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("url")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.url"); - } - else if (name.equals("version")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.version"); - } - else if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.name"); - } - else if (name.equals("title")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.title"); - } - else if (name.equals("status")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.status"); - } - else if (name.equals("experimental")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.experimental"); - } - else if (name.equals("date")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.date"); - } - else if (name.equals("publisher")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.publisher"); - } - else if (name.equals("contact")) { - return addContact(); - } - else if (name.equals("description")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.description"); - } - else if (name.equals("useContext")) { - return addUseContext(); - } - else if (name.equals("jurisdiction")) { - return addJurisdiction(); - } - else if (name.equals("purpose")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.purpose"); - } - else if (name.equals("copyright")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.copyright"); - } - else if (name.equals("kind")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.kind"); - } - else if (name.equals("instantiates")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.instantiates"); - } - else if (name.equals("imports")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.imports"); - } - else if (name.equals("software")) { - this.software = new CapabilityStatement2SoftwareComponent(); - return this.software; - } - else if (name.equals("implementation")) { - this.implementation = new CapabilityStatement2ImplementationComponent(); - return this.implementation; - } - else if (name.equals("fhirVersion")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.fhirVersion"); - } - else if (name.equals("format")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.format"); - } - else if (name.equals("patchFormat")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.patchFormat"); - } - else if (name.equals("implementationGuide")) { - throw new FHIRException("Cannot call addChild on a primitive type CapabilityStatement2.implementationGuide"); - } - else if (name.equals("rest")) { - return addRest(); - } - else - return super.addChild(name); - } - - public String fhirType() { - return "CapabilityStatement2"; - - } - - public CapabilityStatement2 copy() { - CapabilityStatement2 dst = new CapabilityStatement2(); - copyValues(dst); - return dst; - } - - public void copyValues(CapabilityStatement2 dst) { - super.copyValues(dst); - dst.url = url == null ? null : url.copy(); - dst.version = version == null ? null : version.copy(); - dst.name = name == null ? null : name.copy(); - dst.title = title == null ? null : title.copy(); - dst.status = status == null ? null : status.copy(); - dst.experimental = experimental == null ? null : experimental.copy(); - dst.date = date == null ? null : date.copy(); - dst.publisher = publisher == null ? null : publisher.copy(); - if (contact != null) { - dst.contact = new ArrayList(); - for (ContactDetail i : contact) - dst.contact.add(i.copy()); - }; - dst.description = description == null ? null : description.copy(); - if (useContext != null) { - dst.useContext = new ArrayList(); - for (UsageContext i : useContext) - dst.useContext.add(i.copy()); - }; - if (jurisdiction != null) { - dst.jurisdiction = new ArrayList(); - for (CodeableConcept i : jurisdiction) - dst.jurisdiction.add(i.copy()); - }; - dst.purpose = purpose == null ? null : purpose.copy(); - dst.copyright = copyright == null ? null : copyright.copy(); - dst.kind = kind == null ? null : kind.copy(); - if (instantiates != null) { - dst.instantiates = new ArrayList(); - for (CanonicalType i : instantiates) - dst.instantiates.add(i.copy()); - }; - if (imports != null) { - dst.imports = new ArrayList(); - for (CanonicalType i : imports) - dst.imports.add(i.copy()); - }; - dst.software = software == null ? null : software.copy(); - dst.implementation = implementation == null ? null : implementation.copy(); - dst.fhirVersion = fhirVersion == null ? null : fhirVersion.copy(); - if (format != null) { - dst.format = new ArrayList(); - for (CodeType i : format) - dst.format.add(i.copy()); - }; - if (patchFormat != null) { - dst.patchFormat = new ArrayList(); - for (CodeType i : patchFormat) - dst.patchFormat.add(i.copy()); - }; - if (implementationGuide != null) { - dst.implementationGuide = new ArrayList(); - for (CanonicalType i : implementationGuide) - dst.implementationGuide.add(i.copy()); - }; - if (rest != null) { - dst.rest = new ArrayList(); - for (CapabilityStatement2RestComponent i : rest) - dst.rest.add(i.copy()); - }; - } - - protected CapabilityStatement2 typedCopy() { - return copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2)) - return false; - CapabilityStatement2 o = (CapabilityStatement2) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) - && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(kind, o.kind, true) && compareDeep(instantiates, o.instantiates, true) && compareDeep(imports, o.imports, true) - && compareDeep(software, o.software, true) && compareDeep(implementation, o.implementation, true) - && compareDeep(fhirVersion, o.fhirVersion, true) && compareDeep(format, o.format, true) && compareDeep(patchFormat, o.patchFormat, true) - && compareDeep(implementationGuide, o.implementationGuide, true) && compareDeep(rest, o.rest, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CapabilityStatement2)) - return false; - CapabilityStatement2 o = (CapabilityStatement2) other_; - return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) - && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) - && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(kind, o.kind, true) - && compareValues(instantiates, o.instantiates, true) && compareValues(imports, o.imports, true) && compareValues(fhirVersion, o.fhirVersion, true) - && compareValues(format, o.format, true) && compareValues(patchFormat, o.patchFormat, true) && compareValues(implementationGuide, o.implementationGuide, true) - ; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title - , status, experimental, date, publisher, contact, description, useContext, jurisdiction - , purpose, copyright, kind, instantiates, imports, software, implementation, fhirVersion - , format, patchFormat, implementationGuide, rest); - } - - @Override - public ResourceType getResourceType() { - return ResourceType.CapabilityStatement2; - } - - /** - * Search parameter: context-quantity - *

- * Description: A quantity- or range-valued use context assigned to the capability statement2
- * Type: quantity
- * Path: (CapabilityStatement2.useContext.value as Quantity) | (CapabilityStatement2.useContext.value as Range)
- *

- */ - @SearchParamDefinition(name="context-quantity", path="(CapabilityStatement2.useContext.value as Quantity) | (CapabilityStatement2.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the capability statement2", type="quantity" ) - public static final String SP_CONTEXT_QUANTITY = "context-quantity"; - /** - * Fluent Client search parameter constant for context-quantity - *

- * Description: A quantity- or range-valued use context assigned to the capability statement2
- * Type: quantity
- * Path: (CapabilityStatement2.useContext.value as Quantity) | (CapabilityStatement2.useContext.value as Range)
- *

- */ - public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); - - /** - * Search parameter: context-type-quantity - *

- * Description: A use context type and quantity- or range-based value assigned to the capability statement2
- * Type: composite
- * Path: CapabilityStatement2.useContext
- *

- */ - @SearchParamDefinition(name="context-type-quantity", path="CapabilityStatement2.useContext", description="A use context type and quantity- or range-based value assigned to the capability statement2", type="composite", compositeOf={"context-type", "context-quantity"} ) - public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; - /** - * Fluent Client search parameter constant for context-type-quantity - *

- * Description: A use context type and quantity- or range-based value assigned to the capability statement2
- * Type: composite
- * Path: CapabilityStatement2.useContext
- *

- */ - public static final ca.uhn.fhir.rest.gclient.CompositeClientParam CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_CONTEXT_TYPE_QUANTITY); - - /** - * Search parameter: context-type-value - *

- * Description: A use context type and value assigned to the capability statement2
- * Type: composite
- * Path: CapabilityStatement2.useContext
- *

- */ - @SearchParamDefinition(name="context-type-value", path="CapabilityStatement2.useContext", description="A use context type and value assigned to the capability statement2", type="composite", compositeOf={"context-type", "context"} ) - public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; - /** - * Fluent Client search parameter constant for context-type-value - *

- * Description: A use context type and value assigned to the capability statement2
- * Type: composite
- * Path: CapabilityStatement2.useContext
- *

- */ - public static final ca.uhn.fhir.rest.gclient.CompositeClientParam CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_CONTEXT_TYPE_VALUE); - - /** - * Search parameter: context-type - *

- * Description: A type of use context assigned to the capability statement2
- * Type: token
- * Path: CapabilityStatement2.useContext.code
- *

- */ - @SearchParamDefinition(name="context-type", path="CapabilityStatement2.useContext.code", description="A type of use context assigned to the capability statement2", type="token" ) - public static final String SP_CONTEXT_TYPE = "context-type"; - /** - * Fluent Client search parameter constant for context-type - *

- * Description: A type of use context assigned to the capability statement2
- * Type: token
- * Path: CapabilityStatement2.useContext.code
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); - - /** - * Search parameter: context - *

- * Description: A use context assigned to the capability statement2
- * Type: token
- * Path: (CapabilityStatement2.useContext.value as CodeableConcept)
- *

- */ - @SearchParamDefinition(name="context", path="(CapabilityStatement2.useContext.value as CodeableConcept)", description="A use context assigned to the capability statement2", type="token" ) - public static final String SP_CONTEXT = "context"; - /** - * Fluent Client search parameter constant for context - *

- * Description: A use context assigned to the capability statement2
- * Type: token
- * Path: (CapabilityStatement2.useContext.value as CodeableConcept)
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); - - /** - * Search parameter: date - *

- * Description: The capability statement2 publication date
- * Type: date
- * Path: CapabilityStatement2.date
- *

- */ - @SearchParamDefinition(name="date", path="CapabilityStatement2.date", description="The capability statement2 publication date", type="date" ) - public static final String SP_DATE = "date"; - /** - * Fluent Client search parameter constant for date - *

- * Description: The capability statement2 publication date
- * Type: date
- * Path: CapabilityStatement2.date
- *

- */ - public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); - - /** - * Search parameter: description - *

- * Description: The description of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.description
- *

- */ - @SearchParamDefinition(name="description", path="CapabilityStatement2.description", description="The description of the capability statement2", type="string" ) - public static final String SP_DESCRIPTION = "description"; - /** - * Fluent Client search parameter constant for description - *

- * Description: The description of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.description
- *

- */ - public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); - - /** - * Search parameter: fhirversion - *

- * Description: The version of FHIR
- * Type: token
- * Path: CapabilityStatement2.version
- *

- */ - @SearchParamDefinition(name="fhirversion", path="CapabilityStatement2.version", description="The version of FHIR", type="token" ) - public static final String SP_FHIRVERSION = "fhirversion"; - /** - * Fluent Client search parameter constant for fhirversion - *

- * Description: The version of FHIR
- * Type: token
- * Path: CapabilityStatement2.version
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam FHIRVERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FHIRVERSION); - - /** - * Search parameter: format - *

- * Description: formats supported (xml | json | ttl | mime type)
- * Type: token
- * Path: CapabilityStatement2.format
- *

- */ - @SearchParamDefinition(name="format", path="CapabilityStatement2.format", description="formats supported (xml | json | ttl | mime type)", type="token" ) - public static final String SP_FORMAT = "format"; - /** - * Fluent Client search parameter constant for format - *

- * Description: formats supported (xml | json | ttl | mime type)
- * Type: token
- * Path: CapabilityStatement2.format
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam FORMAT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FORMAT); - - /** - * Search parameter: guide - *

- * Description: Implementation guides supported
- * Type: reference
- * Path: CapabilityStatement2.implementationGuide
- *

- */ - @SearchParamDefinition(name="guide", path="CapabilityStatement2.implementationGuide", description="Implementation guides supported", type="reference", target={ImplementationGuide.class } ) - public static final String SP_GUIDE = "guide"; - /** - * Fluent Client search parameter constant for guide - *

- * Description: Implementation guides supported
- * Type: reference
- * Path: CapabilityStatement2.implementationGuide
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam GUIDE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_GUIDE); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "CapabilityStatement2:guide". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_GUIDE = new ca.uhn.fhir.model.api.Include("CapabilityStatement2:guide").toLocked(); - - /** - * Search parameter: jurisdiction - *

- * Description: Intended jurisdiction for the capability statement2
- * Type: token
- * Path: CapabilityStatement2.jurisdiction
- *

- */ - @SearchParamDefinition(name="jurisdiction", path="CapabilityStatement2.jurisdiction", description="Intended jurisdiction for the capability statement2", type="token" ) - public static final String SP_JURISDICTION = "jurisdiction"; - /** - * Fluent Client search parameter constant for jurisdiction - *

- * Description: Intended jurisdiction for the capability statement2
- * Type: token
- * Path: CapabilityStatement2.jurisdiction
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); - - /** - * Search parameter: mode - *

- * Description: Mode - restful (server/client) or messaging (sender/receiver)
- * Type: token
- * Path: CapabilityStatement2.rest.mode
- *

- */ - @SearchParamDefinition(name="mode", path="CapabilityStatement2.rest.mode", description="Mode - restful (server/client) or messaging (sender/receiver)", type="token" ) - public static final String SP_MODE = "mode"; - /** - * Fluent Client search parameter constant for mode - *

- * Description: Mode - restful (server/client) or messaging (sender/receiver)
- * Type: token
- * Path: CapabilityStatement2.rest.mode
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam MODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_MODE); - - /** - * Search parameter: name - *

- * Description: Computationally friendly name of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.name
- *

- */ - @SearchParamDefinition(name="name", path="CapabilityStatement2.name", description="Computationally friendly name of the capability statement2", type="string" ) - public static final String SP_NAME = "name"; - /** - * Fluent Client search parameter constant for name - *

- * Description: Computationally friendly name of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.name
- *

- */ - public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); - - /** - * Search parameter: publisher - *

- * Description: Name of the publisher of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.publisher
- *

- */ - @SearchParamDefinition(name="publisher", path="CapabilityStatement2.publisher", description="Name of the publisher of the capability statement2", type="string" ) - public static final String SP_PUBLISHER = "publisher"; - /** - * Fluent Client search parameter constant for publisher - *

- * Description: Name of the publisher of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.publisher
- *

- */ - public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); - - /** - * Search parameter: resource-profile - *

- * Description: A profile id invoked in a capability statement
- * Type: reference
- * Path: CapabilityStatement2.rest.resource.profile
- *

- */ - @SearchParamDefinition(name="resource-profile", path="CapabilityStatement2.rest.resource.profile", description="A profile id invoked in a capability statement", type="reference", target={StructureDefinition.class } ) - public static final String SP_RESOURCE_PROFILE = "resource-profile"; - /** - * Fluent Client search parameter constant for resource-profile - *

- * Description: A profile id invoked in a capability statement
- * Type: reference
- * Path: CapabilityStatement2.rest.resource.profile
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam RESOURCE_PROFILE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_RESOURCE_PROFILE); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "CapabilityStatement2:resource-profile". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_RESOURCE_PROFILE = new ca.uhn.fhir.model.api.Include("CapabilityStatement2:resource-profile").toLocked(); - - /** - * Search parameter: resource - *

- * Description: Name of a resource mentioned in a capability statement
- * Type: token
- * Path: CapabilityStatement2.rest.resource.type
- *

- */ - @SearchParamDefinition(name="resource", path="CapabilityStatement2.rest.resource.type", description="Name of a resource mentioned in a capability statement", type="token" ) - public static final String SP_RESOURCE = "resource"; - /** - * Fluent Client search parameter constant for resource - *

- * Description: Name of a resource mentioned in a capability statement
- * Type: token
- * Path: CapabilityStatement2.rest.resource.type
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam RESOURCE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_RESOURCE); - - /** - * Search parameter: software - *

- * Description: Part of the name of a software application
- * Type: string
- * Path: CapabilityStatement2.software.name
- *

- */ - @SearchParamDefinition(name="software", path="CapabilityStatement2.software.name", description="Part of the name of a software application", type="string" ) - public static final String SP_SOFTWARE = "software"; - /** - * Fluent Client search parameter constant for software - *

- * Description: Part of the name of a software application
- * Type: string
- * Path: CapabilityStatement2.software.name
- *

- */ - public static final ca.uhn.fhir.rest.gclient.StringClientParam SOFTWARE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_SOFTWARE); - - /** - * Search parameter: status - *

- * Description: The current status of the capability statement2
- * Type: token
- * Path: CapabilityStatement2.status
- *

- */ - @SearchParamDefinition(name="status", path="CapabilityStatement2.status", description="The current status of the capability statement2", type="token" ) - public static final String SP_STATUS = "status"; - /** - * Fluent Client search parameter constant for status - *

- * Description: The current status of the capability statement2
- * Type: token
- * Path: CapabilityStatement2.status
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); - - /** - * Search parameter: supported-profile - *

- * Description: Profiles for use cases supported
- * Type: reference
- * Path: CapabilityStatement2.rest.resource.supportedProfile
- *

- */ - @SearchParamDefinition(name="supported-profile", path="CapabilityStatement2.rest.resource.supportedProfile", description="Profiles for use cases supported", type="reference", target={StructureDefinition.class } ) - public static final String SP_SUPPORTED_PROFILE = "supported-profile"; - /** - * Fluent Client search parameter constant for supported-profile - *

- * Description: Profiles for use cases supported
- * Type: reference
- * Path: CapabilityStatement2.rest.resource.supportedProfile
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUPPORTED_PROFILE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUPPORTED_PROFILE); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "CapabilityStatement2:supported-profile". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_SUPPORTED_PROFILE = new ca.uhn.fhir.model.api.Include("CapabilityStatement2:supported-profile").toLocked(); - - /** - * Search parameter: title - *

- * Description: The human-friendly name of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.title
- *

- */ - @SearchParamDefinition(name="title", path="CapabilityStatement2.title", description="The human-friendly name of the capability statement2", type="string" ) - public static final String SP_TITLE = "title"; - /** - * Fluent Client search parameter constant for title - *

- * Description: The human-friendly name of the capability statement2
- * Type: string
- * Path: CapabilityStatement2.title
- *

- */ - public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); - - /** - * Search parameter: url - *

- * Description: The uri that identifies the capability statement2
- * Type: uri
- * Path: CapabilityStatement2.url
- *

- */ - @SearchParamDefinition(name="url", path="CapabilityStatement2.url", description="The uri that identifies the capability statement2", type="uri" ) - public static final String SP_URL = "url"; - /** - * Fluent Client search parameter constant for url - *

- * Description: The uri that identifies the capability statement2
- * Type: uri
- * Path: CapabilityStatement2.url
- *

- */ - public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); - - /** - * Search parameter: version - *

- * Description: The business version of the capability statement2
- * Type: token
- * Path: CapabilityStatement2.version
- *

- */ - @SearchParamDefinition(name="version", path="CapabilityStatement2.version", description="The business version of the capability statement2", type="token" ) - public static final String SP_VERSION = "version"; - /** - * Fluent Client search parameter constant for version - *

- * Description: The business version of the capability statement2
- * Type: token
- * Path: CapabilityStatement2.version
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); - - -} - diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CarePlan.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CarePlan.java index 684735da8..31ccaec4c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CarePlan.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CarePlan.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -130,14 +130,14 @@ public class CarePlan extends DomainResource { } public String getSystem() { switch (this) { - case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; - case TASK: return "http://hl7.org/fhir/resource-types"; - case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; + case APPOINTMENT: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types"; + case TASK: return "http://hl7.org/fhir/fhir-types"; + case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types"; case NULL: return null; default: return "?"; } @@ -467,7 +467,7 @@ public class CarePlan extends DomainResource { */ ORDER, /** - * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used. + * The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used. */ OPTION, /** @@ -523,7 +523,7 @@ public class CarePlan extends DomainResource { case PROPOSAL: return "The request is a suggestion made by someone/something that does not have an intention to ensure it occurs and without providing an authorization to act."; case PLAN: return "The request represents an intention to ensure something occurs without providing an authorization for others to act."; case ORDER: return "The request represents a request/demand and authorization for action by a Practitioner."; - case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used."; + case OPTION: return "The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used."; case DIRECTIVE: return "The request represents a legally binding instruction authored by a Patient or RelatedPerson."; case NULL: return null; default: return "?"; @@ -617,7 +617,7 @@ public class CarePlan extends DomainResource { /** * The details of the proposed activity represented in a specific resource. */ - @Child(name = "plannedActivityReference", type = {Appointment.class, CommunicationRequest.class, DeviceRequest.class, MedicationRequest.class, NutritionOrder.class, Task.class, ServiceRequest.class, VisionPrescription.class, RequestGroup.class, ImmunizationRecommendation.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "plannedActivityReference", type = {Appointment.class, CommunicationRequest.class, DeviceRequest.class, MedicationRequest.class, NutritionOrder.class, Task.class, ServiceRequest.class, VisionPrescription.class, RequestOrchestration.class, ImmunizationRecommendation.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Activity that is intended to be part of the care plan", formalDefinition="The details of the proposed activity represented in a specific resource." ) protected Reference plannedActivityReference; @@ -795,7 +795,7 @@ public class CarePlan extends DomainResource { super.listChildren(children); children.add(new Property("performedActivity", "CodeableReference(Any)", "Identifies the activity that was performed. For example, an activity could be patient education, exercise, or a medication administration. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, represents the activity that was performed. The requested activity can be conveyed using CarePlan.activity.plannedActivityDetail OR using the CarePlan.activity.plannedActivityReference (a reference to a “request” resource).", 0, java.lang.Integer.MAX_VALUE, performedActivity)); children.add(new Property("progress", "Annotation", "Notes about the adherence/status/progress of the activity.", 0, java.lang.Integer.MAX_VALUE, progress)); - children.add(new Property("plannedActivityReference", "Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestGroup|ImmunizationRecommendation)", "The details of the proposed activity represented in a specific resource.", 0, 1, plannedActivityReference)); + children.add(new Property("plannedActivityReference", "Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestOrchestration|ImmunizationRecommendation)", "The details of the proposed activity represented in a specific resource.", 0, 1, plannedActivityReference)); children.add(new Property("plannedActivityDetail", "", "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.", 0, 1, plannedActivityDetail)); } @@ -804,7 +804,7 @@ public class CarePlan extends DomainResource { switch (_hash) { case 1964521199: /*performedActivity*/ return new Property("performedActivity", "CodeableReference(Any)", "Identifies the activity that was performed. For example, an activity could be patient education, exercise, or a medication administration. The reference to an \"event\" resource, such as Procedure or Encounter or Observation, represents the activity that was performed. The requested activity can be conveyed using CarePlan.activity.plannedActivityDetail OR using the CarePlan.activity.plannedActivityReference (a reference to a “request” resource).", 0, java.lang.Integer.MAX_VALUE, performedActivity); case -1001078227: /*progress*/ return new Property("progress", "Annotation", "Notes about the adherence/status/progress of the activity.", 0, java.lang.Integer.MAX_VALUE, progress); - case -1114371176: /*plannedActivityReference*/ return new Property("plannedActivityReference", "Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestGroup|ImmunizationRecommendation)", "The details of the proposed activity represented in a specific resource.", 0, 1, plannedActivityReference); + case -1114371176: /*plannedActivityReference*/ return new Property("plannedActivityReference", "Reference(Appointment|CommunicationRequest|DeviceRequest|MedicationRequest|NutritionOrder|Task|ServiceRequest|VisionPrescription|RequestOrchestration|ImmunizationRecommendation)", "The details of the proposed activity represented in a specific resource.", 0, 1, plannedActivityReference); case 2072803108: /*plannedActivityDetail*/ return new Property("plannedActivityDetail", "", "A simple summary of a planned activity suitable for a general care plan system (e.g. form driven) that doesn't know about specific resources such as procedure etc.", 0, 1, plannedActivityDetail); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4075,7 +4075,7 @@ public class CarePlan extends DomainResource { * Path: CarePlan.activity.plannedActivityReference
*

*/ - @SearchParamDefinition(name="activity-reference", path="CarePlan.activity.plannedActivityReference", description="Activity that is intended to be part of the care plan", type="reference", target={Appointment.class, CommunicationRequest.class, DeviceRequest.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, RequestGroup.class, ServiceRequest.class, Task.class, VisionPrescription.class } ) + @SearchParamDefinition(name="activity-reference", path="CarePlan.activity.plannedActivityReference", description="Activity that is intended to be part of the care plan", type="reference", target={Appointment.class, CommunicationRequest.class, DeviceRequest.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, RequestOrchestration.class, ServiceRequest.class, Task.class, VisionPrescription.class } ) public static final String SP_ACTIVITY_REFERENCE = "activity-reference"; /** * Fluent Client search parameter constant for activity-reference @@ -4098,17 +4098,17 @@ public class CarePlan extends DomainResource { *

* Description: Specified date occurs within period specified by CarePlan.activity.plannedActivityDetail.scheduled[x]
* Type: date
- * Path: CarePlan.activity.plannedActivityDetail.scheduled.as(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.as(Period)
+ * Path: CarePlan.activity.plannedActivityDetail.scheduled.ofType(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.ofType(Period)
*

*/ - @SearchParamDefinition(name="activity-scheduled-date", path="CarePlan.activity.plannedActivityDetail.scheduled.as(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.as(Period)", description="Specified date occurs within period specified by CarePlan.activity.plannedActivityDetail.scheduled[x]", type="date" ) + @SearchParamDefinition(name="activity-scheduled-date", path="CarePlan.activity.plannedActivityDetail.scheduled.ofType(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.ofType(Period)", description="Specified date occurs within period specified by CarePlan.activity.plannedActivityDetail.scheduled[x]", type="date" ) public static final String SP_ACTIVITY_SCHEDULED_DATE = "activity-scheduled-date"; /** * Fluent Client search parameter constant for activity-scheduled-date *

* Description: Specified date occurs within period specified by CarePlan.activity.plannedActivityDetail.scheduled[x]
* Type: date
- * Path: CarePlan.activity.plannedActivityDetail.scheduled.as(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.as(Period)
+ * Path: CarePlan.activity.plannedActivityDetail.scheduled.ofType(Timing) | CarePlan.activity.plannedActivityDetail.scheduled.ofType(Period)
*

*/ public static final ca.uhn.fhir.rest.gclient.DateClientParam ACTIVITY_SCHEDULED_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ACTIVITY_SCHEDULED_DATE); @@ -4118,17 +4118,17 @@ public class CarePlan extends DomainResource { *

* Description: When activity is to occur
* Type: string
- * Path: CarePlan.activity.plannedActivityDetail.scheduled.as(string)
+ * Path: CarePlan.activity.plannedActivityDetail.scheduled.ofType(string)
*

*/ - @SearchParamDefinition(name="activity-scheduled-string", path="CarePlan.activity.plannedActivityDetail.scheduled.as(string)", description="When activity is to occur", type="string" ) + @SearchParamDefinition(name="activity-scheduled-string", path="CarePlan.activity.plannedActivityDetail.scheduled.ofType(string)", description="When activity is to occur", type="string" ) public static final String SP_ACTIVITY_SCHEDULED_STRING = "activity-scheduled-string"; /** * Fluent Client search parameter constant for activity-scheduled-string *

* Description: When activity is to occur
* Type: string
- * Path: CarePlan.activity.plannedActivityDetail.scheduled.as(string)
+ * Path: CarePlan.activity.plannedActivityDetail.scheduled.ofType(string)
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ACTIVITY_SCHEDULED_STRING = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ACTIVITY_SCHEDULED_STRING); @@ -4671,7 +4671,7 @@ public class CarePlan extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4680,10 +4680,10 @@ public class CarePlan extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4715,7 +4715,7 @@ public class CarePlan extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4724,7 +4724,7 @@ public class CarePlan extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CareTeam.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CareTeam.java index aca443fca..152842fc7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CareTeam.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CareTeam.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1455,17 +1455,17 @@ public class CareTeam extends DomainResource { *

* Description: Name of the team, such as crisis assessment team
* Type: string
- * Path: CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias')
+ * Path: CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias').value
*

*/ - @SearchParamDefinition(name="name", path="CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias')", description="Name of the team, such as crisis assessment team", type="string" ) + @SearchParamDefinition(name="name", path="CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias').value", description="Name of the team, such as crisis assessment team", type="string" ) public static final String SP_NAME = "name"; /** * Fluent Client search parameter constant for name *

* Description: Name of the team, such as crisis assessment team
* Type: string
- * Path: CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias')
+ * Path: CareTeam.name | CareTeam.extension('http://hl7.org/fhir/StructureDefinition/careteam-alias').value
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); @@ -1714,7 +1714,7 @@ public class CareTeam extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1723,10 +1723,10 @@ public class CareTeam extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1758,7 +1758,7 @@ public class CareTeam extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1767,7 +1767,7 @@ public class CareTeam extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItem.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItem.java index a19a7ffba..8722f43be 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItem.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItem.java @@ -29,12 +29,11 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.math.*; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.r5.model.Enumerations.*; import org.hl7.fhir.instance.model.api.IBaseBackboneElement; @@ -243,7 +242,7 @@ public class ChargeItem extends DomainResource { /** * The device, practitioner, etc. who performed or participated in the service. */ - @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, Device.class, RelatedPerson.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, HealthcareService.class, CareTeam.class, Patient.class, Device.class, RelatedPerson.class}, order=2, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Individual who was performing", formalDefinition="The device, practitioner, etc. who performed or participated in the service." ) protected Reference actor; @@ -315,14 +314,14 @@ public class ChargeItem extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("function", "CodeableConcept", "Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.).", 0, 1, function)); - children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "The device, practitioner, etc. who performed or participated in the service.", 0, 1, actor)); + children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|HealthcareService|CareTeam|Patient|Device|RelatedPerson)", "The device, practitioner, etc. who performed or participated in the service.", 0, 1, actor)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Describes the type of performance or participation(e.g. primary surgeon, anesthesiologiest, etc.).", 0, 1, function); - case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "The device, practitioner, etc. who performed or participated in the service.", 0, 1, actor); + case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|HealthcareService|CareTeam|Patient|Device|RelatedPerson)", "The device, practitioner, etc. who performed or participated in the service.", 0, 1, actor); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -492,11 +491,11 @@ public class ChargeItem extends DomainResource { protected Reference subject; /** - * The encounter or episode of care that establishes the context for this event. + * This ChargeItem has the details of how the associated Encounter should be billed or otherwise be handled by finance systems. */ - @Child(name = "context", type = {Encounter.class, EpisodeOfCare.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Encounter / Episode associated with event", formalDefinition="The encounter or episode of care that establishes the context for this event." ) - protected Reference context; + @Child(name = "encounter", type = {Encounter.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Encounter associated with this ChargeItem", formalDefinition="This ChargeItem has the details of how the associated Encounter should be billed or otherwise be handled by finance systems." ) + protected Reference encounter; /** * Date/time(s) or duration when the charged service was applied. @@ -513,17 +512,17 @@ public class ChargeItem extends DomainResource { protected List performer; /** - * The organization requesting the service. + * The organization performing the service. */ @Child(name = "performingOrganization", type = {Organization.class}, order=10, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Organization providing the charged service", formalDefinition="The organization requesting the service." ) + @Description(shortDefinition="Organization providing the charged service", formalDefinition="The organization performing the service." ) protected Reference performingOrganization; /** - * The organization performing the service. + * The organization requesting the service. */ @Child(name = "requestingOrganization", type = {Organization.class}, order=11, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Organization requesting the charged service", formalDefinition="The organization performing the service." ) + @Description(shortDefinition="Organization requesting the charged service", formalDefinition="The organization requesting the service." ) protected Reference requestingOrganization; /** @@ -549,25 +548,25 @@ public class ChargeItem extends DomainResource { protected List bodysite; /** - * Factor overriding the factor determined by the rules associated with the code. + * The unit price of the chargable item. */ - @Child(name = "factorOverride", type = {DecimalType.class}, order=15, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Factor overriding the associated rules", formalDefinition="Factor overriding the factor determined by the rules associated with the code." ) - protected DecimalType factorOverride; + @Child(name = "unitPriceComponent", type = {MonetaryComponent.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Unit price overriding the associated rules", formalDefinition="The unit price of the chargable item." ) + protected MonetaryComponent unitPriceComponent; /** - * Total price of the charge overriding the list price associated with the code. + * The total price for the chargable item, accounting for the quantity. */ - @Child(name = "priceOverride", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Price overriding the associated rules", formalDefinition="Total price of the charge overriding the list price associated with the code." ) - protected Money priceOverride; + @Child(name = "totalPriceComponent", type = {MonetaryComponent.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total price overriding the associated rules", formalDefinition="The total price for the chargable item, accounting for the quantity." ) + protected MonetaryComponent totalPriceComponent; /** * If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action. */ - @Child(name = "overrideReason", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "overrideReason", type = {CodeableConcept.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reason for overriding the list price/factor", formalDefinition="If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action." ) - protected StringType overrideReason; + protected CodeableConcept overrideReason; /** * The device, practitioner, etc. who entered the charge item. @@ -594,9 +593,9 @@ public class ChargeItem extends DomainResource { /** * Indicated the rendered service that caused this charge. */ - @Child(name = "service", type = {DiagnosticReport.class, ImagingStudy.class, Immunization.class, MedicationAdministration.class, MedicationDispense.class, Observation.class, Procedure.class, SupplyDelivery.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "service", type = {CodeableReference.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Which rendered service is being charged?", formalDefinition="Indicated the rendered service that caused this charge." ) - protected List service; + protected List service; /** * Identifies the device, food, drug or other product being charged either by type code or reference to an instance. @@ -627,7 +626,7 @@ public class ChargeItem extends DomainResource { @Description(shortDefinition="Further information supporting this charge", formalDefinition="Further information supporting this charge." ) protected List supportingInformation; - private static final long serialVersionUID = 244289087L; + private static final long serialVersionUID = -766813613L; /** * Constructor @@ -968,26 +967,26 @@ public class ChargeItem extends DomainResource { } /** - * @return {@link #context} (The encounter or episode of care that establishes the context for this event.) + * @return {@link #encounter} (This ChargeItem has the details of how the associated Encounter should be billed or otherwise be handled by finance systems.) */ - public Reference getContext() { - if (this.context == null) + public Reference getEncounter() { + if (this.encounter == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItem.context"); + throw new Error("Attempt to auto-create ChargeItem.encounter"); else if (Configuration.doAutoCreate()) - this.context = new Reference(); // cc - return this.context; + this.encounter = new Reference(); // cc + return this.encounter; } - public boolean hasContext() { - return this.context != null && !this.context.isEmpty(); + public boolean hasEncounter() { + return this.encounter != null && !this.encounter.isEmpty(); } /** - * @param value {@link #context} (The encounter or episode of care that establishes the context for this event.) + * @param value {@link #encounter} (This ChargeItem has the details of how the associated Encounter should be billed or otherwise be handled by finance systems.) */ - public ChargeItem setContext(Reference value) { - this.context = value; + public ChargeItem setEncounter(Reference value) { + this.encounter = value; return this; } @@ -1111,7 +1110,7 @@ public class ChargeItem extends DomainResource { } /** - * @return {@link #performingOrganization} (The organization requesting the service.) + * @return {@link #performingOrganization} (The organization performing the service.) */ public Reference getPerformingOrganization() { if (this.performingOrganization == null) @@ -1127,7 +1126,7 @@ public class ChargeItem extends DomainResource { } /** - * @param value {@link #performingOrganization} (The organization requesting the service.) + * @param value {@link #performingOrganization} (The organization performing the service.) */ public ChargeItem setPerformingOrganization(Reference value) { this.performingOrganization = value; @@ -1135,7 +1134,7 @@ public class ChargeItem extends DomainResource { } /** - * @return {@link #requestingOrganization} (The organization performing the service.) + * @return {@link #requestingOrganization} (The organization requesting the service.) */ public Reference getRequestingOrganization() { if (this.requestingOrganization == null) @@ -1151,7 +1150,7 @@ public class ChargeItem extends DomainResource { } /** - * @param value {@link #requestingOrganization} (The organization performing the service.) + * @param value {@link #requestingOrganization} (The organization requesting the service.) */ public ChargeItem setRequestingOrganization(Reference value) { this.requestingOrganization = value; @@ -1260,145 +1259,77 @@ public class ChargeItem extends DomainResource { } /** - * @return {@link #factorOverride} (Factor overriding the factor determined by the rules associated with the code.). This is the underlying object with id, value and extensions. The accessor "getFactorOverride" gives direct access to the value + * @return {@link #unitPriceComponent} (The unit price of the chargable item.) */ - public DecimalType getFactorOverrideElement() { - if (this.factorOverride == null) + public MonetaryComponent getUnitPriceComponent() { + if (this.unitPriceComponent == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItem.factorOverride"); + throw new Error("Attempt to auto-create ChargeItem.unitPriceComponent"); else if (Configuration.doAutoCreate()) - this.factorOverride = new DecimalType(); // bb - return this.factorOverride; + this.unitPriceComponent = new MonetaryComponent(); // cc + return this.unitPriceComponent; } - public boolean hasFactorOverrideElement() { - return this.factorOverride != null && !this.factorOverride.isEmpty(); - } - - public boolean hasFactorOverride() { - return this.factorOverride != null && !this.factorOverride.isEmpty(); + public boolean hasUnitPriceComponent() { + return this.unitPriceComponent != null && !this.unitPriceComponent.isEmpty(); } /** - * @param value {@link #factorOverride} (Factor overriding the factor determined by the rules associated with the code.). This is the underlying object with id, value and extensions. The accessor "getFactorOverride" gives direct access to the value + * @param value {@link #unitPriceComponent} (The unit price of the chargable item.) */ - public ChargeItem setFactorOverrideElement(DecimalType value) { - this.factorOverride = value; + public ChargeItem setUnitPriceComponent(MonetaryComponent value) { + this.unitPriceComponent = value; return this; } /** - * @return Factor overriding the factor determined by the rules associated with the code. + * @return {@link #totalPriceComponent} (The total price for the chargable item, accounting for the quantity.) */ - public BigDecimal getFactorOverride() { - return this.factorOverride == null ? null : this.factorOverride.getValue(); - } - - /** - * @param value Factor overriding the factor determined by the rules associated with the code. - */ - public ChargeItem setFactorOverride(BigDecimal value) { - if (value == null) - this.factorOverride = null; - else { - if (this.factorOverride == null) - this.factorOverride = new DecimalType(); - this.factorOverride.setValue(value); - } - return this; - } - - /** - * @param value Factor overriding the factor determined by the rules associated with the code. - */ - public ChargeItem setFactorOverride(long value) { - this.factorOverride = new DecimalType(); - this.factorOverride.setValue(value); - return this; - } - - /** - * @param value Factor overriding the factor determined by the rules associated with the code. - */ - public ChargeItem setFactorOverride(double value) { - this.factorOverride = new DecimalType(); - this.factorOverride.setValue(value); - return this; - } - - /** - * @return {@link #priceOverride} (Total price of the charge overriding the list price associated with the code.) - */ - public Money getPriceOverride() { - if (this.priceOverride == null) + public MonetaryComponent getTotalPriceComponent() { + if (this.totalPriceComponent == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItem.priceOverride"); + throw new Error("Attempt to auto-create ChargeItem.totalPriceComponent"); else if (Configuration.doAutoCreate()) - this.priceOverride = new Money(); // cc - return this.priceOverride; + this.totalPriceComponent = new MonetaryComponent(); // cc + return this.totalPriceComponent; } - public boolean hasPriceOverride() { - return this.priceOverride != null && !this.priceOverride.isEmpty(); + public boolean hasTotalPriceComponent() { + return this.totalPriceComponent != null && !this.totalPriceComponent.isEmpty(); } /** - * @param value {@link #priceOverride} (Total price of the charge overriding the list price associated with the code.) + * @param value {@link #totalPriceComponent} (The total price for the chargable item, accounting for the quantity.) */ - public ChargeItem setPriceOverride(Money value) { - this.priceOverride = value; + public ChargeItem setTotalPriceComponent(MonetaryComponent value) { + this.totalPriceComponent = value; return this; } /** - * @return {@link #overrideReason} (If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.). This is the underlying object with id, value and extensions. The accessor "getOverrideReason" gives direct access to the value + * @return {@link #overrideReason} (If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.) */ - public StringType getOverrideReasonElement() { + public CodeableConcept getOverrideReason() { if (this.overrideReason == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ChargeItem.overrideReason"); else if (Configuration.doAutoCreate()) - this.overrideReason = new StringType(); // bb + this.overrideReason = new CodeableConcept(); // cc return this.overrideReason; } - public boolean hasOverrideReasonElement() { - return this.overrideReason != null && !this.overrideReason.isEmpty(); - } - public boolean hasOverrideReason() { return this.overrideReason != null && !this.overrideReason.isEmpty(); } /** - * @param value {@link #overrideReason} (If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.). This is the underlying object with id, value and extensions. The accessor "getOverrideReason" gives direct access to the value + * @param value {@link #overrideReason} (If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.) */ - public ChargeItem setOverrideReasonElement(StringType value) { + public ChargeItem setOverrideReason(CodeableConcept value) { this.overrideReason = value; return this; } - /** - * @return If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action. - */ - public String getOverrideReason() { - return this.overrideReason == null ? null : this.overrideReason.getValue(); - } - - /** - * @param value If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action. - */ - public ChargeItem setOverrideReason(String value) { - if (Utilities.noString(value)) - this.overrideReason = null; - else { - if (this.overrideReason == null) - this.overrideReason = new StringType(); - this.overrideReason.setValue(value); - } - return this; - } - /** * @return {@link #enterer} (The device, practitioner, etc. who entered the charge item.) */ @@ -1528,16 +1459,16 @@ public class ChargeItem extends DomainResource { /** * @return {@link #service} (Indicated the rendered service that caused this charge.) */ - public List getService() { + public List getService() { if (this.service == null) - this.service = new ArrayList(); + this.service = new ArrayList(); return this.service; } /** * @return Returns a reference to this for easy method chaining */ - public ChargeItem setService(List theService) { + public ChargeItem setService(List theService) { this.service = theService; return this; } @@ -1545,25 +1476,25 @@ public class ChargeItem extends DomainResource { public boolean hasService() { if (this.service == null) return false; - for (Reference item : this.service) + for (CodeableReference item : this.service) if (!item.isEmpty()) return true; return false; } - public Reference addService() { //3 - Reference t = new Reference(); + public CodeableReference addService() { //3 + CodeableReference t = new CodeableReference(); if (this.service == null) - this.service = new ArrayList(); + this.service = new ArrayList(); this.service.add(t); return t; } - public ChargeItem addService(Reference t) { //3 + public ChargeItem addService(CodeableReference t) { //3 if (t == null) return this; if (this.service == null) - this.service = new ArrayList(); + this.service = new ArrayList(); this.service.add(t); return this; } @@ -1571,7 +1502,7 @@ public class ChargeItem extends DomainResource { /** * @return The first repetition of repeating field {@link #service}, creating it if it does not already exist {3} */ - public Reference getServiceFirstRep() { + public CodeableReference getServiceFirstRep() { if (getService().isEmpty()) { addService(); } @@ -1799,21 +1730,21 @@ public class ChargeItem extends DomainResource { children.add(new Property("partOf", "Reference(ChargeItem)", "ChargeItems can be grouped to larger ChargeItems covering the whole set.", 0, java.lang.Integer.MAX_VALUE, partOf)); children.add(new Property("code", "CodeableConcept", "A code that identifies the charge, like a billing code.", 0, 1, code)); children.add(new Property("subject", "Reference(Patient|Group)", "The individual or set of individuals the action is being or was performed on.", 0, 1, subject)); - children.add(new Property("context", "Reference(Encounter|EpisodeOfCare)", "The encounter or episode of care that establishes the context for this event.", 0, 1, context)); + children.add(new Property("encounter", "Reference(Encounter)", "This ChargeItem has the details of how the associated Encounter should be billed or otherwise be handled by finance systems.", 0, 1, encounter)); children.add(new Property("occurrence[x]", "dateTime|Period|Timing", "Date/time(s) or duration when the charged service was applied.", 0, 1, occurrence)); children.add(new Property("performer", "", "Indicates who or what performed or participated in the charged service.", 0, java.lang.Integer.MAX_VALUE, performer)); - children.add(new Property("performingOrganization", "Reference(Organization)", "The organization requesting the service.", 0, 1, performingOrganization)); - children.add(new Property("requestingOrganization", "Reference(Organization)", "The organization performing the service.", 0, 1, requestingOrganization)); + children.add(new Property("performingOrganization", "Reference(Organization)", "The organization performing the service.", 0, 1, performingOrganization)); + children.add(new Property("requestingOrganization", "Reference(Organization)", "The organization requesting the service.", 0, 1, requestingOrganization)); children.add(new Property("costCenter", "Reference(Organization)", "The financial cost center permits the tracking of charge attribution.", 0, 1, costCenter)); children.add(new Property("quantity", "Quantity", "Quantity of which the charge item has been serviced.", 0, 1, quantity)); children.add(new Property("bodysite", "CodeableConcept", "The anatomical location where the related service has been applied.", 0, java.lang.Integer.MAX_VALUE, bodysite)); - children.add(new Property("factorOverride", "decimal", "Factor overriding the factor determined by the rules associated with the code.", 0, 1, factorOverride)); - children.add(new Property("priceOverride", "Money", "Total price of the charge overriding the list price associated with the code.", 0, 1, priceOverride)); - children.add(new Property("overrideReason", "string", "If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.", 0, 1, overrideReason)); + children.add(new Property("unitPriceComponent", "MonetaryComponent", "The unit price of the chargable item.", 0, 1, unitPriceComponent)); + children.add(new Property("totalPriceComponent", "MonetaryComponent", "The total price for the chargable item, accounting for the quantity.", 0, 1, totalPriceComponent)); + children.add(new Property("overrideReason", "CodeableConcept", "If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.", 0, 1, overrideReason)); children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson)", "The device, practitioner, etc. who entered the charge item.", 0, 1, enterer)); children.add(new Property("enteredDate", "dateTime", "Date the charge item was entered.", 0, 1, enteredDate)); children.add(new Property("reason", "CodeableConcept", "Describes why the event occurred in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason)); - children.add(new Property("service", "Reference(DiagnosticReport|ImagingStudy|Immunization|MedicationAdministration|MedicationDispense|Observation|Procedure|SupplyDelivery)", "Indicated the rendered service that caused this charge.", 0, java.lang.Integer.MAX_VALUE, service)); + children.add(new Property("service", "CodeableReference(DiagnosticReport|ImagingStudy|Immunization|MedicationAdministration|MedicationDispense|MedicationRequest|Observation|Procedure|ServiceRequest|SupplyDelivery)", "Indicated the rendered service that caused this charge.", 0, java.lang.Integer.MAX_VALUE, service)); children.add(new Property("product", "CodeableReference(Device|Medication|Substance)", "Identifies the device, food, drug or other product being charged either by type code or reference to an instance.", 0, java.lang.Integer.MAX_VALUE, product)); children.add(new Property("account", "Reference(Account)", "Account into which this ChargeItems belongs.", 0, java.lang.Integer.MAX_VALUE, account)); children.add(new Property("note", "Annotation", "Comments made about the event by the performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note)); @@ -1830,25 +1761,25 @@ public class ChargeItem extends DomainResource { case -995410646: /*partOf*/ return new Property("partOf", "Reference(ChargeItem)", "ChargeItems can be grouped to larger ChargeItems covering the whole set.", 0, java.lang.Integer.MAX_VALUE, partOf); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies the charge, like a billing code.", 0, 1, code); case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The individual or set of individuals the action is being or was performed on.", 0, 1, subject); - case 951530927: /*context*/ return new Property("context", "Reference(Encounter|EpisodeOfCare)", "The encounter or episode of care that establishes the context for this event.", 0, 1, context); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "This ChargeItem has the details of how the associated Encounter should be billed or otherwise be handled by finance systems.", 0, 1, encounter); case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "Date/time(s) or duration when the charged service was applied.", 0, 1, occurrence); case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "Date/time(s) or duration when the charged service was applied.", 0, 1, occurrence); case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime", "Date/time(s) or duration when the charged service was applied.", 0, 1, occurrence); case 1397156594: /*occurrencePeriod*/ return new Property("occurrence[x]", "Period", "Date/time(s) or duration when the charged service was applied.", 0, 1, occurrence); case 1515218299: /*occurrenceTiming*/ return new Property("occurrence[x]", "Timing", "Date/time(s) or duration when the charged service was applied.", 0, 1, occurrence); case 481140686: /*performer*/ return new Property("performer", "", "Indicates who or what performed or participated in the charged service.", 0, java.lang.Integer.MAX_VALUE, performer); - case 1273192628: /*performingOrganization*/ return new Property("performingOrganization", "Reference(Organization)", "The organization requesting the service.", 0, 1, performingOrganization); - case 1279054790: /*requestingOrganization*/ return new Property("requestingOrganization", "Reference(Organization)", "The organization performing the service.", 0, 1, requestingOrganization); + case 1273192628: /*performingOrganization*/ return new Property("performingOrganization", "Reference(Organization)", "The organization performing the service.", 0, 1, performingOrganization); + case 1279054790: /*requestingOrganization*/ return new Property("requestingOrganization", "Reference(Organization)", "The organization requesting the service.", 0, 1, requestingOrganization); case -593192318: /*costCenter*/ return new Property("costCenter", "Reference(Organization)", "The financial cost center permits the tracking of charge attribution.", 0, 1, costCenter); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "Quantity of which the charge item has been serviced.", 0, 1, quantity); case 1703573481: /*bodysite*/ return new Property("bodysite", "CodeableConcept", "The anatomical location where the related service has been applied.", 0, java.lang.Integer.MAX_VALUE, bodysite); - case -451233221: /*factorOverride*/ return new Property("factorOverride", "decimal", "Factor overriding the factor determined by the rules associated with the code.", 0, 1, factorOverride); - case -216803275: /*priceOverride*/ return new Property("priceOverride", "Money", "Total price of the charge overriding the list price associated with the code.", 0, 1, priceOverride); - case -742878928: /*overrideReason*/ return new Property("overrideReason", "string", "If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.", 0, 1, overrideReason); + case -925197224: /*unitPriceComponent*/ return new Property("unitPriceComponent", "MonetaryComponent", "The unit price of the chargable item.", 0, 1, unitPriceComponent); + case 1731497496: /*totalPriceComponent*/ return new Property("totalPriceComponent", "MonetaryComponent", "The total price for the chargable item, accounting for the quantity.", 0, 1, totalPriceComponent); + case -742878928: /*overrideReason*/ return new Property("overrideReason", "CodeableConcept", "If the list price or the rule-based factor associated with the code is overridden, this attribute can capture a text to indicate the reason for this action.", 0, 1, overrideReason); case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson)", "The device, practitioner, etc. who entered the charge item.", 0, 1, enterer); case 555978181: /*enteredDate*/ return new Property("enteredDate", "dateTime", "Date the charge item was entered.", 0, 1, enteredDate); case -934964668: /*reason*/ return new Property("reason", "CodeableConcept", "Describes why the event occurred in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason); - case 1984153269: /*service*/ return new Property("service", "Reference(DiagnosticReport|ImagingStudy|Immunization|MedicationAdministration|MedicationDispense|Observation|Procedure|SupplyDelivery)", "Indicated the rendered service that caused this charge.", 0, java.lang.Integer.MAX_VALUE, service); + case 1984153269: /*service*/ return new Property("service", "CodeableReference(DiagnosticReport|ImagingStudy|Immunization|MedicationAdministration|MedicationDispense|MedicationRequest|Observation|Procedure|ServiceRequest|SupplyDelivery)", "Indicated the rendered service that caused this charge.", 0, java.lang.Integer.MAX_VALUE, service); case -309474065: /*product*/ return new Property("product", "CodeableReference(Device|Medication|Substance)", "Identifies the device, food, drug or other product being charged either by type code or reference to an instance.", 0, java.lang.Integer.MAX_VALUE, product); case -1177318867: /*account*/ return new Property("account", "Reference(Account)", "Account into which this ChargeItems belongs.", 0, java.lang.Integer.MAX_VALUE, account); case 3387378: /*note*/ return new Property("note", "Annotation", "Comments made about the event by the performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note); @@ -1868,7 +1799,7 @@ public class ChargeItem extends DomainResource { case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // Reference case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference - case 951530927: /*context*/ return this.context == null ? new Base[0] : new Base[] {this.context}; // Reference + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // ChargeItemPerformerComponent case 1273192628: /*performingOrganization*/ return this.performingOrganization == null ? new Base[0] : new Base[] {this.performingOrganization}; // Reference @@ -1876,13 +1807,13 @@ public class ChargeItem extends DomainResource { case -593192318: /*costCenter*/ return this.costCenter == null ? new Base[0] : new Base[] {this.costCenter}; // Reference case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case 1703573481: /*bodysite*/ return this.bodysite == null ? new Base[0] : this.bodysite.toArray(new Base[this.bodysite.size()]); // CodeableConcept - case -451233221: /*factorOverride*/ return this.factorOverride == null ? new Base[0] : new Base[] {this.factorOverride}; // DecimalType - case -216803275: /*priceOverride*/ return this.priceOverride == null ? new Base[0] : new Base[] {this.priceOverride}; // Money - case -742878928: /*overrideReason*/ return this.overrideReason == null ? new Base[0] : new Base[] {this.overrideReason}; // StringType + case -925197224: /*unitPriceComponent*/ return this.unitPriceComponent == null ? new Base[0] : new Base[] {this.unitPriceComponent}; // MonetaryComponent + case 1731497496: /*totalPriceComponent*/ return this.totalPriceComponent == null ? new Base[0] : new Base[] {this.totalPriceComponent}; // MonetaryComponent + case -742878928: /*overrideReason*/ return this.overrideReason == null ? new Base[0] : new Base[] {this.overrideReason}; // CodeableConcept case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference case 555978181: /*enteredDate*/ return this.enteredDate == null ? new Base[0] : new Base[] {this.enteredDate}; // DateTimeType case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableConcept - case 1984153269: /*service*/ return this.service == null ? new Base[0] : this.service.toArray(new Base[this.service.size()]); // Reference + case 1984153269: /*service*/ return this.service == null ? new Base[0] : this.service.toArray(new Base[this.service.size()]); // CodeableReference case -309474065: /*product*/ return this.product == null ? new Base[0] : this.product.toArray(new Base[this.product.size()]); // CodeableReference case -1177318867: /*account*/ return this.account == null ? new Base[0] : this.account.toArray(new Base[this.account.size()]); // Reference case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation @@ -1917,8 +1848,8 @@ public class ChargeItem extends DomainResource { case -1867885268: // subject this.subject = TypeConvertor.castToReference(value); // Reference return value; - case 951530927: // context - this.context = TypeConvertor.castToReference(value); // Reference + case 1524132147: // encounter + this.encounter = TypeConvertor.castToReference(value); // Reference return value; case 1687874001: // occurrence this.occurrence = TypeConvertor.castToType(value); // DataType @@ -1941,14 +1872,14 @@ public class ChargeItem extends DomainResource { case 1703573481: // bodysite this.getBodysite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; - case -451233221: // factorOverride - this.factorOverride = TypeConvertor.castToDecimal(value); // DecimalType + case -925197224: // unitPriceComponent + this.unitPriceComponent = TypeConvertor.castToMonetaryComponent(value); // MonetaryComponent return value; - case -216803275: // priceOverride - this.priceOverride = TypeConvertor.castToMoney(value); // Money + case 1731497496: // totalPriceComponent + this.totalPriceComponent = TypeConvertor.castToMonetaryComponent(value); // MonetaryComponent return value; case -742878928: // overrideReason - this.overrideReason = TypeConvertor.castToString(value); // StringType + this.overrideReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -1591951995: // enterer this.enterer = TypeConvertor.castToReference(value); // Reference @@ -1960,7 +1891,7 @@ public class ChargeItem extends DomainResource { this.getReason().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 1984153269: // service - this.getService().add(TypeConvertor.castToReference(value)); // Reference + this.getService().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; case -309474065: // product this.getProduct().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference @@ -1996,8 +1927,8 @@ public class ChargeItem extends DomainResource { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("subject")) { this.subject = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("context")) { - this.context = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("encounter")) { + this.encounter = TypeConvertor.castToReference(value); // Reference } else if (name.equals("occurrence[x]")) { this.occurrence = TypeConvertor.castToType(value); // DataType } else if (name.equals("performer")) { @@ -2012,12 +1943,12 @@ public class ChargeItem extends DomainResource { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("bodysite")) { this.getBodysite().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("factorOverride")) { - this.factorOverride = TypeConvertor.castToDecimal(value); // DecimalType - } else if (name.equals("priceOverride")) { - this.priceOverride = TypeConvertor.castToMoney(value); // Money + } else if (name.equals("unitPriceComponent")) { + this.unitPriceComponent = TypeConvertor.castToMonetaryComponent(value); // MonetaryComponent + } else if (name.equals("totalPriceComponent")) { + this.totalPriceComponent = TypeConvertor.castToMonetaryComponent(value); // MonetaryComponent } else if (name.equals("overrideReason")) { - this.overrideReason = TypeConvertor.castToString(value); // StringType + this.overrideReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("enterer")) { this.enterer = TypeConvertor.castToReference(value); // Reference } else if (name.equals("enteredDate")) { @@ -2025,7 +1956,7 @@ public class ChargeItem extends DomainResource { } else if (name.equals("reason")) { this.getReason().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("service")) { - this.getService().add(TypeConvertor.castToReference(value)); + this.getService().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("product")) { this.getProduct().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("account")) { @@ -2049,7 +1980,7 @@ public class ChargeItem extends DomainResource { case -995410646: return addPartOf(); case 3059181: return getCode(); case -1867885268: return getSubject(); - case 951530927: return getContext(); + case 1524132147: return getEncounter(); case -2022646513: return getOccurrence(); case 1687874001: return getOccurrence(); case 481140686: return addPerformer(); @@ -2058,9 +1989,9 @@ public class ChargeItem extends DomainResource { case -593192318: return getCostCenter(); case -1285004149: return getQuantity(); case 1703573481: return addBodysite(); - case -451233221: return getFactorOverrideElement(); - case -216803275: return getPriceOverride(); - case -742878928: return getOverrideReasonElement(); + case -925197224: return getUnitPriceComponent(); + case 1731497496: return getTotalPriceComponent(); + case -742878928: return getOverrideReason(); case -1591951995: return getEnterer(); case 555978181: return getEnteredDateElement(); case -934964668: return addReason(); @@ -2084,7 +2015,7 @@ public class ChargeItem extends DomainResource { case -995410646: /*partOf*/ return new String[] {"Reference"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case -1867885268: /*subject*/ return new String[] {"Reference"}; - case 951530927: /*context*/ return new String[] {"Reference"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period", "Timing"}; case 481140686: /*performer*/ return new String[] {}; case 1273192628: /*performingOrganization*/ return new String[] {"Reference"}; @@ -2092,13 +2023,13 @@ public class ChargeItem extends DomainResource { case -593192318: /*costCenter*/ return new String[] {"Reference"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case 1703573481: /*bodysite*/ return new String[] {"CodeableConcept"}; - case -451233221: /*factorOverride*/ return new String[] {"decimal"}; - case -216803275: /*priceOverride*/ return new String[] {"Money"}; - case -742878928: /*overrideReason*/ return new String[] {"string"}; + case -925197224: /*unitPriceComponent*/ return new String[] {"MonetaryComponent"}; + case 1731497496: /*totalPriceComponent*/ return new String[] {"MonetaryComponent"}; + case -742878928: /*overrideReason*/ return new String[] {"CodeableConcept"}; case -1591951995: /*enterer*/ return new String[] {"Reference"}; case 555978181: /*enteredDate*/ return new String[] {"dateTime"}; case -934964668: /*reason*/ return new String[] {"CodeableConcept"}; - case 1984153269: /*service*/ return new String[] {"Reference"}; + case 1984153269: /*service*/ return new String[] {"CodeableReference"}; case -309474065: /*product*/ return new String[] {"CodeableReference"}; case -1177318867: /*account*/ return new String[] {"Reference"}; case 3387378: /*note*/ return new String[] {"Annotation"}; @@ -2133,9 +2064,9 @@ public class ChargeItem extends DomainResource { this.subject = new Reference(); return this.subject; } - else if (name.equals("context")) { - this.context = new Reference(); - return this.context; + else if (name.equals("encounter")) { + this.encounter = new Reference(); + return this.encounter; } else if (name.equals("occurrenceDateTime")) { this.occurrence = new DateTimeType(); @@ -2171,15 +2102,17 @@ public class ChargeItem extends DomainResource { else if (name.equals("bodysite")) { return addBodysite(); } - else if (name.equals("factorOverride")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItem.factorOverride"); + else if (name.equals("unitPriceComponent")) { + this.unitPriceComponent = new MonetaryComponent(); + return this.unitPriceComponent; } - else if (name.equals("priceOverride")) { - this.priceOverride = new Money(); - return this.priceOverride; + else if (name.equals("totalPriceComponent")) { + this.totalPriceComponent = new MonetaryComponent(); + return this.totalPriceComponent; } else if (name.equals("overrideReason")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItem.overrideReason"); + this.overrideReason = new CodeableConcept(); + return this.overrideReason; } else if (name.equals("enterer")) { this.enterer = new Reference(); @@ -2246,7 +2179,7 @@ public class ChargeItem extends DomainResource { }; dst.code = code == null ? null : code.copy(); dst.subject = subject == null ? null : subject.copy(); - dst.context = context == null ? null : context.copy(); + dst.encounter = encounter == null ? null : encounter.copy(); dst.occurrence = occurrence == null ? null : occurrence.copy(); if (performer != null) { dst.performer = new ArrayList(); @@ -2262,8 +2195,8 @@ public class ChargeItem extends DomainResource { for (CodeableConcept i : bodysite) dst.bodysite.add(i.copy()); }; - dst.factorOverride = factorOverride == null ? null : factorOverride.copy(); - dst.priceOverride = priceOverride == null ? null : priceOverride.copy(); + dst.unitPriceComponent = unitPriceComponent == null ? null : unitPriceComponent.copy(); + dst.totalPriceComponent = totalPriceComponent == null ? null : totalPriceComponent.copy(); dst.overrideReason = overrideReason == null ? null : overrideReason.copy(); dst.enterer = enterer == null ? null : enterer.copy(); dst.enteredDate = enteredDate == null ? null : enteredDate.copy(); @@ -2273,8 +2206,8 @@ public class ChargeItem extends DomainResource { dst.reason.add(i.copy()); }; if (service != null) { - dst.service = new ArrayList(); - for (Reference i : service) + dst.service = new ArrayList(); + for (CodeableReference i : service) dst.service.add(i.copy()); }; if (product != null) { @@ -2313,10 +2246,10 @@ public class ChargeItem extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(definitionUri, o.definitionUri, true) && compareDeep(definitionCanonical, o.definitionCanonical, true) && compareDeep(status, o.status, true) && compareDeep(partOf, o.partOf, true) && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) - && compareDeep(context, o.context, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(performer, o.performer, true) + && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(performer, o.performer, true) && compareDeep(performingOrganization, o.performingOrganization, true) && compareDeep(requestingOrganization, o.requestingOrganization, true) && compareDeep(costCenter, o.costCenter, true) && compareDeep(quantity, o.quantity, true) && compareDeep(bodysite, o.bodysite, true) - && compareDeep(factorOverride, o.factorOverride, true) && compareDeep(priceOverride, o.priceOverride, true) + && compareDeep(unitPriceComponent, o.unitPriceComponent, true) && compareDeep(totalPriceComponent, o.totalPriceComponent, true) && compareDeep(overrideReason, o.overrideReason, true) && compareDeep(enterer, o.enterer, true) && compareDeep(enteredDate, o.enteredDate, true) && compareDeep(reason, o.reason, true) && compareDeep(service, o.service, true) && compareDeep(product, o.product, true) && compareDeep(account, o.account, true) && compareDeep(note, o.note, true) @@ -2331,15 +2264,14 @@ public class ChargeItem extends DomainResource { return false; ChargeItem o = (ChargeItem) other_; return compareValues(definitionUri, o.definitionUri, true) && compareValues(definitionCanonical, o.definitionCanonical, true) - && compareValues(status, o.status, true) && compareValues(factorOverride, o.factorOverride, true) && compareValues(overrideReason, o.overrideReason, true) - && compareValues(enteredDate, o.enteredDate, true); + && compareValues(status, o.status, true) && compareValues(enteredDate, o.enteredDate, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, definitionUri - , definitionCanonical, status, partOf, code, subject, context, occurrence, performer - , performingOrganization, requestingOrganization, costCenter, quantity, bodysite, factorOverride - , priceOverride, overrideReason, enterer, enteredDate, reason, service, product + , definitionCanonical, status, partOf, code, subject, encounter, occurrence, performer + , performingOrganization, requestingOrganization, costCenter, quantity, bodysite, unitPriceComponent + , totalPriceComponent, overrideReason, enterer, enteredDate, reason, service, product , account, note, supportingInformation); } @@ -2395,30 +2327,30 @@ public class ChargeItem extends DomainResource { public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); /** - * Search parameter: context + * Search parameter: encounter *

- * Description: Encounter / Episode associated with event
+ * Description: Encounter associated with event
* Type: reference
- * Path: ChargeItem.context
+ * Path: ChargeItem.encounter
*

*/ - @SearchParamDefinition(name="context", path="ChargeItem.context", description="Encounter / Episode associated with event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class, EpisodeOfCare.class } ) - public static final String SP_CONTEXT = "context"; + @SearchParamDefinition(name="encounter", path="ChargeItem.encounter", description="Encounter associated with event", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) + public static final String SP_ENCOUNTER = "encounter"; /** - * Fluent Client search parameter constant for context + * Fluent Client search parameter constant for encounter *

- * Description: Encounter / Episode associated with event
+ * Description: Encounter associated with event
* Type: reference
- * Path: ChargeItem.context
+ * Path: ChargeItem.encounter
*

*/ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONTEXT); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ChargeItem:context". + * the path value of "ChargeItem:encounter". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_CONTEXT = new ca.uhn.fhir.model.api.Include("ChargeItem:context").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("ChargeItem:encounter").toLocked(); /** * Search parameter: entered-date @@ -2471,17 +2403,17 @@ public class ChargeItem extends DomainResource { *

* Description: Factor overriding the associated rules
* Type: number
- * Path: ChargeItem.factorOverride
+ * Path: ChargeItem.totalPriceComponent.factor
*

*/ - @SearchParamDefinition(name="factor-override", path="ChargeItem.factorOverride", description="Factor overriding the associated rules", type="number" ) + @SearchParamDefinition(name="factor-override", path="ChargeItem.totalPriceComponent.factor", description="Factor overriding the associated rules", type="number" ) public static final String SP_FACTOR_OVERRIDE = "factor-override"; /** * Fluent Client search parameter constant for factor-override *

* Description: Factor overriding the associated rules
* Type: number
- * Path: ChargeItem.factorOverride
+ * Path: ChargeItem.totalPriceComponent.factor
*

*/ public static final ca.uhn.fhir.rest.gclient.NumberClientParam FACTOR_OVERRIDE = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_FACTOR_OVERRIDE); @@ -2560,7 +2492,7 @@ public class ChargeItem extends DomainResource { * Path: ChargeItem.performer.actor
*

*/ - @SearchParamDefinition(name="performer-actor", path="ChargeItem.performer.actor", description="Individual who was performing", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CareTeam.class, Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) + @SearchParamDefinition(name="performer-actor", path="ChargeItem.performer.actor", description="Individual who was performing", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CareTeam.class, Device.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) public static final String SP_PERFORMER_ACTOR = "performer-actor"; /** * Fluent Client search parameter constant for performer-actor @@ -2629,17 +2561,17 @@ public class ChargeItem extends DomainResource { *

* Description: Price overriding the associated rules
* Type: quantity
- * Path: ChargeItem.priceOverride
+ * Path: ChargeItem.totalPriceComponent.amount
*

*/ - @SearchParamDefinition(name="price-override", path="ChargeItem.priceOverride", description="Price overriding the associated rules", type="quantity" ) + @SearchParamDefinition(name="price-override", path="ChargeItem.totalPriceComponent.amount", description="Price overriding the associated rules", type="quantity" ) public static final String SP_PRICE_OVERRIDE = "price-override"; /** * Fluent Client search parameter constant for price-override *

* Description: Price overriding the associated rules
* Type: quantity
- * Path: ChargeItem.priceOverride
+ * Path: ChargeItem.totalPriceComponent.amount
*

*/ public static final ca.uhn.fhir.rest.gclient.QuantityClientParam PRICE_OVERRIDE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_PRICE_OVERRIDE); @@ -2695,17 +2627,17 @@ public class ChargeItem extends DomainResource { *

* Description: Which rendered service is being charged?
* Type: reference
- * Path: ChargeItem.service
+ * Path: ChargeItem.service.reference
*

*/ - @SearchParamDefinition(name="service", path="ChargeItem.service", description="Which rendered service is being charged?", type="reference", target={DiagnosticReport.class, ImagingStudy.class, Immunization.class, MedicationAdministration.class, MedicationDispense.class, Observation.class, Procedure.class, SupplyDelivery.class } ) + @SearchParamDefinition(name="service", path="ChargeItem.service.reference", description="Which rendered service is being charged?", type="reference" ) public static final String SP_SERVICE = "service"; /** * Fluent Client search parameter constant for service *

* Description: Which rendered service is being charged?
* Type: reference
- * Path: ChargeItem.service
+ * Path: ChargeItem.service.reference
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SERVICE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SERVICE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItemDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItemDefinition.java index 48130021f..e8e66e2f3 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItemDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ChargeItemDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -56,28 +56,28 @@ public class ChargeItemDefinition extends MetadataResource { @Block() public static class ChargeItemDefinitionApplicabilityComponent extends BackboneElement implements IBaseBackboneElement { - /** - * A brief, natural language description of the condition that effectively communicates the intended semantics. - */ - @Child(name = "description", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Natural language description of the condition", formalDefinition="A brief, natural language description of the condition that effectively communicates the intended semantics." ) - protected StringType description; - - /** - * The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions. - */ - @Child(name = "language", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Language of the expression", formalDefinition="The media type of the language for the expression, e.g. \"text/cql\" for Clinical Query Language expressions or \"text/fhirpath\" for FHIRPath expressions." ) - protected StringType language; - /** * An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied. */ - @Child(name = "expression", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "condition", type = {Expression.class}, order=1, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Boolean-valued expression", formalDefinition="An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied." ) - protected StringType expression; + protected Expression condition; - private static final long serialVersionUID = 1354288281L; + /** + * The period during which the charge item definition content was or is planned to be in active use. + */ + @Child(name = "effectivePeriod", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When the charge item definition is expected to be used", formalDefinition="The period during which the charge item definition content was or is planned to be in active use." ) + protected Period effectivePeriod; + + /** + * Reference to / quotation of the external source of the group of properties. + */ + @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Reference to / quotation of the external source of the group of properties", formalDefinition="Reference to / quotation of the external source of the group of properties." ) + protected RelatedArtifact relatedArtifact; + + private static final long serialVersionUID = -1706427366L; /** * Constructor @@ -87,165 +87,90 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @return {@link #description} (A brief, natural language description of the condition that effectively communicates the intended semantics.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #condition} (An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.) */ - public StringType getDescriptionElement() { - if (this.description == null) + public Expression getCondition() { + if (this.condition == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionApplicabilityComponent.description"); + throw new Error("Attempt to auto-create ChargeItemDefinitionApplicabilityComponent.condition"); else if (Configuration.doAutoCreate()) - this.description = new StringType(); // bb - return this.description; + this.condition = new Expression(); // cc + return this.condition; } - public boolean hasDescriptionElement() { - return this.description != null && !this.description.isEmpty(); - } - - public boolean hasDescription() { - return this.description != null && !this.description.isEmpty(); + public boolean hasCondition() { + return this.condition != null && !this.condition.isEmpty(); } /** - * @param value {@link #description} (A brief, natural language description of the condition that effectively communicates the intended semantics.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #condition} (An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.) */ - public ChargeItemDefinitionApplicabilityComponent setDescriptionElement(StringType value) { - this.description = value; + public ChargeItemDefinitionApplicabilityComponent setCondition(Expression value) { + this.condition = value; return this; } /** - * @return A brief, natural language description of the condition that effectively communicates the intended semantics. + * @return {@link #effectivePeriod} (The period during which the charge item definition content was or is planned to be in active use.) */ - public String getDescription() { - return this.description == null ? null : this.description.getValue(); - } - - /** - * @param value A brief, natural language description of the condition that effectively communicates the intended semantics. - */ - public ChargeItemDefinitionApplicabilityComponent setDescription(String value) { - if (Utilities.noString(value)) - this.description = null; - else { - if (this.description == null) - this.description = new StringType(); - this.description.setValue(value); - } - return this; - } - - /** - * @return {@link #language} (The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value - */ - public StringType getLanguageElement() { - if (this.language == null) + public Period getEffectivePeriod() { + if (this.effectivePeriod == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionApplicabilityComponent.language"); + throw new Error("Attempt to auto-create ChargeItemDefinitionApplicabilityComponent.effectivePeriod"); else if (Configuration.doAutoCreate()) - this.language = new StringType(); // bb - return this.language; + this.effectivePeriod = new Period(); // cc + return this.effectivePeriod; } - public boolean hasLanguageElement() { - return this.language != null && !this.language.isEmpty(); - } - - public boolean hasLanguage() { - return this.language != null && !this.language.isEmpty(); + public boolean hasEffectivePeriod() { + return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); } /** - * @param value {@link #language} (The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions.). This is the underlying object with id, value and extensions. The accessor "getLanguage" gives direct access to the value + * @param value {@link #effectivePeriod} (The period during which the charge item definition content was or is planned to be in active use.) */ - public ChargeItemDefinitionApplicabilityComponent setLanguageElement(StringType value) { - this.language = value; + public ChargeItemDefinitionApplicabilityComponent setEffectivePeriod(Period value) { + this.effectivePeriod = value; return this; } /** - * @return The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions. + * @return {@link #relatedArtifact} (Reference to / quotation of the external source of the group of properties.) */ - public String getLanguage() { - return this.language == null ? null : this.language.getValue(); - } - - /** - * @param value The media type of the language for the expression, e.g. "text/cql" for Clinical Query Language expressions or "text/fhirpath" for FHIRPath expressions. - */ - public ChargeItemDefinitionApplicabilityComponent setLanguage(String value) { - if (Utilities.noString(value)) - this.language = null; - else { - if (this.language == null) - this.language = new StringType(); - this.language.setValue(value); - } - return this; - } - - /** - * @return {@link #expression} (An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value - */ - public StringType getExpressionElement() { - if (this.expression == null) + public RelatedArtifact getRelatedArtifact() { + if (this.relatedArtifact == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionApplicabilityComponent.expression"); + throw new Error("Attempt to auto-create ChargeItemDefinitionApplicabilityComponent.relatedArtifact"); else if (Configuration.doAutoCreate()) - this.expression = new StringType(); // bb - return this.expression; + this.relatedArtifact = new RelatedArtifact(); // cc + return this.relatedArtifact; } - public boolean hasExpressionElement() { - return this.expression != null && !this.expression.isEmpty(); - } - - public boolean hasExpression() { - return this.expression != null && !this.expression.isEmpty(); + public boolean hasRelatedArtifact() { + return this.relatedArtifact != null && !this.relatedArtifact.isEmpty(); } /** - * @param value {@link #expression} (An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.). This is the underlying object with id, value and extensions. The accessor "getExpression" gives direct access to the value + * @param value {@link #relatedArtifact} (Reference to / quotation of the external source of the group of properties.) */ - public ChargeItemDefinitionApplicabilityComponent setExpressionElement(StringType value) { - this.expression = value; - return this; - } - - /** - * @return An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied. - */ - public String getExpression() { - return this.expression == null ? null : this.expression.getValue(); - } - - /** - * @param value An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied. - */ - public ChargeItemDefinitionApplicabilityComponent setExpression(String value) { - if (Utilities.noString(value)) - this.expression = null; - else { - if (this.expression == null) - this.expression = new StringType(); - this.expression.setValue(value); - } + public ChargeItemDefinitionApplicabilityComponent setRelatedArtifact(RelatedArtifact value) { + this.relatedArtifact = value; return this; } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("description", "string", "A brief, natural language description of the condition that effectively communicates the intended semantics.", 0, 1, description)); - children.add(new Property("language", "string", "The media type of the language for the expression, e.g. \"text/cql\" for Clinical Query Language expressions or \"text/fhirpath\" for FHIRPath expressions.", 0, 1, language)); - children.add(new Property("expression", "string", "An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.", 0, 1, expression)); + children.add(new Property("condition", "Expression", "An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.", 0, 1, condition)); + children.add(new Property("effectivePeriod", "Period", "The period during which the charge item definition content was or is planned to be in active use.", 0, 1, effectivePeriod)); + children.add(new Property("relatedArtifact", "RelatedArtifact", "Reference to / quotation of the external source of the group of properties.", 0, 1, relatedArtifact)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1724546052: /*description*/ return new Property("description", "string", "A brief, natural language description of the condition that effectively communicates the intended semantics.", 0, 1, description); - case -1613589672: /*language*/ return new Property("language", "string", "The media type of the language for the expression, e.g. \"text/cql\" for Clinical Query Language expressions or \"text/fhirpath\" for FHIRPath expressions.", 0, 1, language); - case -1795452264: /*expression*/ return new Property("expression", "string", "An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.", 0, 1, expression); + case -861311717: /*condition*/ return new Property("condition", "Expression", "An expression that returns true or false, indicating whether the condition is satisfied. When using FHIRPath expressions, the %context environment variable must be replaced at runtime with the ChargeItem resource to which this definition is applied.", 0, 1, condition); + case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the charge item definition content was or is planned to be in active use.", 0, 1, effectivePeriod); + case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Reference to / quotation of the external source of the group of properties.", 0, 1, relatedArtifact); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -254,9 +179,9 @@ public class ChargeItemDefinition extends MetadataResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType - case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // StringType - case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType + case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // Expression + case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period + case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : new Base[] {this.relatedArtifact}; // RelatedArtifact default: return super.getProperty(hash, name, checkValid); } @@ -265,14 +190,14 @@ public class ChargeItemDefinition extends MetadataResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1724546052: // description - this.description = TypeConvertor.castToString(value); // StringType + case -861311717: // condition + this.condition = TypeConvertor.castToExpression(value); // Expression return value; - case -1613589672: // language - this.language = TypeConvertor.castToString(value); // StringType + case -403934648: // effectivePeriod + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period return value; - case -1795452264: // expression - this.expression = TypeConvertor.castToString(value); // StringType + case 666807069: // relatedArtifact + this.relatedArtifact = TypeConvertor.castToRelatedArtifact(value); // RelatedArtifact return value; default: return super.setProperty(hash, name, value); } @@ -281,12 +206,12 @@ public class ChargeItemDefinition extends MetadataResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("description")) { - this.description = TypeConvertor.castToString(value); // StringType - } else if (name.equals("language")) { - this.language = TypeConvertor.castToString(value); // StringType - } else if (name.equals("expression")) { - this.expression = TypeConvertor.castToString(value); // StringType + if (name.equals("condition")) { + this.condition = TypeConvertor.castToExpression(value); // Expression + } else if (name.equals("effectivePeriod")) { + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("relatedArtifact")) { + this.relatedArtifact = TypeConvertor.castToRelatedArtifact(value); // RelatedArtifact } else return super.setProperty(name, value); return value; @@ -295,9 +220,9 @@ public class ChargeItemDefinition extends MetadataResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1724546052: return getDescriptionElement(); - case -1613589672: return getLanguageElement(); - case -1795452264: return getExpressionElement(); + case -861311717: return getCondition(); + case -403934648: return getEffectivePeriod(); + case 666807069: return getRelatedArtifact(); default: return super.makeProperty(hash, name); } @@ -306,9 +231,9 @@ public class ChargeItemDefinition extends MetadataResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1724546052: /*description*/ return new String[] {"string"}; - case -1613589672: /*language*/ return new String[] {"string"}; - case -1795452264: /*expression*/ return new String[] {"string"}; + case -861311717: /*condition*/ return new String[] {"Expression"}; + case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; + case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; default: return super.getTypesForProperty(hash, name); } @@ -316,14 +241,17 @@ public class ChargeItemDefinition extends MetadataResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("description")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.applicability.description"); + if (name.equals("condition")) { + this.condition = new Expression(); + return this.condition; } - else if (name.equals("language")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.applicability.language"); + else if (name.equals("effectivePeriod")) { + this.effectivePeriod = new Period(); + return this.effectivePeriod; } - else if (name.equals("expression")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.applicability.expression"); + else if (name.equals("relatedArtifact")) { + this.relatedArtifact = new RelatedArtifact(); + return this.relatedArtifact; } else return super.addChild(name); @@ -337,9 +265,9 @@ public class ChargeItemDefinition extends MetadataResource { public void copyValues(ChargeItemDefinitionApplicabilityComponent dst) { super.copyValues(dst); - dst.description = description == null ? null : description.copy(); - dst.language = language == null ? null : language.copy(); - dst.expression = expression == null ? null : expression.copy(); + dst.condition = condition == null ? null : condition.copy(); + dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); + dst.relatedArtifact = relatedArtifact == null ? null : relatedArtifact.copy(); } @Override @@ -349,8 +277,8 @@ public class ChargeItemDefinition extends MetadataResource { if (!(other_ instanceof ChargeItemDefinitionApplicabilityComponent)) return false; ChargeItemDefinitionApplicabilityComponent o = (ChargeItemDefinitionApplicabilityComponent) other_; - return compareDeep(description, o.description, true) && compareDeep(language, o.language, true) - && compareDeep(expression, o.expression, true); + return compareDeep(condition, o.condition, true) && compareDeep(effectivePeriod, o.effectivePeriod, true) + && compareDeep(relatedArtifact, o.relatedArtifact, true); } @Override @@ -360,13 +288,12 @@ public class ChargeItemDefinition extends MetadataResource { if (!(other_ instanceof ChargeItemDefinitionApplicabilityComponent)) return false; ChargeItemDefinitionApplicabilityComponent o = (ChargeItemDefinitionApplicabilityComponent) other_; - return compareValues(description, o.description, true) && compareValues(language, o.language, true) - && compareValues(expression, o.expression, true); + return true; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, language, expression - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(condition, effectivePeriod + , relatedArtifact); } public String fhirType() { @@ -388,11 +315,11 @@ public class ChargeItemDefinition extends MetadataResource { /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated. */ - @Child(name = "priceComponent", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "priceComponent", type = {MonetaryComponent.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Components of total line item price", formalDefinition="The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated." ) - protected List priceComponent; + protected List priceComponent; - private static final long serialVersionUID = 1723436176L; + private static final long serialVersionUID = -1829474901L; /** * Constructor @@ -457,16 +384,16 @@ public class ChargeItemDefinition extends MetadataResource { /** * @return {@link #priceComponent} (The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.) */ - public List getPriceComponent() { + public List getPriceComponent() { if (this.priceComponent == null) - this.priceComponent = new ArrayList(); + this.priceComponent = new ArrayList(); return this.priceComponent; } /** * @return Returns a reference to this for easy method chaining */ - public ChargeItemDefinitionPropertyGroupComponent setPriceComponent(List thePriceComponent) { + public ChargeItemDefinitionPropertyGroupComponent setPriceComponent(List thePriceComponent) { this.priceComponent = thePriceComponent; return this; } @@ -474,25 +401,25 @@ public class ChargeItemDefinition extends MetadataResource { public boolean hasPriceComponent() { if (this.priceComponent == null) return false; - for (ChargeItemDefinitionPropertyGroupPriceComponentComponent item : this.priceComponent) + for (MonetaryComponent item : this.priceComponent) if (!item.isEmpty()) return true; return false; } - public ChargeItemDefinitionPropertyGroupPriceComponentComponent addPriceComponent() { //3 - ChargeItemDefinitionPropertyGroupPriceComponentComponent t = new ChargeItemDefinitionPropertyGroupPriceComponentComponent(); + public MonetaryComponent addPriceComponent() { //3 + MonetaryComponent t = new MonetaryComponent(); if (this.priceComponent == null) - this.priceComponent = new ArrayList(); + this.priceComponent = new ArrayList(); this.priceComponent.add(t); return t; } - public ChargeItemDefinitionPropertyGroupComponent addPriceComponent(ChargeItemDefinitionPropertyGroupPriceComponentComponent t) { //3 + public ChargeItemDefinitionPropertyGroupComponent addPriceComponent(MonetaryComponent t) { //3 if (t == null) return this; if (this.priceComponent == null) - this.priceComponent = new ArrayList(); + this.priceComponent = new ArrayList(); this.priceComponent.add(t); return this; } @@ -500,7 +427,7 @@ public class ChargeItemDefinition extends MetadataResource { /** * @return The first repetition of repeating field {@link #priceComponent}, creating it if it does not already exist {3} */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent getPriceComponentFirstRep() { + public MonetaryComponent getPriceComponentFirstRep() { if (getPriceComponent().isEmpty()) { addPriceComponent(); } @@ -510,14 +437,14 @@ public class ChargeItemDefinition extends MetadataResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("applicability", "@ChargeItemDefinition.applicability", "Expressions that describe applicability criteria for the priceComponent.", 0, java.lang.Integer.MAX_VALUE, applicability)); - children.add(new Property("priceComponent", "", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent)); + children.add(new Property("priceComponent", "MonetaryComponent", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1526770491: /*applicability*/ return new Property("applicability", "@ChargeItemDefinition.applicability", "Expressions that describe applicability criteria for the priceComponent.", 0, java.lang.Integer.MAX_VALUE, applicability); - case 1219095988: /*priceComponent*/ return new Property("priceComponent", "", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent); + case 1219095988: /*priceComponent*/ return new Property("priceComponent", "MonetaryComponent", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -527,7 +454,7 @@ public class ChargeItemDefinition extends MetadataResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1526770491: /*applicability*/ return this.applicability == null ? new Base[0] : this.applicability.toArray(new Base[this.applicability.size()]); // ChargeItemDefinitionApplicabilityComponent - case 1219095988: /*priceComponent*/ return this.priceComponent == null ? new Base[0] : this.priceComponent.toArray(new Base[this.priceComponent.size()]); // ChargeItemDefinitionPropertyGroupPriceComponentComponent + case 1219095988: /*priceComponent*/ return this.priceComponent == null ? new Base[0] : this.priceComponent.toArray(new Base[this.priceComponent.size()]); // MonetaryComponent default: return super.getProperty(hash, name, checkValid); } @@ -540,7 +467,7 @@ public class ChargeItemDefinition extends MetadataResource { this.getApplicability().add((ChargeItemDefinitionApplicabilityComponent) value); // ChargeItemDefinitionApplicabilityComponent return value; case 1219095988: // priceComponent - this.getPriceComponent().add((ChargeItemDefinitionPropertyGroupPriceComponentComponent) value); // ChargeItemDefinitionPropertyGroupPriceComponentComponent + this.getPriceComponent().add(TypeConvertor.castToMonetaryComponent(value)); // MonetaryComponent return value; default: return super.setProperty(hash, name, value); } @@ -552,7 +479,7 @@ public class ChargeItemDefinition extends MetadataResource { if (name.equals("applicability")) { this.getApplicability().add((ChargeItemDefinitionApplicabilityComponent) value); } else if (name.equals("priceComponent")) { - this.getPriceComponent().add((ChargeItemDefinitionPropertyGroupPriceComponentComponent) value); + this.getPriceComponent().add(TypeConvertor.castToMonetaryComponent(value)); } else return super.setProperty(name, value); return value; @@ -572,7 +499,7 @@ public class ChargeItemDefinition extends MetadataResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1526770491: /*applicability*/ return new String[] {"@ChargeItemDefinition.applicability"}; - case 1219095988: /*priceComponent*/ return new String[] {}; + case 1219095988: /*priceComponent*/ return new String[] {"MonetaryComponent"}; default: return super.getTypesForProperty(hash, name); } @@ -604,8 +531,8 @@ public class ChargeItemDefinition extends MetadataResource { dst.applicability.add(i.copy()); }; if (priceComponent != null) { - dst.priceComponent = new ArrayList(); - for (ChargeItemDefinitionPropertyGroupPriceComponentComponent i : priceComponent) + dst.priceComponent = new ArrayList(); + for (MonetaryComponent i : priceComponent) dst.priceComponent.add(i.copy()); }; } @@ -643,379 +570,11 @@ public class ChargeItemDefinition extends MetadataResource { } - @Block() - public static class ChargeItemDefinitionPropertyGroupPriceComponentComponent extends BackboneElement implements IBaseBackboneElement { - /** - * This code identifies the type of the component. - */ - @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="base | surcharge | deduction | discount | tax | informational", formalDefinition="This code identifies the type of the component." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/invoice-priceComponentType") - protected Enumeration type; - - /** - * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. - */ - @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Code identifying the specific component", formalDefinition="A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc." ) - protected CodeableConcept code; - - /** - * The factor that has been applied on the base price for calculating this component. - */ - @Child(name = "factor", type = {DecimalType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Factor used for calculating this component", formalDefinition="The factor that has been applied on the base price for calculating this component." ) - protected DecimalType factor; - - /** - * The amount calculated for this component. - */ - @Child(name = "amount", type = {Money.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Monetary amount associated with this component", formalDefinition="The amount calculated for this component." ) - protected Money amount; - - private static final long serialVersionUID = 1223988958L; - /** - * Constructor - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent() { - super(); - } - - /** - * Constructor - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent(InvoicePriceComponentType type) { - super(); - this.setType(type); - } - - /** - * @return {@link #type} (This code identifies the type of the component.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public Enumeration getTypeElement() { - if (this.type == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionPropertyGroupPriceComponentComponent.type"); - else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new InvoicePriceComponentTypeEnumFactory()); // bb - return this.type; - } - - public boolean hasTypeElement() { - return this.type != null && !this.type.isEmpty(); - } - - public boolean hasType() { - return this.type != null && !this.type.isEmpty(); - } - - /** - * @param value {@link #type} (This code identifies the type of the component.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setTypeElement(Enumeration value) { - this.type = value; - return this; - } - - /** - * @return This code identifies the type of the component. - */ - public InvoicePriceComponentType getType() { - return this.type == null ? null : this.type.getValue(); - } - - /** - * @param value This code identifies the type of the component. - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setType(InvoicePriceComponentType value) { - if (this.type == null) - this.type = new Enumeration(new InvoicePriceComponentTypeEnumFactory()); - this.type.setValue(value); - return this; - } - - /** - * @return {@link #code} (A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.) - */ - public CodeableConcept getCode() { - if (this.code == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionPropertyGroupPriceComponentComponent.code"); - else if (Configuration.doAutoCreate()) - this.code = new CodeableConcept(); // cc - return this.code; - } - - public boolean hasCode() { - return this.code != null && !this.code.isEmpty(); - } - - /** - * @param value {@link #code} (A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.) - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setCode(CodeableConcept value) { - this.code = value; - return this; - } - - /** - * @return {@link #factor} (The factor that has been applied on the base price for calculating this component.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value - */ - public DecimalType getFactorElement() { - if (this.factor == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionPropertyGroupPriceComponentComponent.factor"); - else if (Configuration.doAutoCreate()) - this.factor = new DecimalType(); // bb - return this.factor; - } - - public boolean hasFactorElement() { - return this.factor != null && !this.factor.isEmpty(); - } - - public boolean hasFactor() { - return this.factor != null && !this.factor.isEmpty(); - } - - /** - * @param value {@link #factor} (The factor that has been applied on the base price for calculating this component.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setFactorElement(DecimalType value) { - this.factor = value; - return this; - } - - /** - * @return The factor that has been applied on the base price for calculating this component. - */ - public BigDecimal getFactor() { - return this.factor == null ? null : this.factor.getValue(); - } - - /** - * @param value The factor that has been applied on the base price for calculating this component. - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setFactor(BigDecimal value) { - if (value == null) - this.factor = null; - else { - if (this.factor == null) - this.factor = new DecimalType(); - this.factor.setValue(value); - } - return this; - } - - /** - * @param value The factor that has been applied on the base price for calculating this component. - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setFactor(long value) { - this.factor = new DecimalType(); - this.factor.setValue(value); - return this; - } - - /** - * @param value The factor that has been applied on the base price for calculating this component. - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setFactor(double value) { - this.factor = new DecimalType(); - this.factor.setValue(value); - return this; - } - - /** - * @return {@link #amount} (The amount calculated for this component.) - */ - public Money getAmount() { - if (this.amount == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinitionPropertyGroupPriceComponentComponent.amount"); - else if (Configuration.doAutoCreate()) - this.amount = new Money(); // cc - return this.amount; - } - - public boolean hasAmount() { - return this.amount != null && !this.amount.isEmpty(); - } - - /** - * @param value {@link #amount} (The amount calculated for this component.) - */ - public ChargeItemDefinitionPropertyGroupPriceComponentComponent setAmount(Money value) { - this.amount = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("type", "code", "This code identifies the type of the component.", 0, 1, type)); - children.add(new Property("code", "CodeableConcept", "A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", 0, 1, code)); - children.add(new Property("factor", "decimal", "The factor that has been applied on the base price for calculating this component.", 0, 1, factor)); - children.add(new Property("amount", "Money", "The amount calculated for this component.", 0, 1, amount)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3575610: /*type*/ return new Property("type", "code", "This code identifies the type of the component.", 0, 1, type); - case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", 0, 1, code); - case -1282148017: /*factor*/ return new Property("factor", "decimal", "The factor that has been applied on the base price for calculating this component.", 0, 1, factor); - case -1413853096: /*amount*/ return new Property("amount", "Money", "The amount calculated for this component.", 0, 1, amount); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept - case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType - case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : new Base[] {this.amount}; // Money - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3575610: // type - value = new InvoicePriceComponentTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration - return value; - case 3059181: // code - this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1282148017: // factor - this.factor = TypeConvertor.castToDecimal(value); // DecimalType - return value; - case -1413853096: // amount - this.amount = TypeConvertor.castToMoney(value); // Money - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("type")) { - value = new InvoicePriceComponentTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration - } else if (name.equals("code")) { - this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("factor")) { - this.factor = TypeConvertor.castToDecimal(value); // DecimalType - } else if (name.equals("amount")) { - this.amount = TypeConvertor.castToMoney(value); // Money - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: return getTypeElement(); - case 3059181: return getCode(); - case -1282148017: return getFactorElement(); - case -1413853096: return getAmount(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return new String[] {"code"}; - case 3059181: /*code*/ return new String[] {"CodeableConcept"}; - case -1282148017: /*factor*/ return new String[] {"decimal"}; - case -1413853096: /*amount*/ return new String[] {"Money"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("type")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.propertyGroup.priceComponent.type"); - } - else if (name.equals("code")) { - this.code = new CodeableConcept(); - return this.code; - } - else if (name.equals("factor")) { - throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.propertyGroup.priceComponent.factor"); - } - else if (name.equals("amount")) { - this.amount = new Money(); - return this.amount; - } - else - return super.addChild(name); - } - - public ChargeItemDefinitionPropertyGroupPriceComponentComponent copy() { - ChargeItemDefinitionPropertyGroupPriceComponentComponent dst = new ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(ChargeItemDefinitionPropertyGroupPriceComponentComponent dst) { - super.copyValues(dst); - dst.type = type == null ? null : type.copy(); - dst.code = code == null ? null : code.copy(); - dst.factor = factor == null ? null : factor.copy(); - dst.amount = amount == null ? null : amount.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof ChargeItemDefinitionPropertyGroupPriceComponentComponent)) - return false; - ChargeItemDefinitionPropertyGroupPriceComponentComponent o = (ChargeItemDefinitionPropertyGroupPriceComponentComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(code, o.code, true) && compareDeep(factor, o.factor, true) - && compareDeep(amount, o.amount, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof ChargeItemDefinitionPropertyGroupPriceComponentComponent)) - return false; - ChargeItemDefinitionPropertyGroupPriceComponentComponent o = (ChargeItemDefinitionPropertyGroupPriceComponentComponent) other_; - return compareValues(type, o.type, true) && compareValues(factor, o.factor, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, code, factor, amount - ); - } - - public String fhirType() { - return "ChargeItemDefinition.propertyGroup.priceComponent"; - - } - - } - - /** - * An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers. + * An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this charge item definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this charge item definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers." ) protected UriType url; /** @@ -1032,38 +591,45 @@ public class ChargeItemDefinition extends MetadataResource { @Description(shortDefinition="Business version of the charge item definition", formalDefinition="The identifier that is used to identify this version of the charge item definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the charge item definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets." ) protected StringType version; + /** + * A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this charge item definition (computer friendly)", formalDefinition="A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) + protected StringType name; + /** * A short, descriptive, user-friendly title for the charge item definition. */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this charge item definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the charge item definition." ) protected StringType title; /** * The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition. */ - @Child(name = "derivedFromUri", type = {UriType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "derivedFromUri", type = {UriType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Underlying externally-defined charge item definition", formalDefinition="The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition." ) protected List derivedFromUri; /** * A larger definition of which this particular definition is a component or step. */ - @Child(name = "partOf", type = {CanonicalType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "partOf", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="A larger definition of which this particular definition is a component or step", formalDefinition="A larger definition of which this particular definition is a component or step." ) protected List partOf; /** * As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance. */ - @Child(name = "replaces", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "replaces", type = {CanonicalType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Completed or terminated request(s) whose function is taken by this new request", formalDefinition="As new versions of a protocol or guideline are defined, allows identification of what versions are replaced by a new instance." ) protected List replaces; /** * The current state of the ChargeItemDefinition. */ - @Child(name = "status", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=8, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The current state of the ChargeItemDefinition." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -1071,85 +637,85 @@ public class ChargeItemDefinition extends MetadataResource { /** * A Boolean value to indicate that this charge item definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=9, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this charge item definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the charge item definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the charge item definition changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=10, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the charge item definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the charge item definition changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the charge item definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition. */ - @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the charge item definition." ) + @Child(name = "publisher", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the charge item definition from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "description", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Natural language description of the charge item definition", formalDefinition="A free text natural language description of the charge item definition from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate charge item definition instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate charge item definition instances." ) protected List useContext; /** * A legal or geographic region in which the charge item definition is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for charge item definition (if applicable)", formalDefinition="A legal or geographic region in which the charge item definition is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; + /** + * Explanation of why this charge item definition is needed and why it has been designed as it has. + */ + @Child(name = "purpose", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Why this charge item definition is defined", formalDefinition="Explanation of why this charge item definition is needed and why it has been designed as it has." ) + protected MarkdownType purpose; + /** * A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition." ) protected MarkdownType copyright; /** * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. */ - @Child(name = "approvalDate", type = {DateType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "approvalDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When the charge item definition was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) protected DateType approvalDate; /** * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. */ - @Child(name = "lastReviewDate", type = {DateType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "lastReviewDate", type = {DateType.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When the charge item definition was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) protected DateType lastReviewDate; - /** - * The period during which the charge item definition content was or is planned to be in active use. - */ - @Child(name = "effectivePeriod", type = {Period.class}, order=18, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="When the charge item definition is expected to be used", formalDefinition="The period during which the charge item definition content was or is planned to be in active use." ) - protected Period effectivePeriod; - /** * The defined billing details in this resource pertain to the given billing code. */ - @Child(name = "code", type = {CodeableConcept.class}, order=19, min=0, max=1, modifier=false, summary=true) + @Child(name = "code", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Billing code or product type this definition applies to", formalDefinition="The defined billing details in this resource pertain to the given billing code." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/chargeitem-billingcodes") protected CodeableConcept code; @@ -1157,25 +723,25 @@ public class ChargeItemDefinition extends MetadataResource { /** * The defined billing details in this resource pertain to the given product instance(s). */ - @Child(name = "instance", type = {Medication.class, Substance.class, Device.class, DeviceDefinition.class, ActivityDefinition.class, PlanDefinition.class, HealthcareService.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "instance", type = {Medication.class, Substance.class, Device.class, DeviceDefinition.class, ActivityDefinition.class, PlanDefinition.class, HealthcareService.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Instances this definition applies to", formalDefinition="The defined billing details in this resource pertain to the given product instance(s)." ) protected List instance; /** * Expressions that describe applicability criteria for the billing code. */ - @Child(name = "applicability", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "applicability", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Whether or not the billing code is applicable", formalDefinition="Expressions that describe applicability criteria for the billing code." ) protected List applicability; /** * Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply. */ - @Child(name = "propertyGroup", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "propertyGroup", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Group of properties which are applicable under the same conditions", formalDefinition="Group of properties which are applicable under the same conditions. If no applicability rules are established for the group, then all properties always apply." ) protected List propertyGroup; - private static final long serialVersionUID = -789505112L; + private static final long serialVersionUID = 1866277744L; /** * Constructor @@ -1194,7 +760,7 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1214,7 +780,7 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public ChargeItemDefinition setUrlElement(UriType value) { this.url = value; @@ -1222,14 +788,14 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @return An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers. + * @return An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers. + * @param value An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers. */ public ChargeItemDefinition setUrl(String value) { if (this.url == null) @@ -1340,6 +906,55 @@ public class ChargeItemDefinition extends MetadataResource { return this; } + /** + * @return {@link #name} (A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public StringType getNameElement() { + if (this.name == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ChargeItemDefinition.name"); + else if (Configuration.doAutoCreate()) + this.name = new StringType(); // bb + return this.name; + } + + public boolean hasNameElement() { + return this.name != null && !this.name.isEmpty(); + } + + public boolean hasName() { + return this.name != null && !this.name.isEmpty(); + } + + /** + * @param value {@link #name} (A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public ChargeItemDefinition setNameElement(StringType value) { + this.name = value; + return this; + } + + /** + * @return A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public String getName() { + return this.name == null ? null : this.name.getValue(); + } + + /** + * @param value A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public ChargeItemDefinition setName(String value) { + if (Utilities.noString(value)) + this.name = null; + else { + if (this.name == null) + this.name = new StringType(); + this.name.setValue(value); + } + return this; + } + /** * @return {@link #title} (A short, descriptive, user-friendly title for the charge item definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ @@ -1712,7 +1327,7 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the charge item definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -1732,7 +1347,7 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the charge item definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ChargeItemDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -1740,14 +1355,14 @@ public class ChargeItemDefinition extends MetadataResource { } /** - * @return The name of the organization or individual that published the charge item definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the charge item definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition. */ public ChargeItemDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -1968,6 +1583,55 @@ public class ChargeItemDefinition extends MetadataResource { return getJurisdiction().get(0); } + /** + * @return {@link #purpose} (Explanation of why this charge item definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public MarkdownType getPurposeElement() { + if (this.purpose == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ChargeItemDefinition.purpose"); + else if (Configuration.doAutoCreate()) + this.purpose = new MarkdownType(); // bb + return this.purpose; + } + + public boolean hasPurposeElement() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + public boolean hasPurpose() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + /** + * @param value {@link #purpose} (Explanation of why this charge item definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public ChargeItemDefinition setPurposeElement(MarkdownType value) { + this.purpose = value; + return this; + } + + /** + * @return Explanation of why this charge item definition is needed and why it has been designed as it has. + */ + public String getPurpose() { + return this.purpose == null ? null : this.purpose.getValue(); + } + + /** + * @param value Explanation of why this charge item definition is needed and why it has been designed as it has. + */ + public ChargeItemDefinition setPurpose(String value) { + if (value == null) + this.purpose = null; + else { + if (this.purpose == null) + this.purpose = new MarkdownType(); + this.purpose.setValue(value); + } + return this; + } + /** * @return {@link #copyright} (A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ @@ -2115,30 +1779,6 @@ public class ChargeItemDefinition extends MetadataResource { return this; } - /** - * @return {@link #effectivePeriod} (The period during which the charge item definition content was or is planned to be in active use.) - */ - public Period getEffectivePeriod() { - if (this.effectivePeriod == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ChargeItemDefinition.effectivePeriod"); - else if (Configuration.doAutoCreate()) - this.effectivePeriod = new Period(); // cc - return this.effectivePeriod; - } - - public boolean hasEffectivePeriod() { - return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); - } - - /** - * @param value {@link #effectivePeriod} (The period during which the charge item definition content was or is planned to be in active use.) - */ - public ChargeItemDefinition setEffectivePeriod(Period value) { - this.effectivePeriod = value; - return this; - } - /** * @return {@link #code} (The defined billing details in this resource pertain to the given billing code.) */ @@ -2326,74 +1966,102 @@ public class ChargeItemDefinition extends MetadataResource { * not supported on this implementation */ @Override - public int getNameMax() { + public int getVersionAlgorithmMax() { return 0; } /** - * @return {@link #name} (A natural language name identifying the charge item definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public StringType getNameElement() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"name\""); + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"versionAlgorithm[x]\""); } - - public boolean hasNameElement() { + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { return false; } - public boolean hasName() { + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ChargeItemDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { return false; } /** - * @param value {@link #name} (A natural language name identifying the charge item definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value */ - public ChargeItemDefinition setNameElement(StringType value) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"name\""); + public ChargeItemDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"copyrightLabel\""); } - public String getName() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"name\""); + public String getCopyrightLabel() { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"copyrightLabel\""); } /** - * @param value A natural language name identifying the charge item definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). */ - public ChargeItemDefinition setName(String value) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"name\""); + public ChargeItemDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"copyrightLabel\""); } /** * not supported on this implementation */ @Override - public int getPurposeMax() { + public int getEffectivePeriodMax() { return 0; } /** - * @return {@link #purpose} (Explanation of why this charge item definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + * @return {@link #effectivePeriod} (The period during which the charge item definition content was or is planned to be in active use.) */ - public MarkdownType getPurposeElement() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"purpose\""); + public Period getEffectivePeriod() { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"effectivePeriod\""); } - - public boolean hasPurposeElement() { + public boolean hasEffectivePeriod() { return false; } - public boolean hasPurpose() { - return false; + /** + * @param value {@link #effectivePeriod} (The period during which the charge item definition content was or is planned to be in active use.) + */ + public ChargeItemDefinition setEffectivePeriod(Period value) { + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"effectivePeriod\""); } - /** - * @param value {@link #purpose} (Explanation of why this charge item definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value - */ - public ChargeItemDefinition setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"purpose\""); - } - public String getPurpose() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"purpose\""); - } - /** - * @param value Explanation of why this charge item definition is needed and why it has been designed as it has. - */ - public ChargeItemDefinition setPurpose(String value) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"purpose\""); - } /** * not supported on this implementation */ @@ -2402,7 +2070,7 @@ public class ChargeItemDefinition extends MetadataResource { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the charge item definition. Topics provide a high-level categorization of the charge item definition that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the charge item definition. Topics provide a high-level categorization as well as keywords for the charge item definition that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -2411,23 +2079,23 @@ public class ChargeItemDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ChargeItemDefinition setTopic(List theTopic) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); } public ChargeItemDefinition addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"topic\""); } /** * not supported on this implementation @@ -2446,23 +2114,23 @@ public class ChargeItemDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ChargeItemDefinition setAuthor(List theAuthor) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); } public boolean hasAuthor() { return false; } public ContactDetail addAuthor() { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); } public ChargeItemDefinition addAuthor(ContactDetail t) { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); } /** * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} */ public ContactDetail getAuthorFirstRep() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"author\""); } /** * not supported on this implementation @@ -2481,23 +2149,23 @@ public class ChargeItemDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ChargeItemDefinition setEditor(List theEditor) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); } public boolean hasEditor() { return false; } public ContactDetail addEditor() { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); } public ChargeItemDefinition addEditor(ContactDetail t) { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); } /** * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} */ public ContactDetail getEditorFirstRep() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"editor\""); } /** * not supported on this implementation @@ -2516,23 +2184,23 @@ public class ChargeItemDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ChargeItemDefinition setReviewer(List theReviewer) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); } public boolean hasReviewer() { return false; } public ContactDetail addReviewer() { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); } public ChargeItemDefinition addReviewer(ContactDetail t) { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); } /** * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} */ public ContactDetail getReviewerFirstRep() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"reviewer\""); } /** * not supported on this implementation @@ -2551,23 +2219,23 @@ public class ChargeItemDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ChargeItemDefinition setEndorser(List theEndorser) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); } public boolean hasEndorser() { return false; } public ContactDetail addEndorser() { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); } public ChargeItemDefinition addEndorser(ContactDetail t) { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); } /** * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} */ public ContactDetail getEndorserFirstRep() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"endorser\""); } /** * not supported on this implementation @@ -2586,29 +2254,30 @@ public class ChargeItemDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ChargeItemDefinition setRelatedArtifact(List theRelatedArtifact) { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); } public boolean hasRelatedArtifact() { return false; } public RelatedArtifact addRelatedArtifact() { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); } public ChargeItemDefinition addRelatedArtifact(RelatedArtifact t) { //3 - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); } /** * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} */ public RelatedArtifact getRelatedArtifactFirstRep() { - throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ChargeItemDefinition\" does not implement the property \"relatedArtifact\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this charge item definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the charge item definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the charge item definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.", 0, 1, version)); + children.add(new Property("name", "string", "A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the charge item definition.", 0, 1, title)); children.add(new Property("derivedFromUri", "uri", "The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromUri)); children.add(new Property("partOf", "canonical(ChargeItemDefinition)", "A larger definition of which this particular definition is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); @@ -2616,15 +2285,15 @@ public class ChargeItemDefinition extends MetadataResource { children.add(new Property("status", "code", "The current state of the ChargeItemDefinition.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this charge item definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the charge item definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the charge item definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the charge item definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the charge item definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate charge item definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the charge item definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); + children.add(new Property("purpose", "markdown", "Explanation of why this charge item definition is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition.", 0, 1, copyright)); children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); - children.add(new Property("effectivePeriod", "Period", "The period during which the charge item definition content was or is planned to be in active use.", 0, 1, effectivePeriod)); children.add(new Property("code", "CodeableConcept", "The defined billing details in this resource pertain to the given billing code.", 0, 1, code)); children.add(new Property("instance", "Reference(Medication|Substance|Device|DeviceDefinition|ActivityDefinition|PlanDefinition|HealthcareService)", "The defined billing details in this resource pertain to the given product instance(s).", 0, java.lang.Integer.MAX_VALUE, instance)); children.add(new Property("applicability", "", "Expressions that describe applicability criteria for the billing code.", 0, java.lang.Integer.MAX_VALUE, applicability)); @@ -2634,9 +2303,10 @@ public class ChargeItemDefinition extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this charge item definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this charge item definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the charge item definition is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this charge item definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the charge item definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the charge item definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active assets.", 0, 1, version); + case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the ChargeItemDefinition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the charge item definition.", 0, 1, title); case -1076333435: /*derivedFromUri*/ return new Property("derivedFromUri", "uri", "The URL pointing to an externally-defined charge item definition that is adhered to in whole or in part by this definition.", 0, java.lang.Integer.MAX_VALUE, derivedFromUri); case -995410646: /*partOf*/ return new Property("partOf", "canonical(ChargeItemDefinition)", "A larger definition of which this particular definition is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); @@ -2644,15 +2314,15 @@ public class ChargeItemDefinition extends MetadataResource { case -892481550: /*status*/ return new Property("status", "code", "The current state of the ChargeItemDefinition.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this charge item definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the charge item definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the charge item definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the charge item definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the charge item definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the charge item definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate charge item definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the charge item definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); + case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this charge item definition is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the charge item definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the charge item definition.", 0, 1, copyright); case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); - case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the charge item definition content was or is planned to be in active use.", 0, 1, effectivePeriod); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The defined billing details in this resource pertain to the given billing code.", 0, 1, code); case 555127957: /*instance*/ return new Property("instance", "Reference(Medication|Substance|Device|DeviceDefinition|ActivityDefinition|PlanDefinition|HealthcareService)", "The defined billing details in this resource pertain to the given product instance(s).", 0, java.lang.Integer.MAX_VALUE, instance); case -1526770491: /*applicability*/ return new Property("applicability", "", "Expressions that describe applicability criteria for the billing code.", 0, java.lang.Integer.MAX_VALUE, applicability); @@ -2668,6 +2338,7 @@ public class ChargeItemDefinition extends MetadataResource { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -1076333435: /*derivedFromUri*/ return this.derivedFromUri == null ? new Base[0] : this.derivedFromUri.toArray(new Base[this.derivedFromUri.size()]); // UriType case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // CanonicalType @@ -2680,10 +2351,10 @@ public class ChargeItemDefinition extends MetadataResource { case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept + case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType - case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // Reference case -1526770491: /*applicability*/ return this.applicability == null ? new Base[0] : this.applicability.toArray(new Base[this.applicability.size()]); // ChargeItemDefinitionApplicabilityComponent @@ -2705,6 +2376,9 @@ public class ChargeItemDefinition extends MetadataResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 3373707: // name + this.name = TypeConvertor.castToString(value); // StringType + return value; case 110371416: // title this.title = TypeConvertor.castToString(value); // StringType return value; @@ -2742,6 +2416,9 @@ public class ChargeItemDefinition extends MetadataResource { case -507075711: // jurisdiction this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case -220463842: // purpose + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; @@ -2751,9 +2428,6 @@ public class ChargeItemDefinition extends MetadataResource { case -1687512484: // lastReviewDate this.lastReviewDate = TypeConvertor.castToDate(value); // DateType return value; - case -403934648: // effectivePeriod - this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period - return value; case 3059181: // code this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; @@ -2779,6 +2453,8 @@ public class ChargeItemDefinition extends MetadataResource { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("name")) { + this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("derivedFromUri")) { @@ -2804,14 +2480,14 @@ public class ChargeItemDefinition extends MetadataResource { this.getUseContext().add(TypeConvertor.castToUsageContext(value)); } else if (name.equals("jurisdiction")) { this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("purpose")) { + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("approvalDate")) { this.approvalDate = TypeConvertor.castToDate(value); // DateType } else if (name.equals("lastReviewDate")) { this.lastReviewDate = TypeConvertor.castToDate(value); // DateType - } else if (name.equals("effectivePeriod")) { - this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("code")) { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("instance")) { @@ -2831,6 +2507,7 @@ public class ChargeItemDefinition extends MetadataResource { case 116079: return getUrlElement(); case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); + case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -1076333435: return addDerivedFromUriElement(); case -995410646: return addPartOfElement(); @@ -2843,10 +2520,10 @@ public class ChargeItemDefinition extends MetadataResource { case -1724546052: return getDescriptionElement(); case -669707736: return addUseContext(); case -507075711: return addJurisdiction(); + case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); case 223539345: return getApprovalDateElement(); case -1687512484: return getLastReviewDateElement(); - case -403934648: return getEffectivePeriod(); case 3059181: return getCode(); case 555127957: return addInstance(); case -1526770491: return addApplicability(); @@ -2862,6 +2539,7 @@ public class ChargeItemDefinition extends MetadataResource { case 116079: /*url*/ return new String[] {"uri"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; + case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -1076333435: /*derivedFromUri*/ return new String[] {"uri"}; case -995410646: /*partOf*/ return new String[] {"canonical"}; @@ -2874,10 +2552,10 @@ public class ChargeItemDefinition extends MetadataResource { case -1724546052: /*description*/ return new String[] {"markdown"}; case -669707736: /*useContext*/ return new String[] {"UsageContext"}; case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; + case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; case 223539345: /*approvalDate*/ return new String[] {"date"}; case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; - case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case 555127957: /*instance*/ return new String[] {"Reference"}; case -1526770491: /*applicability*/ return new String[] {}; @@ -2898,6 +2576,9 @@ public class ChargeItemDefinition extends MetadataResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.version"); } + else if (name.equals("name")) { + throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.name"); + } else if (name.equals("title")) { throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.title"); } @@ -2934,6 +2615,9 @@ public class ChargeItemDefinition extends MetadataResource { else if (name.equals("jurisdiction")) { return addJurisdiction(); } + else if (name.equals("purpose")) { + throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.purpose"); + } else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.copyright"); } @@ -2943,10 +2627,6 @@ public class ChargeItemDefinition extends MetadataResource { else if (name.equals("lastReviewDate")) { throw new FHIRException("Cannot call addChild on a primitive type ChargeItemDefinition.lastReviewDate"); } - else if (name.equals("effectivePeriod")) { - this.effectivePeriod = new Period(); - return this.effectivePeriod; - } else if (name.equals("code")) { this.code = new CodeableConcept(); return this.code; @@ -2984,6 +2664,7 @@ public class ChargeItemDefinition extends MetadataResource { dst.identifier.add(i.copy()); }; dst.version = version == null ? null : version.copy(); + dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); if (derivedFromUri != null) { dst.derivedFromUri = new ArrayList(); @@ -3020,10 +2701,10 @@ public class ChargeItemDefinition extends MetadataResource { for (CodeableConcept i : jurisdiction) dst.jurisdiction.add(i.copy()); }; + dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); - dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); dst.code = code == null ? null : code.copy(); if (instance != null) { dst.instance = new ArrayList(); @@ -3054,15 +2735,14 @@ public class ChargeItemDefinition extends MetadataResource { return false; ChargeItemDefinition o = (ChargeItemDefinition) other_; return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) - && compareDeep(title, o.title, true) && compareDeep(derivedFromUri, o.derivedFromUri, true) && compareDeep(partOf, o.partOf, true) - && compareDeep(replaces, o.replaces, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) - && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(derivedFromUri, o.derivedFromUri, true) + && compareDeep(partOf, o.partOf, true) && compareDeep(replaces, o.replaces, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) - && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(code, o.code, true) && compareDeep(instance, o.instance, true) - && compareDeep(applicability, o.applicability, true) && compareDeep(propertyGroup, o.propertyGroup, true) - ; + && compareDeep(code, o.code, true) && compareDeep(instance, o.instance, true) && compareDeep(applicability, o.applicability, true) + && compareDeep(propertyGroup, o.propertyGroup, true); } @Override @@ -3072,19 +2752,19 @@ public class ChargeItemDefinition extends MetadataResource { if (!(other_ instanceof ChargeItemDefinition)) return false; ChargeItemDefinition o = (ChargeItemDefinition) other_; - return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(title, o.title, true) - && compareValues(derivedFromUri, o.derivedFromUri, true) && compareValues(partOf, o.partOf, true) && compareValues(replaces, o.replaces, true) - && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) - && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(copyright, o.copyright, true) - && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) - ; + return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) + && compareValues(title, o.title, true) && compareValues(derivedFromUri, o.derivedFromUri, true) && compareValues(partOf, o.partOf, true) + && compareValues(replaces, o.replaces, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) + && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) + && compareValues(lastReviewDate, o.lastReviewDate, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version - , title, derivedFromUri, partOf, replaces, status, experimental, date, publisher - , contact, description, useContext, jurisdiction, copyright, approvalDate, lastReviewDate - , effectivePeriod, code, instance, applicability, propertyGroup); + , name, title, derivedFromUri, partOf, replaces, status, experimental, date + , publisher, contact, description, useContext, jurisdiction, purpose, copyright + , approvalDate, lastReviewDate, code, instance, applicability, propertyGroup); } @Override @@ -3237,17 +2917,17 @@ public class ChargeItemDefinition extends MetadataResource { *

* Description: The time during which the charge item definition is intended to be in use
* Type: date
- * Path: ChargeItemDefinition.effectivePeriod
+ * Path: ChargeItemDefinition.applicability.effectivePeriod
*

*/ - @SearchParamDefinition(name="effective", path="ChargeItemDefinition.effectivePeriod", description="The time during which the charge item definition is intended to be in use", type="date" ) + @SearchParamDefinition(name="effective", path="ChargeItemDefinition.applicability.effectivePeriod", description="The time during which the charge item definition is intended to be in use", type="date" ) public static final String SP_EFFECTIVE = "effective"; /** * Fluent Client search parameter constant for effective *

* Description: The time during which the charge item definition is intended to be in use
* Type: date
- * Path: ChargeItemDefinition.effectivePeriod
+ * Path: ChargeItemDefinition.applicability.effectivePeriod
*

*/ public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Citation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Citation.java index 84fc6087e..0e8f13d0f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Citation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Citation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -55,13 +55,17 @@ public class Citation extends MetadataResource { public enum RelatedArtifactTypeExpanded { /** - * Additional documentation for the knowledge resource. This would include additional instructions on usage as well as additional information on clinical context or appropriateness + * Additional documentation for the knowledge resource. This would include additional instructions on usage as well as additional information on clinical context or appropriateness. */ DOCUMENTATION, /** * The target artifact is a summary of the justification for the knowledge resource including supporting evidence, relevant guidelines, or other clinically important information. This information is intended to provide a way to make the justification for the knowledge resource available to the consumer of interventions or results produced by the knowledge resource. */ JUSTIFICATION, + /** + * Bibliographic citation for papers, references, or other relevant material for the knowledge resource. This is intended to allow for citation of related material, but that was not necessarily specifically prepared in connection with this knowledge resource. + */ + CITATION, /** * The previous version of the knowledge artifact, used to establish an ordering of versions of an artifact, independent of the status of each version. */ @@ -75,11 +79,11 @@ public class Citation extends MetadataResource { */ DERIVEDFROM, /** - * This artifact depends on the target artifact. There is a requirement to use the target artifact in the implementation or interpretation of this artifact. + * This artifact depends on the target artifact. There is a requirement to use the target artifact in the creation or interpretation of this artifact. */ DEPENDSON, /** - * This artifact is composed of the target artifact. This artifact is constructed with the target artifact as a component. The target artifact is a part of this artifact. (A dataset is composed of data.) + * This artifact is composed of the target artifact. This artifact is constructed with the target artifact as a component. The target artifact is a part of this artifact. (A dataset is composed of data.). */ COMPOSEDOF, /** @@ -111,15 +115,15 @@ public class Citation extends MetadataResource { */ CITEDBY, /** - * This artifact contains comments about the target artifact.  + * This artifact contains comments about the target artifact. */ COMMENTSON, /** - * This artifact has comments about it in the target artifact.  The type of comments may be expressed in the targetClassifier element such as reply, review, editorial, feedback, solicited, unsolicited, structured, unstructured. + * This artifact has comments about it in the target artifact. The type of comments may be expressed in the targetClassifier element such as reply, review, editorial, feedback, solicited, unsolicited, structured, unstructured. */ COMMENTIN, /** - * This artifact is a container in which the target artifact is contained. A container is a data structure whose instances are collections of other objects. (A database contains the dataset.) + * This artifact is a container in which the target artifact is contained. A container is a data structure whose instances are collections of other objects. (A database contains the dataset.). */ CONTAINS, /** @@ -179,17 +183,21 @@ public class Citation extends MetadataResource { */ TRANSFORMEDWITH, /** - * The related artifact is the citation for this artifact. + * This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness. */ - CITEAS, + DOCUMENTS, + /** + * The target artifact is a precise description of a concept in this artifact. This may be used when the RelatedArtifact datatype is used in elements contained in this artifact. + */ + SPECIFICATIONOF, /** * This artifact was created with the target artifact. The target artifact is a tool or support material used in the creation of the artifact, and not content that the artifact was derived from. */ CREATEDWITH, /** - * This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness. + * The related artifact is the citation for this artifact. */ - DOCUMENTS, + CITEAS, /** * A copy of the artifact in a publication with a different artifact identifier. */ @@ -198,10 +206,6 @@ public class Citation extends MetadataResource { * The original version of record for which the current artifact is a copy. */ REPRINTOF, - /** - * The target artifact is a precise description of a concept in this artifact. This may be used when the RelatedArtifact datatype is used in elements contained in this artifact. - */ - SPECIFICATIONOF, /** * added to help the parsers with the generic types */ @@ -213,6 +217,8 @@ public class Citation extends MetadataResource { return DOCUMENTATION; if ("justification".equals(codeString)) return JUSTIFICATION; + if ("citation".equals(codeString)) + return CITATION; if ("predecessor".equals(codeString)) return PREDECESSOR; if ("successor".equals(codeString)) @@ -271,18 +277,18 @@ public class Citation extends MetadataResource { return TRANSFORMEDINTO; if ("transformed-with".equals(codeString)) return TRANSFORMEDWITH; - if ("cite-as".equals(codeString)) - return CITEAS; - if ("created-with".equals(codeString)) - return CREATEDWITH; if ("documents".equals(codeString)) return DOCUMENTS; + if ("specification-of".equals(codeString)) + return SPECIFICATIONOF; + if ("created-with".equals(codeString)) + return CREATEDWITH; + if ("cite-as".equals(codeString)) + return CITEAS; if ("reprint".equals(codeString)) return REPRINT; if ("reprint-of".equals(codeString)) return REPRINTOF; - if ("specification-of".equals(codeString)) - return SPECIFICATIONOF; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -292,6 +298,7 @@ public class Citation extends MetadataResource { switch (this) { case DOCUMENTATION: return "documentation"; case JUSTIFICATION: return "justification"; + case CITATION: return "citation"; case PREDECESSOR: return "predecessor"; case SUCCESSOR: return "successor"; case DERIVEDFROM: return "derived-from"; @@ -321,68 +328,70 @@ public class Citation extends MetadataResource { case TRANSFORMS: return "transforms"; case TRANSFORMEDINTO: return "transformed-into"; case TRANSFORMEDWITH: return "transformed-with"; - case CITEAS: return "cite-as"; - case CREATEDWITH: return "created-with"; case DOCUMENTS: return "documents"; + case SPECIFICATIONOF: return "specification-of"; + case CREATEDWITH: return "created-with"; + case CITEAS: return "cite-as"; case REPRINT: return "reprint"; case REPRINTOF: return "reprint-of"; - case SPECIFICATIONOF: return "specification-of"; case NULL: return null; default: return "?"; } } public String getSystem() { switch (this) { - case DOCUMENTATION: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case JUSTIFICATION: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case PREDECESSOR: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case SUCCESSOR: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case DERIVEDFROM: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case DEPENDSON: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case COMPOSEDOF: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case PARTOF: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case AMENDS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case AMENDEDWITH: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case APPENDS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case APPENDEDWITH: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CITES: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CITEDBY: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case COMMENTSON: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case COMMENTIN: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CONTAINS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CONTAINEDIN: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CORRECTS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CORRECTIONIN: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case REPLACES: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case REPLACEDWITH: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case RETRACTS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case RETRACTEDBY: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case SIGNS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case SIMILARTO: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case SUPPORTS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case SUPPORTEDWITH: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case TRANSFORMS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case TRANSFORMEDINTO: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case TRANSFORMEDWITH: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CITEAS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case CREATEDWITH: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case DOCUMENTS: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; + case DOCUMENTATION: return "http://hl7.org/fhir/related-artifact-type"; + case JUSTIFICATION: return "http://hl7.org/fhir/related-artifact-type"; + case CITATION: return "http://hl7.org/fhir/related-artifact-type"; + case PREDECESSOR: return "http://hl7.org/fhir/related-artifact-type"; + case SUCCESSOR: return "http://hl7.org/fhir/related-artifact-type"; + case DERIVEDFROM: return "http://hl7.org/fhir/related-artifact-type"; + case DEPENDSON: return "http://hl7.org/fhir/related-artifact-type"; + case COMPOSEDOF: return "http://hl7.org/fhir/related-artifact-type"; + case PARTOF: return "http://hl7.org/fhir/related-artifact-type"; + case AMENDS: return "http://hl7.org/fhir/related-artifact-type"; + case AMENDEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case APPENDS: return "http://hl7.org/fhir/related-artifact-type"; + case APPENDEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case CITES: return "http://hl7.org/fhir/related-artifact-type"; + case CITEDBY: return "http://hl7.org/fhir/related-artifact-type"; + case COMMENTSON: return "http://hl7.org/fhir/related-artifact-type"; + case COMMENTIN: return "http://hl7.org/fhir/related-artifact-type"; + case CONTAINS: return "http://hl7.org/fhir/related-artifact-type"; + case CONTAINEDIN: return "http://hl7.org/fhir/related-artifact-type"; + case CORRECTS: return "http://hl7.org/fhir/related-artifact-type"; + case CORRECTIONIN: return "http://hl7.org/fhir/related-artifact-type"; + case REPLACES: return "http://hl7.org/fhir/related-artifact-type"; + case REPLACEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case RETRACTS: return "http://hl7.org/fhir/related-artifact-type"; + case RETRACTEDBY: return "http://hl7.org/fhir/related-artifact-type"; + case SIGNS: return "http://hl7.org/fhir/related-artifact-type"; + case SIMILARTO: return "http://hl7.org/fhir/related-artifact-type"; + case SUPPORTS: return "http://hl7.org/fhir/related-artifact-type"; + case SUPPORTEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case TRANSFORMS: return "http://hl7.org/fhir/related-artifact-type"; + case TRANSFORMEDINTO: return "http://hl7.org/fhir/related-artifact-type"; + case TRANSFORMEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case DOCUMENTS: return "http://hl7.org/fhir/related-artifact-type"; + case SPECIFICATIONOF: return "http://hl7.org/fhir/related-artifact-type"; + case CREATEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case CITEAS: return "http://hl7.org/fhir/related-artifact-type"; case REPRINT: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; case REPRINTOF: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; - case SPECIFICATIONOF: return "http://terminology.hl7.org/CodeSystem/related-artifact-type-expanded"; case NULL: return null; default: return "?"; } } public String getDefinition() { switch (this) { - case DOCUMENTATION: return "Additional documentation for the knowledge resource. This would include additional instructions on usage as well as additional information on clinical context or appropriateness"; + case DOCUMENTATION: return "Additional documentation for the knowledge resource. This would include additional instructions on usage as well as additional information on clinical context or appropriateness."; case JUSTIFICATION: return "The target artifact is a summary of the justification for the knowledge resource including supporting evidence, relevant guidelines, or other clinically important information. This information is intended to provide a way to make the justification for the knowledge resource available to the consumer of interventions or results produced by the knowledge resource."; + case CITATION: return "Bibliographic citation for papers, references, or other relevant material for the knowledge resource. This is intended to allow for citation of related material, but that was not necessarily specifically prepared in connection with this knowledge resource."; case PREDECESSOR: return "The previous version of the knowledge artifact, used to establish an ordering of versions of an artifact, independent of the status of each version."; case SUCCESSOR: return "The subsequent version of the knowledge artfact, used to establish an ordering of versions of an artifact, independent of the status of each version."; case DERIVEDFROM: return "This artifact is derived from the target artifact. This is intended to capture the relationship in which a particular knowledge resource is based on the content of another artifact, but is modified to capture either a different set of overall requirements, or a more specific set of requirements such as those involved in a particular institution or clinical setting. The artifact may be derived from one or more target artifacts."; - case DEPENDSON: return "This artifact depends on the target artifact. There is a requirement to use the target artifact in the implementation or interpretation of this artifact."; - case COMPOSEDOF: return "This artifact is composed of the target artifact. This artifact is constructed with the target artifact as a component. The target artifact is a part of this artifact. (A dataset is composed of data.)"; + case DEPENDSON: return "This artifact depends on the target artifact. There is a requirement to use the target artifact in the creation or interpretation of this artifact."; + case COMPOSEDOF: return "This artifact is composed of the target artifact. This artifact is constructed with the target artifact as a component. The target artifact is a part of this artifact. (A dataset is composed of data.)."; case PARTOF: return "This artifact is a part of the target artifact. The target artifact is composed of this artifact (and possibly other artifacts)."; case AMENDS: return "This artifact amends or changes the target artifact. This artifact adds additional information that is functionally expected to replace information in the target artifact. This artifact replaces a part but not all of the target artifact."; case AMENDEDWITH: return "This artifact is amended with or changed by the target artifact. There is information in this artifact that should be functionally replaced with information in the target artifact."; @@ -390,9 +399,9 @@ public class Citation extends MetadataResource { case APPENDEDWITH: return "This artifact has additional information in the target artifact."; case CITES: return "This artifact cites the target artifact. This may be a bibliographic citation for papers, references, or other relevant material for the knowledge resource. This is intended to allow for citation of related material, but that was not necessarily specifically prepared in connection with this knowledge resource."; case CITEDBY: return "This artifact is cited by the target artifact."; - case COMMENTSON: return "This artifact contains comments about the target artifact. "; - case COMMENTIN: return "This artifact has comments about it in the target artifact.  The type of comments may be expressed in the targetClassifier element such as reply, review, editorial, feedback, solicited, unsolicited, structured, unstructured."; - case CONTAINS: return "This artifact is a container in which the target artifact is contained. A container is a data structure whose instances are collections of other objects. (A database contains the dataset.)"; + case COMMENTSON: return "This artifact contains comments about the target artifact."; + case COMMENTIN: return "This artifact has comments about it in the target artifact. The type of comments may be expressed in the targetClassifier element such as reply, review, editorial, feedback, solicited, unsolicited, structured, unstructured."; + case CONTAINS: return "This artifact is a container in which the target artifact is contained. A container is a data structure whose instances are collections of other objects. (A database contains the dataset.)."; case CONTAINEDIN: return "This artifact is contained in the target artifact. The target artifact is a data structure whose instances are collections of other objects."; case CORRECTS: return "This artifact identifies errors and replacement content for the target artifact."; case CORRECTIONIN: return "This artifact has corrections to it in the target artifact. The target artifact identifies errors and replacement content for this artifact."; @@ -407,12 +416,12 @@ public class Citation extends MetadataResource { case TRANSFORMS: return "This artifact was generated by transforming the target artifact (e.g., format or language conversion). This is intended to capture the relationship in which a particular knowledge resource is based on the content of another artifact, but changes are only apparent in form and there is only one target artifact with the “transforms” relationship type."; case TRANSFORMEDINTO: return "This artifact was transformed into the target artifact (e.g., by format or language conversion)."; case TRANSFORMEDWITH: return "This artifact was generated by transforming a related artifact (e.g., format or language conversion), noted separately with the “transforms” relationship type. This transformation used the target artifact to inform the transformation. The target artifact may be a conversion script or translation guide."; - case CITEAS: return "The related artifact is the citation for this artifact."; - case CREATEDWITH: return "This artifact was created with the target artifact. The target artifact is a tool or support material used in the creation of the artifact, and not content that the artifact was derived from."; case DOCUMENTS: return "This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness."; + case SPECIFICATIONOF: return "The target artifact is a precise description of a concept in this artifact. This may be used when the RelatedArtifact datatype is used in elements contained in this artifact."; + case CREATEDWITH: return "This artifact was created with the target artifact. The target artifact is a tool or support material used in the creation of the artifact, and not content that the artifact was derived from."; + case CITEAS: return "The related artifact is the citation for this artifact."; case REPRINT: return "A copy of the artifact in a publication with a different artifact identifier."; case REPRINTOF: return "The original version of record for which the current artifact is a copy."; - case SPECIFICATIONOF: return "The target artifact is a precise description of a concept in this artifact. This may be used when the RelatedArtifact datatype is used in elements contained in this artifact."; case NULL: return null; default: return "?"; } @@ -421,6 +430,7 @@ public class Citation extends MetadataResource { switch (this) { case DOCUMENTATION: return "Documentation"; case JUSTIFICATION: return "Justification"; + case CITATION: return "Citation"; case PREDECESSOR: return "Predecessor"; case SUCCESSOR: return "Successor"; case DERIVEDFROM: return "Derived From"; @@ -450,12 +460,12 @@ public class Citation extends MetadataResource { case TRANSFORMS: return "Transforms"; case TRANSFORMEDINTO: return "Transformed Into"; case TRANSFORMEDWITH: return "Transformed With"; - case CITEAS: return "Citation for"; - case CREATEDWITH: return "Created With"; case DOCUMENTS: return "Documents"; + case SPECIFICATIONOF: return "Specification Of"; + case CREATEDWITH: return "Created With"; + case CITEAS: return "Cite As"; case REPRINT: return "Reprint"; case REPRINTOF: return "Reprint Of"; - case SPECIFICATIONOF: return "Specification of"; case NULL: return null; default: return "?"; } @@ -471,6 +481,8 @@ public class Citation extends MetadataResource { return RelatedArtifactTypeExpanded.DOCUMENTATION; if ("justification".equals(codeString)) return RelatedArtifactTypeExpanded.JUSTIFICATION; + if ("citation".equals(codeString)) + return RelatedArtifactTypeExpanded.CITATION; if ("predecessor".equals(codeString)) return RelatedArtifactTypeExpanded.PREDECESSOR; if ("successor".equals(codeString)) @@ -529,18 +541,18 @@ public class Citation extends MetadataResource { return RelatedArtifactTypeExpanded.TRANSFORMEDINTO; if ("transformed-with".equals(codeString)) return RelatedArtifactTypeExpanded.TRANSFORMEDWITH; - if ("cite-as".equals(codeString)) - return RelatedArtifactTypeExpanded.CITEAS; - if ("created-with".equals(codeString)) - return RelatedArtifactTypeExpanded.CREATEDWITH; if ("documents".equals(codeString)) return RelatedArtifactTypeExpanded.DOCUMENTS; + if ("specification-of".equals(codeString)) + return RelatedArtifactTypeExpanded.SPECIFICATIONOF; + if ("created-with".equals(codeString)) + return RelatedArtifactTypeExpanded.CREATEDWITH; + if ("cite-as".equals(codeString)) + return RelatedArtifactTypeExpanded.CITEAS; if ("reprint".equals(codeString)) return RelatedArtifactTypeExpanded.REPRINT; if ("reprint-of".equals(codeString)) return RelatedArtifactTypeExpanded.REPRINTOF; - if ("specification-of".equals(codeString)) - return RelatedArtifactTypeExpanded.SPECIFICATIONOF; throw new IllegalArgumentException("Unknown RelatedArtifactTypeExpanded code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -555,6 +567,8 @@ public class Citation extends MetadataResource { return new Enumeration(this, RelatedArtifactTypeExpanded.DOCUMENTATION); if ("justification".equals(codeString)) return new Enumeration(this, RelatedArtifactTypeExpanded.JUSTIFICATION); + if ("citation".equals(codeString)) + return new Enumeration(this, RelatedArtifactTypeExpanded.CITATION); if ("predecessor".equals(codeString)) return new Enumeration(this, RelatedArtifactTypeExpanded.PREDECESSOR); if ("successor".equals(codeString)) @@ -613,18 +627,18 @@ public class Citation extends MetadataResource { return new Enumeration(this, RelatedArtifactTypeExpanded.TRANSFORMEDINTO); if ("transformed-with".equals(codeString)) return new Enumeration(this, RelatedArtifactTypeExpanded.TRANSFORMEDWITH); - if ("cite-as".equals(codeString)) - return new Enumeration(this, RelatedArtifactTypeExpanded.CITEAS); - if ("created-with".equals(codeString)) - return new Enumeration(this, RelatedArtifactTypeExpanded.CREATEDWITH); if ("documents".equals(codeString)) return new Enumeration(this, RelatedArtifactTypeExpanded.DOCUMENTS); + if ("specification-of".equals(codeString)) + return new Enumeration(this, RelatedArtifactTypeExpanded.SPECIFICATIONOF); + if ("created-with".equals(codeString)) + return new Enumeration(this, RelatedArtifactTypeExpanded.CREATEDWITH); + if ("cite-as".equals(codeString)) + return new Enumeration(this, RelatedArtifactTypeExpanded.CITEAS); if ("reprint".equals(codeString)) return new Enumeration(this, RelatedArtifactTypeExpanded.REPRINT); if ("reprint-of".equals(codeString)) return new Enumeration(this, RelatedArtifactTypeExpanded.REPRINTOF); - if ("specification-of".equals(codeString)) - return new Enumeration(this, RelatedArtifactTypeExpanded.SPECIFICATIONOF); throw new FHIRException("Unknown RelatedArtifactTypeExpanded code '"+codeString+"'"); } public String toCode(RelatedArtifactTypeExpanded code) { @@ -632,6 +646,8 @@ public class Citation extends MetadataResource { return "documentation"; if (code == RelatedArtifactTypeExpanded.JUSTIFICATION) return "justification"; + if (code == RelatedArtifactTypeExpanded.CITATION) + return "citation"; if (code == RelatedArtifactTypeExpanded.PREDECESSOR) return "predecessor"; if (code == RelatedArtifactTypeExpanded.SUCCESSOR) @@ -690,18 +706,18 @@ public class Citation extends MetadataResource { return "transformed-into"; if (code == RelatedArtifactTypeExpanded.TRANSFORMEDWITH) return "transformed-with"; - if (code == RelatedArtifactTypeExpanded.CITEAS) - return "cite-as"; - if (code == RelatedArtifactTypeExpanded.CREATEDWITH) - return "created-with"; if (code == RelatedArtifactTypeExpanded.DOCUMENTS) return "documents"; + if (code == RelatedArtifactTypeExpanded.SPECIFICATIONOF) + return "specification-of"; + if (code == RelatedArtifactTypeExpanded.CREATEDWITH) + return "created-with"; + if (code == RelatedArtifactTypeExpanded.CITEAS) + return "cite-as"; if (code == RelatedArtifactTypeExpanded.REPRINT) return "reprint"; if (code == RelatedArtifactTypeExpanded.REPRINTOF) return "reprint-of"; - if (code == RelatedArtifactTypeExpanded.SPECIFICATIONOF) - return "specification-of"; return "?"; } public String toSystem(RelatedArtifactTypeExpanded code) { @@ -4083,7 +4099,7 @@ public class Citation extends MetadataResource { * The type of relationship to the related artifact. */ @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="documentation | justification | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | cite-as | created-with | documents | reprint | reprint-of | specification-of", formalDefinition="The type of relationship to the related artifact." ) + @Description(shortDefinition="documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as | reprint | reprint-of", formalDefinition="The type of relationship to the related artifact." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/related-artifact-type-expanded") protected Enumeration type; @@ -4729,30 +4745,80 @@ public class Citation extends MetadataResource { protected CitationCitedArtifactPublicationFormPublishedInComponent publishedIn; /** - * The specific issue in which the cited article resides. + * Describes the form of the medium cited. Common codes are "Internet" or "Print". */ - @Child(name = "periodicRelease", type = {}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The specific issue in which the cited article resides", formalDefinition="The specific issue in which the cited article resides." ) - protected CitationCitedArtifactPublicationFormPeriodicReleaseComponent periodicRelease; + @Child(name = "citedMedium", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Internet or Print", formalDefinition="Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\"." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/cited-medium") + protected CodeableConcept citedMedium; + + /** + * Volume number of journal in which the article is published. + */ + @Child(name = "volume", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Volume number of journal in which the article is published", formalDefinition="Volume number of journal in which the article is published." ) + protected StringType volume; + + /** + * Issue, part or supplement of journal in which the article is published. + */ + @Child(name = "issue", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Issue, part or supplement of journal in which the article is published", formalDefinition="Issue, part or supplement of journal in which the article is published." ) + protected StringType issue; + + /** + * Year on which the issue of the journal was published. + */ + @Child(name = "publicationDateYear", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Year on which the issue of the journal was published", formalDefinition="Year on which the issue of the journal was published." ) + protected StringType publicationDateYear; + + /** + * Month on which the issue of the journal was published. + */ + @Child(name = "publicationDateMonth", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Month on which the issue of the journal was published", formalDefinition="Month on which the issue of the journal was published." ) + protected StringType publicationDateMonth; + + /** + * Day on which the issue of the journal was published. + */ + @Child(name = "publicationDateDay", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Day on which the issue of the journal was published", formalDefinition="Day on which the issue of the journal was published." ) + protected StringType publicationDateDay; + + /** + * Spring, Summer, Fall/Autumn, Winter. + */ + @Child(name = "publicationDateSeason", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Season on which the issue of the journal was published", formalDefinition="Spring, Summer, Fall/Autumn, Winter." ) + protected StringType publicationDateSeason; + + /** + * Text representation of the date of which the issue of the journal was published. + */ + @Child(name = "publicationDateText", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Text representation of the date of which the issue of the journal was published", formalDefinition="Text representation of the date of which the issue of the journal was published." ) + protected StringType publicationDateText; /** * The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date). */ - @Child(name = "articleDate", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "articleDate", type = {DateTimeType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The date the article was added to the database, or the date the article was released", formalDefinition="The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date)." ) protected DateTimeType articleDate; /** * The date the article was last revised or updated in the database. */ - @Child(name = "lastRevisionDate", type = {DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "lastRevisionDate", type = {DateTimeType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The date the article was last revised or updated in the database", formalDefinition="The date the article was last revised or updated in the database." ) protected DateTimeType lastRevisionDate; /** * Language in which this form of the article is published. */ - @Child(name = "language", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "language", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Language in which this form of the article is published", formalDefinition="Language in which this form of the article is published." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") protected List language; @@ -4760,46 +4826,46 @@ public class Citation extends MetadataResource { /** * Entry number or identifier for inclusion in a database. */ - @Child(name = "accessionNumber", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "accessionNumber", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Entry number or identifier for inclusion in a database", formalDefinition="Entry number or identifier for inclusion in a database." ) protected StringType accessionNumber; /** * Used for full display of pagination. */ - @Child(name = "pageString", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "pageString", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Used for full display of pagination", formalDefinition="Used for full display of pagination." ) protected StringType pageString; /** * Used for isolated representation of first page. */ - @Child(name = "firstPage", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "firstPage", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Used for isolated representation of first page", formalDefinition="Used for isolated representation of first page." ) protected StringType firstPage; /** * Used for isolated representation of last page. */ - @Child(name = "lastPage", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "lastPage", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Used for isolated representation of last page", formalDefinition="Used for isolated representation of last page." ) protected StringType lastPage; /** * Actual or approximate number of pages or screens. */ - @Child(name = "pageCount", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "pageCount", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Number of pages or screens", formalDefinition="Actual or approximate number of pages or screens." ) protected StringType pageCount; /** * Copyright notice for the full article or artifact. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Copyright notice for the full article or artifact", formalDefinition="Copyright notice for the full article or artifact." ) protected MarkdownType copyright; - private static final long serialVersionUID = -191740896L; + private static final long serialVersionUID = -1750822803L; /** * Constructor @@ -4833,26 +4899,369 @@ public class Citation extends MetadataResource { } /** - * @return {@link #periodicRelease} (The specific issue in which the cited article resides.) + * @return {@link #citedMedium} (Describes the form of the medium cited. Common codes are "Internet" or "Print".) */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent getPeriodicRelease() { - if (this.periodicRelease == null) + public CodeableConcept getCitedMedium() { + if (this.citedMedium == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.periodicRelease"); + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.citedMedium"); else if (Configuration.doAutoCreate()) - this.periodicRelease = new CitationCitedArtifactPublicationFormPeriodicReleaseComponent(); // cc - return this.periodicRelease; + this.citedMedium = new CodeableConcept(); // cc + return this.citedMedium; } - public boolean hasPeriodicRelease() { - return this.periodicRelease != null && !this.periodicRelease.isEmpty(); + public boolean hasCitedMedium() { + return this.citedMedium != null && !this.citedMedium.isEmpty(); } /** - * @param value {@link #periodicRelease} (The specific issue in which the cited article resides.) + * @param value {@link #citedMedium} (Describes the form of the medium cited. Common codes are "Internet" or "Print".) */ - public CitationCitedArtifactPublicationFormComponent setPeriodicRelease(CitationCitedArtifactPublicationFormPeriodicReleaseComponent value) { - this.periodicRelease = value; + public CitationCitedArtifactPublicationFormComponent setCitedMedium(CodeableConcept value) { + this.citedMedium = value; + return this; + } + + /** + * @return {@link #volume} (Volume number of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getVolume" gives direct access to the value + */ + public StringType getVolumeElement() { + if (this.volume == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.volume"); + else if (Configuration.doAutoCreate()) + this.volume = new StringType(); // bb + return this.volume; + } + + public boolean hasVolumeElement() { + return this.volume != null && !this.volume.isEmpty(); + } + + public boolean hasVolume() { + return this.volume != null && !this.volume.isEmpty(); + } + + /** + * @param value {@link #volume} (Volume number of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getVolume" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setVolumeElement(StringType value) { + this.volume = value; + return this; + } + + /** + * @return Volume number of journal in which the article is published. + */ + public String getVolume() { + return this.volume == null ? null : this.volume.getValue(); + } + + /** + * @param value Volume number of journal in which the article is published. + */ + public CitationCitedArtifactPublicationFormComponent setVolume(String value) { + if (Utilities.noString(value)) + this.volume = null; + else { + if (this.volume == null) + this.volume = new StringType(); + this.volume.setValue(value); + } + return this; + } + + /** + * @return {@link #issue} (Issue, part or supplement of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getIssue" gives direct access to the value + */ + public StringType getIssueElement() { + if (this.issue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.issue"); + else if (Configuration.doAutoCreate()) + this.issue = new StringType(); // bb + return this.issue; + } + + public boolean hasIssueElement() { + return this.issue != null && !this.issue.isEmpty(); + } + + public boolean hasIssue() { + return this.issue != null && !this.issue.isEmpty(); + } + + /** + * @param value {@link #issue} (Issue, part or supplement of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getIssue" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setIssueElement(StringType value) { + this.issue = value; + return this; + } + + /** + * @return Issue, part or supplement of journal in which the article is published. + */ + public String getIssue() { + return this.issue == null ? null : this.issue.getValue(); + } + + /** + * @param value Issue, part or supplement of journal in which the article is published. + */ + public CitationCitedArtifactPublicationFormComponent setIssue(String value) { + if (Utilities.noString(value)) + this.issue = null; + else { + if (this.issue == null) + this.issue = new StringType(); + this.issue.setValue(value); + } + return this; + } + + /** + * @return {@link #publicationDateYear} (Year on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateYear" gives direct access to the value + */ + public StringType getPublicationDateYearElement() { + if (this.publicationDateYear == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.publicationDateYear"); + else if (Configuration.doAutoCreate()) + this.publicationDateYear = new StringType(); // bb + return this.publicationDateYear; + } + + public boolean hasPublicationDateYearElement() { + return this.publicationDateYear != null && !this.publicationDateYear.isEmpty(); + } + + public boolean hasPublicationDateYear() { + return this.publicationDateYear != null && !this.publicationDateYear.isEmpty(); + } + + /** + * @param value {@link #publicationDateYear} (Year on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateYear" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateYearElement(StringType value) { + this.publicationDateYear = value; + return this; + } + + /** + * @return Year on which the issue of the journal was published. + */ + public String getPublicationDateYear() { + return this.publicationDateYear == null ? null : this.publicationDateYear.getValue(); + } + + /** + * @param value Year on which the issue of the journal was published. + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateYear(String value) { + if (Utilities.noString(value)) + this.publicationDateYear = null; + else { + if (this.publicationDateYear == null) + this.publicationDateYear = new StringType(); + this.publicationDateYear.setValue(value); + } + return this; + } + + /** + * @return {@link #publicationDateMonth} (Month on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateMonth" gives direct access to the value + */ + public StringType getPublicationDateMonthElement() { + if (this.publicationDateMonth == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.publicationDateMonth"); + else if (Configuration.doAutoCreate()) + this.publicationDateMonth = new StringType(); // bb + return this.publicationDateMonth; + } + + public boolean hasPublicationDateMonthElement() { + return this.publicationDateMonth != null && !this.publicationDateMonth.isEmpty(); + } + + public boolean hasPublicationDateMonth() { + return this.publicationDateMonth != null && !this.publicationDateMonth.isEmpty(); + } + + /** + * @param value {@link #publicationDateMonth} (Month on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateMonth" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateMonthElement(StringType value) { + this.publicationDateMonth = value; + return this; + } + + /** + * @return Month on which the issue of the journal was published. + */ + public String getPublicationDateMonth() { + return this.publicationDateMonth == null ? null : this.publicationDateMonth.getValue(); + } + + /** + * @param value Month on which the issue of the journal was published. + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateMonth(String value) { + if (Utilities.noString(value)) + this.publicationDateMonth = null; + else { + if (this.publicationDateMonth == null) + this.publicationDateMonth = new StringType(); + this.publicationDateMonth.setValue(value); + } + return this; + } + + /** + * @return {@link #publicationDateDay} (Day on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateDay" gives direct access to the value + */ + public StringType getPublicationDateDayElement() { + if (this.publicationDateDay == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.publicationDateDay"); + else if (Configuration.doAutoCreate()) + this.publicationDateDay = new StringType(); // bb + return this.publicationDateDay; + } + + public boolean hasPublicationDateDayElement() { + return this.publicationDateDay != null && !this.publicationDateDay.isEmpty(); + } + + public boolean hasPublicationDateDay() { + return this.publicationDateDay != null && !this.publicationDateDay.isEmpty(); + } + + /** + * @param value {@link #publicationDateDay} (Day on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateDay" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateDayElement(StringType value) { + this.publicationDateDay = value; + return this; + } + + /** + * @return Day on which the issue of the journal was published. + */ + public String getPublicationDateDay() { + return this.publicationDateDay == null ? null : this.publicationDateDay.getValue(); + } + + /** + * @param value Day on which the issue of the journal was published. + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateDay(String value) { + if (Utilities.noString(value)) + this.publicationDateDay = null; + else { + if (this.publicationDateDay == null) + this.publicationDateDay = new StringType(); + this.publicationDateDay.setValue(value); + } + return this; + } + + /** + * @return {@link #publicationDateSeason} (Spring, Summer, Fall/Autumn, Winter.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateSeason" gives direct access to the value + */ + public StringType getPublicationDateSeasonElement() { + if (this.publicationDateSeason == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.publicationDateSeason"); + else if (Configuration.doAutoCreate()) + this.publicationDateSeason = new StringType(); // bb + return this.publicationDateSeason; + } + + public boolean hasPublicationDateSeasonElement() { + return this.publicationDateSeason != null && !this.publicationDateSeason.isEmpty(); + } + + public boolean hasPublicationDateSeason() { + return this.publicationDateSeason != null && !this.publicationDateSeason.isEmpty(); + } + + /** + * @param value {@link #publicationDateSeason} (Spring, Summer, Fall/Autumn, Winter.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateSeason" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateSeasonElement(StringType value) { + this.publicationDateSeason = value; + return this; + } + + /** + * @return Spring, Summer, Fall/Autumn, Winter. + */ + public String getPublicationDateSeason() { + return this.publicationDateSeason == null ? null : this.publicationDateSeason.getValue(); + } + + /** + * @param value Spring, Summer, Fall/Autumn, Winter. + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateSeason(String value) { + if (Utilities.noString(value)) + this.publicationDateSeason = null; + else { + if (this.publicationDateSeason == null) + this.publicationDateSeason = new StringType(); + this.publicationDateSeason.setValue(value); + } + return this; + } + + /** + * @return {@link #publicationDateText} (Text representation of the date of which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateText" gives direct access to the value + */ + public StringType getPublicationDateTextElement() { + if (this.publicationDateText == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormComponent.publicationDateText"); + else if (Configuration.doAutoCreate()) + this.publicationDateText = new StringType(); // bb + return this.publicationDateText; + } + + public boolean hasPublicationDateTextElement() { + return this.publicationDateText != null && !this.publicationDateText.isEmpty(); + } + + public boolean hasPublicationDateText() { + return this.publicationDateText != null && !this.publicationDateText.isEmpty(); + } + + /** + * @param value {@link #publicationDateText} (Text representation of the date of which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDateText" gives direct access to the value + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateTextElement(StringType value) { + this.publicationDateText = value; + return this; + } + + /** + * @return Text representation of the date of which the issue of the journal was published. + */ + public String getPublicationDateText() { + return this.publicationDateText == null ? null : this.publicationDateText.getValue(); + } + + /** + * @param value Text representation of the date of which the issue of the journal was published. + */ + public CitationCitedArtifactPublicationFormComponent setPublicationDateText(String value) { + if (Utilities.noString(value)) + this.publicationDateText = null; + else { + if (this.publicationDateText == null) + this.publicationDateText = new StringType(); + this.publicationDateText.setValue(value); + } return this; } @@ -5304,7 +5713,14 @@ public class Citation extends MetadataResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("publishedIn", "", "The collection the cited article or artifact is published in.", 0, 1, publishedIn)); - children.add(new Property("periodicRelease", "", "The specific issue in which the cited article resides.", 0, 1, periodicRelease)); + children.add(new Property("citedMedium", "CodeableConcept", "Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\".", 0, 1, citedMedium)); + children.add(new Property("volume", "string", "Volume number of journal in which the article is published.", 0, 1, volume)); + children.add(new Property("issue", "string", "Issue, part or supplement of journal in which the article is published.", 0, 1, issue)); + children.add(new Property("publicationDateYear", "string", "Year on which the issue of the journal was published.", 0, 1, publicationDateYear)); + children.add(new Property("publicationDateMonth", "string", "Month on which the issue of the journal was published.", 0, 1, publicationDateMonth)); + children.add(new Property("publicationDateDay", "string", "Day on which the issue of the journal was published.", 0, 1, publicationDateDay)); + children.add(new Property("publicationDateSeason", "string", "Spring, Summer, Fall/Autumn, Winter.", 0, 1, publicationDateSeason)); + children.add(new Property("publicationDateText", "string", "Text representation of the date of which the issue of the journal was published.", 0, 1, publicationDateText)); children.add(new Property("articleDate", "dateTime", "The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date).", 0, 1, articleDate)); children.add(new Property("lastRevisionDate", "dateTime", "The date the article was last revised or updated in the database.", 0, 1, lastRevisionDate)); children.add(new Property("language", "CodeableConcept", "Language in which this form of the article is published.", 0, java.lang.Integer.MAX_VALUE, language)); @@ -5320,7 +5736,14 @@ public class Citation extends MetadataResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -614144077: /*publishedIn*/ return new Property("publishedIn", "", "The collection the cited article or artifact is published in.", 0, 1, publishedIn); - case 1726878956: /*periodicRelease*/ return new Property("periodicRelease", "", "The specific issue in which the cited article resides.", 0, 1, periodicRelease); + case 612116418: /*citedMedium*/ return new Property("citedMedium", "CodeableConcept", "Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\".", 0, 1, citedMedium); + case -810883302: /*volume*/ return new Property("volume", "string", "Volume number of journal in which the article is published.", 0, 1, volume); + case 100509913: /*issue*/ return new Property("issue", "string", "Issue, part or supplement of journal in which the article is published.", 0, 1, issue); + case 225738583: /*publicationDateYear*/ return new Property("publicationDateYear", "string", "Year on which the issue of the journal was published.", 0, 1, publicationDateYear); + case -1602810202: /*publicationDateMonth*/ return new Property("publicationDateMonth", "string", "Month on which the issue of the journal was published.", 0, 1, publicationDateMonth); + case 977092930: /*publicationDateDay*/ return new Property("publicationDateDay", "string", "Day on which the issue of the journal was published.", 0, 1, publicationDateDay); + case 2014643069: /*publicationDateSeason*/ return new Property("publicationDateSeason", "string", "Spring, Summer, Fall/Autumn, Winter.", 0, 1, publicationDateSeason); + case 225590343: /*publicationDateText*/ return new Property("publicationDateText", "string", "Text representation of the date of which the issue of the journal was published.", 0, 1, publicationDateText); case 817743300: /*articleDate*/ return new Property("articleDate", "dateTime", "The date the article was added to the database, or the date the article was released (which may differ from the journal issue publication date).", 0, 1, articleDate); case 2129161183: /*lastRevisionDate*/ return new Property("lastRevisionDate", "dateTime", "The date the article was last revised or updated in the database.", 0, 1, lastRevisionDate); case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "Language in which this form of the article is published.", 0, java.lang.Integer.MAX_VALUE, language); @@ -5339,7 +5762,14 @@ public class Citation extends MetadataResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -614144077: /*publishedIn*/ return this.publishedIn == null ? new Base[0] : new Base[] {this.publishedIn}; // CitationCitedArtifactPublicationFormPublishedInComponent - case 1726878956: /*periodicRelease*/ return this.periodicRelease == null ? new Base[0] : new Base[] {this.periodicRelease}; // CitationCitedArtifactPublicationFormPeriodicReleaseComponent + case 612116418: /*citedMedium*/ return this.citedMedium == null ? new Base[0] : new Base[] {this.citedMedium}; // CodeableConcept + case -810883302: /*volume*/ return this.volume == null ? new Base[0] : new Base[] {this.volume}; // StringType + case 100509913: /*issue*/ return this.issue == null ? new Base[0] : new Base[] {this.issue}; // StringType + case 225738583: /*publicationDateYear*/ return this.publicationDateYear == null ? new Base[0] : new Base[] {this.publicationDateYear}; // StringType + case -1602810202: /*publicationDateMonth*/ return this.publicationDateMonth == null ? new Base[0] : new Base[] {this.publicationDateMonth}; // StringType + case 977092930: /*publicationDateDay*/ return this.publicationDateDay == null ? new Base[0] : new Base[] {this.publicationDateDay}; // StringType + case 2014643069: /*publicationDateSeason*/ return this.publicationDateSeason == null ? new Base[0] : new Base[] {this.publicationDateSeason}; // StringType + case 225590343: /*publicationDateText*/ return this.publicationDateText == null ? new Base[0] : new Base[] {this.publicationDateText}; // StringType case 817743300: /*articleDate*/ return this.articleDate == null ? new Base[0] : new Base[] {this.articleDate}; // DateTimeType case 2129161183: /*lastRevisionDate*/ return this.lastRevisionDate == null ? new Base[0] : new Base[] {this.lastRevisionDate}; // DateTimeType case -1613589672: /*language*/ return this.language == null ? new Base[0] : this.language.toArray(new Base[this.language.size()]); // CodeableConcept @@ -5360,8 +5790,29 @@ public class Citation extends MetadataResource { case -614144077: // publishedIn this.publishedIn = (CitationCitedArtifactPublicationFormPublishedInComponent) value; // CitationCitedArtifactPublicationFormPublishedInComponent return value; - case 1726878956: // periodicRelease - this.periodicRelease = (CitationCitedArtifactPublicationFormPeriodicReleaseComponent) value; // CitationCitedArtifactPublicationFormPeriodicReleaseComponent + case 612116418: // citedMedium + this.citedMedium = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -810883302: // volume + this.volume = TypeConvertor.castToString(value); // StringType + return value; + case 100509913: // issue + this.issue = TypeConvertor.castToString(value); // StringType + return value; + case 225738583: // publicationDateYear + this.publicationDateYear = TypeConvertor.castToString(value); // StringType + return value; + case -1602810202: // publicationDateMonth + this.publicationDateMonth = TypeConvertor.castToString(value); // StringType + return value; + case 977092930: // publicationDateDay + this.publicationDateDay = TypeConvertor.castToString(value); // StringType + return value; + case 2014643069: // publicationDateSeason + this.publicationDateSeason = TypeConvertor.castToString(value); // StringType + return value; + case 225590343: // publicationDateText + this.publicationDateText = TypeConvertor.castToString(value); // StringType return value; case 817743300: // articleDate this.articleDate = TypeConvertor.castToDateTime(value); // DateTimeType @@ -5399,8 +5850,22 @@ public class Citation extends MetadataResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("publishedIn")) { this.publishedIn = (CitationCitedArtifactPublicationFormPublishedInComponent) value; // CitationCitedArtifactPublicationFormPublishedInComponent - } else if (name.equals("periodicRelease")) { - this.periodicRelease = (CitationCitedArtifactPublicationFormPeriodicReleaseComponent) value; // CitationCitedArtifactPublicationFormPeriodicReleaseComponent + } else if (name.equals("citedMedium")) { + this.citedMedium = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("volume")) { + this.volume = TypeConvertor.castToString(value); // StringType + } else if (name.equals("issue")) { + this.issue = TypeConvertor.castToString(value); // StringType + } else if (name.equals("publicationDateYear")) { + this.publicationDateYear = TypeConvertor.castToString(value); // StringType + } else if (name.equals("publicationDateMonth")) { + this.publicationDateMonth = TypeConvertor.castToString(value); // StringType + } else if (name.equals("publicationDateDay")) { + this.publicationDateDay = TypeConvertor.castToString(value); // StringType + } else if (name.equals("publicationDateSeason")) { + this.publicationDateSeason = TypeConvertor.castToString(value); // StringType + } else if (name.equals("publicationDateText")) { + this.publicationDateText = TypeConvertor.castToString(value); // StringType } else if (name.equals("articleDate")) { this.articleDate = TypeConvertor.castToDateTime(value); // DateTimeType } else if (name.equals("lastRevisionDate")) { @@ -5428,7 +5893,14 @@ public class Citation extends MetadataResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -614144077: return getPublishedIn(); - case 1726878956: return getPeriodicRelease(); + case 612116418: return getCitedMedium(); + case -810883302: return getVolumeElement(); + case 100509913: return getIssueElement(); + case 225738583: return getPublicationDateYearElement(); + case -1602810202: return getPublicationDateMonthElement(); + case 977092930: return getPublicationDateDayElement(); + case 2014643069: return getPublicationDateSeasonElement(); + case 225590343: return getPublicationDateTextElement(); case 817743300: return getArticleDateElement(); case 2129161183: return getLastRevisionDateElement(); case -1613589672: return addLanguage(); @@ -5447,7 +5919,14 @@ public class Citation extends MetadataResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -614144077: /*publishedIn*/ return new String[] {}; - case 1726878956: /*periodicRelease*/ return new String[] {}; + case 612116418: /*citedMedium*/ return new String[] {"CodeableConcept"}; + case -810883302: /*volume*/ return new String[] {"string"}; + case 100509913: /*issue*/ return new String[] {"string"}; + case 225738583: /*publicationDateYear*/ return new String[] {"string"}; + case -1602810202: /*publicationDateMonth*/ return new String[] {"string"}; + case 977092930: /*publicationDateDay*/ return new String[] {"string"}; + case 2014643069: /*publicationDateSeason*/ return new String[] {"string"}; + case 225590343: /*publicationDateText*/ return new String[] {"string"}; case 817743300: /*articleDate*/ return new String[] {"dateTime"}; case 2129161183: /*lastRevisionDate*/ return new String[] {"dateTime"}; case -1613589672: /*language*/ return new String[] {"CodeableConcept"}; @@ -5468,9 +5947,30 @@ public class Citation extends MetadataResource { this.publishedIn = new CitationCitedArtifactPublicationFormPublishedInComponent(); return this.publishedIn; } - else if (name.equals("periodicRelease")) { - this.periodicRelease = new CitationCitedArtifactPublicationFormPeriodicReleaseComponent(); - return this.periodicRelease; + else if (name.equals("citedMedium")) { + this.citedMedium = new CodeableConcept(); + return this.citedMedium; + } + else if (name.equals("volume")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.volume"); + } + else if (name.equals("issue")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.issue"); + } + else if (name.equals("publicationDateYear")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.publicationDateYear"); + } + else if (name.equals("publicationDateMonth")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.publicationDateMonth"); + } + else if (name.equals("publicationDateDay")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.publicationDateDay"); + } + else if (name.equals("publicationDateSeason")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.publicationDateSeason"); + } + else if (name.equals("publicationDateText")) { + throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.publicationDateText"); } else if (name.equals("articleDate")) { throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.articleDate"); @@ -5512,7 +6012,14 @@ public class Citation extends MetadataResource { public void copyValues(CitationCitedArtifactPublicationFormComponent dst) { super.copyValues(dst); dst.publishedIn = publishedIn == null ? null : publishedIn.copy(); - dst.periodicRelease = periodicRelease == null ? null : periodicRelease.copy(); + dst.citedMedium = citedMedium == null ? null : citedMedium.copy(); + dst.volume = volume == null ? null : volume.copy(); + dst.issue = issue == null ? null : issue.copy(); + dst.publicationDateYear = publicationDateYear == null ? null : publicationDateYear.copy(); + dst.publicationDateMonth = publicationDateMonth == null ? null : publicationDateMonth.copy(); + dst.publicationDateDay = publicationDateDay == null ? null : publicationDateDay.copy(); + dst.publicationDateSeason = publicationDateSeason == null ? null : publicationDateSeason.copy(); + dst.publicationDateText = publicationDateText == null ? null : publicationDateText.copy(); dst.articleDate = articleDate == null ? null : articleDate.copy(); dst.lastRevisionDate = lastRevisionDate == null ? null : lastRevisionDate.copy(); if (language != null) { @@ -5535,7 +6042,10 @@ public class Citation extends MetadataResource { if (!(other_ instanceof CitationCitedArtifactPublicationFormComponent)) return false; CitationCitedArtifactPublicationFormComponent o = (CitationCitedArtifactPublicationFormComponent) other_; - return compareDeep(publishedIn, o.publishedIn, true) && compareDeep(periodicRelease, o.periodicRelease, true) + return compareDeep(publishedIn, o.publishedIn, true) && compareDeep(citedMedium, o.citedMedium, true) + && compareDeep(volume, o.volume, true) && compareDeep(issue, o.issue, true) && compareDeep(publicationDateYear, o.publicationDateYear, true) + && compareDeep(publicationDateMonth, o.publicationDateMonth, true) && compareDeep(publicationDateDay, o.publicationDateDay, true) + && compareDeep(publicationDateSeason, o.publicationDateSeason, true) && compareDeep(publicationDateText, o.publicationDateText, true) && compareDeep(articleDate, o.articleDate, true) && compareDeep(lastRevisionDate, o.lastRevisionDate, true) && compareDeep(language, o.language, true) && compareDeep(accessionNumber, o.accessionNumber, true) && compareDeep(pageString, o.pageString, true) && compareDeep(firstPage, o.firstPage, true) && compareDeep(lastPage, o.lastPage, true) @@ -5549,16 +6059,20 @@ public class Citation extends MetadataResource { if (!(other_ instanceof CitationCitedArtifactPublicationFormComponent)) return false; CitationCitedArtifactPublicationFormComponent o = (CitationCitedArtifactPublicationFormComponent) other_; - return compareValues(articleDate, o.articleDate, true) && compareValues(lastRevisionDate, o.lastRevisionDate, true) + return compareValues(volume, o.volume, true) && compareValues(issue, o.issue, true) && compareValues(publicationDateYear, o.publicationDateYear, true) + && compareValues(publicationDateMonth, o.publicationDateMonth, true) && compareValues(publicationDateDay, o.publicationDateDay, true) + && compareValues(publicationDateSeason, o.publicationDateSeason, true) && compareValues(publicationDateText, o.publicationDateText, true) + && compareValues(articleDate, o.articleDate, true) && compareValues(lastRevisionDate, o.lastRevisionDate, true) && compareValues(accessionNumber, o.accessionNumber, true) && compareValues(pageString, o.pageString, true) && compareValues(firstPage, o.firstPage, true) && compareValues(lastPage, o.lastPage, true) && compareValues(pageCount, o.pageCount, true) && compareValues(copyright, o.copyright, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(publishedIn, periodicRelease - , articleDate, lastRevisionDate, language, accessionNumber, pageString, firstPage - , lastPage, pageCount, copyright); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(publishedIn, citedMedium, volume + , issue, publicationDateYear, publicationDateMonth, publicationDateDay, publicationDateSeason + , publicationDateText, articleDate, lastRevisionDate, language, accessionNumber, pageString + , firstPage, lastPage, pageCount, copyright); } public String fhirType() { @@ -5990,884 +6504,6 @@ public class Citation extends MetadataResource { } - } - - @Block() - public static class CitationCitedArtifactPublicationFormPeriodicReleaseComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Describes the form of the medium cited. Common codes are "Internet" or "Print". - */ - @Child(name = "citedMedium", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Internet or Print", formalDefinition="Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\"." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/cited-medium") - protected CodeableConcept citedMedium; - - /** - * Volume number of journal in which the article is published. - */ - @Child(name = "volume", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Volume number of journal in which the article is published", formalDefinition="Volume number of journal in which the article is published." ) - protected StringType volume; - - /** - * Issue, part or supplement of journal in which the article is published. - */ - @Child(name = "issue", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Issue, part or supplement of journal in which the article is published", formalDefinition="Issue, part or supplement of journal in which the article is published." ) - protected StringType issue; - - /** - * Defining the date on which the issue of the journal was published. - */ - @Child(name = "dateOfPublication", type = {}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Defining the date on which the issue of the journal was published", formalDefinition="Defining the date on which the issue of the journal was published." ) - protected CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent dateOfPublication; - - private static final long serialVersionUID = -474554951L; - - /** - * Constructor - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent() { - super(); - } - - /** - * @return {@link #citedMedium} (Describes the form of the medium cited. Common codes are "Internet" or "Print".) - */ - public CodeableConcept getCitedMedium() { - if (this.citedMedium == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseComponent.citedMedium"); - else if (Configuration.doAutoCreate()) - this.citedMedium = new CodeableConcept(); // cc - return this.citedMedium; - } - - public boolean hasCitedMedium() { - return this.citedMedium != null && !this.citedMedium.isEmpty(); - } - - /** - * @param value {@link #citedMedium} (Describes the form of the medium cited. Common codes are "Internet" or "Print".) - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent setCitedMedium(CodeableConcept value) { - this.citedMedium = value; - return this; - } - - /** - * @return {@link #volume} (Volume number of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getVolume" gives direct access to the value - */ - public StringType getVolumeElement() { - if (this.volume == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseComponent.volume"); - else if (Configuration.doAutoCreate()) - this.volume = new StringType(); // bb - return this.volume; - } - - public boolean hasVolumeElement() { - return this.volume != null && !this.volume.isEmpty(); - } - - public boolean hasVolume() { - return this.volume != null && !this.volume.isEmpty(); - } - - /** - * @param value {@link #volume} (Volume number of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getVolume" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent setVolumeElement(StringType value) { - this.volume = value; - return this; - } - - /** - * @return Volume number of journal in which the article is published. - */ - public String getVolume() { - return this.volume == null ? null : this.volume.getValue(); - } - - /** - * @param value Volume number of journal in which the article is published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent setVolume(String value) { - if (Utilities.noString(value)) - this.volume = null; - else { - if (this.volume == null) - this.volume = new StringType(); - this.volume.setValue(value); - } - return this; - } - - /** - * @return {@link #issue} (Issue, part or supplement of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getIssue" gives direct access to the value - */ - public StringType getIssueElement() { - if (this.issue == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseComponent.issue"); - else if (Configuration.doAutoCreate()) - this.issue = new StringType(); // bb - return this.issue; - } - - public boolean hasIssueElement() { - return this.issue != null && !this.issue.isEmpty(); - } - - public boolean hasIssue() { - return this.issue != null && !this.issue.isEmpty(); - } - - /** - * @param value {@link #issue} (Issue, part or supplement of journal in which the article is published.). This is the underlying object with id, value and extensions. The accessor "getIssue" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent setIssueElement(StringType value) { - this.issue = value; - return this; - } - - /** - * @return Issue, part or supplement of journal in which the article is published. - */ - public String getIssue() { - return this.issue == null ? null : this.issue.getValue(); - } - - /** - * @param value Issue, part or supplement of journal in which the article is published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent setIssue(String value) { - if (Utilities.noString(value)) - this.issue = null; - else { - if (this.issue == null) - this.issue = new StringType(); - this.issue.setValue(value); - } - return this; - } - - /** - * @return {@link #dateOfPublication} (Defining the date on which the issue of the journal was published.) - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent getDateOfPublication() { - if (this.dateOfPublication == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseComponent.dateOfPublication"); - else if (Configuration.doAutoCreate()) - this.dateOfPublication = new CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(); // cc - return this.dateOfPublication; - } - - public boolean hasDateOfPublication() { - return this.dateOfPublication != null && !this.dateOfPublication.isEmpty(); - } - - /** - * @param value {@link #dateOfPublication} (Defining the date on which the issue of the journal was published.) - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent setDateOfPublication(CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent value) { - this.dateOfPublication = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("citedMedium", "CodeableConcept", "Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\".", 0, 1, citedMedium)); - children.add(new Property("volume", "string", "Volume number of journal in which the article is published.", 0, 1, volume)); - children.add(new Property("issue", "string", "Issue, part or supplement of journal in which the article is published.", 0, 1, issue)); - children.add(new Property("dateOfPublication", "", "Defining the date on which the issue of the journal was published.", 0, 1, dateOfPublication)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 612116418: /*citedMedium*/ return new Property("citedMedium", "CodeableConcept", "Describes the form of the medium cited. Common codes are \"Internet\" or \"Print\".", 0, 1, citedMedium); - case -810883302: /*volume*/ return new Property("volume", "string", "Volume number of journal in which the article is published.", 0, 1, volume); - case 100509913: /*issue*/ return new Property("issue", "string", "Issue, part or supplement of journal in which the article is published.", 0, 1, issue); - case -1662473529: /*dateOfPublication*/ return new Property("dateOfPublication", "", "Defining the date on which the issue of the journal was published.", 0, 1, dateOfPublication); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 612116418: /*citedMedium*/ return this.citedMedium == null ? new Base[0] : new Base[] {this.citedMedium}; // CodeableConcept - case -810883302: /*volume*/ return this.volume == null ? new Base[0] : new Base[] {this.volume}; // StringType - case 100509913: /*issue*/ return this.issue == null ? new Base[0] : new Base[] {this.issue}; // StringType - case -1662473529: /*dateOfPublication*/ return this.dateOfPublication == null ? new Base[0] : new Base[] {this.dateOfPublication}; // CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 612116418: // citedMedium - this.citedMedium = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -810883302: // volume - this.volume = TypeConvertor.castToString(value); // StringType - return value; - case 100509913: // issue - this.issue = TypeConvertor.castToString(value); // StringType - return value; - case -1662473529: // dateOfPublication - this.dateOfPublication = (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent) value; // CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("citedMedium")) { - this.citedMedium = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("volume")) { - this.volume = TypeConvertor.castToString(value); // StringType - } else if (name.equals("issue")) { - this.issue = TypeConvertor.castToString(value); // StringType - } else if (name.equals("dateOfPublication")) { - this.dateOfPublication = (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent) value; // CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 612116418: return getCitedMedium(); - case -810883302: return getVolumeElement(); - case 100509913: return getIssueElement(); - case -1662473529: return getDateOfPublication(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 612116418: /*citedMedium*/ return new String[] {"CodeableConcept"}; - case -810883302: /*volume*/ return new String[] {"string"}; - case 100509913: /*issue*/ return new String[] {"string"}; - case -1662473529: /*dateOfPublication*/ return new String[] {}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("citedMedium")) { - this.citedMedium = new CodeableConcept(); - return this.citedMedium; - } - else if (name.equals("volume")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.volume"); - } - else if (name.equals("issue")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.issue"); - } - else if (name.equals("dateOfPublication")) { - this.dateOfPublication = new CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(); - return this.dateOfPublication; - } - else - return super.addChild(name); - } - - public CitationCitedArtifactPublicationFormPeriodicReleaseComponent copy() { - CitationCitedArtifactPublicationFormPeriodicReleaseComponent dst = new CitationCitedArtifactPublicationFormPeriodicReleaseComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CitationCitedArtifactPublicationFormPeriodicReleaseComponent dst) { - super.copyValues(dst); - dst.citedMedium = citedMedium == null ? null : citedMedium.copy(); - dst.volume = volume == null ? null : volume.copy(); - dst.issue = issue == null ? null : issue.copy(); - dst.dateOfPublication = dateOfPublication == null ? null : dateOfPublication.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CitationCitedArtifactPublicationFormPeriodicReleaseComponent)) - return false; - CitationCitedArtifactPublicationFormPeriodicReleaseComponent o = (CitationCitedArtifactPublicationFormPeriodicReleaseComponent) other_; - return compareDeep(citedMedium, o.citedMedium, true) && compareDeep(volume, o.volume, true) && compareDeep(issue, o.issue, true) - && compareDeep(dateOfPublication, o.dateOfPublication, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CitationCitedArtifactPublicationFormPeriodicReleaseComponent)) - return false; - CitationCitedArtifactPublicationFormPeriodicReleaseComponent o = (CitationCitedArtifactPublicationFormPeriodicReleaseComponent) other_; - return compareValues(volume, o.volume, true) && compareValues(issue, o.issue, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(citedMedium, volume, issue - , dateOfPublication); - } - - public String fhirType() { - return "Citation.citedArtifact.publicationForm.periodicRelease"; - - } - - } - - @Block() - public static class CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Date on which the issue of the journal was published. - */ - @Child(name = "date", type = {DateType.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Date on which the issue of the journal was published", formalDefinition="Date on which the issue of the journal was published." ) - protected DateType date; - - /** - * Year on which the issue of the journal was published. - */ - @Child(name = "year", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Year on which the issue of the journal was published", formalDefinition="Year on which the issue of the journal was published." ) - protected StringType year; - - /** - * Month on which the issue of the journal was published. - */ - @Child(name = "month", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Month on which the issue of the journal was published", formalDefinition="Month on which the issue of the journal was published." ) - protected StringType month; - - /** - * Day on which the issue of the journal was published. - */ - @Child(name = "day", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Day on which the issue of the journal was published", formalDefinition="Day on which the issue of the journal was published." ) - protected StringType day; - - /** - * Spring, Summer, Fall/Autumn, Winter. - */ - @Child(name = "season", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Season on which the issue of the journal was published", formalDefinition="Spring, Summer, Fall/Autumn, Winter." ) - protected StringType season; - - /** - * Text representation of the date of which the issue of the journal was published. - */ - @Child(name = "text", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Text representation of the date of which the issue of the journal was published", formalDefinition="Text representation of the date of which the issue of the journal was published." ) - protected StringType text; - - private static final long serialVersionUID = 1585589146L; - - /** - * Constructor - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent() { - super(); - } - - /** - * @return {@link #date} (Date on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value - */ - public DateType getDateElement() { - if (this.date == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent.date"); - else if (Configuration.doAutoCreate()) - this.date = new DateType(); // bb - return this.date; - } - - public boolean hasDateElement() { - return this.date != null && !this.date.isEmpty(); - } - - public boolean hasDate() { - return this.date != null && !this.date.isEmpty(); - } - - /** - * @param value {@link #date} (Date on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setDateElement(DateType value) { - this.date = value; - return this; - } - - /** - * @return Date on which the issue of the journal was published. - */ - public Date getDate() { - return this.date == null ? null : this.date.getValue(); - } - - /** - * @param value Date on which the issue of the journal was published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setDate(Date value) { - if (value == null) - this.date = null; - else { - if (this.date == null) - this.date = new DateType(); - this.date.setValue(value); - } - return this; - } - - /** - * @return {@link #year} (Year on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getYear" gives direct access to the value - */ - public StringType getYearElement() { - if (this.year == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent.year"); - else if (Configuration.doAutoCreate()) - this.year = new StringType(); // bb - return this.year; - } - - public boolean hasYearElement() { - return this.year != null && !this.year.isEmpty(); - } - - public boolean hasYear() { - return this.year != null && !this.year.isEmpty(); - } - - /** - * @param value {@link #year} (Year on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getYear" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setYearElement(StringType value) { - this.year = value; - return this; - } - - /** - * @return Year on which the issue of the journal was published. - */ - public String getYear() { - return this.year == null ? null : this.year.getValue(); - } - - /** - * @param value Year on which the issue of the journal was published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setYear(String value) { - if (Utilities.noString(value)) - this.year = null; - else { - if (this.year == null) - this.year = new StringType(); - this.year.setValue(value); - } - return this; - } - - /** - * @return {@link #month} (Month on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getMonth" gives direct access to the value - */ - public StringType getMonthElement() { - if (this.month == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent.month"); - else if (Configuration.doAutoCreate()) - this.month = new StringType(); // bb - return this.month; - } - - public boolean hasMonthElement() { - return this.month != null && !this.month.isEmpty(); - } - - public boolean hasMonth() { - return this.month != null && !this.month.isEmpty(); - } - - /** - * @param value {@link #month} (Month on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getMonth" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setMonthElement(StringType value) { - this.month = value; - return this; - } - - /** - * @return Month on which the issue of the journal was published. - */ - public String getMonth() { - return this.month == null ? null : this.month.getValue(); - } - - /** - * @param value Month on which the issue of the journal was published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setMonth(String value) { - if (Utilities.noString(value)) - this.month = null; - else { - if (this.month == null) - this.month = new StringType(); - this.month.setValue(value); - } - return this; - } - - /** - * @return {@link #day} (Day on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getDay" gives direct access to the value - */ - public StringType getDayElement() { - if (this.day == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent.day"); - else if (Configuration.doAutoCreate()) - this.day = new StringType(); // bb - return this.day; - } - - public boolean hasDayElement() { - return this.day != null && !this.day.isEmpty(); - } - - public boolean hasDay() { - return this.day != null && !this.day.isEmpty(); - } - - /** - * @param value {@link #day} (Day on which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getDay" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setDayElement(StringType value) { - this.day = value; - return this; - } - - /** - * @return Day on which the issue of the journal was published. - */ - public String getDay() { - return this.day == null ? null : this.day.getValue(); - } - - /** - * @param value Day on which the issue of the journal was published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setDay(String value) { - if (Utilities.noString(value)) - this.day = null; - else { - if (this.day == null) - this.day = new StringType(); - this.day.setValue(value); - } - return this; - } - - /** - * @return {@link #season} (Spring, Summer, Fall/Autumn, Winter.). This is the underlying object with id, value and extensions. The accessor "getSeason" gives direct access to the value - */ - public StringType getSeasonElement() { - if (this.season == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent.season"); - else if (Configuration.doAutoCreate()) - this.season = new StringType(); // bb - return this.season; - } - - public boolean hasSeasonElement() { - return this.season != null && !this.season.isEmpty(); - } - - public boolean hasSeason() { - return this.season != null && !this.season.isEmpty(); - } - - /** - * @param value {@link #season} (Spring, Summer, Fall/Autumn, Winter.). This is the underlying object with id, value and extensions. The accessor "getSeason" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setSeasonElement(StringType value) { - this.season = value; - return this; - } - - /** - * @return Spring, Summer, Fall/Autumn, Winter. - */ - public String getSeason() { - return this.season == null ? null : this.season.getValue(); - } - - /** - * @param value Spring, Summer, Fall/Autumn, Winter. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setSeason(String value) { - if (Utilities.noString(value)) - this.season = null; - else { - if (this.season == null) - this.season = new StringType(); - this.season.setValue(value); - } - return this; - } - - /** - * @return {@link #text} (Text representation of the date of which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value - */ - public StringType getTextElement() { - if (this.text == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent.text"); - else if (Configuration.doAutoCreate()) - this.text = new StringType(); // bb - return this.text; - } - - public boolean hasTextElement() { - return this.text != null && !this.text.isEmpty(); - } - - public boolean hasText() { - return this.text != null && !this.text.isEmpty(); - } - - /** - * @param value {@link #text} (Text representation of the date of which the issue of the journal was published.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setTextElement(StringType value) { - this.text = value; - return this; - } - - /** - * @return Text representation of the date of which the issue of the journal was published. - */ - public String getText() { - return this.text == null ? null : this.text.getValue(); - } - - /** - * @param value Text representation of the date of which the issue of the journal was published. - */ - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent setText(String value) { - if (Utilities.noString(value)) - this.text = null; - else { - if (this.text == null) - this.text = new StringType(); - this.text.setValue(value); - } - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("date", "date", "Date on which the issue of the journal was published.", 0, 1, date)); - children.add(new Property("year", "string", "Year on which the issue of the journal was published.", 0, 1, year)); - children.add(new Property("month", "string", "Month on which the issue of the journal was published.", 0, 1, month)); - children.add(new Property("day", "string", "Day on which the issue of the journal was published.", 0, 1, day)); - children.add(new Property("season", "string", "Spring, Summer, Fall/Autumn, Winter.", 0, 1, season)); - children.add(new Property("text", "string", "Text representation of the date of which the issue of the journal was published.", 0, 1, text)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3076014: /*date*/ return new Property("date", "date", "Date on which the issue of the journal was published.", 0, 1, date); - case 3704893: /*year*/ return new Property("year", "string", "Year on which the issue of the journal was published.", 0, 1, year); - case 104080000: /*month*/ return new Property("month", "string", "Month on which the issue of the journal was published.", 0, 1, month); - case 99228: /*day*/ return new Property("day", "string", "Day on which the issue of the journal was published.", 0, 1, day); - case -906335517: /*season*/ return new Property("season", "string", "Spring, Summer, Fall/Autumn, Winter.", 0, 1, season); - case 3556653: /*text*/ return new Property("text", "string", "Text representation of the date of which the issue of the journal was published.", 0, 1, text); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateType - case 3704893: /*year*/ return this.year == null ? new Base[0] : new Base[] {this.year}; // StringType - case 104080000: /*month*/ return this.month == null ? new Base[0] : new Base[] {this.month}; // StringType - case 99228: /*day*/ return this.day == null ? new Base[0] : new Base[] {this.day}; // StringType - case -906335517: /*season*/ return this.season == null ? new Base[0] : new Base[] {this.season}; // StringType - case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3076014: // date - this.date = TypeConvertor.castToDate(value); // DateType - return value; - case 3704893: // year - this.year = TypeConvertor.castToString(value); // StringType - return value; - case 104080000: // month - this.month = TypeConvertor.castToString(value); // StringType - return value; - case 99228: // day - this.day = TypeConvertor.castToString(value); // StringType - return value; - case -906335517: // season - this.season = TypeConvertor.castToString(value); // StringType - return value; - case 3556653: // text - this.text = TypeConvertor.castToString(value); // StringType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("date")) { - this.date = TypeConvertor.castToDate(value); // DateType - } else if (name.equals("year")) { - this.year = TypeConvertor.castToString(value); // StringType - } else if (name.equals("month")) { - this.month = TypeConvertor.castToString(value); // StringType - } else if (name.equals("day")) { - this.day = TypeConvertor.castToString(value); // StringType - } else if (name.equals("season")) { - this.season = TypeConvertor.castToString(value); // StringType - } else if (name.equals("text")) { - this.text = TypeConvertor.castToString(value); // StringType - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3076014: return getDateElement(); - case 3704893: return getYearElement(); - case 104080000: return getMonthElement(); - case 99228: return getDayElement(); - case -906335517: return getSeasonElement(); - case 3556653: return getTextElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3076014: /*date*/ return new String[] {"date"}; - case 3704893: /*year*/ return new String[] {"string"}; - case 104080000: /*month*/ return new String[] {"string"}; - case 99228: /*day*/ return new String[] {"string"}; - case -906335517: /*season*/ return new String[] {"string"}; - case 3556653: /*text*/ return new String[] {"string"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("date")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication.date"); - } - else if (name.equals("year")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication.year"); - } - else if (name.equals("month")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication.month"); - } - else if (name.equals("day")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication.day"); - } - else if (name.equals("season")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication.season"); - } - else if (name.equals("text")) { - throw new FHIRException("Cannot call addChild on a primitive type Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication.text"); - } - else - return super.addChild(name); - } - - public CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent copy() { - CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent dst = new CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent dst) { - super.copyValues(dst); - dst.date = date == null ? null : date.copy(); - dst.year = year == null ? null : year.copy(); - dst.month = month == null ? null : month.copy(); - dst.day = day == null ? null : day.copy(); - dst.season = season == null ? null : season.copy(); - dst.text = text == null ? null : text.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent)) - return false; - CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent o = (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent) other_; - return compareDeep(date, o.date, true) && compareDeep(year, o.year, true) && compareDeep(month, o.month, true) - && compareDeep(day, o.day, true) && compareDeep(season, o.season, true) && compareDeep(text, o.text, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent)) - return false; - CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent o = (CitationCitedArtifactPublicationFormPeriodicReleaseDateOfPublicationComponent) other_; - return compareValues(date, o.date, true) && compareValues(year, o.year, true) && compareValues(month, o.month, true) - && compareValues(day, o.day, true) && compareValues(season, o.season, true) && compareValues(text, o.text, true) - ; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(date, year, month, day - , season, text); - } - - public String fhirType() { - return "Citation.citedArtifact.publicationForm.periodicRelease.dateOfPublication"; - - } - } @Block() @@ -8991,10 +8627,10 @@ public class Citation extends MetadataResource { } /** - * An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this citation, represented as a globally unique URI", formalDefinition="An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this citation, represented as a globally unique URI", formalDefinition="An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers." ) protected UriType url; /** @@ -9214,7 +8850,7 @@ public class Citation extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -9234,7 +8870,7 @@ public class Citation extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public Citation setUrlElement(UriType value) { this.url = value; @@ -9242,14 +8878,14 @@ public class Citation extends MetadataResource { } /** - * @return An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * @return An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * @param value An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ public Citation setUrl(String value) { if (Utilities.noString(value)) @@ -10632,6 +10268,83 @@ public class Citation extends MetadataResource { return this; } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"Citation\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"Citation\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"Citation\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Citation setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"Citation\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"Citation\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public Citation setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"Citation\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"Citation\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public Citation setCopyrightLabel(String value) { + throw new Error("The resource type \"Citation\" does not implement the property \"copyrightLabel\""); + } /** * not supported on this implementation */ @@ -10640,7 +10353,7 @@ public class Citation extends MetadataResource { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the citation. Topics provide a high-level categorization of the citation that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the citation. Topics provide a high-level categorization as well as keywords for the citation that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -10649,27 +10362,27 @@ public class Citation extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public Citation setTopic(List theTopic) { - throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); + throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); + throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); } public Citation addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); + throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); + throw new Error("The resource type \"Citation\" does not implement the property \"topic\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this citation when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the citation when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the citation author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the citation. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -10703,7 +10416,7 @@ public class Citation extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this citation when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this citation when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the citation when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the citation author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the citation. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Claim.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Claim.java index 0ab46047d..b9573b37e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Claim.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Claim.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -546,14 +546,14 @@ public class Claim extends DomainResource { protected CodeableConcept role; /** - * The qualification of the practitioner which is applicable for this service. + * The specialization of the practitioner or provider which is applicable for this service. */ - @Child(name = "qualification", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Practitioner credential or specialization", formalDefinition="The qualification of the practitioner which is applicable for this service." ) + @Child(name = "specialty", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Practitioner or provider specialization", formalDefinition="The specialization of the practitioner or provider which is applicable for this service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/provider-qualification") - protected CodeableConcept qualification; + protected CodeableConcept specialty; - private static final long serialVersionUID = 1479624238L; + private static final long serialVersionUID = 1238813503L; /** * Constructor @@ -710,26 +710,26 @@ public class Claim extends DomainResource { } /** - * @return {@link #qualification} (The qualification of the practitioner which is applicable for this service.) + * @return {@link #specialty} (The specialization of the practitioner or provider which is applicable for this service.) */ - public CodeableConcept getQualification() { - if (this.qualification == null) + public CodeableConcept getSpecialty() { + if (this.specialty == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CareTeamComponent.qualification"); + throw new Error("Attempt to auto-create CareTeamComponent.specialty"); else if (Configuration.doAutoCreate()) - this.qualification = new CodeableConcept(); // cc - return this.qualification; + this.specialty = new CodeableConcept(); // cc + return this.specialty; } - public boolean hasQualification() { - return this.qualification != null && !this.qualification.isEmpty(); + public boolean hasSpecialty() { + return this.specialty != null && !this.specialty.isEmpty(); } /** - * @param value {@link #qualification} (The qualification of the practitioner which is applicable for this service.) + * @param value {@link #specialty} (The specialization of the practitioner or provider which is applicable for this service.) */ - public CareTeamComponent setQualification(CodeableConcept value) { - this.qualification = value; + public CareTeamComponent setSpecialty(CodeableConcept value) { + this.specialty = value; return this; } @@ -739,7 +739,7 @@ public class Claim extends DomainResource { children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "Member of the team who provided the product or service.", 0, 1, provider)); children.add(new Property("responsible", "boolean", "The party who is billing and/or responsible for the claimed products or services.", 0, 1, responsible)); children.add(new Property("role", "CodeableConcept", "The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.", 0, 1, role)); - children.add(new Property("qualification", "CodeableConcept", "The qualification of the practitioner which is applicable for this service.", 0, 1, qualification)); + children.add(new Property("specialty", "CodeableConcept", "The specialization of the practitioner or provider which is applicable for this service.", 0, 1, specialty)); } @Override @@ -749,7 +749,7 @@ public class Claim extends DomainResource { case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "Member of the team who provided the product or service.", 0, 1, provider); case 1847674614: /*responsible*/ return new Property("responsible", "boolean", "The party who is billing and/or responsible for the claimed products or services.", 0, 1, responsible); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.", 0, 1, role); - case -631333393: /*qualification*/ return new Property("qualification", "CodeableConcept", "The qualification of the practitioner which is applicable for this service.", 0, 1, qualification); + case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "The specialization of the practitioner or provider which is applicable for this service.", 0, 1, specialty); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -762,7 +762,7 @@ public class Claim extends DomainResource { case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference case 1847674614: /*responsible*/ return this.responsible == null ? new Base[0] : new Base[] {this.responsible}; // BooleanType case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept - case -631333393: /*qualification*/ return this.qualification == null ? new Base[0] : new Base[] {this.qualification}; // CodeableConcept + case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : new Base[] {this.specialty}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); } @@ -783,8 +783,8 @@ public class Claim extends DomainResource { case 3506294: // role this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -631333393: // qualification - this.qualification = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case -1694759682: // specialty + this.specialty = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; default: return super.setProperty(hash, name, value); } @@ -801,8 +801,8 @@ public class Claim extends DomainResource { this.responsible = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("role")) { this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("qualification")) { - this.qualification = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("specialty")) { + this.specialty = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else return super.setProperty(name, value); return value; @@ -815,7 +815,7 @@ public class Claim extends DomainResource { case -987494927: return getProvider(); case 1847674614: return getResponsibleElement(); case 3506294: return getRole(); - case -631333393: return getQualification(); + case -1694759682: return getSpecialty(); default: return super.makeProperty(hash, name); } @@ -828,7 +828,7 @@ public class Claim extends DomainResource { case -987494927: /*provider*/ return new String[] {"Reference"}; case 1847674614: /*responsible*/ return new String[] {"boolean"}; case 3506294: /*role*/ return new String[] {"CodeableConcept"}; - case -631333393: /*qualification*/ return new String[] {"CodeableConcept"}; + case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -850,9 +850,9 @@ public class Claim extends DomainResource { this.role = new CodeableConcept(); return this.role; } - else if (name.equals("qualification")) { - this.qualification = new CodeableConcept(); - return this.qualification; + else if (name.equals("specialty")) { + this.specialty = new CodeableConcept(); + return this.specialty; } else return super.addChild(name); @@ -870,7 +870,7 @@ public class Claim extends DomainResource { dst.provider = provider == null ? null : provider.copy(); dst.responsible = responsible == null ? null : responsible.copy(); dst.role = role == null ? null : role.copy(); - dst.qualification = qualification == null ? null : qualification.copy(); + dst.specialty = specialty == null ? null : specialty.copy(); } @Override @@ -881,7 +881,7 @@ public class Claim extends DomainResource { return false; CareTeamComponent o = (CareTeamComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(provider, o.provider, true) && compareDeep(responsible, o.responsible, true) - && compareDeep(role, o.role, true) && compareDeep(qualification, o.qualification, true); + && compareDeep(role, o.role, true) && compareDeep(specialty, o.specialty, true); } @Override @@ -897,7 +897,7 @@ public class Claim extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, provider, responsible - , role, qualification); + , role, specialty); } public String fhirType() { @@ -942,7 +942,7 @@ public class Claim extends DomainResource { /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - @Child(name = "value", type = {BooleanType.class, StringType.class, Quantity.class, Attachment.class, Reference.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "value", type = {BooleanType.class, StringType.class, Quantity.class, Attachment.class, Reference.class, Identifier.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Data to be provided", formalDefinition="Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data." ) protected DataType value; @@ -1198,6 +1198,21 @@ public class Claim extends DomainResource { return this != null && this.value instanceof Reference; } + /** + * @return {@link #value} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) + */ + public Identifier getValueIdentifier() throws FHIRException { + if (this.value == null) + this.value = new Identifier(); + if (!(this.value instanceof Identifier)) + throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Identifier) this.value; + } + + public boolean hasValueIdentifier() { + return this != null && this.value instanceof Identifier; + } + public boolean hasValue() { return this.value != null && !this.value.isEmpty(); } @@ -1206,7 +1221,7 @@ public class Claim extends DomainResource { * @param value {@link #value} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) */ public SupportingInformationComponent setValue(DataType value) { - if (value != null && !(value instanceof BooleanType || value instanceof StringType || value instanceof Quantity || value instanceof Attachment || value instanceof Reference)) + if (value != null && !(value instanceof BooleanType || value instanceof StringType || value instanceof Quantity || value instanceof Attachment || value instanceof Reference || value instanceof Identifier)) throw new Error("Not the right type for Claim.supportingInfo.value[x]: "+value.fhirType()); this.value = value; return this; @@ -1242,7 +1257,7 @@ public class Claim extends DomainResource { children.add(new Property("category", "CodeableConcept", "The general class of the information supplied: information; exception; accident, employment; onset, etc.", 0, 1, category)); children.add(new Property("code", "CodeableConcept", "System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient for which care is sought.", 0, 1, code)); children.add(new Property("timing[x]", "date|Period", "The date when or period to which this information refers.", 0, 1, timing)); - children.add(new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value)); + children.add(new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)|Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value)); children.add(new Property("reason", "CodeableConcept", "Provides the reason in the situation where a reason code is required in addition to the content.", 0, 1, reason)); } @@ -1256,13 +1271,14 @@ public class Claim extends DomainResource { case -873664438: /*timing*/ return new Property("timing[x]", "date|Period", "The date when or period to which this information refers.", 0, 1, timing); case 807935768: /*timingDate*/ return new Property("timing[x]", "date", "The date when or period to which this information refers.", 0, 1, timing); case -615615829: /*timingPeriod*/ return new Property("timing[x]", "Period", "The date when or period to which this information refers.", 0, 1, timing); - case -1410166417: /*value[x]*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)|Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)|Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -1424603934: /*valueString*/ return new Property("value[x]", "string", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -475566732: /*valueAttachment*/ return new Property("value[x]", "Attachment", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case 1755241690: /*valueReference*/ return new Property("value[x]", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); + case -130498310: /*valueIdentifier*/ return new Property("value[x]", "Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -934964668: /*reason*/ return new Property("reason", "CodeableConcept", "Provides the reason in the situation where a reason code is required in addition to the content.", 0, 1, reason); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1351,7 +1367,7 @@ public class Claim extends DomainResource { case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case -873664438: /*timing*/ return new String[] {"date", "Period"}; - case 111972721: /*value*/ return new String[] {"boolean", "string", "Quantity", "Attachment", "Reference"}; + case 111972721: /*value*/ return new String[] {"boolean", "string", "Quantity", "Attachment", "Reference", "Identifier"}; case -934964668: /*reason*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -1399,6 +1415,10 @@ public class Claim extends DomainResource { this.value = new Reference(); return this.value; } + else if (name.equals("valueIdentifier")) { + this.value = new Identifier(); + return this.value; + } else if (name.equals("reason")) { this.reason = new CodeableConcept(); return this.reason; @@ -1490,15 +1510,7 @@ public class Claim extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosis-on-admission") protected CodeableConcept onAdmission; - /** - * A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system. - */ - @Child(name = "packageCode", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Package billing code", formalDefinition="A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup") - protected CodeableConcept packageCode; - - private static final long serialVersionUID = 550515328L; + private static final long serialVersionUID = -320261526L; /** * Constructor @@ -1689,37 +1701,12 @@ public class Claim extends DomainResource { return this; } - /** - * @return {@link #packageCode} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) - */ - public CodeableConcept getPackageCode() { - if (this.packageCode == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DiagnosisComponent.packageCode"); - else if (Configuration.doAutoCreate()) - this.packageCode = new CodeableConcept(); // cc - return this.packageCode; - } - - public boolean hasPackageCode() { - return this.packageCode != null && !this.packageCode.isEmpty(); - } - - /** - * @param value {@link #packageCode} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) - */ - public DiagnosisComponent setPackageCode(CodeableConcept value) { - this.packageCode = value; - return this; - } - protected void listChildren(List children) { super.listChildren(children); children.add(new Property("sequence", "positiveInt", "A number to uniquely identify diagnosis entries.", 0, 1, sequence)); children.add(new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis)); children.add(new Property("type", "CodeableConcept", "When the condition was observed or the relative ranking.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("onAdmission", "CodeableConcept", "Indication of whether the diagnosis was present on admission to a facility.", 0, 1, onAdmission)); - children.add(new Property("packageCode", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, packageCode)); } @Override @@ -1732,7 +1719,6 @@ public class Claim extends DomainResource { case 2050454362: /*diagnosisReference*/ return new Property("diagnosis[x]", "Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "When the condition was observed or the relative ranking.", 0, java.lang.Integer.MAX_VALUE, type); case -3386134: /*onAdmission*/ return new Property("onAdmission", "CodeableConcept", "Indication of whether the diagnosis was present on admission to a facility.", 0, 1, onAdmission); - case 908444499: /*packageCode*/ return new Property("packageCode", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, packageCode); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1745,7 +1731,6 @@ public class Claim extends DomainResource { case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : new Base[] {this.diagnosis}; // DataType case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept case -3386134: /*onAdmission*/ return this.onAdmission == null ? new Base[0] : new Base[] {this.onAdmission}; // CodeableConcept - case 908444499: /*packageCode*/ return this.packageCode == null ? new Base[0] : new Base[] {this.packageCode}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); } @@ -1766,9 +1751,6 @@ public class Claim extends DomainResource { case -3386134: // onAdmission this.onAdmission = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case 908444499: // packageCode - this.packageCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; default: return super.setProperty(hash, name, value); } @@ -1784,8 +1766,6 @@ public class Claim extends DomainResource { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("onAdmission")) { this.onAdmission = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("packageCode")) { - this.packageCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else return super.setProperty(name, value); return value; @@ -1799,7 +1779,6 @@ public class Claim extends DomainResource { case 1196993265: return getDiagnosis(); case 3575610: return addType(); case -3386134: return getOnAdmission(); - case 908444499: return getPackageCode(); default: return super.makeProperty(hash, name); } @@ -1812,7 +1791,6 @@ public class Claim extends DomainResource { case 1196993265: /*diagnosis*/ return new String[] {"CodeableConcept", "Reference"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case -3386134: /*onAdmission*/ return new String[] {"CodeableConcept"}; - case 908444499: /*packageCode*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -1838,10 +1816,6 @@ public class Claim extends DomainResource { this.onAdmission = new CodeableConcept(); return this.onAdmission; } - else if (name.equals("packageCode")) { - this.packageCode = new CodeableConcept(); - return this.packageCode; - } else return super.addChild(name); } @@ -1862,7 +1836,6 @@ public class Claim extends DomainResource { dst.type.add(i.copy()); }; dst.onAdmission = onAdmission == null ? null : onAdmission.copy(); - dst.packageCode = packageCode == null ? null : packageCode.copy(); } @Override @@ -1873,8 +1846,7 @@ public class Claim extends DomainResource { return false; DiagnosisComponent o = (DiagnosisComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(type, o.type, true) - && compareDeep(onAdmission, o.onAdmission, true) && compareDeep(packageCode, o.packageCode, true) - ; + && compareDeep(onAdmission, o.onAdmission, true); } @Override @@ -1889,7 +1861,7 @@ public class Claim extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, diagnosis, type - , onAdmission, packageCode); + , onAdmission); } public String fhirType() { @@ -3310,17 +3282,25 @@ public class Claim extends DomainResource { protected CodeableConcept category; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=8, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "productOrService", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -3328,7 +3308,7 @@ public class Claim extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; @@ -3336,84 +3316,89 @@ public class Claim extends DomainResource { /** * The date or dates when the service or product was supplied, performed or completed. */ - @Child(name = "serviced", type = {DateType.class, Period.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "serviced", type = {DateType.class, Period.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date or dates of service or product delivery", formalDefinition="The date or dates when the service or product was supplied, performed or completed." ) protected DataType serviced; /** * Where the product or service was provided. */ - @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Place of service or where product was supplied", formalDefinition="Where the product or service was provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-place") protected DataType location; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * Unique Device Identifiers associated with this line item. */ - @Child(name = "udi", type = {Device.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udi", type = {Device.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique device identifier", formalDefinition="Unique Device Identifiers associated with this line item." ) protected List udi; /** - * Physical service site on the patient (limb, tooth, etc.). + * Physical location where the service is performed or applies. */ - @Child(name = "bodySite", type = {CodeableConcept.class}, order=18, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Anatomical location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") - protected CodeableConcept bodySite; - - /** - * A region or surface of the bodySite, e.g. limb region or tooth surface(s). - */ - @Child(name = "subSite", type = {CodeableConcept.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Anatomical sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") - protected List subSite; + @Child(name = "bodySite", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Anatomical location", formalDefinition="Physical location where the service is performed or applies." ) + protected List bodySite; /** * The Encounters during which this Claim was created or to which the creation of this record is tightly associated. */ - @Child(name = "encounter", type = {Encounter.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "encounter", type = {Encounter.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Encounters related to this billed item", formalDefinition="The Encounters during which this Claim was created or to which the creation of this record is tightly associated." ) protected List encounter; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - @Child(name = "detail", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "detail", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Product or service provided", formalDefinition="A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items." ) protected List detail; - private static final long serialVersionUID = 446250357L; + private static final long serialVersionUID = 775749645L; /** * Constructor @@ -3425,10 +3410,9 @@ public class Claim extends DomainResource { /** * Constructor */ - public ItemComponent(int sequence, CodeableConcept productOrService) { + public ItemComponent(int sequence) { super(); this.setSequence(sequence); - this.setProductOrService(productOrService); } /** @@ -3769,7 +3753,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -3785,13 +3769,37 @@ public class Claim extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public ItemComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public ItemComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -4015,6 +4023,30 @@ public class Claim extends DomainResource { return this; } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public ItemComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -4130,6 +4162,30 @@ public class Claim extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public ItemComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -4208,80 +4264,56 @@ public class Claim extends DomainResource { } /** - * @return {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) + * @return {@link #bodySite} (Physical location where the service is performed or applies.) */ - public CodeableConcept getBodySite() { + public List getBodySite() { if (this.bodySite == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ItemComponent.bodySite"); - else if (Configuration.doAutoCreate()) - this.bodySite = new CodeableConcept(); // cc + this.bodySite = new ArrayList(); return this.bodySite; } - public boolean hasBodySite() { - return this.bodySite != null && !this.bodySite.isEmpty(); - } - - /** - * @param value {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) - */ - public ItemComponent setBodySite(CodeableConcept value) { - this.bodySite = value; - return this; - } - - /** - * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) - */ - public List getSubSite() { - if (this.subSite == null) - this.subSite = new ArrayList(); - return this.subSite; - } - /** * @return Returns a reference to this for easy method chaining */ - public ItemComponent setSubSite(List theSubSite) { - this.subSite = theSubSite; + public ItemComponent setBodySite(List theBodySite) { + this.bodySite = theBodySite; return this; } - public boolean hasSubSite() { - if (this.subSite == null) + public boolean hasBodySite() { + if (this.bodySite == null) return false; - for (CodeableConcept item : this.subSite) + for (BodySiteComponent item : this.bodySite) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addSubSite() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + public BodySiteComponent addBodySite() { //3 + BodySiteComponent t = new BodySiteComponent(); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return t; } - public ItemComponent addSubSite(CodeableConcept t) { //3 + public ItemComponent addBodySite(BodySiteComponent t) { //3 if (t == null) return this; - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return this; } /** - * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} */ - public CodeableConcept getSubSiteFirstRep() { - if (getSubSite().isEmpty()) { - addSubSite(); + public BodySiteComponent getBodySiteFirstRep() { + if (getBodySite().isEmpty()) { + addBodySite(); } - return getSubSite().get(0); + return getBodySite().get(0); } /** @@ -4399,18 +4431,20 @@ public class Claim extends DomainResource { children.add(new Property("informationSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product.", 0, java.lang.Integer.MAX_VALUE, informationSequence)); children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); children.add(new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced)); children.add(new Property("location[x]", "CodeableConcept|Address|Reference(Location)", "Where the product or service was provided.", 0, 1, location)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi)); - children.add(new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite)); - children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + children.add(new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite)); children.add(new Property("encounter", "Reference(Encounter)", "The Encounters during which this Claim was created or to which the creation of this record is tightly associated.", 0, java.lang.Integer.MAX_VALUE, encounter)); children.add(new Property("detail", "", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, java.lang.Integer.MAX_VALUE, detail)); } @@ -4425,7 +4459,8 @@ public class Claim extends DomainResource { case -702585587: /*informationSequence*/ return new Property("informationSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product.", 0, java.lang.Integer.MAX_VALUE, informationSequence); case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced); @@ -4437,13 +4472,14 @@ public class Claim extends DomainResource { case -1224800468: /*locationCodeableConcept*/ return new Property("location[x]", "CodeableConcept", "Where the product or service was provided.", 0, 1, location); case -1280020865: /*locationAddress*/ return new Property("location[x]", "Address", "Where the product or service was provided.", 0, 1, location); case 755866390: /*locationReference*/ return new Property("location[x]", "Reference(Location)", "Where the product or service was provided.", 0, 1, location); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case 115642: /*udi*/ return new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi); - case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite); - case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + case 1702620169: /*bodySite*/ return new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounters during which this Claim was created or to which the creation of this record is tightly associated.", 0, java.lang.Integer.MAX_VALUE, encounter); case -1335224239: /*detail*/ return new Property("detail", "", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, java.lang.Integer.MAX_VALUE, detail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -4462,17 +4498,19 @@ public class Claim extends DomainResource { case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // DataType + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case 115642: /*udi*/ return this.udi == null ? new Base[0] : this.udi.toArray(new Base[this.udi.size()]); // Reference - case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableConcept - case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // BodySiteComponent case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : this.encounter.toArray(new Base[this.encounter.size()]); // Reference case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // DetailComponent default: return super.getProperty(hash, name, checkValid); @@ -4507,6 +4545,9 @@ public class Claim extends DomainResource { case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -4519,6 +4560,9 @@ public class Claim extends DomainResource { case 1901043637: // location this.location = TypeConvertor.castToType(value); // DataType return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -4528,6 +4572,9 @@ public class Claim extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; @@ -4535,10 +4582,7 @@ public class Claim extends DomainResource { this.getUdi().add(TypeConvertor.castToReference(value)); // Reference return value; case 1702620169: // bodySite - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1868566105: // subSite - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + this.getBodySite().add((BodySiteComponent) value); // BodySiteComponent return value; case 1524132147: // encounter this.getEncounter().add(TypeConvertor.castToReference(value)); // Reference @@ -4569,6 +4613,8 @@ public class Claim extends DomainResource { this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { @@ -4577,20 +4623,22 @@ public class Claim extends DomainResource { this.serviced = TypeConvertor.castToType(value); // DataType } else if (name.equals("location[x]")) { this.location = TypeConvertor.castToType(value); // DataType + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("udi")) { this.getUdi().add(TypeConvertor.castToReference(value)); } else if (name.equals("bodySite")) { - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("subSite")) { - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + this.getBodySite().add((BodySiteComponent) value); } else if (name.equals("encounter")) { this.getEncounter().add(TypeConvertor.castToReference(value)); } else if (name.equals("detail")) { @@ -4611,19 +4659,21 @@ public class Claim extends DomainResource { case 1099842588: return getRevenue(); case 50511102: return getCategory(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); case -1927922223: return getServiced(); case 1379209295: return getServiced(); case 552316075: return getLocation(); case 1901043637: return getLocation(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case 115642: return addUdi(); - case 1702620169: return getBodySite(); - case -1868566105: return addSubSite(); + case 1702620169: return addBodySite(); case 1524132147: return addEncounter(); case -1335224239: return addDetail(); default: return super.makeProperty(hash, name); @@ -4642,17 +4692,19 @@ public class Claim extends DomainResource { case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; case 1901043637: /*location*/ return new String[] {"CodeableConcept", "Address", "Reference"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case 115642: /*udi*/ return new String[] {"Reference"}; - case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; - case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + case 1702620169: /*bodySite*/ return new String[] {}; case 1524132147: /*encounter*/ return new String[] {"Reference"}; case -1335224239: /*detail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -4689,6 +4741,10 @@ public class Claim extends DomainResource { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } @@ -4715,6 +4771,10 @@ public class Claim extends DomainResource { this.location = new Reference(); return this.location; } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -4726,6 +4786,10 @@ public class Claim extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type Claim.item.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -4734,11 +4798,7 @@ public class Claim extends DomainResource { return addUdi(); } else if (name.equals("bodySite")) { - this.bodySite = new CodeableConcept(); - return this.bodySite; - } - else if (name.equals("subSite")) { - return addSubSite(); + return addBodySite(); } else if (name.equals("encounter")) { return addEncounter(); @@ -4782,6 +4842,7 @@ public class Claim extends DomainResource { dst.revenue = revenue == null ? null : revenue.copy(); dst.category = category == null ? null : category.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -4794,20 +4855,21 @@ public class Claim extends DomainResource { }; dst.serviced = serviced == null ? null : serviced.copy(); dst.location = location == null ? null : location.copy(); + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (udi != null) { dst.udi = new ArrayList(); for (Reference i : udi) dst.udi.add(i.copy()); }; - dst.bodySite = bodySite == null ? null : bodySite.copy(); - if (subSite != null) { - dst.subSite = new ArrayList(); - for (CodeableConcept i : subSite) - dst.subSite.add(i.copy()); + if (bodySite != null) { + dst.bodySite = new ArrayList(); + for (BodySiteComponent i : bodySite) + dst.bodySite.add(i.copy()); }; if (encounter != null) { dst.encounter = new ArrayList(); @@ -4832,10 +4894,11 @@ public class Claim extends DomainResource { && compareDeep(diagnosisSequence, o.diagnosisSequence, true) && compareDeep(procedureSequence, o.procedureSequence, true) && compareDeep(informationSequence, o.informationSequence, true) && compareDeep(revenue, o.revenue, true) && compareDeep(category, o.category, true) && compareDeep(productOrService, o.productOrService, true) - && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(serviced, o.serviced, true) - && compareDeep(location, o.location, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) - && compareDeep(factor, o.factor, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) - && compareDeep(bodySite, o.bodySite, true) && compareDeep(subSite, o.subSite, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) + && compareDeep(programCode, o.programCode, true) && compareDeep(serviced, o.serviced, true) && compareDeep(location, o.location, true) + && compareDeep(patientPaid, o.patientPaid, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) + && compareDeep(factor, o.factor, true) && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) + && compareDeep(udi, o.udi, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(encounter, o.encounter, true) && compareDeep(detail, o.detail, true); } @@ -4855,8 +4918,8 @@ public class Claim extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, careTeamSequence , diagnosisSequence, procedureSequence, informationSequence, revenue, category, productOrService - , modifier, programCode, serviced, location, quantity, unitPrice, factor, net - , udi, bodySite, subSite, encounter, detail); + , productOrServiceEnd, modifier, programCode, serviced, location, patientPaid, quantity + , unitPrice, factor, tax, net, udi, bodySite, encounter, detail); } public String fhirType() { @@ -4864,6 +4927,281 @@ public class Claim extends DomainResource { } + } + + @Block() + public static class BodySiteComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Physical service site on the patient (limb, tooth, etc.). + */ + @Child(name = "site", type = {CodeableReference.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") + protected List site; + + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + @Child(name = "subSite", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") + protected List subSite; + + private static final long serialVersionUID = 1190632415L; + + /** + * Constructor + */ + public BodySiteComponent() { + super(); + } + + /** + * Constructor + */ + public BodySiteComponent(CodeableReference site) { + super(); + this.addSite(site); + } + + /** + * @return {@link #site} (Physical service site on the patient (limb, tooth, etc.).) + */ + public List getSite() { + if (this.site == null) + this.site = new ArrayList(); + return this.site; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponent setSite(List theSite) { + this.site = theSite; + return this; + } + + public boolean hasSite() { + if (this.site == null) + return false; + for (CodeableReference item : this.site) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addSite() { //3 + CodeableReference t = new CodeableReference(); + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return t; + } + + public BodySiteComponent addSite(CodeableReference t) { //3 + if (t == null) + return this; + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #site}, creating it if it does not already exist {3} + */ + public CodeableReference getSiteFirstRep() { + if (getSite().isEmpty()) { + addSite(); + } + return getSite().get(0); + } + + /** + * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) + */ + public List getSubSite() { + if (this.subSite == null) + this.subSite = new ArrayList(); + return this.subSite; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponent setSubSite(List theSubSite) { + this.subSite = theSubSite; + return this; + } + + public boolean hasSubSite() { + if (this.subSite == null) + return false; + for (CodeableConcept item : this.subSite) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addSubSite() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return t; + } + + public BodySiteComponent addSubSite(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + */ + public CodeableConcept getSubSiteFirstRep() { + if (getSubSite().isEmpty()) { + addSubSite(); + } + return getSubSite().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site)); + children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3530567: /*site*/ return new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site); + case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return this.site == null ? new Base[0] : this.site.toArray(new Base[this.site.size()]); // CodeableReference + case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3530567: // site + this.getSite().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + case -1868566105: // subSite + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("site")) { + this.getSite().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("subSite")) { + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: return addSite(); + case -1868566105: return addSubSite(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return new String[] {"CodeableReference"}; + case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("site")) { + return addSite(); + } + else if (name.equals("subSite")) { + return addSubSite(); + } + else + return super.addChild(name); + } + + public BodySiteComponent copy() { + BodySiteComponent dst = new BodySiteComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(BodySiteComponent dst) { + super.copyValues(dst); + if (site != null) { + dst.site = new ArrayList(); + for (CodeableReference i : site) + dst.site.add(i.copy()); + }; + if (subSite != null) { + dst.subSite = new ArrayList(); + for (CodeableConcept i : subSite) + dst.subSite.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof BodySiteComponent)) + return false; + BodySiteComponent o = (BodySiteComponent) other_; + return compareDeep(site, o.site, true) && compareDeep(subSite, o.subSite, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof BodySiteComponent)) + return false; + BodySiteComponent o = (BodySiteComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(site, subSite); + } + + public String fhirType() { + return "Claim.item.bodySite"; + + } + } @Block() @@ -4892,17 +5230,25 @@ public class Claim extends DomainResource { protected CodeableConcept category; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -4910,54 +5256,68 @@ public class Claim extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * Unique Device Identifiers associated with this line item. */ - @Child(name = "udi", type = {Device.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udi", type = {Device.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique device identifier", formalDefinition="Unique Device Identifiers associated with this line item." ) protected List udi; /** * A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - @Child(name = "subDetail", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subDetail", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Product or service provided", formalDefinition="A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items." ) protected List subDetail; - private static final long serialVersionUID = -1330609683L; + private static final long serialVersionUID = 1738736086L; /** * Constructor @@ -4969,10 +5329,9 @@ public class Claim extends DomainResource { /** * Constructor */ - public DetailComponent(int sequence, CodeableConcept productOrService) { + public DetailComponent(int sequence) { super(); this.setSequence(sequence); - this.setProductOrService(productOrService); } /** @@ -5069,7 +5428,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -5085,13 +5444,37 @@ public class Claim extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public DetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public DetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -5198,6 +5581,30 @@ public class Claim extends DomainResource { return getProgramCode().get(0); } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public DetailComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -5313,6 +5720,30 @@ public class Claim extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public DetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -5448,12 +5879,15 @@ public class Claim extends DomainResource { children.add(new Property("sequence", "positiveInt", "A number to uniquely identify item entries.", 0, 1, sequence)); children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi)); children.add(new Property("subDetail", "", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, java.lang.Integer.MAX_VALUE, subDetail)); @@ -5465,12 +5899,15 @@ public class Claim extends DomainResource { case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A number to uniquely identify item entries.", 0, 1, sequence); case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case 115642: /*udi*/ return new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi); case -828829007: /*subDetail*/ return new Property("subDetail", "", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, java.lang.Integer.MAX_VALUE, subDetail); @@ -5486,11 +5923,14 @@ public class Claim extends DomainResource { case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case 115642: /*udi*/ return this.udi == null ? new Base[0] : this.udi.toArray(new Base[this.udi.size()]); // Reference case -828829007: /*subDetail*/ return this.subDetail == null ? new Base[0] : this.subDetail.toArray(new Base[this.subDetail.size()]); // SubDetailComponent @@ -5514,12 +5954,18 @@ public class Claim extends DomainResource { case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 1010065041: // programCode this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -5529,6 +5975,9 @@ public class Claim extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; @@ -5553,16 +6002,22 @@ public class Claim extends DomainResource { this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("udi")) { @@ -5581,11 +6036,14 @@ public class Claim extends DomainResource { case 1099842588: return getRevenue(); case 50511102: return getCategory(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case 115642: return addUdi(); case -828829007: return addSubDetail(); @@ -5601,11 +6059,14 @@ public class Claim extends DomainResource { case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case 115642: /*udi*/ return new String[] {"Reference"}; case -828829007: /*subDetail*/ return new String[] {}; @@ -5631,12 +6092,20 @@ public class Claim extends DomainResource { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } else if (name.equals("programCode")) { return addProgramCode(); } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -5648,6 +6117,10 @@ public class Claim extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type Claim.item.detail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -5674,6 +6147,7 @@ public class Claim extends DomainResource { dst.revenue = revenue == null ? null : revenue.copy(); dst.category = category == null ? null : category.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -5684,9 +6158,11 @@ public class Claim extends DomainResource { for (CodeableConcept i : programCode) dst.programCode.add(i.copy()); }; + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (udi != null) { dst.udi = new ArrayList(); @@ -5708,9 +6184,10 @@ public class Claim extends DomainResource { return false; DetailComponent o = (DetailComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(revenue, o.revenue, true) && compareDeep(category, o.category, true) - && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) - && compareDeep(programCode, o.programCode, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) - && compareDeep(factor, o.factor, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) + && compareDeep(productOrService, o.productOrService, true) && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) + && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(patientPaid, o.patientPaid, true) + && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) && compareDeep(subDetail, o.subDetail, true); } @@ -5726,8 +6203,8 @@ public class Claim extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, revenue, category - , productOrService, modifier, programCode, quantity, unitPrice, factor, net, udi - , subDetail); + , productOrService, productOrServiceEnd, modifier, programCode, patientPaid, quantity + , unitPrice, factor, tax, net, udi, subDetail); } public String fhirType() { @@ -5763,17 +6240,25 @@ public class Claim extends DomainResource { protected CodeableConcept category; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -5781,47 +6266,61 @@ public class Claim extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * Unique Device Identifiers associated with this line item. */ - @Child(name = "udi", type = {Device.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udi", type = {Device.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique device identifier", formalDefinition="Unique Device Identifiers associated with this line item." ) protected List udi; - private static final long serialVersionUID = 1044001716L; + private static final long serialVersionUID = 483115499L; /** * Constructor @@ -5833,10 +6332,9 @@ public class Claim extends DomainResource { /** * Constructor */ - public SubDetailComponent(int sequence, CodeableConcept productOrService) { + public SubDetailComponent(int sequence) { super(); this.setSequence(sequence); - this.setProductOrService(productOrService); } /** @@ -5933,7 +6431,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -5949,13 +6447,37 @@ public class Claim extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public SubDetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public SubDetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -6062,6 +6584,30 @@ public class Claim extends DomainResource { return getProgramCode().get(0); } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public SubDetailComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -6177,6 +6723,30 @@ public class Claim extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public SubDetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -6259,12 +6829,15 @@ public class Claim extends DomainResource { children.add(new Property("sequence", "positiveInt", "A number to uniquely identify item entries.", 0, 1, sequence)); children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi)); } @@ -6275,12 +6848,15 @@ public class Claim extends DomainResource { case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A number to uniquely identify item entries.", 0, 1, sequence); case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case 115642: /*udi*/ return new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -6295,11 +6871,14 @@ public class Claim extends DomainResource { case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case 115642: /*udi*/ return this.udi == null ? new Base[0] : this.udi.toArray(new Base[this.udi.size()]); // Reference default: return super.getProperty(hash, name, checkValid); @@ -6322,12 +6901,18 @@ public class Claim extends DomainResource { case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 1010065041: // programCode this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -6337,6 +6922,9 @@ public class Claim extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; @@ -6358,16 +6946,22 @@ public class Claim extends DomainResource { this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("udi")) { @@ -6384,11 +6978,14 @@ public class Claim extends DomainResource { case 1099842588: return getRevenue(); case 50511102: return getCategory(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case 115642: return addUdi(); default: return super.makeProperty(hash, name); @@ -6403,11 +7000,14 @@ public class Claim extends DomainResource { case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case 115642: /*udi*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); @@ -6432,12 +7032,20 @@ public class Claim extends DomainResource { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } else if (name.equals("programCode")) { return addProgramCode(); } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -6449,6 +7057,10 @@ public class Claim extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type Claim.item.detail.subDetail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -6472,6 +7084,7 @@ public class Claim extends DomainResource { dst.revenue = revenue == null ? null : revenue.copy(); dst.category = category == null ? null : category.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -6482,9 +7095,11 @@ public class Claim extends DomainResource { for (CodeableConcept i : programCode) dst.programCode.add(i.copy()); }; + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (udi != null) { dst.udi = new ArrayList(); @@ -6501,9 +7116,10 @@ public class Claim extends DomainResource { return false; SubDetailComponent o = (SubDetailComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(revenue, o.revenue, true) && compareDeep(category, o.category, true) - && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) - && compareDeep(programCode, o.programCode, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) - && compareDeep(factor, o.factor, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) + && compareDeep(productOrService, o.productOrService, true) && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) + && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(patientPaid, o.patientPaid, true) + && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) ; } @@ -6519,8 +7135,8 @@ public class Claim extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, revenue, category - , productOrService, modifier, programCode, quantity, unitPrice, factor, net, udi - ); + , productOrService, productOrServiceEnd, modifier, programCode, patientPaid, quantity + , unitPrice, factor, tax, net, udi); } public String fhirType() { @@ -6562,10 +7178,10 @@ public class Claim extends DomainResource { protected CodeableConcept subType; /** - * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ @Child(name = "use", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="claim | preauthorization | predetermination", formalDefinition="A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future." ) + @Description(shortDefinition="claim | preauthorization | predetermination", formalDefinition="A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-use") protected Enumeration use; @@ -6593,7 +7209,7 @@ public class Claim extends DomainResource { /** * Individual who created the claim, predetermination or preauthorization. */ - @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Author of the claim", formalDefinition="Individual who created the claim, predetermination or preauthorization." ) protected Reference enterer; @@ -6607,15 +7223,15 @@ public class Claim extends DomainResource { /** * The provider which is responsible for the claim, predetermination or preauthorization. */ - @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=10, min=1, max=1, modifier=false, summary=true) + @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=10, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Party responsible for the claim", formalDefinition="The provider which is responsible for the claim, predetermination or preauthorization." ) protected Reference provider; /** - * The provider-required urgency of processing the request. Typical values include: stat, routine deferred. + * The provider-required urgency of processing the request. Typical values include: stat, normal, deferred. */ - @Child(name = "priority", type = {CodeableConcept.class}, order=11, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Desired processing ugency", formalDefinition="The provider-required urgency of processing the request. Typical values include: stat, routine deferred." ) + @Child(name = "priority", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Desired processing urgency", formalDefinition="The provider-required urgency of processing the request. Typical values include: stat, normal, deferred." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/process-priority") protected CodeableConcept priority; @@ -6635,10 +7251,10 @@ public class Claim extends DomainResource { protected List related; /** - * Prescription to support the dispensing of pharmacy, device or vision products. + * Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments. */ @Child(name = "prescription", type = {DeviceRequest.class, MedicationRequest.class, VisionPrescription.class}, order=14, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Prescription authorizing services and products", formalDefinition="Prescription to support the dispensing of pharmacy, device or vision products." ) + @Description(shortDefinition="Prescription authorizing services and products", formalDefinition="Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments." ) protected Reference prescription; /** @@ -6656,76 +7272,98 @@ public class Claim extends DomainResource { protected PayeeComponent payee; /** - * A reference to a referral resource. + * The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services. */ @Child(name = "referral", type = {ServiceRequest.class}, order=17, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Treatment referral", formalDefinition="A reference to a referral resource." ) + @Description(shortDefinition="Treatment referral", formalDefinition="The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services." ) protected Reference referral; + /** + * The Encounters during which this Claim was created or to which the creation of this record is tightly associated. + */ + @Child(name = "encounter", type = {Encounter.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Encounters related to this billed item", formalDefinition="The Encounters during which this Claim was created or to which the creation of this record is tightly associated." ) + protected List encounter; + /** * Facility where the services were provided. */ - @Child(name = "facility", type = {Location.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Child(name = "facility", type = {Location.class, Organization.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Servicing facility", formalDefinition="Facility where the services were provided." ) protected Reference facility; + /** + * A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system. + */ + @Child(name = "diagnosisRelatedGroup", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Package billing code", formalDefinition="A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup") + protected CodeableConcept diagnosisRelatedGroup; + /** * The members of the team who provided the products and services. */ - @Child(name = "careTeam", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "careTeam", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Members of the care team", formalDefinition="The members of the team who provided the products and services." ) protected List careTeam; /** * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. */ - @Child(name = "supportingInfo", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInfo", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Supporting information", formalDefinition="Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues." ) protected List supportingInfo; /** * Information about diagnoses relevant to the claim items. */ - @Child(name = "diagnosis", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "diagnosis", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Pertinent diagnosis information", formalDefinition="Information about diagnoses relevant to the claim items." ) protected List diagnosis; /** * Procedures performed on the patient relevant to the billing items with the claim. */ - @Child(name = "procedure", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "procedure", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Clinical procedures performed", formalDefinition="Procedures performed on the patient relevant to the billing items with the claim." ) protected List procedure; /** * Financial instruments for reimbursement for the health care products and services specified on the claim. */ - @Child(name = "insurance", type = {}, order=23, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "insurance", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services specified on the claim." ) protected List insurance; /** * Details of an accident which resulted in injuries which required the products and services listed in the claim. */ - @Child(name = "accident", type = {}, order=24, min=0, max=1, modifier=false, summary=false) + @Child(name = "accident", type = {}, order=26, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Details of the event", formalDefinition="Details of an accident which resulted in injuries which required the products and services listed in the claim." ) protected AccidentComponent accident; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=27, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details. */ - @Child(name = "item", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "item", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Product or service provided", formalDefinition="A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details." ) protected List item; /** * The total value of the all the items in the claim. */ - @Child(name = "total", type = {Money.class}, order=26, min=0, max=1, modifier=false, summary=false) + @Child(name = "total", type = {Money.class}, order=29, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total claim cost", formalDefinition="The total value of the all the items in the claim." ) protected Money total; - private static final long serialVersionUID = -1944260506L; + private static final long serialVersionUID = 2135549259L; /** * Constructor @@ -6737,16 +7375,13 @@ public class Claim extends DomainResource { /** * Constructor */ - public Claim(FinancialResourceStatusCodes status, CodeableConcept type, Use use, Reference patient, Date created, Reference provider, CodeableConcept priority, InsuranceComponent insurance) { + public Claim(FinancialResourceStatusCodes status, CodeableConcept type, Use use, Reference patient, Date created) { super(); this.setStatus(status); this.setType(type); this.setUse(use); this.setPatient(patient); this.setCreated(created); - this.setProvider(provider); - this.setPriority(priority); - this.addInsurance(insurance); } /** @@ -6896,7 +7531,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #use} (A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value + * @return {@link #use} (A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value */ public Enumeration getUseElement() { if (this.use == null) @@ -6916,7 +7551,7 @@ public class Claim extends DomainResource { } /** - * @param value {@link #use} (A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value + * @param value {@link #use} (A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value */ public Claim setUseElement(Enumeration value) { this.use = value; @@ -6924,14 +7559,14 @@ public class Claim extends DomainResource { } /** - * @return A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * @return A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ public Use getUse() { return this.use == null ? null : this.use.getValue(); } /** - * @param value A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * @param value A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ public Claim setUse(Use value) { if (this.use == null) @@ -7106,7 +7741,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, routine deferred.) + * @return {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, normal, deferred.) */ public CodeableConcept getPriority() { if (this.priority == null) @@ -7122,7 +7757,7 @@ public class Claim extends DomainResource { } /** - * @param value {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, routine deferred.) + * @param value {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, normal, deferred.) */ public Claim setPriority(CodeableConcept value) { this.priority = value; @@ -7207,7 +7842,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #prescription} (Prescription to support the dispensing of pharmacy, device or vision products.) + * @return {@link #prescription} (Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.) */ public Reference getPrescription() { if (this.prescription == null) @@ -7223,7 +7858,7 @@ public class Claim extends DomainResource { } /** - * @param value {@link #prescription} (Prescription to support the dispensing of pharmacy, device or vision products.) + * @param value {@link #prescription} (Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.) */ public Claim setPrescription(Reference value) { this.prescription = value; @@ -7279,7 +7914,7 @@ public class Claim extends DomainResource { } /** - * @return {@link #referral} (A reference to a referral resource.) + * @return {@link #referral} (The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.) */ public Reference getReferral() { if (this.referral == null) @@ -7295,13 +7930,66 @@ public class Claim extends DomainResource { } /** - * @param value {@link #referral} (A reference to a referral resource.) + * @param value {@link #referral} (The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.) */ public Claim setReferral(Reference value) { this.referral = value; return this; } + /** + * @return {@link #encounter} (The Encounters during which this Claim was created or to which the creation of this record is tightly associated.) + */ + public List getEncounter() { + if (this.encounter == null) + this.encounter = new ArrayList(); + return this.encounter; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Claim setEncounter(List theEncounter) { + this.encounter = theEncounter; + return this; + } + + public boolean hasEncounter() { + if (this.encounter == null) + return false; + for (Reference item : this.encounter) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addEncounter() { //3 + Reference t = new Reference(); + if (this.encounter == null) + this.encounter = new ArrayList(); + this.encounter.add(t); + return t; + } + + public Claim addEncounter(Reference t) { //3 + if (t == null) + return this; + if (this.encounter == null) + this.encounter = new ArrayList(); + this.encounter.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #encounter}, creating it if it does not already exist {3} + */ + public Reference getEncounterFirstRep() { + if (getEncounter().isEmpty()) { + addEncounter(); + } + return getEncounter().get(0); + } + /** * @return {@link #facility} (Facility where the services were provided.) */ @@ -7326,6 +8014,30 @@ public class Claim extends DomainResource { return this; } + /** + * @return {@link #diagnosisRelatedGroup} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) + */ + public CodeableConcept getDiagnosisRelatedGroup() { + if (this.diagnosisRelatedGroup == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Claim.diagnosisRelatedGroup"); + else if (Configuration.doAutoCreate()) + this.diagnosisRelatedGroup = new CodeableConcept(); // cc + return this.diagnosisRelatedGroup; + } + + public boolean hasDiagnosisRelatedGroup() { + return this.diagnosisRelatedGroup != null && !this.diagnosisRelatedGroup.isEmpty(); + } + + /** + * @param value {@link #diagnosisRelatedGroup} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) + */ + public Claim setDiagnosisRelatedGroup(CodeableConcept value) { + this.diagnosisRelatedGroup = value; + return this; + } + /** * @return {@link #careTeam} (The members of the team who provided the products and services.) */ @@ -7615,6 +8327,30 @@ public class Claim extends DomainResource { return this; } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Claim.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Claim setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #item} (A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details.) */ @@ -7698,27 +8434,30 @@ public class Claim extends DomainResource { children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); children.add(new Property("type", "CodeableConcept", "The category of claim, e.g. oral, pharmacy, vision, institutional, professional.", 0, 1, type)); children.add(new Property("subType", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, subType)); - children.add(new Property("use", "code", "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.", 0, 1, use)); + children.add(new Property("use", "code", "A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.", 0, 1, use)); children.add(new Property("patient", "Reference(Patient)", "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual or forecast reimbursement is sought.", 0, 1, patient)); children.add(new Property("billablePeriod", "Period", "The period for which charges are being submitted.", 0, 1, billablePeriod)); children.add(new Property("created", "dateTime", "The date this resource was created.", 0, 1, created)); - children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer)); + children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer)); children.add(new Property("insurer", "Reference(Organization)", "The Insurer who is target of the request.", 0, 1, insurer)); children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the claim, predetermination or preauthorization.", 0, 1, provider)); - children.add(new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, routine deferred.", 0, 1, priority)); + children.add(new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, normal, deferred.", 0, 1, priority)); children.add(new Property("fundsReserve", "CodeableConcept", "A code to indicate whether and for whom funds are to be reserved for future claims.", 0, 1, fundsReserve)); children.add(new Property("related", "", "Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.", 0, java.lang.Integer.MAX_VALUE, related)); - children.add(new Property("prescription", "Reference(DeviceRequest|MedicationRequest|VisionPrescription)", "Prescription to support the dispensing of pharmacy, device or vision products.", 0, 1, prescription)); + children.add(new Property("prescription", "Reference(DeviceRequest|MedicationRequest|VisionPrescription)", "Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.", 0, 1, prescription)); children.add(new Property("originalPrescription", "Reference(DeviceRequest|MedicationRequest|VisionPrescription)", "Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.", 0, 1, originalPrescription)); children.add(new Property("payee", "", "The party to be reimbursed for cost of the products and services according to the terms of the policy.", 0, 1, payee)); - children.add(new Property("referral", "Reference(ServiceRequest)", "A reference to a referral resource.", 0, 1, referral)); - children.add(new Property("facility", "Reference(Location)", "Facility where the services were provided.", 0, 1, facility)); + children.add(new Property("referral", "Reference(ServiceRequest)", "The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.", 0, 1, referral)); + children.add(new Property("encounter", "Reference(Encounter)", "The Encounters during which this Claim was created or to which the creation of this record is tightly associated.", 0, java.lang.Integer.MAX_VALUE, encounter)); + children.add(new Property("facility", "Reference(Location|Organization)", "Facility where the services were provided.", 0, 1, facility)); + children.add(new Property("diagnosisRelatedGroup", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, diagnosisRelatedGroup)); children.add(new Property("careTeam", "", "The members of the team who provided the products and services.", 0, java.lang.Integer.MAX_VALUE, careTeam)); children.add(new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); children.add(new Property("diagnosis", "", "Information about diagnoses relevant to the claim items.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); children.add(new Property("procedure", "", "Procedures performed on the patient relevant to the billing items with the claim.", 0, java.lang.Integer.MAX_VALUE, procedure)); children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services specified on the claim.", 0, java.lang.Integer.MAX_VALUE, insurance)); children.add(new Property("accident", "", "Details of an accident which resulted in injuries which required the products and services listed in the claim.", 0, 1, accident)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("item", "", "A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details.", 0, java.lang.Integer.MAX_VALUE, item)); children.add(new Property("total", "Money", "The total value of the all the items in the claim.", 0, 1, total)); } @@ -7730,27 +8469,30 @@ public class Claim extends DomainResource { case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The category of claim, e.g. oral, pharmacy, vision, institutional, professional.", 0, 1, type); case -1868521062: /*subType*/ return new Property("subType", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, subType); - case 116103: /*use*/ return new Property("use", "code", "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.", 0, 1, use); + case 116103: /*use*/ return new Property("use", "code", "A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.", 0, 1, use); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual or forecast reimbursement is sought.", 0, 1, patient); case -332066046: /*billablePeriod*/ return new Property("billablePeriod", "Period", "The period for which charges are being submitted.", 0, 1, billablePeriod); case 1028554472: /*created*/ return new Property("created", "dateTime", "The date this resource was created.", 0, 1, created); - case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer); + case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer); case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The Insurer who is target of the request.", 0, 1, insurer); case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the claim, predetermination or preauthorization.", 0, 1, provider); - case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, routine deferred.", 0, 1, priority); + case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, normal, deferred.", 0, 1, priority); case 1314609806: /*fundsReserve*/ return new Property("fundsReserve", "CodeableConcept", "A code to indicate whether and for whom funds are to be reserved for future claims.", 0, 1, fundsReserve); case 1090493483: /*related*/ return new Property("related", "", "Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.", 0, java.lang.Integer.MAX_VALUE, related); - case 460301338: /*prescription*/ return new Property("prescription", "Reference(DeviceRequest|MedicationRequest|VisionPrescription)", "Prescription to support the dispensing of pharmacy, device or vision products.", 0, 1, prescription); + case 460301338: /*prescription*/ return new Property("prescription", "Reference(DeviceRequest|MedicationRequest|VisionPrescription)", "Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.", 0, 1, prescription); case -1814015861: /*originalPrescription*/ return new Property("originalPrescription", "Reference(DeviceRequest|MedicationRequest|VisionPrescription)", "Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.", 0, 1, originalPrescription); case 106443592: /*payee*/ return new Property("payee", "", "The party to be reimbursed for cost of the products and services according to the terms of the policy.", 0, 1, payee); - case -722568291: /*referral*/ return new Property("referral", "Reference(ServiceRequest)", "A reference to a referral resource.", 0, 1, referral); - case 501116579: /*facility*/ return new Property("facility", "Reference(Location)", "Facility where the services were provided.", 0, 1, facility); + case -722568291: /*referral*/ return new Property("referral", "Reference(ServiceRequest)", "The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.", 0, 1, referral); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounters during which this Claim was created or to which the creation of this record is tightly associated.", 0, java.lang.Integer.MAX_VALUE, encounter); + case 501116579: /*facility*/ return new Property("facility", "Reference(Location|Organization)", "Facility where the services were provided.", 0, 1, facility); + case -1599182171: /*diagnosisRelatedGroup*/ return new Property("diagnosisRelatedGroup", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, diagnosisRelatedGroup); case -7323378: /*careTeam*/ return new Property("careTeam", "", "The members of the team who provided the products and services.", 0, java.lang.Integer.MAX_VALUE, careTeam); case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "Information about diagnoses relevant to the claim items.", 0, java.lang.Integer.MAX_VALUE, diagnosis); case -1095204141: /*procedure*/ return new Property("procedure", "", "Procedures performed on the patient relevant to the billing items with the claim.", 0, java.lang.Integer.MAX_VALUE, procedure); case 73049818: /*insurance*/ return new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services specified on the claim.", 0, java.lang.Integer.MAX_VALUE, insurance); case -2143202801: /*accident*/ return new Property("accident", "", "Details of an accident which resulted in injuries which required the products and services listed in the claim.", 0, 1, accident); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case 3242771: /*item*/ return new Property("item", "", "A claim line. Either a simple product or service or a 'group' of details which can each be a simple items or groups of sub-details.", 0, java.lang.Integer.MAX_VALUE, item); case 110549828: /*total*/ return new Property("total", "Money", "The total value of the all the items in the claim.", 0, 1, total); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -7779,13 +8521,16 @@ public class Claim extends DomainResource { case -1814015861: /*originalPrescription*/ return this.originalPrescription == null ? new Base[0] : new Base[] {this.originalPrescription}; // Reference case 106443592: /*payee*/ return this.payee == null ? new Base[0] : new Base[] {this.payee}; // PayeeComponent case -722568291: /*referral*/ return this.referral == null ? new Base[0] : new Base[] {this.referral}; // Reference + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : this.encounter.toArray(new Base[this.encounter.size()]); // Reference case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference + case -1599182171: /*diagnosisRelatedGroup*/ return this.diagnosisRelatedGroup == null ? new Base[0] : new Base[] {this.diagnosisRelatedGroup}; // CodeableConcept case -7323378: /*careTeam*/ return this.careTeam == null ? new Base[0] : this.careTeam.toArray(new Base[this.careTeam.size()]); // CareTeamComponent case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // SupportingInformationComponent case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent case -1095204141: /*procedure*/ return this.procedure == null ? new Base[0] : this.procedure.toArray(new Base[this.procedure.size()]); // ProcedureComponent case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent case -2143202801: /*accident*/ return this.accident == null ? new Base[0] : new Base[] {this.accident}; // AccidentComponent + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // ItemComponent case 110549828: /*total*/ return this.total == null ? new Base[0] : new Base[] {this.total}; // Money default: return super.getProperty(hash, name, checkValid); @@ -7852,9 +8597,15 @@ public class Claim extends DomainResource { case -722568291: // referral this.referral = TypeConvertor.castToReference(value); // Reference return value; + case 1524132147: // encounter + this.getEncounter().add(TypeConvertor.castToReference(value)); // Reference + return value; case 501116579: // facility this.facility = TypeConvertor.castToReference(value); // Reference return value; + case -1599182171: // diagnosisRelatedGroup + this.diagnosisRelatedGroup = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -7323378: // careTeam this.getCareTeam().add((CareTeamComponent) value); // CareTeamComponent return value; @@ -7873,6 +8624,9 @@ public class Claim extends DomainResource { case -2143202801: // accident this.accident = (AccidentComponent) value; // AccidentComponent return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case 3242771: // item this.getItem().add((ItemComponent) value); // ItemComponent return value; @@ -7924,8 +8678,12 @@ public class Claim extends DomainResource { this.payee = (PayeeComponent) value; // PayeeComponent } else if (name.equals("referral")) { this.referral = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("encounter")) { + this.getEncounter().add(TypeConvertor.castToReference(value)); } else if (name.equals("facility")) { this.facility = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("diagnosisRelatedGroup")) { + this.diagnosisRelatedGroup = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("careTeam")) { this.getCareTeam().add((CareTeamComponent) value); } else if (name.equals("supportingInfo")) { @@ -7938,6 +8696,8 @@ public class Claim extends DomainResource { this.getInsurance().add((InsuranceComponent) value); } else if (name.equals("accident")) { this.accident = (AccidentComponent) value; // AccidentComponent + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("item")) { this.getItem().add((ItemComponent) value); } else if (name.equals("total")) { @@ -7968,13 +8728,16 @@ public class Claim extends DomainResource { case -1814015861: return getOriginalPrescription(); case 106443592: return getPayee(); case -722568291: return getReferral(); + case 1524132147: return addEncounter(); case 501116579: return getFacility(); + case -1599182171: return getDiagnosisRelatedGroup(); case -7323378: return addCareTeam(); case 1922406657: return addSupportingInfo(); case 1196993265: return addDiagnosis(); case -1095204141: return addProcedure(); case 73049818: return addInsurance(); case -2143202801: return getAccident(); + case 525514609: return getPatientPaid(); case 3242771: return addItem(); case 110549828: return getTotal(); default: return super.makeProperty(hash, name); @@ -8003,13 +8766,16 @@ public class Claim extends DomainResource { case -1814015861: /*originalPrescription*/ return new String[] {"Reference"}; case 106443592: /*payee*/ return new String[] {}; case -722568291: /*referral*/ return new String[] {"Reference"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; case 501116579: /*facility*/ return new String[] {"Reference"}; + case -1599182171: /*diagnosisRelatedGroup*/ return new String[] {"CodeableConcept"}; case -7323378: /*careTeam*/ return new String[] {}; case 1922406657: /*supportingInfo*/ return new String[] {}; case 1196993265: /*diagnosis*/ return new String[] {}; case -1095204141: /*procedure*/ return new String[] {}; case 73049818: /*insurance*/ return new String[] {}; case -2143202801: /*accident*/ return new String[] {}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case 3242771: /*item*/ return new String[] {}; case 110549828: /*total*/ return new String[] {"Money"}; default: return super.getTypesForProperty(hash, name); @@ -8086,10 +8852,17 @@ public class Claim extends DomainResource { this.referral = new Reference(); return this.referral; } + else if (name.equals("encounter")) { + return addEncounter(); + } else if (name.equals("facility")) { this.facility = new Reference(); return this.facility; } + else if (name.equals("diagnosisRelatedGroup")) { + this.diagnosisRelatedGroup = new CodeableConcept(); + return this.diagnosisRelatedGroup; + } else if (name.equals("careTeam")) { return addCareTeam(); } @@ -8109,6 +8882,10 @@ public class Claim extends DomainResource { this.accident = new AccidentComponent(); return this.accident; } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("item")) { return addItem(); } @@ -8159,7 +8936,13 @@ public class Claim extends DomainResource { dst.originalPrescription = originalPrescription == null ? null : originalPrescription.copy(); dst.payee = payee == null ? null : payee.copy(); dst.referral = referral == null ? null : referral.copy(); + if (encounter != null) { + dst.encounter = new ArrayList(); + for (Reference i : encounter) + dst.encounter.add(i.copy()); + }; dst.facility = facility == null ? null : facility.copy(); + dst.diagnosisRelatedGroup = diagnosisRelatedGroup == null ? null : diagnosisRelatedGroup.copy(); if (careTeam != null) { dst.careTeam = new ArrayList(); for (CareTeamComponent i : careTeam) @@ -8186,6 +8969,7 @@ public class Claim extends DomainResource { dst.insurance.add(i.copy()); }; dst.accident = accident == null ? null : accident.copy(); + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); if (item != null) { dst.item = new ArrayList(); for (ItemComponent i : item) @@ -8211,11 +8995,12 @@ public class Claim extends DomainResource { && compareDeep(enterer, o.enterer, true) && compareDeep(insurer, o.insurer, true) && compareDeep(provider, o.provider, true) && compareDeep(priority, o.priority, true) && compareDeep(fundsReserve, o.fundsReserve, true) && compareDeep(related, o.related, true) && compareDeep(prescription, o.prescription, true) && compareDeep(originalPrescription, o.originalPrescription, true) - && compareDeep(payee, o.payee, true) && compareDeep(referral, o.referral, true) && compareDeep(facility, o.facility, true) + && compareDeep(payee, o.payee, true) && compareDeep(referral, o.referral, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(facility, o.facility, true) && compareDeep(diagnosisRelatedGroup, o.diagnosisRelatedGroup, true) && compareDeep(careTeam, o.careTeam, true) && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(procedure, o.procedure, true) && compareDeep(insurance, o.insurance, true) - && compareDeep(accident, o.accident, true) && compareDeep(item, o.item, true) && compareDeep(total, o.total, true) - ; + && compareDeep(accident, o.accident, true) && compareDeep(patientPaid, o.patientPaid, true) && compareDeep(item, o.item, true) + && compareDeep(total, o.total, true); } @Override @@ -8233,8 +9018,8 @@ public class Claim extends DomainResource { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type , subType, use, patient, billablePeriod, created, enterer, insurer, provider , priority, fundsReserve, related, prescription, originalPrescription, payee, referral - , facility, careTeam, supportingInfo, diagnosis, procedure, insurance, accident - , item, total); + , encounter, facility, diagnosisRelatedGroup, careTeam, supportingInfo, diagnosis + , procedure, insurance, accident, patientPaid, item, total); } @Override @@ -8348,7 +9133,7 @@ public class Claim extends DomainResource { * Path: Claim.enterer
*

*/ - @SearchParamDefinition(name="enterer", path="Claim.enterer", description="The party responsible for the entry of the Claim", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) + @SearchParamDefinition(name="enterer", path="Claim.enterer", description="The party responsible for the entry of the Claim", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) public static final String SP_ENTERER = "enterer"; /** * Fluent Client search parameter constant for enterer @@ -8374,7 +9159,7 @@ public class Claim extends DomainResource { * Path: Claim.facility
*

*/ - @SearchParamDefinition(name="facility", path="Claim.facility", description="Facility where the products or services have been or will be provided", type="reference", target={Location.class } ) + @SearchParamDefinition(name="facility", path="Claim.facility", description="Facility where the products or services have been or will be provided", type="reference", target={Location.class, Organization.class } ) public static final String SP_FACILITY = "facility"; /** * Fluent Client search parameter constant for facility diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClaimResponse.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClaimResponse.java index b85b28890..beb3a378e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClaimResponse.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClaimResponse.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -70,21 +70,29 @@ public class ClaimResponse extends DomainResource { @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. */ - @Child(name = "adjudication", type = {}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Adjudication details", formalDefinition="If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item." ) protected List adjudication; /** * A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items. */ - @Child(name = "detail", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "detail", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Adjudication for claim details", formalDefinition="A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items." ) protected List detail; - private static final long serialVersionUID = 701277928L; + private static final long serialVersionUID = 820014025L; /** * Constructor @@ -96,10 +104,9 @@ public class ClaimResponse extends DomainResource { /** * Constructor */ - public ItemComponent(int itemSequence, AdjudicationComponent adjudication) { + public ItemComponent(int itemSequence) { super(); this.setItemSequence(itemSequence); - this.addAdjudication(adjudication); } /** @@ -208,6 +215,30 @@ public class ClaimResponse extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public ItemComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.) */ @@ -318,6 +349,7 @@ public class ClaimResponse extends DomainResource { super.listChildren(children); children.add(new Property("itemSequence", "positiveInt", "A number to uniquely reference the claim item entries.", 0, 1, itemSequence)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "", "If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("detail", "", "A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, java.lang.Integer.MAX_VALUE, detail)); } @@ -327,6 +359,7 @@ public class ClaimResponse extends DomainResource { switch (_hash) { case 1977979892: /*itemSequence*/ return new Property("itemSequence", "positiveInt", "A number to uniquely reference the claim item entries.", 0, 1, itemSequence); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "", "If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -1335224239: /*detail*/ return new Property("detail", "", "A claim detail. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, java.lang.Integer.MAX_VALUE, detail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -339,6 +372,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case 1977979892: /*itemSequence*/ return this.itemSequence == null ? new Base[0] : new Base[] {this.itemSequence}; // PositiveIntType case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // ItemDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -355,6 +389,9 @@ public class ClaimResponse extends DomainResource { case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -372,6 +409,8 @@ public class ClaimResponse extends DomainResource { this.itemSequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("detail")) { @@ -386,6 +425,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case 1977979892: return getItemSequenceElement(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -1335224239: return addDetail(); default: return super.makeProperty(hash, name); @@ -398,6 +438,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case 1977979892: /*itemSequence*/ return new String[] {"positiveInt"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {}; case -1335224239: /*detail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -413,6 +454,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.item.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -437,6 +482,7 @@ public class ClaimResponse extends DomainResource { for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -457,7 +503,8 @@ public class ClaimResponse extends DomainResource { return false; ItemComponent o = (ItemComponent) other_; return compareDeep(itemSequence, o.itemSequence, true) && compareDeep(noteNumber, o.noteNumber, true) - && compareDeep(adjudication, o.adjudication, true) && compareDeep(detail, o.detail, true); + && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(detail, o.detail, true) + ; } @Override @@ -472,8 +519,8 @@ public class ClaimResponse extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(itemSequence, noteNumber, adjudication - , detail); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(itemSequence, noteNumber, decision + , adjudication, detail); } public String fhirType() { @@ -846,21 +893,29 @@ public class ClaimResponse extends DomainResource { @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=3, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Detail level adjudication details", formalDefinition="The adjudication results." ) protected List adjudication; /** * A sub-detail adjudication of a simple product or service. */ - @Child(name = "subDetail", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subDetail", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Adjudication for claim sub-details", formalDefinition="A sub-detail adjudication of a simple product or service." ) protected List subDetail; - private static final long serialVersionUID = 1066636111L; + private static final long serialVersionUID = -271758028L; /** * Constructor @@ -872,10 +927,9 @@ public class ClaimResponse extends DomainResource { /** * Constructor */ - public ItemDetailComponent(int detailSequence, AdjudicationComponent adjudication) { + public ItemDetailComponent(int detailSequence) { super(); this.setDetailSequence(detailSequence); - this.addAdjudication(adjudication); } /** @@ -984,6 +1038,30 @@ public class ClaimResponse extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public ItemDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -1094,6 +1172,7 @@ public class ClaimResponse extends DomainResource { super.listChildren(children); children.add(new Property("detailSequence", "positiveInt", "A number to uniquely reference the claim detail entry.", 0, 1, detailSequence)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("subDetail", "", "A sub-detail adjudication of a simple product or service.", 0, java.lang.Integer.MAX_VALUE, subDetail)); } @@ -1103,6 +1182,7 @@ public class ClaimResponse extends DomainResource { switch (_hash) { case 1321472818: /*detailSequence*/ return new Property("detailSequence", "positiveInt", "A number to uniquely reference the claim detail entry.", 0, 1, detailSequence); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -828829007: /*subDetail*/ return new Property("subDetail", "", "A sub-detail adjudication of a simple product or service.", 0, java.lang.Integer.MAX_VALUE, subDetail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1115,6 +1195,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case 1321472818: /*detailSequence*/ return this.detailSequence == null ? new Base[0] : new Base[] {this.detailSequence}; // PositiveIntType case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -828829007: /*subDetail*/ return this.subDetail == null ? new Base[0] : this.subDetail.toArray(new Base[this.subDetail.size()]); // SubDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -1131,6 +1212,9 @@ public class ClaimResponse extends DomainResource { case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -1148,6 +1232,8 @@ public class ClaimResponse extends DomainResource { this.detailSequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("subDetail")) { @@ -1162,6 +1248,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case 1321472818: return getDetailSequenceElement(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -828829007: return addSubDetail(); default: return super.makeProperty(hash, name); @@ -1174,6 +1261,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case 1321472818: /*detailSequence*/ return new String[] {"positiveInt"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ClaimResponse.item.adjudication"}; case -828829007: /*subDetail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -1189,6 +1277,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.item.detail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -1213,6 +1305,7 @@ public class ClaimResponse extends DomainResource { for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -1233,7 +1326,7 @@ public class ClaimResponse extends DomainResource { return false; ItemDetailComponent o = (ItemDetailComponent) other_; return compareDeep(detailSequence, o.detailSequence, true) && compareDeep(noteNumber, o.noteNumber, true) - && compareDeep(adjudication, o.adjudication, true) && compareDeep(subDetail, o.subDetail, true) + && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(subDetail, o.subDetail, true) ; } @@ -1250,7 +1343,7 @@ public class ClaimResponse extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(detailSequence, noteNumber - , adjudication, subDetail); + , decision, adjudication, subDetail); } public String fhirType() { @@ -1276,14 +1369,22 @@ public class ClaimResponse extends DomainResource { @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Subdetail level adjudication details", formalDefinition="The adjudication results." ) protected List adjudication; - private static final long serialVersionUID = -1083724362L; + private static final long serialVersionUID = 861687209L; /** * Constructor @@ -1406,6 +1507,30 @@ public class ClaimResponse extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public SubDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -1463,6 +1588,7 @@ public class ClaimResponse extends DomainResource { super.listChildren(children); children.add(new Property("subDetailSequence", "positiveInt", "A number to uniquely reference the claim sub-detail entry.", 0, 1, subDetailSequence)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); } @@ -1471,6 +1597,7 @@ public class ClaimResponse extends DomainResource { switch (_hash) { case -855462510: /*subDetailSequence*/ return new Property("subDetailSequence", "positiveInt", "A number to uniquely reference the claim sub-detail entry.", 0, 1, subDetailSequence); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1482,6 +1609,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case -855462510: /*subDetailSequence*/ return this.subDetailSequence == null ? new Base[0] : new Base[] {this.subDetailSequence}; // PositiveIntType case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent default: return super.getProperty(hash, name, checkValid); } @@ -1497,6 +1625,9 @@ public class ClaimResponse extends DomainResource { case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -1511,6 +1642,8 @@ public class ClaimResponse extends DomainResource { this.subDetailSequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else @@ -1523,6 +1656,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case -855462510: return getSubDetailSequenceElement(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); default: return super.makeProperty(hash, name); } @@ -1534,6 +1668,7 @@ public class ClaimResponse extends DomainResource { switch (hash) { case -855462510: /*subDetailSequence*/ return new String[] {"positiveInt"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ClaimResponse.item.adjudication"}; default: return super.getTypesForProperty(hash, name); } @@ -1548,6 +1683,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.item.detail.subDetail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -1569,6 +1708,7 @@ public class ClaimResponse extends DomainResource { for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -1584,7 +1724,7 @@ public class ClaimResponse extends DomainResource { return false; SubDetailComponent o = (SubDetailComponent) other_; return compareDeep(subDetailSequence, o.subDetailSequence, true) && compareDeep(noteNumber, o.noteNumber, true) - && compareDeep(adjudication, o.adjudication, true); + && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true); } @Override @@ -1600,7 +1740,7 @@ public class ClaimResponse extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(subDetailSequence, noteNumber - , adjudication); + , decision, adjudication); } public String fhirType() { @@ -1641,17 +1781,33 @@ public class ClaimResponse extends DomainResource { protected List provider; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * The type of revenue or cost center providing the product and/or service. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=5, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "revenue", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Revenue or cost center code", formalDefinition="The type of revenue or cost center providing the product and/or service." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-revenue-center") + protected CodeableConcept revenue; + + /** + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. + */ + @Child(name = "productOrService", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -1659,7 +1815,7 @@ public class ClaimResponse extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; @@ -1667,14 +1823,14 @@ public class ClaimResponse extends DomainResource { /** * The date or dates when the service or product was supplied, performed or completed. */ - @Child(name = "serviced", type = {DateType.class, Period.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "serviced", type = {DateType.class, Period.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date or dates of service or product delivery", formalDefinition="The date or dates when the service or product was supplied, performed or completed." ) protected DataType serviced; /** * Where the product or service was provided. */ - @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Place of service or where product was supplied", formalDefinition="Where the product or service was provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-place") protected DataType location; @@ -1682,69 +1838,75 @@ public class ClaimResponse extends DomainResource { /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** - * Physical service site on the patient (limb, tooth, etc.). + * Physical location where the service is performed or applies. */ - @Child(name = "bodySite", type = {CodeableConcept.class}, order=14, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Anatomical location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") - protected CodeableConcept bodySite; - - /** - * A region or surface of the bodySite, e.g. limb region or tooth surface(s). - */ - @Child(name = "subSite", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Anatomical sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") - protected List subSite; + @Child(name = "bodySite", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Anatomical location", formalDefinition="Physical location where the service is performed or applies." ) + protected List bodySite; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=17, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Added items adjudication", formalDefinition="The adjudication results." ) protected List adjudication; /** * The second-tier service adjudications for payor added services. */ - @Child(name = "detail", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "detail", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Insurer added line details", formalDefinition="The second-tier service adjudications for payor added services." ) protected List detail; - private static final long serialVersionUID = -1008423576L; + private static final long serialVersionUID = 1717713947L; /** * Constructor @@ -1753,15 +1915,6 @@ public class ClaimResponse extends DomainResource { super(); } - /** - * Constructor - */ - public AddedItemComponent(CodeableConcept productOrService, AdjudicationComponent adjudication) { - super(); - this.setProductOrService(productOrService); - this.addAdjudication(adjudication); - } - /** * @return {@link #itemSequence} (Claim items which this service line is intended to replace.) */ @@ -1999,7 +2152,31 @@ public class ClaimResponse extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public CodeableConcept getRevenue() { + if (this.revenue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.revenue"); + else if (Configuration.doAutoCreate()) + this.revenue = new CodeableConcept(); // cc + return this.revenue; + } + + public boolean hasRevenue() { + return this.revenue != null && !this.revenue.isEmpty(); + } + + /** + * @param value {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public AddedItemComponent setRevenue(CodeableConcept value) { + this.revenue = value; + return this; + } + + /** + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -2015,13 +2192,37 @@ public class ClaimResponse extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public AddedItemComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public AddedItemComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -2360,6 +2561,30 @@ public class ClaimResponse extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public AddedItemComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -2385,80 +2610,56 @@ public class ClaimResponse extends DomainResource { } /** - * @return {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) + * @return {@link #bodySite} (Physical location where the service is performed or applies.) */ - public CodeableConcept getBodySite() { + public List getBodySite() { if (this.bodySite == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create AddedItemComponent.bodySite"); - else if (Configuration.doAutoCreate()) - this.bodySite = new CodeableConcept(); // cc + this.bodySite = new ArrayList(); return this.bodySite; } - public boolean hasBodySite() { - return this.bodySite != null && !this.bodySite.isEmpty(); - } - - /** - * @param value {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) - */ - public AddedItemComponent setBodySite(CodeableConcept value) { - this.bodySite = value; - return this; - } - - /** - * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) - */ - public List getSubSite() { - if (this.subSite == null) - this.subSite = new ArrayList(); - return this.subSite; - } - /** * @return Returns a reference to this for easy method chaining */ - public AddedItemComponent setSubSite(List theSubSite) { - this.subSite = theSubSite; + public AddedItemComponent setBodySite(List theBodySite) { + this.bodySite = theBodySite; return this; } - public boolean hasSubSite() { - if (this.subSite == null) + public boolean hasBodySite() { + if (this.bodySite == null) return false; - for (CodeableConcept item : this.subSite) + for (BodySiteComponent item : this.bodySite) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addSubSite() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + public BodySiteComponent addBodySite() { //3 + BodySiteComponent t = new BodySiteComponent(); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return t; } - public AddedItemComponent addSubSite(CodeableConcept t) { //3 + public AddedItemComponent addBodySite(BodySiteComponent t) { //3 if (t == null) return this; - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return this; } /** - * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} */ - public CodeableConcept getSubSiteFirstRep() { - if (getSubSite().isEmpty()) { - addSubSite(); + public BodySiteComponent getBodySiteFirstRep() { + if (getBodySite().isEmpty()) { + addBodySite(); } - return getSubSite().get(0); + return getBodySite().get(0); } /** @@ -2522,6 +2723,30 @@ public class ClaimResponse extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public AddedItemComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -2634,7 +2859,9 @@ public class ClaimResponse extends DomainResource { children.add(new Property("detailSequence", "positiveInt", "The sequence number of the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, detailSequence)); children.add(new Property("subdetailSequence", "positiveInt", "The sequence number of the sub-details within the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, subdetailSequence)); children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The providers who are authorized for the services rendered to the patient.", 0, java.lang.Integer.MAX_VALUE, provider)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); children.add(new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced)); @@ -2642,10 +2869,11 @@ public class ClaimResponse extends DomainResource { children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); - children.add(new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite)); - children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + children.add(new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("detail", "", "The second-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, detail)); } @@ -2657,7 +2885,9 @@ public class ClaimResponse extends DomainResource { case 1321472818: /*detailSequence*/ return new Property("detailSequence", "positiveInt", "The sequence number of the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, detailSequence); case 146530674: /*subdetailSequence*/ return new Property("subdetailSequence", "positiveInt", "The sequence number of the sub-details within the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, subdetailSequence); case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The providers who are authorized for the services rendered to the patient.", 0, java.lang.Integer.MAX_VALUE, provider); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced); @@ -2672,10 +2902,11 @@ public class ClaimResponse extends DomainResource { case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); - case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite); - case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + case 1702620169: /*bodySite*/ return new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -1335224239: /*detail*/ return new Property("detail", "", "The second-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, detail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -2690,7 +2921,9 @@ public class ClaimResponse extends DomainResource { case 1321472818: /*detailSequence*/ return this.detailSequence == null ? new Base[0] : this.detailSequence.toArray(new Base[this.detailSequence.size()]); // PositiveIntType case 146530674: /*subdetailSequence*/ return this.subdetailSequence == null ? new Base[0] : this.subdetailSequence.toArray(new Base[this.subdetailSequence.size()]); // PositiveIntType case -987494927: /*provider*/ return this.provider == null ? new Base[0] : this.provider.toArray(new Base[this.provider.size()]); // Reference + case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType @@ -2698,10 +2931,11 @@ public class ClaimResponse extends DomainResource { case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money - case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableConcept - case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // BodySiteComponent case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // AddedItemDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -2724,9 +2958,15 @@ public class ClaimResponse extends DomainResource { case -987494927: // provider this.getProvider().add(TypeConvertor.castToReference(value)); // Reference return value; + case 1099842588: // revenue + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -2748,18 +2988,21 @@ public class ClaimResponse extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; case 1702620169: // bodySite - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1868566105: // subSite - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + this.getBodySite().add((BodySiteComponent) value); // BodySiteComponent return value; case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -2781,8 +3024,12 @@ public class ClaimResponse extends DomainResource { this.getSubdetailSequence().add(TypeConvertor.castToPositiveInt(value)); } else if (name.equals("provider")) { this.getProvider().add(TypeConvertor.castToReference(value)); + } else if (name.equals("revenue")) { + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { @@ -2797,14 +3044,16 @@ public class ClaimResponse extends DomainResource { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("bodySite")) { - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("subSite")) { - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + this.getBodySite().add((BodySiteComponent) value); } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("detail")) { @@ -2821,7 +3070,9 @@ public class ClaimResponse extends DomainResource { case 1321472818: return addDetailSequenceElement(); case 146530674: return addSubdetailSequenceElement(); case -987494927: return addProvider(); + case 1099842588: return getRevenue(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); case -1927922223: return getServiced(); @@ -2831,10 +3082,11 @@ public class ClaimResponse extends DomainResource { case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); - case 1702620169: return getBodySite(); - case -1868566105: return addSubSite(); + case 1702620169: return addBodySite(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -1335224239: return addDetail(); default: return super.makeProperty(hash, name); @@ -2849,7 +3101,9 @@ public class ClaimResponse extends DomainResource { case 1321472818: /*detailSequence*/ return new String[] {"positiveInt"}; case 146530674: /*subdetailSequence*/ return new String[] {"positiveInt"}; case -987494927: /*provider*/ return new String[] {"Reference"}; + case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; @@ -2857,10 +3111,11 @@ public class ClaimResponse extends DomainResource { case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; - case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; - case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + case 1702620169: /*bodySite*/ return new String[] {}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ClaimResponse.item.adjudication"}; case -1335224239: /*detail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -2882,10 +3137,18 @@ public class ClaimResponse extends DomainResource { else if (name.equals("provider")) { return addProvider(); } + else if (name.equals("revenue")) { + this.revenue = new CodeableConcept(); + return this.revenue; + } else if (name.equals("productOrService")) { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } @@ -2923,20 +3186,24 @@ public class ClaimResponse extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.addItem.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; } else if (name.equals("bodySite")) { - this.bodySite = new CodeableConcept(); - return this.bodySite; - } - else if (name.equals("subSite")) { - return addSubSite(); + return addBodySite(); } else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.addItem.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -2975,7 +3242,9 @@ public class ClaimResponse extends DomainResource { for (Reference i : provider) dst.provider.add(i.copy()); }; + dst.revenue = revenue == null ? null : revenue.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -2991,18 +3260,19 @@ public class ClaimResponse extends DomainResource { dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); - dst.bodySite = bodySite == null ? null : bodySite.copy(); - if (subSite != null) { - dst.subSite = new ArrayList(); - for (CodeableConcept i : subSite) - dst.subSite.add(i.copy()); + if (bodySite != null) { + dst.bodySite = new ArrayList(); + for (BodySiteComponent i : bodySite) + dst.bodySite.add(i.copy()); }; if (noteNumber != null) { dst.noteNumber = new ArrayList(); for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -3024,11 +3294,12 @@ public class ClaimResponse extends DomainResource { AddedItemComponent o = (AddedItemComponent) other_; return compareDeep(itemSequence, o.itemSequence, true) && compareDeep(detailSequence, o.detailSequence, true) && compareDeep(subdetailSequence, o.subdetailSequence, true) && compareDeep(provider, o.provider, true) - && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) + && compareDeep(revenue, o.revenue, true) && compareDeep(productOrService, o.productOrService, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(serviced, o.serviced, true) && compareDeep(location, o.location, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) - && compareDeep(net, o.net, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(subSite, o.subSite, true) - && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(bodySite, o.bodySite, true) + && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(detail, o.detail, true); } @@ -3046,9 +3317,9 @@ public class ClaimResponse extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(itemSequence, detailSequence - , subdetailSequence, provider, productOrService, modifier, programCode, serviced - , location, quantity, unitPrice, factor, net, bodySite, subSite, noteNumber - , adjudication, detail); + , subdetailSequence, provider, revenue, productOrService, productOrServiceEnd, modifier + , programCode, serviced, location, quantity, unitPrice, factor, tax, net, bodySite + , noteNumber, decision, adjudication, detail); } public String fhirType() { @@ -3056,22 +3327,313 @@ public class ClaimResponse extends DomainResource { } + } + + @Block() + public static class BodySiteComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Physical service site on the patient (limb, tooth, etc.). + */ + @Child(name = "site", type = {CodeableReference.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") + protected List site; + + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + @Child(name = "subSite", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") + protected List subSite; + + private static final long serialVersionUID = 1190632415L; + + /** + * Constructor + */ + public BodySiteComponent() { + super(); + } + + /** + * Constructor + */ + public BodySiteComponent(CodeableReference site) { + super(); + this.addSite(site); + } + + /** + * @return {@link #site} (Physical service site on the patient (limb, tooth, etc.).) + */ + public List getSite() { + if (this.site == null) + this.site = new ArrayList(); + return this.site; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponent setSite(List theSite) { + this.site = theSite; + return this; + } + + public boolean hasSite() { + if (this.site == null) + return false; + for (CodeableReference item : this.site) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addSite() { //3 + CodeableReference t = new CodeableReference(); + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return t; + } + + public BodySiteComponent addSite(CodeableReference t) { //3 + if (t == null) + return this; + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #site}, creating it if it does not already exist {3} + */ + public CodeableReference getSiteFirstRep() { + if (getSite().isEmpty()) { + addSite(); + } + return getSite().get(0); + } + + /** + * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) + */ + public List getSubSite() { + if (this.subSite == null) + this.subSite = new ArrayList(); + return this.subSite; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponent setSubSite(List theSubSite) { + this.subSite = theSubSite; + return this; + } + + public boolean hasSubSite() { + if (this.subSite == null) + return false; + for (CodeableConcept item : this.subSite) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addSubSite() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return t; + } + + public BodySiteComponent addSubSite(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + */ + public CodeableConcept getSubSiteFirstRep() { + if (getSubSite().isEmpty()) { + addSubSite(); + } + return getSubSite().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site)); + children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3530567: /*site*/ return new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site); + case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return this.site == null ? new Base[0] : this.site.toArray(new Base[this.site.size()]); // CodeableReference + case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3530567: // site + this.getSite().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + case -1868566105: // subSite + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("site")) { + this.getSite().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("subSite")) { + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: return addSite(); + case -1868566105: return addSubSite(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return new String[] {"CodeableReference"}; + case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("site")) { + return addSite(); + } + else if (name.equals("subSite")) { + return addSubSite(); + } + else + return super.addChild(name); + } + + public BodySiteComponent copy() { + BodySiteComponent dst = new BodySiteComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(BodySiteComponent dst) { + super.copyValues(dst); + if (site != null) { + dst.site = new ArrayList(); + for (CodeableReference i : site) + dst.site.add(i.copy()); + }; + if (subSite != null) { + dst.subSite = new ArrayList(); + for (CodeableConcept i : subSite) + dst.subSite.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof BodySiteComponent)) + return false; + BodySiteComponent o = (BodySiteComponent) other_; + return compareDeep(site, o.site, true) && compareDeep(subSite, o.subSite, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof BodySiteComponent)) + return false; + BodySiteComponent o = (BodySiteComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(site, subSite); + } + + public String fhirType() { + return "ClaimResponse.addItem.bodySite"; + + } + } @Block() public static class AddedItemDetailComponent extends BackboneElement implements IBaseBackboneElement { /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * The type of revenue or cost center providing the product and/or service. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "revenue", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Revenue or cost center code", formalDefinition="The type of revenue or cost center providing the product and/or service." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-revenue-center") + protected CodeableConcept revenue; + + /** + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. + */ + @Child(name = "productOrService", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -3079,53 +3641,68 @@ public class ClaimResponse extends DomainResource { /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=8, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Added items detail adjudication", formalDefinition="The adjudication results." ) protected List adjudication; /** * The third-tier service adjudications for payor added services. */ - @Child(name = "subDetail", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subDetail", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Insurer added line items", formalDefinition="The third-tier service adjudications for payor added services." ) protected List subDetail; - private static final long serialVersionUID = -1436724060L; + private static final long serialVersionUID = -341633776L; /** * Constructor @@ -3134,17 +3711,32 @@ public class ClaimResponse extends DomainResource { super(); } - /** - * Constructor - */ - public AddedItemDetailComponent(CodeableConcept productOrService, AdjudicationComponent adjudication) { - super(); - this.setProductOrService(productOrService); - this.addAdjudication(adjudication); - } + /** + * @return {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public CodeableConcept getRevenue() { + if (this.revenue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.revenue"); + else if (Configuration.doAutoCreate()) + this.revenue = new CodeableConcept(); // cc + return this.revenue; + } + + public boolean hasRevenue() { + return this.revenue != null && !this.revenue.isEmpty(); + } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public AddedItemDetailComponent setRevenue(CodeableConcept value) { + this.revenue = value; + return this; + } + + /** + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -3160,13 +3752,37 @@ public class ClaimResponse extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public AddedItemDetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public AddedItemDetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -3335,6 +3951,30 @@ public class ClaimResponse extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public AddedItemDetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -3420,6 +4060,30 @@ public class ClaimResponse extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public AddedItemDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -3528,13 +4192,17 @@ public class ClaimResponse extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("subDetail", "", "The third-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, subDetail)); } @@ -3542,13 +4210,17 @@ public class ClaimResponse extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -828829007: /*subDetail*/ return new Property("subDetail", "", "The third-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, subDetail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -3559,13 +4231,17 @@ public class ClaimResponse extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -828829007: /*subDetail*/ return this.subDetail == null ? new Base[0] : this.subDetail.toArray(new Base[this.subDetail.size()]); // AddedItemSubDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -3576,9 +4252,15 @@ public class ClaimResponse extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { + case 1099842588: // revenue + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -3591,12 +4273,18 @@ public class ClaimResponse extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -3610,8 +4298,12 @@ public class ClaimResponse extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("quantity")) { @@ -3620,10 +4312,14 @@ public class ClaimResponse extends DomainResource { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("subDetail")) { @@ -3636,13 +4332,17 @@ public class ClaimResponse extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: return getRevenue(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -828829007: return addSubDetail(); default: return super.makeProperty(hash, name); @@ -3653,13 +4353,17 @@ public class ClaimResponse extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ClaimResponse.item.adjudication"}; case -828829007: /*subDetail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -3669,10 +4373,18 @@ public class ClaimResponse extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = new CodeableConcept(); + return this.revenue; + } + else if (name.equals("productOrService")) { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } @@ -3687,6 +4399,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.addItem.detail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -3694,6 +4410,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.addItem.detail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -3712,7 +4432,9 @@ public class ClaimResponse extends DomainResource { public void copyValues(AddedItemDetailComponent dst) { super.copyValues(dst); + dst.revenue = revenue == null ? null : revenue.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -3721,12 +4443,14 @@ public class ClaimResponse extends DomainResource { dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (noteNumber != null) { dst.noteNumber = new ArrayList(); for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -3746,10 +4470,12 @@ public class ClaimResponse extends DomainResource { if (!(other_ instanceof AddedItemDetailComponent)) return false; AddedItemDetailComponent o = (AddedItemDetailComponent) other_; - return compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) + return compareDeep(revenue, o.revenue, true) && compareDeep(productOrService, o.productOrService, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) - && compareDeep(net, o.net, true) && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) - && compareDeep(subDetail, o.subDetail, true); + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(noteNumber, o.noteNumber, true) + && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(subDetail, o.subDetail, true) + ; } @Override @@ -3763,8 +4489,9 @@ public class ClaimResponse extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(productOrService, modifier - , quantity, unitPrice, factor, net, noteNumber, adjudication, subDetail); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(revenue, productOrService + , productOrServiceEnd, modifier, quantity, unitPrice, factor, tax, net, noteNumber + , decision, adjudication, subDetail); } public String fhirType() { @@ -3777,17 +4504,33 @@ public class ClaimResponse extends DomainResource { @Block() public static class AddedItemSubDetailComponent extends BackboneElement implements IBaseBackboneElement { /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * The type of revenue or cost center providing the product and/or service. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "revenue", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Revenue or cost center code", formalDefinition="The type of revenue or cost center providing the product and/or service." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-revenue-center") + protected CodeableConcept revenue; + + /** + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. + */ + @Child(name = "productOrService", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -3795,46 +4538,61 @@ public class ClaimResponse extends DomainResource { /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=8, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Added items detail adjudication", formalDefinition="The adjudication results." ) protected List adjudication; - private static final long serialVersionUID = 1301363592L; + private static final long serialVersionUID = 1259363316L; /** * Constructor @@ -3843,17 +4601,32 @@ public class ClaimResponse extends DomainResource { super(); } - /** - * Constructor - */ - public AddedItemSubDetailComponent(CodeableConcept productOrService, AdjudicationComponent adjudication) { - super(); - this.setProductOrService(productOrService); - this.addAdjudication(adjudication); - } + /** + * @return {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public CodeableConcept getRevenue() { + if (this.revenue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemSubDetailComponent.revenue"); + else if (Configuration.doAutoCreate()) + this.revenue = new CodeableConcept(); // cc + return this.revenue; + } + + public boolean hasRevenue() { + return this.revenue != null && !this.revenue.isEmpty(); + } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public AddedItemSubDetailComponent setRevenue(CodeableConcept value) { + this.revenue = value; + return this; + } + + /** + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -3869,13 +4642,37 @@ public class ClaimResponse extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public AddedItemSubDetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemSubDetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public AddedItemSubDetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -4044,6 +4841,30 @@ public class ClaimResponse extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemSubDetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public AddedItemSubDetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -4129,6 +4950,30 @@ public class ClaimResponse extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemSubDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public AddedItemSubDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -4184,26 +5029,34 @@ public class ClaimResponse extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4213,13 +5066,17 @@ public class ClaimResponse extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent default: return super.getProperty(hash, name, checkValid); } @@ -4229,9 +5086,15 @@ public class ClaimResponse extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { + case 1099842588: // revenue + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -4244,12 +5107,18 @@ public class ClaimResponse extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -4260,8 +5129,12 @@ public class ClaimResponse extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("quantity")) { @@ -4270,10 +5143,14 @@ public class ClaimResponse extends DomainResource { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else @@ -4284,13 +5161,17 @@ public class ClaimResponse extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: return getRevenue(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); default: return super.makeProperty(hash, name); } @@ -4300,13 +5181,17 @@ public class ClaimResponse extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ClaimResponse.item.adjudication"}; default: return super.getTypesForProperty(hash, name); } @@ -4315,10 +5200,18 @@ public class ClaimResponse extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = new CodeableConcept(); + return this.revenue; + } + else if (name.equals("productOrService")) { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } @@ -4333,6 +5226,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.addItem.detail.subDetail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -4340,6 +5237,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.addItem.detail.subDetail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -4355,7 +5256,9 @@ public class ClaimResponse extends DomainResource { public void copyValues(AddedItemSubDetailComponent dst) { super.copyValues(dst); + dst.revenue = revenue == null ? null : revenue.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -4364,12 +5267,14 @@ public class ClaimResponse extends DomainResource { dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (noteNumber != null) { dst.noteNumber = new ArrayList(); for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -4384,10 +5289,11 @@ public class ClaimResponse extends DomainResource { if (!(other_ instanceof AddedItemSubDetailComponent)) return false; AddedItemSubDetailComponent o = (AddedItemSubDetailComponent) other_; - return compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) + return compareDeep(revenue, o.revenue, true) && compareDeep(productOrService, o.productOrService, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) - && compareDeep(net, o.net, true) && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) - ; + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(noteNumber, o.noteNumber, true) + && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true); } @Override @@ -4401,8 +5307,9 @@ public class ClaimResponse extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(productOrService, modifier - , quantity, unitPrice, factor, net, noteNumber, adjudication); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(revenue, productOrService + , productOrServiceEnd, modifier, quantity, unitPrice, factor, tax, net, noteNumber + , decision, adjudication); } public String fhirType() { @@ -6233,10 +7140,10 @@ public class ClaimResponse extends DomainResource { protected CodeableConcept subType; /** - * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ @Child(name = "use", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="claim | preauthorization | predetermination", formalDefinition="A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future." ) + @Description(shortDefinition="claim | preauthorization | predetermination", formalDefinition="A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-use") protected Enumeration use; @@ -6257,7 +7164,7 @@ public class ClaimResponse extends DomainResource { /** * The party responsible for authorization, adjudication and reimbursement. */ - @Child(name = "insurer", type = {Organization.class}, order=7, min=1, max=1, modifier=false, summary=true) + @Child(name = "insurer", type = {Organization.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Party responsible for reimbursement", formalDefinition="The party responsible for authorization, adjudication and reimbursement." ) protected Reference insurer; @@ -6283,74 +7190,97 @@ public class ClaimResponse extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-outcome") protected Enumeration outcome; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * A human readable description of the status of the adjudication. */ - @Child(name = "disposition", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "disposition", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Disposition Message", formalDefinition="A human readable description of the status of the adjudication." ) protected StringType disposition; /** * Reference from the Insurer which is used in later communications which refers to this adjudication. */ - @Child(name = "preAuthRef", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "preAuthRef", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Preauthorization reference", formalDefinition="Reference from the Insurer which is used in later communications which refers to this adjudication." ) protected StringType preAuthRef; /** * The time frame during which this authorization is effective. */ - @Child(name = "preAuthPeriod", type = {Period.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "preAuthPeriod", type = {Period.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Preauthorization reference effective period", formalDefinition="The time frame during which this authorization is effective." ) protected Period preAuthPeriod; /** * Type of Party to be reimbursed: subscriber, provider, other. */ - @Child(name = "payeeType", type = {CodeableConcept.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "payeeType", type = {CodeableConcept.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Party to be paid any benefits payable", formalDefinition="Type of Party to be reimbursed: subscriber, provider, other." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payeetype") protected CodeableConcept payeeType; + /** + * The Encounters during which this Claim was created or to which the creation of this record is tightly associated. + */ + @Child(name = "encounter", type = {Encounter.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Encounters related to this billed item", formalDefinition="The Encounters during which this Claim was created or to which the creation of this record is tightly associated." ) + protected List encounter; + + /** + * A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system. + */ + @Child(name = "diagnosisRelatedGroup", type = {CodeableConcept.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Package billing code", formalDefinition="A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup") + protected CodeableConcept diagnosisRelatedGroup; + /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. */ - @Child(name = "item", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "item", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Adjudication for claim line items", formalDefinition="A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details." ) protected List item; /** * The first-tier service adjudications for payor added product or service lines. */ - @Child(name = "addItem", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "addItem", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Insurer added line items", formalDefinition="The first-tier service adjudications for payor added product or service lines." ) protected List addItem; /** * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Header-level adjudication", formalDefinition="The adjudication results which are presented at the header level rather than at the line-item or add-item levels." ) protected List adjudication; /** * Categorized monetary totals for the adjudication. */ - @Child(name = "total", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "total", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Adjudication totals", formalDefinition="Categorized monetary totals for the adjudication." ) protected List total; /** * Payment details for the adjudication of the claim. */ - @Child(name = "payment", type = {}, order=19, min=0, max=1, modifier=false, summary=false) + @Child(name = "payment", type = {}, order=22, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Payment Details", formalDefinition="Payment details for the adjudication of the claim." ) protected PaymentComponent payment; /** * A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom. */ - @Child(name = "fundsReserve", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Child(name = "fundsReserve", type = {CodeableConcept.class}, order=23, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Funds reserved status", formalDefinition="A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fundsreserve") protected CodeableConcept fundsReserve; @@ -6358,7 +7288,7 @@ public class ClaimResponse extends DomainResource { /** * A code for the form to be used for printing the content. */ - @Child(name = "formCode", type = {CodeableConcept.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Child(name = "formCode", type = {CodeableConcept.class}, order=24, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Printed form identifier", formalDefinition="A code for the form to be used for printing the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/forms") protected CodeableConcept formCode; @@ -6366,39 +7296,39 @@ public class ClaimResponse extends DomainResource { /** * The actual form, by reference or inclusion, for printing the content or an EOB. */ - @Child(name = "form", type = {Attachment.class}, order=22, min=0, max=1, modifier=false, summary=false) + @Child(name = "form", type = {Attachment.class}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Printed reference or actual form", formalDefinition="The actual form, by reference or inclusion, for printing the content or an EOB." ) protected Attachment form; /** * A note that describes or explains adjudication results in a human readable form. */ - @Child(name = "processNote", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "processNote", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Note concerning adjudication", formalDefinition="A note that describes or explains adjudication results in a human readable form." ) protected List processNote; /** * Request for additional supporting or authorizing information. */ - @Child(name = "communicationRequest", type = {CommunicationRequest.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "communicationRequest", type = {CommunicationRequest.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Request for additional information", formalDefinition="Request for additional supporting or authorizing information." ) protected List communicationRequest; /** * Financial instruments for reimbursement for the health care products and services specified on the claim. */ - @Child(name = "insurance", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "insurance", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services specified on the claim." ) protected List insurance; /** * Errors encountered during the processing of the adjudication. */ - @Child(name = "error", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "error", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Processing errors", formalDefinition="Errors encountered during the processing of the adjudication." ) protected List error; - private static final long serialVersionUID = -868588335L; + private static final long serialVersionUID = -1308435182L; /** * Constructor @@ -6410,14 +7340,13 @@ public class ClaimResponse extends DomainResource { /** * Constructor */ - public ClaimResponse(FinancialResourceStatusCodes status, CodeableConcept type, Use use, Reference patient, Date created, Reference insurer, ClaimProcessingCodes outcome) { + public ClaimResponse(FinancialResourceStatusCodes status, CodeableConcept type, Use use, Reference patient, Date created, ClaimProcessingCodes outcome) { super(); this.setStatus(status); this.setType(type); this.setUse(use); this.setPatient(patient); this.setCreated(created); - this.setInsurer(insurer); this.setOutcome(outcome); } @@ -6568,7 +7497,7 @@ public class ClaimResponse extends DomainResource { } /** - * @return {@link #use} (A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value + * @return {@link #use} (A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value */ public Enumeration getUseElement() { if (this.use == null) @@ -6588,7 +7517,7 @@ public class ClaimResponse extends DomainResource { } /** - * @param value {@link #use} (A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value + * @param value {@link #use} (A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value */ public ClaimResponse setUseElement(Enumeration value) { this.use = value; @@ -6596,14 +7525,14 @@ public class ClaimResponse extends DomainResource { } /** - * @return A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * @return A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ public Use getUse() { return this.use == null ? null : this.use.getValue(); } /** - * @param value A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * @param value A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ public ClaimResponse setUse(Use value) { if (this.use == null) @@ -6798,6 +7727,30 @@ public class ClaimResponse extends DomainResource { return this; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ClaimResponse.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public ClaimResponse setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #disposition} (A human readable description of the status of the adjudication.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value */ @@ -6944,6 +7897,83 @@ public class ClaimResponse extends DomainResource { return this; } + /** + * @return {@link #encounter} (The Encounters during which this Claim was created or to which the creation of this record is tightly associated.) + */ + public List getEncounter() { + if (this.encounter == null) + this.encounter = new ArrayList(); + return this.encounter; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ClaimResponse setEncounter(List theEncounter) { + this.encounter = theEncounter; + return this; + } + + public boolean hasEncounter() { + if (this.encounter == null) + return false; + for (Reference item : this.encounter) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addEncounter() { //3 + Reference t = new Reference(); + if (this.encounter == null) + this.encounter = new ArrayList(); + this.encounter.add(t); + return t; + } + + public ClaimResponse addEncounter(Reference t) { //3 + if (t == null) + return this; + if (this.encounter == null) + this.encounter = new ArrayList(); + this.encounter.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #encounter}, creating it if it does not already exist {3} + */ + public Reference getEncounterFirstRep() { + if (getEncounter().isEmpty()) { + addEncounter(); + } + return getEncounter().get(0); + } + + /** + * @return {@link #diagnosisRelatedGroup} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) + */ + public CodeableConcept getDiagnosisRelatedGroup() { + if (this.diagnosisRelatedGroup == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ClaimResponse.diagnosisRelatedGroup"); + else if (Configuration.doAutoCreate()) + this.diagnosisRelatedGroup = new CodeableConcept(); // cc + return this.diagnosisRelatedGroup; + } + + public boolean hasDiagnosisRelatedGroup() { + return this.diagnosisRelatedGroup != null && !this.diagnosisRelatedGroup.isEmpty(); + } + + /** + * @param value {@link #diagnosisRelatedGroup} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) + */ + public ClaimResponse setDiagnosisRelatedGroup(CodeableConcept value) { + this.diagnosisRelatedGroup = value; + return this; + } + /** * @return {@link #item} (A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.) */ @@ -7470,17 +8500,20 @@ public class ClaimResponse extends DomainResource { children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); children.add(new Property("type", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, type)); children.add(new Property("subType", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, subType)); - children.add(new Property("use", "code", "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.", 0, 1, use)); + children.add(new Property("use", "code", "A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.", 0, 1, use)); children.add(new Property("patient", "Reference(Patient)", "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for facast reimbursement is sought.", 0, 1, patient)); children.add(new Property("created", "dateTime", "The date this resource was created.", 0, 1, created)); children.add(new Property("insurer", "Reference(Organization)", "The party responsible for authorization, adjudication and reimbursement.", 0, 1, insurer)); children.add(new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the claim, predetermination or preauthorization.", 0, 1, requestor)); children.add(new Property("request", "Reference(Claim)", "Original request resource reference.", 0, 1, request)); children.add(new Property("outcome", "code", "The outcome of the claim, predetermination, or preauthorization processing.", 0, 1, outcome)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("disposition", "string", "A human readable description of the status of the adjudication.", 0, 1, disposition)); children.add(new Property("preAuthRef", "string", "Reference from the Insurer which is used in later communications which refers to this adjudication.", 0, 1, preAuthRef)); children.add(new Property("preAuthPeriod", "Period", "The time frame during which this authorization is effective.", 0, 1, preAuthPeriod)); children.add(new Property("payeeType", "CodeableConcept", "Type of Party to be reimbursed: subscriber, provider, other.", 0, 1, payeeType)); + children.add(new Property("encounter", "Reference(Encounter)", "The Encounters during which this Claim was created or to which the creation of this record is tightly associated.", 0, java.lang.Integer.MAX_VALUE, encounter)); + children.add(new Property("diagnosisRelatedGroup", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, diagnosisRelatedGroup)); children.add(new Property("item", "", "A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.", 0, java.lang.Integer.MAX_VALUE, item)); children.add(new Property("addItem", "", "The first-tier service adjudications for payor added product or service lines.", 0, java.lang.Integer.MAX_VALUE, addItem)); children.add(new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results which are presented at the header level rather than at the line-item or add-item levels.", 0, java.lang.Integer.MAX_VALUE, adjudication)); @@ -7502,17 +8535,20 @@ public class ClaimResponse extends DomainResource { case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, type); case -1868521062: /*subType*/ return new Property("subType", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, subType); - case 116103: /*use*/ return new Property("use", "code", "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.", 0, 1, use); + case 116103: /*use*/ return new Property("use", "code", "A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.", 0, 1, use); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for facast reimbursement is sought.", 0, 1, patient); case 1028554472: /*created*/ return new Property("created", "dateTime", "The date this resource was created.", 0, 1, created); case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The party responsible for authorization, adjudication and reimbursement.", 0, 1, insurer); case 693934258: /*requestor*/ return new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the claim, predetermination or preauthorization.", 0, 1, requestor); case 1095692943: /*request*/ return new Property("request", "Reference(Claim)", "Original request resource reference.", 0, 1, request); case -1106507950: /*outcome*/ return new Property("outcome", "code", "The outcome of the claim, predetermination, or preauthorization processing.", 0, 1, outcome); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case 583380919: /*disposition*/ return new Property("disposition", "string", "A human readable description of the status of the adjudication.", 0, 1, disposition); case 522246568: /*preAuthRef*/ return new Property("preAuthRef", "string", "Reference from the Insurer which is used in later communications which refers to this adjudication.", 0, 1, preAuthRef); case 1819164812: /*preAuthPeriod*/ return new Property("preAuthPeriod", "Period", "The time frame during which this authorization is effective.", 0, 1, preAuthPeriod); case -316321118: /*payeeType*/ return new Property("payeeType", "CodeableConcept", "Type of Party to be reimbursed: subscriber, provider, other.", 0, 1, payeeType); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounters during which this Claim was created or to which the creation of this record is tightly associated.", 0, java.lang.Integer.MAX_VALUE, encounter); + case -1599182171: /*diagnosisRelatedGroup*/ return new Property("diagnosisRelatedGroup", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, diagnosisRelatedGroup); case 3242771: /*item*/ return new Property("item", "", "A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.", 0, java.lang.Integer.MAX_VALUE, item); case -1148899500: /*addItem*/ return new Property("addItem", "", "The first-tier service adjudications for payor added product or service lines.", 0, java.lang.Integer.MAX_VALUE, addItem); case -231349275: /*adjudication*/ return new Property("adjudication", "@ClaimResponse.item.adjudication", "The adjudication results which are presented at the header level rather than at the line-item or add-item levels.", 0, java.lang.Integer.MAX_VALUE, adjudication); @@ -7544,10 +8580,13 @@ public class ClaimResponse extends DomainResource { case 693934258: /*requestor*/ return this.requestor == null ? new Base[0] : new Base[] {this.requestor}; // Reference case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // Reference case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // Enumeration + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case 583380919: /*disposition*/ return this.disposition == null ? new Base[0] : new Base[] {this.disposition}; // StringType case 522246568: /*preAuthRef*/ return this.preAuthRef == null ? new Base[0] : new Base[] {this.preAuthRef}; // StringType case 1819164812: /*preAuthPeriod*/ return this.preAuthPeriod == null ? new Base[0] : new Base[] {this.preAuthPeriod}; // Period case -316321118: /*payeeType*/ return this.payeeType == null ? new Base[0] : new Base[] {this.payeeType}; // CodeableConcept + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : this.encounter.toArray(new Base[this.encounter.size()]); // Reference + case -1599182171: /*diagnosisRelatedGroup*/ return this.diagnosisRelatedGroup == null ? new Base[0] : new Base[] {this.diagnosisRelatedGroup}; // CodeableConcept case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // ItemComponent case -1148899500: /*addItem*/ return this.addItem == null ? new Base[0] : this.addItem.toArray(new Base[this.addItem.size()]); // AddedItemComponent case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent @@ -7604,6 +8643,9 @@ public class ClaimResponse extends DomainResource { value = new ClaimProcessingCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.outcome = (Enumeration) value; // Enumeration return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 583380919: // disposition this.disposition = TypeConvertor.castToString(value); // StringType return value; @@ -7616,6 +8658,12 @@ public class ClaimResponse extends DomainResource { case -316321118: // payeeType this.payeeType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case 1524132147: // encounter + this.getEncounter().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -1599182171: // diagnosisRelatedGroup + this.diagnosisRelatedGroup = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 3242771: // item this.getItem().add((ItemComponent) value); // ItemComponent return value; @@ -7684,6 +8732,8 @@ public class ClaimResponse extends DomainResource { } else if (name.equals("outcome")) { value = new ClaimProcessingCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.outcome = (Enumeration) value; // Enumeration + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("disposition")) { this.disposition = TypeConvertor.castToString(value); // StringType } else if (name.equals("preAuthRef")) { @@ -7692,6 +8742,10 @@ public class ClaimResponse extends DomainResource { this.preAuthPeriod = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("payeeType")) { this.payeeType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("encounter")) { + this.getEncounter().add(TypeConvertor.castToReference(value)); + } else if (name.equals("diagnosisRelatedGroup")) { + this.diagnosisRelatedGroup = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("item")) { this.getItem().add((ItemComponent) value); } else if (name.equals("addItem")) { @@ -7735,10 +8789,13 @@ public class ClaimResponse extends DomainResource { case 693934258: return getRequestor(); case 1095692943: return getRequest(); case -1106507950: return getOutcomeElement(); + case 565719004: return getDecision(); case 583380919: return getDispositionElement(); case 522246568: return getPreAuthRefElement(); case 1819164812: return getPreAuthPeriod(); case -316321118: return getPayeeType(); + case 1524132147: return addEncounter(); + case -1599182171: return getDiagnosisRelatedGroup(); case 3242771: return addItem(); case -1148899500: return addAddItem(); case -231349275: return addAdjudication(); @@ -7770,10 +8827,13 @@ public class ClaimResponse extends DomainResource { case 693934258: /*requestor*/ return new String[] {"Reference"}; case 1095692943: /*request*/ return new String[] {"Reference"}; case -1106507950: /*outcome*/ return new String[] {"code"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case 583380919: /*disposition*/ return new String[] {"string"}; case 522246568: /*preAuthRef*/ return new String[] {"string"}; case 1819164812: /*preAuthPeriod*/ return new String[] {"Period"}; case -316321118: /*payeeType*/ return new String[] {"CodeableConcept"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -1599182171: /*diagnosisRelatedGroup*/ return new String[] {"CodeableConcept"}; case 3242771: /*item*/ return new String[] {}; case -1148899500: /*addItem*/ return new String[] {}; case -231349275: /*adjudication*/ return new String[] {"@ClaimResponse.item.adjudication"}; @@ -7832,6 +8892,10 @@ public class ClaimResponse extends DomainResource { else if (name.equals("outcome")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.outcome"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("disposition")) { throw new FHIRException("Cannot call addChild on a primitive type ClaimResponse.disposition"); } @@ -7846,6 +8910,13 @@ public class ClaimResponse extends DomainResource { this.payeeType = new CodeableConcept(); return this.payeeType; } + else if (name.equals("encounter")) { + return addEncounter(); + } + else if (name.equals("diagnosisRelatedGroup")) { + this.diagnosisRelatedGroup = new CodeableConcept(); + return this.diagnosisRelatedGroup; + } else if (name.equals("item")) { return addItem(); } @@ -7918,10 +8989,17 @@ public class ClaimResponse extends DomainResource { dst.requestor = requestor == null ? null : requestor.copy(); dst.request = request == null ? null : request.copy(); dst.outcome = outcome == null ? null : outcome.copy(); + dst.decision = decision == null ? null : decision.copy(); dst.disposition = disposition == null ? null : disposition.copy(); dst.preAuthRef = preAuthRef == null ? null : preAuthRef.copy(); dst.preAuthPeriod = preAuthPeriod == null ? null : preAuthPeriod.copy(); dst.payeeType = payeeType == null ? null : payeeType.copy(); + if (encounter != null) { + dst.encounter = new ArrayList(); + for (Reference i : encounter) + dst.encounter.add(i.copy()); + }; + dst.diagnosisRelatedGroup = diagnosisRelatedGroup == null ? null : diagnosisRelatedGroup.copy(); if (item != null) { dst.item = new ArrayList(); for (ItemComponent i : item) @@ -7982,13 +9060,15 @@ public class ClaimResponse extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) && compareDeep(subType, o.subType, true) && compareDeep(use, o.use, true) && compareDeep(patient, o.patient, true) && compareDeep(created, o.created, true) && compareDeep(insurer, o.insurer, true) && compareDeep(requestor, o.requestor, true) - && compareDeep(request, o.request, true) && compareDeep(outcome, o.outcome, true) && compareDeep(disposition, o.disposition, true) - && compareDeep(preAuthRef, o.preAuthRef, true) && compareDeep(preAuthPeriod, o.preAuthPeriod, true) - && compareDeep(payeeType, o.payeeType, true) && compareDeep(item, o.item, true) && compareDeep(addItem, o.addItem, true) - && compareDeep(adjudication, o.adjudication, true) && compareDeep(total, o.total, true) && compareDeep(payment, o.payment, true) - && compareDeep(fundsReserve, o.fundsReserve, true) && compareDeep(formCode, o.formCode, true) && compareDeep(form, o.form, true) - && compareDeep(processNote, o.processNote, true) && compareDeep(communicationRequest, o.communicationRequest, true) - && compareDeep(insurance, o.insurance, true) && compareDeep(error, o.error, true); + && compareDeep(request, o.request, true) && compareDeep(outcome, o.outcome, true) && compareDeep(decision, o.decision, true) + && compareDeep(disposition, o.disposition, true) && compareDeep(preAuthRef, o.preAuthRef, true) + && compareDeep(preAuthPeriod, o.preAuthPeriod, true) && compareDeep(payeeType, o.payeeType, true) + && compareDeep(encounter, o.encounter, true) && compareDeep(diagnosisRelatedGroup, o.diagnosisRelatedGroup, true) + && compareDeep(item, o.item, true) && compareDeep(addItem, o.addItem, true) && compareDeep(adjudication, o.adjudication, true) + && compareDeep(total, o.total, true) && compareDeep(payment, o.payment, true) && compareDeep(fundsReserve, o.fundsReserve, true) + && compareDeep(formCode, o.formCode, true) && compareDeep(form, o.form, true) && compareDeep(processNote, o.processNote, true) + && compareDeep(communicationRequest, o.communicationRequest, true) && compareDeep(insurance, o.insurance, true) + && compareDeep(error, o.error, true); } @Override @@ -8005,10 +9085,10 @@ public class ClaimResponse extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type - , subType, use, patient, created, insurer, requestor, request, outcome, disposition - , preAuthRef, preAuthPeriod, payeeType, item, addItem, adjudication, total, payment - , fundsReserve, formCode, form, processNote, communicationRequest, insurance, error - ); + , subType, use, patient, created, insurer, requestor, request, outcome, decision + , disposition, preAuthRef, preAuthPeriod, payeeType, encounter, diagnosisRelatedGroup + , item, addItem, adjudication, total, payment, fundsReserve, formCode, form + , processNote, communicationRequest, insurance, error); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalImpression.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalImpression.java index be93ac5a5..ed4d5ede9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalImpression.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalImpression.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -358,31 +358,39 @@ public class ClinicalImpression extends DomainResource { @Description(shortDefinition="Relevant impressions of patient state", formalDefinition="A list of the relevant problems/conditions for a patient." ) protected List problem; + /** + * Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change. It is a subjective assessment of the direction of the change. + */ + @Child(name = "changePattern", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change", formalDefinition="Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change. It is a subjective assessment of the direction of the change." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinicalimpression-change-pattern") + protected CodeableConcept changePattern; + /** * Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis. */ - @Child(name = "protocol", type = {UriType.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "protocol", type = {UriType.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Clinical Protocol followed", formalDefinition="Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis." ) protected List protocol; /** * A text summary of the investigations and the diagnosis. */ - @Child(name = "summary", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "summary", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Summary of the assessment", formalDefinition="A text summary of the investigations and the diagnosis." ) protected StringType summary; /** * Specific findings or diagnoses that were considered likely or relevant to ongoing treatment. */ - @Child(name = "finding", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "finding", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Possible or likely findings and diagnoses", formalDefinition="Specific findings or diagnoses that were considered likely or relevant to ongoing treatment." ) protected List finding; /** * Estimate of likely outcome. */ - @Child(name = "prognosisCodeableConcept", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "prognosisCodeableConcept", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Estimate of likely outcome", formalDefinition="Estimate of likely outcome." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinicalimpression-prognosis") protected List prognosisCodeableConcept; @@ -390,25 +398,25 @@ public class ClinicalImpression extends DomainResource { /** * RiskAssessment expressing likely outcome. */ - @Child(name = "prognosisReference", type = {RiskAssessment.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "prognosisReference", type = {RiskAssessment.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="RiskAssessment expressing likely outcome", formalDefinition="RiskAssessment expressing likely outcome." ) protected List prognosisReference; /** * Information supporting the clinical impression, which can contain investigation results. */ - @Child(name = "supportingInfo", type = {Reference.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInfo", type = {Reference.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information supporting the clinical impression", formalDefinition="Information supporting the clinical impression, which can contain investigation results." ) protected List supportingInfo; /** * Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear. */ - @Child(name = "note", type = {Annotation.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Comments made about the ClinicalImpression", formalDefinition="Commentary about the impression, typically recorded after the impression itself was made, though supplemental notes by the original author could also appear." ) protected List note; - private static final long serialVersionUID = 2042987378L; + private static final long serialVersionUID = -1360437701L; /** * Constructor @@ -846,6 +854,30 @@ public class ClinicalImpression extends DomainResource { return getProblem().get(0); } + /** + * @return {@link #changePattern} (Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change. It is a subjective assessment of the direction of the change.) + */ + public CodeableConcept getChangePattern() { + if (this.changePattern == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ClinicalImpression.changePattern"); + else if (Configuration.doAutoCreate()) + this.changePattern = new CodeableConcept(); // cc + return this.changePattern; + } + + public boolean hasChangePattern() { + return this.changePattern != null && !this.changePattern.isEmpty(); + } + + /** + * @param value {@link #changePattern} (Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change. It is a subjective assessment of the direction of the change.) + */ + public ClinicalImpression setChangePattern(CodeableConcept value) { + this.changePattern = value; + return this; + } + /** * @return {@link #protocol} (Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.) */ @@ -1234,6 +1266,7 @@ public class ClinicalImpression extends DomainResource { children.add(new Property("performer", "Reference(Practitioner|PractitionerRole)", "The clinician performing the assessment.", 0, 1, performer)); children.add(new Property("previous", "Reference(ClinicalImpression)", "A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.", 0, 1, previous)); children.add(new Property("problem", "Reference(Condition|AllergyIntolerance)", "A list of the relevant problems/conditions for a patient.", 0, java.lang.Integer.MAX_VALUE, problem)); + children.add(new Property("changePattern", "CodeableConcept", "Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change. It is a subjective assessment of the direction of the change.", 0, 1, changePattern)); children.add(new Property("protocol", "uri", "Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.", 0, java.lang.Integer.MAX_VALUE, protocol)); children.add(new Property("summary", "string", "A text summary of the investigations and the diagnosis.", 0, 1, summary)); children.add(new Property("finding", "", "Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.", 0, java.lang.Integer.MAX_VALUE, finding)); @@ -1260,6 +1293,7 @@ public class ClinicalImpression extends DomainResource { case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole)", "The clinician performing the assessment.", 0, 1, performer); case -1273775369: /*previous*/ return new Property("previous", "Reference(ClinicalImpression)", "A reference to the last assessment that was conducted on this patient. Assessments are often/usually ongoing in nature; a care provider (practitioner or team) will make new assessments on an ongoing basis as new data arises or the patient's conditions changes.", 0, 1, previous); case -309542241: /*problem*/ return new Property("problem", "Reference(Condition|AllergyIntolerance)", "A list of the relevant problems/conditions for a patient.", 0, java.lang.Integer.MAX_VALUE, problem); + case -1770133056: /*changePattern*/ return new Property("changePattern", "CodeableConcept", "Change in the status/pattern of a subject's condition since previously assessed, such as worsening, improving, or no change. It is a subjective assessment of the direction of the change.", 0, 1, changePattern); case -989163880: /*protocol*/ return new Property("protocol", "uri", "Reference to a specific published clinical protocol that was followed during this assessment, and/or that provides evidence in support of the diagnosis.", 0, java.lang.Integer.MAX_VALUE, protocol); case -1857640538: /*summary*/ return new Property("summary", "string", "A text summary of the investigations and the diagnosis.", 0, 1, summary); case -853173367: /*finding*/ return new Property("finding", "", "Specific findings or diagnoses that were considered likely or relevant to ongoing treatment.", 0, java.lang.Integer.MAX_VALUE, finding); @@ -1286,6 +1320,7 @@ public class ClinicalImpression extends DomainResource { case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference case -1273775369: /*previous*/ return this.previous == null ? new Base[0] : new Base[] {this.previous}; // Reference case -309542241: /*problem*/ return this.problem == null ? new Base[0] : this.problem.toArray(new Base[this.problem.size()]); // Reference + case -1770133056: /*changePattern*/ return this.changePattern == null ? new Base[0] : new Base[] {this.changePattern}; // CodeableConcept case -989163880: /*protocol*/ return this.protocol == null ? new Base[0] : this.protocol.toArray(new Base[this.protocol.size()]); // UriType case -1857640538: /*summary*/ return this.summary == null ? new Base[0] : new Base[] {this.summary}; // StringType case -853173367: /*finding*/ return this.finding == null ? new Base[0] : this.finding.toArray(new Base[this.finding.size()]); // ClinicalImpressionFindingComponent @@ -1335,6 +1370,9 @@ public class ClinicalImpression extends DomainResource { case -309542241: // problem this.getProblem().add(TypeConvertor.castToReference(value)); // Reference return value; + case -1770133056: // changePattern + this.changePattern = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -989163880: // protocol this.getProtocol().add(TypeConvertor.castToUri(value)); // UriType return value; @@ -1386,6 +1424,8 @@ public class ClinicalImpression extends DomainResource { this.previous = TypeConvertor.castToReference(value); // Reference } else if (name.equals("problem")) { this.getProblem().add(TypeConvertor.castToReference(value)); + } else if (name.equals("changePattern")) { + this.changePattern = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("protocol")) { this.getProtocol().add(TypeConvertor.castToUri(value)); } else if (name.equals("summary")) { @@ -1420,6 +1460,7 @@ public class ClinicalImpression extends DomainResource { case 481140686: return getPerformer(); case -1273775369: return getPrevious(); case -309542241: return addProblem(); + case -1770133056: return getChangePattern(); case -989163880: return addProtocolElement(); case -1857640538: return getSummaryElement(); case -853173367: return addFinding(); @@ -1446,6 +1487,7 @@ public class ClinicalImpression extends DomainResource { case 481140686: /*performer*/ return new String[] {"Reference"}; case -1273775369: /*previous*/ return new String[] {"Reference"}; case -309542241: /*problem*/ return new String[] {"Reference"}; + case -1770133056: /*changePattern*/ return new String[] {"CodeableConcept"}; case -989163880: /*protocol*/ return new String[] {"uri"}; case -1857640538: /*summary*/ return new String[] {"string"}; case -853173367: /*finding*/ return new String[] {}; @@ -1503,6 +1545,10 @@ public class ClinicalImpression extends DomainResource { else if (name.equals("problem")) { return addProblem(); } + else if (name.equals("changePattern")) { + this.changePattern = new CodeableConcept(); + return this.changePattern; + } else if (name.equals("protocol")) { throw new FHIRException("Cannot call addChild on a primitive type ClinicalImpression.protocol"); } @@ -1560,6 +1606,7 @@ public class ClinicalImpression extends DomainResource { for (Reference i : problem) dst.problem.add(i.copy()); }; + dst.changePattern = changePattern == null ? null : changePattern.copy(); if (protocol != null) { dst.protocol = new ArrayList(); for (UriType i : protocol) @@ -1607,10 +1654,10 @@ public class ClinicalImpression extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(description, o.description, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(effective, o.effective, true) && compareDeep(date, o.date, true) && compareDeep(performer, o.performer, true) - && compareDeep(previous, o.previous, true) && compareDeep(problem, o.problem, true) && compareDeep(protocol, o.protocol, true) - && compareDeep(summary, o.summary, true) && compareDeep(finding, o.finding, true) && compareDeep(prognosisCodeableConcept, o.prognosisCodeableConcept, true) - && compareDeep(prognosisReference, o.prognosisReference, true) && compareDeep(supportingInfo, o.supportingInfo, true) - && compareDeep(note, o.note, true); + && compareDeep(previous, o.previous, true) && compareDeep(problem, o.problem, true) && compareDeep(changePattern, o.changePattern, true) + && compareDeep(protocol, o.protocol, true) && compareDeep(summary, o.summary, true) && compareDeep(finding, o.finding, true) + && compareDeep(prognosisCodeableConcept, o.prognosisCodeableConcept, true) && compareDeep(prognosisReference, o.prognosisReference, true) + && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(note, o.note, true); } @Override @@ -1627,8 +1674,8 @@ public class ClinicalImpression extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, statusReason , description, subject, encounter, effective, date, performer, previous, problem - , protocol, summary, finding, prognosisCodeableConcept, prognosisReference, supportingInfo - , note); + , changePattern, protocol, summary, finding, prognosisCodeableConcept, prognosisReference + , supportingInfo, note); } @Override @@ -1860,7 +1907,7 @@ public class ClinicalImpression extends DomainResource { * Path: ClinicalImpression.supportingInfo
*

*/ - @SearchParamDefinition(name="supporting-info", path="ClinicalImpression.supportingInfo", description="Information supporting the clinical impression", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="supporting-info", path="ClinicalImpression.supportingInfo", description="Information supporting the clinical impression", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUPPORTING_INFO = "supporting-info"; /** * Fluent Client search parameter constant for supporting-info @@ -1966,7 +2013,7 @@ public class ClinicalImpression extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1975,10 +2022,10 @@ public class ClinicalImpression extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2010,7 +2057,7 @@ public class ClinicalImpression extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2019,7 +2066,7 @@ public class ClinicalImpression extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalUseDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalUseDefinition.java index c7ddc75a9..a2d8736f2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalUseDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ClinicalUseDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -651,12 +651,12 @@ public class ClinicalUseDefinition extends DomainResource { /** * Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication. */ - @Child(name = "therapy", type = {CodeableReference.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "treatment", type = {CodeableReference.class}, order=2, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Reference to a specific medication as part of an indication or contraindication", formalDefinition="Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/therapy") - protected CodeableReference therapy; + protected CodeableReference treatment; - private static final long serialVersionUID = -363440718L; + private static final long serialVersionUID = -1638121853L; /** * Constructor @@ -668,10 +668,10 @@ public class ClinicalUseDefinition extends DomainResource { /** * Constructor */ - public ClinicalUseDefinitionContraindicationOtherTherapyComponent(CodeableConcept relationshipType, CodeableReference therapy) { + public ClinicalUseDefinitionContraindicationOtherTherapyComponent(CodeableConcept relationshipType, CodeableReference treatment) { super(); this.setRelationshipType(relationshipType); - this.setTherapy(therapy); + this.setTreatment(treatment); } /** @@ -699,40 +699,40 @@ public class ClinicalUseDefinition extends DomainResource { } /** - * @return {@link #therapy} (Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.) + * @return {@link #treatment} (Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.) */ - public CodeableReference getTherapy() { - if (this.therapy == null) + public CodeableReference getTreatment() { + if (this.treatment == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ClinicalUseDefinitionContraindicationOtherTherapyComponent.therapy"); + throw new Error("Attempt to auto-create ClinicalUseDefinitionContraindicationOtherTherapyComponent.treatment"); else if (Configuration.doAutoCreate()) - this.therapy = new CodeableReference(); // cc - return this.therapy; + this.treatment = new CodeableReference(); // cc + return this.treatment; } - public boolean hasTherapy() { - return this.therapy != null && !this.therapy.isEmpty(); + public boolean hasTreatment() { + return this.treatment != null && !this.treatment.isEmpty(); } /** - * @param value {@link #therapy} (Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.) + * @param value {@link #treatment} (Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.) */ - public ClinicalUseDefinitionContraindicationOtherTherapyComponent setTherapy(CodeableReference value) { - this.therapy = value; + public ClinicalUseDefinitionContraindicationOtherTherapyComponent setTreatment(CodeableReference value) { + this.treatment = value; return this; } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("relationshipType", "CodeableConcept", "The type of relationship between the medicinal product indication or contraindication and another therapy.", 0, 1, relationshipType)); - children.add(new Property("therapy", "CodeableReference(MedicinalProductDefinition|Medication|Substance|SubstanceDefinition|ActivityDefinition)", "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.", 0, 1, therapy)); + children.add(new Property("treatment", "CodeableReference(MedicinalProductDefinition|Medication|Substance|SubstanceDefinition|ActivityDefinition)", "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.", 0, 1, treatment)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1602839150: /*relationshipType*/ return new Property("relationshipType", "CodeableConcept", "The type of relationship between the medicinal product indication or contraindication and another therapy.", 0, 1, relationshipType); - case -1349555095: /*therapy*/ return new Property("therapy", "CodeableReference(MedicinalProductDefinition|Medication|Substance|SubstanceDefinition|ActivityDefinition)", "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.", 0, 1, therapy); + case -63342472: /*treatment*/ return new Property("treatment", "CodeableReference(MedicinalProductDefinition|Medication|Substance|SubstanceDefinition|ActivityDefinition)", "Reference to a specific medication (active substance, medicinal product or class of products) as part of an indication or contraindication.", 0, 1, treatment); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -742,7 +742,7 @@ public class ClinicalUseDefinition extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1602839150: /*relationshipType*/ return this.relationshipType == null ? new Base[0] : new Base[] {this.relationshipType}; // CodeableConcept - case -1349555095: /*therapy*/ return this.therapy == null ? new Base[0] : new Base[] {this.therapy}; // CodeableReference + case -63342472: /*treatment*/ return this.treatment == null ? new Base[0] : new Base[] {this.treatment}; // CodeableReference default: return super.getProperty(hash, name, checkValid); } @@ -754,8 +754,8 @@ public class ClinicalUseDefinition extends DomainResource { case -1602839150: // relationshipType this.relationshipType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -1349555095: // therapy - this.therapy = TypeConvertor.castToCodeableReference(value); // CodeableReference + case -63342472: // treatment + this.treatment = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; default: return super.setProperty(hash, name, value); } @@ -766,8 +766,8 @@ public class ClinicalUseDefinition extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("relationshipType")) { this.relationshipType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("therapy")) { - this.therapy = TypeConvertor.castToCodeableReference(value); // CodeableReference + } else if (name.equals("treatment")) { + this.treatment = TypeConvertor.castToCodeableReference(value); // CodeableReference } else return super.setProperty(name, value); return value; @@ -777,7 +777,7 @@ public class ClinicalUseDefinition extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1602839150: return getRelationshipType(); - case -1349555095: return getTherapy(); + case -63342472: return getTreatment(); default: return super.makeProperty(hash, name); } @@ -787,7 +787,7 @@ public class ClinicalUseDefinition extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1602839150: /*relationshipType*/ return new String[] {"CodeableConcept"}; - case -1349555095: /*therapy*/ return new String[] {"CodeableReference"}; + case -63342472: /*treatment*/ return new String[] {"CodeableReference"}; default: return super.getTypesForProperty(hash, name); } @@ -799,9 +799,9 @@ public class ClinicalUseDefinition extends DomainResource { this.relationshipType = new CodeableConcept(); return this.relationshipType; } - else if (name.equals("therapy")) { - this.therapy = new CodeableReference(); - return this.therapy; + else if (name.equals("treatment")) { + this.treatment = new CodeableReference(); + return this.treatment; } else return super.addChild(name); @@ -816,7 +816,7 @@ public class ClinicalUseDefinition extends DomainResource { public void copyValues(ClinicalUseDefinitionContraindicationOtherTherapyComponent dst) { super.copyValues(dst); dst.relationshipType = relationshipType == null ? null : relationshipType.copy(); - dst.therapy = therapy == null ? null : therapy.copy(); + dst.treatment = treatment == null ? null : treatment.copy(); } @Override @@ -826,7 +826,7 @@ public class ClinicalUseDefinition extends DomainResource { if (!(other_ instanceof ClinicalUseDefinitionContraindicationOtherTherapyComponent)) return false; ClinicalUseDefinitionContraindicationOtherTherapyComponent o = (ClinicalUseDefinitionContraindicationOtherTherapyComponent) other_; - return compareDeep(relationshipType, o.relationshipType, true) && compareDeep(therapy, o.therapy, true) + return compareDeep(relationshipType, o.relationshipType, true) && compareDeep(treatment, o.treatment, true) ; } @@ -841,7 +841,7 @@ public class ClinicalUseDefinition extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(relationshipType, therapy + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(relationshipType, treatment ); } @@ -3499,6 +3499,26 @@ public class ClinicalUseDefinition extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_PRODUCT = new ca.uhn.fhir.model.api.Include("ClinicalUseDefinition:product").toLocked(); + /** + * Search parameter: status + *

+ * Description: Whether this is a current issue or one that has been retired etc
+ * Type: token
+ * Path: ClinicalUseDefinition.status
+ *

+ */ + @SearchParamDefinition(name="status", path="ClinicalUseDefinition.status", description="Whether this is a current issue or one that has been retired etc", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: Whether this is a current issue or one that has been retired etc
+ * Type: token
+ * Path: ClinicalUseDefinition.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + /** * Search parameter: subject *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeSystem.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeSystem.java index 8f9c9c22a..23a64b6fd 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeSystem.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeSystem.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -51,7 +51,7 @@ import ca.uhn.fhir.model.api.annotation.Block; * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. */ @ResourceDef(name="CodeSystem", profile="http://hl7.org/fhir/StructureDefinition/CodeSystem") -public class CodeSystem extends CanonicalResource { +public class CodeSystem extends MetadataResource { public enum CodeSystemContentMode { /** @@ -203,7 +203,7 @@ public class CodeSystem extends CanonicalResource { */ GROUPEDBY, /** - * A hierarchy where the child concepts have an IS-A relationship with the parents - that is, all the properties of the parent are also true for its child concepts. Not that is-a is a property of the concepts, so additional subsumption relationships may be defined using properties or the [subsumes](extension-codesystem-subsumes.html) extension. + * A hierarchy where the child concepts have an IS-A relationship with the parents - that is, all the properties of the parent are also true for its child concepts. Not that is-a is a property of the concepts, so additional subsumption relationships may be defined using properties. */ ISA, /** @@ -257,7 +257,7 @@ public class CodeSystem extends CanonicalResource { public String getDefinition() { switch (this) { case GROUPEDBY: return "No particular relationship between the concepts can be assumed, except what can be determined by inspection of the definitions of the elements (possible reasons to use this: importing from a source where this is not defined, or where various parts of the hierarchy have different meanings)."; - case ISA: return "A hierarchy where the child concepts have an IS-A relationship with the parents - that is, all the properties of the parent are also true for its child concepts. Not that is-a is a property of the concepts, so additional subsumption relationships may be defined using properties or the [subsumes](extension-codesystem-subsumes.html) extension."; + case ISA: return "A hierarchy where the child concepts have an IS-A relationship with the parents - that is, all the properties of the parent are also true for its child concepts. Not that is-a is a property of the concepts, so additional subsumption relationships may be defined using properties."; case PARTOF: return "Child elements list the individual parts of a composite whole (e.g. body site)."; case CLASSIFIEDWITH: return "Child concepts in the hierarchy may have only one parent, and there is a presumption that the code system is a \"closed world\" meaning all things must be in the hierarchy. This results in concepts such as \"not otherwise classified.\"."; case NULL: return null; @@ -1895,14 +1895,22 @@ public class CodeSystem extends CanonicalResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") protected Coding use; + /** + * Additional codes that detail how this designation would be used, if there is more than one use. + */ + @Child(name = "additionalUse", type = {Coding.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional ways how this designation would be used", formalDefinition="Additional codes that detail how this designation would be used, if there is more than one use." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") + protected List additionalUse; + /** * The text value for this designation. */ - @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Child(name = "value", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="The text value for this designation", formalDefinition="The text value for this designation." ) protected StringType value; - private static final long serialVersionUID = 1515662414L; + private static final long serialVersionUID = -141147882L; /** * Constructor @@ -1992,6 +2000,59 @@ public class CodeSystem extends CanonicalResource { return this; } + /** + * @return {@link #additionalUse} (Additional codes that detail how this designation would be used, if there is more than one use.) + */ + public List getAdditionalUse() { + if (this.additionalUse == null) + this.additionalUse = new ArrayList(); + return this.additionalUse; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptDefinitionDesignationComponent setAdditionalUse(List theAdditionalUse) { + this.additionalUse = theAdditionalUse; + return this; + } + + public boolean hasAdditionalUse() { + if (this.additionalUse == null) + return false; + for (Coding item : this.additionalUse) + if (!item.isEmpty()) + return true; + return false; + } + + public Coding addAdditionalUse() { //3 + Coding t = new Coding(); + if (this.additionalUse == null) + this.additionalUse = new ArrayList(); + this.additionalUse.add(t); + return t; + } + + public ConceptDefinitionDesignationComponent addAdditionalUse(Coding t) { //3 + if (t == null) + return this; + if (this.additionalUse == null) + this.additionalUse = new ArrayList(); + this.additionalUse.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #additionalUse}, creating it if it does not already exist {3} + */ + public Coding getAdditionalUseFirstRep() { + if (getAdditionalUse().isEmpty()) { + addAdditionalUse(); + } + return getAdditionalUse().get(0); + } + /** * @return {@link #value} (The text value for this designation.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value */ @@ -2041,6 +2102,7 @@ public class CodeSystem extends CanonicalResource { super.listChildren(children); children.add(new Property("language", "code", "The language this designation is defined for.", 0, 1, language)); children.add(new Property("use", "Coding", "A code that details how this designation would be used.", 0, 1, use)); + children.add(new Property("additionalUse", "Coding", "Additional codes that detail how this designation would be used, if there is more than one use.", 0, java.lang.Integer.MAX_VALUE, additionalUse)); children.add(new Property("value", "string", "The text value for this designation.", 0, 1, value)); } @@ -2049,6 +2111,7 @@ public class CodeSystem extends CanonicalResource { switch (_hash) { case -1613589672: /*language*/ return new Property("language", "code", "The language this designation is defined for.", 0, 1, language); case 116103: /*use*/ return new Property("use", "Coding", "A code that details how this designation would be used.", 0, 1, use); + case 938414048: /*additionalUse*/ return new Property("additionalUse", "Coding", "Additional codes that detail how this designation would be used, if there is more than one use.", 0, java.lang.Integer.MAX_VALUE, additionalUse); case 111972721: /*value*/ return new Property("value", "string", "The text value for this designation.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2060,6 +2123,7 @@ public class CodeSystem extends CanonicalResource { switch (hash) { case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding + case 938414048: /*additionalUse*/ return this.additionalUse == null ? new Base[0] : this.additionalUse.toArray(new Base[this.additionalUse.size()]); // Coding case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType default: return super.getProperty(hash, name, checkValid); } @@ -2075,6 +2139,9 @@ public class CodeSystem extends CanonicalResource { case 116103: // use this.use = TypeConvertor.castToCoding(value); // Coding return value; + case 938414048: // additionalUse + this.getAdditionalUse().add(TypeConvertor.castToCoding(value)); // Coding + return value; case 111972721: // value this.value = TypeConvertor.castToString(value); // StringType return value; @@ -2089,6 +2156,8 @@ public class CodeSystem extends CanonicalResource { this.language = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("use")) { this.use = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("additionalUse")) { + this.getAdditionalUse().add(TypeConvertor.castToCoding(value)); } else if (name.equals("value")) { this.value = TypeConvertor.castToString(value); // StringType } else @@ -2101,6 +2170,7 @@ public class CodeSystem extends CanonicalResource { switch (hash) { case -1613589672: return getLanguageElement(); case 116103: return getUse(); + case 938414048: return addAdditionalUse(); case 111972721: return getValueElement(); default: return super.makeProperty(hash, name); } @@ -2112,6 +2182,7 @@ public class CodeSystem extends CanonicalResource { switch (hash) { case -1613589672: /*language*/ return new String[] {"code"}; case 116103: /*use*/ return new String[] {"Coding"}; + case 938414048: /*additionalUse*/ return new String[] {"Coding"}; case 111972721: /*value*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); } @@ -2127,6 +2198,9 @@ public class CodeSystem extends CanonicalResource { this.use = new Coding(); return this.use; } + else if (name.equals("additionalUse")) { + return addAdditionalUse(); + } else if (name.equals("value")) { throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.concept.designation.value"); } @@ -2144,6 +2218,11 @@ public class CodeSystem extends CanonicalResource { super.copyValues(dst); dst.language = language == null ? null : language.copy(); dst.use = use == null ? null : use.copy(); + if (additionalUse != null) { + dst.additionalUse = new ArrayList(); + for (Coding i : additionalUse) + dst.additionalUse.add(i.copy()); + }; dst.value = value == null ? null : value.copy(); } @@ -2154,8 +2233,8 @@ public class CodeSystem extends CanonicalResource { if (!(other_ instanceof ConceptDefinitionDesignationComponent)) return false; ConceptDefinitionDesignationComponent o = (ConceptDefinitionDesignationComponent) other_; - return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(value, o.value, true) - ; + return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(additionalUse, o.additionalUse, true) + && compareDeep(value, o.value, true); } @Override @@ -2169,7 +2248,8 @@ public class CodeSystem extends CanonicalResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, value); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, additionalUse + , value); } public String fhirType() { @@ -2545,10 +2625,10 @@ public class CodeSystem extends CanonicalResource { } /** - * An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. + * An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)", formalDefinition="An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system." ) + @Description(shortDefinition="Canonical identifier for this code system, represented as a URI (globally unique) (Coding.system)", formalDefinition="An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system." ) protected UriType url; /** @@ -2602,10 +2682,10 @@ public class CodeSystem extends CanonicalResource { protected DateTimeType date; /** - * The name of the organization or individual that published the code system. + * The name of the organization or individual responsible for the release and ongoing maintenance of the code system. */ @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the code system." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the code system." ) protected StringType publisher; /** @@ -2651,24 +2731,88 @@ public class CodeSystem extends CanonicalResource { @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system." ) protected MarkdownType copyright; + /** + * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + @Child(name = "approvalDate", type = {DateType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the CodeSystem was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) + protected DateType approvalDate; + + /** + * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + @Child(name = "lastReviewDate", type = {DateType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the CodeSystem was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) + protected DateType lastReviewDate; + + /** + * The period during which the CodeSystem content was or is planned to be in active use. + */ + @Child(name = "effectivePeriod", type = {Period.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When the CodeSystem is expected to be used", formalDefinition="The period during which the CodeSystem content was or is planned to be in active use." ) + protected Period effectivePeriod; + + /** + * Descriptions related to the content of the CodeSystem. Topics provide a high-level categorization as well as keywords for the CodeSystem that can be useful for filtering and searching. + */ + @Child(name = "topic", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc.", formalDefinition="Descriptions related to the content of the CodeSystem. Topics provide a high-level categorization as well as keywords for the CodeSystem that can be useful for filtering and searching." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") + protected List topic; + + /** + * An individiual or organization primarily involved in the creation and maintenance of the CodeSystem. + */ + @Child(name = "author", type = {ContactDetail.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who authored the CodeSystem", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the CodeSystem." ) + protected List author; + + /** + * An individual or organization primarily responsible for internal coherence of the CodeSystem. + */ + @Child(name = "editor", type = {ContactDetail.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who edited the CodeSystem", formalDefinition="An individual or organization primarily responsible for internal coherence of the CodeSystem." ) + protected List editor; + + /** + * An individual or organization primarily responsible for review of some aspect of the CodeSystem. + */ + @Child(name = "reviewer", type = {ContactDetail.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who reviewed the CodeSystem", formalDefinition="An individual or organization primarily responsible for review of some aspect of the CodeSystem." ) + protected List reviewer; + + /** + * An individual or organization responsible for officially endorsing the CodeSystem for use in some setting. + */ + @Child(name = "endorser", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who endorsed the CodeSystem", formalDefinition="An individual or organization responsible for officially endorsing the CodeSystem for use in some setting." ) + protected List endorser; + + /** + * Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts. + */ + @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts." ) + protected List relatedArtifact; + /** * If code comparison is case sensitive when codes within this system are compared to each other. */ - @Child(name = "caseSensitive", type = {BooleanType.class}, order=15, min=0, max=1, modifier=false, summary=true) + @Child(name = "caseSensitive", type = {BooleanType.class}, order=24, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If code comparison is case sensitive", formalDefinition="If code comparison is case sensitive when codes within this system are compared to each other." ) protected BooleanType caseSensitive; /** * Canonical reference to the value set that contains all codes in the code system independent of code status. */ - @Child(name = "valueSet", type = {CanonicalType.class}, order=16, min=0, max=1, modifier=false, summary=true) + @Child(name = "valueSet", type = {CanonicalType.class}, order=25, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Canonical reference to the value set with entire code system", formalDefinition="Canonical reference to the value set that contains all codes in the code system independent of code status." ) protected CanonicalType valueSet; /** * The meaning of the hierarchy of concepts as represented in this resource. */ - @Child(name = "hierarchyMeaning", type = {CodeType.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Child(name = "hierarchyMeaning", type = {CodeType.class}, order=26, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="grouped-by | is-a | part-of | classified-with", formalDefinition="The meaning of the hierarchy of concepts as represented in this resource." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/codesystem-hierarchy-meaning") protected Enumeration hierarchyMeaning; @@ -2676,21 +2820,21 @@ public class CodeSystem extends CanonicalResource { /** * The code system defines a compositional (post-coordination) grammar. */ - @Child(name = "compositional", type = {BooleanType.class}, order=18, min=0, max=1, modifier=false, summary=true) + @Child(name = "compositional", type = {BooleanType.class}, order=27, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If code system defines a compositional grammar", formalDefinition="The code system defines a compositional (post-coordination) grammar." ) protected BooleanType compositional; /** * This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system. */ - @Child(name = "versionNeeded", type = {BooleanType.class}, order=19, min=0, max=1, modifier=false, summary=true) + @Child(name = "versionNeeded", type = {BooleanType.class}, order=28, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If definitions are not stable", formalDefinition="This flag is used to signify that the code system does not commit to concept permanence across versions. If true, a version must be specified when referencing this code system." ) protected BooleanType versionNeeded; /** * The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. */ - @Child(name = "content", type = {CodeType.class}, order=20, min=1, max=1, modifier=false, summary=true) + @Child(name = "content", type = {CodeType.class}, order=29, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="not-present | example | fragment | complete | supplement", formalDefinition="The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/codesystem-content-mode") protected Enumeration content; @@ -2698,39 +2842,39 @@ public class CodeSystem extends CanonicalResource { /** * The canonical URL of the code system that this code system supplement is adding designations and properties to. */ - @Child(name = "supplements", type = {CanonicalType.class}, order=21, min=0, max=1, modifier=false, summary=true) + @Child(name = "supplements", type = {CanonicalType.class}, order=30, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Canonical URL of Code System this adds designations and properties to", formalDefinition="The canonical URL of the code system that this code system supplement is adding designations and properties to." ) protected CanonicalType supplements; /** * The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward. */ - @Child(name = "count", type = {UnsignedIntType.class}, order=22, min=0, max=1, modifier=false, summary=true) + @Child(name = "count", type = {UnsignedIntType.class}, order=31, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Total concepts in the code system", formalDefinition="The total number of concepts defined by the code system. Where the code system has a compositional grammar, the basis of this count is defined by the system steward." ) protected UnsignedIntType count; /** * A filter that can be used in a value set compose statement when selecting concepts using a filter. */ - @Child(name = "filter", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "filter", type = {}, order=32, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Filter that can be used in a value set", formalDefinition="A filter that can be used in a value set compose statement when selecting concepts using a filter." ) protected List filter; /** * A property defines an additional slot through which additional information can be provided about a concept. */ - @Child(name = "property", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "property", type = {}, order=33, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Additional information supplied about each concept", formalDefinition="A property defines an additional slot through which additional information can be provided about a concept." ) protected List property; /** * Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are. */ - @Child(name = "concept", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "concept", type = {}, order=34, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Concepts in the code system", formalDefinition="Concepts that are in the code system. The concept definitions are inherently hierarchical, but the definitions must be consulted to determine what the meanings of the hierarchical relationships are." ) protected List concept; - private static final long serialVersionUID = -499428696L; + private static final long serialVersionUID = -1497068225L; /** * Constructor @@ -2749,7 +2893,7 @@ public class CodeSystem extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -2769,7 +2913,7 @@ public class CodeSystem extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public CodeSystem setUrlElement(UriType value) { this.url = value; @@ -2777,14 +2921,14 @@ public class CodeSystem extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. + * @return An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. + * @param value An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system. */ public CodeSystem setUrl(String value) { if (Utilities.noString(value)) @@ -3137,7 +3281,7 @@ public class CodeSystem extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the code system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the code system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -3157,7 +3301,7 @@ public class CodeSystem extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the code system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the code system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public CodeSystem setPublisherElement(StringType value) { this.publisher = value; @@ -3165,14 +3309,14 @@ public class CodeSystem extends CanonicalResource { } /** - * @return The name of the organization or individual that published the code system. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the code system. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the code system. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the code system. */ public CodeSystem setPublisher(String value) { if (Utilities.noString(value)) @@ -3491,6 +3635,446 @@ public class CodeSystem extends CanonicalResource { return this; } + /** + * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public DateType getApprovalDateElement() { + if (this.approvalDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CodeSystem.approvalDate"); + else if (Configuration.doAutoCreate()) + this.approvalDate = new DateType(); // bb + return this.approvalDate; + } + + public boolean hasApprovalDateElement() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + public boolean hasApprovalDate() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + /** + * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public CodeSystem setApprovalDateElement(DateType value) { + this.approvalDate = value; + return this; + } + + /** + * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public Date getApprovalDate() { + return this.approvalDate == null ? null : this.approvalDate.getValue(); + } + + /** + * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public CodeSystem setApprovalDate(Date value) { + if (value == null) + this.approvalDate = null; + else { + if (this.approvalDate == null) + this.approvalDate = new DateType(); + this.approvalDate.setValue(value); + } + return this; + } + + /** + * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public DateType getLastReviewDateElement() { + if (this.lastReviewDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CodeSystem.lastReviewDate"); + else if (Configuration.doAutoCreate()) + this.lastReviewDate = new DateType(); // bb + return this.lastReviewDate; + } + + public boolean hasLastReviewDateElement() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + public boolean hasLastReviewDate() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + /** + * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public CodeSystem setLastReviewDateElement(DateType value) { + this.lastReviewDate = value; + return this; + } + + /** + * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public Date getLastReviewDate() { + return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); + } + + /** + * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public CodeSystem setLastReviewDate(Date value) { + if (value == null) + this.lastReviewDate = null; + else { + if (this.lastReviewDate == null) + this.lastReviewDate = new DateType(); + this.lastReviewDate.setValue(value); + } + return this; + } + + /** + * @return {@link #effectivePeriod} (The period during which the CodeSystem content was or is planned to be in active use.) + */ + public Period getEffectivePeriod() { + if (this.effectivePeriod == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CodeSystem.effectivePeriod"); + else if (Configuration.doAutoCreate()) + this.effectivePeriod = new Period(); // cc + return this.effectivePeriod; + } + + public boolean hasEffectivePeriod() { + return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); + } + + /** + * @param value {@link #effectivePeriod} (The period during which the CodeSystem content was or is planned to be in active use.) + */ + public CodeSystem setEffectivePeriod(Period value) { + this.effectivePeriod = value; + return this; + } + + /** + * @return {@link #topic} (Descriptions related to the content of the CodeSystem. Topics provide a high-level categorization as well as keywords for the CodeSystem that can be useful for filtering and searching.) + */ + public List getTopic() { + if (this.topic == null) + this.topic = new ArrayList(); + return this.topic; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CodeSystem setTopic(List theTopic) { + this.topic = theTopic; + return this; + } + + public boolean hasTopic() { + if (this.topic == null) + return false; + for (CodeableConcept item : this.topic) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addTopic() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return t; + } + + public CodeSystem addTopic(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {3} + */ + public CodeableConcept getTopicFirstRep() { + if (getTopic().isEmpty()) { + addTopic(); + } + return getTopic().get(0); + } + + /** + * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the CodeSystem.) + */ + public List getAuthor() { + if (this.author == null) + this.author = new ArrayList(); + return this.author; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CodeSystem setAuthor(List theAuthor) { + this.author = theAuthor; + return this; + } + + public boolean hasAuthor() { + if (this.author == null) + return false; + for (ContactDetail item : this.author) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addAuthor() { //3 + ContactDetail t = new ContactDetail(); + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return t; + } + + public CodeSystem addAuthor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} + */ + public ContactDetail getAuthorFirstRep() { + if (getAuthor().isEmpty()) { + addAuthor(); + } + return getAuthor().get(0); + } + + /** + * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the CodeSystem.) + */ + public List getEditor() { + if (this.editor == null) + this.editor = new ArrayList(); + return this.editor; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CodeSystem setEditor(List theEditor) { + this.editor = theEditor; + return this; + } + + public boolean hasEditor() { + if (this.editor == null) + return false; + for (ContactDetail item : this.editor) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEditor() { //3 + ContactDetail t = new ContactDetail(); + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return t; + } + + public CodeSystem addEditor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3} + */ + public ContactDetail getEditorFirstRep() { + if (getEditor().isEmpty()) { + addEditor(); + } + return getEditor().get(0); + } + + /** + * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the CodeSystem.) + */ + public List getReviewer() { + if (this.reviewer == null) + this.reviewer = new ArrayList(); + return this.reviewer; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CodeSystem setReviewer(List theReviewer) { + this.reviewer = theReviewer; + return this; + } + + public boolean hasReviewer() { + if (this.reviewer == null) + return false; + for (ContactDetail item : this.reviewer) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addReviewer() { //3 + ContactDetail t = new ContactDetail(); + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return t; + } + + public CodeSystem addReviewer(ContactDetail t) { //3 + if (t == null) + return this; + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3} + */ + public ContactDetail getReviewerFirstRep() { + if (getReviewer().isEmpty()) { + addReviewer(); + } + return getReviewer().get(0); + } + + /** + * @return {@link #endorser} (An individual or organization responsible for officially endorsing the CodeSystem for use in some setting.) + */ + public List getEndorser() { + if (this.endorser == null) + this.endorser = new ArrayList(); + return this.endorser; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CodeSystem setEndorser(List theEndorser) { + this.endorser = theEndorser; + return this; + } + + public boolean hasEndorser() { + if (this.endorser == null) + return false; + for (ContactDetail item : this.endorser) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEndorser() { //3 + ContactDetail t = new ContactDetail(); + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return t; + } + + public CodeSystem addEndorser(ContactDetail t) { //3 + if (t == null) + return this; + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3} + */ + public ContactDetail getEndorserFirstRep() { + if (getEndorser().isEmpty()) { + addEndorser(); + } + return getEndorser().get(0); + } + + /** + * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) + */ + public List getRelatedArtifact() { + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + return this.relatedArtifact; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public CodeSystem setRelatedArtifact(List theRelatedArtifact) { + this.relatedArtifact = theRelatedArtifact; + return this; + } + + public boolean hasRelatedArtifact() { + if (this.relatedArtifact == null) + return false; + for (RelatedArtifact item : this.relatedArtifact) + if (!item.isEmpty()) + return true; + return false; + } + + public RelatedArtifact addRelatedArtifact() { //3 + RelatedArtifact t = new RelatedArtifact(); + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return t; + } + + public CodeSystem addRelatedArtifact(RelatedArtifact t) { //3 + if (t == null) + return this; + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} + */ + public RelatedArtifact getRelatedArtifactFirstRep() { + if (getRelatedArtifact().isEmpty()) { + addRelatedArtifact(); + } + return getRelatedArtifact().get(0); + } + /** * @return {@link #caseSensitive} (If code comparison is case sensitive when codes within this system are compared to each other.). This is the underlying object with id, value and extensions. The accessor "getCaseSensitive" gives direct access to the value */ @@ -4022,9 +4606,86 @@ public class CodeSystem extends CanonicalResource { return getConcept().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public CodeSystem setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public CodeSystem setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public CodeSystem setCopyrightLabel(String value) { + throw new Error("The resource type \"CodeSystem\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. This is used in [Coding](datatypes.html#Coding).version.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -4032,13 +4693,22 @@ public class CodeSystem extends CanonicalResource { children.add(new Property("status", "code", "The status of this code system. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the code system.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the code system.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the code system from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the code system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this code system is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.", 0, 1, copyright)); + children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); + children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); + children.add(new Property("effectivePeriod", "Period", "The period during which the CodeSystem content was or is planned to be in active use.", 0, 1, effectivePeriod)); + children.add(new Property("topic", "CodeableConcept", "Descriptions related to the content of the CodeSystem. Topics provide a high-level categorization as well as keywords for the CodeSystem that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); + children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the CodeSystem.", 0, java.lang.Integer.MAX_VALUE, author)); + children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the CodeSystem.", 0, java.lang.Integer.MAX_VALUE, editor)); + children.add(new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the CodeSystem.", 0, java.lang.Integer.MAX_VALUE, reviewer)); + children.add(new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the CodeSystem for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); + children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); children.add(new Property("caseSensitive", "boolean", "If code comparison is case sensitive when codes within this system are compared to each other.", 0, 1, caseSensitive)); children.add(new Property("valueSet", "canonical(ValueSet)", "Canonical reference to the value set that contains all codes in the code system independent of code status.", 0, 1, valueSet)); children.add(new Property("hierarchyMeaning", "code", "The meaning of the hierarchy of concepts as represented in this resource.", 0, 1, hierarchyMeaning)); @@ -4055,7 +4725,7 @@ public class CodeSystem extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this code system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this code system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the code system is stored on different servers. This is used in [Coding](datatypes.html#Coding).system.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this code system when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the code system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the code system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. This is used in [Coding](datatypes.html#Coding).version.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the code system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -4063,13 +4733,22 @@ public class CodeSystem extends CanonicalResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this code system. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this code system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the code system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the code system changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the code system.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the code system.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the code system from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate code system instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the code system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this code system is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the code system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the code system.", 0, 1, copyright); + case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); + case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); + case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the CodeSystem content was or is planned to be in active use.", 0, 1, effectivePeriod); + case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptions related to the content of the CodeSystem. Topics provide a high-level categorization as well as keywords for the CodeSystem that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); + case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the CodeSystem.", 0, java.lang.Integer.MAX_VALUE, author); + case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the CodeSystem.", 0, java.lang.Integer.MAX_VALUE, editor); + case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the CodeSystem.", 0, java.lang.Integer.MAX_VALUE, reviewer); + case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the CodeSystem for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); + case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); case -35616442: /*caseSensitive*/ return new Property("caseSensitive", "boolean", "If code comparison is case sensitive when codes within this system are compared to each other.", 0, 1, caseSensitive); case -1410174671: /*valueSet*/ return new Property("valueSet", "canonical(ValueSet)", "Canonical reference to the value set that contains all codes in the code system independent of code status.", 0, 1, valueSet); case 1913078280: /*hierarchyMeaning*/ return new Property("hierarchyMeaning", "code", "The meaning of the hierarchy of concepts as represented in this resource.", 0, 1, hierarchyMeaning); @@ -4104,6 +4783,15 @@ public class CodeSystem extends CanonicalResource { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType + case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType + case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period + case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept + case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail + case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail + case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail + case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail + case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact case -35616442: /*caseSensitive*/ return this.caseSensitive == null ? new Base[0] : new Base[] {this.caseSensitive}; // BooleanType case -1410174671: /*valueSet*/ return this.valueSet == null ? new Base[0] : new Base[] {this.valueSet}; // CanonicalType case 1913078280: /*hierarchyMeaning*/ return this.hierarchyMeaning == null ? new Base[0] : new Base[] {this.hierarchyMeaning}; // Enumeration @@ -4169,6 +4857,33 @@ public class CodeSystem extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 223539345: // approvalDate + this.approvalDate = TypeConvertor.castToDate(value); // DateType + return value; + case -1687512484: // lastReviewDate + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + return value; + case -403934648: // effectivePeriod + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + return value; + case 110546223: // topic + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1406328437: // author + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -1307827859: // editor + this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -261190139: // reviewer + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 1740277666: // endorser + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 666807069: // relatedArtifact + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact + return value; case -35616442: // caseSensitive this.caseSensitive = TypeConvertor.castToBoolean(value); // BooleanType return value; @@ -4242,6 +4957,24 @@ public class CodeSystem extends CanonicalResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("approvalDate")) { + this.approvalDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("lastReviewDate")) { + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("effectivePeriod")) { + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("topic")) { + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("author")) { + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("editor")) { + this.getEditor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("reviewer")) { + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("endorser")) { + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("relatedArtifact")) { + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); } else if (name.equals("caseSensitive")) { this.caseSensitive = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("valueSet")) { @@ -4289,6 +5022,15 @@ public class CodeSystem extends CanonicalResource { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 223539345: return getApprovalDateElement(); + case -1687512484: return getLastReviewDateElement(); + case -403934648: return getEffectivePeriod(); + case 110546223: return addTopic(); + case -1406328437: return addAuthor(); + case -1307827859: return addEditor(); + case -261190139: return addReviewer(); + case 1740277666: return addEndorser(); + case 666807069: return addRelatedArtifact(); case -35616442: return getCaseSensitiveElement(); case -1410174671: return getValueSetElement(); case 1913078280: return getHierarchyMeaningElement(); @@ -4323,6 +5065,15 @@ public class CodeSystem extends CanonicalResource { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 223539345: /*approvalDate*/ return new String[] {"date"}; + case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; + case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; + case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; + case -1406328437: /*author*/ return new String[] {"ContactDetail"}; + case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; + case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; + case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; + case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; case -35616442: /*caseSensitive*/ return new String[] {"boolean"}; case -1410174671: /*valueSet*/ return new String[] {"canonical"}; case 1913078280: /*hierarchyMeaning*/ return new String[] {"code"}; @@ -4386,6 +5137,34 @@ public class CodeSystem extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.copyright"); } + else if (name.equals("approvalDate")) { + throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.approvalDate"); + } + else if (name.equals("lastReviewDate")) { + throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.lastReviewDate"); + } + else if (name.equals("effectivePeriod")) { + this.effectivePeriod = new Period(); + return this.effectivePeriod; + } + else if (name.equals("topic")) { + return addTopic(); + } + else if (name.equals("author")) { + return addAuthor(); + } + else if (name.equals("editor")) { + return addEditor(); + } + else if (name.equals("reviewer")) { + return addReviewer(); + } + else if (name.equals("endorser")) { + return addEndorser(); + } + else if (name.equals("relatedArtifact")) { + return addRelatedArtifact(); + } else if (name.equals("caseSensitive")) { throw new FHIRException("Cannot call addChild on a primitive type CodeSystem.caseSensitive"); } @@ -4467,6 +5246,39 @@ public class CodeSystem extends CanonicalResource { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); + dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); + dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); + if (topic != null) { + dst.topic = new ArrayList(); + for (CodeableConcept i : topic) + dst.topic.add(i.copy()); + }; + if (author != null) { + dst.author = new ArrayList(); + for (ContactDetail i : author) + dst.author.add(i.copy()); + }; + if (editor != null) { + dst.editor = new ArrayList(); + for (ContactDetail i : editor) + dst.editor.add(i.copy()); + }; + if (reviewer != null) { + dst.reviewer = new ArrayList(); + for (ContactDetail i : reviewer) + dst.reviewer.add(i.copy()); + }; + if (endorser != null) { + dst.endorser = new ArrayList(); + for (ContactDetail i : endorser) + dst.endorser.add(i.copy()); + }; + if (relatedArtifact != null) { + dst.relatedArtifact = new ArrayList(); + for (RelatedArtifact i : relatedArtifact) + dst.relatedArtifact.add(i.copy()); + }; dst.caseSensitive = caseSensitive == null ? null : caseSensitive.copy(); dst.valueSet = valueSet == null ? null : valueSet.copy(); dst.hierarchyMeaning = hierarchyMeaning == null ? null : hierarchyMeaning.copy(); @@ -4508,11 +5320,15 @@ public class CodeSystem extends CanonicalResource { && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(caseSensitive, o.caseSensitive, true) && compareDeep(valueSet, o.valueSet, true) - && compareDeep(hierarchyMeaning, o.hierarchyMeaning, true) && compareDeep(compositional, o.compositional, true) - && compareDeep(versionNeeded, o.versionNeeded, true) && compareDeep(content, o.content, true) && compareDeep(supplements, o.supplements, true) - && compareDeep(count, o.count, true) && compareDeep(filter, o.filter, true) && compareDeep(property, o.property, true) - && compareDeep(concept, o.concept, true); + && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) + && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) + && compareDeep(editor, o.editor, true) && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) + && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(caseSensitive, o.caseSensitive, true) + && compareDeep(valueSet, o.valueSet, true) && compareDeep(hierarchyMeaning, o.hierarchyMeaning, true) + && compareDeep(compositional, o.compositional, true) && compareDeep(versionNeeded, o.versionNeeded, true) + && compareDeep(content, o.content, true) && compareDeep(supplements, o.supplements, true) && compareDeep(count, o.count, true) + && compareDeep(filter, o.filter, true) && compareDeep(property, o.property, true) && compareDeep(concept, o.concept, true) + ; } @Override @@ -4525,7 +5341,8 @@ public class CodeSystem extends CanonicalResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(caseSensitive, o.caseSensitive, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) + && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(caseSensitive, o.caseSensitive, true) && compareValues(valueSet, o.valueSet, true) && compareValues(hierarchyMeaning, o.hierarchyMeaning, true) && compareValues(compositional, o.compositional, true) && compareValues(versionNeeded, o.versionNeeded, true) && compareValues(content, o.content, true) && compareValues(supplements, o.supplements, true) && compareValues(count, o.count, true) @@ -4535,8 +5352,10 @@ public class CodeSystem extends CanonicalResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , name, title, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, copyright, caseSensitive, valueSet, hierarchyMeaning, compositional - , versionNeeded, content, supplements, count, filter, property, concept); + , jurisdiction, purpose, copyright, approvalDate, lastReviewDate, effectivePeriod + , topic, author, editor, reviewer, endorser, relatedArtifact, caseSensitive, valueSet + , hierarchyMeaning, compositional, versionNeeded, content, supplements, count, filter + , property, concept); } @Override @@ -4584,6 +5403,32 @@ public class CodeSystem extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTENT_MODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTENT_MODE); + /** + * Search parameter: derived-from + *

+ * Description: A resource that the CodeSystem is derived from
+ * Type: reference
+ * Path: CodeSystem.relatedArtifact.where(type='derived-from').resource
+ *

+ */ + @SearchParamDefinition(name="derived-from", path="CodeSystem.relatedArtifact.where(type='derived-from').resource", description="A resource that the CodeSystem is derived from", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_DERIVED_FROM = "derived-from"; + /** + * Fluent Client search parameter constant for derived-from + *

+ * Description: A resource that the CodeSystem is derived from
+ * Type: reference
+ * Path: CodeSystem.relatedArtifact.where(type='derived-from').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "CodeSystem:derived-from". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("CodeSystem:derived-from").toLocked(); + /** * Search parameter: language *

@@ -4604,6 +5449,32 @@ public class CodeSystem extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam LANGUAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_LANGUAGE); + /** + * Search parameter: predecessor + *

+ * Description: The predecessor of the CodeSystem
+ * Type: reference
+ * Path: CodeSystem.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + @SearchParamDefinition(name="predecessor", path="CodeSystem.relatedArtifact.where(type='predecessor').resource", description="The predecessor of the CodeSystem", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_PREDECESSOR = "predecessor"; + /** + * Fluent Client search parameter constant for predecessor + *

+ * Description: The predecessor of the CodeSystem
+ * Type: reference
+ * Path: CodeSystem.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "CodeSystem:predecessor". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("CodeSystem:predecessor").toLocked(); + /** * Search parameter: supplements *

@@ -4650,6 +5521,126 @@ public class CodeSystem extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.UriClientParam SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SYSTEM); + /** + * Search parameter: topic + *

+ * Description: Topics associated with the CodeSystem
+ * Type: token
+ * Path: CodeSystem.topic
+ *

+ */ + @SearchParamDefinition(name="topic", path="CodeSystem.topic", description="Topics associated with the CodeSystem", type="token" ) + public static final String SP_TOPIC = "topic"; + /** + * Fluent Client search parameter constant for topic + *

+ * Description: Topics associated with the CodeSystem
+ * Type: token
+ * Path: CodeSystem.topic
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); + + /** + * Search parameter: author + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-author').value
+ *

+ */ + @SearchParamDefinition(name="author", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-author').value", description="Optional Extensions Element", type="string" ) + public static final String SP_AUTHOR = "author"; + /** + * Fluent Client search parameter constant for author + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-author').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_AUTHOR); + + /** + * Search parameter: effective + *

+ * Description: Optional Extensions Element
+ * Type: date
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-effectiveDate'.value)
+ *

+ */ + @SearchParamDefinition(name="effective", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-effectiveDate'.value)", description="Optional Extensions Element", type="date" ) + public static final String SP_EFFECTIVE = "effective"; + /** + * Fluent Client search parameter constant for effective + *

+ * Description: Optional Extensions Element
+ * Type: date
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-effectiveDate'.value)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); + + /** + * Search parameter: end + *

+ * Description: Optional Extensions Element
+ * Type: date
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-expirationDate').value
+ *

+ */ + @SearchParamDefinition(name="end", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-expirationDate').value", description="Optional Extensions Element", type="date" ) + public static final String SP_END = "end"; + /** + * Fluent Client search parameter constant for end + *

+ * Description: Optional Extensions Element
+ * Type: date
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-expirationDate').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam END = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_END); + + /** + * Search parameter: keyword + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-keyWord').value
+ *

+ */ + @SearchParamDefinition(name="keyword", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-keyWord').value", description="Optional Extensions Element", type="string" ) + public static final String SP_KEYWORD = "keyword"; + /** + * Fluent Client search parameter constant for keyword + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-keyWord').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam KEYWORD = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_KEYWORD); + + /** + * Search parameter: workflow + *

+ * Description: Optional Extensions Element
+ * Type: token
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-workflowStatus').value
+ *

+ */ + @SearchParamDefinition(name="workflow", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-workflowStatus').value", description="Optional Extensions Element", type="token" ) + public static final String SP_WORKFLOW = "workflow"; + /** + * Fluent Client search parameter constant for workflow + *

+ * Description: Optional Extensions Element
+ * Type: token
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/codesystem-workflowStatus').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam WORKFLOW = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_WORKFLOW); + /** * Search parameter: context-quantity *

@@ -5022,16 +6013,17 @@ public class CodeSystem extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -5041,13 +6033,14 @@ public class CodeSystem extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -5310,7 +6303,7 @@ public class CodeSystem extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -5326,7 +6319,7 @@ public class CodeSystem extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -5336,7 +6329,7 @@ public class CodeSystem extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableConcept.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableConcept.java index e9d2d7afb..1705d65a3 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableConcept.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableConcept.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. + * CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. */ @DatatypeDef(name="CodeableConcept") public class CodeableConcept extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableReference.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableReference.java index ea1d5a1dc..40a25f46d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableReference.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CodeableReference.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class). + * CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class). */ @DatatypeDef(name="CodeableReference") public class CodeableReference extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coding.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coding.java index 0e0d78c94..e67d870a9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coding.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coding.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.IBaseCoding; /** - * Base StructureDefinition for Coding Type: A reference to a code defined by a terminology system. + * Coding Type: A reference to a code defined by a terminology system. */ @DatatypeDef(name="Coding") public class Coding extends DataType implements IBaseCoding, ICompositeType, ICoding { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Communication.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Communication.java index fec4a8a38..e73cfdedb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Communication.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Communication.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1961,7 +1961,7 @@ public class Communication extends DomainResource { * Path: Communication.basedOn
*

*/ - @SearchParamDefinition(name="based-on", path="Communication.basedOn", description="Request fulfilled by this communication", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="based-on", path="Communication.basedOn", description="Request fulfilled by this communication", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_BASED_ON = "based-on"; /** * Fluent Client search parameter constant for based-on @@ -2119,7 +2119,7 @@ public class Communication extends DomainResource { * Path: Communication.partOf
*

*/ - @SearchParamDefinition(name="part-of", path="Communication.partOf", description="Part of referenced event (e.g. Communication, Procedure)", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="part-of", path="Communication.partOf", description="Part of referenced event (e.g. Communication, Procedure)", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PART_OF = "part-of"; /** * Fluent Client search parameter constant for part-of diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CommunicationRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CommunicationRequest.java index e464dd24e..d90ab339d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CommunicationRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CommunicationRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1954,7 +1954,7 @@ public class CommunicationRequest extends DomainResource { * Path: CommunicationRequest.basedOn
*

*/ - @SearchParamDefinition(name="based-on", path="CommunicationRequest.basedOn", description="Fulfills plan or proposal", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="based-on", path="CommunicationRequest.basedOn", description="Fulfills plan or proposal", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_BASED_ON = "based-on"; /** * Fluent Client search parameter constant for based-on @@ -2109,17 +2109,17 @@ public class CommunicationRequest extends DomainResource { *

* Description: When scheduled
* Type: date
- * Path: CommunicationRequest.occurrence.as(dateTime) | CommunicationRequest.occurrence.as(Period)
+ * Path: CommunicationRequest.occurrence.ofType(dateTime) | CommunicationRequest.occurrence.ofType(Period)
*

*/ - @SearchParamDefinition(name="occurrence", path="CommunicationRequest.occurrence.as(dateTime) | CommunicationRequest.occurrence.as(Period)", description="When scheduled", type="date" ) + @SearchParamDefinition(name="occurrence", path="CommunicationRequest.occurrence.ofType(dateTime) | CommunicationRequest.occurrence.ofType(Period)", description="When scheduled", type="date" ) public static final String SP_OCCURRENCE = "occurrence"; /** * Fluent Client search parameter constant for occurrence *

* Description: When scheduled
* Type: date
- * Path: CommunicationRequest.occurrence.as(dateTime) | CommunicationRequest.occurrence.as(Period)
+ * Path: CommunicationRequest.occurrence.ofType(dateTime) | CommunicationRequest.occurrence.ofType(Period)
*

*/ public static final ca.uhn.fhir.rest.gclient.DateClientParam OCCURRENCE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_OCCURRENCE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CompartmentDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CompartmentDefinition.java index b9a4363e3..1866d9cd7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CompartmentDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CompartmentDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -77,7 +77,21 @@ public class CompartmentDefinition extends CanonicalResource { @Description(shortDefinition="Additional documentation about the resource and compartment", formalDefinition="Additional documentation about the resource and compartment." ) protected StringType documentation; - private static final long serialVersionUID = 988080897L; + /** + * Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)). + */ + @Child(name = "startParam", type = {UriType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Search Param for interpreting $everything.start", formalDefinition="Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html))." ) + protected UriType startParam; + + /** + * Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)). + */ + @Child(name = "endParam", type = {UriType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Search Param for interpreting $everything.end", formalDefinition="Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html))." ) + protected UriType endParam; + + private static final long serialVersionUID = 1245370010L; /** * Constructor @@ -249,11 +263,111 @@ public class CompartmentDefinition extends CanonicalResource { return this; } + /** + * @return {@link #startParam} (Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)).). This is the underlying object with id, value and extensions. The accessor "getStartParam" gives direct access to the value + */ + public UriType getStartParamElement() { + if (this.startParam == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CompartmentDefinitionResourceComponent.startParam"); + else if (Configuration.doAutoCreate()) + this.startParam = new UriType(); // bb + return this.startParam; + } + + public boolean hasStartParamElement() { + return this.startParam != null && !this.startParam.isEmpty(); + } + + public boolean hasStartParam() { + return this.startParam != null && !this.startParam.isEmpty(); + } + + /** + * @param value {@link #startParam} (Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)).). This is the underlying object with id, value and extensions. The accessor "getStartParam" gives direct access to the value + */ + public CompartmentDefinitionResourceComponent setStartParamElement(UriType value) { + this.startParam = value; + return this; + } + + /** + * @return Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)). + */ + public String getStartParam() { + return this.startParam == null ? null : this.startParam.getValue(); + } + + /** + * @param value Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)). + */ + public CompartmentDefinitionResourceComponent setStartParam(String value) { + if (Utilities.noString(value)) + this.startParam = null; + else { + if (this.startParam == null) + this.startParam = new UriType(); + this.startParam.setValue(value); + } + return this; + } + + /** + * @return {@link #endParam} (Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)).). This is the underlying object with id, value and extensions. The accessor "getEndParam" gives direct access to the value + */ + public UriType getEndParamElement() { + if (this.endParam == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CompartmentDefinitionResourceComponent.endParam"); + else if (Configuration.doAutoCreate()) + this.endParam = new UriType(); // bb + return this.endParam; + } + + public boolean hasEndParamElement() { + return this.endParam != null && !this.endParam.isEmpty(); + } + + public boolean hasEndParam() { + return this.endParam != null && !this.endParam.isEmpty(); + } + + /** + * @param value {@link #endParam} (Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)).). This is the underlying object with id, value and extensions. The accessor "getEndParam" gives direct access to the value + */ + public CompartmentDefinitionResourceComponent setEndParamElement(UriType value) { + this.endParam = value; + return this; + } + + /** + * @return Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)). + */ + public String getEndParam() { + return this.endParam == null ? null : this.endParam.getValue(); + } + + /** + * @param value Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)). + */ + public CompartmentDefinitionResourceComponent setEndParam(String value) { + if (Utilities.noString(value)) + this.endParam = null; + else { + if (this.endParam == null) + this.endParam = new UriType(); + this.endParam.setValue(value); + } + return this; + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("code", "code", "The name of a resource supported by the server.", 0, 1, code)); children.add(new Property("param", "string", "The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.", 0, java.lang.Integer.MAX_VALUE, param)); children.add(new Property("documentation", "string", "Additional documentation about the resource and compartment.", 0, 1, documentation)); + children.add(new Property("startParam", "uri", "Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)).", 0, 1, startParam)); + children.add(new Property("endParam", "uri", "Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)).", 0, 1, endParam)); } @Override @@ -262,6 +376,8 @@ public class CompartmentDefinition extends CanonicalResource { case 3059181: /*code*/ return new Property("code", "code", "The name of a resource supported by the server.", 0, 1, code); case 106436749: /*param*/ return new Property("param", "string", "The name of a search parameter that represents the link to the compartment. More than one may be listed because a resource may be linked to a compartment in more than one way,.", 0, java.lang.Integer.MAX_VALUE, param); case 1587405498: /*documentation*/ return new Property("documentation", "string", "Additional documentation about the resource and compartment.", 0, 1, documentation); + case -1587556021: /*startParam*/ return new Property("startParam", "uri", "Search Parameter for mapping requests made with $everything.start (e.g. on [Patient.$everything](patient-operation-everything.html)).", 0, 1, startParam); + case 1711140978: /*endParam*/ return new Property("endParam", "uri", "Search Parameter for mapping requests made with $everything.end (e.g. on [Patient.$everything](patient-operation-everything.html)).", 0, 1, endParam); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -273,6 +389,8 @@ public class CompartmentDefinition extends CanonicalResource { case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType case 106436749: /*param*/ return this.param == null ? new Base[0] : this.param.toArray(new Base[this.param.size()]); // StringType case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType + case -1587556021: /*startParam*/ return this.startParam == null ? new Base[0] : new Base[] {this.startParam}; // UriType + case 1711140978: /*endParam*/ return this.endParam == null ? new Base[0] : new Base[] {this.endParam}; // UriType default: return super.getProperty(hash, name, checkValid); } @@ -290,6 +408,12 @@ public class CompartmentDefinition extends CanonicalResource { case 1587405498: // documentation this.documentation = TypeConvertor.castToString(value); // StringType return value; + case -1587556021: // startParam + this.startParam = TypeConvertor.castToUri(value); // UriType + return value; + case 1711140978: // endParam + this.endParam = TypeConvertor.castToUri(value); // UriType + return value; default: return super.setProperty(hash, name, value); } @@ -303,6 +427,10 @@ public class CompartmentDefinition extends CanonicalResource { this.getParam().add(TypeConvertor.castToString(value)); } else if (name.equals("documentation")) { this.documentation = TypeConvertor.castToString(value); // StringType + } else if (name.equals("startParam")) { + this.startParam = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("endParam")) { + this.endParam = TypeConvertor.castToUri(value); // UriType } else return super.setProperty(name, value); return value; @@ -314,6 +442,8 @@ public class CompartmentDefinition extends CanonicalResource { case 3059181: return getCodeElement(); case 106436749: return addParamElement(); case 1587405498: return getDocumentationElement(); + case -1587556021: return getStartParamElement(); + case 1711140978: return getEndParamElement(); default: return super.makeProperty(hash, name); } @@ -325,6 +455,8 @@ public class CompartmentDefinition extends CanonicalResource { case 3059181: /*code*/ return new String[] {"code"}; case 106436749: /*param*/ return new String[] {"string"}; case 1587405498: /*documentation*/ return new String[] {"string"}; + case -1587556021: /*startParam*/ return new String[] {"uri"}; + case 1711140978: /*endParam*/ return new String[] {"uri"}; default: return super.getTypesForProperty(hash, name); } @@ -341,6 +473,12 @@ public class CompartmentDefinition extends CanonicalResource { else if (name.equals("documentation")) { throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.resource.documentation"); } + else if (name.equals("startParam")) { + throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.resource.startParam"); + } + else if (name.equals("endParam")) { + throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.resource.endParam"); + } else return super.addChild(name); } @@ -360,6 +498,8 @@ public class CompartmentDefinition extends CanonicalResource { dst.param.add(i.copy()); }; dst.documentation = documentation == null ? null : documentation.copy(); + dst.startParam = startParam == null ? null : startParam.copy(); + dst.endParam = endParam == null ? null : endParam.copy(); } @Override @@ -370,7 +510,7 @@ public class CompartmentDefinition extends CanonicalResource { return false; CompartmentDefinitionResourceComponent o = (CompartmentDefinitionResourceComponent) other_; return compareDeep(code, o.code, true) && compareDeep(param, o.param, true) && compareDeep(documentation, o.documentation, true) - ; + && compareDeep(startParam, o.startParam, true) && compareDeep(endParam, o.endParam, true); } @Override @@ -381,12 +521,12 @@ public class CompartmentDefinition extends CanonicalResource { return false; CompartmentDefinitionResourceComponent o = (CompartmentDefinitionResourceComponent) other_; return compareValues(code, o.code, true) && compareValues(param, o.param, true) && compareValues(documentation, o.documentation, true) - ; + && compareValues(startParam, o.startParam, true) && compareValues(endParam, o.endParam, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, param, documentation - ); + , startParam, endParam); } public String fhirType() { @@ -397,10 +537,10 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. + * An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this compartment definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this compartment definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers." ) protected UriType url; /** @@ -410,17 +550,32 @@ public class CompartmentDefinition extends CanonicalResource { @Description(shortDefinition="Business version of the compartment definition", formalDefinition="The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this compartment definition (computer friendly)", formalDefinition="A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; + /** + * A short, descriptive, user-friendly title for the capability statement. + */ + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this compartment definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the capability statement." ) + protected StringType title; + /** * The status of this compartment definition. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this compartment definition. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -428,56 +583,56 @@ public class CompartmentDefinition extends CanonicalResource { /** * A Boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the compartment definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition. */ - @Child(name = "publisher", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the compartment definition." ) + @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the compartment definition from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the compartment definition", formalDefinition="A free text natural language description of the compartment definition from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate compartment definition instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate compartment definition instances." ) protected List useContext; /** * Explanation of why this compartment definition is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this compartment definition is defined", formalDefinition="Explanation of why this compartment definition is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** * Which compartment this definition describes. */ - @Child(name = "code", type = {CodeType.class}, order=11, min=1, max=1, modifier=false, summary=true) + @Child(name = "code", type = {CodeType.class}, order=13, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Patient | Encounter | RelatedPerson | Practitioner | Device", formalDefinition="Which compartment this definition describes." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/compartment-type") protected Enumeration code; @@ -485,18 +640,18 @@ public class CompartmentDefinition extends CanonicalResource { /** * Whether the search syntax is supported,. */ - @Child(name = "search", type = {BooleanType.class}, order=12, min=1, max=1, modifier=false, summary=true) + @Child(name = "search", type = {BooleanType.class}, order=14, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Whether the search syntax is supported", formalDefinition="Whether the search syntax is supported,." ) protected BooleanType search; /** * Information about how a resource is related to the compartment. */ - @Child(name = "resource", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "resource", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="How a resource is related to the compartment", formalDefinition="Information about how a resource is related to the compartment." ) protected List resource; - private static final long serialVersionUID = 1358693010L; + private static final long serialVersionUID = 140986198L; /** * Constructor @@ -518,7 +673,7 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -538,7 +693,7 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public CompartmentDefinition setUrlElement(UriType value) { this.url = value; @@ -546,14 +701,14 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. + * @return An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. + * @param value An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers. */ public CompartmentDefinition setUrl(String value) { if (this.url == null) @@ -611,6 +766,57 @@ public class CompartmentDefinition extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public CompartmentDefinition setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for CompartmentDefinition.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -656,6 +862,55 @@ public class CompartmentDefinition extends CanonicalResource { return this; } + /** + * @return {@link #title} (A short, descriptive, user-friendly title for the capability statement.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CompartmentDefinition.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A short, descriptive, user-friendly title for the capability statement.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public CompartmentDefinition setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A short, descriptive, user-friendly title for the capability statement. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A short, descriptive, user-friendly title for the capability statement. + */ + public CompartmentDefinition setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + /** * @return {@link #status} (The status of this compartment definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ @@ -796,7 +1051,7 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -816,7 +1071,7 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public CompartmentDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -824,14 +1079,14 @@ public class CompartmentDefinition extends CanonicalResource { } /** - * @return The name of the organization or individual that published the compartment definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the compartment definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition. */ public CompartmentDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -1208,59 +1463,23 @@ public class CompartmentDefinition extends CanonicalResource { * @return Returns a reference to this for easy method chaining */ public CompartmentDefinition setIdentifier(List theIdentifier) { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); } public boolean hasIdentifier() { return false; } public Identifier addIdentifier() { //3 - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); } public CompartmentDefinition addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); } /** * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} */ public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); - } - /** - * not supported on this implementation - */ - @Override - public int getTitleMax() { - return 0; - } - /** - * @return {@link #title} (A short, descriptive, user-friendly title for the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public StringType getTitleElement() { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"title\""); - } - - public boolean hasTitleElement() { - return false; - } - public boolean hasTitle() { - return false; - } - - /** - * @param value {@link #title} (A short, descriptive, user-friendly title for the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public CompartmentDefinition setTitleElement(StringType value) { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"title\""); - } - public String getTitle() { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"title\""); - } - /** - * @param value A short, descriptive, user-friendly title for the compartment definition. - */ - public CompartmentDefinition setTitle(String value) { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"title\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"identifier\""); } /** * not supported on this implementation @@ -1279,23 +1498,23 @@ public class CompartmentDefinition extends CanonicalResource { * @return Returns a reference to this for easy method chaining */ public CompartmentDefinition setJurisdiction(List theJurisdiction) { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); } public boolean hasJurisdiction() { return false; } public CodeableConcept addJurisdiction() { //3 - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); } public CompartmentDefinition addJurisdiction(CodeableConcept t) { //3 - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); } /** * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2} */ public CodeableConcept getJurisdictionFirstRep() { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"jurisdiction\""); } /** * not supported on this implementation @@ -1322,26 +1541,64 @@ public class CompartmentDefinition extends CanonicalResource { * @param value {@link #copyright} (A copyright statement relating to the compartment definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the compartment definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public CompartmentDefinition setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyright\""); } public String getCopyright() { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyright\""); } /** * @param value A copyright statement relating to the compartment definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the compartment definition. */ public CompartmentDefinition setCopyright(String value) { - throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyright\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public CompartmentDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public CompartmentDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"CompartmentDefinition\" does not implement the property \"copyrightLabel\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.", 0, 1, url)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); + children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title)); children.add(new Property("status", "code", "The status of this compartment definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the compartment definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the compartment definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate compartment definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -1354,13 +1611,18 @@ public class CompartmentDefinition extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this compartment definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this compartment definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the compartment definition is stored on different servers.", 0, 1, url); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the compartment definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the compartment definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the compartment definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); + case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this compartment definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this compartment definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the compartment definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the compartment definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the compartment definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the compartment definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the compartment definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate compartment definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -1378,7 +1640,9 @@ public class CompartmentDefinition extends CanonicalResource { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType @@ -1404,9 +1668,15 @@ public class CompartmentDefinition extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; case -892481550: // status value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -1453,8 +1723,12 @@ public class CompartmentDefinition extends CanonicalResource { this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("status")) { value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -1489,7 +1763,10 @@ public class CompartmentDefinition extends CanonicalResource { switch (hash) { case 116079: return getUrlElement(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); + case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); case -404562712: return getExperimentalElement(); case 3076014: return getDateElement(); @@ -1511,7 +1788,9 @@ public class CompartmentDefinition extends CanonicalResource { switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; case -404562712: /*experimental*/ return new String[] {"boolean"}; case 3076014: /*date*/ return new String[] {"dateTime"}; @@ -1536,9 +1815,20 @@ public class CompartmentDefinition extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.name"); } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.title"); + } else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type CompartmentDefinition.status"); } @@ -1591,7 +1881,9 @@ public class CompartmentDefinition extends CanonicalResource { super.copyValues(dst); dst.url = url == null ? null : url.copy(); dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); dst.experimental = experimental == null ? null : experimental.copy(); dst.date = date == null ? null : date.copy(); @@ -1628,11 +1920,12 @@ public class CompartmentDefinition extends CanonicalResource { if (!(other_ instanceof CompartmentDefinition)) return false; CompartmentDefinition o = (CompartmentDefinition) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) - && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) - && compareDeep(useContext, o.useContext, true) && compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) - && compareDeep(search, o.search, true) && compareDeep(resource, o.resource, true); + return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) && compareDeep(search, o.search, true) + && compareDeep(resource, o.resource, true); } @Override @@ -1643,15 +1936,16 @@ public class CompartmentDefinition extends CanonicalResource { return false; CompartmentDefinition o = (CompartmentDefinition) other_; return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) - && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) - && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) - && compareValues(code, o.code, true) && compareValues(search, o.search, true); + && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) + && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(code, o.code, true) && compareValues(search, o.search, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, status - , experimental, date, publisher, contact, description, useContext, purpose, code - , search, resource); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm + , name, title, status, experimental, date, publisher, contact, description, useContext + , purpose, code, search, resource); } @Override @@ -2227,7 +2521,7 @@ public class CompartmentDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -2243,7 +2537,7 @@ public class CompartmentDefinition extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -2253,7 +2547,7 @@ public class CompartmentDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Composition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Composition.java index 8e502e3ed..63086af1a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Composition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Composition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1371,18 +1371,18 @@ public class Composition extends DomainResource { } /** - * An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers. + * An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this Composition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this Composition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers." ) protected UriType url; /** * A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time. */ - @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Version-independent identifier for the Composition", formalDefinition="A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time." ) - protected Identifier identifier; + protected List identifier; /** * An explicitly assigned identifer of a variation of the content in the Composition. @@ -1395,7 +1395,7 @@ public class Composition extends DomainResource { * The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document. */ @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=true, summary=true) - @Description(shortDefinition="preliminary | final | amended | entered-in-error | deprecated", formalDefinition="The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document." ) + @Description(shortDefinition="registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown", formalDefinition="The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/composition-status") protected Enumeration status; @@ -1418,9 +1418,9 @@ public class Composition extends DomainResource { /** * Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure). */ - @Child(name = "subject", type = {Reference.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {Reference.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Who and/or what the composition is about", formalDefinition="Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure)." ) - protected Reference subject; + protected List subject; /** * Describes the clinical encounter or type of care this documentation is associated with. @@ -1471,50 +1471,42 @@ public class Composition extends DomainResource { @Description(shortDefinition="For any additional notes", formalDefinition="For any additional notes." ) protected List note; - /** - * The code specifying the level of confidentiality of the Composition. - */ - @Child(name = "confidentiality", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="As defined by affinity domain", formalDefinition="The code specifying the level of confidentiality of the Composition." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-Confidentiality") - protected CodeType confidentiality; - /** * A participant who has attested to the accuracy of the composition/document. */ - @Child(name = "attester", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "attester", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Attests to accuracy of composition", formalDefinition="A participant who has attested to the accuracy of the composition/document." ) protected List attester; /** * Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information. */ - @Child(name = "custodian", type = {Organization.class}, order=16, min=0, max=1, modifier=false, summary=true) + @Child(name = "custodian", type = {Organization.class}, order=15, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Organization which maintains the composition", formalDefinition="Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information." ) protected Reference custodian; /** * Relationships that this composition has with other compositions or documents that already exist. */ - @Child(name = "relatesTo", type = {RelatedArtifact.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "relatesTo", type = {RelatedArtifact.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Relationships to other compositions/documents", formalDefinition="Relationships that this composition has with other compositions or documents that already exist." ) protected List relatesTo; /** * The clinical service, such as a colonoscopy or an appendectomy, being documented. */ - @Child(name = "event", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "event", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The clinical service(s) being documented", formalDefinition="The clinical service, such as a colonoscopy or an appendectomy, being documented." ) protected List event; /** * The root of the sections that make up the composition. */ - @Child(name = "section", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "section", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Composition is broken into sections", formalDefinition="The root of the sections that make up the composition." ) protected List section; - private static final long serialVersionUID = 2029664644L; + private static final long serialVersionUID = 2030933035L; /** * Constructor @@ -1536,7 +1528,7 @@ public class Composition extends DomainResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1556,7 +1548,7 @@ public class Composition extends DomainResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public Composition setUrlElement(UriType value) { this.url = value; @@ -1564,14 +1556,14 @@ public class Composition extends DomainResource { } /** - * @return An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers. + * @return An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers. + * @param value An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers. */ public Composition setUrl(String value) { if (Utilities.noString(value)) @@ -1587,25 +1579,54 @@ public class Composition extends DomainResource { /** * @return {@link #identifier} (A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.) */ - public Identifier getIdentifier() { + public List getIdentifier() { if (this.identifier == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Composition.identifier"); - else if (Configuration.doAutoCreate()) - this.identifier = new Identifier(); // cc + this.identifier = new ArrayList(); return this.identifier; } + /** + * @return Returns a reference to this for easy method chaining + */ + public Composition setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + public boolean hasIdentifier() { - return this.identifier != null && !this.identifier.isEmpty(); + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public Composition addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; } /** - * @param value {@link #identifier} (A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.) + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} */ - public Composition setIdentifier(Identifier value) { - this.identifier = value; - return this; + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); } /** @@ -1782,25 +1803,54 @@ public class Composition extends DomainResource { /** * @return {@link #subject} (Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).) */ - public Reference getSubject() { + public List getSubject() { if (this.subject == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Composition.subject"); - else if (Configuration.doAutoCreate()) - this.subject = new Reference(); // cc + this.subject = new ArrayList(); return this.subject; } + /** + * @return Returns a reference to this for easy method chaining + */ + public Composition setSubject(List theSubject) { + this.subject = theSubject; + return this; + } + public boolean hasSubject() { - return this.subject != null && !this.subject.isEmpty(); + if (this.subject == null) + return false; + for (Reference item : this.subject) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addSubject() { //3 + Reference t = new Reference(); + if (this.subject == null) + this.subject = new ArrayList(); + this.subject.add(t); + return t; + } + + public Composition addSubject(Reference t) { //3 + if (t == null) + return this; + if (this.subject == null) + this.subject = new ArrayList(); + this.subject.add(t); + return this; } /** - * @param value {@link #subject} (Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).) + * @return The first repetition of repeating field {@link #subject}, creating it if it does not already exist {3} */ - public Composition setSubject(Reference value) { - this.subject = value; - return this; + public Reference getSubjectFirstRep() { + if (getSubject().isEmpty()) { + addSubject(); + } + return getSubject().get(0); } /** @@ -2125,55 +2175,6 @@ public class Composition extends DomainResource { return getNote().get(0); } - /** - * @return {@link #confidentiality} (The code specifying the level of confidentiality of the Composition.). This is the underlying object with id, value and extensions. The accessor "getConfidentiality" gives direct access to the value - */ - public CodeType getConfidentialityElement() { - if (this.confidentiality == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Composition.confidentiality"); - else if (Configuration.doAutoCreate()) - this.confidentiality = new CodeType(); // bb - return this.confidentiality; - } - - public boolean hasConfidentialityElement() { - return this.confidentiality != null && !this.confidentiality.isEmpty(); - } - - public boolean hasConfidentiality() { - return this.confidentiality != null && !this.confidentiality.isEmpty(); - } - - /** - * @param value {@link #confidentiality} (The code specifying the level of confidentiality of the Composition.). This is the underlying object with id, value and extensions. The accessor "getConfidentiality" gives direct access to the value - */ - public Composition setConfidentialityElement(CodeType value) { - this.confidentiality = value; - return this; - } - - /** - * @return The code specifying the level of confidentiality of the Composition. - */ - public String getConfidentiality() { - return this.confidentiality == null ? null : this.confidentiality.getValue(); - } - - /** - * @param value The code specifying the level of confidentiality of the Composition. - */ - public Composition setConfidentiality(String value) { - if (Utilities.noString(value)) - this.confidentiality = null; - else { - if (this.confidentiality == null) - this.confidentiality = new CodeType(); - this.confidentiality.setValue(value); - } - return this; - } - /** * @return {@link #attester} (A participant who has attested to the accuracy of the composition/document.) */ @@ -2412,13 +2413,13 @@ public class Composition extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.", 0, 1, url)); - children.add(new Property("identifier", "Identifier", "A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.", 0, 1, identifier)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.", 0, 1, url)); + children.add(new Property("identifier", "Identifier", "A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "An explicitly assigned identifer of a variation of the content in the Composition.", 0, 1, version)); children.add(new Property("status", "code", "The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.", 0, 1, status)); children.add(new Property("type", "CodeableConcept", "Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.", 0, 1, type)); children.add(new Property("category", "CodeableConcept", "A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.", 0, java.lang.Integer.MAX_VALUE, category)); - children.add(new Property("subject", "Reference(Any)", "Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).", 0, 1, subject)); + children.add(new Property("subject", "Reference(Any)", "Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).", 0, java.lang.Integer.MAX_VALUE, subject)); children.add(new Property("encounter", "Reference(Encounter)", "Describes the clinical encounter or type of care this documentation is associated with.", 0, 1, encounter)); children.add(new Property("date", "dateTime", "The composition editing time, when the composition was last logically changed by the author.", 0, 1, date)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Composition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -2426,7 +2427,6 @@ public class Composition extends DomainResource { children.add(new Property("name", "string", "A natural language name identifying the composition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "Official human-readable label for the composition.", 0, 1, title)); children.add(new Property("note", "Annotation", "For any additional notes.", 0, java.lang.Integer.MAX_VALUE, note)); - children.add(new Property("confidentiality", "code", "The code specifying the level of confidentiality of the Composition.", 0, 1, confidentiality)); children.add(new Property("attester", "", "A participant who has attested to the accuracy of the composition/document.", 0, java.lang.Integer.MAX_VALUE, attester)); children.add(new Property("custodian", "Reference(Organization)", "Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.", 0, 1, custodian)); children.add(new Property("relatesTo", "RelatedArtifact", "Relationships that this composition has with other compositions or documents that already exist.", 0, java.lang.Integer.MAX_VALUE, relatesTo)); @@ -2437,13 +2437,13 @@ public class Composition extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.", 0, 1, url); - case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.", 0, 1, identifier); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this Composition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Composition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Composition is stored on different servers.", 0, 1, url); + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A version-independent identifier for the Composition. This identifier stays constant as the composition is changed over time.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "An explicitly assigned identifer of a variation of the content in the Composition.", 0, 1, version); case -892481550: /*status*/ return new Property("status", "code", "The workflow/clinical status of this composition. The status is a marker for the clinical standing of the document.", 0, 1, status); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Specifies the particular kind of composition (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the composition.", 0, 1, type); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A categorization for the type of the composition - helps for indexing and searching. This may be implied by or derived from the code specified in the Composition Type.", 0, java.lang.Integer.MAX_VALUE, category); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Any)", "Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Any)", "Who or what the composition is about. The composition can be about a person, (patient or healthcare practitioner), a device (e.g. a machine) or even a group of subjects (such as a document about a herd of livestock, or a set of patients that share a common exposure).", 0, java.lang.Integer.MAX_VALUE, subject); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "Describes the clinical encounter or type of care this documentation is associated with.", 0, 1, encounter); case 3076014: /*date*/ return new Property("date", "dateTime", "The composition editing time, when the composition was last logically changed by the author.", 0, 1, date); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Composition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -2451,7 +2451,6 @@ public class Composition extends DomainResource { case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the composition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "Official human-readable label for the composition.", 0, 1, title); case 3387378: /*note*/ return new Property("note", "Annotation", "For any additional notes.", 0, java.lang.Integer.MAX_VALUE, note); - case -1923018202: /*confidentiality*/ return new Property("confidentiality", "code", "The code specifying the level of confidentiality of the Composition.", 0, 1, confidentiality); case 542920370: /*attester*/ return new Property("attester", "", "A participant who has attested to the accuracy of the composition/document.", 0, java.lang.Integer.MAX_VALUE, attester); case 1611297262: /*custodian*/ return new Property("custodian", "Reference(Organization)", "Identifies the organization or group who is responsible for ongoing maintenance of and access to the composition/document information.", 0, 1, custodian); case -7765931: /*relatesTo*/ return new Property("relatesTo", "RelatedArtifact", "Relationships that this composition has with other compositions or documents that already exist.", 0, java.lang.Integer.MAX_VALUE, relatesTo); @@ -2466,12 +2465,12 @@ public class Composition extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType - case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept - case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : this.subject.toArray(new Base[this.subject.size()]); // Reference case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext @@ -2479,7 +2478,6 @@ public class Composition extends DomainResource { case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation - case -1923018202: /*confidentiality*/ return this.confidentiality == null ? new Base[0] : new Base[] {this.confidentiality}; // CodeType case 542920370: /*attester*/ return this.attester == null ? new Base[0] : this.attester.toArray(new Base[this.attester.size()]); // CompositionAttesterComponent case 1611297262: /*custodian*/ return this.custodian == null ? new Base[0] : new Base[] {this.custodian}; // Reference case -7765931: /*relatesTo*/ return this.relatesTo == null ? new Base[0] : this.relatesTo.toArray(new Base[this.relatesTo.size()]); // RelatedArtifact @@ -2497,7 +2495,7 @@ public class Composition extends DomainResource { this.url = TypeConvertor.castToUri(value); // UriType return value; case -1618432855: // identifier - this.identifier = TypeConvertor.castToIdentifier(value); // Identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType @@ -2513,7 +2511,7 @@ public class Composition extends DomainResource { this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case -1867885268: // subject - this.subject = TypeConvertor.castToReference(value); // Reference + this.getSubject().add(TypeConvertor.castToReference(value)); // Reference return value; case 1524132147: // encounter this.encounter = TypeConvertor.castToReference(value); // Reference @@ -2536,9 +2534,6 @@ public class Composition extends DomainResource { case 3387378: // note this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation return value; - case -1923018202: // confidentiality - this.confidentiality = TypeConvertor.castToCode(value); // CodeType - return value; case 542920370: // attester this.getAttester().add((CompositionAttesterComponent) value); // CompositionAttesterComponent return value; @@ -2564,7 +2559,7 @@ public class Composition extends DomainResource { if (name.equals("url")) { this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("identifier")) { - this.identifier = TypeConvertor.castToIdentifier(value); // Identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType } else if (name.equals("status")) { @@ -2575,7 +2570,7 @@ public class Composition extends DomainResource { } else if (name.equals("category")) { this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("subject")) { - this.subject = TypeConvertor.castToReference(value); // Reference + this.getSubject().add(TypeConvertor.castToReference(value)); } else if (name.equals("encounter")) { this.encounter = TypeConvertor.castToReference(value); // Reference } else if (name.equals("date")) { @@ -2590,8 +2585,6 @@ public class Composition extends DomainResource { this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("note")) { this.getNote().add(TypeConvertor.castToAnnotation(value)); - } else if (name.equals("confidentiality")) { - this.confidentiality = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("attester")) { this.getAttester().add((CompositionAttesterComponent) value); } else if (name.equals("custodian")) { @@ -2611,12 +2604,12 @@ public class Composition extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 116079: return getUrlElement(); - case -1618432855: return getIdentifier(); + case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); case -892481550: return getStatusElement(); case 3575610: return getType(); case 50511102: return addCategory(); - case -1867885268: return getSubject(); + case -1867885268: return addSubject(); case 1524132147: return getEncounter(); case 3076014: return getDateElement(); case -669707736: return addUseContext(); @@ -2624,7 +2617,6 @@ public class Composition extends DomainResource { case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case 3387378: return addNote(); - case -1923018202: return getConfidentialityElement(); case 542920370: return addAttester(); case 1611297262: return getCustodian(); case -7765931: return addRelatesTo(); @@ -2652,7 +2644,6 @@ public class Composition extends DomainResource { case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case 3387378: /*note*/ return new String[] {"Annotation"}; - case -1923018202: /*confidentiality*/ return new String[] {"code"}; case 542920370: /*attester*/ return new String[] {}; case 1611297262: /*custodian*/ return new String[] {"Reference"}; case -7765931: /*relatesTo*/ return new String[] {"RelatedArtifact"}; @@ -2669,8 +2660,7 @@ public class Composition extends DomainResource { throw new FHIRException("Cannot call addChild on a primitive type Composition.url"); } else if (name.equals("identifier")) { - this.identifier = new Identifier(); - return this.identifier; + return addIdentifier(); } else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type Composition.version"); @@ -2686,8 +2676,7 @@ public class Composition extends DomainResource { return addCategory(); } else if (name.equals("subject")) { - this.subject = new Reference(); - return this.subject; + return addSubject(); } else if (name.equals("encounter")) { this.encounter = new Reference(); @@ -2711,9 +2700,6 @@ public class Composition extends DomainResource { else if (name.equals("note")) { return addNote(); } - else if (name.equals("confidentiality")) { - throw new FHIRException("Cannot call addChild on a primitive type Composition.confidentiality"); - } else if (name.equals("attester")) { return addAttester(); } @@ -2748,7 +2734,11 @@ public class Composition extends DomainResource { public void copyValues(Composition dst) { super.copyValues(dst); dst.url = url == null ? null : url.copy(); - dst.identifier = identifier == null ? null : identifier.copy(); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; dst.version = version == null ? null : version.copy(); dst.status = status == null ? null : status.copy(); dst.type = type == null ? null : type.copy(); @@ -2757,7 +2747,11 @@ public class Composition extends DomainResource { for (CodeableConcept i : category) dst.category.add(i.copy()); }; - dst.subject = subject == null ? null : subject.copy(); + if (subject != null) { + dst.subject = new ArrayList(); + for (Reference i : subject) + dst.subject.add(i.copy()); + }; dst.encounter = encounter == null ? null : encounter.copy(); dst.date = date == null ? null : date.copy(); if (useContext != null) { @@ -2777,7 +2771,6 @@ public class Composition extends DomainResource { for (Annotation i : note) dst.note.add(i.copy()); }; - dst.confidentiality = confidentiality == null ? null : confidentiality.copy(); if (attester != null) { dst.attester = new ArrayList(); for (CompositionAttesterComponent i : attester) @@ -2816,9 +2809,9 @@ public class Composition extends DomainResource { && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) && compareDeep(category, o.category, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(date, o.date, true) && compareDeep(useContext, o.useContext, true) && compareDeep(author, o.author, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(note, o.note, true) && compareDeep(confidentiality, o.confidentiality, true) - && compareDeep(attester, o.attester, true) && compareDeep(custodian, o.custodian, true) && compareDeep(relatesTo, o.relatesTo, true) - && compareDeep(event, o.event, true) && compareDeep(section, o.section, true); + && compareDeep(title, o.title, true) && compareDeep(note, o.note, true) && compareDeep(attester, o.attester, true) + && compareDeep(custodian, o.custodian, true) && compareDeep(relatesTo, o.relatesTo, true) && compareDeep(event, o.event, true) + && compareDeep(section, o.section, true); } @Override @@ -2830,14 +2823,13 @@ public class Composition extends DomainResource { Composition o = (Composition) other_; return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(status, o.status, true) && compareValues(date, o.date, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) - && compareValues(confidentiality, o.confidentiality, true); + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , status, type, category, subject, encounter, date, useContext, author, name - , title, note, confidentiality, attester, custodian, relatesTo, event, section - ); + , title, note, attester, custodian, relatesTo, event, section); } @Override @@ -2917,26 +2909,6 @@ public class Composition extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); - /** - * Search parameter: confidentiality - *

- * Description: As defined by affinity domain
- * Type: token
- * Path: Composition.confidentiality
- *

- */ - @SearchParamDefinition(name="confidentiality", path="Composition.confidentiality", description="As defined by affinity domain", type="token" ) - public static final String SP_CONFIDENTIALITY = "confidentiality"; - /** - * Fluent Client search parameter constant for confidentiality - *

- * Description: As defined by affinity domain
- * Type: token
- * Path: Composition.confidentiality
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONFIDENTIALITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONFIDENTIALITY); - /** * Search parameter: context *

@@ -2965,7 +2937,7 @@ public class Composition extends DomainResource { * Path: Composition.section.entry
*

*/ - @SearchParamDefinition(name="entry", path="Composition.section.entry", description="A reference to data that supports this section", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="entry", path="Composition.section.entry", description="A reference to data that supports this section", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_ENTRY = "entry"; /** * Fluent Client search parameter constant for entry @@ -3011,7 +2983,7 @@ public class Composition extends DomainResource { * Path: Composition.relatesTo.resourceReference
*

*/ - @SearchParamDefinition(name="related", path="Composition.relatesTo.resourceReference", description="Target of the relationship", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="related", path="Composition.relatesTo.resourceReference", description="Target of the relationship", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_RELATED = "related"; /** * Fluent Client search parameter constant for related @@ -3029,6 +3001,46 @@ public class Composition extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_RELATED = new ca.uhn.fhir.model.api.Include("Composition:related").toLocked(); + /** + * Search parameter: section-code-text + *

+ * Description: Search on the section narrative of the resource
+ * Type: composite
+ * Path: Composition.section
+ *

+ */ + @SearchParamDefinition(name="section-code-text", path="Composition.section", description="Search on the section narrative of the resource", type="composite", compositeOf={"section", "section-text"} ) + public static final String SP_SECTION_CODE_TEXT = "section-code-text"; + /** + * Fluent Client search parameter constant for section-code-text + *

+ * Description: Search on the section narrative of the resource
+ * Type: composite
+ * Path: Composition.section
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.CompositeClientParam SECTION_CODE_TEXT = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_SECTION_CODE_TEXT); + + /** + * Search parameter: section-text + *

+ * Description: Search on the section narrative of the resource
+ * Type: special
+ * Path: Composition.section.text | Composition.section.section.text
+ *

+ */ + @SearchParamDefinition(name="section-text", path="Composition.section.text | Composition.section.section.text", description="Search on the section narrative of the resource", type="special" ) + public static final String SP_SECTION_TEXT = "section-text"; + /** + * Fluent Client search parameter constant for section-text + *

+ * Description: Search on the section narrative of the resource
+ * Type: special
+ * Path: Composition.section.text | Composition.section.section.text
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.SpecialClientParam SECTION_TEXT = new ca.uhn.fhir.rest.gclient.SpecialClientParam(SP_SECTION_TEXT); + /** * Search parameter: section *

@@ -3077,7 +3089,7 @@ public class Composition extends DomainResource { * Path: Composition.subject
*

*/ - @SearchParamDefinition(name="subject", path="Composition.subject", description="Who and/or what the composition is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="subject", path="Composition.subject", description="Who and/or what the composition is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject @@ -3379,7 +3391,7 @@ public class Composition extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3388,10 +3400,10 @@ public class Composition extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3423,7 +3435,7 @@ public class Composition extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3432,7 +3444,7 @@ public class Composition extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConceptMap.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConceptMap.java index 1a5bba3dd..4a72a86f5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConceptMap.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConceptMap.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1053,17 +1053,17 @@ public class ConceptMap extends MetadataResource { protected StringType comment; /** - * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value. + * A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified property can be resolved, and it has the specified value. */ @Child(name = "dependsOn", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Other elements required for this mapping (from context)", formalDefinition="A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value." ) + @Description(shortDefinition="Other properties required for this mapping", formalDefinition="A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified property can be resolved, and it has the specified value." ) protected List dependsOn; /** * Product is the output of a ConceptMap that provides additional values relevant to the interpretation of the mapping target. */ @Child(name = "product", type = {OtherElementComponent.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Other concepts that this mapping also produces", formalDefinition="Product is the output of a ConceptMap that provides additional values relevant to the interpretation of the mapping target." ) + @Description(shortDefinition="Other properties that this mapping also produces", formalDefinition="Product is the output of a ConceptMap that provides additional values relevant to the interpretation of the mapping target." ) protected List product; private static final long serialVersionUID = 1705844456L; @@ -1325,7 +1325,7 @@ public class ConceptMap extends MetadataResource { } /** - * @return {@link #dependsOn} (A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.) + * @return {@link #dependsOn} (A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified property can be resolved, and it has the specified value.) */ public List getDependsOn() { if (this.dependsOn == null) @@ -1437,7 +1437,7 @@ public class ConceptMap extends MetadataResource { children.add(new Property("valueSet", "canonical(ValueSet)", "The set of codes that the map refers to.", 0, 1, valueSet)); children.add(new Property("relationship", "code", "The relationship between the source and target concepts. The relationship is read from source to target (e.g. source-is-narrower-than-target).", 0, 1, relationship)); children.add(new Property("comment", "string", "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 0, 1, comment)); - children.add(new Property("dependsOn", "", "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.", 0, java.lang.Integer.MAX_VALUE, dependsOn)); + children.add(new Property("dependsOn", "", "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified property can be resolved, and it has the specified value.", 0, java.lang.Integer.MAX_VALUE, dependsOn)); children.add(new Property("product", "@ConceptMap.group.element.target.dependsOn", "Product is the output of a ConceptMap that provides additional values relevant to the interpretation of the mapping target.", 0, java.lang.Integer.MAX_VALUE, product)); } @@ -1449,7 +1449,7 @@ public class ConceptMap extends MetadataResource { case -1410174671: /*valueSet*/ return new Property("valueSet", "canonical(ValueSet)", "The set of codes that the map refers to.", 0, 1, valueSet); case -261851592: /*relationship*/ return new Property("relationship", "code", "The relationship between the source and target concepts. The relationship is read from source to target (e.g. source-is-narrower-than-target).", 0, 1, relationship); case 950398559: /*comment*/ return new Property("comment", "string", "A description of status/issues in mapping that conveys additional information not represented in the structured data.", 0, 1, comment); - case -1109214266: /*dependsOn*/ return new Property("dependsOn", "", "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified element can be resolved, and it has the specified value.", 0, java.lang.Integer.MAX_VALUE, dependsOn); + case -1109214266: /*dependsOn*/ return new Property("dependsOn", "", "A set of additional dependencies for this mapping to hold. This mapping is only applicable if the specified property can be resolved, and it has the specified value.", 0, java.lang.Integer.MAX_VALUE, dependsOn); case -309474065: /*product*/ return new Property("product", "@ConceptMap.group.element.target.dependsOn", "Product is the output of a ConceptMap that provides additional values relevant to the interpretation of the mapping target.", 0, java.lang.Integer.MAX_VALUE, product); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2661,10 +2661,10 @@ public class ConceptMap extends MetadataResource { } /** - * An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers. + * An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this concept map, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this concept map, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers." ) protected UriType url; /** @@ -2718,10 +2718,10 @@ public class ConceptMap extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the concept map. + * The name of the organization or individual responsible for the release and ongoing maintenance of the concept map. */ @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the concept map." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the concept map." ) protected StringType publisher; /** @@ -2767,28 +2767,92 @@ public class ConceptMap extends MetadataResource { @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map." ) protected MarkdownType copyright; + /** + * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + @Child(name = "approvalDate", type = {DateType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the ConceptMap was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) + protected DateType approvalDate; + + /** + * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + @Child(name = "lastReviewDate", type = {DateType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the ConceptMap was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) + protected DateType lastReviewDate; + + /** + * The period during which the ConceptMap content was or is planned to be in active use. + */ + @Child(name = "effectivePeriod", type = {Period.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When the ConceptMap is expected to be used", formalDefinition="The period during which the ConceptMap content was or is planned to be in active use." ) + protected Period effectivePeriod; + + /** + * Descriptions related to the content of the ConceptMap. Topics provide a high-level categorization as well as keywords for the ConceptMap that can be useful for filtering and searching. + */ + @Child(name = "topic", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc.", formalDefinition="Descriptions related to the content of the ConceptMap. Topics provide a high-level categorization as well as keywords for the ConceptMap that can be useful for filtering and searching." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") + protected List topic; + + /** + * An individiual or organization primarily involved in the creation and maintenance of the ConceptMap. + */ + @Child(name = "author", type = {ContactDetail.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who authored the ConceptMap", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the ConceptMap." ) + protected List author; + + /** + * An individual or organization primarily responsible for internal coherence of the ConceptMap. + */ + @Child(name = "editor", type = {ContactDetail.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who edited the ConceptMap", formalDefinition="An individual or organization primarily responsible for internal coherence of the ConceptMap." ) + protected List editor; + + /** + * An individual or organization primarily responsible for review of some aspect of the ConceptMap. + */ + @Child(name = "reviewer", type = {ContactDetail.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who reviewed the ConceptMap", formalDefinition="An individual or organization primarily responsible for review of some aspect of the ConceptMap." ) + protected List reviewer; + + /** + * An individual or organization responsible for officially endorsing the ConceptMap for use in some setting. + */ + @Child(name = "endorser", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who endorsed the ConceptMap", formalDefinition="An individual or organization responsible for officially endorsing the ConceptMap for use in some setting." ) + protected List endorser; + + /** + * Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts. + */ + @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts." ) + protected List relatedArtifact; + /** * Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set. */ - @Child(name = "sourceScope", type = {UriType.class, CanonicalType.class}, order=15, min=0, max=1, modifier=false, summary=true) + @Child(name = "sourceScope", type = {UriType.class, CanonicalType.class}, order=24, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The source value set that contains the concepts that are being mapped", formalDefinition="Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set." ) protected DataType sourceScope; /** * Identifier for the target value set that provides important context about how the mapping choices are made. Limits the scope of the map to target codes (ConceptMap.group.element.target code or valueSet) that are members of this value set. */ - @Child(name = "targetScope", type = {UriType.class, CanonicalType.class}, order=16, min=0, max=1, modifier=false, summary=true) + @Child(name = "targetScope", type = {UriType.class, CanonicalType.class}, order=25, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The target value set which provides context for the mappings", formalDefinition="Identifier for the target value set that provides important context about how the mapping choices are made. Limits the scope of the map to target codes (ConceptMap.group.element.target code or valueSet) that are members of this value set." ) protected DataType targetScope; /** * A group of mappings that all have the same source and target system. */ - @Child(name = "group", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "group", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Same source and target systems", formalDefinition="A group of mappings that all have the same source and target system." ) protected List group; - private static final long serialVersionUID = 1437841252L; + private static final long serialVersionUID = 682923821L; /** * Constructor @@ -2806,7 +2870,7 @@ public class ConceptMap extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -2826,7 +2890,7 @@ public class ConceptMap extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public ConceptMap setUrlElement(UriType value) { this.url = value; @@ -2834,14 +2898,14 @@ public class ConceptMap extends MetadataResource { } /** - * @return An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers. + * @return An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers. + * @param value An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers. */ public ConceptMap setUrl(String value) { if (Utilities.noString(value)) @@ -3194,7 +3258,7 @@ public class ConceptMap extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the concept map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the concept map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -3214,7 +3278,7 @@ public class ConceptMap extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the concept map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the concept map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ConceptMap setPublisherElement(StringType value) { this.publisher = value; @@ -3222,14 +3286,14 @@ public class ConceptMap extends MetadataResource { } /** - * @return The name of the organization or individual that published the concept map. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the concept map. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the concept map. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the concept map. */ public ConceptMap setPublisher(String value) { if (Utilities.noString(value)) @@ -3548,6 +3612,446 @@ public class ConceptMap extends MetadataResource { return this; } + /** + * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public DateType getApprovalDateElement() { + if (this.approvalDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ConceptMap.approvalDate"); + else if (Configuration.doAutoCreate()) + this.approvalDate = new DateType(); // bb + return this.approvalDate; + } + + public boolean hasApprovalDateElement() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + public boolean hasApprovalDate() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + /** + * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public ConceptMap setApprovalDateElement(DateType value) { + this.approvalDate = value; + return this; + } + + /** + * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public Date getApprovalDate() { + return this.approvalDate == null ? null : this.approvalDate.getValue(); + } + + /** + * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public ConceptMap setApprovalDate(Date value) { + if (value == null) + this.approvalDate = null; + else { + if (this.approvalDate == null) + this.approvalDate = new DateType(); + this.approvalDate.setValue(value); + } + return this; + } + + /** + * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public DateType getLastReviewDateElement() { + if (this.lastReviewDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ConceptMap.lastReviewDate"); + else if (Configuration.doAutoCreate()) + this.lastReviewDate = new DateType(); // bb + return this.lastReviewDate; + } + + public boolean hasLastReviewDateElement() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + public boolean hasLastReviewDate() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + /** + * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public ConceptMap setLastReviewDateElement(DateType value) { + this.lastReviewDate = value; + return this; + } + + /** + * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public Date getLastReviewDate() { + return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); + } + + /** + * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public ConceptMap setLastReviewDate(Date value) { + if (value == null) + this.lastReviewDate = null; + else { + if (this.lastReviewDate == null) + this.lastReviewDate = new DateType(); + this.lastReviewDate.setValue(value); + } + return this; + } + + /** + * @return {@link #effectivePeriod} (The period during which the ConceptMap content was or is planned to be in active use.) + */ + public Period getEffectivePeriod() { + if (this.effectivePeriod == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ConceptMap.effectivePeriod"); + else if (Configuration.doAutoCreate()) + this.effectivePeriod = new Period(); // cc + return this.effectivePeriod; + } + + public boolean hasEffectivePeriod() { + return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); + } + + /** + * @param value {@link #effectivePeriod} (The period during which the ConceptMap content was or is planned to be in active use.) + */ + public ConceptMap setEffectivePeriod(Period value) { + this.effectivePeriod = value; + return this; + } + + /** + * @return {@link #topic} (Descriptions related to the content of the ConceptMap. Topics provide a high-level categorization as well as keywords for the ConceptMap that can be useful for filtering and searching.) + */ + public List getTopic() { + if (this.topic == null) + this.topic = new ArrayList(); + return this.topic; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptMap setTopic(List theTopic) { + this.topic = theTopic; + return this; + } + + public boolean hasTopic() { + if (this.topic == null) + return false; + for (CodeableConcept item : this.topic) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addTopic() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return t; + } + + public ConceptMap addTopic(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {3} + */ + public CodeableConcept getTopicFirstRep() { + if (getTopic().isEmpty()) { + addTopic(); + } + return getTopic().get(0); + } + + /** + * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the ConceptMap.) + */ + public List getAuthor() { + if (this.author == null) + this.author = new ArrayList(); + return this.author; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptMap setAuthor(List theAuthor) { + this.author = theAuthor; + return this; + } + + public boolean hasAuthor() { + if (this.author == null) + return false; + for (ContactDetail item : this.author) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addAuthor() { //3 + ContactDetail t = new ContactDetail(); + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return t; + } + + public ConceptMap addAuthor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} + */ + public ContactDetail getAuthorFirstRep() { + if (getAuthor().isEmpty()) { + addAuthor(); + } + return getAuthor().get(0); + } + + /** + * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the ConceptMap.) + */ + public List getEditor() { + if (this.editor == null) + this.editor = new ArrayList(); + return this.editor; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptMap setEditor(List theEditor) { + this.editor = theEditor; + return this; + } + + public boolean hasEditor() { + if (this.editor == null) + return false; + for (ContactDetail item : this.editor) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEditor() { //3 + ContactDetail t = new ContactDetail(); + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return t; + } + + public ConceptMap addEditor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3} + */ + public ContactDetail getEditorFirstRep() { + if (getEditor().isEmpty()) { + addEditor(); + } + return getEditor().get(0); + } + + /** + * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the ConceptMap.) + */ + public List getReviewer() { + if (this.reviewer == null) + this.reviewer = new ArrayList(); + return this.reviewer; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptMap setReviewer(List theReviewer) { + this.reviewer = theReviewer; + return this; + } + + public boolean hasReviewer() { + if (this.reviewer == null) + return false; + for (ContactDetail item : this.reviewer) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addReviewer() { //3 + ContactDetail t = new ContactDetail(); + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return t; + } + + public ConceptMap addReviewer(ContactDetail t) { //3 + if (t == null) + return this; + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3} + */ + public ContactDetail getReviewerFirstRep() { + if (getReviewer().isEmpty()) { + addReviewer(); + } + return getReviewer().get(0); + } + + /** + * @return {@link #endorser} (An individual or organization responsible for officially endorsing the ConceptMap for use in some setting.) + */ + public List getEndorser() { + if (this.endorser == null) + this.endorser = new ArrayList(); + return this.endorser; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptMap setEndorser(List theEndorser) { + this.endorser = theEndorser; + return this; + } + + public boolean hasEndorser() { + if (this.endorser == null) + return false; + for (ContactDetail item : this.endorser) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEndorser() { //3 + ContactDetail t = new ContactDetail(); + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return t; + } + + public ConceptMap addEndorser(ContactDetail t) { //3 + if (t == null) + return this; + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3} + */ + public ContactDetail getEndorserFirstRep() { + if (getEndorser().isEmpty()) { + addEndorser(); + } + return getEndorser().get(0); + } + + /** + * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) + */ + public List getRelatedArtifact() { + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + return this.relatedArtifact; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptMap setRelatedArtifact(List theRelatedArtifact) { + this.relatedArtifact = theRelatedArtifact; + return this; + } + + public boolean hasRelatedArtifact() { + if (this.relatedArtifact == null) + return false; + for (RelatedArtifact item : this.relatedArtifact) + if (!item.isEmpty()) + return true; + return false; + } + + public RelatedArtifact addRelatedArtifact() { //3 + RelatedArtifact t = new RelatedArtifact(); + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return t; + } + + public ConceptMap addRelatedArtifact(RelatedArtifact t) { //3 + if (t == null) + return this; + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} + */ + public RelatedArtifact getRelatedArtifactFirstRep() { + if (getRelatedArtifact().isEmpty()) { + addRelatedArtifact(); + } + return getRelatedArtifact().get(0); + } + /** * @return {@link #sourceScope} (Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set.) */ @@ -3707,310 +4211,82 @@ public class ConceptMap extends MetadataResource { * not supported on this implementation */ @Override - public int getApprovalDateMax() { + public int getVersionAlgorithmMax() { return 0; } /** - * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public DateType getApprovalDateElement() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"approvalDate\""); - } - - public boolean hasApprovalDateElement() { - return false; - } - public boolean hasApprovalDate() { - return false; - } - - /** - * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value - */ - public ConceptMap setApprovalDateElement(DateType value) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"approvalDate\""); - } - public Date getApprovalDate() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"approvalDate\""); + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"versionAlgorithm[x]\""); } /** - * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public ConceptMap setApprovalDate(Date value) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"approvalDate\""); + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K } /** - * not supported on this implementation + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - @Override - public int getLastReviewDateMax() { - return 0; + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"versionAlgorithm[x]\""); } - /** - * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value - */ - public DateType getLastReviewDateElement() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"lastReviewDate\""); + public boolean hasVersionAlgorithmCoding() { + return false;////K } - - public boolean hasLastReviewDateElement() { - return false; - } - public boolean hasLastReviewDate() { - return false; - } - - /** - * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value - */ - public ConceptMap setLastReviewDateElement(DateType value) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"lastReviewDate\""); - } - public Date getLastReviewDate() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"lastReviewDate\""); - } - /** - * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. - */ - public ConceptMap setLastReviewDate(Date value) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"lastReviewDate\""); - } - /** - * not supported on this implementation - */ - @Override - public int getEffectivePeriodMax() { - return 0; - } - /** - * @return {@link #effectivePeriod} (The period during which the concept map content was or is planned to be in active use.) - */ - public Period getEffectivePeriod() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"effectivePeriod\""); - } - public boolean hasEffectivePeriod() { + public boolean hasVersionAlgorithm() { return false; } /** - * @param value {@link #effectivePeriod} (The period during which the concept map content was or is planned to be in active use.) + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public ConceptMap setEffectivePeriod(Period value) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"effectivePeriod\""); + public ConceptMap setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"versionAlgorithm[x]\""); } /** * not supported on this implementation */ @Override - public int getTopicMax() { + public int getCopyrightLabelMax() { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the concept map. Topics provide a high-level categorization of the concept map that can be useful for filtering and searching.) + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value */ - public List getTopic() { - return new ArrayList<>(); + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"copyrightLabel\""); } - /** - * @return Returns a reference to this for easy method chaining - */ - public ConceptMap setTopic(List theTopic) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"topic\""); + + public boolean hasCopyrightLabelElement() { + return false; } - public boolean hasTopic() { + public boolean hasCopyrightLabel() { return false; } - public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"topic\""); + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ConceptMap setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"copyrightLabel\""); } - public ConceptMap addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"topic\""); + public String getCopyrightLabel() { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"copyrightLabel\""); } /** - * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). */ - public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"topic\""); - } - /** - * not supported on this implementation - */ - @Override - public int getAuthorMax() { - return 0; - } - /** - * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the concept map.) - */ - public List getAuthor() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public ConceptMap setAuthor(List theAuthor) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"author\""); - } - public boolean hasAuthor() { - return false; - } - - public ContactDetail addAuthor() { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"author\""); - } - public ConceptMap addAuthor(ContactDetail t) { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"author\""); - } - /** - * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} - */ - public ContactDetail getAuthorFirstRep() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"author\""); - } - /** - * not supported on this implementation - */ - @Override - public int getEditorMax() { - return 0; - } - /** - * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the concept map.) - */ - public List getEditor() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public ConceptMap setEditor(List theEditor) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"editor\""); - } - public boolean hasEditor() { - return false; - } - - public ContactDetail addEditor() { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"editor\""); - } - public ConceptMap addEditor(ContactDetail t) { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"editor\""); - } - /** - * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} - */ - public ContactDetail getEditorFirstRep() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"editor\""); - } - /** - * not supported on this implementation - */ - @Override - public int getReviewerMax() { - return 0; - } - /** - * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the concept map.) - */ - public List getReviewer() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public ConceptMap setReviewer(List theReviewer) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"reviewer\""); - } - public boolean hasReviewer() { - return false; - } - - public ContactDetail addReviewer() { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"reviewer\""); - } - public ConceptMap addReviewer(ContactDetail t) { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"reviewer\""); - } - /** - * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} - */ - public ContactDetail getReviewerFirstRep() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"reviewer\""); - } - /** - * not supported on this implementation - */ - @Override - public int getEndorserMax() { - return 0; - } - /** - * @return {@link #endorser} (An individual or organization responsible for officially endorsing the concept map for use in some setting.) - */ - public List getEndorser() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public ConceptMap setEndorser(List theEndorser) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"endorser\""); - } - public boolean hasEndorser() { - return false; - } - - public ContactDetail addEndorser() { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"endorser\""); - } - public ConceptMap addEndorser(ContactDetail t) { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"endorser\""); - } - /** - * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} - */ - public ContactDetail getEndorserFirstRep() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"endorser\""); - } - /** - * not supported on this implementation - */ - @Override - public int getRelatedArtifactMax() { - return 0; - } - /** - * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) - */ - public List getRelatedArtifact() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public ConceptMap setRelatedArtifact(List theRelatedArtifact) { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"relatedArtifact\""); - } - public boolean hasRelatedArtifact() { - return false; - } - - public RelatedArtifact addRelatedArtifact() { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"relatedArtifact\""); - } - public ConceptMap addRelatedArtifact(RelatedArtifact t) { //3 - throw new Error("The resource type \"ConceptMap\" does not implement the property \"relatedArtifact\""); - } - /** - * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} - */ - public RelatedArtifact getRelatedArtifactFirstRep() { - throw new Error("The resource type \"ConceptMap\" does not implement the property \"relatedArtifact\""); + public ConceptMap setCopyrightLabel(String value) { + throw new Error("The resource type \"ConceptMap\" does not implement the property \"copyrightLabel\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -4018,13 +4294,22 @@ public class ConceptMap extends MetadataResource { children.add(new Property("status", "code", "The status of this concept map. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the concept map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the concept map.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the concept map.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the concept map from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate concept map instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the concept map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this concept map is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.", 0, 1, copyright)); + children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); + children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); + children.add(new Property("effectivePeriod", "Period", "The period during which the ConceptMap content was or is planned to be in active use.", 0, 1, effectivePeriod)); + children.add(new Property("topic", "CodeableConcept", "Descriptions related to the content of the ConceptMap. Topics provide a high-level categorization as well as keywords for the ConceptMap that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); + children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the ConceptMap.", 0, java.lang.Integer.MAX_VALUE, author)); + children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the ConceptMap.", 0, java.lang.Integer.MAX_VALUE, editor)); + children.add(new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the ConceptMap.", 0, java.lang.Integer.MAX_VALUE, reviewer)); + children.add(new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the ConceptMap for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); + children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); children.add(new Property("sourceScope[x]", "uri|canonical(ValueSet)", "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set.", 0, 1, sourceScope)); children.add(new Property("targetScope[x]", "uri|canonical(ValueSet)", "Identifier for the target value set that provides important context about how the mapping choices are made. Limits the scope of the map to target codes (ConceptMap.group.element.target code or valueSet) that are members of this value set.", 0, 1, targetScope)); children.add(new Property("group", "", "A group of mappings that all have the same source and target system.", 0, java.lang.Integer.MAX_VALUE, group)); @@ -4033,7 +4318,7 @@ public class ConceptMap extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this concept map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this concept map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the concept map is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this concept map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the concept map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the concept map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the concept map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -4041,13 +4326,22 @@ public class ConceptMap extends MetadataResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this concept map. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this concept map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the concept map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the concept map changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the concept map.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the concept map.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the concept map from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate concept map instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the concept map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this concept map is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the concept map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the concept map.", 0, 1, copyright); + case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); + case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); + case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the ConceptMap content was or is planned to be in active use.", 0, 1, effectivePeriod); + case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptions related to the content of the ConceptMap. Topics provide a high-level categorization as well as keywords for the ConceptMap that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); + case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the ConceptMap.", 0, java.lang.Integer.MAX_VALUE, author); + case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the ConceptMap.", 0, java.lang.Integer.MAX_VALUE, editor); + case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the ConceptMap.", 0, java.lang.Integer.MAX_VALUE, reviewer); + case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the ConceptMap for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); + case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); case -1850861849: /*sourceScope[x]*/ return new Property("sourceScope[x]", "uri|canonical(ValueSet)", "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set.", 0, 1, sourceScope); case -96223495: /*sourceScope*/ return new Property("sourceScope[x]", "uri|canonical(ValueSet)", "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set.", 0, 1, sourceScope); case -1850867789: /*sourceScopeUri*/ return new Property("sourceScope[x]", "uri", "Identifier for the source value set that contains the concepts that are being mapped and provides context for the mappings. Limits the scope of the map to source codes (ConceptMap.group.element code or valueSet) that are members of this value set.", 0, 1, sourceScope); @@ -4080,6 +4374,15 @@ public class ConceptMap extends MetadataResource { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType + case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType + case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period + case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept + case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail + case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail + case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail + case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail + case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact case -96223495: /*sourceScope*/ return this.sourceScope == null ? new Base[0] : new Base[] {this.sourceScope}; // DataType case -2096156861: /*targetScope*/ return this.targetScope == null ? new Base[0] : new Base[] {this.targetScope}; // DataType case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // ConceptMapGroupComponent @@ -4137,6 +4440,33 @@ public class ConceptMap extends MetadataResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 223539345: // approvalDate + this.approvalDate = TypeConvertor.castToDate(value); // DateType + return value; + case -1687512484: // lastReviewDate + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + return value; + case -403934648: // effectivePeriod + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + return value; + case 110546223: // topic + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1406328437: // author + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -1307827859: // editor + this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -261190139: // reviewer + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 1740277666: // endorser + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 666807069: // relatedArtifact + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact + return value; case -96223495: // sourceScope this.sourceScope = TypeConvertor.castToType(value); // DataType return value; @@ -4184,6 +4514,24 @@ public class ConceptMap extends MetadataResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("approvalDate")) { + this.approvalDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("lastReviewDate")) { + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("effectivePeriod")) { + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("topic")) { + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("author")) { + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("editor")) { + this.getEditor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("reviewer")) { + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("endorser")) { + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("relatedArtifact")) { + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); } else if (name.equals("sourceScope[x]")) { this.sourceScope = TypeConvertor.castToType(value); // DataType } else if (name.equals("targetScope[x]")) { @@ -4213,6 +4561,15 @@ public class ConceptMap extends MetadataResource { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 223539345: return getApprovalDateElement(); + case -1687512484: return getLastReviewDateElement(); + case -403934648: return getEffectivePeriod(); + case 110546223: return addTopic(); + case -1406328437: return addAuthor(); + case -1307827859: return addEditor(); + case -261190139: return addReviewer(); + case 1740277666: return addEndorser(); + case 666807069: return addRelatedArtifact(); case -1850861849: return getSourceScope(); case -96223495: return getSourceScope(); case -2079438243: return getTargetScope(); @@ -4241,6 +4598,15 @@ public class ConceptMap extends MetadataResource { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 223539345: /*approvalDate*/ return new String[] {"date"}; + case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; + case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; + case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; + case -1406328437: /*author*/ return new String[] {"ContactDetail"}; + case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; + case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; + case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; + case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; case -96223495: /*sourceScope*/ return new String[] {"uri", "canonical"}; case -2096156861: /*targetScope*/ return new String[] {"uri", "canonical"}; case 98629247: /*group*/ return new String[] {}; @@ -4296,6 +4662,34 @@ public class ConceptMap extends MetadataResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.copyright"); } + else if (name.equals("approvalDate")) { + throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.approvalDate"); + } + else if (name.equals("lastReviewDate")) { + throw new FHIRException("Cannot call addChild on a primitive type ConceptMap.lastReviewDate"); + } + else if (name.equals("effectivePeriod")) { + this.effectivePeriod = new Period(); + return this.effectivePeriod; + } + else if (name.equals("topic")) { + return addTopic(); + } + else if (name.equals("author")) { + return addAuthor(); + } + else if (name.equals("editor")) { + return addEditor(); + } + else if (name.equals("reviewer")) { + return addReviewer(); + } + else if (name.equals("endorser")) { + return addEndorser(); + } + else if (name.equals("relatedArtifact")) { + return addRelatedArtifact(); + } else if (name.equals("sourceScopeUri")) { this.sourceScope = new UriType(); return this.sourceScope; @@ -4363,6 +4757,39 @@ public class ConceptMap extends MetadataResource { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); + dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); + dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); + if (topic != null) { + dst.topic = new ArrayList(); + for (CodeableConcept i : topic) + dst.topic.add(i.copy()); + }; + if (author != null) { + dst.author = new ArrayList(); + for (ContactDetail i : author) + dst.author.add(i.copy()); + }; + if (editor != null) { + dst.editor = new ArrayList(); + for (ContactDetail i : editor) + dst.editor.add(i.copy()); + }; + if (reviewer != null) { + dst.reviewer = new ArrayList(); + for (ContactDetail i : reviewer) + dst.reviewer.add(i.copy()); + }; + if (endorser != null) { + dst.endorser = new ArrayList(); + for (ContactDetail i : endorser) + dst.endorser.add(i.copy()); + }; + if (relatedArtifact != null) { + dst.relatedArtifact = new ArrayList(); + for (RelatedArtifact i : relatedArtifact) + dst.relatedArtifact.add(i.copy()); + }; dst.sourceScope = sourceScope == null ? null : sourceScope.copy(); dst.targetScope = targetScope == null ? null : targetScope.copy(); if (group != null) { @@ -4388,8 +4815,11 @@ public class ConceptMap extends MetadataResource { && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(sourceScope, o.sourceScope, true) && compareDeep(targetScope, o.targetScope, true) - && compareDeep(group, o.group, true); + && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) + && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) + && compareDeep(editor, o.editor, true) && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) + && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(sourceScope, o.sourceScope, true) + && compareDeep(targetScope, o.targetScope, true) && compareDeep(group, o.group, true); } @Override @@ -4402,13 +4832,16 @@ public class ConceptMap extends MetadataResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true); + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) + && compareValues(lastReviewDate, o.lastReviewDate, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , name, title, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, copyright, sourceScope, targetScope, group); + , jurisdiction, purpose, copyright, approvalDate, lastReviewDate, effectivePeriod + , topic, author, editor, reviewer, endorser, relatedArtifact, sourceScope, targetScope + , group); } @Override @@ -4419,17 +4852,17 @@ public class ConceptMap extends MetadataResource { /** * Search parameter: dependson *

- * Description: Reference to property mapping depends on
+ * Description: Other properties required for this mapping
* Type: uri
* Path: ConceptMap.group.element.target.dependsOn.property
*

*/ - @SearchParamDefinition(name="dependson", path="ConceptMap.group.element.target.dependsOn.property", description="Reference to property mapping depends on", type="uri" ) + @SearchParamDefinition(name="dependson", path="ConceptMap.group.element.target.dependsOn.property", description="Other properties required for this mapping", type="uri" ) public static final String SP_DEPENDSON = "dependson"; /** * Fluent Client search parameter constant for dependson *

- * Description: Reference to property mapping depends on
+ * Description: Other properties required for this mapping
* Type: uri
* Path: ConceptMap.group.element.target.dependsOn.property
*

@@ -4437,45 +4870,97 @@ public class ConceptMap extends MetadataResource { public static final ca.uhn.fhir.rest.gclient.UriClientParam DEPENDSON = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_DEPENDSON); /** - * Search parameter: other + * Search parameter: derived-from *

- * Description: canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped
+ * Description: A resource that the ConceptMap is derived from
* Type: reference
- * Path: ConceptMap.group.unmapped.otherMap
+ * Path: ConceptMap.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="other", path="ConceptMap.group.unmapped.otherMap", description="canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped", type="reference", target={ConceptMap.class } ) - public static final String SP_OTHER = "other"; + @SearchParamDefinition(name="derived-from", path="ConceptMap.relatedArtifact.where(type='derived-from').resource", description="A resource that the ConceptMap is derived from", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_DERIVED_FROM = "derived-from"; /** - * Fluent Client search parameter constant for other + * Fluent Client search parameter constant for derived-from *

- * Description: canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped
+ * Description: A resource that the ConceptMap is derived from
* Type: reference
- * Path: ConceptMap.group.unmapped.otherMap
+ * Path: ConceptMap.relatedArtifact.where(type='derived-from').resource
*

*/ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OTHER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OTHER); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ConceptMap:other". + * the path value of "ConceptMap:derived-from". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_OTHER = new ca.uhn.fhir.model.api.Include("ConceptMap:other").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("ConceptMap:derived-from").toLocked(); + + /** + * Search parameter: other-map + *

+ * Description: canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped
+ * Type: reference
+ * Path: ConceptMap.group.unmapped.otherMap
+ *

+ */ + @SearchParamDefinition(name="other-map", path="ConceptMap.group.unmapped.otherMap", description="canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped", type="reference", target={ConceptMap.class } ) + public static final String SP_OTHER_MAP = "other-map"; + /** + * Fluent Client search parameter constant for other-map + *

+ * Description: canonical reference to an additional ConceptMap to use for mapping if the source concept is unmapped
+ * Type: reference
+ * Path: ConceptMap.group.unmapped.otherMap
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OTHER_MAP = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OTHER_MAP); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ConceptMap:other-map". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_OTHER_MAP = new ca.uhn.fhir.model.api.Include("ConceptMap:other-map").toLocked(); + + /** + * Search parameter: predecessor + *

+ * Description: The predecessor of the ConceptMap
+ * Type: reference
+ * Path: ConceptMap.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + @SearchParamDefinition(name="predecessor", path="ConceptMap.relatedArtifact.where(type='predecessor').resource", description="The predecessor of the ConceptMap", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_PREDECESSOR = "predecessor"; + /** + * Fluent Client search parameter constant for predecessor + *

+ * Description: The predecessor of the ConceptMap
+ * Type: reference
+ * Path: ConceptMap.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ConceptMap:predecessor". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("ConceptMap:predecessor").toLocked(); /** * Search parameter: product *

- * Description: Reference to property mapping depends on
+ * Description: Other properties that this mapping also produces
* Type: uri
* Path: ConceptMap.group.element.target.product.property
*

*/ - @SearchParamDefinition(name="product", path="ConceptMap.group.element.target.product.property", description="Reference to property mapping depends on", type="uri" ) + @SearchParamDefinition(name="product", path="ConceptMap.group.element.target.product.property", description="Other properties that this mapping also produces", type="uri" ) public static final String SP_PRODUCT = "product"; /** * Fluent Client search parameter constant for product *

- * Description: Reference to property mapping depends on
+ * Description: Other properties that this mapping also produces
* Type: uri
* Path: ConceptMap.group.element.target.product.property
*

@@ -4485,17 +4970,17 @@ public class ConceptMap extends MetadataResource { /** * Search parameter: source-code *

- * Description: Identifies element being mapped
+ * Description: Identifies elements being mapped
* Type: token
* Path: ConceptMap.group.element.code
*

*/ - @SearchParamDefinition(name="source-code", path="ConceptMap.group.element.code", description="Identifies element being mapped", type="token" ) + @SearchParamDefinition(name="source-code", path="ConceptMap.group.element.code", description="Identifies elements being mapped", type="token" ) public static final String SP_SOURCE_CODE = "source-code"; /** * Fluent Client search parameter constant for source-code *

- * Description: Identifies element being mapped
+ * Description: Identifies elements being mapped
* Type: token
* Path: ConceptMap.group.element.code
*

@@ -4503,76 +4988,76 @@ public class ConceptMap extends MetadataResource { public static final ca.uhn.fhir.rest.gclient.TokenClientParam SOURCE_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SOURCE_CODE); /** - * Search parameter: source-system + * Search parameter: source-group-system *

* Description: Source system where concepts to be mapped are defined
- * Type: uri
+ * Type: reference
* Path: ConceptMap.group.source
*

*/ - @SearchParamDefinition(name="source-system", path="ConceptMap.group.source", description="Source system where concepts to be mapped are defined", type="uri" ) - public static final String SP_SOURCE_SYSTEM = "source-system"; + @SearchParamDefinition(name="source-group-system", path="ConceptMap.group.source", description="Source system where concepts to be mapped are defined", type="reference", target={CodeSystem.class } ) + public static final String SP_SOURCE_GROUP_SYSTEM = "source-group-system"; /** - * Fluent Client search parameter constant for source-system + * Fluent Client search parameter constant for source-group-system *

* Description: Source system where concepts to be mapped are defined
- * Type: uri
+ * Type: reference
* Path: ConceptMap.group.source
*

*/ - public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SOURCE_SYSTEM); - - /** - * Search parameter: source-uri - *

- * Description: The source value set that contains the concepts that are being mapped
- * Type: reference
- * Path: (ConceptMap.sourceScope as uri)
- *

- */ - @SearchParamDefinition(name="source-uri", path="(ConceptMap.sourceScope as uri)", description="The source value set that contains the concepts that are being mapped", type="reference", target={ValueSet.class } ) - public static final String SP_SOURCE_URI = "source-uri"; - /** - * Fluent Client search parameter constant for source-uri - *

- * Description: The source value set that contains the concepts that are being mapped
- * Type: reference
- * Path: (ConceptMap.sourceScope as uri)
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE_URI); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_GROUP_SYSTEM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE_GROUP_SYSTEM); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ConceptMap:source-uri". + * the path value of "ConceptMap:source-group-system". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_URI = new ca.uhn.fhir.model.api.Include("ConceptMap:source-uri").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_GROUP_SYSTEM = new ca.uhn.fhir.model.api.Include("ConceptMap:source-group-system").toLocked(); /** - * Search parameter: source + * Search parameter: source-scope-uri + *

+ * Description: The URI for the source value set that contains the concepts being mapped
+ * Type: uri
+ * Path: (ConceptMap.sourceScope as uri)
+ *

+ */ + @SearchParamDefinition(name="source-scope-uri", path="(ConceptMap.sourceScope as uri)", description="The URI for the source value set that contains the concepts being mapped", type="uri" ) + public static final String SP_SOURCE_SCOPE_URI = "source-scope-uri"; + /** + * Fluent Client search parameter constant for source-scope-uri + *

+ * Description: The URI for the source value set that contains the concepts being mapped
+ * Type: uri
+ * Path: (ConceptMap.sourceScope as uri)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.UriClientParam SOURCE_SCOPE_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_SOURCE_SCOPE_URI); + + /** + * Search parameter: source-scope *

* Description: The source value set that contains the concepts that are being mapped
* Type: reference
* Path: (ConceptMap.sourceScope as canonical)
*

*/ - @SearchParamDefinition(name="source", path="(ConceptMap.sourceScope as canonical)", description="The source value set that contains the concepts that are being mapped", type="reference", target={ValueSet.class } ) - public static final String SP_SOURCE = "source"; + @SearchParamDefinition(name="source-scope", path="(ConceptMap.sourceScope as canonical)", description="The source value set that contains the concepts that are being mapped", type="reference", target={ValueSet.class } ) + public static final String SP_SOURCE_SCOPE = "source-scope"; /** - * Fluent Client search parameter constant for source + * Fluent Client search parameter constant for source-scope *

* Description: The source value set that contains the concepts that are being mapped
* Type: reference
* Path: (ConceptMap.sourceScope as canonical)
*

*/ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SOURCE_SCOPE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SOURCE_SCOPE); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ConceptMap:source". + * the path value of "ConceptMap:source-scope". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE = new ca.uhn.fhir.model.api.Include("ConceptMap:source").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_SOURCE_SCOPE = new ca.uhn.fhir.model.api.Include("ConceptMap:source-scope").toLocked(); /** * Search parameter: target-code @@ -4595,76 +5080,96 @@ public class ConceptMap extends MetadataResource { public static final ca.uhn.fhir.rest.gclient.TokenClientParam TARGET_CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TARGET_CODE); /** - * Search parameter: target-system + * Search parameter: target-group-system *

* Description: Target system that the concepts are to be mapped to
- * Type: uri
+ * Type: reference
* Path: ConceptMap.group.target
*

*/ - @SearchParamDefinition(name="target-system", path="ConceptMap.group.target", description="Target system that the concepts are to be mapped to", type="uri" ) - public static final String SP_TARGET_SYSTEM = "target-system"; + @SearchParamDefinition(name="target-group-system", path="ConceptMap.group.target", description="Target system that the concepts are to be mapped to", type="reference", target={CodeSystem.class } ) + public static final String SP_TARGET_GROUP_SYSTEM = "target-group-system"; /** - * Fluent Client search parameter constant for target-system + * Fluent Client search parameter constant for target-group-system *

* Description: Target system that the concepts are to be mapped to
- * Type: uri
+ * Type: reference
* Path: ConceptMap.group.target
*

*/ - public static final ca.uhn.fhir.rest.gclient.UriClientParam TARGET_SYSTEM = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_TARGET_SYSTEM); - - /** - * Search parameter: target-uri - *

- * Description: The target value set which provides context for the mappings
- * Type: reference
- * Path: (ConceptMap.targetScope as uri)
- *

- */ - @SearchParamDefinition(name="target-uri", path="(ConceptMap.targetScope as uri)", description="The target value set which provides context for the mappings", type="reference", target={ValueSet.class } ) - public static final String SP_TARGET_URI = "target-uri"; - /** - * Fluent Client search parameter constant for target-uri - *

- * Description: The target value set which provides context for the mappings
- * Type: reference
- * Path: (ConceptMap.targetScope as uri)
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET_URI = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET_URI); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET_GROUP_SYSTEM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET_GROUP_SYSTEM); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ConceptMap:target-uri". + * the path value of "ConceptMap:target-group-system". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET_URI = new ca.uhn.fhir.model.api.Include("ConceptMap:target-uri").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET_GROUP_SYSTEM = new ca.uhn.fhir.model.api.Include("ConceptMap:target-group-system").toLocked(); /** - * Search parameter: target + * Search parameter: target-scope-uri + *

+ * Description: The URI for the target value set that contains the concepts being mapped.
+ * Type: uri
+ * Path: (ConceptMap.targetScope as uri)
+ *

+ */ + @SearchParamDefinition(name="target-scope-uri", path="(ConceptMap.targetScope as uri)", description="The URI for the target value set that contains the concepts being mapped.", type="uri" ) + public static final String SP_TARGET_SCOPE_URI = "target-scope-uri"; + /** + * Fluent Client search parameter constant for target-scope-uri + *

+ * Description: The URI for the target value set that contains the concepts being mapped.
+ * Type: uri
+ * Path: (ConceptMap.targetScope as uri)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.UriClientParam TARGET_SCOPE_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_TARGET_SCOPE_URI); + + /** + * Search parameter: target-scope *

* Description: The target value set which provides context for the mappings
* Type: reference
* Path: (ConceptMap.targetScope as canonical)
*

*/ - @SearchParamDefinition(name="target", path="(ConceptMap.targetScope as canonical)", description="The target value set which provides context for the mappings", type="reference", target={ValueSet.class } ) - public static final String SP_TARGET = "target"; + @SearchParamDefinition(name="target-scope", path="(ConceptMap.targetScope as canonical)", description="The target value set which provides context for the mappings", type="reference", target={ValueSet.class } ) + public static final String SP_TARGET_SCOPE = "target-scope"; /** - * Fluent Client search parameter constant for target + * Fluent Client search parameter constant for target-scope *

* Description: The target value set which provides context for the mappings
* Type: reference
* Path: (ConceptMap.targetScope as canonical)
*

*/ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam TARGET_SCOPE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_TARGET_SCOPE); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ConceptMap:target". + * the path value of "ConceptMap:target-scope". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET = new ca.uhn.fhir.model.api.Include("ConceptMap:target").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_TARGET_SCOPE = new ca.uhn.fhir.model.api.Include("ConceptMap:target-scope").toLocked(); + + /** + * Search parameter: topic + *

+ * Description: Topics associated with the ConceptMap
+ * Type: token
+ * Path: ConceptMap.topic
+ *

+ */ + @SearchParamDefinition(name="topic", path="ConceptMap.topic", description="Topics associated with the ConceptMap", type="token" ) + public static final String SP_TOPIC = "topic"; + /** + * Fluent Client search parameter constant for topic + *

+ * Description: Topics associated with the ConceptMap
+ * Type: token
+ * Path: ConceptMap.topic
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); /** * Search parameter: context-quantity @@ -5030,6 +5535,38 @@ public class ConceptMap extends MetadataResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); + /** + * Search parameter: effective + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use +* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use +* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use +* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use +
+ * Type: date
+ * Path: CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod
+ *

+ */ + @SearchParamDefinition(name="effective", path="CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use\r\n* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use\r\n* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use\r\n* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use\r\n", type="date" ) + public static final String SP_EFFECTIVE = "effective"; + /** + * Fluent Client search parameter constant for effective + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use +* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use +* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use +* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use +
+ * Type: date
+ * Path: CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); + /** * Search parameter: identifier *

@@ -5038,16 +5575,17 @@ public class ConceptMap extends MetadataResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -5057,13 +5595,14 @@ public class ConceptMap extends MetadataResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -5326,7 +5865,7 @@ public class ConceptMap extends MetadataResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -5342,7 +5881,7 @@ public class ConceptMap extends MetadataResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -5352,7 +5891,7 @@ public class ConceptMap extends MetadataResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Condition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Condition.java index 836d76a04..e9e63a09c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Condition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Condition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1862,17 +1862,17 @@ public class Condition extends DomainResource { *

* Description: Abatement as age or age range
* Type: quantity
- * Path: Condition.abatement.as(Age) | Condition.abatement.as(Range)
+ * Path: Condition.abatement.ofType(Age) | Condition.abatement.ofType(Range)
*

*/ - @SearchParamDefinition(name="abatement-age", path="Condition.abatement.as(Age) | Condition.abatement.as(Range)", description="Abatement as age or age range", type="quantity" ) + @SearchParamDefinition(name="abatement-age", path="Condition.abatement.ofType(Age) | Condition.abatement.ofType(Range)", description="Abatement as age or age range", type="quantity" ) public static final String SP_ABATEMENT_AGE = "abatement-age"; /** * Fluent Client search parameter constant for abatement-age *

* Description: Abatement as age or age range
* Type: quantity
- * Path: Condition.abatement.as(Age) | Condition.abatement.as(Range)
+ * Path: Condition.abatement.ofType(Age) | Condition.abatement.ofType(Range)
*

*/ public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ABATEMENT_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ABATEMENT_AGE); @@ -1882,17 +1882,17 @@ public class Condition extends DomainResource { *

* Description: Date-related abatements (dateTime and period)
* Type: date
- * Path: Condition.abatement.as(dateTime) | Condition.abatement.as(Period)
+ * Path: Condition.abatement.ofType(dateTime) | Condition.abatement.ofType(Period)
*

*/ - @SearchParamDefinition(name="abatement-date", path="Condition.abatement.as(dateTime) | Condition.abatement.as(Period)", description="Date-related abatements (dateTime and period)", type="date" ) + @SearchParamDefinition(name="abatement-date", path="Condition.abatement.ofType(dateTime) | Condition.abatement.ofType(Period)", description="Date-related abatements (dateTime and period)", type="date" ) public static final String SP_ABATEMENT_DATE = "abatement-date"; /** * Fluent Client search parameter constant for abatement-date *

* Description: Date-related abatements (dateTime and period)
* Type: date
- * Path: Condition.abatement.as(dateTime) | Condition.abatement.as(Period)
+ * Path: Condition.abatement.ofType(dateTime) | Condition.abatement.ofType(Period)
*

*/ public static final ca.uhn.fhir.rest.gclient.DateClientParam ABATEMENT_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ABATEMENT_DATE); @@ -1902,17 +1902,17 @@ public class Condition extends DomainResource { *

* Description: Abatement as a string
* Type: string
- * Path: Condition.abatement.as(string)
+ * Path: Condition.abatement.ofType(string)
*

*/ - @SearchParamDefinition(name="abatement-string", path="Condition.abatement.as(string)", description="Abatement as a string", type="string" ) + @SearchParamDefinition(name="abatement-string", path="Condition.abatement.ofType(string)", description="Abatement as a string", type="string" ) public static final String SP_ABATEMENT_STRING = "abatement-string"; /** * Fluent Client search parameter constant for abatement-string *

* Description: Abatement as a string
* Type: string
- * Path: Condition.abatement.as(string)
+ * Path: Condition.abatement.ofType(string)
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ABATEMENT_STRING = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ABATEMENT_STRING); @@ -2054,17 +2054,17 @@ public class Condition extends DomainResource { *

* Description: Onsets as age or age range
* Type: quantity
- * Path: Condition.onset.as(Age) | Condition.onset.as(Range)
+ * Path: Condition.onset.ofType(Age) | Condition.onset.ofType(Range)
*

*/ - @SearchParamDefinition(name="onset-age", path="Condition.onset.as(Age) | Condition.onset.as(Range)", description="Onsets as age or age range", type="quantity" ) + @SearchParamDefinition(name="onset-age", path="Condition.onset.ofType(Age) | Condition.onset.ofType(Range)", description="Onsets as age or age range", type="quantity" ) public static final String SP_ONSET_AGE = "onset-age"; /** * Fluent Client search parameter constant for onset-age *

* Description: Onsets as age or age range
* Type: quantity
- * Path: Condition.onset.as(Age) | Condition.onset.as(Range)
+ * Path: Condition.onset.ofType(Age) | Condition.onset.ofType(Range)
*

*/ public static final ca.uhn.fhir.rest.gclient.QuantityClientParam ONSET_AGE = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_ONSET_AGE); @@ -2074,17 +2074,17 @@ public class Condition extends DomainResource { *

* Description: Date related onsets (dateTime and Period)
* Type: date
- * Path: Condition.onset.as(dateTime) | Condition.onset.as(Period)
+ * Path: Condition.onset.ofType(dateTime) | Condition.onset.ofType(Period)
*

*/ - @SearchParamDefinition(name="onset-date", path="Condition.onset.as(dateTime) | Condition.onset.as(Period)", description="Date related onsets (dateTime and Period)", type="date" ) + @SearchParamDefinition(name="onset-date", path="Condition.onset.ofType(dateTime) | Condition.onset.ofType(Period)", description="Date related onsets (dateTime and Period)", type="date" ) public static final String SP_ONSET_DATE = "onset-date"; /** * Fluent Client search parameter constant for onset-date *

* Description: Date related onsets (dateTime and Period)
* Type: date
- * Path: Condition.onset.as(dateTime) | Condition.onset.as(Period)
+ * Path: Condition.onset.ofType(dateTime) | Condition.onset.ofType(Period)
*

*/ public static final ca.uhn.fhir.rest.gclient.DateClientParam ONSET_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_ONSET_DATE); @@ -2094,17 +2094,17 @@ public class Condition extends DomainResource { *

* Description: Onsets as a string
* Type: string
- * Path: Condition.onset.as(string)
+ * Path: Condition.onset.ofType(string)
*

*/ - @SearchParamDefinition(name="onset-info", path="Condition.onset.as(string)", description="Onsets as a string", type="string" ) + @SearchParamDefinition(name="onset-info", path="Condition.onset.ofType(string)", description="Onsets as a string", type="string" ) public static final String SP_ONSET_INFO = "onset-info"; /** * Fluent Client search parameter constant for onset-info *

* Description: Onsets as a string
* Type: string
- * Path: Condition.onset.as(string)
+ * Path: Condition.onset.ofType(string)
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ONSET_INFO = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ONSET_INFO); @@ -2279,13 +2279,12 @@ public class Condition extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -2305,10 +2304,9 @@ public class Condition extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -2427,7 +2425,7 @@ public class Condition extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2436,10 +2434,10 @@ public class Condition extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2471,7 +2469,7 @@ public class Condition extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2480,7 +2478,7 @@ public class Condition extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConditionDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConditionDefinition.java index b5e2e5e21..a1459a6fe 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConditionDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ConditionDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1426,10 +1426,10 @@ public class ConditionDefinition extends MetadataResource { } /** - * An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. + * An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this condition definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this condition definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers." ) protected UriType url; /** @@ -1490,10 +1490,10 @@ public class ConditionDefinition extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the condition definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition. */ @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the condition definition." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition." ) protected StringType publisher; /** @@ -1646,7 +1646,7 @@ public class ConditionDefinition extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1666,7 +1666,7 @@ public class ConditionDefinition extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public ConditionDefinition setUrlElement(UriType value) { this.url = value; @@ -1674,14 +1674,14 @@ public class ConditionDefinition extends MetadataResource { } /** - * @return An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. + * @return An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. + * @param value An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers. */ public ConditionDefinition setUrl(String value) { if (Utilities.noString(value)) @@ -2083,7 +2083,7 @@ public class ConditionDefinition extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the condition definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -2103,7 +2103,7 @@ public class ConditionDefinition extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the condition definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ConditionDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -2111,14 +2111,14 @@ public class ConditionDefinition extends MetadataResource { } /** - * @return The name of the organization or individual that published the condition definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the condition definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition. */ public ConditionDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -2949,6 +2949,47 @@ public class ConditionDefinition extends MetadataResource { return getPlan().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ConditionDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** * not supported on this implementation */ @@ -2974,16 +3015,16 @@ public class ConditionDefinition extends MetadataResource { * @param value {@link #purpose} (Explanation of why this condition definition is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value */ public ConditionDefinition setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); } public String getPurpose() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); } /** * @param value Explanation of why this condition definition is needed and why it has been designed as it has. */ public ConditionDefinition setPurpose(String value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"purpose\""); } /** * not supported on this implementation @@ -3010,16 +3051,52 @@ public class ConditionDefinition extends MetadataResource { * @param value {@link #copyright} (A copyright statement relating to the condition definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the condition definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public ConditionDefinition setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); } public String getCopyright() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); } /** * @param value A copyright statement relating to the condition definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the condition definition. */ public ConditionDefinition setCopyright(String value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyright\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ConditionDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public ConditionDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"copyrightLabel\""); } /** * not supported on this implementation @@ -3046,16 +3123,16 @@ public class ConditionDefinition extends MetadataResource { * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value */ public ConditionDefinition setApprovalDateElement(DateType value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); } public Date getApprovalDate() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); } /** * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. */ public ConditionDefinition setApprovalDate(Date value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"approvalDate\""); } /** * not supported on this implementation @@ -3082,16 +3159,16 @@ public class ConditionDefinition extends MetadataResource { * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value */ public ConditionDefinition setLastReviewDateElement(DateType value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); } public Date getLastReviewDate() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); } /** * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. */ public ConditionDefinition setLastReviewDate(Date value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"lastReviewDate\""); } /** * not supported on this implementation @@ -3104,7 +3181,7 @@ public class ConditionDefinition extends MetadataResource { * @return {@link #effectivePeriod} (The period during which the condition definition content was or is planned to be in active use.) */ public Period getEffectivePeriod() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"effectivePeriod\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"effectivePeriod\""); } public boolean hasEffectivePeriod() { return false; @@ -3113,7 +3190,7 @@ public class ConditionDefinition extends MetadataResource { * @param value {@link #effectivePeriod} (The period during which the condition definition content was or is planned to be in active use.) */ public ConditionDefinition setEffectivePeriod(Period value) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"effectivePeriod\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"effectivePeriod\""); } /** @@ -3124,7 +3201,7 @@ public class ConditionDefinition extends MetadataResource { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the condition definition. Topics provide a high-level categorization of the condition definition that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the condition definition. Topics provide a high-level categorization as well as keywords for the condition definition that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -3133,23 +3210,23 @@ public class ConditionDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ConditionDefinition setTopic(List theTopic) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); } public ConditionDefinition addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"topic\""); } /** * not supported on this implementation @@ -3168,23 +3245,23 @@ public class ConditionDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ConditionDefinition setAuthor(List theAuthor) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); } public boolean hasAuthor() { return false; } public ContactDetail addAuthor() { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); } public ConditionDefinition addAuthor(ContactDetail t) { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); } /** * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} */ public ContactDetail getAuthorFirstRep() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"author\""); } /** * not supported on this implementation @@ -3203,23 +3280,23 @@ public class ConditionDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ConditionDefinition setEditor(List theEditor) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); } public boolean hasEditor() { return false; } public ContactDetail addEditor() { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); } public ConditionDefinition addEditor(ContactDetail t) { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); } /** * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} */ public ContactDetail getEditorFirstRep() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"editor\""); } /** * not supported on this implementation @@ -3238,23 +3315,23 @@ public class ConditionDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ConditionDefinition setReviewer(List theReviewer) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); } public boolean hasReviewer() { return false; } public ContactDetail addReviewer() { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); } public ConditionDefinition addReviewer(ContactDetail t) { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); } /** * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} */ public ContactDetail getReviewerFirstRep() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"reviewer\""); } /** * not supported on this implementation @@ -3273,23 +3350,23 @@ public class ConditionDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ConditionDefinition setEndorser(List theEndorser) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); } public boolean hasEndorser() { return false; } public ContactDetail addEndorser() { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); } public ConditionDefinition addEndorser(ContactDetail t) { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); } /** * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} */ public ContactDetail getEndorserFirstRep() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"endorser\""); } /** * not supported on this implementation @@ -3308,27 +3385,27 @@ public class ConditionDefinition extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public ConditionDefinition setRelatedArtifact(List theRelatedArtifact) { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); } public boolean hasRelatedArtifact() { return false; } public RelatedArtifact addRelatedArtifact() { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); } public ConditionDefinition addRelatedArtifact(RelatedArtifact t) { //3 - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); } /** * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} */ public RelatedArtifact getRelatedArtifactFirstRep() { - throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"ConditionDefinition\" does not implement the property \"relatedArtifact\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -3337,7 +3414,7 @@ public class ConditionDefinition extends MetadataResource { children.add(new Property("status", "code", "The status of this condition definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the condition definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the condition definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate condition definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -3361,7 +3438,7 @@ public class ConditionDefinition extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this condition definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this condition definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the condition definition is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this condition definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the condition definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the condition definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the condition definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -3370,7 +3447,7 @@ public class ConditionDefinition extends MetadataResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this condition definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this condition definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the condition definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the condition definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the condition definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the condition definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the condition definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate condition definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Consent.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Consent.java index 2f7851b80..e8924dd7e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Consent.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Consent.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,230 +53,6 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="Consent", profile="http://hl7.org/fhir/StructureDefinition/Consent") public class Consent extends DomainResource { - public enum ConsentDataMeaning { - /** - * The consent applies directly to the instance of the resource. - */ - INSTANCE, - /** - * The consent applies directly to the instance of the resource and instances it refers to. - */ - RELATED, - /** - * The consent applies directly to the instance of the resource and instances that refer to it. - */ - DEPENDENTS, - /** - * The consent applies to instances of resources that are authored by. - */ - AUTHOREDBY, - /** - * added to help the parsers with the generic types - */ - NULL; - public static ConsentDataMeaning fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("instance".equals(codeString)) - return INSTANCE; - if ("related".equals(codeString)) - return RELATED; - if ("dependents".equals(codeString)) - return DEPENDENTS; - if ("authoredby".equals(codeString)) - return AUTHOREDBY; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown ConsentDataMeaning code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case INSTANCE: return "instance"; - case RELATED: return "related"; - case DEPENDENTS: return "dependents"; - case AUTHOREDBY: return "authoredby"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case INSTANCE: return "http://hl7.org/fhir/consent-data-meaning"; - case RELATED: return "http://hl7.org/fhir/consent-data-meaning"; - case DEPENDENTS: return "http://hl7.org/fhir/consent-data-meaning"; - case AUTHOREDBY: return "http://hl7.org/fhir/consent-data-meaning"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case INSTANCE: return "The consent applies directly to the instance of the resource."; - case RELATED: return "The consent applies directly to the instance of the resource and instances it refers to."; - case DEPENDENTS: return "The consent applies directly to the instance of the resource and instances that refer to it."; - case AUTHOREDBY: return "The consent applies to instances of resources that are authored by."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case INSTANCE: return "Instance"; - case RELATED: return "Related"; - case DEPENDENTS: return "Dependents"; - case AUTHOREDBY: return "AuthoredBy"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class ConsentDataMeaningEnumFactory implements EnumFactory { - public ConsentDataMeaning fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("instance".equals(codeString)) - return ConsentDataMeaning.INSTANCE; - if ("related".equals(codeString)) - return ConsentDataMeaning.RELATED; - if ("dependents".equals(codeString)) - return ConsentDataMeaning.DEPENDENTS; - if ("authoredby".equals(codeString)) - return ConsentDataMeaning.AUTHOREDBY; - throw new IllegalArgumentException("Unknown ConsentDataMeaning code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("instance".equals(codeString)) - return new Enumeration(this, ConsentDataMeaning.INSTANCE); - if ("related".equals(codeString)) - return new Enumeration(this, ConsentDataMeaning.RELATED); - if ("dependents".equals(codeString)) - return new Enumeration(this, ConsentDataMeaning.DEPENDENTS); - if ("authoredby".equals(codeString)) - return new Enumeration(this, ConsentDataMeaning.AUTHOREDBY); - throw new FHIRException("Unknown ConsentDataMeaning code '"+codeString+"'"); - } - public String toCode(ConsentDataMeaning code) { - if (code == ConsentDataMeaning.INSTANCE) - return "instance"; - if (code == ConsentDataMeaning.RELATED) - return "related"; - if (code == ConsentDataMeaning.DEPENDENTS) - return "dependents"; - if (code == ConsentDataMeaning.AUTHOREDBY) - return "authoredby"; - return "?"; - } - public String toSystem(ConsentDataMeaning code) { - return code.getSystem(); - } - } - - public enum ConsentProvisionType { - /** - * Consent is denied for actions meeting these rules. - */ - DENY, - /** - * Consent is provided for actions meeting these rules. - */ - PERMIT, - /** - * added to help the parsers with the generic types - */ - NULL; - public static ConsentProvisionType fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("deny".equals(codeString)) - return DENY; - if ("permit".equals(codeString)) - return PERMIT; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown ConsentProvisionType code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case DENY: return "deny"; - case PERMIT: return "permit"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case DENY: return "http://hl7.org/fhir/consent-provision-type"; - case PERMIT: return "http://hl7.org/fhir/consent-provision-type"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case DENY: return "Consent is denied for actions meeting these rules."; - case PERMIT: return "Consent is provided for actions meeting these rules."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case DENY: return "Deny"; - case PERMIT: return "Permit"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class ConsentProvisionTypeEnumFactory implements EnumFactory { - public ConsentProvisionType fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("deny".equals(codeString)) - return ConsentProvisionType.DENY; - if ("permit".equals(codeString)) - return ConsentProvisionType.PERMIT; - throw new IllegalArgumentException("Unknown ConsentProvisionType code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("deny".equals(codeString)) - return new Enumeration(this, ConsentProvisionType.DENY); - if ("permit".equals(codeString)) - return new Enumeration(this, ConsentProvisionType.PERMIT); - throw new FHIRException("Unknown ConsentProvisionType code '"+codeString+"'"); - } - public String toCode(ConsentProvisionType code) { - if (code == ConsentProvisionType.DENY) - return "deny"; - if (code == ConsentProvisionType.PERMIT) - return "permit"; - return "?"; - } - public String toSystem(ConsentProvisionType code) { - return code.getSystem(); - } - } - public enum ConsentState { /** * The consent is in development or awaiting use but is not yet intended to be acted upon. @@ -3831,7 +3607,7 @@ public class Consent extends DomainResource { * Path: Consent.provision.data.reference
*

*/ - @SearchParamDefinition(name="data", path="Consent.provision.data.reference", description="The actual data reference", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="data", path="Consent.provision.data.reference", description="The actual data reference", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DATA = "data"; /** * Fluent Client search parameter constant for data @@ -4245,7 +4021,7 @@ public class Consent extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4254,10 +4030,10 @@ public class Consent extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4289,7 +4065,7 @@ public class Consent extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4298,7 +4074,7 @@ public class Consent extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Constants.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Constants.java index ff1bb147c..2652a598d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Constants.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Constants.java @@ -30,17 +30,17 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR v5.0.0-ballot public class Constants { - public final static String LOCAL_REF_REGEX = "(Account|ActivityDefinition|AdministrableProductDefinition|AdverseEvent|AllergyIntolerance|Appointment|AppointmentResponse|ArtifactAssessment|AuditEvent|Basic|Binary|BiologicallyDerivedProduct|BodyStructure|Bundle|CapabilityStatement|CapabilityStatement2|CarePlan|CareTeam|ChargeItem|ChargeItemDefinition|Citation|Claim|ClaimResponse|ClinicalImpression|ClinicalUseDefinition|CodeSystem|Communication|CommunicationRequest|CompartmentDefinition|Composition|ConceptMap|Condition|ConditionDefinition|Consent|Contract|Coverage|CoverageEligibilityRequest|CoverageEligibilityResponse|DetectedIssue|Device|DeviceDefinition|DeviceDispense|DeviceMetric|DeviceRequest|DeviceUsage|DiagnosticReport|DocumentManifest|DocumentReference|Encounter|Endpoint|EnrollmentRequest|EnrollmentResponse|EpisodeOfCare|EventDefinition|Evidence|EvidenceReport|EvidenceVariable|ExampleScenario|ExplanationOfBenefit|FamilyMemberHistory|Flag|FormularyItem|Goal|GraphDefinition|Group|GuidanceResponse|HealthcareService|ImagingSelection|ImagingStudy|Immunization|ImmunizationEvaluation|ImmunizationRecommendation|ImplementationGuide|Ingredient|InsurancePlan|InventoryReport|Invoice|Library|Linkage|List|Location|ManufacturedItemDefinition|Measure|MeasureReport|Medication|MedicationAdministration|MedicationDispense|MedicationKnowledge|MedicationRequest|MedicationUsage|MedicinalProductDefinition|MessageDefinition|MessageHeader|MolecularSequence|NamingSystem|NutritionIntake|NutritionOrder|NutritionProduct|Observation|ObservationDefinition|OperationDefinition|OperationOutcome|Organization|OrganizationAffiliation|PackagedProductDefinition|Parameters|Patient|PaymentNotice|PaymentReconciliation|Permission|Person|PlanDefinition|Practitioner|PractitionerRole|Procedure|Provenance|Questionnaire|QuestionnaireResponse|RegulatedAuthorization|RelatedPerson|RequestGroup|ResearchStudy|ResearchSubject|RiskAssessment|Schedule|SearchParameter|ServiceRequest|Slot|Specimen|SpecimenDefinition|StructureDefinition|StructureMap|Subscription|SubscriptionStatus|SubscriptionTopic|Substance|SubstanceDefinition|SubstanceNucleicAcid|SubstancePolymer|SubstanceProtein|SubstanceReferenceInformation|SubstanceSourceMaterial|SupplyDelivery|SupplyRequest|Task|TerminologyCapabilities|TestReport|TestScript|Transport|ValueSet|VerificationResult|VisionPrescription)\\\\/[A-Za-z0-9\\\\-\\\\.]{1,64}"; + public final static String LOCAL_REF_REGEX = "(Account|ActivityDefinition|ActorDefinition|AdministrableProductDefinition|AdverseEvent|AllergyIntolerance|Appointment|AppointmentResponse|ArtifactAssessment|AuditEvent|Basic|Binary|BiologicallyDerivedProduct|BodyStructure|Bundle|CapabilityStatement|CarePlan|CareTeam|ChargeItem|ChargeItemDefinition|Citation|Claim|ClaimResponse|ClinicalImpression|ClinicalUseDefinition|CodeSystem|Communication|CommunicationRequest|CompartmentDefinition|Composition|ConceptMap|Condition|ConditionDefinition|Consent|Contract|Coverage|CoverageEligibilityRequest|CoverageEligibilityResponse|DetectedIssue|Device|DeviceDefinition|DeviceDispense|DeviceMetric|DeviceRequest|DeviceUsage|DiagnosticReport|DocumentManifest|DocumentReference|Encounter|Endpoint|EnrollmentRequest|EnrollmentResponse|EpisodeOfCare|EventDefinition|Evidence|EvidenceReport|EvidenceVariable|ExampleScenario|ExplanationOfBenefit|FamilyMemberHistory|Flag|FormularyItem|GenomicStudy|Goal|GraphDefinition|Group|GuidanceResponse|HealthcareService|ImagingSelection|ImagingStudy|Immunization|ImmunizationEvaluation|ImmunizationRecommendation|ImplementationGuide|Ingredient|InsurancePlan|InventoryReport|Invoice|Library|Linkage|List|Location|ManufacturedItemDefinition|Measure|MeasureReport|Medication|MedicationAdministration|MedicationDispense|MedicationKnowledge|MedicationRequest|MedicationUsage|MedicinalProductDefinition|MessageDefinition|MessageHeader|MolecularSequence|NamingSystem|NutritionIntake|NutritionOrder|NutritionProduct|Observation|ObservationDefinition|OperationDefinition|OperationOutcome|Organization|OrganizationAffiliation|PackagedProductDefinition|Parameters|Patient|PaymentNotice|PaymentReconciliation|Permission|Person|PlanDefinition|Practitioner|PractitionerRole|Procedure|Provenance|Questionnaire|QuestionnaireResponse|RegulatedAuthorization|RelatedPerson|RequestGroup|RequestOrchestration|Requirements|ResearchStudy|ResearchSubject|RiskAssessment|Schedule|SearchParameter|ServiceRequest|Slot|Specimen|SpecimenDefinition|StructureDefinition|StructureMap|Subscription|SubscriptionStatus|SubscriptionTopic|Substance|SubstanceDefinition|SubstanceNucleicAcid|SubstancePolymer|SubstanceProtein|SubstanceReferenceInformation|SubstanceSourceMaterial|SupplyDelivery|SupplyRequest|Task|TerminologyCapabilities|TestReport|TestScript|Transport|ValueSet|VerificationResult|VisionPrescription)\\\\/[A-Za-z0-9\\\\-\\\\.]{1,64}"; public final static String NS_SYSTEM_TYPE = "http://hl7.org/fhirpath/System."; - public final static String VERSION = "5.0.0-snapshot2"; + public final static String VERSION = "5.0.0-ballot"; public final static String VERSION_MM = "5.0"; - public final static String DATE = "Fri, Jul 15, 2022 11:20+1000"; - public final static String URI_REGEX = "((http|https)://([A-Za-z0-9\\\\\\.\\:\\%\\$]*\\/)*)?(Account|ActivityDefinition|AdministrableProductDefinition|AdverseEvent|AllergyIntolerance|Appointment|AppointmentResponse|ArtifactAssessment|AuditEvent|Basic|Binary|BiologicallyDerivedProduct|BodyStructure|Bundle|CapabilityStatement|CapabilityStatement2|CarePlan|CareTeam|ChargeItem|ChargeItemDefinition|Citation|Claim|ClaimResponse|ClinicalImpression|ClinicalUseDefinition|CodeSystem|Communication|CommunicationRequest|CompartmentDefinition|Composition|ConceptMap|Condition|ConditionDefinition|Consent|Contract|Coverage|CoverageEligibilityRequest|CoverageEligibilityResponse|DetectedIssue|Device|DeviceDefinition|DeviceDispense|DeviceMetric|DeviceRequest|DeviceUsage|DiagnosticReport|DocumentManifest|DocumentReference|Encounter|Endpoint|EnrollmentRequest|EnrollmentResponse|EpisodeOfCare|EventDefinition|Evidence|EvidenceReport|EvidenceVariable|ExampleScenario|ExplanationOfBenefit|FamilyMemberHistory|Flag|FormularyItem|Goal|GraphDefinition|Group|GuidanceResponse|HealthcareService|ImagingSelection|ImagingStudy|Immunization|ImmunizationEvaluation|ImmunizationRecommendation|ImplementationGuide|Ingredient|InsurancePlan|InventoryReport|Invoice|Library|Linkage|List|Location|ManufacturedItemDefinition|Measure|MeasureReport|Medication|MedicationAdministration|MedicationDispense|MedicationKnowledge|MedicationRequest|MedicationUsage|MedicinalProductDefinition|MessageDefinition|MessageHeader|MolecularSequence|NamingSystem|NutritionIntake|NutritionOrder|NutritionProduct|Observation|ObservationDefinition|OperationDefinition|OperationOutcome|Organization|OrganizationAffiliation|PackagedProductDefinition|Parameters|Patient|PaymentNotice|PaymentReconciliation|Permission|Person|PlanDefinition|Practitioner|PractitionerRole|Procedure|Provenance|Questionnaire|QuestionnaireResponse|RegulatedAuthorization|RelatedPerson|RequestGroup|ResearchStudy|ResearchSubject|RiskAssessment|Schedule|SearchParameter|ServiceRequest|Slot|Specimen|SpecimenDefinition|StructureDefinition|StructureMap|Subscription|SubscriptionStatus|SubscriptionTopic|Substance|SubstanceDefinition|SubstanceNucleicAcid|SubstancePolymer|SubstanceProtein|SubstanceReferenceInformation|SubstanceSourceMaterial|SupplyDelivery|SupplyRequest|Task|TerminologyCapabilities|TestReport|TestScript|Transport|ValueSet|VerificationResult|VisionPrescription)\\/[A-Za-z0-9\\-\\.]{1,64}(\\/_history\\/[A-Za-z0-9\\-\\.]{1,64})?"; + public final static String DATE = "Mon, Sep 5, 2022 20:11+1000"; + public final static String URI_REGEX = "((http|https)://([A-Za-z0-9\\\\\\.\\:\\%\\$]*\\/)*)?(Account|ActivityDefinition|ActorDefinition|AdministrableProductDefinition|AdverseEvent|AllergyIntolerance|Appointment|AppointmentResponse|ArtifactAssessment|AuditEvent|Basic|Binary|BiologicallyDerivedProduct|BodyStructure|Bundle|CapabilityStatement|CarePlan|CareTeam|ChargeItem|ChargeItemDefinition|Citation|Claim|ClaimResponse|ClinicalImpression|ClinicalUseDefinition|CodeSystem|Communication|CommunicationRequest|CompartmentDefinition|Composition|ConceptMap|Condition|ConditionDefinition|Consent|Contract|Coverage|CoverageEligibilityRequest|CoverageEligibilityResponse|DetectedIssue|Device|DeviceDefinition|DeviceDispense|DeviceMetric|DeviceRequest|DeviceUsage|DiagnosticReport|DocumentManifest|DocumentReference|Encounter|Endpoint|EnrollmentRequest|EnrollmentResponse|EpisodeOfCare|EventDefinition|Evidence|EvidenceReport|EvidenceVariable|ExampleScenario|ExplanationOfBenefit|FamilyMemberHistory|Flag|FormularyItem|GenomicStudy|Goal|GraphDefinition|Group|GuidanceResponse|HealthcareService|ImagingSelection|ImagingStudy|Immunization|ImmunizationEvaluation|ImmunizationRecommendation|ImplementationGuide|Ingredient|InsurancePlan|InventoryReport|Invoice|Library|Linkage|List|Location|ManufacturedItemDefinition|Measure|MeasureReport|Medication|MedicationAdministration|MedicationDispense|MedicationKnowledge|MedicationRequest|MedicationUsage|MedicinalProductDefinition|MessageDefinition|MessageHeader|MolecularSequence|NamingSystem|NutritionIntake|NutritionOrder|NutritionProduct|Observation|ObservationDefinition|OperationDefinition|OperationOutcome|Organization|OrganizationAffiliation|PackagedProductDefinition|Parameters|Patient|PaymentNotice|PaymentReconciliation|Permission|Person|PlanDefinition|Practitioner|PractitionerRole|Procedure|Provenance|Questionnaire|QuestionnaireResponse|RegulatedAuthorization|RelatedPerson|RequestGroup|RequestOrchestration|Requirements|ResearchStudy|ResearchSubject|RiskAssessment|Schedule|SearchParameter|ServiceRequest|Slot|Specimen|SpecimenDefinition|StructureDefinition|StructureMap|Subscription|SubscriptionStatus|SubscriptionTopic|Substance|SubstanceDefinition|SubstanceNucleicAcid|SubstancePolymer|SubstanceProtein|SubstanceReferenceInformation|SubstanceSourceMaterial|SupplyDelivery|SupplyRequest|Task|TerminologyCapabilities|TestReport|TestScript|Transport|ValueSet|VerificationResult|VisionPrescription)\\/[A-Za-z0-9\\-\\.]{1,64}(\\/_history\\/[A-Za-z0-9\\-\\.]{1,64})?"; } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactDetail.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactDetail.java index 295b6856d..2b5ec0e66 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactDetail.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactDetail.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.r5.model.ContactPoint.ContactPointSystem; /** - * Base StructureDefinition for ContactDetail Type: Specifies contact information for a person or organization. + * ContactDetail Type: Specifies contact information for a person or organization. */ @DatatypeDef(name="ContactDetail") public class ContactDetail extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactPoint.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactPoint.java index 7e0a328e9..d17e73c10 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactPoint.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ContactPoint.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. + * ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. */ @DatatypeDef(name="ContactPoint") public class ContactPoint extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contract.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contract.java index d45048b84..005830161 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contract.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contract.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -11630,7 +11630,7 @@ public class Contract extends DomainResource { * Path: Contract.subject
*

*/ - @SearchParamDefinition(name="subject", path="Contract.subject", description="The identity of the subject of the contract", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="subject", path="Contract.subject", description="The identity of the subject of the contract", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contributor.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contributor.java index 8ed36c06a..fe27e6b18 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contributor.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Contributor.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. + * Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. */ @DatatypeDef(name="Contributor") public class Contributor extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Count.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Count.java index 170769ae0..10f75ad4a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Count.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Count.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Count Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. + * Count Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. */ @DatatypeDef(name="Count") public class Count extends Quantity implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coverage.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coverage.java index 71ad2b8cc..4cf684715 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coverage.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Coverage.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,6 +53,352 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="Coverage", profile="http://hl7.org/fhir/StructureDefinition/Coverage") public class Coverage extends DomainResource { + public enum Kind { + /** + * The Coverage provides the identifiers and card-level details of an insurance policy. + */ + INSURANCE, + /** + * One or more persons and/or organizations are paying for the services rendered. + */ + SELFPAY, + /** + * Some other organization is paying for the service. + */ + OTHER, + /** + * added to help the parsers with the generic types + */ + NULL; + public static Kind fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("insurance".equals(codeString)) + return INSURANCE; + if ("self-pay".equals(codeString)) + return SELFPAY; + if ("other".equals(codeString)) + return OTHER; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown Kind code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case INSURANCE: return "insurance"; + case SELFPAY: return "self-pay"; + case OTHER: return "other"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case INSURANCE: return "http://hl7.org/fhir/coverage-kind"; + case SELFPAY: return "http://hl7.org/fhir/coverage-kind"; + case OTHER: return "http://hl7.org/fhir/coverage-kind"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case INSURANCE: return "The Coverage provides the identifiers and card-level details of an insurance policy."; + case SELFPAY: return "One or more persons and/or organizations are paying for the services rendered."; + case OTHER: return "Some other organization is paying for the service."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case INSURANCE: return "Insurance"; + case SELFPAY: return "Self-pay"; + case OTHER: return "Other"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class KindEnumFactory implements EnumFactory { + public Kind fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("insurance".equals(codeString)) + return Kind.INSURANCE; + if ("self-pay".equals(codeString)) + return Kind.SELFPAY; + if ("other".equals(codeString)) + return Kind.OTHER; + throw new IllegalArgumentException("Unknown Kind code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("insurance".equals(codeString)) + return new Enumeration(this, Kind.INSURANCE); + if ("self-pay".equals(codeString)) + return new Enumeration(this, Kind.SELFPAY); + if ("other".equals(codeString)) + return new Enumeration(this, Kind.OTHER); + throw new FHIRException("Unknown Kind code '"+codeString+"'"); + } + public String toCode(Kind code) { + if (code == Kind.INSURANCE) + return "insurance"; + if (code == Kind.SELFPAY) + return "self-pay"; + if (code == Kind.OTHER) + return "other"; + return "?"; + } + public String toSystem(Kind code) { + return code.getSystem(); + } + } + + @Block() + public static class CoveragePaymentByComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The list of parties providing non-insurance payment for the treatment costs. + */ + @Child(name = "party", type = {Patient.class, RelatedPerson.class, Organization.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Parties performing self-payment", formalDefinition="The list of parties providing non-insurance payment for the treatment costs." ) + protected Reference party; + + /** + * Description of the financial responsibility. + */ + @Child(name = "responsibility", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Party's responsibility", formalDefinition=" Description of the financial responsibility." ) + protected StringType responsibility; + + private static final long serialVersionUID = -1279858336L; + + /** + * Constructor + */ + public CoveragePaymentByComponent() { + super(); + } + + /** + * Constructor + */ + public CoveragePaymentByComponent(Reference party) { + super(); + this.setParty(party); + } + + /** + * @return {@link #party} (The list of parties providing non-insurance payment for the treatment costs.) + */ + public Reference getParty() { + if (this.party == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CoveragePaymentByComponent.party"); + else if (Configuration.doAutoCreate()) + this.party = new Reference(); // cc + return this.party; + } + + public boolean hasParty() { + return this.party != null && !this.party.isEmpty(); + } + + /** + * @param value {@link #party} (The list of parties providing non-insurance payment for the treatment costs.) + */ + public CoveragePaymentByComponent setParty(Reference value) { + this.party = value; + return this; + } + + /** + * @return {@link #responsibility} ( Description of the financial responsibility.). This is the underlying object with id, value and extensions. The accessor "getResponsibility" gives direct access to the value + */ + public StringType getResponsibilityElement() { + if (this.responsibility == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CoveragePaymentByComponent.responsibility"); + else if (Configuration.doAutoCreate()) + this.responsibility = new StringType(); // bb + return this.responsibility; + } + + public boolean hasResponsibilityElement() { + return this.responsibility != null && !this.responsibility.isEmpty(); + } + + public boolean hasResponsibility() { + return this.responsibility != null && !this.responsibility.isEmpty(); + } + + /** + * @param value {@link #responsibility} ( Description of the financial responsibility.). This is the underlying object with id, value and extensions. The accessor "getResponsibility" gives direct access to the value + */ + public CoveragePaymentByComponent setResponsibilityElement(StringType value) { + this.responsibility = value; + return this; + } + + /** + * @return Description of the financial responsibility. + */ + public String getResponsibility() { + return this.responsibility == null ? null : this.responsibility.getValue(); + } + + /** + * @param value Description of the financial responsibility. + */ + public CoveragePaymentByComponent setResponsibility(String value) { + if (Utilities.noString(value)) + this.responsibility = null; + else { + if (this.responsibility == null) + this.responsibility = new StringType(); + this.responsibility.setValue(value); + } + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("party", "Reference(Patient|RelatedPerson|Organization)", "The list of parties providing non-insurance payment for the treatment costs.", 0, 1, party)); + children.add(new Property("responsibility", "string", " Description of the financial responsibility.", 0, 1, responsibility)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 106437350: /*party*/ return new Property("party", "Reference(Patient|RelatedPerson|Organization)", "The list of parties providing non-insurance payment for the treatment costs.", 0, 1, party); + case -228897266: /*responsibility*/ return new Property("responsibility", "string", " Description of the financial responsibility.", 0, 1, responsibility); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 106437350: /*party*/ return this.party == null ? new Base[0] : new Base[] {this.party}; // Reference + case -228897266: /*responsibility*/ return this.responsibility == null ? new Base[0] : new Base[] {this.responsibility}; // StringType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 106437350: // party + this.party = TypeConvertor.castToReference(value); // Reference + return value; + case -228897266: // responsibility + this.responsibility = TypeConvertor.castToString(value); // StringType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("party")) { + this.party = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("responsibility")) { + this.responsibility = TypeConvertor.castToString(value); // StringType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 106437350: return getParty(); + case -228897266: return getResponsibilityElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 106437350: /*party*/ return new String[] {"Reference"}; + case -228897266: /*responsibility*/ return new String[] {"string"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("party")) { + this.party = new Reference(); + return this.party; + } + else if (name.equals("responsibility")) { + throw new FHIRException("Cannot call addChild on a primitive type Coverage.paymentBy.responsibility"); + } + else + return super.addChild(name); + } + + public CoveragePaymentByComponent copy() { + CoveragePaymentByComponent dst = new CoveragePaymentByComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(CoveragePaymentByComponent dst) { + super.copyValues(dst); + dst.party = party == null ? null : party.copy(); + dst.responsibility = responsibility == null ? null : responsibility.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof CoveragePaymentByComponent)) + return false; + CoveragePaymentByComponent o = (CoveragePaymentByComponent) other_; + return compareDeep(party, o.party, true) && compareDeep(responsibility, o.responsibility, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof CoveragePaymentByComponent)) + return false; + CoveragePaymentByComponent o = (CoveragePaymentByComponent) other_; + return compareValues(responsibility, o.responsibility, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(party, responsibility); + } + + public String fhirType() { + return "Coverage.paymentBy"; + + } + + } + @Block() public static class ClassComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -64,11 +410,11 @@ public class Coverage extends DomainResource { protected CodeableConcept type; /** - * The alphanumeric string value associated with the insurer issued label. + * The alphanumeric identifier associated with the insurer issued label. */ - @Child(name = "value", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Value associated with the type", formalDefinition="The alphanumeric string value associated with the insurer issued label." ) - protected StringType value; + @Child(name = "value", type = {Identifier.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Value associated with the type", formalDefinition="The alphanumeric identifier associated with the insurer issued label." ) + protected Identifier value; /** * A short description for the class. @@ -77,7 +423,7 @@ public class Coverage extends DomainResource { @Description(shortDefinition="Human readable description of the type and value", formalDefinition="A short description for the class." ) protected StringType name; - private static final long serialVersionUID = -1501519769L; + private static final long serialVersionUID = 1395172201L; /** * Constructor @@ -89,7 +435,7 @@ public class Coverage extends DomainResource { /** * Constructor */ - public ClassComponent(CodeableConcept type, String value) { + public ClassComponent(CodeableConcept type, Identifier value) { super(); this.setType(type); this.setValue(value); @@ -120,50 +466,29 @@ public class Coverage extends DomainResource { } /** - * @return {@link #value} (The alphanumeric string value associated with the insurer issued label.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value + * @return {@link #value} (The alphanumeric identifier associated with the insurer issued label.) */ - public StringType getValueElement() { + public Identifier getValue() { if (this.value == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ClassComponent.value"); else if (Configuration.doAutoCreate()) - this.value = new StringType(); // bb + this.value = new Identifier(); // cc return this.value; } - public boolean hasValueElement() { - return this.value != null && !this.value.isEmpty(); - } - public boolean hasValue() { return this.value != null && !this.value.isEmpty(); } /** - * @param value {@link #value} (The alphanumeric string value associated with the insurer issued label.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value + * @param value {@link #value} (The alphanumeric identifier associated with the insurer issued label.) */ - public ClassComponent setValueElement(StringType value) { + public ClassComponent setValue(Identifier value) { this.value = value; return this; } - /** - * @return The alphanumeric string value associated with the insurer issued label. - */ - public String getValue() { - return this.value == null ? null : this.value.getValue(); - } - - /** - * @param value The alphanumeric string value associated with the insurer issued label. - */ - public ClassComponent setValue(String value) { - if (this.value == null) - this.value = new StringType(); - this.value.setValue(value); - return this; - } - /** * @return {@link #name} (A short description for the class.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -216,7 +541,7 @@ public class Coverage extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "The type of classification for which an insurer-specific class label or number and optional name is provided. For example, type may be used to identify a class of coverage or employer group, policy, or plan.", 0, 1, type)); - children.add(new Property("value", "string", "The alphanumeric string value associated with the insurer issued label.", 0, 1, value)); + children.add(new Property("value", "Identifier", "The alphanumeric identifier associated with the insurer issued label.", 0, 1, value)); children.add(new Property("name", "string", "A short description for the class.", 0, 1, name)); } @@ -224,7 +549,7 @@ public class Coverage extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of classification for which an insurer-specific class label or number and optional name is provided. For example, type may be used to identify a class of coverage or employer group, policy, or plan.", 0, 1, type); - case 111972721: /*value*/ return new Property("value", "string", "The alphanumeric string value associated with the insurer issued label.", 0, 1, value); + case 111972721: /*value*/ return new Property("value", "Identifier", "The alphanumeric identifier associated with the insurer issued label.", 0, 1, value); case 3373707: /*name*/ return new Property("name", "string", "A short description for the class.", 0, 1, name); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -235,7 +560,7 @@ public class Coverage extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept - case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType + case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // Identifier case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType default: return super.getProperty(hash, name, checkValid); } @@ -249,7 +574,7 @@ public class Coverage extends DomainResource { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case 111972721: // value - this.value = TypeConvertor.castToString(value); // StringType + this.value = TypeConvertor.castToIdentifier(value); // Identifier return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType @@ -264,7 +589,7 @@ public class Coverage extends DomainResource { if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("value")) { - this.value = TypeConvertor.castToString(value); // StringType + this.value = TypeConvertor.castToIdentifier(value); // Identifier } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else @@ -276,7 +601,7 @@ public class Coverage extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: return getType(); - case 111972721: return getValueElement(); + case 111972721: return getValue(); case 3373707: return getNameElement(); default: return super.makeProperty(hash, name); } @@ -287,7 +612,7 @@ public class Coverage extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 111972721: /*value*/ return new String[] {"string"}; + case 111972721: /*value*/ return new String[] {"Identifier"}; case 3373707: /*name*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); } @@ -301,7 +626,8 @@ public class Coverage extends DomainResource { return this.type; } else if (name.equals("value")) { - throw new FHIRException("Cannot call addChild on a primitive type Coverage.class.value"); + this.value = new Identifier(); + return this.value; } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type Coverage.class.name"); @@ -341,7 +667,7 @@ public class Coverage extends DomainResource { if (!(other_ instanceof ClassComponent)) return false; ClassComponent o = (ClassComponent) other_; - return compareValues(value, o.value, true) && compareValues(name, o.name, true); + return compareValues(name, o.name, true); } public boolean isEmpty() { @@ -365,21 +691,53 @@ public class Coverage extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/coverage-copay-type") protected CodeableConcept type; + /** + * Code to identify the general type of benefits under which products and services are provided. + */ + @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Benefit classification", formalDefinition="Code to identify the general type of benefits under which products and services are provided." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-benefitcategory") + protected CodeableConcept category; + + /** + * Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers. + */ + @Child(name = "network", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="In or out of network", formalDefinition="Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-network") + protected CodeableConcept network; + + /** + * Indicates if the benefits apply to an individual or to the family. + */ + @Child(name = "unit", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Individual or family", formalDefinition="Indicates if the benefits apply to an individual or to the family." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-unit") + protected CodeableConcept unit; + + /** + * The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'. + */ + @Child(name = "term", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Annual or lifetime", formalDefinition="The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/benefit-term") + protected CodeableConcept term; + /** * The amount due from the patient for the cost category. */ - @Child(name = "value", type = {Quantity.class, Money.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "value", type = {Quantity.class, Money.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The amount or percentage due from the beneficiary", formalDefinition="The amount due from the patient for the cost category." ) protected DataType value; /** * A suite of codes indicating exceptions or reductions to patient costs and their effective periods. */ - @Child(name = "exception", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "exception", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Exceptions for patient payments", formalDefinition="A suite of codes indicating exceptions or reductions to patient costs and their effective periods." ) protected List exception; - private static final long serialVersionUID = -1531646137L; + private static final long serialVersionUID = 472499753L; /** * Constructor @@ -388,14 +746,6 @@ public class Coverage extends DomainResource { super(); } - /** - * Constructor - */ - public CostToBeneficiaryComponent(DataType value) { - super(); - this.setValue(value); - } - /** * @return {@link #type} (The category of patient centric costs associated with treatment.) */ @@ -420,6 +770,102 @@ public class Coverage extends DomainResource { return this; } + /** + * @return {@link #category} (Code to identify the general type of benefits under which products and services are provided.) + */ + public CodeableConcept getCategory() { + if (this.category == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CostToBeneficiaryComponent.category"); + else if (Configuration.doAutoCreate()) + this.category = new CodeableConcept(); // cc + return this.category; + } + + public boolean hasCategory() { + return this.category != null && !this.category.isEmpty(); + } + + /** + * @param value {@link #category} (Code to identify the general type of benefits under which products and services are provided.) + */ + public CostToBeneficiaryComponent setCategory(CodeableConcept value) { + this.category = value; + return this; + } + + /** + * @return {@link #network} (Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.) + */ + public CodeableConcept getNetwork() { + if (this.network == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CostToBeneficiaryComponent.network"); + else if (Configuration.doAutoCreate()) + this.network = new CodeableConcept(); // cc + return this.network; + } + + public boolean hasNetwork() { + return this.network != null && !this.network.isEmpty(); + } + + /** + * @param value {@link #network} (Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.) + */ + public CostToBeneficiaryComponent setNetwork(CodeableConcept value) { + this.network = value; + return this; + } + + /** + * @return {@link #unit} (Indicates if the benefits apply to an individual or to the family.) + */ + public CodeableConcept getUnit() { + if (this.unit == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CostToBeneficiaryComponent.unit"); + else if (Configuration.doAutoCreate()) + this.unit = new CodeableConcept(); // cc + return this.unit; + } + + public boolean hasUnit() { + return this.unit != null && !this.unit.isEmpty(); + } + + /** + * @param value {@link #unit} (Indicates if the benefits apply to an individual or to the family.) + */ + public CostToBeneficiaryComponent setUnit(CodeableConcept value) { + this.unit = value; + return this; + } + + /** + * @return {@link #term} (The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.) + */ + public CodeableConcept getTerm() { + if (this.term == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create CostToBeneficiaryComponent.term"); + else if (Configuration.doAutoCreate()) + this.term = new CodeableConcept(); // cc + return this.term; + } + + public boolean hasTerm() { + return this.term != null && !this.term.isEmpty(); + } + + /** + * @param value {@link #term} (The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.) + */ + public CostToBeneficiaryComponent setTerm(CodeableConcept value) { + this.term = value; + return this; + } + /** * @return {@link #value} (The amount due from the patient for the cost category.) */ @@ -527,6 +973,10 @@ public class Coverage extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "The category of patient centric costs associated with treatment.", 0, 1, type)); + children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); + children.add(new Property("network", "CodeableConcept", "Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.", 0, 1, network)); + children.add(new Property("unit", "CodeableConcept", "Indicates if the benefits apply to an individual or to the family.", 0, 1, unit)); + children.add(new Property("term", "CodeableConcept", "The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.", 0, 1, term)); children.add(new Property("value[x]", "Quantity|Money", "The amount due from the patient for the cost category.", 0, 1, value)); children.add(new Property("exception", "", "A suite of codes indicating exceptions or reductions to patient costs and their effective periods.", 0, java.lang.Integer.MAX_VALUE, exception)); } @@ -535,6 +985,10 @@ public class Coverage extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The category of patient centric costs associated with treatment.", 0, 1, type); + case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); + case 1843485230: /*network*/ return new Property("network", "CodeableConcept", "Is a flag to indicate whether the benefits refer to in-network providers or out-of-network providers.", 0, 1, network); + case 3594628: /*unit*/ return new Property("unit", "CodeableConcept", "Indicates if the benefits apply to an individual or to the family.", 0, 1, unit); + case 3556460: /*term*/ return new Property("term", "CodeableConcept", "The term or period of the values such as 'maximum lifetime benefit' or 'maximum annual visits'.", 0, 1, term); case -1410166417: /*value[x]*/ return new Property("value[x]", "Quantity|Money", "The amount due from the patient for the cost category.", 0, 1, value); case 111972721: /*value*/ return new Property("value[x]", "Quantity|Money", "The amount due from the patient for the cost category.", 0, 1, value); case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "The amount due from the patient for the cost category.", 0, 1, value); @@ -549,6 +1003,10 @@ public class Coverage extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept + case 1843485230: /*network*/ return this.network == null ? new Base[0] : new Base[] {this.network}; // CodeableConcept + case 3594628: /*unit*/ return this.unit == null ? new Base[0] : new Base[] {this.unit}; // CodeableConcept + case 3556460: /*term*/ return this.term == null ? new Base[0] : new Base[] {this.term}; // CodeableConcept case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType case 1481625679: /*exception*/ return this.exception == null ? new Base[0] : this.exception.toArray(new Base[this.exception.size()]); // ExemptionComponent default: return super.getProperty(hash, name, checkValid); @@ -562,6 +1020,18 @@ public class Coverage extends DomainResource { case 3575610: // type this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case 50511102: // category + this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 1843485230: // network + this.network = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 3594628: // unit + this.unit = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 3556460: // term + this.term = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 111972721: // value this.value = TypeConvertor.castToType(value); // DataType return value; @@ -577,6 +1047,14 @@ public class Coverage extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("category")) { + this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("network")) { + this.network = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("unit")) { + this.unit = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("term")) { + this.term = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("value[x]")) { this.value = TypeConvertor.castToType(value); // DataType } else if (name.equals("exception")) { @@ -590,6 +1068,10 @@ public class Coverage extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: return getType(); + case 50511102: return getCategory(); + case 1843485230: return getNetwork(); + case 3594628: return getUnit(); + case 3556460: return getTerm(); case -1410166417: return getValue(); case 111972721: return getValue(); case 1481625679: return addException(); @@ -602,6 +1084,10 @@ public class Coverage extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case 50511102: /*category*/ return new String[] {"CodeableConcept"}; + case 1843485230: /*network*/ return new String[] {"CodeableConcept"}; + case 3594628: /*unit*/ return new String[] {"CodeableConcept"}; + case 3556460: /*term*/ return new String[] {"CodeableConcept"}; case 111972721: /*value*/ return new String[] {"Quantity", "Money"}; case 1481625679: /*exception*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -615,6 +1101,22 @@ public class Coverage extends DomainResource { this.type = new CodeableConcept(); return this.type; } + else if (name.equals("category")) { + this.category = new CodeableConcept(); + return this.category; + } + else if (name.equals("network")) { + this.network = new CodeableConcept(); + return this.network; + } + else if (name.equals("unit")) { + this.unit = new CodeableConcept(); + return this.unit; + } + else if (name.equals("term")) { + this.term = new CodeableConcept(); + return this.term; + } else if (name.equals("valueQuantity")) { this.value = new Quantity(); return this.value; @@ -639,6 +1141,10 @@ public class Coverage extends DomainResource { public void copyValues(CostToBeneficiaryComponent dst) { super.copyValues(dst); dst.type = type == null ? null : type.copy(); + dst.category = category == null ? null : category.copy(); + dst.network = network == null ? null : network.copy(); + dst.unit = unit == null ? null : unit.copy(); + dst.term = term == null ? null : term.copy(); dst.value = value == null ? null : value.copy(); if (exception != null) { dst.exception = new ArrayList(); @@ -654,8 +1160,9 @@ public class Coverage extends DomainResource { if (!(other_ instanceof CostToBeneficiaryComponent)) return false; CostToBeneficiaryComponent o = (CostToBeneficiaryComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(value, o.value, true) && compareDeep(exception, o.exception, true) - ; + return compareDeep(type, o.type, true) && compareDeep(category, o.category, true) && compareDeep(network, o.network, true) + && compareDeep(unit, o.unit, true) && compareDeep(term, o.term, true) && compareDeep(value, o.value, true) + && compareDeep(exception, o.exception, true); } @Override @@ -669,7 +1176,8 @@ public class Coverage extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, value, exception); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, category, network + , unit, term, value, exception); } public String fhirType() { @@ -890,10 +1398,10 @@ public class Coverage extends DomainResource { } /** - * A unique identifier assigned to this coverage. + * The identifier of the coverage as issued by the insurer. */ @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Business Identifier for the coverage", formalDefinition="A unique identifier assigned to this coverage." ) + @Description(shortDefinition="Business identifier(s) for this coverage", formalDefinition="The identifier of the coverage as issued by the insurer." ) protected List identifier; /** @@ -904,10 +1412,25 @@ public class Coverage extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") protected Enumeration status; + /** + * The nature of the coverage be it insurance, or cash payment such as self-pay. + */ + @Child(name = "kind", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="insurance | self-pay | other", formalDefinition="The nature of the coverage be it insurance, or cash payment such as self-pay." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/coverage-kind") + protected Enumeration kind; + + /** + * Link to the paying party and optionally what specifically they will be responsible to pay. + */ + @Child(name = "paymentBy", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Self-pay parties and responsibility", formalDefinition="Link to the paying party and optionally what specifically they will be responsible to pay." ) + protected List paymentBy; + /** * The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization. */ - @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "type", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Coverage category such as medical or accident", formalDefinition="The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/coverage-type") protected CodeableConcept type; @@ -915,42 +1438,42 @@ public class Coverage extends DomainResource { /** * The party who 'owns' the insurance policy. */ - @Child(name = "policyHolder", type = {Patient.class, RelatedPerson.class, Organization.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "policyHolder", type = {Patient.class, RelatedPerson.class, Organization.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Owner of the policy", formalDefinition="The party who 'owns' the insurance policy." ) protected Reference policyHolder; /** * The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due. */ - @Child(name = "subscriber", type = {Patient.class, RelatedPerson.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "subscriber", type = {Patient.class, RelatedPerson.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Subscriber to the policy", formalDefinition="The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due." ) protected Reference subscriber; /** * The insurer assigned ID for the Subscriber. */ - @Child(name = "subscriberId", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "subscriberId", type = {Identifier.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="ID assigned to the subscriber", formalDefinition="The insurer assigned ID for the Subscriber." ) - protected Identifier subscriberId; + protected List subscriberId; /** * The party who benefits from the insurance coverage; the patient when products and/or services are provided. */ - @Child(name = "beneficiary", type = {Patient.class}, order=6, min=1, max=1, modifier=false, summary=true) + @Child(name = "beneficiary", type = {Patient.class}, order=8, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Plan beneficiary", formalDefinition="The party who benefits from the insurance coverage; the patient when products and/or services are provided." ) protected Reference beneficiary; /** * A designator for a dependent under the coverage. */ - @Child(name = "dependent", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "dependent", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Dependent number", formalDefinition="A designator for a dependent under the coverage." ) protected StringType dependent; /** * The relationship of beneficiary (patient) to the subscriber. */ - @Child(name = "relationship", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "relationship", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Beneficiary relationship to the subscriber", formalDefinition="The relationship of beneficiary (patient) to the subscriber." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subscriber-relationship") protected CodeableConcept relationship; @@ -958,60 +1481,67 @@ public class Coverage extends DomainResource { /** * Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force. */ - @Child(name = "period", type = {Period.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Child(name = "period", type = {Period.class}, order=11, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Coverage start and end dates", formalDefinition="Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force." ) protected Period period; /** - * The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements. + * The program or plan underwriter, payor, insurance company. */ - @Child(name = "payor", type = {Organization.class, Patient.class, RelatedPerson.class}, order=10, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Issuer of the policy", formalDefinition="The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements." ) - protected List payor; + @Child(name = "insurer", type = {Organization.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Issuer of the policy", formalDefinition="The program or plan underwriter, payor, insurance company." ) + protected Reference insurer; /** * A suite of underwriter specific classifiers. */ - @Child(name = "class", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "class", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional coverage classifications", formalDefinition="A suite of underwriter specific classifiers." ) protected List class_; /** - * The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. + * The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis. */ - @Child(name = "order", type = {PositiveIntType.class}, order=12, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Relative order of the coverage", formalDefinition="The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care." ) + @Child(name = "order", type = {PositiveIntType.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Relative order of the coverage", formalDefinition="The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis." ) protected PositiveIntType order; /** * The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply. */ - @Child(name = "network", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "network", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Insurer network", formalDefinition="The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply." ) protected StringType network; /** * A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been included on the health card. */ - @Child(name = "costToBeneficiary", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "costToBeneficiary", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Patient payments for services/products", formalDefinition="A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been included on the health card." ) protected List costToBeneficiary; /** * When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs. */ - @Child(name = "subrogation", type = {BooleanType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "subrogation", type = {BooleanType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reimbursement to insurer", formalDefinition="When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs." ) protected BooleanType subrogation; /** * The policy(s) which constitute this insurance coverage. */ - @Child(name = "contract", type = {Contract.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "contract", type = {Contract.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Contract details", formalDefinition="The policy(s) which constitute this insurance coverage." ) protected List contract; - private static final long serialVersionUID = 344887058L; + /** + * The insurance plan details, benefits and costs, which constitute this insurance coverage. + */ + @Child(name = "insurancePlan", type = {InsurancePlan.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Insurance plan details", formalDefinition="The insurance plan details, benefits and costs, which constitute this insurance coverage." ) + protected Reference insurancePlan; + + private static final long serialVersionUID = -1129388911L; /** * Constructor @@ -1023,15 +1553,15 @@ public class Coverage extends DomainResource { /** * Constructor */ - public Coverage(FinancialResourceStatusCodes status, Reference beneficiary, Reference payor) { + public Coverage(FinancialResourceStatusCodes status, Kind kind, Reference beneficiary) { super(); this.setStatus(status); + this.setKind(kind); this.setBeneficiary(beneficiary); - this.addPayor(payor); } /** - * @return {@link #identifier} (A unique identifier assigned to this coverage.) + * @return {@link #identifier} (The identifier of the coverage as issued by the insurer.) */ public List getIdentifier() { if (this.identifier == null) @@ -1128,6 +1658,104 @@ public class Coverage extends DomainResource { return this; } + /** + * @return {@link #kind} (The nature of the coverage be it insurance, or cash payment such as self-pay.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value + */ + public Enumeration getKindElement() { + if (this.kind == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Coverage.kind"); + else if (Configuration.doAutoCreate()) + this.kind = new Enumeration(new KindEnumFactory()); // bb + return this.kind; + } + + public boolean hasKindElement() { + return this.kind != null && !this.kind.isEmpty(); + } + + public boolean hasKind() { + return this.kind != null && !this.kind.isEmpty(); + } + + /** + * @param value {@link #kind} (The nature of the coverage be it insurance, or cash payment such as self-pay.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value + */ + public Coverage setKindElement(Enumeration value) { + this.kind = value; + return this; + } + + /** + * @return The nature of the coverage be it insurance, or cash payment such as self-pay. + */ + public Kind getKind() { + return this.kind == null ? null : this.kind.getValue(); + } + + /** + * @param value The nature of the coverage be it insurance, or cash payment such as self-pay. + */ + public Coverage setKind(Kind value) { + if (this.kind == null) + this.kind = new Enumeration(new KindEnumFactory()); + this.kind.setValue(value); + return this; + } + + /** + * @return {@link #paymentBy} (Link to the paying party and optionally what specifically they will be responsible to pay.) + */ + public List getPaymentBy() { + if (this.paymentBy == null) + this.paymentBy = new ArrayList(); + return this.paymentBy; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Coverage setPaymentBy(List thePaymentBy) { + this.paymentBy = thePaymentBy; + return this; + } + + public boolean hasPaymentBy() { + if (this.paymentBy == null) + return false; + for (CoveragePaymentByComponent item : this.paymentBy) + if (!item.isEmpty()) + return true; + return false; + } + + public CoveragePaymentByComponent addPaymentBy() { //3 + CoveragePaymentByComponent t = new CoveragePaymentByComponent(); + if (this.paymentBy == null) + this.paymentBy = new ArrayList(); + this.paymentBy.add(t); + return t; + } + + public Coverage addPaymentBy(CoveragePaymentByComponent t) { //3 + if (t == null) + return this; + if (this.paymentBy == null) + this.paymentBy = new ArrayList(); + this.paymentBy.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #paymentBy}, creating it if it does not already exist {3} + */ + public CoveragePaymentByComponent getPaymentByFirstRep() { + if (getPaymentBy().isEmpty()) { + addPaymentBy(); + } + return getPaymentBy().get(0); + } + /** * @return {@link #type} (The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.) */ @@ -1203,25 +1831,54 @@ public class Coverage extends DomainResource { /** * @return {@link #subscriberId} (The insurer assigned ID for the Subscriber.) */ - public Identifier getSubscriberId() { + public List getSubscriberId() { if (this.subscriberId == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Coverage.subscriberId"); - else if (Configuration.doAutoCreate()) - this.subscriberId = new Identifier(); // cc + this.subscriberId = new ArrayList(); return this.subscriberId; } + /** + * @return Returns a reference to this for easy method chaining + */ + public Coverage setSubscriberId(List theSubscriberId) { + this.subscriberId = theSubscriberId; + return this; + } + public boolean hasSubscriberId() { - return this.subscriberId != null && !this.subscriberId.isEmpty(); + if (this.subscriberId == null) + return false; + for (Identifier item : this.subscriberId) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addSubscriberId() { //3 + Identifier t = new Identifier(); + if (this.subscriberId == null) + this.subscriberId = new ArrayList(); + this.subscriberId.add(t); + return t; + } + + public Coverage addSubscriberId(Identifier t) { //3 + if (t == null) + return this; + if (this.subscriberId == null) + this.subscriberId = new ArrayList(); + this.subscriberId.add(t); + return this; } /** - * @param value {@link #subscriberId} (The insurer assigned ID for the Subscriber.) + * @return The first repetition of repeating field {@link #subscriberId}, creating it if it does not already exist {3} */ - public Coverage setSubscriberId(Identifier value) { - this.subscriberId = value; - return this; + public Identifier getSubscriberIdFirstRep() { + if (getSubscriberId().isEmpty()) { + addSubscriberId(); + } + return getSubscriberId().get(0); } /** @@ -1346,58 +2003,29 @@ public class Coverage extends DomainResource { } /** - * @return {@link #payor} (The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements.) + * @return {@link #insurer} (The program or plan underwriter, payor, insurance company.) */ - public List getPayor() { - if (this.payor == null) - this.payor = new ArrayList(); - return this.payor; + public Reference getInsurer() { + if (this.insurer == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Coverage.insurer"); + else if (Configuration.doAutoCreate()) + this.insurer = new Reference(); // cc + return this.insurer; + } + + public boolean hasInsurer() { + return this.insurer != null && !this.insurer.isEmpty(); } /** - * @return Returns a reference to this for easy method chaining + * @param value {@link #insurer} (The program or plan underwriter, payor, insurance company.) */ - public Coverage setPayor(List thePayor) { - this.payor = thePayor; + public Coverage setInsurer(Reference value) { + this.insurer = value; return this; } - public boolean hasPayor() { - if (this.payor == null) - return false; - for (Reference item : this.payor) - if (!item.isEmpty()) - return true; - return false; - } - - public Reference addPayor() { //3 - Reference t = new Reference(); - if (this.payor == null) - this.payor = new ArrayList(); - this.payor.add(t); - return t; - } - - public Coverage addPayor(Reference t) { //3 - if (t == null) - return this; - if (this.payor == null) - this.payor = new ArrayList(); - this.payor.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #payor}, creating it if it does not already exist {3} - */ - public Reference getPayorFirstRep() { - if (getPayor().isEmpty()) { - addPayor(); - } - return getPayor().get(0); - } - /** * @return {@link #class_} (A suite of underwriter specific classifiers.) */ @@ -1452,7 +2080,7 @@ public class Coverage extends DomainResource { } /** - * @return {@link #order} (The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care.). This is the underlying object with id, value and extensions. The accessor "getOrder" gives direct access to the value + * @return {@link #order} (The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis.). This is the underlying object with id, value and extensions. The accessor "getOrder" gives direct access to the value */ public PositiveIntType getOrderElement() { if (this.order == null) @@ -1472,7 +2100,7 @@ public class Coverage extends DomainResource { } /** - * @param value {@link #order} (The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care.). This is the underlying object with id, value and extensions. The accessor "getOrder" gives direct access to the value + * @param value {@link #order} (The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis.). This is the underlying object with id, value and extensions. The accessor "getOrder" gives direct access to the value */ public Coverage setOrderElement(PositiveIntType value) { this.order = value; @@ -1480,14 +2108,14 @@ public class Coverage extends DomainResource { } /** - * @return The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. + * @return The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis. */ public int getOrder() { return this.order == null || this.order.isEmpty() ? 0 : this.order.getValue(); } /** - * @param value The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. + * @param value The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis. */ public Coverage setOrder(int value) { if (this.order == null) @@ -1696,47 +2324,77 @@ public class Coverage extends DomainResource { return getContract().get(0); } + /** + * @return {@link #insurancePlan} (The insurance plan details, benefits and costs, which constitute this insurance coverage.) + */ + public Reference getInsurancePlan() { + if (this.insurancePlan == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Coverage.insurancePlan"); + else if (Configuration.doAutoCreate()) + this.insurancePlan = new Reference(); // cc + return this.insurancePlan; + } + + public boolean hasInsurancePlan() { + return this.insurancePlan != null && !this.insurancePlan.isEmpty(); + } + + /** + * @param value {@link #insurancePlan} (The insurance plan details, benefits and costs, which constitute this insurance coverage.) + */ + public Coverage setInsurancePlan(Reference value) { + this.insurancePlan = value; + return this; + } + protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this coverage.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("identifier", "Identifier", "The identifier of the coverage as issued by the insurer.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); + children.add(new Property("kind", "code", "The nature of the coverage be it insurance, or cash payment such as self-pay.", 0, 1, kind)); + children.add(new Property("paymentBy", "", "Link to the paying party and optionally what specifically they will be responsible to pay.", 0, java.lang.Integer.MAX_VALUE, paymentBy)); children.add(new Property("type", "CodeableConcept", "The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.", 0, 1, type)); children.add(new Property("policyHolder", "Reference(Patient|RelatedPerson|Organization)", "The party who 'owns' the insurance policy.", 0, 1, policyHolder)); children.add(new Property("subscriber", "Reference(Patient|RelatedPerson)", "The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due.", 0, 1, subscriber)); - children.add(new Property("subscriberId", "Identifier", "The insurer assigned ID for the Subscriber.", 0, 1, subscriberId)); + children.add(new Property("subscriberId", "Identifier", "The insurer assigned ID for the Subscriber.", 0, java.lang.Integer.MAX_VALUE, subscriberId)); children.add(new Property("beneficiary", "Reference(Patient)", "The party who benefits from the insurance coverage; the patient when products and/or services are provided.", 0, 1, beneficiary)); children.add(new Property("dependent", "string", "A designator for a dependent under the coverage.", 0, 1, dependent)); children.add(new Property("relationship", "CodeableConcept", "The relationship of beneficiary (patient) to the subscriber.", 0, 1, relationship)); children.add(new Property("period", "Period", "Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.", 0, 1, period)); - children.add(new Property("payor", "Reference(Organization|Patient|RelatedPerson)", "The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements.", 0, java.lang.Integer.MAX_VALUE, payor)); + children.add(new Property("insurer", "Reference(Organization)", "The program or plan underwriter, payor, insurance company.", 0, 1, insurer)); children.add(new Property("class", "", "A suite of underwriter specific classifiers.", 0, java.lang.Integer.MAX_VALUE, class_)); - children.add(new Property("order", "positiveInt", "The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care.", 0, 1, order)); + children.add(new Property("order", "positiveInt", "The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis.", 0, 1, order)); children.add(new Property("network", "string", "The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply.", 0, 1, network)); children.add(new Property("costToBeneficiary", "", "A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been included on the health card.", 0, java.lang.Integer.MAX_VALUE, costToBeneficiary)); children.add(new Property("subrogation", "boolean", "When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs.", 0, 1, subrogation)); children.add(new Property("contract", "Reference(Contract)", "The policy(s) which constitute this insurance coverage.", 0, java.lang.Integer.MAX_VALUE, contract)); + children.add(new Property("insurancePlan", "Reference(InsurancePlan)", "The insurance plan details, benefits and costs, which constitute this insurance coverage.", 0, 1, insurancePlan)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this coverage.", 0, java.lang.Integer.MAX_VALUE, identifier); + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "The identifier of the coverage as issued by the insurer.", 0, java.lang.Integer.MAX_VALUE, identifier); case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); + case 3292052: /*kind*/ return new Property("kind", "code", "The nature of the coverage be it insurance, or cash payment such as self-pay.", 0, 1, kind); + case -86519555: /*paymentBy*/ return new Property("paymentBy", "", "Link to the paying party and optionally what specifically they will be responsible to pay.", 0, java.lang.Integer.MAX_VALUE, paymentBy); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of coverage: social program, medical plan, accident coverage (workers compensation, auto), group health or payment by an individual or organization.", 0, 1, type); case 2046898558: /*policyHolder*/ return new Property("policyHolder", "Reference(Patient|RelatedPerson|Organization)", "The party who 'owns' the insurance policy.", 0, 1, policyHolder); case -1219769240: /*subscriber*/ return new Property("subscriber", "Reference(Patient|RelatedPerson)", "The party who has signed-up for or 'owns' the contractual relationship to the policy or to whom the benefit of the policy for services rendered to them or their family is due.", 0, 1, subscriber); - case 327834531: /*subscriberId*/ return new Property("subscriberId", "Identifier", "The insurer assigned ID for the Subscriber.", 0, 1, subscriberId); + case 327834531: /*subscriberId*/ return new Property("subscriberId", "Identifier", "The insurer assigned ID for the Subscriber.", 0, java.lang.Integer.MAX_VALUE, subscriberId); case -565102875: /*beneficiary*/ return new Property("beneficiary", "Reference(Patient)", "The party who benefits from the insurance coverage; the patient when products and/or services are provided.", 0, 1, beneficiary); case -1109226753: /*dependent*/ return new Property("dependent", "string", "A designator for a dependent under the coverage.", 0, 1, dependent); case -261851592: /*relationship*/ return new Property("relationship", "CodeableConcept", "The relationship of beneficiary (patient) to the subscriber.", 0, 1, relationship); case -991726143: /*period*/ return new Property("period", "Period", "Time period during which the coverage is in force. A missing start date indicates the start date isn't known, a missing end date means the coverage is continuing to be in force.", 0, 1, period); - case 106443915: /*payor*/ return new Property("payor", "Reference(Organization|Patient|RelatedPerson)", "The program or plan underwriter or payor including both insurance and non-insurance agreements, such as patient-pay agreements.", 0, java.lang.Integer.MAX_VALUE, payor); + case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The program or plan underwriter, payor, insurance company.", 0, 1, insurer); case 94742904: /*class*/ return new Property("class", "", "A suite of underwriter specific classifiers.", 0, java.lang.Integer.MAX_VALUE, class_); - case 106006350: /*order*/ return new Property("order", "positiveInt", "The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care.", 0, 1, order); + case 106006350: /*order*/ return new Property("order", "positiveInt", "The order of applicability of this coverage relative to other coverages which are currently in force. Note, there may be gaps in the numbering and this does not imply primary, secondary etc. as the specific positioning of coverages depends upon the episode of care. For example; a patient might have (0) auto insurance (1) their own health insurance and (2) spouse's health insurance. When claiming for treatments which were not the result of an auto accident then only coverages (1) and (2) above would be applicatble and would apply in the order specified in parenthesis.", 0, 1, order); case 1843485230: /*network*/ return new Property("network", "string", "The insurer-specific identifier for the insurer-defined network of providers to which the beneficiary may seek treatment which will be covered at the 'in-network' rate, otherwise 'out of network' terms and conditions apply.", 0, 1, network); case -1866474851: /*costToBeneficiary*/ return new Property("costToBeneficiary", "", "A suite of codes indicating the cost category and associated amount which have been detailed in the policy and may have been included on the health card.", 0, java.lang.Integer.MAX_VALUE, costToBeneficiary); case 837389739: /*subrogation*/ return new Property("subrogation", "boolean", "When 'subrogation=true' this insurance instance has been included not for adjudication but to provide insurers with the details to recover costs.", 0, 1, subrogation); case -566947566: /*contract*/ return new Property("contract", "Reference(Contract)", "The policy(s) which constitute this insurance coverage.", 0, java.lang.Integer.MAX_VALUE, contract); + case 1992141091: /*insurancePlan*/ return new Property("insurancePlan", "Reference(InsurancePlan)", "The insurance plan details, benefits and costs, which constitute this insurance coverage.", 0, 1, insurancePlan); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1747,21 +2405,24 @@ public class Coverage extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration + case -86519555: /*paymentBy*/ return this.paymentBy == null ? new Base[0] : this.paymentBy.toArray(new Base[this.paymentBy.size()]); // CoveragePaymentByComponent case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept case 2046898558: /*policyHolder*/ return this.policyHolder == null ? new Base[0] : new Base[] {this.policyHolder}; // Reference case -1219769240: /*subscriber*/ return this.subscriber == null ? new Base[0] : new Base[] {this.subscriber}; // Reference - case 327834531: /*subscriberId*/ return this.subscriberId == null ? new Base[0] : new Base[] {this.subscriberId}; // Identifier + case 327834531: /*subscriberId*/ return this.subscriberId == null ? new Base[0] : this.subscriberId.toArray(new Base[this.subscriberId.size()]); // Identifier case -565102875: /*beneficiary*/ return this.beneficiary == null ? new Base[0] : new Base[] {this.beneficiary}; // Reference case -1109226753: /*dependent*/ return this.dependent == null ? new Base[0] : new Base[] {this.dependent}; // StringType case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // CodeableConcept case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period - case 106443915: /*payor*/ return this.payor == null ? new Base[0] : this.payor.toArray(new Base[this.payor.size()]); // Reference + case 1957615864: /*insurer*/ return this.insurer == null ? new Base[0] : new Base[] {this.insurer}; // Reference case 94742904: /*class*/ return this.class_ == null ? new Base[0] : this.class_.toArray(new Base[this.class_.size()]); // ClassComponent case 106006350: /*order*/ return this.order == null ? new Base[0] : new Base[] {this.order}; // PositiveIntType case 1843485230: /*network*/ return this.network == null ? new Base[0] : new Base[] {this.network}; // StringType case -1866474851: /*costToBeneficiary*/ return this.costToBeneficiary == null ? new Base[0] : this.costToBeneficiary.toArray(new Base[this.costToBeneficiary.size()]); // CostToBeneficiaryComponent case 837389739: /*subrogation*/ return this.subrogation == null ? new Base[0] : new Base[] {this.subrogation}; // BooleanType case -566947566: /*contract*/ return this.contract == null ? new Base[0] : this.contract.toArray(new Base[this.contract.size()]); // Reference + case 1992141091: /*insurancePlan*/ return this.insurancePlan == null ? new Base[0] : new Base[] {this.insurancePlan}; // Reference default: return super.getProperty(hash, name, checkValid); } @@ -1777,6 +2438,13 @@ public class Coverage extends DomainResource { value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration return value; + case 3292052: // kind + value = new KindEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.kind = (Enumeration) value; // Enumeration + return value; + case -86519555: // paymentBy + this.getPaymentBy().add((CoveragePaymentByComponent) value); // CoveragePaymentByComponent + return value; case 3575610: // type this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; @@ -1787,7 +2455,7 @@ public class Coverage extends DomainResource { this.subscriber = TypeConvertor.castToReference(value); // Reference return value; case 327834531: // subscriberId - this.subscriberId = TypeConvertor.castToIdentifier(value); // Identifier + this.getSubscriberId().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; case -565102875: // beneficiary this.beneficiary = TypeConvertor.castToReference(value); // Reference @@ -1801,8 +2469,8 @@ public class Coverage extends DomainResource { case -991726143: // period this.period = TypeConvertor.castToPeriod(value); // Period return value; - case 106443915: // payor - this.getPayor().add(TypeConvertor.castToReference(value)); // Reference + case 1957615864: // insurer + this.insurer = TypeConvertor.castToReference(value); // Reference return value; case 94742904: // class this.getClass_().add((ClassComponent) value); // ClassComponent @@ -1822,6 +2490,9 @@ public class Coverage extends DomainResource { case -566947566: // contract this.getContract().add(TypeConvertor.castToReference(value)); // Reference return value; + case 1992141091: // insurancePlan + this.insurancePlan = TypeConvertor.castToReference(value); // Reference + return value; default: return super.setProperty(hash, name, value); } @@ -1834,6 +2505,11 @@ public class Coverage extends DomainResource { } else if (name.equals("status")) { value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration + } else if (name.equals("kind")) { + value = new KindEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.kind = (Enumeration) value; // Enumeration + } else if (name.equals("paymentBy")) { + this.getPaymentBy().add((CoveragePaymentByComponent) value); } else if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("policyHolder")) { @@ -1841,7 +2517,7 @@ public class Coverage extends DomainResource { } else if (name.equals("subscriber")) { this.subscriber = TypeConvertor.castToReference(value); // Reference } else if (name.equals("subscriberId")) { - this.subscriberId = TypeConvertor.castToIdentifier(value); // Identifier + this.getSubscriberId().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("beneficiary")) { this.beneficiary = TypeConvertor.castToReference(value); // Reference } else if (name.equals("dependent")) { @@ -1850,8 +2526,8 @@ public class Coverage extends DomainResource { this.relationship = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("period")) { this.period = TypeConvertor.castToPeriod(value); // Period - } else if (name.equals("payor")) { - this.getPayor().add(TypeConvertor.castToReference(value)); + } else if (name.equals("insurer")) { + this.insurer = TypeConvertor.castToReference(value); // Reference } else if (name.equals("class")) { this.getClass_().add((ClassComponent) value); } else if (name.equals("order")) { @@ -1864,6 +2540,8 @@ public class Coverage extends DomainResource { this.subrogation = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("contract")) { this.getContract().add(TypeConvertor.castToReference(value)); + } else if (name.equals("insurancePlan")) { + this.insurancePlan = TypeConvertor.castToReference(value); // Reference } else return super.setProperty(name, value); return value; @@ -1874,21 +2552,24 @@ public class Coverage extends DomainResource { switch (hash) { case -1618432855: return addIdentifier(); case -892481550: return getStatusElement(); + case 3292052: return getKindElement(); + case -86519555: return addPaymentBy(); case 3575610: return getType(); case 2046898558: return getPolicyHolder(); case -1219769240: return getSubscriber(); - case 327834531: return getSubscriberId(); + case 327834531: return addSubscriberId(); case -565102875: return getBeneficiary(); case -1109226753: return getDependentElement(); case -261851592: return getRelationship(); case -991726143: return getPeriod(); - case 106443915: return addPayor(); + case 1957615864: return getInsurer(); case 94742904: return addClass_(); case 106006350: return getOrderElement(); case 1843485230: return getNetworkElement(); case -1866474851: return addCostToBeneficiary(); case 837389739: return getSubrogationElement(); case -566947566: return addContract(); + case 1992141091: return getInsurancePlan(); default: return super.makeProperty(hash, name); } @@ -1899,6 +2580,8 @@ public class Coverage extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -892481550: /*status*/ return new String[] {"code"}; + case 3292052: /*kind*/ return new String[] {"code"}; + case -86519555: /*paymentBy*/ return new String[] {}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case 2046898558: /*policyHolder*/ return new String[] {"Reference"}; case -1219769240: /*subscriber*/ return new String[] {"Reference"}; @@ -1907,13 +2590,14 @@ public class Coverage extends DomainResource { case -1109226753: /*dependent*/ return new String[] {"string"}; case -261851592: /*relationship*/ return new String[] {"CodeableConcept"}; case -991726143: /*period*/ return new String[] {"Period"}; - case 106443915: /*payor*/ return new String[] {"Reference"}; + case 1957615864: /*insurer*/ return new String[] {"Reference"}; case 94742904: /*class*/ return new String[] {}; case 106006350: /*order*/ return new String[] {"positiveInt"}; case 1843485230: /*network*/ return new String[] {"string"}; case -1866474851: /*costToBeneficiary*/ return new String[] {}; case 837389739: /*subrogation*/ return new String[] {"boolean"}; case -566947566: /*contract*/ return new String[] {"Reference"}; + case 1992141091: /*insurancePlan*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -1927,6 +2611,12 @@ public class Coverage extends DomainResource { else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type Coverage.status"); } + else if (name.equals("kind")) { + throw new FHIRException("Cannot call addChild on a primitive type Coverage.kind"); + } + else if (name.equals("paymentBy")) { + return addPaymentBy(); + } else if (name.equals("type")) { this.type = new CodeableConcept(); return this.type; @@ -1940,8 +2630,7 @@ public class Coverage extends DomainResource { return this.subscriber; } else if (name.equals("subscriberId")) { - this.subscriberId = new Identifier(); - return this.subscriberId; + return addSubscriberId(); } else if (name.equals("beneficiary")) { this.beneficiary = new Reference(); @@ -1958,8 +2647,9 @@ public class Coverage extends DomainResource { this.period = new Period(); return this.period; } - else if (name.equals("payor")) { - return addPayor(); + else if (name.equals("insurer")) { + this.insurer = new Reference(); + return this.insurer; } else if (name.equals("class")) { return addClass_(); @@ -1979,6 +2669,10 @@ public class Coverage extends DomainResource { else if (name.equals("contract")) { return addContract(); } + else if (name.equals("insurancePlan")) { + this.insurancePlan = new Reference(); + return this.insurancePlan; + } else return super.addChild(name); } @@ -2002,19 +2696,25 @@ public class Coverage extends DomainResource { dst.identifier.add(i.copy()); }; dst.status = status == null ? null : status.copy(); + dst.kind = kind == null ? null : kind.copy(); + if (paymentBy != null) { + dst.paymentBy = new ArrayList(); + for (CoveragePaymentByComponent i : paymentBy) + dst.paymentBy.add(i.copy()); + }; dst.type = type == null ? null : type.copy(); dst.policyHolder = policyHolder == null ? null : policyHolder.copy(); dst.subscriber = subscriber == null ? null : subscriber.copy(); - dst.subscriberId = subscriberId == null ? null : subscriberId.copy(); + if (subscriberId != null) { + dst.subscriberId = new ArrayList(); + for (Identifier i : subscriberId) + dst.subscriberId.add(i.copy()); + }; dst.beneficiary = beneficiary == null ? null : beneficiary.copy(); dst.dependent = dependent == null ? null : dependent.copy(); dst.relationship = relationship == null ? null : relationship.copy(); dst.period = period == null ? null : period.copy(); - if (payor != null) { - dst.payor = new ArrayList(); - for (Reference i : payor) - dst.payor.add(i.copy()); - }; + dst.insurer = insurer == null ? null : insurer.copy(); if (class_ != null) { dst.class_ = new ArrayList(); for (ClassComponent i : class_) @@ -2033,6 +2733,7 @@ public class Coverage extends DomainResource { for (Reference i : contract) dst.contract.add(i.copy()); }; + dst.insurancePlan = insurancePlan == null ? null : insurancePlan.copy(); } protected Coverage typedCopy() { @@ -2046,13 +2747,14 @@ public class Coverage extends DomainResource { if (!(other_ instanceof Coverage)) return false; Coverage o = (Coverage) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) - && compareDeep(policyHolder, o.policyHolder, true) && compareDeep(subscriber, o.subscriber, true) - && compareDeep(subscriberId, o.subscriberId, true) && compareDeep(beneficiary, o.beneficiary, true) - && compareDeep(dependent, o.dependent, true) && compareDeep(relationship, o.relationship, true) - && compareDeep(period, o.period, true) && compareDeep(payor, o.payor, true) && compareDeep(class_, o.class_, true) + return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(kind, o.kind, true) + && compareDeep(paymentBy, o.paymentBy, true) && compareDeep(type, o.type, true) && compareDeep(policyHolder, o.policyHolder, true) + && compareDeep(subscriber, o.subscriber, true) && compareDeep(subscriberId, o.subscriberId, true) + && compareDeep(beneficiary, o.beneficiary, true) && compareDeep(dependent, o.dependent, true) && compareDeep(relationship, o.relationship, true) + && compareDeep(period, o.period, true) && compareDeep(insurer, o.insurer, true) && compareDeep(class_, o.class_, true) && compareDeep(order, o.order, true) && compareDeep(network, o.network, true) && compareDeep(costToBeneficiary, o.costToBeneficiary, true) - && compareDeep(subrogation, o.subrogation, true) && compareDeep(contract, o.contract, true); + && compareDeep(subrogation, o.subrogation, true) && compareDeep(contract, o.contract, true) && compareDeep(insurancePlan, o.insurancePlan, true) + ; } @Override @@ -2062,14 +2764,16 @@ public class Coverage extends DomainResource { if (!(other_ instanceof Coverage)) return false; Coverage o = (Coverage) other_; - return compareValues(status, o.status, true) && compareValues(dependent, o.dependent, true) && compareValues(order, o.order, true) - && compareValues(network, o.network, true) && compareValues(subrogation, o.subrogation, true); + return compareValues(status, o.status, true) && compareValues(kind, o.kind, true) && compareValues(dependent, o.dependent, true) + && compareValues(order, o.order, true) && compareValues(network, o.network, true) && compareValues(subrogation, o.subrogation, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type - , policyHolder, subscriber, subscriberId, beneficiary, dependent, relationship, period - , payor, class_, order, network, costToBeneficiary, subrogation, contract); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, kind + , paymentBy, type, policyHolder, subscriber, subscriberId, beneficiary, dependent + , relationship, period, insurer, class_, order, network, costToBeneficiary, subrogation + , contract, insurancePlan); } @Override @@ -2127,21 +2831,21 @@ public class Coverage extends DomainResource { * Search parameter: class-value *

* Description: Value of the class (eg. Plan number, group number)
- * Type: string
+ * Type: token
* Path: Coverage.class.value
*

*/ - @SearchParamDefinition(name="class-value", path="Coverage.class.value", description="Value of the class (eg. Plan number, group number)", type="string" ) + @SearchParamDefinition(name="class-value", path="Coverage.class.value", description="Value of the class (eg. Plan number, group number)", type="token" ) public static final String SP_CLASS_VALUE = "class-value"; /** * Fluent Client search parameter constant for class-value *

* Description: Value of the class (eg. Plan number, group number)
- * Type: string
+ * Type: token
* Path: Coverage.class.value
*

*/ - public static final ca.uhn.fhir.rest.gclient.StringClientParam CLASS_VALUE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_CLASS_VALUE); + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CLASS_VALUE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CLASS_VALUE); /** * Search parameter: dependent @@ -2183,6 +2887,32 @@ public class Coverage extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + /** + * Search parameter: insurer + *

+ * Description: The identity of the insurer
+ * Type: reference
+ * Path: Coverage.insurer
+ *

+ */ + @SearchParamDefinition(name="insurer", path="Coverage.insurer", description="The identity of the insurer", type="reference", target={Organization.class } ) + public static final String SP_INSURER = "insurer"; + /** + * Fluent Client search parameter constant for insurer + *

+ * Description: The identity of the insurer
+ * Type: reference
+ * Path: Coverage.insurer
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSURER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSURER); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Coverage:insurer". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_INSURER = new ca.uhn.fhir.model.api.Include("Coverage:insurer").toLocked(); + /** * Search parameter: patient *

@@ -2210,30 +2940,30 @@ public class Coverage extends DomainResource { public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Coverage:patient").toLocked(); /** - * Search parameter: payor + * Search parameter: paymentby-party *

- * Description: The identity of the insurer or party paying for services
+ * Description: Parties who will pay for services
* Type: reference
- * Path: Coverage.payor
+ * Path: Coverage.paymentBy.party
*

*/ - @SearchParamDefinition(name="payor", path="Coverage.payor", description="The identity of the insurer or party paying for services", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Organization.class, Patient.class, RelatedPerson.class } ) - public static final String SP_PAYOR = "payor"; + @SearchParamDefinition(name="paymentby-party", path="Coverage.paymentBy.party", description="Parties who will pay for services", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Organization.class, Patient.class, RelatedPerson.class } ) + public static final String SP_PAYMENTBY_PARTY = "paymentby-party"; /** - * Fluent Client search parameter constant for payor + * Fluent Client search parameter constant for paymentby-party *

- * Description: The identity of the insurer or party paying for services
+ * Description: Parties who will pay for services
* Type: reference
- * Path: Coverage.payor
+ * Path: Coverage.paymentBy.party
*

*/ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PAYOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PAYOR); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PAYMENTBY_PARTY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PAYMENTBY_PARTY); /** * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "Coverage:payor". + * the path value of "Coverage:paymentby-party". */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_PAYOR = new ca.uhn.fhir.model.api.Include("Coverage:payor").toLocked(); + public static final ca.uhn.fhir.model.api.Include INCLUDE_PAYMENTBY_PARTY = new ca.uhn.fhir.model.api.Include("Coverage:paymentby-party").toLocked(); /** * Search parameter: policy-holder @@ -2307,6 +3037,26 @@ public class Coverage extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBSCRIBER = new ca.uhn.fhir.model.api.Include("Coverage:subscriber").toLocked(); + /** + * Search parameter: subscriberid + *

+ * Description: Identifier of the subscriber
+ * Type: token
+ * Path: Coverage.subscriberId
+ *

+ */ + @SearchParamDefinition(name="subscriberid", path="Coverage.subscriberId", description="Identifier of the subscriber", type="token" ) + public static final String SP_SUBSCRIBERID = "subscriberid"; + /** + * Fluent Client search parameter constant for subscriberid + *

+ * Description: Identifier of the subscriber
+ * Type: token
+ * Path: Coverage.subscriberId
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam SUBSCRIBERID = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SUBSCRIBERID); + /** * Search parameter: type *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityRequest.java index bb5dc9543..8d31744b2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityResponse.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityResponse.java index a951b5493..2ac0c5b58 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityResponse.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/CoverageEligibilityResponse.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataRequirement.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataRequirement.java index 9b5a2100b..8e6da90e7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataRequirement.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataRequirement.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. + * DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. */ @DatatypeDef(name="DataRequirement") public class DataRequirement extends DataType implements ICompositeType { @@ -147,6 +147,182 @@ public class DataRequirement extends DataType implements ICompositeType { } } + public enum ValueFilterComparator { + /** + * the value for the parameter in the resource is equal to the provided value. + */ + EQ, + /** + * the value for the parameter in the resource is greater than the provided value. + */ + GT, + /** + * the value for the parameter in the resource is less than the provided value. + */ + LT, + /** + * the value for the parameter in the resource is greater or equal to the provided value. + */ + GE, + /** + * the value for the parameter in the resource is less or equal to the provided value. + */ + LE, + /** + * the value for the parameter in the resource starts after the provided value. + */ + SA, + /** + * the value for the parameter in the resource ends before the provided value. + */ + EB, + /** + * added to help the parsers with the generic types + */ + NULL; + public static ValueFilterComparator fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("eq".equals(codeString)) + return EQ; + if ("gt".equals(codeString)) + return GT; + if ("lt".equals(codeString)) + return LT; + if ("ge".equals(codeString)) + return GE; + if ("le".equals(codeString)) + return LE; + if ("sa".equals(codeString)) + return SA; + if ("eb".equals(codeString)) + return EB; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown ValueFilterComparator code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case EQ: return "eq"; + case GT: return "gt"; + case LT: return "lt"; + case GE: return "ge"; + case LE: return "le"; + case SA: return "sa"; + case EB: return "eb"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case EQ: return "http://hl7.org/fhir/search-comparator"; + case GT: return "http://hl7.org/fhir/search-comparator"; + case LT: return "http://hl7.org/fhir/search-comparator"; + case GE: return "http://hl7.org/fhir/search-comparator"; + case LE: return "http://hl7.org/fhir/search-comparator"; + case SA: return "http://hl7.org/fhir/search-comparator"; + case EB: return "http://hl7.org/fhir/search-comparator"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case EQ: return "the value for the parameter in the resource is equal to the provided value."; + case GT: return "the value for the parameter in the resource is greater than the provided value."; + case LT: return "the value for the parameter in the resource is less than the provided value."; + case GE: return "the value for the parameter in the resource is greater or equal to the provided value."; + case LE: return "the value for the parameter in the resource is less or equal to the provided value."; + case SA: return "the value for the parameter in the resource starts after the provided value."; + case EB: return "the value for the parameter in the resource ends before the provided value."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case EQ: return "Equals"; + case GT: return "Greater Than"; + case LT: return "Less Than"; + case GE: return "Greater or Equals"; + case LE: return "Less of Equal"; + case SA: return "Starts After"; + case EB: return "Ends Before"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class ValueFilterComparatorEnumFactory implements EnumFactory { + public ValueFilterComparator fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("eq".equals(codeString)) + return ValueFilterComparator.EQ; + if ("gt".equals(codeString)) + return ValueFilterComparator.GT; + if ("lt".equals(codeString)) + return ValueFilterComparator.LT; + if ("ge".equals(codeString)) + return ValueFilterComparator.GE; + if ("le".equals(codeString)) + return ValueFilterComparator.LE; + if ("sa".equals(codeString)) + return ValueFilterComparator.SA; + if ("eb".equals(codeString)) + return ValueFilterComparator.EB; + throw new IllegalArgumentException("Unknown ValueFilterComparator code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("eq".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.EQ); + if ("gt".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.GT); + if ("lt".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.LT); + if ("ge".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.GE); + if ("le".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.LE); + if ("sa".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.SA); + if ("eb".equals(codeString)) + return new Enumeration(this, ValueFilterComparator.EB); + throw new FHIRException("Unknown ValueFilterComparator code '"+codeString+"'"); + } + public String toCode(ValueFilterComparator code) { + if (code == ValueFilterComparator.EQ) + return "eq"; + if (code == ValueFilterComparator.GT) + return "gt"; + if (code == ValueFilterComparator.LT) + return "lt"; + if (code == ValueFilterComparator.GE) + return "ge"; + if (code == ValueFilterComparator.LE) + return "le"; + if (code == ValueFilterComparator.SA) + return "sa"; + if (code == ValueFilterComparator.EB) + return "eb"; + return "?"; + } + public String toSystem(ValueFilterComparator code) { + return code.getSystem(); + } + } + @Block() public static class DataRequirementCodeFilterComponent extends Element implements IBaseDatatypeElement { /** @@ -897,6 +1073,432 @@ public class DataRequirement extends DataType implements ICompositeType { } + } + + @Block() + public static class DataRequirementValueFilterComponent extends Element implements IBaseDatatypeElement { + /** + * The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter. + */ + @Child(name = "path", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="An attribute to filter on", formalDefinition="The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter." ) + protected StringType path; + + /** + * A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter. + */ + @Child(name = "searchParam", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="A parameter to search on", formalDefinition="A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter." ) + protected StringType searchParam; + + /** + * The comparator to be used to determine whether the value is matching. + */ + @Child(name = "comparator", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="eq | gt | lt | ge | le | sa | eb", formalDefinition="The comparator to be used to determine whether the value is matching." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/value-filter-comparator") + protected Enumeration comparator; + + /** + * The value of the filter. + */ + @Child(name = "value", type = {DateTimeType.class, Period.class, Duration.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="The value of the filter, as a Period, DateTime, or Duration value", formalDefinition="The value of the filter." ) + protected DataType value; + + private static final long serialVersionUID = 2106988483L; + + /** + * Constructor + */ + public DataRequirementValueFilterComponent() { + super(); + } + + /** + * @return {@link #path} (The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value + */ + public StringType getPathElement() { + if (this.path == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DataRequirementValueFilterComponent.path"); + else if (Configuration.doAutoCreate()) + this.path = new StringType(); // bb + return this.path; + } + + public boolean hasPathElement() { + return this.path != null && !this.path.isEmpty(); + } + + public boolean hasPath() { + return this.path != null && !this.path.isEmpty(); + } + + /** + * @param value {@link #path} (The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value + */ + public DataRequirementValueFilterComponent setPathElement(StringType value) { + this.path = value; + return this; + } + + /** + * @return The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter. + */ + public String getPath() { + return this.path == null ? null : this.path.getValue(); + } + + /** + * @param value The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter. + */ + public DataRequirementValueFilterComponent setPath(String value) { + if (Utilities.noString(value)) + this.path = null; + else { + if (this.path == null) + this.path = new StringType(); + this.path.setValue(value); + } + return this; + } + + /** + * @return {@link #searchParam} (A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.). This is the underlying object with id, value and extensions. The accessor "getSearchParam" gives direct access to the value + */ + public StringType getSearchParamElement() { + if (this.searchParam == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DataRequirementValueFilterComponent.searchParam"); + else if (Configuration.doAutoCreate()) + this.searchParam = new StringType(); // bb + return this.searchParam; + } + + public boolean hasSearchParamElement() { + return this.searchParam != null && !this.searchParam.isEmpty(); + } + + public boolean hasSearchParam() { + return this.searchParam != null && !this.searchParam.isEmpty(); + } + + /** + * @param value {@link #searchParam} (A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.). This is the underlying object with id, value and extensions. The accessor "getSearchParam" gives direct access to the value + */ + public DataRequirementValueFilterComponent setSearchParamElement(StringType value) { + this.searchParam = value; + return this; + } + + /** + * @return A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter. + */ + public String getSearchParam() { + return this.searchParam == null ? null : this.searchParam.getValue(); + } + + /** + * @param value A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter. + */ + public DataRequirementValueFilterComponent setSearchParam(String value) { + if (Utilities.noString(value)) + this.searchParam = null; + else { + if (this.searchParam == null) + this.searchParam = new StringType(); + this.searchParam.setValue(value); + } + return this; + } + + /** + * @return {@link #comparator} (The comparator to be used to determine whether the value is matching.). This is the underlying object with id, value and extensions. The accessor "getComparator" gives direct access to the value + */ + public Enumeration getComparatorElement() { + if (this.comparator == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DataRequirementValueFilterComponent.comparator"); + else if (Configuration.doAutoCreate()) + this.comparator = new Enumeration(new ValueFilterComparatorEnumFactory()); // bb + return this.comparator; + } + + public boolean hasComparatorElement() { + return this.comparator != null && !this.comparator.isEmpty(); + } + + public boolean hasComparator() { + return this.comparator != null && !this.comparator.isEmpty(); + } + + /** + * @param value {@link #comparator} (The comparator to be used to determine whether the value is matching.). This is the underlying object with id, value and extensions. The accessor "getComparator" gives direct access to the value + */ + public DataRequirementValueFilterComponent setComparatorElement(Enumeration value) { + this.comparator = value; + return this; + } + + /** + * @return The comparator to be used to determine whether the value is matching. + */ + public ValueFilterComparator getComparator() { + return this.comparator == null ? null : this.comparator.getValue(); + } + + /** + * @param value The comparator to be used to determine whether the value is matching. + */ + public DataRequirementValueFilterComponent setComparator(ValueFilterComparator value) { + if (value == null) + this.comparator = null; + else { + if (this.comparator == null) + this.comparator = new Enumeration(new ValueFilterComparatorEnumFactory()); + this.comparator.setValue(value); + } + return this; + } + + /** + * @return {@link #value} (The value of the filter.) + */ + public DataType getValue() { + return this.value; + } + + /** + * @return {@link #value} (The value of the filter.) + */ + public DateTimeType getValueDateTimeType() throws FHIRException { + if (this.value == null) + this.value = new DateTimeType(); + if (!(this.value instanceof DateTimeType)) + throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (DateTimeType) this.value; + } + + public boolean hasValueDateTimeType() { + return this != null && this.value instanceof DateTimeType; + } + + /** + * @return {@link #value} (The value of the filter.) + */ + public Period getValuePeriod() throws FHIRException { + if (this.value == null) + this.value = new Period(); + if (!(this.value instanceof Period)) + throw new FHIRException("Type mismatch: the type Period was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Period) this.value; + } + + public boolean hasValuePeriod() { + return this != null && this.value instanceof Period; + } + + /** + * @return {@link #value} (The value of the filter.) + */ + public Duration getValueDuration() throws FHIRException { + if (this.value == null) + this.value = new Duration(); + if (!(this.value instanceof Duration)) + throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Duration) this.value; + } + + public boolean hasValueDuration() { + return this != null && this.value instanceof Duration; + } + + public boolean hasValue() { + return this.value != null && !this.value.isEmpty(); + } + + /** + * @param value {@link #value} (The value of the filter.) + */ + public DataRequirementValueFilterComponent setValue(DataType value) { + if (value != null && !(value instanceof DateTimeType || value instanceof Period || value instanceof Duration)) + throw new Error("Not the right type for DataRequirement.valueFilter.value[x]: "+value.fhirType()); + this.value = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("path", "string", "The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.", 0, 1, path)); + children.add(new Property("searchParam", "string", "A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.", 0, 1, searchParam)); + children.add(new Property("comparator", "code", "The comparator to be used to determine whether the value is matching.", 0, 1, comparator)); + children.add(new Property("value[x]", "dateTime|Period|Duration", "The value of the filter.", 0, 1, value)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3433509: /*path*/ return new Property("path", "string", "The attribute of the filter. The specified path SHALL be a FHIRPath resolveable on the specified type of the DataRequirement, and SHALL consist only of identifiers, constant indexers, and .resolve(). The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). Note that the index must be an integer constant. The path must resolve to an element of a type that is comparable to the valueFilter.value[x] element for the filter.", 0, 1, path); + case -553645115: /*searchParam*/ return new Property("searchParam", "string", "A search parameter defined on the specified type of the DataRequirement, and which searches on elements of a type compatible with the type of the valueFilter.value[x] for the filter.", 0, 1, searchParam); + case -844673834: /*comparator*/ return new Property("comparator", "code", "The comparator to be used to determine whether the value is matching.", 0, 1, comparator); + case -1410166417: /*value[x]*/ return new Property("value[x]", "dateTime|Period|Duration", "The value of the filter.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "dateTime|Period|Duration", "The value of the filter.", 0, 1, value); + case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of the filter.", 0, 1, value); + case -1524344174: /*valuePeriod*/ return new Property("value[x]", "Period", "The value of the filter.", 0, 1, value); + case 1558135333: /*valueDuration*/ return new Property("value[x]", "Duration", "The value of the filter.", 0, 1, value); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType + case -553645115: /*searchParam*/ return this.searchParam == null ? new Base[0] : new Base[] {this.searchParam}; // StringType + case -844673834: /*comparator*/ return this.comparator == null ? new Base[0] : new Base[] {this.comparator}; // Enumeration + case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3433509: // path + this.path = TypeConvertor.castToString(value); // StringType + return value; + case -553645115: // searchParam + this.searchParam = TypeConvertor.castToString(value); // StringType + return value; + case -844673834: // comparator + value = new ValueFilterComparatorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.comparator = (Enumeration) value; // Enumeration + return value; + case 111972721: // value + this.value = TypeConvertor.castToType(value); // DataType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("path")) { + this.path = TypeConvertor.castToString(value); // StringType + } else if (name.equals("searchParam")) { + this.searchParam = TypeConvertor.castToString(value); // StringType + } else if (name.equals("comparator")) { + value = new ValueFilterComparatorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.comparator = (Enumeration) value; // Enumeration + } else if (name.equals("value[x]")) { + this.value = TypeConvertor.castToType(value); // DataType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3433509: return getPathElement(); + case -553645115: return getSearchParamElement(); + case -844673834: return getComparatorElement(); + case -1410166417: return getValue(); + case 111972721: return getValue(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3433509: /*path*/ return new String[] {"string"}; + case -553645115: /*searchParam*/ return new String[] {"string"}; + case -844673834: /*comparator*/ return new String[] {"code"}; + case 111972721: /*value*/ return new String[] {"dateTime", "Period", "Duration"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("path")) { + throw new FHIRException("Cannot call addChild on a primitive type DataRequirement.valueFilter.path"); + } + else if (name.equals("searchParam")) { + throw new FHIRException("Cannot call addChild on a primitive type DataRequirement.valueFilter.searchParam"); + } + else if (name.equals("comparator")) { + throw new FHIRException("Cannot call addChild on a primitive type DataRequirement.valueFilter.comparator"); + } + else if (name.equals("valueDateTime")) { + this.value = new DateTimeType(); + return this.value; + } + else if (name.equals("valuePeriod")) { + this.value = new Period(); + return this.value; + } + else if (name.equals("valueDuration")) { + this.value = new Duration(); + return this.value; + } + else + return super.addChild(name); + } + + public DataRequirementValueFilterComponent copy() { + DataRequirementValueFilterComponent dst = new DataRequirementValueFilterComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(DataRequirementValueFilterComponent dst) { + super.copyValues(dst); + dst.path = path == null ? null : path.copy(); + dst.searchParam = searchParam == null ? null : searchParam.copy(); + dst.comparator = comparator == null ? null : comparator.copy(); + dst.value = value == null ? null : value.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof DataRequirementValueFilterComponent)) + return false; + DataRequirementValueFilterComponent o = (DataRequirementValueFilterComponent) other_; + return compareDeep(path, o.path, true) && compareDeep(searchParam, o.searchParam, true) && compareDeep(comparator, o.comparator, true) + && compareDeep(value, o.value, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof DataRequirementValueFilterComponent)) + return false; + DataRequirementValueFilterComponent o = (DataRequirementValueFilterComponent) other_; + return compareValues(path, o.path, true) && compareValues(searchParam, o.searchParam, true) && compareValues(comparator, o.comparator, true) + ; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(path, searchParam, comparator + , value); + } + + public String fhirType() { + return "DataRequirement.valueFilter"; + + } + } @Block() @@ -1157,8 +1759,8 @@ public class DataRequirement extends DataType implements ICompositeType { */ @Child(name = "type", type = {CodeType.class}, order=0, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="The type of the required data", formalDefinition="The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-types") - protected Enumeration type; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") + protected Enumeration type; /** * The profile of the required data, specified as the uri of the profile definition. @@ -1172,7 +1774,7 @@ public class DataRequirement extends DataType implements ICompositeType { */ @Child(name = "subject", type = {CodeableConcept.class, Group.class}, order=2, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device", formalDefinition="The intended subjects of the data requirement. If this element is not provided, a Patient subject is assumed." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -1198,21 +1800,28 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data @Description(shortDefinition="What dates/date ranges are expected", formalDefinition="Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed." ) protected List dateFilter; + /** + * Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed). + */ + @Child(name = "valueFilter", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="What values are expected", formalDefinition="Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed)." ) + protected List valueFilter; + /** * Specifies a maximum number of results that are required (uses the _count search parameter). */ - @Child(name = "limit", type = {PositiveIntType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "limit", type = {PositiveIntType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Number of results", formalDefinition="Specifies a maximum number of results that are required (uses the _count search parameter)." ) protected PositiveIntType limit; /** * Specifies the order of the results to be returned. */ - @Child(name = "sort", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "sort", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Order of the results", formalDefinition="Specifies the order of the results to be returned." ) protected List sort; - private static final long serialVersionUID = -1379674933L; + private static final long serialVersionUID = -2078097376L; /** * Constructor @@ -1224,7 +1833,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data /** * Constructor */ - public DataRequirement(FHIRAllTypes type) { + public DataRequirement(FHIRTypes type) { super(); this.setType(type); } @@ -1232,12 +1841,12 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data /** * @return {@link #type} (The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public Enumeration getTypeElement() { + public Enumeration getTypeElement() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create DataRequirement.type"); else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new FHIRAllTypesEnumFactory()); // bb + this.type = new Enumeration(new FHIRTypesEnumFactory()); // bb return this.type; } @@ -1252,7 +1861,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data /** * @param value {@link #type} (The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public DataRequirement setTypeElement(Enumeration value) { + public DataRequirement setTypeElement(Enumeration value) { this.type = value; return this; } @@ -1260,16 +1869,16 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data /** * @return The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile. */ - public FHIRAllTypes getType() { + public FHIRTypes getType() { return this.type == null ? null : this.type.getValue(); } /** * @param value The type of the required data, specified as the type name of a resource. For profiles, this value is set to the type of the base resource of the profile. */ - public DataRequirement setType(FHIRAllTypes value) { + public DataRequirement setType(FHIRTypes value) { if (this.type == null) - this.type = new Enumeration(new FHIRAllTypesEnumFactory()); + this.type = new Enumeration(new FHIRTypesEnumFactory()); this.type.setValue(value); return this; } @@ -1561,6 +2170,59 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data return getDateFilter().get(0); } + /** + * @return {@link #valueFilter} (Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed).) + */ + public List getValueFilter() { + if (this.valueFilter == null) + this.valueFilter = new ArrayList(); + return this.valueFilter; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public DataRequirement setValueFilter(List theValueFilter) { + this.valueFilter = theValueFilter; + return this; + } + + public boolean hasValueFilter() { + if (this.valueFilter == null) + return false; + for (DataRequirementValueFilterComponent item : this.valueFilter) + if (!item.isEmpty()) + return true; + return false; + } + + public DataRequirementValueFilterComponent addValueFilter() { //3 + DataRequirementValueFilterComponent t = new DataRequirementValueFilterComponent(); + if (this.valueFilter == null) + this.valueFilter = new ArrayList(); + this.valueFilter.add(t); + return t; + } + + public DataRequirement addValueFilter(DataRequirementValueFilterComponent t) { //3 + if (t == null) + return this; + if (this.valueFilter == null) + this.valueFilter = new ArrayList(); + this.valueFilter.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #valueFilter}, creating it if it does not already exist {3} + */ + public DataRequirementValueFilterComponent getValueFilterFirstRep() { + if (getValueFilter().isEmpty()) { + addValueFilter(); + } + return getValueFilter().get(0); + } + /** * @return {@link #limit} (Specifies a maximum number of results that are required (uses the _count search parameter).). This is the underlying object with id, value and extensions. The accessor "getLimit" gives direct access to the value */ @@ -1667,6 +2329,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data children.add(new Property("mustSupport", "string", "Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. \n\nThe value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, java.lang.Integer.MAX_VALUE, mustSupport)); children.add(new Property("codeFilter", "", "Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.", 0, java.lang.Integer.MAX_VALUE, codeFilter)); children.add(new Property("dateFilter", "", "Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.", 0, java.lang.Integer.MAX_VALUE, dateFilter)); + children.add(new Property("valueFilter", "", "Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed).", 0, java.lang.Integer.MAX_VALUE, valueFilter)); children.add(new Property("limit", "positiveInt", "Specifies a maximum number of results that are required (uses the _count search parameter).", 0, 1, limit)); children.add(new Property("sort", "", "Specifies the order of the results to be returned.", 0, java.lang.Integer.MAX_VALUE, sort)); } @@ -1683,6 +2346,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data case -1402857082: /*mustSupport*/ return new Property("mustSupport", "string", "Indicates that specific elements of the type are referenced by the knowledge module and must be supported by the consumer in order to obtain an effective evaluation. This does not mean that a value is required for this element, only that the consuming system must understand the element and be able to provide values for it if they are available. \n\nThe value of mustSupport SHALL be a FHIRPath resolveable on the type of the DataRequirement. The path SHALL consist only of identifiers, constant indexers, and .resolve() (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, java.lang.Integer.MAX_VALUE, mustSupport); case -1303674939: /*codeFilter*/ return new Property("codeFilter", "", "Code filters specify additional constraints on the data, specifying the value set of interest for a particular element of the data. Each code filter defines an additional constraint on the data, i.e. code filters are AND'ed, not OR'ed.", 0, java.lang.Integer.MAX_VALUE, codeFilter); case 149531846: /*dateFilter*/ return new Property("dateFilter", "", "Date filters specify additional constraints on the data in terms of the applicable date range for specific elements. Each date filter specifies an additional constraint on the data, i.e. date filters are AND'ed, not OR'ed.", 0, java.lang.Integer.MAX_VALUE, dateFilter); + case -1807110071: /*valueFilter*/ return new Property("valueFilter", "", "Value filters specify additional constraints on the data for elements other than code-valued or date-valued. Each value filter specifies an additional constraint on the data (i.e. valueFilters are AND'ed, not OR'ed).", 0, java.lang.Integer.MAX_VALUE, valueFilter); case 102976443: /*limit*/ return new Property("limit", "positiveInt", "Specifies a maximum number of results that are required (uses the _count search parameter).", 0, 1, limit); case 3536286: /*sort*/ return new Property("sort", "", "Specifies the order of the results to be returned.", 0, java.lang.Integer.MAX_VALUE, sort); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1693,12 +2357,13 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // DataType case -1402857082: /*mustSupport*/ return this.mustSupport == null ? new Base[0] : this.mustSupport.toArray(new Base[this.mustSupport.size()]); // StringType case -1303674939: /*codeFilter*/ return this.codeFilter == null ? new Base[0] : this.codeFilter.toArray(new Base[this.codeFilter.size()]); // DataRequirementCodeFilterComponent case 149531846: /*dateFilter*/ return this.dateFilter == null ? new Base[0] : this.dateFilter.toArray(new Base[this.dateFilter.size()]); // DataRequirementDateFilterComponent + case -1807110071: /*valueFilter*/ return this.valueFilter == null ? new Base[0] : this.valueFilter.toArray(new Base[this.valueFilter.size()]); // DataRequirementValueFilterComponent case 102976443: /*limit*/ return this.limit == null ? new Base[0] : new Base[] {this.limit}; // PositiveIntType case 3536286: /*sort*/ return this.sort == null ? new Base[0] : this.sort.toArray(new Base[this.sort.size()]); // DataRequirementSortComponent default: return super.getProperty(hash, name, checkValid); @@ -1710,8 +2375,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3575610: // type - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration return value; case -309425751: // profile this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType @@ -1728,6 +2393,9 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data case 149531846: // dateFilter this.getDateFilter().add((DataRequirementDateFilterComponent) value); // DataRequirementDateFilterComponent return value; + case -1807110071: // valueFilter + this.getValueFilter().add((DataRequirementValueFilterComponent) value); // DataRequirementValueFilterComponent + return value; case 102976443: // limit this.limit = TypeConvertor.castToPositiveInt(value); // PositiveIntType return value; @@ -1742,8 +2410,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("type")) { - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration } else if (name.equals("profile")) { this.getProfile().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("subject[x]")) { @@ -1754,6 +2422,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data this.getCodeFilter().add((DataRequirementCodeFilterComponent) value); } else if (name.equals("dateFilter")) { this.getDateFilter().add((DataRequirementDateFilterComponent) value); + } else if (name.equals("valueFilter")) { + this.getValueFilter().add((DataRequirementValueFilterComponent) value); } else if (name.equals("limit")) { this.limit = TypeConvertor.castToPositiveInt(value); // PositiveIntType } else if (name.equals("sort")) { @@ -1773,6 +2443,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data case -1402857082: return addMustSupportElement(); case -1303674939: return addCodeFilter(); case 149531846: return addDateFilter(); + case -1807110071: return addValueFilter(); case 102976443: return getLimitElement(); case 3536286: return addSort(); default: return super.makeProperty(hash, name); @@ -1789,6 +2460,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data case -1402857082: /*mustSupport*/ return new String[] {"string"}; case -1303674939: /*codeFilter*/ return new String[] {}; case 149531846: /*dateFilter*/ return new String[] {}; + case -1807110071: /*valueFilter*/ return new String[] {}; case 102976443: /*limit*/ return new String[] {"positiveInt"}; case 3536286: /*sort*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -1821,6 +2493,9 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data else if (name.equals("dateFilter")) { return addDateFilter(); } + else if (name.equals("valueFilter")) { + return addValueFilter(); + } else if (name.equals("limit")) { throw new FHIRException("Cannot call addChild on a primitive type DataRequirement.limit"); } @@ -1866,6 +2541,11 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data for (DataRequirementDateFilterComponent i : dateFilter) dst.dateFilter.add(i.copy()); }; + if (valueFilter != null) { + dst.valueFilter = new ArrayList(); + for (DataRequirementValueFilterComponent i : valueFilter) + dst.valueFilter.add(i.copy()); + }; dst.limit = limit == null ? null : limit.copy(); if (sort != null) { dst.sort = new ArrayList(); @@ -1887,8 +2567,8 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data DataRequirement o = (DataRequirement) other_; return compareDeep(type, o.type, true) && compareDeep(profile, o.profile, true) && compareDeep(subject, o.subject, true) && compareDeep(mustSupport, o.mustSupport, true) && compareDeep(codeFilter, o.codeFilter, true) - && compareDeep(dateFilter, o.dateFilter, true) && compareDeep(limit, o.limit, true) && compareDeep(sort, o.sort, true) - ; + && compareDeep(dateFilter, o.dateFilter, true) && compareDeep(valueFilter, o.valueFilter, true) + && compareDeep(limit, o.limit, true) && compareDeep(sort, o.sort, true); } @Override @@ -1904,7 +2584,7 @@ The value of mustSupport SHALL be a FHIRPath resolveable on the type of the Data public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, profile, subject, mustSupport - , codeFilter, dateFilter, limit, sort); + , codeFilter, dateFilter, valueFilter, limit, sort); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataType.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataType.java index 691d6cedb..683807709 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataType.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DataType.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.IBaseDatatype; import ca.uhn.fhir.model.api.IElement; /** - * Base StructureDefinition for DataType Type: The base class for all re-useable types defined as part of the FHIR Specification. + * DataType Type: The base class for all re-useable types defined as part of the FHIR Specification. */ @DatatypeDef(name="DataType") public abstract class DataType extends Element implements IBaseDatatype, IElement { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DetectedIssue.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DetectedIssue.java index f6bdb6e53..7c2b84c6e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DetectedIssue.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DetectedIssue.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -165,6 +165,134 @@ public class DetectedIssue extends DomainResource { } } + public enum DetectedIssueStatus { + /** + * This is an initial or interim observation: data may be incomplete or unverified. + */ + PRELIMINARY, + /** + * The observation is complete and there are no further actions needed. Additional information such \"released\", \"signed\", etc would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied. + */ + FINAL, + /** + * The observation has been withdrawn following previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".). + */ + ENTEREDINERROR, + /** + * Indicates the detected issue has been mitigated + */ + MITIGATED, + /** + * added to help the parsers with the generic types + */ + NULL; + public static DetectedIssueStatus fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("preliminary".equals(codeString)) + return PRELIMINARY; + if ("final".equals(codeString)) + return FINAL; + if ("entered-in-error".equals(codeString)) + return ENTEREDINERROR; + if ("mitigated".equals(codeString)) + return MITIGATED; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown DetectedIssueStatus code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case PRELIMINARY: return "preliminary"; + case FINAL: return "final"; + case ENTEREDINERROR: return "entered-in-error"; + case MITIGATED: return "mitigated"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case PRELIMINARY: return "http://hl7.org/fhir/observation-status"; + case FINAL: return "http://hl7.org/fhir/observation-status"; + case ENTEREDINERROR: return "http://hl7.org/fhir/observation-status"; + case MITIGATED: return "http://hl7.org/fhir/detectedissue-status"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case PRELIMINARY: return "This is an initial or interim observation: data may be incomplete or unverified."; + case FINAL: return "The observation is complete and there are no further actions needed. Additional information such \"released\", \"signed\", etc would be represented using [Provenance](provenance.html) which provides not only the act but also the actors and dates and other related data. These act states would be associated with an observation status of `preliminary` until they are all completed and then a status of `final` would be applied."; + case ENTEREDINERROR: return "The observation has been withdrawn following previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".)."; + case MITIGATED: return "Indicates the detected issue has been mitigated"; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case PRELIMINARY: return "Preliminary"; + case FINAL: return "Final"; + case ENTEREDINERROR: return "Entered in Error"; + case MITIGATED: return "Mitigated"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class DetectedIssueStatusEnumFactory implements EnumFactory { + public DetectedIssueStatus fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("preliminary".equals(codeString)) + return DetectedIssueStatus.PRELIMINARY; + if ("final".equals(codeString)) + return DetectedIssueStatus.FINAL; + if ("entered-in-error".equals(codeString)) + return DetectedIssueStatus.ENTEREDINERROR; + if ("mitigated".equals(codeString)) + return DetectedIssueStatus.MITIGATED; + throw new IllegalArgumentException("Unknown DetectedIssueStatus code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("preliminary".equals(codeString)) + return new Enumeration(this, DetectedIssueStatus.PRELIMINARY); + if ("final".equals(codeString)) + return new Enumeration(this, DetectedIssueStatus.FINAL); + if ("entered-in-error".equals(codeString)) + return new Enumeration(this, DetectedIssueStatus.ENTEREDINERROR); + if ("mitigated".equals(codeString)) + return new Enumeration(this, DetectedIssueStatus.MITIGATED); + throw new FHIRException("Unknown DetectedIssueStatus code '"+codeString+"'"); + } + public String toCode(DetectedIssueStatus code) { + if (code == DetectedIssueStatus.PRELIMINARY) + return "preliminary"; + if (code == DetectedIssueStatus.FINAL) + return "final"; + if (code == DetectedIssueStatus.ENTEREDINERROR) + return "entered-in-error"; + if (code == DetectedIssueStatus.MITIGATED) + return "mitigated"; + return "?"; + } + public String toSystem(DetectedIssueStatus code) { + return code.getSystem(); + } + } + @Block() public static class DetectedIssueEvidenceComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -723,83 +851,91 @@ public class DetectedIssue extends DomainResource { * Indicates the status of the detected issue. */ @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) - @Description(shortDefinition="registered | preliminary | final | amended +", formalDefinition="Indicates the status of the detected issue." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-status") - protected Enumeration status; + @Description(shortDefinition="preliminary | final | entered-in-error | mitigated", formalDefinition="Indicates the status of the detected issue." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-status") + protected Enumeration status; /** - * Identifies the general type of issue identified. + * A code that classifies the general type of detected issue. */ - @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Issue Category, e.g. drug-drug, duplicate therapy, etc.", formalDefinition="Identifies the general type of issue identified." ) + @Child(name = "category", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Type of detected issue, e.g. drug-drug, duplicate therapy, etc.", formalDefinition="A code that classifies the general type of detected issue." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-category") + protected List category; + + /** + * Identifies the specific type of issue identified. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Specific type of detected issue, e.g. drug-drug, duplicate therapy, etc.", formalDefinition="Identifies the specific type of issue identified." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-category") protected CodeableConcept code; /** * Indicates the degree of importance associated with the identified issue based on the potential impact on the patient. */ - @Child(name = "severity", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "severity", type = {CodeType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="high | moderate | low", formalDefinition="Indicates the degree of importance associated with the identified issue based on the potential impact on the patient." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/detectedissue-severity") protected Enumeration severity; /** - * Indicates the patient whose record the detected issue is associated with. + * Indicates the subject whose record the detected issue is associated with. */ - @Child(name = "patient", type = {Patient.class}, order=4, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Associated patient", formalDefinition="Indicates the patient whose record the detected issue is associated with." ) - protected Reference patient; + @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Procedure.class, Practitioner.class, Medication.class, Substance.class, BiologicallyDerivedProduct.class, NutritionProduct.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Associated subject", formalDefinition="Indicates the subject whose record the detected issue is associated with." ) + protected Reference subject; /** * The date or period when the detected issue was initially identified. */ - @Child(name = "identified", type = {DateTimeType.class, Period.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "identified", type = {DateTimeType.class, Period.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When identified", formalDefinition="The date or period when the detected issue was initially identified." ) protected DataType identified; /** * Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review. */ - @Child(name = "author", type = {Practitioner.class, PractitionerRole.class, Device.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "author", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Device.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The provider or device that identified the issue", formalDefinition="Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review." ) protected Reference author; /** * Indicates the resource representing the current activity or proposed activity that is potentially problematic. */ - @Child(name = "implicated", type = {Reference.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "implicated", type = {Reference.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Problem resource", formalDefinition="Indicates the resource representing the current activity or proposed activity that is potentially problematic." ) protected List implicated; /** * Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport. */ - @Child(name = "evidence", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "evidence", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Supporting evidence", formalDefinition="Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport." ) protected List evidence; /** * A textual explanation of the detected issue. */ - @Child(name = "detail", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "detail", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Description and context", formalDefinition="A textual explanation of the detected issue." ) protected StringType detail; /** * The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified. */ - @Child(name = "reference", type = {UriType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "reference", type = {UriType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Authority for issue", formalDefinition="The literature, knowledge-base or similar reference that describes the propensity for the detected issue identified." ) protected UriType reference; /** * Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action. */ - @Child(name = "mitigation", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "mitigation", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Step taken to address", formalDefinition="Indicates an action that has been taken or is committed to reduce or eliminate the likelihood of the risk identified by the detected issue from manifesting. Can also reflect an observation of known mitigating factors that may reduce/eliminate the need for any action." ) protected List mitigation; - private static final long serialVersionUID = -781032584L; + private static final long serialVersionUID = -101003859L; /** * Constructor @@ -811,7 +947,7 @@ public class DetectedIssue extends DomainResource { /** * Constructor */ - public DetectedIssue(ObservationStatus status) { + public DetectedIssue(DetectedIssueStatus status) { super(); this.setStatus(status); } @@ -872,12 +1008,12 @@ public class DetectedIssue extends DomainResource { /** * @return {@link #status} (Indicates the status of the detected issue.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ - public Enumeration getStatusElement() { + public Enumeration getStatusElement() { if (this.status == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create DetectedIssue.status"); else if (Configuration.doAutoCreate()) - this.status = new Enumeration(new ObservationStatusEnumFactory()); // bb + this.status = new Enumeration(new DetectedIssueStatusEnumFactory()); // bb return this.status; } @@ -892,7 +1028,7 @@ public class DetectedIssue extends DomainResource { /** * @param value {@link #status} (Indicates the status of the detected issue.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ - public DetectedIssue setStatusElement(Enumeration value) { + public DetectedIssue setStatusElement(Enumeration value) { this.status = value; return this; } @@ -900,22 +1036,75 @@ public class DetectedIssue extends DomainResource { /** * @return Indicates the status of the detected issue. */ - public ObservationStatus getStatus() { + public DetectedIssueStatus getStatus() { return this.status == null ? null : this.status.getValue(); } /** * @param value Indicates the status of the detected issue. */ - public DetectedIssue setStatus(ObservationStatus value) { + public DetectedIssue setStatus(DetectedIssueStatus value) { if (this.status == null) - this.status = new Enumeration(new ObservationStatusEnumFactory()); + this.status = new Enumeration(new DetectedIssueStatusEnumFactory()); this.status.setValue(value); return this; } /** - * @return {@link #code} (Identifies the general type of issue identified.) + * @return {@link #category} (A code that classifies the general type of detected issue.) + */ + public List getCategory() { + if (this.category == null) + this.category = new ArrayList(); + return this.category; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public DetectedIssue setCategory(List theCategory) { + this.category = theCategory; + return this; + } + + public boolean hasCategory() { + if (this.category == null) + return false; + for (CodeableConcept item : this.category) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addCategory() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.category == null) + this.category = new ArrayList(); + this.category.add(t); + return t; + } + + public DetectedIssue addCategory(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.category == null) + this.category = new ArrayList(); + this.category.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} + */ + public CodeableConcept getCategoryFirstRep() { + if (getCategory().isEmpty()) { + addCategory(); + } + return getCategory().get(0); + } + + /** + * @return {@link #code} (Identifies the specific type of issue identified.) */ public CodeableConcept getCode() { if (this.code == null) @@ -931,7 +1120,7 @@ public class DetectedIssue extends DomainResource { } /** - * @param value {@link #code} (Identifies the general type of issue identified.) + * @param value {@link #code} (Identifies the specific type of issue identified.) */ public DetectedIssue setCode(CodeableConcept value) { this.code = value; @@ -988,26 +1177,26 @@ public class DetectedIssue extends DomainResource { } /** - * @return {@link #patient} (Indicates the patient whose record the detected issue is associated with.) + * @return {@link #subject} (Indicates the subject whose record the detected issue is associated with.) */ - public Reference getPatient() { - if (this.patient == null) + public Reference getSubject() { + if (this.subject == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetectedIssue.patient"); + throw new Error("Attempt to auto-create DetectedIssue.subject"); else if (Configuration.doAutoCreate()) - this.patient = new Reference(); // cc - return this.patient; + this.subject = new Reference(); // cc + return this.subject; } - public boolean hasPatient() { - return this.patient != null && !this.patient.isEmpty(); + public boolean hasSubject() { + return this.subject != null && !this.subject.isEmpty(); } /** - * @param value {@link #patient} (Indicates the patient whose record the detected issue is associated with.) + * @param value {@link #subject} (Indicates the subject whose record the detected issue is associated with.) */ - public DetectedIssue setPatient(Reference value) { - this.patient = value; + public DetectedIssue setSubject(Reference value) { + this.subject = value; return this; } @@ -1347,11 +1536,12 @@ public class DetectedIssue extends DomainResource { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Business identifier associated with the detected issue record.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("status", "code", "Indicates the status of the detected issue.", 0, 1, status)); - children.add(new Property("code", "CodeableConcept", "Identifies the general type of issue identified.", 0, 1, code)); + children.add(new Property("category", "CodeableConcept", "A code that classifies the general type of detected issue.", 0, java.lang.Integer.MAX_VALUE, category)); + children.add(new Property("code", "CodeableConcept", "Identifies the specific type of issue identified.", 0, 1, code)); children.add(new Property("severity", "code", "Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.", 0, 1, severity)); - children.add(new Property("patient", "Reference(Patient)", "Indicates the patient whose record the detected issue is associated with.", 0, 1, patient)); + children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "Indicates the subject whose record the detected issue is associated with.", 0, 1, subject)); children.add(new Property("identified[x]", "dateTime|Period", "The date or period when the detected issue was initially identified.", 0, 1, identified)); - children.add(new Property("author", "Reference(Practitioner|PractitionerRole|Device)", "Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review.", 0, 1, author)); + children.add(new Property("author", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device)", "Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review.", 0, 1, author)); children.add(new Property("implicated", "Reference(Any)", "Indicates the resource representing the current activity or proposed activity that is potentially problematic.", 0, java.lang.Integer.MAX_VALUE, implicated)); children.add(new Property("evidence", "", "Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.", 0, java.lang.Integer.MAX_VALUE, evidence)); children.add(new Property("detail", "string", "A textual explanation of the detected issue.", 0, 1, detail)); @@ -1364,14 +1554,15 @@ public class DetectedIssue extends DomainResource { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifier associated with the detected issue record.", 0, java.lang.Integer.MAX_VALUE, identifier); case -892481550: /*status*/ return new Property("status", "code", "Indicates the status of the detected issue.", 0, 1, status); - case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Identifies the general type of issue identified.", 0, 1, code); + case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the general type of detected issue.", 0, java.lang.Integer.MAX_VALUE, category); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Identifies the specific type of issue identified.", 0, 1, code); case 1478300413: /*severity*/ return new Property("severity", "code", "Indicates the degree of importance associated with the identified issue based on the potential impact on the patient.", 0, 1, severity); - case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "Indicates the patient whose record the detected issue is associated with.", 0, 1, patient); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "Indicates the subject whose record the detected issue is associated with.", 0, 1, subject); case 569355781: /*identified[x]*/ return new Property("identified[x]", "dateTime|Period", "The date or period when the detected issue was initially identified.", 0, 1, identified); case -1618432869: /*identified*/ return new Property("identified[x]", "dateTime|Period", "The date or period when the detected issue was initially identified.", 0, 1, identified); case -968788650: /*identifiedDateTime*/ return new Property("identified[x]", "dateTime", "The date or period when the detected issue was initially identified.", 0, 1, identified); case 520482364: /*identifiedPeriod*/ return new Property("identified[x]", "Period", "The date or period when the detected issue was initially identified.", 0, 1, identified); - case -1406328437: /*author*/ return new Property("author", "Reference(Practitioner|PractitionerRole|Device)", "Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review.", 0, 1, author); + case -1406328437: /*author*/ return new Property("author", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Device)", "Individual or device responsible for the issue being raised. For example, a decision support application or a pharmacist conducting a medication review.", 0, 1, author); case -810216884: /*implicated*/ return new Property("implicated", "Reference(Any)", "Indicates the resource representing the current activity or proposed activity that is potentially problematic.", 0, java.lang.Integer.MAX_VALUE, implicated); case 382967383: /*evidence*/ return new Property("evidence", "", "Supporting evidence or manifestations that provide the basis for identifying the detected issue such as a GuidanceResponse or MeasureReport.", 0, java.lang.Integer.MAX_VALUE, evidence); case -1335224239: /*detail*/ return new Property("detail", "string", "A textual explanation of the detected issue.", 0, 1, detail); @@ -1386,10 +1577,11 @@ public class DetectedIssue extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier - case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // Enumeration - case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case -1618432869: /*identified*/ return this.identified == null ? new Base[0] : new Base[] {this.identified}; // DataType case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference case -810216884: /*implicated*/ return this.implicated == null ? new Base[0] : this.implicated.toArray(new Base[this.implicated.size()]); // Reference @@ -1409,8 +1601,11 @@ public class DetectedIssue extends DomainResource { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; case -892481550: // status - value = new ObservationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.status = (Enumeration) value; // Enumeration + value = new DetectedIssueStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + return value; + case 50511102: // category + this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 3059181: // code this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -1419,8 +1614,8 @@ public class DetectedIssue extends DomainResource { value = new DetectedIssueSeverityEnumFactory().fromType(TypeConvertor.castToCode(value)); this.severity = (Enumeration) value; // Enumeration return value; - case -791418107: // patient - this.patient = TypeConvertor.castToReference(value); // Reference + case -1867885268: // subject + this.subject = TypeConvertor.castToReference(value); // Reference return value; case -1618432869: // identified this.identified = TypeConvertor.castToType(value); // DataType @@ -1453,15 +1648,17 @@ public class DetectedIssue extends DomainResource { if (name.equals("identifier")) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("status")) { - value = new ObservationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.status = (Enumeration) value; // Enumeration + value = new DetectedIssueStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + } else if (name.equals("category")) { + this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("code")) { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("severity")) { value = new DetectedIssueSeverityEnumFactory().fromType(TypeConvertor.castToCode(value)); this.severity = (Enumeration) value; // Enumeration - } else if (name.equals("patient")) { - this.patient = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("subject")) { + this.subject = TypeConvertor.castToReference(value); // Reference } else if (name.equals("identified[x]")) { this.identified = TypeConvertor.castToType(value); // DataType } else if (name.equals("author")) { @@ -1486,9 +1683,10 @@ public class DetectedIssue extends DomainResource { switch (hash) { case -1618432855: return addIdentifier(); case -892481550: return getStatusElement(); + case 50511102: return addCategory(); case 3059181: return getCode(); case 1478300413: return getSeverityElement(); - case -791418107: return getPatient(); + case -1867885268: return getSubject(); case 569355781: return getIdentified(); case -1618432869: return getIdentified(); case -1406328437: return getAuthor(); @@ -1507,9 +1705,10 @@ public class DetectedIssue extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -892481550: /*status*/ return new String[] {"code"}; + case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case 1478300413: /*severity*/ return new String[] {"code"}; - case -791418107: /*patient*/ return new String[] {"Reference"}; + case -1867885268: /*subject*/ return new String[] {"Reference"}; case -1618432869: /*identified*/ return new String[] {"dateTime", "Period"}; case -1406328437: /*author*/ return new String[] {"Reference"}; case -810216884: /*implicated*/ return new String[] {"Reference"}; @@ -1530,6 +1729,9 @@ public class DetectedIssue extends DomainResource { else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type DetectedIssue.status"); } + else if (name.equals("category")) { + return addCategory(); + } else if (name.equals("code")) { this.code = new CodeableConcept(); return this.code; @@ -1537,9 +1739,9 @@ public class DetectedIssue extends DomainResource { else if (name.equals("severity")) { throw new FHIRException("Cannot call addChild on a primitive type DetectedIssue.severity"); } - else if (name.equals("patient")) { - this.patient = new Reference(); - return this.patient; + else if (name.equals("subject")) { + this.subject = new Reference(); + return this.subject; } else if (name.equals("identifiedDateTime")) { this.identified = new DateTimeType(); @@ -1591,9 +1793,14 @@ public class DetectedIssue extends DomainResource { dst.identifier.add(i.copy()); }; dst.status = status == null ? null : status.copy(); + if (category != null) { + dst.category = new ArrayList(); + for (CodeableConcept i : category) + dst.category.add(i.copy()); + }; dst.code = code == null ? null : code.copy(); dst.severity = severity == null ? null : severity.copy(); - dst.patient = patient == null ? null : patient.copy(); + dst.subject = subject == null ? null : subject.copy(); dst.identified = identified == null ? null : identified.copy(); dst.author = author == null ? null : author.copy(); if (implicated != null) { @@ -1626,11 +1833,11 @@ public class DetectedIssue extends DomainResource { if (!(other_ instanceof DetectedIssue)) return false; DetectedIssue o = (DetectedIssue) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(code, o.code, true) - && compareDeep(severity, o.severity, true) && compareDeep(patient, o.patient, true) && compareDeep(identified, o.identified, true) - && compareDeep(author, o.author, true) && compareDeep(implicated, o.implicated, true) && compareDeep(evidence, o.evidence, true) - && compareDeep(detail, o.detail, true) && compareDeep(reference, o.reference, true) && compareDeep(mitigation, o.mitigation, true) - ; + return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(category, o.category, true) + && compareDeep(code, o.code, true) && compareDeep(severity, o.severity, true) && compareDeep(subject, o.subject, true) + && compareDeep(identified, o.identified, true) && compareDeep(author, o.author, true) && compareDeep(implicated, o.implicated, true) + && compareDeep(evidence, o.evidence, true) && compareDeep(detail, o.detail, true) && compareDeep(reference, o.reference, true) + && compareDeep(mitigation, o.mitigation, true); } @Override @@ -1645,9 +1852,9 @@ public class DetectedIssue extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, code - , severity, patient, identified, author, implicated, evidence, detail, reference - , mitigation); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, category + , code, severity, subject, identified, author, implicated, evidence, detail + , reference, mitigation); } @Override @@ -1663,7 +1870,7 @@ public class DetectedIssue extends DomainResource { * Path: DetectedIssue.author
*

*/ - @SearchParamDefinition(name="author", path="DetectedIssue.author", description="The provider or device that identified the issue", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Practitioner.class, PractitionerRole.class } ) + @SearchParamDefinition(name="author", path="DetectedIssue.author", description="The provider or device that identified the issue", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) public static final String SP_AUTHOR = "author"; /** * Fluent Client search parameter constant for author @@ -1682,19 +1889,39 @@ public class DetectedIssue extends DomainResource { public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("DetectedIssue:author").toLocked(); /** - * Search parameter: code + * Search parameter: category *

* Description: Issue Category, e.g. drug-drug, duplicate therapy, etc.
* Type: token
+ * Path: DetectedIssue.category
+ *

+ */ + @SearchParamDefinition(name="category", path="DetectedIssue.category", description="Issue Category, e.g. drug-drug, duplicate therapy, etc.", type="token" ) + public static final String SP_CATEGORY = "category"; + /** + * Fluent Client search parameter constant for category + *

+ * Description: Issue Category, e.g. drug-drug, duplicate therapy, etc.
+ * Type: token
+ * Path: DetectedIssue.category
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); + + /** + * Search parameter: code + *

+ * Description: Issue Type, e.g. drug-drug, duplicate therapy, etc.
+ * Type: token
* Path: DetectedIssue.code
*

*/ - @SearchParamDefinition(name="code", path="DetectedIssue.code", description="Issue Category, e.g. drug-drug, duplicate therapy, etc.", type="token" ) + @SearchParamDefinition(name="code", path="DetectedIssue.code", description="Issue Type, e.g. drug-drug, duplicate therapy, etc.", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code *

- * Description: Issue Category, e.g. drug-drug, duplicate therapy, etc.
+ * Description: Issue Type, e.g. drug-drug, duplicate therapy, etc.
* Type: token
* Path: DetectedIssue.code
*

@@ -1729,7 +1956,7 @@ public class DetectedIssue extends DomainResource { * Path: DetectedIssue.implicated
*

*/ - @SearchParamDefinition(name="implicated", path="DetectedIssue.implicated", description="Problem resource", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="implicated", path="DetectedIssue.implicated", description="Problem resource", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_IMPLICATED = "implicated"; /** * Fluent Client search parameter constant for implicated @@ -1767,6 +1994,32 @@ public class DetectedIssue extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + /** + * Search parameter: subject + *

+ * Description: Associated subject
+ * Type: reference
+ * Path: DetectedIssue.subject
+ *

+ */ + @SearchParamDefinition(name="subject", path="DetectedIssue.subject", description="Associated subject", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) + public static final String SP_SUBJECT = "subject"; + /** + * Fluent Client search parameter constant for subject + *

+ * Description: Associated subject
+ * Type: reference
+ * Path: DetectedIssue.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "DetectedIssue:subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("DetectedIssue:subject").toLocked(); + /** * Search parameter: identifier *

@@ -1881,7 +2134,7 @@ public class DetectedIssue extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1890,10 +2143,10 @@ public class DetectedIssue extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1925,7 +2178,7 @@ public class DetectedIssue extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1934,7 +2187,7 @@ public class DetectedIssue extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Device.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Device.java index e21aa0f72..7d50d7615 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Device.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Device.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -55,15 +55,15 @@ public class Device extends DomainResource { public enum FHIRDeviceStatus { /** - * The device is available for use. Note: For *implanted devices* this means that the device is implanted in the patient. + * The device record is current and is appropriate for reference in new instances. */ ACTIVE, /** - * The device is no longer available for use (e.g. lost, expired, damaged). Note: For *implanted devices* this means that the device has been removed from the patient. + * The device record is not current and is not appropriate for reference in new instances. */ INACTIVE, /** - * The device was entered in error and voided. + * The device record is not current and is not appropriate for reference in new instances. */ ENTEREDINERROR, /** @@ -104,9 +104,9 @@ public class Device extends DomainResource { } public String getDefinition() { switch (this) { - case ACTIVE: return "The device is available for use. Note: For *implanted devices* this means that the device is implanted in the patient."; - case INACTIVE: return "The device is no longer available for use (e.g. lost, expired, damaged). Note: For *implanted devices* this means that the device has been removed from the patient."; - case ENTEREDINERROR: return "The device was entered in error and voided."; + case ACTIVE: return "The device record is current and is appropriate for reference in new instances."; + case INACTIVE: return "The device record is not current and is not appropriate for reference in new instances."; + case ENTEREDINERROR: return "The device record is not current and is not appropriate for reference in new instances."; case NULL: return null; default: return "?"; } @@ -1164,6 +1164,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. */ @Child(name = "type", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The type of the device version, e.g. manufacturer, approved, internal", formalDefinition="The type of the device version, e.g. manufacturer, approved, internal." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-versiontype") protected CodeableConcept type; /** @@ -1507,10 +1508,11 @@ RegisteredName | UserFriendlyName | PatientReportedName. @Block() public static class DeviceSpecializationComponent extends BackboneElement implements IBaseBackboneElement { /** - * Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html. + * Code that specifies the system that identifies the specific standard that the device adheres to. */ @Child(name = "systemType", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Code that specifies the property being represented", formalDefinition="Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html." ) + @Description(shortDefinition="Code of the system that identifies the standard that the device adheres to", formalDefinition="Code that specifies the system that identifies the specific standard that the device adheres to." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-specialization-systemtype") protected CodeableConcept systemType; /** @@ -1546,7 +1548,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return {@link #systemType} (Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.) + * @return {@link #systemType} (Code that specifies the system that identifies the specific standard that the device adheres to.) */ public CodeableConcept getSystemType() { if (this.systemType == null) @@ -1562,7 +1564,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @param value {@link #systemType} (Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.) + * @param value {@link #systemType} (Code that specifies the system that identifies the specific standard that the device adheres to.) */ public DeviceSpecializationComponent setSystemType(CodeableConcept value) { this.systemType = value; @@ -1644,7 +1646,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("systemType", "CodeableConcept", "Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.", 0, 1, systemType)); + children.add(new Property("systemType", "CodeableConcept", "Code that specifies the system that identifies the specific standard that the device adheres to.", 0, 1, systemType)); children.add(new Property("version", "string", "The version of the standard that is used to operate and communicate.", 0, 1, version)); children.add(new Property("category", "Coding", "Kind of standards that the device adheres to, e.g., communication, performance or communication.", 0, 1, category)); } @@ -1652,7 +1654,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 642893321: /*systemType*/ return new Property("systemType", "CodeableConcept", "Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.", 0, 1, systemType); + case 642893321: /*systemType*/ return new Property("systemType", "CodeableConcept", "Code that specifies the system that identifies the specific standard that the device adheres to.", 0, 1, systemType); case 351608024: /*version*/ return new Property("version", "string", "The version of the standard that is used to operate and communicate.", 0, 1, version); case 50511102: /*category*/ return new Property("category", "Coding", "Kind of standards that the device adheres to, e.g., communication, performance or communication.", 0, 1, category); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1789,17 +1791,18 @@ RegisteredName | UserFriendlyName | PatientReportedName. @Block() public static class DevicePropertyComponent extends BackboneElement implements IBaseBackboneElement { /** - * Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html. + * Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://terminology.hl7.org/MDC.html. */ @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Code that specifies the property being represented", formalDefinition="Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html." ) + @Description(shortDefinition="Code that specifies the property being represented", formalDefinition="Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://terminology.hl7.org/MDC.html." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-property-type") protected CodeableConcept type; /** * Property value - can be a code, quantity, boolean, string or attachment. */ @Child(name = "value", type = {Quantity.class, CodeableConcept.class, StringType.class, BooleanType.class, IntegerType.class, Range.class, Attachment.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Property value - as a code, quantity, boolean, string or attachmment", formalDefinition="Property value - can be a code, quantity, boolean, string or attachment." ) + @Description(shortDefinition="Property value - as a code, quantity, boolean, string or attachment", formalDefinition="Property value - can be a code, quantity, boolean, string or attachment." ) protected DataType value; private static final long serialVersionUID = -1659186716L; @@ -1821,7 +1824,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return {@link #type} (Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.) + * @return {@link #type} (Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://terminology.hl7.org/MDC.html.) */ public CodeableConcept getType() { if (this.type == null) @@ -1837,7 +1840,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @param value {@link #type} (Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.) + * @param value {@link #type} (Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://terminology.hl7.org/MDC.html.) */ public DevicePropertyComponent setType(CodeableConcept value) { this.type = value; @@ -1972,14 +1975,14 @@ RegisteredName | UserFriendlyName | PatientReportedName. protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("type", "CodeableConcept", "Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.", 0, 1, type)); + children.add(new Property("type", "CodeableConcept", "Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://terminology.hl7.org/MDC.html.", 0, 1, type)); children.add(new Property("value[x]", "Quantity|CodeableConcept|string|boolean|integer|Range|Attachment", "Property value - can be a code, quantity, boolean, string or attachment.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://build.fhir.org/mdc.html.", 0, 1, type); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Code that specifies the property being represented. No codes are specified but the MDC codes are an example: https://terminology.hl7.org/MDC.html.", 0, 1, type); case -1410166417: /*value[x]*/ return new Property("value[x]", "Quantity|CodeableConcept|string|boolean|integer|Range|Attachment", "Property value - can be a code, quantity, boolean, string or attachment.", 0, 1, value); case 111972721: /*value*/ return new Property("value[x]", "Quantity|CodeableConcept|string|boolean|integer|Range|Attachment", "Property value - can be a code, quantity, boolean, string or attachment.", 0, 1, value); case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Property value - can be a code, quantity, boolean, string or attachment.", 0, 1, value); @@ -2132,20 +2135,20 @@ RegisteredName | UserFriendlyName | PatientReportedName. } @Block() - public static class DeviceOperationalStateComponent extends BackboneElement implements IBaseBackboneElement { + public static class DeviceOperationComponent extends BackboneElement implements IBaseBackboneElement { /** * The state or condition of the device's operation. */ @Child(name = "status", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Device operational condition", formalDefinition="The state or condition of the device's operation." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-operationalstatus") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-operationstatus") protected CodeableConcept status; /** * The reasons given for the current operational status - i.e. why is the device switched on etc. */ @Child(name = "statusReason", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="The reasons given for the current operational status", formalDefinition="The reasons given for the current operational status - i.e. why is the device switched on etc." ) + @Description(shortDefinition="The rationale given for the current operational status", formalDefinition="The reasons given for the current operational status - i.e. why is the device switched on etc." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-operation-status-reason") protected List statusReason; @@ -2153,45 +2156,44 @@ RegisteredName | UserFriendlyName | PatientReportedName. * The individual performing the action enabled by the device. */ @Child(name = "operator", type = {Patient.class, Practitioner.class, RelatedPerson.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="The current device operator", formalDefinition="The individual performing the action enabled by the device." ) + @Description(shortDefinition="The individual performing the action enabled by the device", formalDefinition="The individual performing the action enabled by the device." ) protected List operator; /** * The designated condition for performing a task with the device. */ @Child(name = "mode", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Designated condition for task", formalDefinition="The designated condition for performing a task with the device." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-operational-state-mode") + @Description(shortDefinition="The designated condition for performing a task", formalDefinition="The designated condition for performing a task with the device." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-operation-mode") protected CodeableConcept mode; /** * The series of occurrences that repeats during the operation of the device. */ @Child(name = "cycle", type = {Count.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Number of operationcycles", formalDefinition="The series of occurrences that repeats during the operation of the device." ) + @Description(shortDefinition="The series of occurrences that repeats during the operation of the device", formalDefinition="The series of occurrences that repeats during the operation of the device." ) protected Count cycle; /** * A measurement of time during the device's operation (e.g., days, hours, mins, etc). */ - @Child(name = "duration", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Operation time measurement", formalDefinition="A measurement of time during the device's operation (e.g., days, hours, mins, etc)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-operational-state-mode") - protected CodeableConcept duration; + @Child(name = "duration", type = {Duration.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="A measurement of time during the device's operation (e.g., days, hours, mins, etc)", formalDefinition="A measurement of time during the device's operation (e.g., days, hours, mins, etc)." ) + protected Duration duration; - private static final long serialVersionUID = 803068311L; + private static final long serialVersionUID = 824534566L; /** * Constructor */ - public DeviceOperationalStateComponent() { + public DeviceOperationComponent() { super(); } /** * Constructor */ - public DeviceOperationalStateComponent(CodeableConcept status) { + public DeviceOperationComponent(CodeableConcept status) { super(); this.setStatus(status); } @@ -2202,7 +2204,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. public CodeableConcept getStatus() { if (this.status == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceOperationalStateComponent.status"); + throw new Error("Attempt to auto-create DeviceOperationComponent.status"); else if (Configuration.doAutoCreate()) this.status = new CodeableConcept(); // cc return this.status; @@ -2215,7 +2217,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @param value {@link #status} (The state or condition of the device's operation.) */ - public DeviceOperationalStateComponent setStatus(CodeableConcept value) { + public DeviceOperationComponent setStatus(CodeableConcept value) { this.status = value; return this; } @@ -2232,7 +2234,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @return Returns a reference to this for easy method chaining */ - public DeviceOperationalStateComponent setStatusReason(List theStatusReason) { + public DeviceOperationComponent setStatusReason(List theStatusReason) { this.statusReason = theStatusReason; return this; } @@ -2254,7 +2256,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. return t; } - public DeviceOperationalStateComponent addStatusReason(CodeableConcept t) { //3 + public DeviceOperationComponent addStatusReason(CodeableConcept t) { //3 if (t == null) return this; if (this.statusReason == null) @@ -2285,7 +2287,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @return Returns a reference to this for easy method chaining */ - public DeviceOperationalStateComponent setOperator(List theOperator) { + public DeviceOperationComponent setOperator(List theOperator) { this.operator = theOperator; return this; } @@ -2307,7 +2309,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. return t; } - public DeviceOperationalStateComponent addOperator(Reference t) { //3 + public DeviceOperationComponent addOperator(Reference t) { //3 if (t == null) return this; if (this.operator == null) @@ -2332,7 +2334,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. public CodeableConcept getMode() { if (this.mode == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceOperationalStateComponent.mode"); + throw new Error("Attempt to auto-create DeviceOperationComponent.mode"); else if (Configuration.doAutoCreate()) this.mode = new CodeableConcept(); // cc return this.mode; @@ -2345,7 +2347,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @param value {@link #mode} (The designated condition for performing a task with the device.) */ - public DeviceOperationalStateComponent setMode(CodeableConcept value) { + public DeviceOperationComponent setMode(CodeableConcept value) { this.mode = value; return this; } @@ -2356,7 +2358,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. public Count getCycle() { if (this.cycle == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceOperationalStateComponent.cycle"); + throw new Error("Attempt to auto-create DeviceOperationComponent.cycle"); else if (Configuration.doAutoCreate()) this.cycle = new Count(); // cc return this.cycle; @@ -2369,7 +2371,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @param value {@link #cycle} (The series of occurrences that repeats during the operation of the device.) */ - public DeviceOperationalStateComponent setCycle(Count value) { + public DeviceOperationComponent setCycle(Count value) { this.cycle = value; return this; } @@ -2377,12 +2379,12 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @return {@link #duration} (A measurement of time during the device's operation (e.g., days, hours, mins, etc).) */ - public CodeableConcept getDuration() { + public Duration getDuration() { if (this.duration == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceOperationalStateComponent.duration"); + throw new Error("Attempt to auto-create DeviceOperationComponent.duration"); else if (Configuration.doAutoCreate()) - this.duration = new CodeableConcept(); // cc + this.duration = new Duration(); // cc return this.duration; } @@ -2393,7 +2395,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @param value {@link #duration} (A measurement of time during the device's operation (e.g., days, hours, mins, etc).) */ - public DeviceOperationalStateComponent setDuration(CodeableConcept value) { + public DeviceOperationComponent setDuration(Duration value) { this.duration = value; return this; } @@ -2405,7 +2407,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. children.add(new Property("operator", "Reference(Patient|Practitioner|RelatedPerson)", "The individual performing the action enabled by the device.", 0, java.lang.Integer.MAX_VALUE, operator)); children.add(new Property("mode", "CodeableConcept", "The designated condition for performing a task with the device.", 0, 1, mode)); children.add(new Property("cycle", "Count", "The series of occurrences that repeats during the operation of the device.", 0, 1, cycle)); - children.add(new Property("duration", "CodeableConcept", "A measurement of time during the device's operation (e.g., days, hours, mins, etc).", 0, 1, duration)); + children.add(new Property("duration", "Duration", "A measurement of time during the device's operation (e.g., days, hours, mins, etc).", 0, 1, duration)); } @Override @@ -2416,7 +2418,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -500553564: /*operator*/ return new Property("operator", "Reference(Patient|Practitioner|RelatedPerson)", "The individual performing the action enabled by the device.", 0, java.lang.Integer.MAX_VALUE, operator); case 3357091: /*mode*/ return new Property("mode", "CodeableConcept", "The designated condition for performing a task with the device.", 0, 1, mode); case 95131878: /*cycle*/ return new Property("cycle", "Count", "The series of occurrences that repeats during the operation of the device.", 0, 1, cycle); - case -1992012396: /*duration*/ return new Property("duration", "CodeableConcept", "A measurement of time during the device's operation (e.g., days, hours, mins, etc).", 0, 1, duration); + case -1992012396: /*duration*/ return new Property("duration", "Duration", "A measurement of time during the device's operation (e.g., days, hours, mins, etc).", 0, 1, duration); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2430,7 +2432,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -500553564: /*operator*/ return this.operator == null ? new Base[0] : this.operator.toArray(new Base[this.operator.size()]); // Reference case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // CodeableConcept case 95131878: /*cycle*/ return this.cycle == null ? new Base[0] : new Base[] {this.cycle}; // Count - case -1992012396: /*duration*/ return this.duration == null ? new Base[0] : new Base[] {this.duration}; // CodeableConcept + case -1992012396: /*duration*/ return this.duration == null ? new Base[0] : new Base[] {this.duration}; // Duration default: return super.getProperty(hash, name, checkValid); } @@ -2455,7 +2457,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. this.cycle = TypeConvertor.castToCount(value); // Count return value; case -1992012396: // duration - this.duration = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.duration = TypeConvertor.castToDuration(value); // Duration return value; default: return super.setProperty(hash, name, value); } @@ -2475,7 +2477,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } else if (name.equals("cycle")) { this.cycle = TypeConvertor.castToCount(value); // Count } else if (name.equals("duration")) { - this.duration = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.duration = TypeConvertor.castToDuration(value); // Duration } else return super.setProperty(name, value); return value; @@ -2503,7 +2505,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -500553564: /*operator*/ return new String[] {"Reference"}; case 3357091: /*mode*/ return new String[] {"CodeableConcept"}; case 95131878: /*cycle*/ return new String[] {"Count"}; - case -1992012396: /*duration*/ return new String[] {"CodeableConcept"}; + case -1992012396: /*duration*/ return new String[] {"Duration"}; default: return super.getTypesForProperty(hash, name); } @@ -2530,20 +2532,20 @@ RegisteredName | UserFriendlyName | PatientReportedName. return this.cycle; } else if (name.equals("duration")) { - this.duration = new CodeableConcept(); + this.duration = new Duration(); return this.duration; } else return super.addChild(name); } - public DeviceOperationalStateComponent copy() { - DeviceOperationalStateComponent dst = new DeviceOperationalStateComponent(); + public DeviceOperationComponent copy() { + DeviceOperationComponent dst = new DeviceOperationComponent(); copyValues(dst); return dst; } - public void copyValues(DeviceOperationalStateComponent dst) { + public void copyValues(DeviceOperationComponent dst) { super.copyValues(dst); dst.status = status == null ? null : status.copy(); if (statusReason != null) { @@ -2565,9 +2567,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof DeviceOperationalStateComponent)) + if (!(other_ instanceof DeviceOperationComponent)) return false; - DeviceOperationalStateComponent o = (DeviceOperationalStateComponent) other_; + DeviceOperationComponent o = (DeviceOperationComponent) other_; return compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(operator, o.operator, true) && compareDeep(mode, o.mode, true) && compareDeep(cycle, o.cycle, true) && compareDeep(duration, o.duration, true) ; @@ -2577,9 +2579,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof DeviceOperationalStateComponent)) + if (!(other_ instanceof DeviceOperationComponent)) return false; - DeviceOperationalStateComponent o = (DeviceOperationalStateComponent) other_; + DeviceOperationComponent o = (DeviceOperationComponent) other_; return true; } @@ -2589,7 +2591,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } public String fhirType() { - return "Device.operationalState"; + return "Device.operation"; } @@ -2929,218 +2931,6 @@ RegisteredName | UserFriendlyName | PatientReportedName. } - } - - @Block() - public static class DeviceLinkComponent extends BackboneElement implements IBaseBackboneElement { - /** - * The type indicates the relationship of the related device to the device instance. - */ - @Child(name = "relation", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The type indicates the relationship of the related device to the device instance", formalDefinition="The type indicates the relationship of the related device to the device instance." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-relationtype") - protected Coding relation; - - /** - * A reference to the linked device. - */ - @Child(name = "relatedDevice", type = {CodeableReference.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="A reference to the linked device", formalDefinition="A reference to the linked device." ) - protected CodeableReference relatedDevice; - - private static final long serialVersionUID = 627614461L; - - /** - * Constructor - */ - public DeviceLinkComponent() { - super(); - } - - /** - * Constructor - */ - public DeviceLinkComponent(Coding relation, CodeableReference relatedDevice) { - super(); - this.setRelation(relation); - this.setRelatedDevice(relatedDevice); - } - - /** - * @return {@link #relation} (The type indicates the relationship of the related device to the device instance.) - */ - public Coding getRelation() { - if (this.relation == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceLinkComponent.relation"); - else if (Configuration.doAutoCreate()) - this.relation = new Coding(); // cc - return this.relation; - } - - public boolean hasRelation() { - return this.relation != null && !this.relation.isEmpty(); - } - - /** - * @param value {@link #relation} (The type indicates the relationship of the related device to the device instance.) - */ - public DeviceLinkComponent setRelation(Coding value) { - this.relation = value; - return this; - } - - /** - * @return {@link #relatedDevice} (A reference to the linked device.) - */ - public CodeableReference getRelatedDevice() { - if (this.relatedDevice == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceLinkComponent.relatedDevice"); - else if (Configuration.doAutoCreate()) - this.relatedDevice = new CodeableReference(); // cc - return this.relatedDevice; - } - - public boolean hasRelatedDevice() { - return this.relatedDevice != null && !this.relatedDevice.isEmpty(); - } - - /** - * @param value {@link #relatedDevice} (A reference to the linked device.) - */ - public DeviceLinkComponent setRelatedDevice(CodeableReference value) { - this.relatedDevice = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("relation", "Coding", "The type indicates the relationship of the related device to the device instance.", 0, 1, relation)); - children.add(new Property("relatedDevice", "CodeableReference(Device)", "A reference to the linked device.", 0, 1, relatedDevice)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case -554436100: /*relation*/ return new Property("relation", "Coding", "The type indicates the relationship of the related device to the device instance.", 0, 1, relation); - case -296314271: /*relatedDevice*/ return new Property("relatedDevice", "CodeableReference(Device)", "A reference to the linked device.", 0, 1, relatedDevice); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case -554436100: /*relation*/ return this.relation == null ? new Base[0] : new Base[] {this.relation}; // Coding - case -296314271: /*relatedDevice*/ return this.relatedDevice == null ? new Base[0] : new Base[] {this.relatedDevice}; // CodeableReference - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case -554436100: // relation - this.relation = TypeConvertor.castToCoding(value); // Coding - return value; - case -296314271: // relatedDevice - this.relatedDevice = TypeConvertor.castToCodeableReference(value); // CodeableReference - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("relation")) { - this.relation = TypeConvertor.castToCoding(value); // Coding - } else if (name.equals("relatedDevice")) { - this.relatedDevice = TypeConvertor.castToCodeableReference(value); // CodeableReference - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -554436100: return getRelation(); - case -296314271: return getRelatedDevice(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -554436100: /*relation*/ return new String[] {"Coding"}; - case -296314271: /*relatedDevice*/ return new String[] {"CodeableReference"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("relation")) { - this.relation = new Coding(); - return this.relation; - } - else if (name.equals("relatedDevice")) { - this.relatedDevice = new CodeableReference(); - return this.relatedDevice; - } - else - return super.addChild(name); - } - - public DeviceLinkComponent copy() { - DeviceLinkComponent dst = new DeviceLinkComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(DeviceLinkComponent dst) { - super.copyValues(dst); - dst.relation = relation == null ? null : relation.copy(); - dst.relatedDevice = relatedDevice == null ? null : relatedDevice.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof DeviceLinkComponent)) - return false; - DeviceLinkComponent o = (DeviceLinkComponent) other_; - return compareDeep(relation, o.relation, true) && compareDeep(relatedDevice, o.relatedDevice, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof DeviceLinkComponent)) - return false; - DeviceLinkComponent o = (DeviceLinkComponent) other_; - return true; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(relation, relatedDevice); - } - - public String fhirType() { - return "Device.link"; - - } - } /** @@ -3172,20 +2962,20 @@ RegisteredName | UserFriendlyName | PatientReportedName. protected List udiCarrier; /** - * Status of the Device record. This is not the status of the device like availability. + * The Device record status. This is not the status of the device like availability. */ @Child(name = "status", type = {CodeType.class}, order=4, min=0, max=1, modifier=true, summary=true) - @Description(shortDefinition="active | inactive | entered-in-error | unknown", formalDefinition="Status of the Device record. This is not the status of the device like availability." ) + @Description(shortDefinition="active | inactive | entered-in-error", formalDefinition="The Device record status. This is not the status of the device like availability." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-status") protected Enumeration status; /** - * Reason for the status of the Device record. For example, why is the record not active. + * The availability of the device. */ - @Child(name = "statusReason", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="discarded | obsolete | removed", formalDefinition="Reason for the status of the Device record. For example, why is the record not active." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-status-reason") - protected List statusReason; + @Child(name = "availabilityStatus", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="lost | damaged | destroyed | available", formalDefinition="The availability of the device." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-availability-status") + protected CodeableConcept availabilityStatus; /** * An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled. @@ -3250,10 +3040,18 @@ RegisteredName | UserFriendlyName | PatientReportedName. @Description(shortDefinition="The part number or catalog number of the device", formalDefinition="The part number or catalog number of the device." ) protected StringType partNumber; + /** + * Devices may be associated with one or more categories. + */ + @Child(name = "category", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Indicates a high-level grouping of the device", formalDefinition="Devices may be associated with one or more categories." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-category") + protected List category; + /** * The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device. */ - @Child(name = "type", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "type", type = {CodeableConcept.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The kind or type of device", formalDefinition="The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-type") protected List type; @@ -3261,37 +3059,30 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * The actual design of the device or software version running on the device. */ - @Child(name = "version", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "version", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The actual design of the device or software version running on the device", formalDefinition="The actual design of the device or software version running on the device." ) protected List version; /** * The standards to which the device adheres and may be certified to in support of its capabilities, e.g., communication, performance, process, or measurement standards. */ - @Child(name = "specialization", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "specialization", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The standard(s) the device supports", formalDefinition="The standards to which the device adheres and may be certified to in support of its capabilities, e.g., communication, performance, process, or measurement standards." ) protected List specialization; /** * Characteristics or features of the device that are otherwise not captured in available attributes, e.g., actual configuration settings, time or timing attributes, resolution, accuracy, and physical attributes. The focus is on properties of the device actually in use while DeviceDefinition focuses on properties that are available to be used. */ - @Child(name = "property", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "property", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The actual configuration settings of a device as it actually operates, e.g., regulation status, time properties", formalDefinition="Characteristics or features of the device that are otherwise not captured in available attributes, e.g., actual configuration settings, time or timing attributes, resolution, accuracy, and physical attributes. The focus is on properties of the device actually in use while DeviceDefinition focuses on properties that are available to be used." ) protected List property; - /** - * Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. The use of Patient is also appropriate for the use of devices outside a healthcare setting, such as a fitness tracker. - */ - @Child(name = "subject", type = {Patient.class, Practitioner.class}, order=19, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Patient to whom Device is affixed", formalDefinition="Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. The use of Patient is also appropriate for the use of devices outside a healthcare setting, such as a fitness tracker." ) - protected Reference subject; - /** * The status of the device itself - whether it is switched on, or activated, etc. */ - @Child(name = "operationalState", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="The status of the device itself - whether it is switched on, or activated, etc", formalDefinition="The status of the device itself - whether it is switched on, or activated, etc." ) - protected List operationalState; + @Child(name = "operation", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The details about the device when it is in use to describe the actions, conditions and status", formalDefinition="The status of the device itself - whether it is switched on, or activated, etc." ) + protected List operation; /** * The details about the device when it is affixed or inside of a patient. @@ -3336,11 +3127,11 @@ RegisteredName | UserFriendlyName | PatientReportedName. protected List endpoint; /** - * An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device. + * The linked device acting as a communication/data collector, translator or controller for the current device (e.g., mobile phone application that relays a blood pressure device's data). */ - @Child(name = "link", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device", formalDefinition="An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device." ) - protected List link; + @Child(name = "gateway", type = {CodeableReference.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Linked device acting as a communication/data collector, translator or controller", formalDefinition="The linked device acting as a communication/data collector, translator or controller for the current device (e.g., mobile phone application that relays a blood pressure device's data)." ) + protected List gateway; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. @@ -3361,10 +3152,10 @@ RegisteredName | UserFriendlyName | PatientReportedName. * The higher level or encompassing device that this device is a logical part of. */ @Child(name = "parent", type = {Device.class}, order=30, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The device that this device is attached to or is part of", formalDefinition="The higher level or encompassing device that this device is a logical part of." ) + @Description(shortDefinition="The higher level or encompassing device that this device is a logical part of", formalDefinition="The higher level or encompassing device that this device is a logical part of." ) protected Reference parent; - private static final long serialVersionUID = -478488554L; + private static final long serialVersionUID = 1481779790L; /** * Constructor @@ -3553,7 +3344,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return {@link #status} (Status of the Device record. This is not the status of the device like availability.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + * @return {@link #status} (The Device record status. This is not the status of the device like availability.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ public Enumeration getStatusElement() { if (this.status == null) @@ -3573,7 +3364,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @param value {@link #status} (Status of the Device record. This is not the status of the device like availability.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + * @param value {@link #status} (The Device record status. This is not the status of the device like availability.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ public Device setStatusElement(Enumeration value) { this.status = value; @@ -3581,14 +3372,14 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return Status of the Device record. This is not the status of the device like availability. + * @return The Device record status. This is not the status of the device like availability. */ public FHIRDeviceStatus getStatus() { return this.status == null ? null : this.status.getValue(); } /** - * @param value Status of the Device record. This is not the status of the device like availability. + * @param value The Device record status. This is not the status of the device like availability. */ public Device setStatus(FHIRDeviceStatus value) { if (value == null) @@ -3602,58 +3393,29 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return {@link #statusReason} (Reason for the status of the Device record. For example, why is the record not active.) + * @return {@link #availabilityStatus} (The availability of the device.) */ - public List getStatusReason() { - if (this.statusReason == null) - this.statusReason = new ArrayList(); - return this.statusReason; + public CodeableConcept getAvailabilityStatus() { + if (this.availabilityStatus == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Device.availabilityStatus"); + else if (Configuration.doAutoCreate()) + this.availabilityStatus = new CodeableConcept(); // cc + return this.availabilityStatus; + } + + public boolean hasAvailabilityStatus() { + return this.availabilityStatus != null && !this.availabilityStatus.isEmpty(); } /** - * @return Returns a reference to this for easy method chaining + * @param value {@link #availabilityStatus} (The availability of the device.) */ - public Device setStatusReason(List theStatusReason) { - this.statusReason = theStatusReason; + public Device setAvailabilityStatus(CodeableConcept value) { + this.availabilityStatus = value; return this; } - public boolean hasStatusReason() { - if (this.statusReason == null) - return false; - for (CodeableConcept item : this.statusReason) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addStatusReason() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.statusReason == null) - this.statusReason = new ArrayList(); - this.statusReason.add(t); - return t; - } - - public Device addStatusReason(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.statusReason == null) - this.statusReason = new ArrayList(); - this.statusReason.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #statusReason}, creating it if it does not already exist {3} - */ - public CodeableConcept getStatusReasonFirstRep() { - if (getStatusReason().isEmpty()) { - addStatusReason(); - } - return getStatusReason().get(0); - } - /** * @return {@link #biologicalSourceEvent} (An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled.) */ @@ -4074,6 +3836,59 @@ RegisteredName | UserFriendlyName | PatientReportedName. return this; } + /** + * @return {@link #category} (Devices may be associated with one or more categories.) + */ + public List getCategory() { + if (this.category == null) + this.category = new ArrayList(); + return this.category; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Device setCategory(List theCategory) { + this.category = theCategory; + return this; + } + + public boolean hasCategory() { + if (this.category == null) + return false; + for (CodeableConcept item : this.category) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addCategory() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.category == null) + this.category = new ArrayList(); + this.category.add(t); + return t; + } + + public Device addCategory(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.category == null) + this.category = new ArrayList(); + this.category.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} + */ + public CodeableConcept getCategoryFirstRep() { + if (getCategory().isEmpty()) { + addCategory(); + } + return getCategory().get(0); + } + /** * @return {@link #type} (The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device.) */ @@ -4287,80 +4102,56 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return {@link #subject} (Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. The use of Patient is also appropriate for the use of devices outside a healthcare setting, such as a fitness tracker.) + * @return {@link #operation} (The status of the device itself - whether it is switched on, or activated, etc.) */ - public Reference getSubject() { - if (this.subject == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Device.subject"); - else if (Configuration.doAutoCreate()) - this.subject = new Reference(); // cc - return this.subject; - } - - public boolean hasSubject() { - return this.subject != null && !this.subject.isEmpty(); - } - - /** - * @param value {@link #subject} (Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. The use of Patient is also appropriate for the use of devices outside a healthcare setting, such as a fitness tracker.) - */ - public Device setSubject(Reference value) { - this.subject = value; - return this; - } - - /** - * @return {@link #operationalState} (The status of the device itself - whether it is switched on, or activated, etc.) - */ - public List getOperationalState() { - if (this.operationalState == null) - this.operationalState = new ArrayList(); - return this.operationalState; + public List getOperation() { + if (this.operation == null) + this.operation = new ArrayList(); + return this.operation; } /** * @return Returns a reference to this for easy method chaining */ - public Device setOperationalState(List theOperationalState) { - this.operationalState = theOperationalState; + public Device setOperation(List theOperation) { + this.operation = theOperation; return this; } - public boolean hasOperationalState() { - if (this.operationalState == null) + public boolean hasOperation() { + if (this.operation == null) return false; - for (DeviceOperationalStateComponent item : this.operationalState) + for (DeviceOperationComponent item : this.operation) if (!item.isEmpty()) return true; return false; } - public DeviceOperationalStateComponent addOperationalState() { //3 - DeviceOperationalStateComponent t = new DeviceOperationalStateComponent(); - if (this.operationalState == null) - this.operationalState = new ArrayList(); - this.operationalState.add(t); + public DeviceOperationComponent addOperation() { //3 + DeviceOperationComponent t = new DeviceOperationComponent(); + if (this.operation == null) + this.operation = new ArrayList(); + this.operation.add(t); return t; } - public Device addOperationalState(DeviceOperationalStateComponent t) { //3 + public Device addOperation(DeviceOperationComponent t) { //3 if (t == null) return this; - if (this.operationalState == null) - this.operationalState = new ArrayList(); - this.operationalState.add(t); + if (this.operation == null) + this.operation = new ArrayList(); + this.operation.add(t); return this; } /** - * @return The first repetition of repeating field {@link #operationalState}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #operation}, creating it if it does not already exist {3} */ - public DeviceOperationalStateComponent getOperationalStateFirstRep() { - if (getOperationalState().isEmpty()) { - addOperationalState(); + public DeviceOperationComponent getOperationFirstRep() { + if (getOperation().isEmpty()) { + addOperation(); } - return getOperationalState().get(0); + return getOperation().get(0); } /** @@ -4620,56 +4411,56 @@ RegisteredName | UserFriendlyName | PatientReportedName. } /** - * @return {@link #link} (An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device.) + * @return {@link #gateway} (The linked device acting as a communication/data collector, translator or controller for the current device (e.g., mobile phone application that relays a blood pressure device's data).) */ - public List getLink() { - if (this.link == null) - this.link = new ArrayList(); - return this.link; + public List getGateway() { + if (this.gateway == null) + this.gateway = new ArrayList(); + return this.gateway; } /** * @return Returns a reference to this for easy method chaining */ - public Device setLink(List theLink) { - this.link = theLink; + public Device setGateway(List theGateway) { + this.gateway = theGateway; return this; } - public boolean hasLink() { - if (this.link == null) + public boolean hasGateway() { + if (this.gateway == null) return false; - for (DeviceLinkComponent item : this.link) + for (CodeableReference item : this.gateway) if (!item.isEmpty()) return true; return false; } - public DeviceLinkComponent addLink() { //3 - DeviceLinkComponent t = new DeviceLinkComponent(); - if (this.link == null) - this.link = new ArrayList(); - this.link.add(t); + public CodeableReference addGateway() { //3 + CodeableReference t = new CodeableReference(); + if (this.gateway == null) + this.gateway = new ArrayList(); + this.gateway.add(t); return t; } - public Device addLink(DeviceLinkComponent t) { //3 + public Device addGateway(CodeableReference t) { //3 if (t == null) return this; - if (this.link == null) - this.link = new ArrayList(); - this.link.add(t); + if (this.gateway == null) + this.gateway = new ArrayList(); + this.gateway.add(t); return this; } /** - * @return The first repetition of repeating field {@link #link}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #gateway}, creating it if it does not already exist {3} */ - public DeviceLinkComponent getLinkFirstRep() { - if (getLink().isEmpty()) { - addLink(); + public CodeableReference getGatewayFirstRep() { + if (getGateway().isEmpty()) { + addGateway(); } - return getLink().get(0); + return getGateway().get(0); } /** @@ -4808,8 +4599,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. children.add(new Property("displayName", "string", "The name used to display by default when the device is referenced. Based on intent of use by the resource creator, this may reflect one of the names in Device.deviceName, or may be another simple name.", 0, 1, displayName)); children.add(new Property("definition", "CodeableReference(DeviceDefinition)", "The reference to the definition for the device.", 0, 1, definition)); children.add(new Property("udiCarrier", "", "Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.", 0, java.lang.Integer.MAX_VALUE, udiCarrier)); - children.add(new Property("status", "code", "Status of the Device record. This is not the status of the device like availability.", 0, 1, status)); - children.add(new Property("statusReason", "CodeableConcept", "Reason for the status of the Device record. For example, why is the record not active.", 0, java.lang.Integer.MAX_VALUE, statusReason)); + children.add(new Property("status", "code", "The Device record status. This is not the status of the device like availability.", 0, 1, status)); + children.add(new Property("availabilityStatus", "CodeableConcept", "The availability of the device.", 0, 1, availabilityStatus)); children.add(new Property("biologicalSourceEvent", "Identifier", "An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled.", 0, 1, biologicalSourceEvent)); children.add(new Property("manufacturer", "string", "A name of the manufacturer or entity legally responsible for the device.", 0, 1, manufacturer)); children.add(new Property("manufactureDate", "dateTime", "The date and time when the device was manufactured.", 0, 1, manufactureDate)); @@ -4819,19 +4610,19 @@ RegisteredName | UserFriendlyName | PatientReportedName. children.add(new Property("deviceName", "", "This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition.", 0, java.lang.Integer.MAX_VALUE, deviceName)); children.add(new Property("modelNumber", "string", "The manufacturer's model number for the device.", 0, 1, modelNumber)); children.add(new Property("partNumber", "string", "The part number or catalog number of the device.", 0, 1, partNumber)); + children.add(new Property("category", "CodeableConcept", "Devices may be associated with one or more categories.", 0, java.lang.Integer.MAX_VALUE, category)); children.add(new Property("type", "CodeableConcept", "The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("version", "", "The actual design of the device or software version running on the device.", 0, java.lang.Integer.MAX_VALUE, version)); children.add(new Property("specialization", "", "The standards to which the device adheres and may be certified to in support of its capabilities, e.g., communication, performance, process, or measurement standards.", 0, java.lang.Integer.MAX_VALUE, specialization)); children.add(new Property("property", "", "Characteristics or features of the device that are otherwise not captured in available attributes, e.g., actual configuration settings, time or timing attributes, resolution, accuracy, and physical attributes. The focus is on properties of the device actually in use while DeviceDefinition focuses on properties that are available to be used.", 0, java.lang.Integer.MAX_VALUE, property)); - children.add(new Property("subject", "Reference(Patient|Practitioner)", "Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. The use of Patient is also appropriate for the use of devices outside a healthcare setting, such as a fitness tracker.", 0, 1, subject)); - children.add(new Property("operationalState", "", "The status of the device itself - whether it is switched on, or activated, etc.", 0, java.lang.Integer.MAX_VALUE, operationalState)); + children.add(new Property("operation", "", "The status of the device itself - whether it is switched on, or activated, etc.", 0, java.lang.Integer.MAX_VALUE, operation)); children.add(new Property("association", "", "The details about the device when it is affixed or inside of a patient.", 0, java.lang.Integer.MAX_VALUE, association)); children.add(new Property("owner", "Reference(Organization)", "An organization that is responsible for the provision and ongoing maintenance of the device.", 0, 1, owner)); children.add(new Property("contact", "ContactPoint", "Contact details for an organization or a particular human that is responsible for the device.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("location", "Reference(Location)", "The place where the device can be found.", 0, 1, location)); children.add(new Property("url", "uri", "A network address on which the device may be contacted directly.", 0, 1, url)); children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services provided by the device defined at this resource.", 0, java.lang.Integer.MAX_VALUE, endpoint)); - children.add(new Property("link", "", "An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device.", 0, java.lang.Integer.MAX_VALUE, link)); + children.add(new Property("gateway", "CodeableReference(Device)", "The linked device acting as a communication/data collector, translator or controller for the current device (e.g., mobile phone application that relays a blood pressure device's data).", 0, java.lang.Integer.MAX_VALUE, gateway)); children.add(new Property("note", "Annotation", "Descriptive information, usage information or implantation information that is not captured in an existing element.", 0, java.lang.Integer.MAX_VALUE, note)); children.add(new Property("safety", "CodeableConcept", "Provides additional safety characteristics about a medical device. For example devices containing latex.", 0, java.lang.Integer.MAX_VALUE, safety)); children.add(new Property("parent", "Reference(Device)", "The higher level or encompassing device that this device is a logical part of.", 0, 1, parent)); @@ -4844,8 +4635,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 1714148973: /*displayName*/ return new Property("displayName", "string", "The name used to display by default when the device is referenced. Based on intent of use by the resource creator, this may reflect one of the names in Device.deviceName, or may be another simple name.", 0, 1, displayName); case -1014418093: /*definition*/ return new Property("definition", "CodeableReference(DeviceDefinition)", "The reference to the definition for the device.", 0, 1, definition); case -1343558178: /*udiCarrier*/ return new Property("udiCarrier", "", "Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.", 0, java.lang.Integer.MAX_VALUE, udiCarrier); - case -892481550: /*status*/ return new Property("status", "code", "Status of the Device record. This is not the status of the device like availability.", 0, 1, status); - case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "Reason for the status of the Device record. For example, why is the record not active.", 0, java.lang.Integer.MAX_VALUE, statusReason); + case -892481550: /*status*/ return new Property("status", "code", "The Device record status. This is not the status of the device like availability.", 0, 1, status); + case 804659501: /*availabilityStatus*/ return new Property("availabilityStatus", "CodeableConcept", "The availability of the device.", 0, 1, availabilityStatus); case -654468482: /*biologicalSourceEvent*/ return new Property("biologicalSourceEvent", "Identifier", "An identifier that supports traceability to the event during which material in this product from one or more biological entities was obtained or pooled.", 0, 1, biologicalSourceEvent); case -1969347631: /*manufacturer*/ return new Property("manufacturer", "string", "A name of the manufacturer or entity legally responsible for the device.", 0, 1, manufacturer); case 416714767: /*manufactureDate*/ return new Property("manufactureDate", "dateTime", "The date and time when the device was manufactured.", 0, 1, manufactureDate); @@ -4855,19 +4646,19 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 780988929: /*deviceName*/ return new Property("deviceName", "", "This represents the manufacturer's name of the device as provided by the device, from a UDI label, or by a person describing the Device. This typically would be used when a person provides the name(s) or when the device represents one of the names available from DeviceDefinition.", 0, java.lang.Integer.MAX_VALUE, deviceName); case 346619858: /*modelNumber*/ return new Property("modelNumber", "string", "The manufacturer's model number for the device.", 0, 1, modelNumber); case -731502308: /*partNumber*/ return new Property("partNumber", "string", "The part number or catalog number of the device.", 0, 1, partNumber); + case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Devices may be associated with one or more categories.", 0, java.lang.Integer.MAX_VALUE, category); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The kind or type of device. A device instance may have more than one type - in which case those are the types that apply to the specific instance of the device.", 0, java.lang.Integer.MAX_VALUE, type); case 351608024: /*version*/ return new Property("version", "", "The actual design of the device or software version running on the device.", 0, java.lang.Integer.MAX_VALUE, version); case 682815883: /*specialization*/ return new Property("specialization", "", "The standards to which the device adheres and may be certified to in support of its capabilities, e.g., communication, performance, process, or measurement standards.", 0, java.lang.Integer.MAX_VALUE, specialization); case -993141291: /*property*/ return new Property("property", "", "Characteristics or features of the device that are otherwise not captured in available attributes, e.g., actual configuration settings, time or timing attributes, resolution, accuracy, and physical attributes. The focus is on properties of the device actually in use while DeviceDefinition focuses on properties that are available to be used.", 0, java.lang.Integer.MAX_VALUE, property); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Practitioner)", "Patient information, if the device is affixed to, or associated to a patient for their specific use, irrespective of the procedure, use, observation, or other activity that the device is involved in. The use of Patient is also appropriate for the use of devices outside a healthcare setting, such as a fitness tracker.", 0, 1, subject); - case -1176222753: /*operationalState*/ return new Property("operationalState", "", "The status of the device itself - whether it is switched on, or activated, etc.", 0, java.lang.Integer.MAX_VALUE, operationalState); + case 1662702951: /*operation*/ return new Property("operation", "", "The status of the device itself - whether it is switched on, or activated, etc.", 0, java.lang.Integer.MAX_VALUE, operation); case -87499647: /*association*/ return new Property("association", "", "The details about the device when it is affixed or inside of a patient.", 0, java.lang.Integer.MAX_VALUE, association); case 106164915: /*owner*/ return new Property("owner", "Reference(Organization)", "An organization that is responsible for the provision and ongoing maintenance of the device.", 0, 1, owner); case 951526432: /*contact*/ return new Property("contact", "ContactPoint", "Contact details for an organization or a particular human that is responsible for the device.", 0, java.lang.Integer.MAX_VALUE, contact); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The place where the device can be found.", 0, 1, location); case 116079: /*url*/ return new Property("url", "uri", "A network address on which the device may be contacted directly.", 0, 1, url); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services provided by the device defined at this resource.", 0, java.lang.Integer.MAX_VALUE, endpoint); - case 3321850: /*link*/ return new Property("link", "", "An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device.", 0, java.lang.Integer.MAX_VALUE, link); + case -189118908: /*gateway*/ return new Property("gateway", "CodeableReference(Device)", "The linked device acting as a communication/data collector, translator or controller for the current device (e.g., mobile phone application that relays a blood pressure device's data).", 0, java.lang.Integer.MAX_VALUE, gateway); case 3387378: /*note*/ return new Property("note", "Annotation", "Descriptive information, usage information or implantation information that is not captured in an existing element.", 0, java.lang.Integer.MAX_VALUE, note); case -909893934: /*safety*/ return new Property("safety", "CodeableConcept", "Provides additional safety characteristics about a medical device. For example devices containing latex.", 0, java.lang.Integer.MAX_VALUE, safety); case -995424086: /*parent*/ return new Property("parent", "Reference(Device)", "The higher level or encompassing device that this device is a logical part of.", 0, 1, parent); @@ -4884,7 +4675,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // CodeableReference case -1343558178: /*udiCarrier*/ return this.udiCarrier == null ? new Base[0] : this.udiCarrier.toArray(new Base[this.udiCarrier.size()]); // DeviceUdiCarrierComponent case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : this.statusReason.toArray(new Base[this.statusReason.size()]); // CodeableConcept + case 804659501: /*availabilityStatus*/ return this.availabilityStatus == null ? new Base[0] : new Base[] {this.availabilityStatus}; // CodeableConcept case -654468482: /*biologicalSourceEvent*/ return this.biologicalSourceEvent == null ? new Base[0] : new Base[] {this.biologicalSourceEvent}; // Identifier case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : new Base[] {this.manufacturer}; // StringType case 416714767: /*manufactureDate*/ return this.manufactureDate == null ? new Base[0] : new Base[] {this.manufactureDate}; // DateTimeType @@ -4894,19 +4685,19 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 780988929: /*deviceName*/ return this.deviceName == null ? new Base[0] : this.deviceName.toArray(new Base[this.deviceName.size()]); // DeviceDeviceNameComponent case 346619858: /*modelNumber*/ return this.modelNumber == null ? new Base[0] : new Base[] {this.modelNumber}; // StringType case -731502308: /*partNumber*/ return this.partNumber == null ? new Base[0] : new Base[] {this.partNumber}; // StringType + case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept case 351608024: /*version*/ return this.version == null ? new Base[0] : this.version.toArray(new Base[this.version.size()]); // DeviceVersionComponent case 682815883: /*specialization*/ return this.specialization == null ? new Base[0] : this.specialization.toArray(new Base[this.specialization.size()]); // DeviceSpecializationComponent case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // DevicePropertyComponent - case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference - case -1176222753: /*operationalState*/ return this.operationalState == null ? new Base[0] : this.operationalState.toArray(new Base[this.operationalState.size()]); // DeviceOperationalStateComponent + case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : this.operation.toArray(new Base[this.operation.size()]); // DeviceOperationComponent case -87499647: /*association*/ return this.association == null ? new Base[0] : this.association.toArray(new Base[this.association.size()]); // DeviceAssociationComponent case 106164915: /*owner*/ return this.owner == null ? new Base[0] : new Base[] {this.owner}; // Reference case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactPoint case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference - case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // DeviceLinkComponent + case -189118908: /*gateway*/ return this.gateway == null ? new Base[0] : this.gateway.toArray(new Base[this.gateway.size()]); // CodeableReference case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation case -909893934: /*safety*/ return this.safety == null ? new Base[0] : this.safety.toArray(new Base[this.safety.size()]); // CodeableConcept case -995424086: /*parent*/ return this.parent == null ? new Base[0] : new Base[] {this.parent}; // Reference @@ -4934,8 +4725,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. value = new FHIRDeviceStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration return value; - case 2051346646: // statusReason - this.getStatusReason().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + case 804659501: // availabilityStatus + this.availabilityStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -654468482: // biologicalSourceEvent this.biologicalSourceEvent = TypeConvertor.castToIdentifier(value); // Identifier @@ -4964,6 +4755,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -731502308: // partNumber this.partNumber = TypeConvertor.castToString(value); // StringType return value; + case 50511102: // category + this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; case 3575610: // type this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -4976,11 +4770,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -993141291: // property this.getProperty().add((DevicePropertyComponent) value); // DevicePropertyComponent return value; - case -1867885268: // subject - this.subject = TypeConvertor.castToReference(value); // Reference - return value; - case -1176222753: // operationalState - this.getOperationalState().add((DeviceOperationalStateComponent) value); // DeviceOperationalStateComponent + case 1662702951: // operation + this.getOperation().add((DeviceOperationComponent) value); // DeviceOperationComponent return value; case -87499647: // association this.getAssociation().add((DeviceAssociationComponent) value); // DeviceAssociationComponent @@ -5000,8 +4791,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 1741102485: // endpoint this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference return value; - case 3321850: // link - this.getLink().add((DeviceLinkComponent) value); // DeviceLinkComponent + case -189118908: // gateway + this.getGateway().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; case 3387378: // note this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation @@ -5030,8 +4821,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. } else if (name.equals("status")) { value = new FHIRDeviceStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration - } else if (name.equals("statusReason")) { - this.getStatusReason().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("availabilityStatus")) { + this.availabilityStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("biologicalSourceEvent")) { this.biologicalSourceEvent = TypeConvertor.castToIdentifier(value); // Identifier } else if (name.equals("manufacturer")) { @@ -5050,6 +4841,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. this.modelNumber = TypeConvertor.castToString(value); // StringType } else if (name.equals("partNumber")) { this.partNumber = TypeConvertor.castToString(value); // StringType + } else if (name.equals("category")) { + this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("type")) { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("version")) { @@ -5058,10 +4851,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. this.getSpecialization().add((DeviceSpecializationComponent) value); } else if (name.equals("property")) { this.getProperty().add((DevicePropertyComponent) value); - } else if (name.equals("subject")) { - this.subject = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("operationalState")) { - this.getOperationalState().add((DeviceOperationalStateComponent) value); + } else if (name.equals("operation")) { + this.getOperation().add((DeviceOperationComponent) value); } else if (name.equals("association")) { this.getAssociation().add((DeviceAssociationComponent) value); } else if (name.equals("owner")) { @@ -5074,8 +4865,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("endpoint")) { this.getEndpoint().add(TypeConvertor.castToReference(value)); - } else if (name.equals("link")) { - this.getLink().add((DeviceLinkComponent) value); + } else if (name.equals("gateway")) { + this.getGateway().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("note")) { this.getNote().add(TypeConvertor.castToAnnotation(value)); } else if (name.equals("safety")) { @@ -5095,7 +4886,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1014418093: return getDefinition(); case -1343558178: return addUdiCarrier(); case -892481550: return getStatusElement(); - case 2051346646: return addStatusReason(); + case 804659501: return getAvailabilityStatus(); case -654468482: return getBiologicalSourceEvent(); case -1969347631: return getManufacturerElement(); case 416714767: return getManufactureDateElement(); @@ -5105,19 +4896,19 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 780988929: return addDeviceName(); case 346619858: return getModelNumberElement(); case -731502308: return getPartNumberElement(); + case 50511102: return addCategory(); case 3575610: return addType(); case 351608024: return addVersion(); case 682815883: return addSpecialization(); case -993141291: return addProperty(); - case -1867885268: return getSubject(); - case -1176222753: return addOperationalState(); + case 1662702951: return addOperation(); case -87499647: return addAssociation(); case 106164915: return getOwner(); case 951526432: return addContact(); case 1901043637: return getLocation(); case 116079: return getUrlElement(); case 1741102485: return addEndpoint(); - case 3321850: return addLink(); + case -189118908: return addGateway(); case 3387378: return addNote(); case -909893934: return addSafety(); case -995424086: return getParent(); @@ -5134,7 +4925,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1014418093: /*definition*/ return new String[] {"CodeableReference"}; case -1343558178: /*udiCarrier*/ return new String[] {}; case -892481550: /*status*/ return new String[] {"code"}; - case 2051346646: /*statusReason*/ return new String[] {"CodeableConcept"}; + case 804659501: /*availabilityStatus*/ return new String[] {"CodeableConcept"}; case -654468482: /*biologicalSourceEvent*/ return new String[] {"Identifier"}; case -1969347631: /*manufacturer*/ return new String[] {"string"}; case 416714767: /*manufactureDate*/ return new String[] {"dateTime"}; @@ -5144,19 +4935,19 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 780988929: /*deviceName*/ return new String[] {}; case 346619858: /*modelNumber*/ return new String[] {"string"}; case -731502308: /*partNumber*/ return new String[] {"string"}; + case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case 351608024: /*version*/ return new String[] {}; case 682815883: /*specialization*/ return new String[] {}; case -993141291: /*property*/ return new String[] {}; - case -1867885268: /*subject*/ return new String[] {"Reference"}; - case -1176222753: /*operationalState*/ return new String[] {}; + case 1662702951: /*operation*/ return new String[] {}; case -87499647: /*association*/ return new String[] {}; case 106164915: /*owner*/ return new String[] {"Reference"}; case 951526432: /*contact*/ return new String[] {"ContactPoint"}; case 1901043637: /*location*/ return new String[] {"Reference"}; case 116079: /*url*/ return new String[] {"uri"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; - case 3321850: /*link*/ return new String[] {}; + case -189118908: /*gateway*/ return new String[] {"CodeableReference"}; case 3387378: /*note*/ return new String[] {"Annotation"}; case -909893934: /*safety*/ return new String[] {"CodeableConcept"}; case -995424086: /*parent*/ return new String[] {"Reference"}; @@ -5183,8 +4974,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type Device.status"); } - else if (name.equals("statusReason")) { - return addStatusReason(); + else if (name.equals("availabilityStatus")) { + this.availabilityStatus = new CodeableConcept(); + return this.availabilityStatus; } else if (name.equals("biologicalSourceEvent")) { this.biologicalSourceEvent = new Identifier(); @@ -5214,6 +5006,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. else if (name.equals("partNumber")) { throw new FHIRException("Cannot call addChild on a primitive type Device.partNumber"); } + else if (name.equals("category")) { + return addCategory(); + } else if (name.equals("type")) { return addType(); } @@ -5226,12 +5021,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. else if (name.equals("property")) { return addProperty(); } - else if (name.equals("subject")) { - this.subject = new Reference(); - return this.subject; - } - else if (name.equals("operationalState")) { - return addOperationalState(); + else if (name.equals("operation")) { + return addOperation(); } else if (name.equals("association")) { return addAssociation(); @@ -5253,8 +5044,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. else if (name.equals("endpoint")) { return addEndpoint(); } - else if (name.equals("link")) { - return addLink(); + else if (name.equals("gateway")) { + return addGateway(); } else if (name.equals("note")) { return addNote(); @@ -5296,11 +5087,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. dst.udiCarrier.add(i.copy()); }; dst.status = status == null ? null : status.copy(); - if (statusReason != null) { - dst.statusReason = new ArrayList(); - for (CodeableConcept i : statusReason) - dst.statusReason.add(i.copy()); - }; + dst.availabilityStatus = availabilityStatus == null ? null : availabilityStatus.copy(); dst.biologicalSourceEvent = biologicalSourceEvent == null ? null : biologicalSourceEvent.copy(); dst.manufacturer = manufacturer == null ? null : manufacturer.copy(); dst.manufactureDate = manufactureDate == null ? null : manufactureDate.copy(); @@ -5314,6 +5101,11 @@ RegisteredName | UserFriendlyName | PatientReportedName. }; dst.modelNumber = modelNumber == null ? null : modelNumber.copy(); dst.partNumber = partNumber == null ? null : partNumber.copy(); + if (category != null) { + dst.category = new ArrayList(); + for (CodeableConcept i : category) + dst.category.add(i.copy()); + }; if (type != null) { dst.type = new ArrayList(); for (CodeableConcept i : type) @@ -5334,11 +5126,10 @@ RegisteredName | UserFriendlyName | PatientReportedName. for (DevicePropertyComponent i : property) dst.property.add(i.copy()); }; - dst.subject = subject == null ? null : subject.copy(); - if (operationalState != null) { - dst.operationalState = new ArrayList(); - for (DeviceOperationalStateComponent i : operationalState) - dst.operationalState.add(i.copy()); + if (operation != null) { + dst.operation = new ArrayList(); + for (DeviceOperationComponent i : operation) + dst.operation.add(i.copy()); }; if (association != null) { dst.association = new ArrayList(); @@ -5358,10 +5149,10 @@ RegisteredName | UserFriendlyName | PatientReportedName. for (Reference i : endpoint) dst.endpoint.add(i.copy()); }; - if (link != null) { - dst.link = new ArrayList(); - for (DeviceLinkComponent i : link) - dst.link.add(i.copy()); + if (gateway != null) { + dst.gateway = new ArrayList(); + for (CodeableReference i : gateway) + dst.gateway.add(i.copy()); }; if (note != null) { dst.note = new ArrayList(); @@ -5389,17 +5180,17 @@ RegisteredName | UserFriendlyName | PatientReportedName. Device o = (Device) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(displayName, o.displayName, true) && compareDeep(definition, o.definition, true) && compareDeep(udiCarrier, o.udiCarrier, true) && compareDeep(status, o.status, true) - && compareDeep(statusReason, o.statusReason, true) && compareDeep(biologicalSourceEvent, o.biologicalSourceEvent, true) + && compareDeep(availabilityStatus, o.availabilityStatus, true) && compareDeep(biologicalSourceEvent, o.biologicalSourceEvent, true) && compareDeep(manufacturer, o.manufacturer, true) && compareDeep(manufactureDate, o.manufactureDate, true) && compareDeep(expirationDate, o.expirationDate, true) && compareDeep(lotNumber, o.lotNumber, true) && compareDeep(serialNumber, o.serialNumber, true) && compareDeep(deviceName, o.deviceName, true) && compareDeep(modelNumber, o.modelNumber, true) && compareDeep(partNumber, o.partNumber, true) - && compareDeep(type, o.type, true) && compareDeep(version, o.version, true) && compareDeep(specialization, o.specialization, true) - && compareDeep(property, o.property, true) && compareDeep(subject, o.subject, true) && compareDeep(operationalState, o.operationalState, true) - && compareDeep(association, o.association, true) && compareDeep(owner, o.owner, true) && compareDeep(contact, o.contact, true) - && compareDeep(location, o.location, true) && compareDeep(url, o.url, true) && compareDeep(endpoint, o.endpoint, true) - && compareDeep(link, o.link, true) && compareDeep(note, o.note, true) && compareDeep(safety, o.safety, true) - && compareDeep(parent, o.parent, true); + && compareDeep(category, o.category, true) && compareDeep(type, o.type, true) && compareDeep(version, o.version, true) + && compareDeep(specialization, o.specialization, true) && compareDeep(property, o.property, true) + && compareDeep(operation, o.operation, true) && compareDeep(association, o.association, true) && compareDeep(owner, o.owner, true) + && compareDeep(contact, o.contact, true) && compareDeep(location, o.location, true) && compareDeep(url, o.url, true) + && compareDeep(endpoint, o.endpoint, true) && compareDeep(gateway, o.gateway, true) && compareDeep(note, o.note, true) + && compareDeep(safety, o.safety, true) && compareDeep(parent, o.parent, true); } @Override @@ -5418,10 +5209,10 @@ RegisteredName | UserFriendlyName | PatientReportedName. public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, displayName, definition - , udiCarrier, status, statusReason, biologicalSourceEvent, manufacturer, manufactureDate - , expirationDate, lotNumber, serialNumber, deviceName, modelNumber, partNumber, type - , version, specialization, property, subject, operationalState, association, owner - , contact, location, url, endpoint, link, note, safety, parent); + , udiCarrier, status, availabilityStatus, biologicalSourceEvent, manufacturer, manufactureDate + , expirationDate, lotNumber, serialNumber, deviceName, modelNumber, partNumber, category + , type, version, specialization, property, operation, association, owner, contact + , location, url, endpoint, gateway, note, safety, parent); } @Override @@ -5698,17 +5489,17 @@ RegisteredName | UserFriendlyName | PatientReportedName. *

* Description: Patient information, if the resource is affixed to a person
* Type: reference
- * Path: Device.subject.where(resolve() is Patient)
+ * Path: Device.association.humanSubject.where(resolve() is Patient)
*

*/ - @SearchParamDefinition(name="patient", path="Device.subject.where(resolve() is Patient)", description="Patient information, if the resource is affixed to a person", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="Device.association.humanSubject.where(resolve() is Patient)", description="Patient information, if the resource is affixed to a person", type="reference", target={Patient.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient *

* Description: Patient information, if the resource is affixed to a person
* Type: reference
- * Path: Device.subject.where(resolve() is Patient)
+ * Path: Device.association.humanSubject.where(resolve() is Patient)
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); @@ -5762,19 +5553,19 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * Search parameter: subject *

- * Description: Subject information, to which the device is associated of affixed
+ * Description: Subject to which the device is associated of affixed
* Type: reference
- * Path: Device.subject
+ * Path: Device.association.humanSubject
*

*/ - @SearchParamDefinition(name="subject", path="Device.subject", description="Subject information, to which the device is associated of affixed", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class, Practitioner.class } ) + @SearchParamDefinition(name="subject", path="Device.association.humanSubject", description="Subject to which the device is associated of affixed", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject *

- * Description: Subject information, to which the device is associated of affixed
+ * Description: Subject to which the device is associated of affixed
* Type: reference
- * Path: Device.subject
+ * Path: Device.association.humanSubject
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); @@ -5890,17 +5681,17 @@ RegisteredName | UserFriendlyName | PatientReportedName. *

* Description: The donation identification number (DIN)
* Type: token
- * Path: Device.extension('http://hl7.org/fhir/SearchParameter/device-extensions-Device-din')
+ * Path: Device.extension('http://hl7.org/fhir/SearchParameter/device-extensions-Device-din').value
*

*/ - @SearchParamDefinition(name="din", path="Device.extension('http://hl7.org/fhir/SearchParameter/device-extensions-Device-din')", description="The donation identification number (DIN)", type="token" ) + @SearchParamDefinition(name="din", path="Device.extension('http://hl7.org/fhir/SearchParameter/device-extensions-Device-din').value", description="The donation identification number (DIN)", type="token" ) public static final String SP_DIN = "din"; /** * Fluent Client search parameter constant for din *

* Description: The donation identification number (DIN)
* Type: token
- * Path: Device.extension('http://hl7.org/fhir/SearchParameter/device-extensions-Device-din')
+ * Path: Device.extension('http://hl7.org/fhir/SearchParameter/device-extensions-Device-din').value
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam DIN = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_DIN); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDefinition.java index d775d8caf..57f982e8b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -165,6 +165,118 @@ public class DeviceDefinition extends DomainResource { } } + public enum DeviceDefinitionRegulatoryIdentifierType { + /** + * EUDAMED's basic UDI-DI identifier. + */ + BASIC, + /** + * EUDAMED's master UDI-DI identifier. + */ + MASTER, + /** + * The identifier is a license number. + */ + LICENSE, + /** + * added to help the parsers with the generic types + */ + NULL; + public static DeviceDefinitionRegulatoryIdentifierType fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("basic".equals(codeString)) + return BASIC; + if ("master".equals(codeString)) + return MASTER; + if ("license".equals(codeString)) + return LICENSE; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown DeviceDefinitionRegulatoryIdentifierType code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case BASIC: return "basic"; + case MASTER: return "master"; + case LICENSE: return "license"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case BASIC: return "http://hl7.org/fhir/devicedefinition-regulatory-identifier-type"; + case MASTER: return "http://hl7.org/fhir/devicedefinition-regulatory-identifier-type"; + case LICENSE: return "http://hl7.org/fhir/devicedefinition-regulatory-identifier-type"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case BASIC: return "EUDAMED's basic UDI-DI identifier."; + case MASTER: return "EUDAMED's master UDI-DI identifier."; + case LICENSE: return "The identifier is a license number."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case BASIC: return "Basic"; + case MASTER: return "Master"; + case LICENSE: return "License"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class DeviceDefinitionRegulatoryIdentifierTypeEnumFactory implements EnumFactory { + public DeviceDefinitionRegulatoryIdentifierType fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("basic".equals(codeString)) + return DeviceDefinitionRegulatoryIdentifierType.BASIC; + if ("master".equals(codeString)) + return DeviceDefinitionRegulatoryIdentifierType.MASTER; + if ("license".equals(codeString)) + return DeviceDefinitionRegulatoryIdentifierType.LICENSE; + throw new IllegalArgumentException("Unknown DeviceDefinitionRegulatoryIdentifierType code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("basic".equals(codeString)) + return new Enumeration(this, DeviceDefinitionRegulatoryIdentifierType.BASIC); + if ("master".equals(codeString)) + return new Enumeration(this, DeviceDefinitionRegulatoryIdentifierType.MASTER); + if ("license".equals(codeString)) + return new Enumeration(this, DeviceDefinitionRegulatoryIdentifierType.LICENSE); + throw new FHIRException("Unknown DeviceDefinitionRegulatoryIdentifierType code '"+codeString+"'"); + } + public String toCode(DeviceDefinitionRegulatoryIdentifierType code) { + if (code == DeviceDefinitionRegulatoryIdentifierType.BASIC) + return "basic"; + if (code == DeviceDefinitionRegulatoryIdentifierType.MASTER) + return "master"; + if (code == DeviceDefinitionRegulatoryIdentifierType.LICENSE) + return "license"; + return "?"; + } + public String toSystem(DeviceDefinitionRegulatoryIdentifierType code) { + return code.getSystem(); + } + } + public enum DeviceProductionIdentifierInUDI { /** * The label includes the lot number. @@ -954,6 +1066,396 @@ public class DeviceDefinition extends DomainResource { } + } + + @Block() + public static class DeviceDefinitionRegulatoryIdentifierComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The type of identifier itself. + */ + @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="basic | master | license", formalDefinition="The type of identifier itself." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/devicedefinition-regulatory-identifier-type") + protected Enumeration type; + + /** + * The identifier itself. + */ + @Child(name = "deviceIdentifier", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The identifier itself", formalDefinition="The identifier itself." ) + protected StringType deviceIdentifier; + + /** + * The organization that issued this identifier. + */ + @Child(name = "issuer", type = {UriType.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The organization that issued this identifier", formalDefinition="The organization that issued this identifier." ) + protected UriType issuer; + + /** + * The jurisdiction to which the deviceIdentifier applies. + */ + @Child(name = "jurisdiction", type = {UriType.class}, order=4, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The jurisdiction to which the deviceIdentifier applies", formalDefinition="The jurisdiction to which the deviceIdentifier applies." ) + protected UriType jurisdiction; + + private static final long serialVersionUID = 1438058623L; + + /** + * Constructor + */ + public DeviceDefinitionRegulatoryIdentifierComponent() { + super(); + } + + /** + * Constructor + */ + public DeviceDefinitionRegulatoryIdentifierComponent(DeviceDefinitionRegulatoryIdentifierType type, String deviceIdentifier, String issuer, String jurisdiction) { + super(); + this.setType(type); + this.setDeviceIdentifier(deviceIdentifier); + this.setIssuer(issuer); + this.setJurisdiction(jurisdiction); + } + + /** + * @return {@link #type} (The type of identifier itself.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public Enumeration getTypeElement() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DeviceDefinitionRegulatoryIdentifierComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new Enumeration(new DeviceDefinitionRegulatoryIdentifierTypeEnumFactory()); // bb + return this.type; + } + + public boolean hasTypeElement() { + return this.type != null && !this.type.isEmpty(); + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (The type of identifier itself.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public DeviceDefinitionRegulatoryIdentifierComponent setTypeElement(Enumeration value) { + this.type = value; + return this; + } + + /** + * @return The type of identifier itself. + */ + public DeviceDefinitionRegulatoryIdentifierType getType() { + return this.type == null ? null : this.type.getValue(); + } + + /** + * @param value The type of identifier itself. + */ + public DeviceDefinitionRegulatoryIdentifierComponent setType(DeviceDefinitionRegulatoryIdentifierType value) { + if (this.type == null) + this.type = new Enumeration(new DeviceDefinitionRegulatoryIdentifierTypeEnumFactory()); + this.type.setValue(value); + return this; + } + + /** + * @return {@link #deviceIdentifier} (The identifier itself.). This is the underlying object with id, value and extensions. The accessor "getDeviceIdentifier" gives direct access to the value + */ + public StringType getDeviceIdentifierElement() { + if (this.deviceIdentifier == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DeviceDefinitionRegulatoryIdentifierComponent.deviceIdentifier"); + else if (Configuration.doAutoCreate()) + this.deviceIdentifier = new StringType(); // bb + return this.deviceIdentifier; + } + + public boolean hasDeviceIdentifierElement() { + return this.deviceIdentifier != null && !this.deviceIdentifier.isEmpty(); + } + + public boolean hasDeviceIdentifier() { + return this.deviceIdentifier != null && !this.deviceIdentifier.isEmpty(); + } + + /** + * @param value {@link #deviceIdentifier} (The identifier itself.). This is the underlying object with id, value and extensions. The accessor "getDeviceIdentifier" gives direct access to the value + */ + public DeviceDefinitionRegulatoryIdentifierComponent setDeviceIdentifierElement(StringType value) { + this.deviceIdentifier = value; + return this; + } + + /** + * @return The identifier itself. + */ + public String getDeviceIdentifier() { + return this.deviceIdentifier == null ? null : this.deviceIdentifier.getValue(); + } + + /** + * @param value The identifier itself. + */ + public DeviceDefinitionRegulatoryIdentifierComponent setDeviceIdentifier(String value) { + if (this.deviceIdentifier == null) + this.deviceIdentifier = new StringType(); + this.deviceIdentifier.setValue(value); + return this; + } + + /** + * @return {@link #issuer} (The organization that issued this identifier.). This is the underlying object with id, value and extensions. The accessor "getIssuer" gives direct access to the value + */ + public UriType getIssuerElement() { + if (this.issuer == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DeviceDefinitionRegulatoryIdentifierComponent.issuer"); + else if (Configuration.doAutoCreate()) + this.issuer = new UriType(); // bb + return this.issuer; + } + + public boolean hasIssuerElement() { + return this.issuer != null && !this.issuer.isEmpty(); + } + + public boolean hasIssuer() { + return this.issuer != null && !this.issuer.isEmpty(); + } + + /** + * @param value {@link #issuer} (The organization that issued this identifier.). This is the underlying object with id, value and extensions. The accessor "getIssuer" gives direct access to the value + */ + public DeviceDefinitionRegulatoryIdentifierComponent setIssuerElement(UriType value) { + this.issuer = value; + return this; + } + + /** + * @return The organization that issued this identifier. + */ + public String getIssuer() { + return this.issuer == null ? null : this.issuer.getValue(); + } + + /** + * @param value The organization that issued this identifier. + */ + public DeviceDefinitionRegulatoryIdentifierComponent setIssuer(String value) { + if (this.issuer == null) + this.issuer = new UriType(); + this.issuer.setValue(value); + return this; + } + + /** + * @return {@link #jurisdiction} (The jurisdiction to which the deviceIdentifier applies.). This is the underlying object with id, value and extensions. The accessor "getJurisdiction" gives direct access to the value + */ + public UriType getJurisdictionElement() { + if (this.jurisdiction == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DeviceDefinitionRegulatoryIdentifierComponent.jurisdiction"); + else if (Configuration.doAutoCreate()) + this.jurisdiction = new UriType(); // bb + return this.jurisdiction; + } + + public boolean hasJurisdictionElement() { + return this.jurisdiction != null && !this.jurisdiction.isEmpty(); + } + + public boolean hasJurisdiction() { + return this.jurisdiction != null && !this.jurisdiction.isEmpty(); + } + + /** + * @param value {@link #jurisdiction} (The jurisdiction to which the deviceIdentifier applies.). This is the underlying object with id, value and extensions. The accessor "getJurisdiction" gives direct access to the value + */ + public DeviceDefinitionRegulatoryIdentifierComponent setJurisdictionElement(UriType value) { + this.jurisdiction = value; + return this; + } + + /** + * @return The jurisdiction to which the deviceIdentifier applies. + */ + public String getJurisdiction() { + return this.jurisdiction == null ? null : this.jurisdiction.getValue(); + } + + /** + * @param value The jurisdiction to which the deviceIdentifier applies. + */ + public DeviceDefinitionRegulatoryIdentifierComponent setJurisdiction(String value) { + if (this.jurisdiction == null) + this.jurisdiction = new UriType(); + this.jurisdiction.setValue(value); + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "code", "The type of identifier itself.", 0, 1, type)); + children.add(new Property("deviceIdentifier", "string", "The identifier itself.", 0, 1, deviceIdentifier)); + children.add(new Property("issuer", "uri", "The organization that issued this identifier.", 0, 1, issuer)); + children.add(new Property("jurisdiction", "uri", "The jurisdiction to which the deviceIdentifier applies.", 0, 1, jurisdiction)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "code", "The type of identifier itself.", 0, 1, type); + case 1322005407: /*deviceIdentifier*/ return new Property("deviceIdentifier", "string", "The identifier itself.", 0, 1, deviceIdentifier); + case -1179159879: /*issuer*/ return new Property("issuer", "uri", "The organization that issued this identifier.", 0, 1, issuer); + case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "uri", "The jurisdiction to which the deviceIdentifier applies.", 0, 1, jurisdiction); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 1322005407: /*deviceIdentifier*/ return this.deviceIdentifier == null ? new Base[0] : new Base[] {this.deviceIdentifier}; // StringType + case -1179159879: /*issuer*/ return this.issuer == null ? new Base[0] : new Base[] {this.issuer}; // UriType + case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : new Base[] {this.jurisdiction}; // UriType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + value = new DeviceDefinitionRegulatoryIdentifierTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + return value; + case 1322005407: // deviceIdentifier + this.deviceIdentifier = TypeConvertor.castToString(value); // StringType + return value; + case -1179159879: // issuer + this.issuer = TypeConvertor.castToUri(value); // UriType + return value; + case -507075711: // jurisdiction + this.jurisdiction = TypeConvertor.castToUri(value); // UriType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + value = new DeviceDefinitionRegulatoryIdentifierTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + } else if (name.equals("deviceIdentifier")) { + this.deviceIdentifier = TypeConvertor.castToString(value); // StringType + } else if (name.equals("issuer")) { + this.issuer = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("jurisdiction")) { + this.jurisdiction = TypeConvertor.castToUri(value); // UriType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getTypeElement(); + case 1322005407: return getDeviceIdentifierElement(); + case -1179159879: return getIssuerElement(); + case -507075711: return getJurisdictionElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"code"}; + case 1322005407: /*deviceIdentifier*/ return new String[] {"string"}; + case -1179159879: /*issuer*/ return new String[] {"uri"}; + case -507075711: /*jurisdiction*/ return new String[] {"uri"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.regulatoryIdentifier.type"); + } + else if (name.equals("deviceIdentifier")) { + throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.regulatoryIdentifier.deviceIdentifier"); + } + else if (name.equals("issuer")) { + throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.regulatoryIdentifier.issuer"); + } + else if (name.equals("jurisdiction")) { + throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.regulatoryIdentifier.jurisdiction"); + } + else + return super.addChild(name); + } + + public DeviceDefinitionRegulatoryIdentifierComponent copy() { + DeviceDefinitionRegulatoryIdentifierComponent dst = new DeviceDefinitionRegulatoryIdentifierComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(DeviceDefinitionRegulatoryIdentifierComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + dst.deviceIdentifier = deviceIdentifier == null ? null : deviceIdentifier.copy(); + dst.issuer = issuer == null ? null : issuer.copy(); + dst.jurisdiction = jurisdiction == null ? null : jurisdiction.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof DeviceDefinitionRegulatoryIdentifierComponent)) + return false; + DeviceDefinitionRegulatoryIdentifierComponent o = (DeviceDefinitionRegulatoryIdentifierComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(deviceIdentifier, o.deviceIdentifier, true) + && compareDeep(issuer, o.issuer, true) && compareDeep(jurisdiction, o.jurisdiction, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof DeviceDefinitionRegulatoryIdentifierComponent)) + return false; + DeviceDefinitionRegulatoryIdentifierComponent o = (DeviceDefinitionRegulatoryIdentifierComponent) other_; + return compareValues(type, o.type, true) && compareValues(deviceIdentifier, o.deviceIdentifier, true) + && compareValues(issuer, o.issuer, true) && compareValues(jurisdiction, o.jurisdiction, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, deviceIdentifier, issuer + , jurisdiction); + } + + public String fhirType() { + return "DeviceDefinition.regulatoryIdentifier"; + + } + } @Block() @@ -1718,9 +2220,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * Unique Device Identifier (UDI) Barcode string on the packaging. */ - @Child(name = "udiDeviceIdentifier", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udiDeviceIdentifier", type = {DeviceDefinitionUdiDeviceIdentifierComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique Device Identifier (UDI) Barcode string on the packaging", formalDefinition="Unique Device Identifier (UDI) Barcode string on the packaging." ) - protected List udiDeviceIdentifier; + protected List udiDeviceIdentifier; /** * Allows packages within packages. @@ -1729,7 +2231,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. @Description(shortDefinition="Allows packages within packages", formalDefinition="Allows packages within packages." ) protected List packaging; - private static final long serialVersionUID = 1491079286L; + private static final long serialVersionUID = -441544375L; /** * Constructor @@ -1887,16 +2389,16 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @return {@link #udiDeviceIdentifier} (Unique Device Identifier (UDI) Barcode string on the packaging.) */ - public List getUdiDeviceIdentifier() { + public List getUdiDeviceIdentifier() { if (this.udiDeviceIdentifier == null) - this.udiDeviceIdentifier = new ArrayList(); + this.udiDeviceIdentifier = new ArrayList(); return this.udiDeviceIdentifier; } /** * @return Returns a reference to this for easy method chaining */ - public DeviceDefinitionPackagingComponent setUdiDeviceIdentifier(List theUdiDeviceIdentifier) { + public DeviceDefinitionPackagingComponent setUdiDeviceIdentifier(List theUdiDeviceIdentifier) { this.udiDeviceIdentifier = theUdiDeviceIdentifier; return this; } @@ -1904,25 +2406,25 @@ RegisteredName | UserFriendlyName | PatientReportedName. public boolean hasUdiDeviceIdentifier() { if (this.udiDeviceIdentifier == null) return false; - for (DeviceDefinitionPackagingUdiDeviceIdentifierComponent item : this.udiDeviceIdentifier) + for (DeviceDefinitionUdiDeviceIdentifierComponent item : this.udiDeviceIdentifier) if (!item.isEmpty()) return true; return false; } - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent addUdiDeviceIdentifier() { //3 - DeviceDefinitionPackagingUdiDeviceIdentifierComponent t = new DeviceDefinitionPackagingUdiDeviceIdentifierComponent(); + public DeviceDefinitionUdiDeviceIdentifierComponent addUdiDeviceIdentifier() { //3 + DeviceDefinitionUdiDeviceIdentifierComponent t = new DeviceDefinitionUdiDeviceIdentifierComponent(); if (this.udiDeviceIdentifier == null) - this.udiDeviceIdentifier = new ArrayList(); + this.udiDeviceIdentifier = new ArrayList(); this.udiDeviceIdentifier.add(t); return t; } - public DeviceDefinitionPackagingComponent addUdiDeviceIdentifier(DeviceDefinitionPackagingUdiDeviceIdentifierComponent t) { //3 + public DeviceDefinitionPackagingComponent addUdiDeviceIdentifier(DeviceDefinitionUdiDeviceIdentifierComponent t) { //3 if (t == null) return this; if (this.udiDeviceIdentifier == null) - this.udiDeviceIdentifier = new ArrayList(); + this.udiDeviceIdentifier = new ArrayList(); this.udiDeviceIdentifier.add(t); return this; } @@ -1930,7 +2432,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * @return The first repetition of repeating field {@link #udiDeviceIdentifier}, creating it if it does not already exist {3} */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent getUdiDeviceIdentifierFirstRep() { + public DeviceDefinitionUdiDeviceIdentifierComponent getUdiDeviceIdentifierFirstRep() { if (getUdiDeviceIdentifier().isEmpty()) { addUdiDeviceIdentifier(); } @@ -1996,7 +2498,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. children.add(new Property("type", "CodeableConcept", "A code that defines the specific type of packaging.", 0, 1, type)); children.add(new Property("count", "integer", "The number of items contained in the package (devices or sub-packages).", 0, 1, count)); children.add(new Property("distributor", "", "An organization that distributes the packaged device.", 0, java.lang.Integer.MAX_VALUE, distributor)); - children.add(new Property("udiDeviceIdentifier", "", "Unique Device Identifier (UDI) Barcode string on the packaging.", 0, java.lang.Integer.MAX_VALUE, udiDeviceIdentifier)); + children.add(new Property("udiDeviceIdentifier", "@DeviceDefinition.udiDeviceIdentifier", "Unique Device Identifier (UDI) Barcode string on the packaging.", 0, java.lang.Integer.MAX_VALUE, udiDeviceIdentifier)); children.add(new Property("packaging", "@DeviceDefinition.packaging", "Allows packages within packages.", 0, java.lang.Integer.MAX_VALUE, packaging)); } @@ -2007,7 +2509,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A code that defines the specific type of packaging.", 0, 1, type); case 94851343: /*count*/ return new Property("count", "integer", "The number of items contained in the package (devices or sub-packages).", 0, 1, count); case 1334482919: /*distributor*/ return new Property("distributor", "", "An organization that distributes the packaged device.", 0, java.lang.Integer.MAX_VALUE, distributor); - case -99121287: /*udiDeviceIdentifier*/ return new Property("udiDeviceIdentifier", "", "Unique Device Identifier (UDI) Barcode string on the packaging.", 0, java.lang.Integer.MAX_VALUE, udiDeviceIdentifier); + case -99121287: /*udiDeviceIdentifier*/ return new Property("udiDeviceIdentifier", "@DeviceDefinition.udiDeviceIdentifier", "Unique Device Identifier (UDI) Barcode string on the packaging.", 0, java.lang.Integer.MAX_VALUE, udiDeviceIdentifier); case 1802065795: /*packaging*/ return new Property("packaging", "@DeviceDefinition.packaging", "Allows packages within packages.", 0, java.lang.Integer.MAX_VALUE, packaging); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2021,7 +2523,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept case 94851343: /*count*/ return this.count == null ? new Base[0] : new Base[] {this.count}; // IntegerType case 1334482919: /*distributor*/ return this.distributor == null ? new Base[0] : this.distributor.toArray(new Base[this.distributor.size()]); // DeviceDefinitionPackagingDistributorComponent - case -99121287: /*udiDeviceIdentifier*/ return this.udiDeviceIdentifier == null ? new Base[0] : this.udiDeviceIdentifier.toArray(new Base[this.udiDeviceIdentifier.size()]); // DeviceDefinitionPackagingUdiDeviceIdentifierComponent + case -99121287: /*udiDeviceIdentifier*/ return this.udiDeviceIdentifier == null ? new Base[0] : this.udiDeviceIdentifier.toArray(new Base[this.udiDeviceIdentifier.size()]); // DeviceDefinitionUdiDeviceIdentifierComponent case 1802065795: /*packaging*/ return this.packaging == null ? new Base[0] : this.packaging.toArray(new Base[this.packaging.size()]); // DeviceDefinitionPackagingComponent default: return super.getProperty(hash, name, checkValid); } @@ -2044,7 +2546,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. this.getDistributor().add((DeviceDefinitionPackagingDistributorComponent) value); // DeviceDefinitionPackagingDistributorComponent return value; case -99121287: // udiDeviceIdentifier - this.getUdiDeviceIdentifier().add((DeviceDefinitionPackagingUdiDeviceIdentifierComponent) value); // DeviceDefinitionPackagingUdiDeviceIdentifierComponent + this.getUdiDeviceIdentifier().add((DeviceDefinitionUdiDeviceIdentifierComponent) value); // DeviceDefinitionUdiDeviceIdentifierComponent return value; case 1802065795: // packaging this.getPackaging().add((DeviceDefinitionPackagingComponent) value); // DeviceDefinitionPackagingComponent @@ -2065,7 +2567,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. } else if (name.equals("distributor")) { this.getDistributor().add((DeviceDefinitionPackagingDistributorComponent) value); } else if (name.equals("udiDeviceIdentifier")) { - this.getUdiDeviceIdentifier().add((DeviceDefinitionPackagingUdiDeviceIdentifierComponent) value); + this.getUdiDeviceIdentifier().add((DeviceDefinitionUdiDeviceIdentifierComponent) value); } else if (name.equals("packaging")) { this.getPackaging().add((DeviceDefinitionPackagingComponent) value); } else @@ -2094,7 +2596,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case 94851343: /*count*/ return new String[] {"integer"}; case 1334482919: /*distributor*/ return new String[] {}; - case -99121287: /*udiDeviceIdentifier*/ return new String[] {}; + case -99121287: /*udiDeviceIdentifier*/ return new String[] {"@DeviceDefinition.udiDeviceIdentifier"}; case 1802065795: /*packaging*/ return new String[] {"@DeviceDefinition.packaging"}; default: return super.getTypesForProperty(hash, name); } @@ -2144,8 +2646,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. dst.distributor.add(i.copy()); }; if (udiDeviceIdentifier != null) { - dst.udiDeviceIdentifier = new ArrayList(); - for (DeviceDefinitionPackagingUdiDeviceIdentifierComponent i : udiDeviceIdentifier) + dst.udiDeviceIdentifier = new ArrayList(); + for (DeviceDefinitionUdiDeviceIdentifierComponent i : udiDeviceIdentifier) dst.udiDeviceIdentifier.add(i.copy()); }; if (packaging != null) { @@ -2446,600 +2948,6 @@ RegisteredName | UserFriendlyName | PatientReportedName. } - } - - @Block() - public static class DeviceDefinitionPackagingUdiDeviceIdentifierComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Identifier to be associated with every instance for issuer and jurisdiction. - */ - @Child(name = "deviceIdentifier", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Identifier to be associated with every instance for issuer and jurisdiction", formalDefinition="Identifier to be associated with every instance for issuer and jurisdiction." ) - protected StringType deviceIdentifier; - - /** - * The organization that assigns the identifier algorithm. - */ - @Child(name = "issuer", type = {UriType.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The organization that assigns the identifier algorithm", formalDefinition="The organization that assigns the identifier algorithm." ) - protected UriType issuer; - - /** - * The jurisdiction to which the deviceIdentifier applies. - */ - @Child(name = "jurisdiction", type = {UriType.class}, order=3, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The jurisdiction to which the deviceIdentifier applies", formalDefinition="The jurisdiction to which the deviceIdentifier applies." ) - protected UriType jurisdiction; - - /** - * The organization that assigns the identifier algorithm. - */ - @Child(name = "marketDistribution", type = {}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Indicates whether and when the device is available on the market", formalDefinition="The organization that assigns the identifier algorithm." ) - protected DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent marketDistribution; - - private static final long serialVersionUID = 1994089622L; - - /** - * Constructor - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent() { - super(); - } - - /** - * Constructor - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent(String deviceIdentifier, String issuer, String jurisdiction) { - super(); - this.setDeviceIdentifier(deviceIdentifier); - this.setIssuer(issuer); - this.setJurisdiction(jurisdiction); - } - - /** - * @return {@link #deviceIdentifier} (Identifier to be associated with every instance for issuer and jurisdiction.). This is the underlying object with id, value and extensions. The accessor "getDeviceIdentifier" gives direct access to the value - */ - public StringType getDeviceIdentifierElement() { - if (this.deviceIdentifier == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceDefinitionPackagingUdiDeviceIdentifierComponent.deviceIdentifier"); - else if (Configuration.doAutoCreate()) - this.deviceIdentifier = new StringType(); // bb - return this.deviceIdentifier; - } - - public boolean hasDeviceIdentifierElement() { - return this.deviceIdentifier != null && !this.deviceIdentifier.isEmpty(); - } - - public boolean hasDeviceIdentifier() { - return this.deviceIdentifier != null && !this.deviceIdentifier.isEmpty(); - } - - /** - * @param value {@link #deviceIdentifier} (Identifier to be associated with every instance for issuer and jurisdiction.). This is the underlying object with id, value and extensions. The accessor "getDeviceIdentifier" gives direct access to the value - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setDeviceIdentifierElement(StringType value) { - this.deviceIdentifier = value; - return this; - } - - /** - * @return Identifier to be associated with every instance for issuer and jurisdiction. - */ - public String getDeviceIdentifier() { - return this.deviceIdentifier == null ? null : this.deviceIdentifier.getValue(); - } - - /** - * @param value Identifier to be associated with every instance for issuer and jurisdiction. - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setDeviceIdentifier(String value) { - if (this.deviceIdentifier == null) - this.deviceIdentifier = new StringType(); - this.deviceIdentifier.setValue(value); - return this; - } - - /** - * @return {@link #issuer} (The organization that assigns the identifier algorithm.). This is the underlying object with id, value and extensions. The accessor "getIssuer" gives direct access to the value - */ - public UriType getIssuerElement() { - if (this.issuer == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceDefinitionPackagingUdiDeviceIdentifierComponent.issuer"); - else if (Configuration.doAutoCreate()) - this.issuer = new UriType(); // bb - return this.issuer; - } - - public boolean hasIssuerElement() { - return this.issuer != null && !this.issuer.isEmpty(); - } - - public boolean hasIssuer() { - return this.issuer != null && !this.issuer.isEmpty(); - } - - /** - * @param value {@link #issuer} (The organization that assigns the identifier algorithm.). This is the underlying object with id, value and extensions. The accessor "getIssuer" gives direct access to the value - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setIssuerElement(UriType value) { - this.issuer = value; - return this; - } - - /** - * @return The organization that assigns the identifier algorithm. - */ - public String getIssuer() { - return this.issuer == null ? null : this.issuer.getValue(); - } - - /** - * @param value The organization that assigns the identifier algorithm. - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setIssuer(String value) { - if (this.issuer == null) - this.issuer = new UriType(); - this.issuer.setValue(value); - return this; - } - - /** - * @return {@link #jurisdiction} (The jurisdiction to which the deviceIdentifier applies.). This is the underlying object with id, value and extensions. The accessor "getJurisdiction" gives direct access to the value - */ - public UriType getJurisdictionElement() { - if (this.jurisdiction == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceDefinitionPackagingUdiDeviceIdentifierComponent.jurisdiction"); - else if (Configuration.doAutoCreate()) - this.jurisdiction = new UriType(); // bb - return this.jurisdiction; - } - - public boolean hasJurisdictionElement() { - return this.jurisdiction != null && !this.jurisdiction.isEmpty(); - } - - public boolean hasJurisdiction() { - return this.jurisdiction != null && !this.jurisdiction.isEmpty(); - } - - /** - * @param value {@link #jurisdiction} (The jurisdiction to which the deviceIdentifier applies.). This is the underlying object with id, value and extensions. The accessor "getJurisdiction" gives direct access to the value - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setJurisdictionElement(UriType value) { - this.jurisdiction = value; - return this; - } - - /** - * @return The jurisdiction to which the deviceIdentifier applies. - */ - public String getJurisdiction() { - return this.jurisdiction == null ? null : this.jurisdiction.getValue(); - } - - /** - * @param value The jurisdiction to which the deviceIdentifier applies. - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setJurisdiction(String value) { - if (this.jurisdiction == null) - this.jurisdiction = new UriType(); - this.jurisdiction.setValue(value); - return this; - } - - /** - * @return {@link #marketDistribution} (The organization that assigns the identifier algorithm.) - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent getMarketDistribution() { - if (this.marketDistribution == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceDefinitionPackagingUdiDeviceIdentifierComponent.marketDistribution"); - else if (Configuration.doAutoCreate()) - this.marketDistribution = new DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(); // cc - return this.marketDistribution; - } - - public boolean hasMarketDistribution() { - return this.marketDistribution != null && !this.marketDistribution.isEmpty(); - } - - /** - * @param value {@link #marketDistribution} (The organization that assigns the identifier algorithm.) - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent setMarketDistribution(DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent value) { - this.marketDistribution = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("deviceIdentifier", "string", "Identifier to be associated with every instance for issuer and jurisdiction.", 0, 1, deviceIdentifier)); - children.add(new Property("issuer", "uri", "The organization that assigns the identifier algorithm.", 0, 1, issuer)); - children.add(new Property("jurisdiction", "uri", "The jurisdiction to which the deviceIdentifier applies.", 0, 1, jurisdiction)); - children.add(new Property("marketDistribution", "", "The organization that assigns the identifier algorithm.", 0, 1, marketDistribution)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 1322005407: /*deviceIdentifier*/ return new Property("deviceIdentifier", "string", "Identifier to be associated with every instance for issuer and jurisdiction.", 0, 1, deviceIdentifier); - case -1179159879: /*issuer*/ return new Property("issuer", "uri", "The organization that assigns the identifier algorithm.", 0, 1, issuer); - case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "uri", "The jurisdiction to which the deviceIdentifier applies.", 0, 1, jurisdiction); - case 530037984: /*marketDistribution*/ return new Property("marketDistribution", "", "The organization that assigns the identifier algorithm.", 0, 1, marketDistribution); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 1322005407: /*deviceIdentifier*/ return this.deviceIdentifier == null ? new Base[0] : new Base[] {this.deviceIdentifier}; // StringType - case -1179159879: /*issuer*/ return this.issuer == null ? new Base[0] : new Base[] {this.issuer}; // UriType - case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : new Base[] {this.jurisdiction}; // UriType - case 530037984: /*marketDistribution*/ return this.marketDistribution == null ? new Base[0] : new Base[] {this.marketDistribution}; // DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 1322005407: // deviceIdentifier - this.deviceIdentifier = TypeConvertor.castToString(value); // StringType - return value; - case -1179159879: // issuer - this.issuer = TypeConvertor.castToUri(value); // UriType - return value; - case -507075711: // jurisdiction - this.jurisdiction = TypeConvertor.castToUri(value); // UriType - return value; - case 530037984: // marketDistribution - this.marketDistribution = (DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent) value; // DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("deviceIdentifier")) { - this.deviceIdentifier = TypeConvertor.castToString(value); // StringType - } else if (name.equals("issuer")) { - this.issuer = TypeConvertor.castToUri(value); // UriType - } else if (name.equals("jurisdiction")) { - this.jurisdiction = TypeConvertor.castToUri(value); // UriType - } else if (name.equals("marketDistribution")) { - this.marketDistribution = (DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent) value; // DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 1322005407: return getDeviceIdentifierElement(); - case -1179159879: return getIssuerElement(); - case -507075711: return getJurisdictionElement(); - case 530037984: return getMarketDistribution(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 1322005407: /*deviceIdentifier*/ return new String[] {"string"}; - case -1179159879: /*issuer*/ return new String[] {"uri"}; - case -507075711: /*jurisdiction*/ return new String[] {"uri"}; - case 530037984: /*marketDistribution*/ return new String[] {}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("deviceIdentifier")) { - throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.packaging.udiDeviceIdentifier.deviceIdentifier"); - } - else if (name.equals("issuer")) { - throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.packaging.udiDeviceIdentifier.issuer"); - } - else if (name.equals("jurisdiction")) { - throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.packaging.udiDeviceIdentifier.jurisdiction"); - } - else if (name.equals("marketDistribution")) { - this.marketDistribution = new DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(); - return this.marketDistribution; - } - else - return super.addChild(name); - } - - public DeviceDefinitionPackagingUdiDeviceIdentifierComponent copy() { - DeviceDefinitionPackagingUdiDeviceIdentifierComponent dst = new DeviceDefinitionPackagingUdiDeviceIdentifierComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(DeviceDefinitionPackagingUdiDeviceIdentifierComponent dst) { - super.copyValues(dst); - dst.deviceIdentifier = deviceIdentifier == null ? null : deviceIdentifier.copy(); - dst.issuer = issuer == null ? null : issuer.copy(); - dst.jurisdiction = jurisdiction == null ? null : jurisdiction.copy(); - dst.marketDistribution = marketDistribution == null ? null : marketDistribution.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof DeviceDefinitionPackagingUdiDeviceIdentifierComponent)) - return false; - DeviceDefinitionPackagingUdiDeviceIdentifierComponent o = (DeviceDefinitionPackagingUdiDeviceIdentifierComponent) other_; - return compareDeep(deviceIdentifier, o.deviceIdentifier, true) && compareDeep(issuer, o.issuer, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(marketDistribution, o.marketDistribution, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof DeviceDefinitionPackagingUdiDeviceIdentifierComponent)) - return false; - DeviceDefinitionPackagingUdiDeviceIdentifierComponent o = (DeviceDefinitionPackagingUdiDeviceIdentifierComponent) other_; - return compareValues(deviceIdentifier, o.deviceIdentifier, true) && compareValues(issuer, o.issuer, true) - && compareValues(jurisdiction, o.jurisdiction, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(deviceIdentifier, issuer, jurisdiction - , marketDistribution); - } - - public String fhirType() { - return "DeviceDefinition.packaging.udiDeviceIdentifier"; - - } - - } - - @Block() - public static class DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Begin and end dates for the commercial distribution of the device. - */ - @Child(name = "marketPeriod", type = {Period.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Begin and end dates for the commercial distribution of the device", formalDefinition="Begin and end dates for the commercial distribution of the device." ) - protected Period marketPeriod; - - /** - * National state or territory to which the marketDistribution refers, typically where the device is commercialized. - */ - @Child(name = "subJurisdiction", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="National state or territory where the device is commercialized", formalDefinition="National state or territory to which the marketDistribution refers, typically where the device is commercialized." ) - protected UriType subJurisdiction; - - private static final long serialVersionUID = -1459036847L; - - /** - * Constructor - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent() { - super(); - } - - /** - * @return {@link #marketPeriod} (Begin and end dates for the commercial distribution of the device.) - */ - public Period getMarketPeriod() { - if (this.marketPeriod == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent.marketPeriod"); - else if (Configuration.doAutoCreate()) - this.marketPeriod = new Period(); // cc - return this.marketPeriod; - } - - public boolean hasMarketPeriod() { - return this.marketPeriod != null && !this.marketPeriod.isEmpty(); - } - - /** - * @param value {@link #marketPeriod} (Begin and end dates for the commercial distribution of the device.) - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent setMarketPeriod(Period value) { - this.marketPeriod = value; - return this; - } - - /** - * @return {@link #subJurisdiction} (National state or territory to which the marketDistribution refers, typically where the device is commercialized.). This is the underlying object with id, value and extensions. The accessor "getSubJurisdiction" gives direct access to the value - */ - public UriType getSubJurisdictionElement() { - if (this.subJurisdiction == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent.subJurisdiction"); - else if (Configuration.doAutoCreate()) - this.subJurisdiction = new UriType(); // bb - return this.subJurisdiction; - } - - public boolean hasSubJurisdictionElement() { - return this.subJurisdiction != null && !this.subJurisdiction.isEmpty(); - } - - public boolean hasSubJurisdiction() { - return this.subJurisdiction != null && !this.subJurisdiction.isEmpty(); - } - - /** - * @param value {@link #subJurisdiction} (National state or territory to which the marketDistribution refers, typically where the device is commercialized.). This is the underlying object with id, value and extensions. The accessor "getSubJurisdiction" gives direct access to the value - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent setSubJurisdictionElement(UriType value) { - this.subJurisdiction = value; - return this; - } - - /** - * @return National state or territory to which the marketDistribution refers, typically where the device is commercialized. - */ - public String getSubJurisdiction() { - return this.subJurisdiction == null ? null : this.subJurisdiction.getValue(); - } - - /** - * @param value National state or territory to which the marketDistribution refers, typically where the device is commercialized. - */ - public DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent setSubJurisdiction(String value) { - if (Utilities.noString(value)) - this.subJurisdiction = null; - else { - if (this.subJurisdiction == null) - this.subJurisdiction = new UriType(); - this.subJurisdiction.setValue(value); - } - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("marketPeriod", "Period", "Begin and end dates for the commercial distribution of the device.", 0, 1, marketPeriod)); - children.add(new Property("subJurisdiction", "uri", "National state or territory to which the marketDistribution refers, typically where the device is commercialized.", 0, 1, subJurisdiction)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case -183772899: /*marketPeriod*/ return new Property("marketPeriod", "Period", "Begin and end dates for the commercial distribution of the device.", 0, 1, marketPeriod); - case -777497119: /*subJurisdiction*/ return new Property("subJurisdiction", "uri", "National state or territory to which the marketDistribution refers, typically where the device is commercialized.", 0, 1, subJurisdiction); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case -183772899: /*marketPeriod*/ return this.marketPeriod == null ? new Base[0] : new Base[] {this.marketPeriod}; // Period - case -777497119: /*subJurisdiction*/ return this.subJurisdiction == null ? new Base[0] : new Base[] {this.subJurisdiction}; // UriType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case -183772899: // marketPeriod - this.marketPeriod = TypeConvertor.castToPeriod(value); // Period - return value; - case -777497119: // subJurisdiction - this.subJurisdiction = TypeConvertor.castToUri(value); // UriType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("marketPeriod")) { - this.marketPeriod = TypeConvertor.castToPeriod(value); // Period - } else if (name.equals("subJurisdiction")) { - this.subJurisdiction = TypeConvertor.castToUri(value); // UriType - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -183772899: return getMarketPeriod(); - case -777497119: return getSubJurisdictionElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -183772899: /*marketPeriod*/ return new String[] {"Period"}; - case -777497119: /*subJurisdiction*/ return new String[] {"uri"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("marketPeriod")) { - this.marketPeriod = new Period(); - return this.marketPeriod; - } - else if (name.equals("subJurisdiction")) { - throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.packaging.udiDeviceIdentifier.marketDistribution.subJurisdiction"); - } - else - return super.addChild(name); - } - - public DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent copy() { - DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent dst = new DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent dst) { - super.copyValues(dst); - dst.marketPeriod = marketPeriod == null ? null : marketPeriod.copy(); - dst.subJurisdiction = subJurisdiction == null ? null : subJurisdiction.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent)) - return false; - DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent o = (DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent) other_; - return compareDeep(marketPeriod, o.marketPeriod, true) && compareDeep(subJurisdiction, o.subJurisdiction, true) - ; - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent)) - return false; - DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent o = (DeviceDefinitionPackagingUdiDeviceIdentifierMarketDistributionComponent) other_; - return compareValues(subJurisdiction, o.subJurisdiction, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(marketPeriod, subJurisdiction - ); - } - - public String fhirType() { - return "DeviceDefinition.packaging.udiDeviceIdentifier.marketDistribution"; - - } - } @Block() @@ -5479,73 +5387,80 @@ RegisteredName | UserFriendlyName | PatientReportedName. @Description(shortDefinition="Unique Device Identifier (UDI) Barcode string", formalDefinition="Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold." ) protected List udiDeviceIdentifier; + /** + * Identifier associated with the regulatory documentation (certificates, technical documentation, post-market surveillance documentation and reports) of a set of device models sharing the same intended purpose, risk class and essential design and manufacturing characteristics. One example is the Basic UDI-DI in Europe. + */ + @Child(name = "regulatoryIdentifier", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Regulatory identifier(s) associated with this device", formalDefinition="Identifier associated with the regulatory documentation (certificates, technical documentation, post-market surveillance documentation and reports) of a set of device models sharing the same intended purpose, risk class and essential design and manufacturing characteristics. One example is the Basic UDI-DI in Europe." ) + protected List regulatoryIdentifier; + /** * The part number or catalog number of the device. */ - @Child(name = "partNumber", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "partNumber", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The part number or catalog number of the device", formalDefinition="The part number or catalog number of the device." ) protected StringType partNumber; /** * A name of the manufacturer or legal representative e.g. labeler. Whether this is the actual manufacturer or the labeler or responsible depends on implementation and jurisdiction. */ - @Child(name = "manufacturer", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "manufacturer", type = {Organization.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Name of device manufacturer", formalDefinition="A name of the manufacturer or legal representative e.g. labeler. Whether this is the actual manufacturer or the labeler or responsible depends on implementation and jurisdiction." ) protected Reference manufacturer; /** * The name or names of the device as given by the manufacturer. */ - @Child(name = "deviceName", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "deviceName", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The name or names of the device as given by the manufacturer", formalDefinition="The name or names of the device as given by the manufacturer." ) protected List deviceName; /** * The model number for the device for example as defined by the manufacturer or labeler, or other agency. */ - @Child(name = "modelNumber", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "modelNumber", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The catalog or model number for the device for example as defined by the manufacturer", formalDefinition="The model number for the device for example as defined by the manufacturer or labeler, or other agency." ) protected StringType modelNumber; /** * What kind of device or device system this is. */ - @Child(name = "classification", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "classification", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="What kind of device or device system this is", formalDefinition="What kind of device or device system this is." ) protected List classification; /** * The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication. */ - @Child(name = "specialization", type = {RelatedArtifact.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "specialization", type = {RelatedArtifact.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication", formalDefinition="The capabilities supported on a device, the standards to which the device conforms for a particular purpose, and used for the communication." ) protected List specialization; /** * A device that is part (for example a component) of the present device. */ - @Child(name = "hasPart", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "hasPart", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A device, part of the current one", formalDefinition="A device that is part (for example a component) of the present device." ) protected List hasPart; /** * Information about the packaging of the device, i.e. how the device is packaged. */ - @Child(name = "packaging", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "packaging", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information about the packaging of the device, i.e. how the device is packaged", formalDefinition="Information about the packaging of the device, i.e. how the device is packaged." ) protected List packaging; /** * The version of the device or software. */ - @Child(name = "version", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "version", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The version of the device or software", formalDefinition="The version of the device or software." ) protected List version; /** * Safety characteristics of the device. */ - @Child(name = "safety", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "safety", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Safety characteristics of the device", formalDefinition="Safety characteristics of the device." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-safety") protected List safety; @@ -5553,70 +5468,70 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * Shelf Life and storage information. */ - @Child(name = "shelfLifeStorage", type = {ProductShelfLife.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "shelfLifeStorage", type = {ProductShelfLife.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Shelf Life and storage information", formalDefinition="Shelf Life and storage information." ) protected List shelfLifeStorage; /** * Language code for the human-readable text strings produced by the device (all supported). */ - @Child(name = "languageCode", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "languageCode", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Language code for the human-readable text strings produced by the device (all supported)", formalDefinition="Language code for the human-readable text strings produced by the device (all supported)." ) protected List languageCode; /** * The potential, valid configuration settings of a device, e.g., regulation status, time properties. */ - @Child(name = "property", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "property", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The potential, valid configuration settings of a device, e.g., regulation status, time properties", formalDefinition="The potential, valid configuration settings of a device, e.g., regulation status, time properties." ) protected List property; /** * An organization that is responsible for the provision and ongoing maintenance of the device. */ - @Child(name = "owner", type = {Organization.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "owner", type = {Organization.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Organization responsible for device", formalDefinition="An organization that is responsible for the provision and ongoing maintenance of the device." ) protected Reference owner; /** * Contact details for an organization or a particular human that is responsible for the device. */ - @Child(name = "contact", type = {ContactPoint.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "contact", type = {ContactPoint.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Details for human/organization for support", formalDefinition="Contact details for an organization or a particular human that is responsible for the device." ) protected List contact; /** * An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device. */ - @Child(name = "link", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "link", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device", formalDefinition="An associated device, attached to, used with, communicating with or linking a previous or new device model to the focal device." ) protected List link; /** * Descriptive information, usage information or implantation information that is not captured in an existing element. */ - @Child(name = "note", type = {Annotation.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Device notes and comments", formalDefinition="Descriptive information, usage information or implantation information that is not captured in an existing element." ) protected List note; /** * The parent device it can be part of. */ - @Child(name = "parentDevice", type = {DeviceDefinition.class}, order=20, min=0, max=1, modifier=false, summary=true) + @Child(name = "parentDevice", type = {DeviceDefinition.class}, order=21, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The parent device it can be part of", formalDefinition="The parent device it can be part of." ) protected Reference parentDevice; /** * A substance used to create the material(s) of which the device is made. */ - @Child(name = "material", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "material", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A substance used to create the material(s) of which the device is made", formalDefinition="A substance used to create the material(s) of which the device is made." ) protected List material; /** * Indicates the production identifier(s) that are expected to appear in the UDI carrier on the device label. */ - @Child(name = "productionIdentifierInUDI", type = {CodeType.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "productionIdentifierInUDI", type = {CodeType.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="lot-number | manufactured-date | serial-number | expiration-date | biological-source | software-version", formalDefinition="Indicates the production identifier(s) that are expected to appear in the UDI carrier on the device label." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-productidentifierinudi") protected List> productionIdentifierInUDI; @@ -5624,25 +5539,25 @@ RegisteredName | UserFriendlyName | PatientReportedName. /** * Information aimed at providing directions for the usage of this model of device. */ - @Child(name = "guideline", type = {}, order=23, min=0, max=1, modifier=false, summary=false) + @Child(name = "guideline", type = {}, order=24, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Information aimed at providing directions for the usage of this model of device", formalDefinition="Information aimed at providing directions for the usage of this model of device." ) protected DeviceDefinitionGuidelineComponent guideline; /** * Tracking of latest field safety corrective action. */ - @Child(name = "correctiveAction", type = {}, order=24, min=0, max=1, modifier=false, summary=false) + @Child(name = "correctiveAction", type = {}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Tracking of latest field safety corrective action", formalDefinition="Tracking of latest field safety corrective action." ) protected DeviceDefinitionCorrectiveActionComponent correctiveAction; /** * Billing code or reference associated with the device. */ - @Child(name = "chargeItem", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "chargeItem", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Billing code or reference associated with the device", formalDefinition="Billing code or reference associated with the device." ) protected List chargeItem; - private static final long serialVersionUID = -1006753471L; + private static final long serialVersionUID = 1343213621L; /** * Constructor @@ -5806,6 +5721,59 @@ RegisteredName | UserFriendlyName | PatientReportedName. return getUdiDeviceIdentifier().get(0); } + /** + * @return {@link #regulatoryIdentifier} (Identifier associated with the regulatory documentation (certificates, technical documentation, post-market surveillance documentation and reports) of a set of device models sharing the same intended purpose, risk class and essential design and manufacturing characteristics. One example is the Basic UDI-DI in Europe.) + */ + public List getRegulatoryIdentifier() { + if (this.regulatoryIdentifier == null) + this.regulatoryIdentifier = new ArrayList(); + return this.regulatoryIdentifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public DeviceDefinition setRegulatoryIdentifier(List theRegulatoryIdentifier) { + this.regulatoryIdentifier = theRegulatoryIdentifier; + return this; + } + + public boolean hasRegulatoryIdentifier() { + if (this.regulatoryIdentifier == null) + return false; + for (DeviceDefinitionRegulatoryIdentifierComponent item : this.regulatoryIdentifier) + if (!item.isEmpty()) + return true; + return false; + } + + public DeviceDefinitionRegulatoryIdentifierComponent addRegulatoryIdentifier() { //3 + DeviceDefinitionRegulatoryIdentifierComponent t = new DeviceDefinitionRegulatoryIdentifierComponent(); + if (this.regulatoryIdentifier == null) + this.regulatoryIdentifier = new ArrayList(); + this.regulatoryIdentifier.add(t); + return t; + } + + public DeviceDefinition addRegulatoryIdentifier(DeviceDefinitionRegulatoryIdentifierComponent t) { //3 + if (t == null) + return this; + if (this.regulatoryIdentifier == null) + this.regulatoryIdentifier = new ArrayList(); + this.regulatoryIdentifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #regulatoryIdentifier}, creating it if it does not already exist {3} + */ + public DeviceDefinitionRegulatoryIdentifierComponent getRegulatoryIdentifierFirstRep() { + if (getRegulatoryIdentifier().isEmpty()) { + addRegulatoryIdentifier(); + } + return getRegulatoryIdentifier().get(0); + } + /** * @return {@link #partNumber} (The part number or catalog number of the device.). This is the underlying object with id, value and extensions. The accessor "getPartNumber" gives direct access to the value */ @@ -6885,6 +6853,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. children.add(new Property("description", "markdown", "Additional information to describe the device.", 0, 1, description)); children.add(new Property("identifier", "Identifier", "Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID. The identifier is typically valued if the udiDeviceIdentifier, partNumber or modelNumber is not valued and represents a different type of identifier. However, it is permissible to still include those identifiers in DeviceDefinition.identifier with the appropriate identifier.type.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("udiDeviceIdentifier", "", "Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.", 0, java.lang.Integer.MAX_VALUE, udiDeviceIdentifier)); + children.add(new Property("regulatoryIdentifier", "", "Identifier associated with the regulatory documentation (certificates, technical documentation, post-market surveillance documentation and reports) of a set of device models sharing the same intended purpose, risk class and essential design and manufacturing characteristics. One example is the Basic UDI-DI in Europe.", 0, java.lang.Integer.MAX_VALUE, regulatoryIdentifier)); children.add(new Property("partNumber", "string", "The part number or catalog number of the device.", 0, 1, partNumber)); children.add(new Property("manufacturer", "Reference(Organization)", "A name of the manufacturer or legal representative e.g. labeler. Whether this is the actual manufacturer or the labeler or responsible depends on implementation and jurisdiction.", 0, 1, manufacturer)); children.add(new Property("deviceName", "", "The name or names of the device as given by the manufacturer.", 0, java.lang.Integer.MAX_VALUE, deviceName)); @@ -6916,6 +6885,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1724546052: /*description*/ return new Property("description", "markdown", "Additional information to describe the device.", 0, 1, description); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique instance identifiers assigned to a device by the software, manufacturers, other organizations or owners. For example: handle ID. The identifier is typically valued if the udiDeviceIdentifier, partNumber or modelNumber is not valued and represents a different type of identifier. However, it is permissible to still include those identifiers in DeviceDefinition.identifier with the appropriate identifier.type.", 0, java.lang.Integer.MAX_VALUE, identifier); case -99121287: /*udiDeviceIdentifier*/ return new Property("udiDeviceIdentifier", "", "Unique device identifier (UDI) assigned to device label or package. Note that the Device may include multiple udiCarriers as it either may include just the udiCarrier for the jurisdiction it is sold, or for multiple jurisdictions it could have been sold.", 0, java.lang.Integer.MAX_VALUE, udiDeviceIdentifier); + case 455683425: /*regulatoryIdentifier*/ return new Property("regulatoryIdentifier", "", "Identifier associated with the regulatory documentation (certificates, technical documentation, post-market surveillance documentation and reports) of a set of device models sharing the same intended purpose, risk class and essential design and manufacturing characteristics. One example is the Basic UDI-DI in Europe.", 0, java.lang.Integer.MAX_VALUE, regulatoryIdentifier); case -731502308: /*partNumber*/ return new Property("partNumber", "string", "The part number or catalog number of the device.", 0, 1, partNumber); case -1969347631: /*manufacturer*/ return new Property("manufacturer", "Reference(Organization)", "A name of the manufacturer or legal representative e.g. labeler. Whether this is the actual manufacturer or the labeler or responsible depends on implementation and jurisdiction.", 0, 1, manufacturer); case 780988929: /*deviceName*/ return new Property("deviceName", "", "The name or names of the device as given by the manufacturer.", 0, java.lang.Integer.MAX_VALUE, deviceName); @@ -6950,6 +6920,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -99121287: /*udiDeviceIdentifier*/ return this.udiDeviceIdentifier == null ? new Base[0] : this.udiDeviceIdentifier.toArray(new Base[this.udiDeviceIdentifier.size()]); // DeviceDefinitionUdiDeviceIdentifierComponent + case 455683425: /*regulatoryIdentifier*/ return this.regulatoryIdentifier == null ? new Base[0] : this.regulatoryIdentifier.toArray(new Base[this.regulatoryIdentifier.size()]); // DeviceDefinitionRegulatoryIdentifierComponent case -731502308: /*partNumber*/ return this.partNumber == null ? new Base[0] : new Base[] {this.partNumber}; // StringType case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : new Base[] {this.manufacturer}; // Reference case 780988929: /*deviceName*/ return this.deviceName == null ? new Base[0] : this.deviceName.toArray(new Base[this.deviceName.size()]); // DeviceDefinitionDeviceNameComponent @@ -6990,6 +6961,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -99121287: // udiDeviceIdentifier this.getUdiDeviceIdentifier().add((DeviceDefinitionUdiDeviceIdentifierComponent) value); // DeviceDefinitionUdiDeviceIdentifierComponent return value; + case 455683425: // regulatoryIdentifier + this.getRegulatoryIdentifier().add((DeviceDefinitionRegulatoryIdentifierComponent) value); // DeviceDefinitionRegulatoryIdentifierComponent + return value; case -731502308: // partNumber this.partNumber = TypeConvertor.castToString(value); // StringType return value; @@ -7073,6 +7047,8 @@ RegisteredName | UserFriendlyName | PatientReportedName. this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("udiDeviceIdentifier")) { this.getUdiDeviceIdentifier().add((DeviceDefinitionUdiDeviceIdentifierComponent) value); + } else if (name.equals("regulatoryIdentifier")) { + this.getRegulatoryIdentifier().add((DeviceDefinitionRegulatoryIdentifierComponent) value); } else if (name.equals("partNumber")) { this.partNumber = TypeConvertor.castToString(value); // StringType } else if (name.equals("manufacturer")) { @@ -7131,6 +7107,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1724546052: return getDescriptionElement(); case -1618432855: return addIdentifier(); case -99121287: return addUdiDeviceIdentifier(); + case 455683425: return addRegulatoryIdentifier(); case -731502308: return getPartNumberElement(); case -1969347631: return getManufacturer(); case 780988929: return addDeviceName(); @@ -7165,6 +7142,7 @@ RegisteredName | UserFriendlyName | PatientReportedName. case -1724546052: /*description*/ return new String[] {"markdown"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -99121287: /*udiDeviceIdentifier*/ return new String[] {}; + case 455683425: /*regulatoryIdentifier*/ return new String[] {}; case -731502308: /*partNumber*/ return new String[] {"string"}; case -1969347631: /*manufacturer*/ return new String[] {"Reference"}; case 780988929: /*deviceName*/ return new String[] {}; @@ -7204,6 +7182,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. else if (name.equals("udiDeviceIdentifier")) { return addUdiDeviceIdentifier(); } + else if (name.equals("regulatoryIdentifier")) { + return addRegulatoryIdentifier(); + } else if (name.equals("partNumber")) { throw new FHIRException("Cannot call addChild on a primitive type DeviceDefinition.partNumber"); } @@ -7306,6 +7287,11 @@ RegisteredName | UserFriendlyName | PatientReportedName. for (DeviceDefinitionUdiDeviceIdentifierComponent i : udiDeviceIdentifier) dst.udiDeviceIdentifier.add(i.copy()); }; + if (regulatoryIdentifier != null) { + dst.regulatoryIdentifier = new ArrayList(); + for (DeviceDefinitionRegulatoryIdentifierComponent i : regulatoryIdentifier) + dst.regulatoryIdentifier.add(i.copy()); + }; dst.partNumber = partNumber == null ? null : partNumber.copy(); dst.manufacturer = manufacturer == null ? null : manufacturer.copy(); if (deviceName != null) { @@ -7407,15 +7393,15 @@ RegisteredName | UserFriendlyName | PatientReportedName. return false; DeviceDefinition o = (DeviceDefinition) other_; return compareDeep(description, o.description, true) && compareDeep(identifier, o.identifier, true) - && compareDeep(udiDeviceIdentifier, o.udiDeviceIdentifier, true) && compareDeep(partNumber, o.partNumber, true) - && compareDeep(manufacturer, o.manufacturer, true) && compareDeep(deviceName, o.deviceName, true) - && compareDeep(modelNumber, o.modelNumber, true) && compareDeep(classification, o.classification, true) - && compareDeep(specialization, o.specialization, true) && compareDeep(hasPart, o.hasPart, true) - && compareDeep(packaging, o.packaging, true) && compareDeep(version, o.version, true) && compareDeep(safety, o.safety, true) - && compareDeep(shelfLifeStorage, o.shelfLifeStorage, true) && compareDeep(languageCode, o.languageCode, true) - && compareDeep(property, o.property, true) && compareDeep(owner, o.owner, true) && compareDeep(contact, o.contact, true) - && compareDeep(link, o.link, true) && compareDeep(note, o.note, true) && compareDeep(parentDevice, o.parentDevice, true) - && compareDeep(material, o.material, true) && compareDeep(productionIdentifierInUDI, o.productionIdentifierInUDI, true) + && compareDeep(udiDeviceIdentifier, o.udiDeviceIdentifier, true) && compareDeep(regulatoryIdentifier, o.regulatoryIdentifier, true) + && compareDeep(partNumber, o.partNumber, true) && compareDeep(manufacturer, o.manufacturer, true) + && compareDeep(deviceName, o.deviceName, true) && compareDeep(modelNumber, o.modelNumber, true) + && compareDeep(classification, o.classification, true) && compareDeep(specialization, o.specialization, true) + && compareDeep(hasPart, o.hasPart, true) && compareDeep(packaging, o.packaging, true) && compareDeep(version, o.version, true) + && compareDeep(safety, o.safety, true) && compareDeep(shelfLifeStorage, o.shelfLifeStorage, true) + && compareDeep(languageCode, o.languageCode, true) && compareDeep(property, o.property, true) && compareDeep(owner, o.owner, true) + && compareDeep(contact, o.contact, true) && compareDeep(link, o.link, true) && compareDeep(note, o.note, true) + && compareDeep(parentDevice, o.parentDevice, true) && compareDeep(material, o.material, true) && compareDeep(productionIdentifierInUDI, o.productionIdentifierInUDI, true) && compareDeep(guideline, o.guideline, true) && compareDeep(correctiveAction, o.correctiveAction, true) && compareDeep(chargeItem, o.chargeItem, true); } @@ -7434,9 +7420,9 @@ RegisteredName | UserFriendlyName | PatientReportedName. public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, identifier, udiDeviceIdentifier - , partNumber, manufacturer, deviceName, modelNumber, classification, specialization - , hasPart, packaging, version, safety, shelfLifeStorage, languageCode, property - , owner, contact, link, note, parentDevice, material, productionIdentifierInUDI + , regulatoryIdentifier, partNumber, manufacturer, deviceName, modelNumber, classification + , specialization, hasPart, packaging, version, safety, shelfLifeStorage, languageCode + , property, owner, contact, link, note, parentDevice, material, productionIdentifierInUDI , guideline, correctiveAction, chargeItem); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDispense.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDispense.java index e40b9d05e..40501b69c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDispense.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceDispense.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceMetric.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceMetric.java index 9835d26c4..c1c1b6e13 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceMetric.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceMetric.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceRequest.java index 02ac3d472..12b7f6941 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -482,35 +482,49 @@ public class DeviceRequest extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") protected List reason; + /** + * This status is to indicate whether the request is a PRN or may be given as needed. + */ + @Child(name = "asNeeded", type = {BooleanType.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="PRN status of request", formalDefinition="This status is to indicate whether the request is a PRN or may be given as needed." ) + protected BooleanType asNeeded; + + /** + * The reason for using the device. + */ + @Child(name = "asNeededFor", type = {CodeableConcept.class}, order=22, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Device usage reason", formalDefinition="The reason for using the device." ) + protected CodeableConcept asNeededFor; + /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. */ - @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Associated insurance coverage", formalDefinition="Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service." ) protected List insurance; /** * Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site). */ - @Child(name = "supportingInfo", type = {Reference.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInfo", type = {Reference.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional clinical information", formalDefinition="Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site)." ) protected List supportingInfo; /** * Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement. */ - @Child(name = "note", type = {Annotation.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Notes or comments", formalDefinition="Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement." ) protected List note; /** * Key events in the history of the request. */ - @Child(name = "relevantHistory", type = {Provenance.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "relevantHistory", type = {Provenance.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Request provenance", formalDefinition="Key events in the history of the request." ) protected List relevantHistory; - private static final long serialVersionUID = 503857634L; + private static final long serialVersionUID = 1696730842L; /** * Constructor @@ -1432,6 +1446,75 @@ public class DeviceRequest extends DomainResource { return getReason().get(0); } + /** + * @return {@link #asNeeded} (This status is to indicate whether the request is a PRN or may be given as needed.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public BooleanType getAsNeededElement() { + if (this.asNeeded == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DeviceRequest.asNeeded"); + else if (Configuration.doAutoCreate()) + this.asNeeded = new BooleanType(); // bb + return this.asNeeded; + } + + public boolean hasAsNeededElement() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + public boolean hasAsNeeded() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + /** + * @param value {@link #asNeeded} (This status is to indicate whether the request is a PRN or may be given as needed.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public DeviceRequest setAsNeededElement(BooleanType value) { + this.asNeeded = value; + return this; + } + + /** + * @return This status is to indicate whether the request is a PRN or may be given as needed. + */ + public boolean getAsNeeded() { + return this.asNeeded == null || this.asNeeded.isEmpty() ? false : this.asNeeded.getValue(); + } + + /** + * @param value This status is to indicate whether the request is a PRN or may be given as needed. + */ + public DeviceRequest setAsNeeded(boolean value) { + if (this.asNeeded == null) + this.asNeeded = new BooleanType(); + this.asNeeded.setValue(value); + return this; + } + + /** + * @return {@link #asNeededFor} (The reason for using the device.) + */ + public CodeableConcept getAsNeededFor() { + if (this.asNeededFor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DeviceRequest.asNeededFor"); + else if (Configuration.doAutoCreate()) + this.asNeededFor = new CodeableConcept(); // cc + return this.asNeededFor; + } + + public boolean hasAsNeededFor() { + return this.asNeededFor != null && !this.asNeededFor.isEmpty(); + } + + /** + * @param value {@link #asNeededFor} (The reason for using the device.) + */ + public DeviceRequest setAsNeededFor(CodeableConcept value) { + this.asNeededFor = value; + return this; + } + /** * @return {@link #insurance} (Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.) */ @@ -1667,6 +1750,8 @@ public class DeviceRequest extends DomainResource { children.add(new Property("performerType", "CodeableConcept", "The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performerType)); children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The desired individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performer)); children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reason)); + children.add(new Property("asNeeded", "boolean", "This status is to indicate whether the request is a PRN or may be given as needed.", 0, 1, asNeeded)); + children.add(new Property("asNeededFor", "CodeableConcept", "The reason for using the device.", 0, 1, asNeededFor)); children.add(new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.", 0, java.lang.Integer.MAX_VALUE, insurance)); children.add(new Property("supportingInfo", "Reference(Any)", "Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site).", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); children.add(new Property("note", "Annotation", "Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.", 0, java.lang.Integer.MAX_VALUE, note)); @@ -1701,6 +1786,8 @@ public class DeviceRequest extends DomainResource { case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "The desired kind of individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performerType); case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The desired individual or entity to provide the device to the subject of the request (e.g., patient, location).", 0, 1, performer); case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Reason or justification for the use of this device.", 0, java.lang.Integer.MAX_VALUE, reason); + case -1432923513: /*asNeeded*/ return new Property("asNeeded", "boolean", "This status is to indicate whether the request is a PRN or may be given as needed.", 0, 1, asNeeded); + case -544350014: /*asNeededFor*/ return new Property("asNeededFor", "CodeableConcept", "The reason for using the device.", 0, 1, asNeededFor); case 73049818: /*insurance*/ return new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service.", 0, java.lang.Integer.MAX_VALUE, insurance); case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "Reference(Any)", "Additional clinical information about the patient that may influence the request fulfilment. For example, this may include where on the subject's body the device will be used (i.e. the target site).", 0, java.lang.Integer.MAX_VALUE, supportingInfo); case 3387378: /*note*/ return new Property("note", "Annotation", "Details about this request that were not represented at all or sufficiently in one of the attributes provided in a class. These may include for example a comment, an instruction, or a note associated with the statement.", 0, java.lang.Integer.MAX_VALUE, note); @@ -1734,6 +1821,8 @@ public class DeviceRequest extends DomainResource { case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : new Base[] {this.performerType}; // CodeableConcept case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference + case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // BooleanType + case -544350014: /*asNeededFor*/ return this.asNeededFor == null ? new Base[0] : new Base[] {this.asNeededFor}; // CodeableConcept case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // Reference case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // Reference case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation @@ -1812,6 +1901,12 @@ public class DeviceRequest extends DomainResource { case -934964668: // reason this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; + case -1432923513: // asNeeded + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -544350014: // asNeededFor + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 73049818: // insurance this.getInsurance().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -1876,6 +1971,10 @@ public class DeviceRequest extends DomainResource { this.performer = TypeConvertor.castToReference(value); // Reference } else if (name.equals("reason")) { this.getReason().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("asNeeded")) { + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("asNeededFor")) { + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("insurance")) { this.getInsurance().add(TypeConvertor.castToReference(value)); } else if (name.equals("supportingInfo")) { @@ -1914,6 +2013,8 @@ public class DeviceRequest extends DomainResource { case -901444568: return getPerformerType(); case 481140686: return getPerformer(); case -934964668: return addReason(); + case -1432923513: return getAsNeededElement(); + case -544350014: return getAsNeededFor(); case 73049818: return addInsurance(); case 1922406657: return addSupportingInfo(); case 3387378: return addNote(); @@ -1947,6 +2048,8 @@ public class DeviceRequest extends DomainResource { case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; case 481140686: /*performer*/ return new String[] {"Reference"}; case -934964668: /*reason*/ return new String[] {"CodeableReference"}; + case -1432923513: /*asNeeded*/ return new String[] {"boolean"}; + case -544350014: /*asNeededFor*/ return new String[] {"CodeableConcept"}; case 73049818: /*insurance*/ return new String[] {"Reference"}; case 1922406657: /*supportingInfo*/ return new String[] {"Reference"}; case 3387378: /*note*/ return new String[] {"Annotation"}; @@ -2037,6 +2140,13 @@ public class DeviceRequest extends DomainResource { else if (name.equals("reason")) { return addReason(); } + else if (name.equals("asNeeded")) { + throw new FHIRException("Cannot call addChild on a primitive type DeviceRequest.asNeeded"); + } + else if (name.equals("asNeededFor")) { + this.asNeededFor = new CodeableConcept(); + return this.asNeededFor; + } else if (name.equals("insurance")) { return addInsurance(); } @@ -2115,6 +2225,8 @@ public class DeviceRequest extends DomainResource { for (CodeableReference i : reason) dst.reason.add(i.copy()); }; + dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); + dst.asNeededFor = asNeededFor == null ? null : asNeededFor.copy(); if (insurance != null) { dst.insurance = new ArrayList(); for (Reference i : insurance) @@ -2156,7 +2268,8 @@ public class DeviceRequest extends DomainResource { && compareDeep(parameter, o.parameter, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(requester, o.requester, true) && compareDeep(performerType, o.performerType, true) && compareDeep(performer, o.performer, true) - && compareDeep(reason, o.reason, true) && compareDeep(insurance, o.insurance, true) && compareDeep(supportingInfo, o.supportingInfo, true) + && compareDeep(reason, o.reason, true) && compareDeep(asNeeded, o.asNeeded, true) && compareDeep(asNeededFor, o.asNeededFor, true) + && compareDeep(insurance, o.insurance, true) && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(note, o.note, true) && compareDeep(relevantHistory, o.relevantHistory, true); } @@ -2170,15 +2283,15 @@ public class DeviceRequest extends DomainResource { return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(quantity, o.quantity, true) && compareValues(authoredOn, o.authoredOn, true) - ; + && compareValues(asNeeded, o.asNeeded, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority , doNotPerform, code, quantity, parameter, subject, encounter, occurrence, authoredOn - , requester, performerType, performer, reason, insurance, supportingInfo, note - , relevantHistory); + , requester, performerType, performer, reason, asNeeded, asNeededFor, insurance + , supportingInfo, note, relevantHistory); } @Override @@ -2214,7 +2327,7 @@ public class DeviceRequest extends DomainResource { * Path: DeviceRequest.basedOn
*

*/ - @SearchParamDefinition(name="based-on", path="DeviceRequest.basedOn", description="Plan/proposal/order fulfilled by this request", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="based-on", path="DeviceRequest.basedOn", description="Plan/proposal/order fulfilled by this request", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_BASED_ON = "based-on"; /** * Fluent Client search parameter constant for based-on @@ -2532,13 +2645,12 @@ public class DeviceRequest extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -2558,10 +2670,9 @@ public class DeviceRequest extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -2732,7 +2843,7 @@ public class DeviceRequest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2741,10 +2852,10 @@ public class DeviceRequest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2776,7 +2887,7 @@ public class DeviceRequest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2785,7 +2896,7 @@ public class DeviceRequest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceUsage.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceUsage.java index dc575ff63..2a974e2c9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceUsage.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DeviceUsage.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -123,13 +123,13 @@ public class DeviceUsage extends DomainResource { } public String getSystem() { switch (this) { - case ACTIVE: return "http://hl7.org/fhir/device-usage-status"; - case COMPLETED: return "http://hl7.org/fhir/device-usage-status"; - case NOTDONE: return "http://hl7.org/fhir/device-usage-status"; - case ENTEREDINERROR: return "http://hl7.org/fhir/device-usage-status"; - case INTENDED: return "http://hl7.org/fhir/device-usage-status"; - case STOPPED: return "http://hl7.org/fhir/device-usage-status"; - case ONHOLD: return "http://hl7.org/fhir/device-usage-status"; + case ACTIVE: return "http://hl7.org/fhir/deviceusage-status"; + case COMPLETED: return "http://hl7.org/fhir/deviceusage-status"; + case NOTDONE: return "http://hl7.org/fhir/deviceusage-status"; + case ENTEREDINERROR: return "http://hl7.org/fhir/deviceusage-status"; + case INTENDED: return "http://hl7.org/fhir/deviceusage-status"; + case STOPPED: return "http://hl7.org/fhir/deviceusage-status"; + case ONHOLD: return "http://hl7.org/fhir/deviceusage-status"; case NULL: return null; default: return "?"; } @@ -492,7 +492,7 @@ public class DeviceUsage extends DomainResource { */ @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="active | completed | not-done | entered-in-error +", formalDefinition="A code representing the patient or other source's judgment about the state of the device used that this statement is about. Generally this will be active or completed." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-usage-status") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/deviceusage-status") protected Enumeration status; /** @@ -542,7 +542,7 @@ public class DeviceUsage extends DomainResource { */ @Child(name = "usageStatus", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The status of the device usage, for example always, sometimes, never. This is not the same as the status of the statement", formalDefinition="The status of the device usage, for example always, sometimes, never. This is not the same as the status of the statement." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-usage-status") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/deviceusage-status") protected CodeableConcept usageStatus; /** @@ -1785,7 +1785,7 @@ public class DeviceUsage extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1794,10 +1794,10 @@ public class DeviceUsage extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1829,7 +1829,7 @@ public class DeviceUsage extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1838,7 +1838,7 @@ public class DeviceUsage extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DiagnosticReport.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DiagnosticReport.java index 63231c6da..3de4a5cc8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DiagnosticReport.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DiagnosticReport.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -63,7 +63,7 @@ public class DiagnosticReport extends DomainResource { */ PARTIAL, /** - * Verified early results are available, but not all results are final. + * Verified early results are available, but not all results are final. */ PRELIMINARY, /** @@ -75,7 +75,7 @@ public class DiagnosticReport extends DomainResource { */ AMENDED, /** - * Subsequent to being final, the report has been modified to correct an error in the report or referenced results. + * Subsequent to being final, the report has been modified to correct an error in the report or referenced results. */ CORRECTED, /** @@ -162,10 +162,10 @@ public class DiagnosticReport extends DomainResource { switch (this) { case REGISTERED: return "The existence of the report is registered, but there is nothing yet available."; case PARTIAL: return "This is a partial (e.g. initial, interim or preliminary) report: data in the report may be incomplete or unverified."; - case PRELIMINARY: return "Verified early results are available, but not all results are final."; + case PRELIMINARY: return "Verified early results are available, but not all results are final."; case FINAL: return "The report is complete and verified by an authorized person."; case AMENDED: return "Subsequent to being final, the report has been modified. This includes any change in the results, diagnosis, narrative text, or other content of a report that has been issued."; - case CORRECTED: return "Subsequent to being final, the report has been modified to correct an error in the report or referenced results."; + case CORRECTED: return "Subsequent to being final, the report has been modified to correct an error in the report or referenced results."; case APPENDED: return "Subsequent to being final, the report has been modified by adding new content. The existing content is unchanged."; case CANCELLED: return "The report is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\")."; case ENTEREDINERROR: return "The report has been withdrawn following a previous final release. This electronic record should never have existed, though it is possible that real-world decisions were based on it. (If real-world activity has occurred, the status should be \"cancelled\" rather than \"entered-in-error\".)."; @@ -277,6 +277,217 @@ public class DiagnosticReport extends DomainResource { } } + @Block() + public static class DiagnosticReportSupportingInfoComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The code value for the role of the supporting information in the diagnostic report. + */ + @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Supporting information role code", formalDefinition="The code value for the role of the supporting information in the diagnostic report." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0936") + protected CodeableConcept type; + + /** + * The reference for the supporting information in the diagnostic report. + */ + @Child(name = "reference", type = {Procedure.class, Observation.class, DiagnosticReport.class, Citation.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Supporting information reference", formalDefinition="The reference for the supporting information in the diagnostic report." ) + protected Reference reference; + + private static final long serialVersionUID = 492391425L; + + /** + * Constructor + */ + public DiagnosticReportSupportingInfoComponent() { + super(); + } + + /** + * Constructor + */ + public DiagnosticReportSupportingInfoComponent(CodeableConcept type, Reference reference) { + super(); + this.setType(type); + this.setReference(reference); + } + + /** + * @return {@link #type} (The code value for the role of the supporting information in the diagnostic report.) + */ + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DiagnosticReportSupportingInfoComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (The code value for the role of the supporting information in the diagnostic report.) + */ + public DiagnosticReportSupportingInfoComponent setType(CodeableConcept value) { + this.type = value; + return this; + } + + /** + * @return {@link #reference} (The reference for the supporting information in the diagnostic report.) + */ + public Reference getReference() { + if (this.reference == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DiagnosticReportSupportingInfoComponent.reference"); + else if (Configuration.doAutoCreate()) + this.reference = new Reference(); // cc + return this.reference; + } + + public boolean hasReference() { + return this.reference != null && !this.reference.isEmpty(); + } + + /** + * @param value {@link #reference} (The reference for the supporting information in the diagnostic report.) + */ + public DiagnosticReportSupportingInfoComponent setReference(Reference value) { + this.reference = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "CodeableConcept", "The code value for the role of the supporting information in the diagnostic report.", 0, 1, type)); + children.add(new Property("reference", "Reference(Procedure|Observation|DiagnosticReport|Citation)", "The reference for the supporting information in the diagnostic report.", 0, 1, reference)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The code value for the role of the supporting information in the diagnostic report.", 0, 1, type); + case -925155509: /*reference*/ return new Property("reference", "Reference(Procedure|Observation|DiagnosticReport|Citation)", "The reference for the supporting information in the diagnostic report.", 0, 1, reference); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -925155509: // reference + this.reference = TypeConvertor.castToReference(value); // Reference + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("reference")) { + this.reference = TypeConvertor.castToReference(value); // Reference + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getType(); + case -925155509: return getReference(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case -925155509: /*reference*/ return new String[] {"Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + this.type = new CodeableConcept(); + return this.type; + } + else if (name.equals("reference")) { + this.reference = new Reference(); + return this.reference; + } + else + return super.addChild(name); + } + + public DiagnosticReportSupportingInfoComponent copy() { + DiagnosticReportSupportingInfoComponent dst = new DiagnosticReportSupportingInfoComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(DiagnosticReportSupportingInfoComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + dst.reference = reference == null ? null : reference.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof DiagnosticReportSupportingInfoComponent)) + return false; + DiagnosticReportSupportingInfoComponent o = (DiagnosticReportSupportingInfoComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(reference, o.reference, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof DiagnosticReportSupportingInfoComponent)) + return false; + DiagnosticReportSupportingInfoComponent o = (DiagnosticReportSupportingInfoComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, reference); + } + + public String fhirType() { + return "DiagnosticReport.supportingInfo"; + + } + + } + @Block() public static class DiagnosticReportMediaComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -612,37 +823,44 @@ public class DiagnosticReport extends DomainResource { protected List note; /** - * One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. + * One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targeted. */ - @Child(name = "imagingStudy", type = {ImagingStudy.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Reference to full details of imaging associated with the diagnostic report", formalDefinition="One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images." ) - protected List imagingStudy; + @Child(name = "study", type = {GenomicStudy.class, ImagingStudy.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Reference to full details of an analysis associated with the diagnostic report", formalDefinition="One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targeted." ) + protected List study; + + /** + * This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the report. + */ + @Child(name = "supportingInfo", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional information supporting the diagnostic report", formalDefinition="This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the report." ) + protected List supportingInfo; /** * A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest). */ - @Child(name = "media", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "media", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Key images or data associated with this report", formalDefinition="A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest)." ) protected List media; /** * Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport. */ - @Child(name = "composition", type = {Composition.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "composition", type = {Composition.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reference to a Composition resource for the DiagnosticReport structure", formalDefinition="Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport." ) protected Reference composition; /** * Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report. */ - @Child(name = "conclusion", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "conclusion", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Clinical conclusion (interpretation) of test results", formalDefinition="Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report." ) protected StringType conclusion; /** * One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report. */ - @Child(name = "conclusionCode", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "conclusionCode", type = {CodeableConcept.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Codes for the clinical conclusion of test results", formalDefinition="One or more codes that represent the summary conclusion (interpretation/impression) of the diagnostic report." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/clinical-findings") protected List conclusionCode; @@ -650,11 +868,11 @@ public class DiagnosticReport extends DomainResource { /** * Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent. */ - @Child(name = "presentedForm", type = {Attachment.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "presentedForm", type = {Attachment.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Entire report as issued", formalDefinition="Rich text representation of the entire result as issued by the diagnostic service. Multiple formats are allowed but they SHALL be semantically equivalent." ) protected List presentedForm; - private static final long serialVersionUID = -491814069L; + private static final long serialVersionUID = -1870911199L; /** * Constructor @@ -1314,56 +1532,109 @@ public class DiagnosticReport extends DomainResource { } /** - * @return {@link #imagingStudy} (One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.) + * @return {@link #study} (One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targeted.) */ - public List getImagingStudy() { - if (this.imagingStudy == null) - this.imagingStudy = new ArrayList(); - return this.imagingStudy; + public List getStudy() { + if (this.study == null) + this.study = new ArrayList(); + return this.study; } /** * @return Returns a reference to this for easy method chaining */ - public DiagnosticReport setImagingStudy(List theImagingStudy) { - this.imagingStudy = theImagingStudy; + public DiagnosticReport setStudy(List theStudy) { + this.study = theStudy; return this; } - public boolean hasImagingStudy() { - if (this.imagingStudy == null) + public boolean hasStudy() { + if (this.study == null) return false; - for (Reference item : this.imagingStudy) + for (Reference item : this.study) if (!item.isEmpty()) return true; return false; } - public Reference addImagingStudy() { //3 + public Reference addStudy() { //3 Reference t = new Reference(); - if (this.imagingStudy == null) - this.imagingStudy = new ArrayList(); - this.imagingStudy.add(t); + if (this.study == null) + this.study = new ArrayList(); + this.study.add(t); return t; } - public DiagnosticReport addImagingStudy(Reference t) { //3 + public DiagnosticReport addStudy(Reference t) { //3 if (t == null) return this; - if (this.imagingStudy == null) - this.imagingStudy = new ArrayList(); - this.imagingStudy.add(t); + if (this.study == null) + this.study = new ArrayList(); + this.study.add(t); return this; } /** - * @return The first repetition of repeating field {@link #imagingStudy}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #study}, creating it if it does not already exist {3} */ - public Reference getImagingStudyFirstRep() { - if (getImagingStudy().isEmpty()) { - addImagingStudy(); + public Reference getStudyFirstRep() { + if (getStudy().isEmpty()) { + addStudy(); } - return getImagingStudy().get(0); + return getStudy().get(0); + } + + /** + * @return {@link #supportingInfo} (This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the report.) + */ + public List getSupportingInfo() { + if (this.supportingInfo == null) + this.supportingInfo = new ArrayList(); + return this.supportingInfo; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public DiagnosticReport setSupportingInfo(List theSupportingInfo) { + this.supportingInfo = theSupportingInfo; + return this; + } + + public boolean hasSupportingInfo() { + if (this.supportingInfo == null) + return false; + for (DiagnosticReportSupportingInfoComponent item : this.supportingInfo) + if (!item.isEmpty()) + return true; + return false; + } + + public DiagnosticReportSupportingInfoComponent addSupportingInfo() { //3 + DiagnosticReportSupportingInfoComponent t = new DiagnosticReportSupportingInfoComponent(); + if (this.supportingInfo == null) + this.supportingInfo = new ArrayList(); + this.supportingInfo.add(t); + return t; + } + + public DiagnosticReport addSupportingInfo(DiagnosticReportSupportingInfoComponent t) { //3 + if (t == null) + return this; + if (this.supportingInfo == null) + this.supportingInfo = new ArrayList(); + this.supportingInfo.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #supportingInfo}, creating it if it does not already exist {3} + */ + public DiagnosticReportSupportingInfoComponent getSupportingInfoFirstRep() { + if (getSupportingInfo().isEmpty()) { + addSupportingInfo(); + } + return getSupportingInfo().get(0); } /** @@ -1614,7 +1885,8 @@ public class DiagnosticReport extends DomainResource { children.add(new Property("specimen", "Reference(Specimen)", "Details about the specimens on which this diagnostic report is based.", 0, java.lang.Integer.MAX_VALUE, specimen)); children.add(new Property("result", "Reference(Observation)", "[Observations](observation.html) that are part of this diagnostic report.", 0, java.lang.Integer.MAX_VALUE, result)); children.add(new Property("note", "Annotation", "Comments about the diagnostic report.", 0, java.lang.Integer.MAX_VALUE, note)); - children.add(new Property("imagingStudy", "Reference(ImagingStudy)", "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.", 0, java.lang.Integer.MAX_VALUE, imagingStudy)); + children.add(new Property("study", "Reference(GenomicStudy|ImagingStudy)", "One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targeted.", 0, java.lang.Integer.MAX_VALUE, study)); + children.add(new Property("supportingInfo", "", "This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the report.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); children.add(new Property("media", "", "A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).", 0, java.lang.Integer.MAX_VALUE, media)); children.add(new Property("composition", "Reference(Composition)", "Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.", 0, 1, composition)); children.add(new Property("conclusion", "string", "Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.", 0, 1, conclusion)); @@ -1642,7 +1914,8 @@ public class DiagnosticReport extends DomainResource { case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "Details about the specimens on which this diagnostic report is based.", 0, java.lang.Integer.MAX_VALUE, specimen); case -934426595: /*result*/ return new Property("result", "Reference(Observation)", "[Observations](observation.html) that are part of this diagnostic report.", 0, java.lang.Integer.MAX_VALUE, result); case 3387378: /*note*/ return new Property("note", "Annotation", "Comments about the diagnostic report.", 0, java.lang.Integer.MAX_VALUE, note); - case -814900911: /*imagingStudy*/ return new Property("imagingStudy", "Reference(ImagingStudy)", "One or more links to full details of any imaging performed during the diagnostic investigation. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images.", 0, java.lang.Integer.MAX_VALUE, imagingStudy); + case 109776329: /*study*/ return new Property("study", "Reference(GenomicStudy|ImagingStudy)", "One or more links to full details of any study performed during the diagnostic investigation. An ImagingStudy might comprise a set of radiologic images obtained via a procedure that are analyzed as a group. Typically, this is imaging performed by DICOM enabled modalities, but this is not required. A fully enabled PACS viewer can use this information to provide views of the source images. A GenomicStudy might comprise one or more analyses, each serving a specific purpose. These analyses may vary in method (e.g., karyotyping, CNV, or SNV detection), performer, software, devices used, or regions targeted.", 0, java.lang.Integer.MAX_VALUE, study); + case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "This backbone element contains supporting information that was used in the creation of the report not included in the results already included in the report.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); case 103772132: /*media*/ return new Property("media", "", "A list of key images or data associated with this report. The images or data are generally created during the diagnostic process, and may be directly of the patient, or of treated specimens (i.e. slides of interest).", 0, java.lang.Integer.MAX_VALUE, media); case -838923862: /*composition*/ return new Property("composition", "Reference(Composition)", "Reference to a Composition resource instance that provides structure for organizing the contents of the DiagnosticReport.", 0, 1, composition); case -1731259873: /*conclusion*/ return new Property("conclusion", "string", "Concise and clinically contextualized summary conclusion (interpretation/impression) of the diagnostic report.", 0, 1, conclusion); @@ -1670,7 +1943,8 @@ public class DiagnosticReport extends DomainResource { case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : this.specimen.toArray(new Base[this.specimen.size()]); // Reference case -934426595: /*result*/ return this.result == null ? new Base[0] : this.result.toArray(new Base[this.result.size()]); // Reference case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation - case -814900911: /*imagingStudy*/ return this.imagingStudy == null ? new Base[0] : this.imagingStudy.toArray(new Base[this.imagingStudy.size()]); // Reference + case 109776329: /*study*/ return this.study == null ? new Base[0] : this.study.toArray(new Base[this.study.size()]); // Reference + case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // DiagnosticReportSupportingInfoComponent case 103772132: /*media*/ return this.media == null ? new Base[0] : this.media.toArray(new Base[this.media.size()]); // DiagnosticReportMediaComponent case -838923862: /*composition*/ return this.composition == null ? new Base[0] : new Base[] {this.composition}; // Reference case -1731259873: /*conclusion*/ return this.conclusion == null ? new Base[0] : new Base[] {this.conclusion}; // StringType @@ -1727,8 +2001,11 @@ public class DiagnosticReport extends DomainResource { case 3387378: // note this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation return value; - case -814900911: // imagingStudy - this.getImagingStudy().add(TypeConvertor.castToReference(value)); // Reference + case 109776329: // study + this.getStudy().add(TypeConvertor.castToReference(value)); // Reference + return value; + case 1922406657: // supportingInfo + this.getSupportingInfo().add((DiagnosticReportSupportingInfoComponent) value); // DiagnosticReportSupportingInfoComponent return value; case 103772132: // media this.getMedia().add((DiagnosticReportMediaComponent) value); // DiagnosticReportMediaComponent @@ -1781,8 +2058,10 @@ public class DiagnosticReport extends DomainResource { this.getResult().add(TypeConvertor.castToReference(value)); } else if (name.equals("note")) { this.getNote().add(TypeConvertor.castToAnnotation(value)); - } else if (name.equals("imagingStudy")) { - this.getImagingStudy().add(TypeConvertor.castToReference(value)); + } else if (name.equals("study")) { + this.getStudy().add(TypeConvertor.castToReference(value)); + } else if (name.equals("supportingInfo")) { + this.getSupportingInfo().add((DiagnosticReportSupportingInfoComponent) value); } else if (name.equals("media")) { this.getMedia().add((DiagnosticReportMediaComponent) value); } else if (name.equals("composition")) { @@ -1816,7 +2095,8 @@ public class DiagnosticReport extends DomainResource { case -2132868344: return addSpecimen(); case -934426595: return addResult(); case 3387378: return addNote(); - case -814900911: return addImagingStudy(); + case 109776329: return addStudy(); + case 1922406657: return addSupportingInfo(); case 103772132: return addMedia(); case -838923862: return getComposition(); case -1731259873: return getConclusionElement(); @@ -1844,7 +2124,8 @@ public class DiagnosticReport extends DomainResource { case -2132868344: /*specimen*/ return new String[] {"Reference"}; case -934426595: /*result*/ return new String[] {"Reference"}; case 3387378: /*note*/ return new String[] {"Annotation"}; - case -814900911: /*imagingStudy*/ return new String[] {"Reference"}; + case 109776329: /*study*/ return new String[] {"Reference"}; + case 1922406657: /*supportingInfo*/ return new String[] {}; case 103772132: /*media*/ return new String[] {}; case -838923862: /*composition*/ return new String[] {"Reference"}; case -1731259873: /*conclusion*/ return new String[] {"string"}; @@ -1907,8 +2188,11 @@ public class DiagnosticReport extends DomainResource { else if (name.equals("note")) { return addNote(); } - else if (name.equals("imagingStudy")) { - return addImagingStudy(); + else if (name.equals("study")) { + return addStudy(); + } + else if (name.equals("supportingInfo")) { + return addSupportingInfo(); } else if (name.equals("media")) { return addMedia(); @@ -1989,10 +2273,15 @@ public class DiagnosticReport extends DomainResource { for (Annotation i : note) dst.note.add(i.copy()); }; - if (imagingStudy != null) { - dst.imagingStudy = new ArrayList(); - for (Reference i : imagingStudy) - dst.imagingStudy.add(i.copy()); + if (study != null) { + dst.study = new ArrayList(); + for (Reference i : study) + dst.study.add(i.copy()); + }; + if (supportingInfo != null) { + dst.supportingInfo = new ArrayList(); + for (DiagnosticReportSupportingInfoComponent i : supportingInfo) + dst.supportingInfo.add(i.copy()); }; if (media != null) { dst.media = new ArrayList(); @@ -2029,9 +2318,10 @@ public class DiagnosticReport extends DomainResource { && compareDeep(encounter, o.encounter, true) && compareDeep(effective, o.effective, true) && compareDeep(issued, o.issued, true) && compareDeep(performer, o.performer, true) && compareDeep(resultsInterpreter, o.resultsInterpreter, true) && compareDeep(specimen, o.specimen, true) && compareDeep(result, o.result, true) && compareDeep(note, o.note, true) - && compareDeep(imagingStudy, o.imagingStudy, true) && compareDeep(media, o.media, true) && compareDeep(composition, o.composition, true) - && compareDeep(conclusion, o.conclusion, true) && compareDeep(conclusionCode, o.conclusionCode, true) - && compareDeep(presentedForm, o.presentedForm, true); + && compareDeep(study, o.study, true) && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(media, o.media, true) + && compareDeep(composition, o.composition, true) && compareDeep(conclusion, o.conclusion, true) + && compareDeep(conclusionCode, o.conclusionCode, true) && compareDeep(presentedForm, o.presentedForm, true) + ; } @Override @@ -2048,8 +2338,8 @@ public class DiagnosticReport extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, status , category, code, subject, encounter, effective, issued, performer, resultsInterpreter - , specimen, result, note, imagingStudy, media, composition, conclusion, conclusionCode - , presentedForm); + , specimen, result, note, study, supportingInfo, media, composition, conclusion + , conclusionCode, presentedForm); } @Override @@ -2293,6 +2583,32 @@ public class DiagnosticReport extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + /** + * Search parameter: study + *

+ * Description: Studies associated with the diagnostic report
+ * Type: reference
+ * Path: DiagnosticReport.study
+ *

+ */ + @SearchParamDefinition(name="study", path="DiagnosticReport.study", description="Studies associated with the diagnostic report", type="reference", target={GenomicStudy.class, ImagingStudy.class } ) + public static final String SP_STUDY = "study"; + /** + * Fluent Client search parameter constant for study + *

+ * Description: Studies associated with the diagnostic report
+ * Type: reference
+ * Path: DiagnosticReport.study
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam STUDY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_STUDY); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "DiagnosticReport:study". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_STUDY = new ca.uhn.fhir.model.api.Include("DiagnosticReport:study").toLocked(); + /** * Search parameter: subject *

@@ -2337,13 +2653,12 @@ public class DiagnosticReport extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -2363,10 +2678,9 @@ public class DiagnosticReport extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -2595,7 +2909,7 @@ public class DiagnosticReport extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2604,10 +2918,10 @@ public class DiagnosticReport extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2639,7 +2953,7 @@ public class DiagnosticReport extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2648,7 +2962,7 @@ public class DiagnosticReport extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Distance.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Distance.java index bc418e2ee..2dca21050 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Distance.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Distance.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Distance Type: A length - a value with a unit that is a physical distance. + * Distance Type: A length - a value with a unit that is a physical distance. */ @DatatypeDef(name="Distance") public class Distance extends Quantity implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentManifest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentManifest.java index e6516a672..492471cc6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentManifest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentManifest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1266,7 +1266,7 @@ public class DocumentManifest extends DomainResource { * Path: DocumentManifest.content
*

*/ - @SearchParamDefinition(name="item", path="DocumentManifest.content", description="Items in manifest", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="item", path="DocumentManifest.content", description="Items in manifest", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_ITEM = "item"; /** * Fluent Client search parameter constant for item @@ -1338,7 +1338,7 @@ public class DocumentManifest extends DomainResource { * Path: DocumentManifest.related.ref
*

*/ - @SearchParamDefinition(name="related-ref", path="DocumentManifest.related.ref", description="Related Resource", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="related-ref", path="DocumentManifest.related.ref", description="Related Resource", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_RELATED_REF = "related-ref"; /** * Fluent Client search parameter constant for related-ref @@ -1536,7 +1536,7 @@ public class DocumentManifest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1545,10 +1545,10 @@ public class DocumentManifest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1580,7 +1580,7 @@ public class DocumentManifest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1589,7 +1589,7 @@ public class DocumentManifest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentReference.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentReference.java index 703ec09d0..138f8ae7f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentReference.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DocumentReference.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -793,7 +793,7 @@ public class DocumentReference extends DomainResource { */ @Child(name = "value", type = {Coding.class, UriType.class, CanonicalType.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Code|uri|canonical", formalDefinition="Code|uri|canonical." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/formatcodes") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-HL7FormatCodes") protected DataType value; private static final long serialVersionUID = -1135414639L; @@ -1015,7 +1015,7 @@ public class DocumentReference extends DomainResource { /** * A procedure that is fulfilled in whole or in part by the creation of this media. */ - @Child(name = "basedOn", type = {Appointment.class, AppointmentResponse.class, CarePlan.class, Claim.class, CommunicationRequest.class, Contract.class, CoverageEligibilityRequest.class, DeviceRequest.class, EnrollmentRequest.class, EpisodeOfCare.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, RequestGroup.class, ServiceRequest.class, SupplyRequest.class, VisionPrescription.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "basedOn", type = {Appointment.class, AppointmentResponse.class, CarePlan.class, Claim.class, CommunicationRequest.class, Contract.class, CoverageEligibilityRequest.class, DeviceRequest.class, EnrollmentRequest.class, EpisodeOfCare.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, RequestOrchestration.class, ServiceRequest.class, SupplyRequest.class, VisionPrescription.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Procedure that caused this media to be created", formalDefinition="A procedure that is fulfilled in whole or in part by the creation of this media." ) protected List basedOn; @@ -1031,7 +1031,7 @@ public class DocumentReference extends DomainResource { * The status of the underlying document. */ @Child(name = "docStatus", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="preliminary | final | amended | entered-in-error | deprecated", formalDefinition="The status of the underlying document." ) + @Description(shortDefinition="registered | partial | preliminary | final | amended | corrected | appended | cancelled | entered-in-error | deprecated | unknown", formalDefinition="The status of the underlying document." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/composition-status") protected Enumeration docStatus; @@ -1153,14 +1153,7 @@ public class DocumentReference extends DomainResource { @Description(shortDefinition="Document referenced", formalDefinition="The document and format referenced. If there are multiple content element repetitions, these must all represent the same document in different format, or attachment metadata." ) protected List content; - /** - * The Patient Information as known when the document was published. May be a reference to a version specific, or contained. - */ - @Child(name = "sourcePatientInfo", type = {Patient.class}, order=20, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Patient demographics from source", formalDefinition="The Patient Information as known when the document was published. May be a reference to a version specific, or contained." ) - protected Reference sourcePatientInfo; - - private static final long serialVersionUID = -466177068L; + private static final long serialVersionUID = -1268760339L; /** * Constructor @@ -2044,34 +2037,10 @@ public class DocumentReference extends DomainResource { return getContent().get(0); } - /** - * @return {@link #sourcePatientInfo} (The Patient Information as known when the document was published. May be a reference to a version specific, or contained.) - */ - public Reference getSourcePatientInfo() { - if (this.sourcePatientInfo == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DocumentReference.sourcePatientInfo"); - else if (Configuration.doAutoCreate()) - this.sourcePatientInfo = new Reference(); // cc - return this.sourcePatientInfo; - } - - public boolean hasSourcePatientInfo() { - return this.sourcePatientInfo != null && !this.sourcePatientInfo.isEmpty(); - } - - /** - * @param value {@link #sourcePatientInfo} (The Patient Information as known when the document was published. May be a reference to a version specific, or contained.) - */ - public DocumentReference setSourcePatientInfo(Reference value) { - this.sourcePatientInfo = value; - return this; - } - protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Other business identifiers associated with the document, including version independent identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("basedOn", "Reference(Appointment|AppointmentResponse|CarePlan|Claim|CommunicationRequest|Contract|CoverageEligibilityRequest|DeviceRequest|EnrollmentRequest|EpisodeOfCare|ImmunizationRecommendation|MedicationRequest|NutritionOrder|RequestGroup|ServiceRequest|SupplyRequest|VisionPrescription)", "A procedure that is fulfilled in whole or in part by the creation of this media.", 0, java.lang.Integer.MAX_VALUE, basedOn)); + children.add(new Property("basedOn", "Reference(Appointment|AppointmentResponse|CarePlan|Claim|CommunicationRequest|Contract|CoverageEligibilityRequest|DeviceRequest|EnrollmentRequest|EpisodeOfCare|ImmunizationRecommendation|MedicationRequest|NutritionOrder|RequestOrchestration|ServiceRequest|SupplyRequest|VisionPrescription)", "A procedure that is fulfilled in whole or in part by the creation of this media.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("status", "code", "The status of this document reference.", 0, 1, status)); children.add(new Property("docStatus", "code", "The status of the underlying document.", 0, 1, docStatus)); children.add(new Property("type", "CodeableConcept", "Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.", 0, 1, type)); @@ -2090,14 +2059,13 @@ public class DocumentReference extends DomainResource { children.add(new Property("description", "markdown", "Human-readable description of the source document.", 0, 1, description)); children.add(new Property("securityLabel", "CodeableConcept", "A set of Security-Tag codes specifying the level of privacy/security of the Document found at DocumentReference.content.attachment.url. Note that DocumentReference.meta.security contains the security labels of the data elements in DocumentReference, while DocumentReference.securityLabel contains the security labels for the document the reference refers to. The distinction recognizes that the document may contain sensitive information, while the DocumentReference is metadata about the document and thus might not be as sensitive as the document. For example: a psychotherapy episode may contain highly sensitive information, while the metadata may simply indicate that some episode happened.", 0, java.lang.Integer.MAX_VALUE, securityLabel)); children.add(new Property("content", "", "The document and format referenced. If there are multiple content element repetitions, these must all represent the same document in different format, or attachment metadata.", 0, java.lang.Integer.MAX_VALUE, content)); - children.add(new Property("sourcePatientInfo", "Reference(Patient)", "The Patient Information as known when the document was published. May be a reference to a version specific, or contained.", 0, 1, sourcePatientInfo)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Other business identifiers associated with the document, including version independent identifiers.", 0, java.lang.Integer.MAX_VALUE, identifier); - case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Appointment|AppointmentResponse|CarePlan|Claim|CommunicationRequest|Contract|CoverageEligibilityRequest|DeviceRequest|EnrollmentRequest|EpisodeOfCare|ImmunizationRecommendation|MedicationRequest|NutritionOrder|RequestGroup|ServiceRequest|SupplyRequest|VisionPrescription)", "A procedure that is fulfilled in whole or in part by the creation of this media.", 0, java.lang.Integer.MAX_VALUE, basedOn); + case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Appointment|AppointmentResponse|CarePlan|Claim|CommunicationRequest|Contract|CoverageEligibilityRequest|DeviceRequest|EnrollmentRequest|EpisodeOfCare|ImmunizationRecommendation|MedicationRequest|NutritionOrder|RequestOrchestration|ServiceRequest|SupplyRequest|VisionPrescription)", "A procedure that is fulfilled in whole or in part by the creation of this media.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -892481550: /*status*/ return new Property("status", "code", "The status of this document reference.", 0, 1, status); case -23496886: /*docStatus*/ return new Property("docStatus", "code", "The status of the underlying document.", 0, 1, docStatus); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Specifies the particular kind of document referenced (e.g. History and Physical, Discharge Summary, Progress Note). This usually equates to the purpose of making the document referenced.", 0, 1, type); @@ -2116,7 +2084,6 @@ public class DocumentReference extends DomainResource { case -1724546052: /*description*/ return new Property("description", "markdown", "Human-readable description of the source document.", 0, 1, description); case -722296940: /*securityLabel*/ return new Property("securityLabel", "CodeableConcept", "A set of Security-Tag codes specifying the level of privacy/security of the Document found at DocumentReference.content.attachment.url. Note that DocumentReference.meta.security contains the security labels of the data elements in DocumentReference, while DocumentReference.securityLabel contains the security labels for the document the reference refers to. The distinction recognizes that the document may contain sensitive information, while the DocumentReference is metadata about the document and thus might not be as sensitive as the document. For example: a psychotherapy episode may contain highly sensitive information, while the metadata may simply indicate that some episode happened.", 0, java.lang.Integer.MAX_VALUE, securityLabel); case 951530617: /*content*/ return new Property("content", "", "The document and format referenced. If there are multiple content element repetitions, these must all represent the same document in different format, or attachment metadata.", 0, java.lang.Integer.MAX_VALUE, content); - case 2031381048: /*sourcePatientInfo*/ return new Property("sourcePatientInfo", "Reference(Patient)", "The Patient Information as known when the document was published. May be a reference to a version specific, or contained.", 0, 1, sourcePatientInfo); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2145,7 +2112,6 @@ public class DocumentReference extends DomainResource { case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -722296940: /*securityLabel*/ return this.securityLabel == null ? new Base[0] : this.securityLabel.toArray(new Base[this.securityLabel.size()]); // CodeableConcept case 951530617: /*content*/ return this.content == null ? new Base[0] : this.content.toArray(new Base[this.content.size()]); // DocumentReferenceContentComponent - case 2031381048: /*sourcePatientInfo*/ return this.sourcePatientInfo == null ? new Base[0] : new Base[] {this.sourcePatientInfo}; // Reference default: return super.getProperty(hash, name, checkValid); } @@ -2216,9 +2182,6 @@ public class DocumentReference extends DomainResource { case 951530617: // content this.getContent().add((DocumentReferenceContentComponent) value); // DocumentReferenceContentComponent return value; - case 2031381048: // sourcePatientInfo - this.sourcePatientInfo = TypeConvertor.castToReference(value); // Reference - return value; default: return super.setProperty(hash, name, value); } @@ -2268,8 +2231,6 @@ public class DocumentReference extends DomainResource { this.getSecurityLabel().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("content")) { this.getContent().add((DocumentReferenceContentComponent) value); - } else if (name.equals("sourcePatientInfo")) { - this.sourcePatientInfo = TypeConvertor.castToReference(value); // Reference } else return super.setProperty(name, value); return value; @@ -2298,7 +2259,6 @@ public class DocumentReference extends DomainResource { case -1724546052: return getDescriptionElement(); case -722296940: return addSecurityLabel(); case 951530617: return addContent(); - case 2031381048: return getSourcePatientInfo(); default: return super.makeProperty(hash, name); } @@ -2327,7 +2287,6 @@ public class DocumentReference extends DomainResource { case -1724546052: /*description*/ return new String[] {"markdown"}; case -722296940: /*securityLabel*/ return new String[] {"CodeableConcept"}; case 951530617: /*content*/ return new String[] {}; - case 2031381048: /*sourcePatientInfo*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -2401,10 +2360,6 @@ public class DocumentReference extends DomainResource { else if (name.equals("content")) { return addContent(); } - else if (name.equals("sourcePatientInfo")) { - this.sourcePatientInfo = new Reference(); - return this.sourcePatientInfo; - } else return super.addChild(name); } @@ -2482,7 +2437,6 @@ public class DocumentReference extends DomainResource { for (DocumentReferenceContentComponent i : content) dst.content.add(i.copy()); }; - dst.sourcePatientInfo = sourcePatientInfo == null ? null : sourcePatientInfo.copy(); } protected DocumentReference typedCopy() { @@ -2503,8 +2457,7 @@ public class DocumentReference extends DomainResource { && compareDeep(period, o.period, true) && compareDeep(date, o.date, true) && compareDeep(author, o.author, true) && compareDeep(attester, o.attester, true) && compareDeep(custodian, o.custodian, true) && compareDeep(relatesTo, o.relatesTo, true) && compareDeep(description, o.description, true) && compareDeep(securityLabel, o.securityLabel, true) - && compareDeep(content, o.content, true) && compareDeep(sourcePatientInfo, o.sourcePatientInfo, true) - ; + && compareDeep(content, o.content, true); } @Override @@ -2522,7 +2475,7 @@ public class DocumentReference extends DomainResource { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, status , docStatus, type, category, subject, context, event, facilityType, practiceSetting , period, date, author, attester, custodian, relatesTo, description, securityLabel - , content, sourcePatientInfo); + , content); } @Override @@ -2590,7 +2543,7 @@ public class DocumentReference extends DomainResource { * Path: DocumentReference.basedOn
*

*/ - @SearchParamDefinition(name="based-on", path="DocumentReference.basedOn", description="Procedure that caused this media to be created", type="reference", target={Appointment.class, AppointmentResponse.class, CarePlan.class, Claim.class, CommunicationRequest.class, Contract.class, CoverageEligibilityRequest.class, DeviceRequest.class, EnrollmentRequest.class, EpisodeOfCare.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, RequestGroup.class, ServiceRequest.class, SupplyRequest.class, VisionPrescription.class } ) + @SearchParamDefinition(name="based-on", path="DocumentReference.basedOn", description="Procedure that caused this media to be created", type="reference", target={Appointment.class, AppointmentResponse.class, CarePlan.class, Claim.class, CommunicationRequest.class, Contract.class, CoverageEligibilityRequest.class, DeviceRequest.class, EnrollmentRequest.class, EpisodeOfCare.class, ImmunizationRecommendation.class, MedicationRequest.class, NutritionOrder.class, RequestOrchestration.class, ServiceRequest.class, SupplyRequest.class, VisionPrescription.class } ) public static final String SP_BASED_ON = "based-on"; /** * Fluent Client search parameter constant for based-on @@ -3106,7 +3059,7 @@ public class DocumentReference extends DomainResource { * Path: DocumentReference.subject
*

*/ - @SearchParamDefinition(name="subject", path="DocumentReference.subject", description="Who/what is the subject of the document", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="subject", path="DocumentReference.subject", description="Who/what is the subject of the document", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject @@ -3238,7 +3191,7 @@ public class DocumentReference extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3247,10 +3200,10 @@ public class DocumentReference extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3282,7 +3235,7 @@ public class DocumentReference extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3291,7 +3244,7 @@ public class DocumentReference extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DomainResource.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DomainResource.java index 82bc0c16e..440f30b17 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DomainResource.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/DomainResource.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -65,10 +65,10 @@ public abstract class DomainResource extends Resource implements IBaseHasExtensi protected Narrative text; /** - * These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. + * These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning. */ @Child(name = "contained", type = {Resource.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Contained, inline Resources", formalDefinition="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope." ) + @Description(shortDefinition="Contained, inline Resources", formalDefinition="These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning." ) protected List contained; /** @@ -83,7 +83,7 @@ public abstract class DomainResource extends Resource implements IBaseHasExtensi Modifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself). */ - @Child(name = "modifierExtension", type = {Extension.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=true, summary=false) + @Child(name = "modifierExtension", type = {Extension.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=true, summary=true) @Description(shortDefinition="Extensions that cannot be ignored", formalDefinition="May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself)." ) protected List modifierExtension; @@ -121,7 +121,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or } /** - * @return {@link #contained} (These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope.) + * @return {@link #contained} (These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.) */ public List getContained() { if (this.contained == null) @@ -246,7 +246,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or protected void listChildren(List children) { super.listChildren(children); children.add(new Property("text", "Narrative", "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", 0, 1, text)); - children.add(new Property("contained", "Resource", "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope.", 0, java.lang.Integer.MAX_VALUE, contained)); + children.add(new Property("contained", "Resource", "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.", 0, java.lang.Integer.MAX_VALUE, contained)); children.add(new Property("extension", "Extension", "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", 0, java.lang.Integer.MAX_VALUE, extension)); children.add(new Property("modifierExtension", "Extension", "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", 0, java.lang.Integer.MAX_VALUE, modifierExtension)); } @@ -255,7 +255,7 @@ Modifier extensions SHALL NOT change the meaning of any elements on Resource or public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3556653: /*text*/ return new Property("text", "Narrative", "A human-readable narrative that contains a summary of the resource and can be used to represent the content of the resource to a human. The narrative need not encode all the structured data, but is required to contain sufficient detail to make it \"clinically safe\" for a human to just read the narrative. Resource definitions may define what content should be represented in the narrative to ensure clinical safety.", 0, 1, text); - case -410956685: /*contained*/ return new Property("contained", "Resource", "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope.", 0, java.lang.Integer.MAX_VALUE, contained); + case -410956685: /*contained*/ return new Property("contained", "Resource", "These resources do not have an independent existence apart from the resource that contains them - they cannot be identified independently, nor can they have their own independent transaction scope. This is allowed to be a Parameters resource if and only if it is referenced by a resource that provides context/meaning.", 0, java.lang.Integer.MAX_VALUE, contained); case -612557761: /*extension*/ return new Property("extension", "Extension", "May be used to represent additional information that is not part of the basic definition of the resource. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", 0, java.lang.Integer.MAX_VALUE, extension); case -298878168: /*modifierExtension*/ return new Property("modifierExtension", "Extension", "May be used to represent additional information that is not part of the basic definition of the resource and that modifies the understanding of the element that contains it and/or the understanding of the containing element's descendants. Usually modifier elements provide negation or qualification. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension. Applications processing a resource are required to check for modifier extensions.\n\nModifier extensions SHALL NOT change the meaning of any elements on Resource or DomainResource (including cannot change the meaning of modifierExtension itself).", 0, java.lang.Integer.MAX_VALUE, modifierExtension); default: return super.getNamedProperty(_hash, _name, _checkValid); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Dosage.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Dosage.java index 849b3bd82..a6800e178 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Dosage.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Dosage.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Dosage Type: Indicates how the medication is/was taken or should be taken by the patient. + * Dosage Type: Indicates how the medication is/was taken or should be taken by the patient. */ @DatatypeDef(name="Dosage") public class Dosage extends BackboneType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Duration.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Duration.java index 1308bfedb..73c9a8308 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Duration.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Duration.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Duration Type: A length of time. + * Duration Type: A length of time. */ @DatatypeDef(name="Duration") public class Duration extends Quantity implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Element.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Element.java index c35e16760..a9a28a5c3 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Element.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Element.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Tue, Dec 28, 2021 07:16+1100 for FHIR v5.0.0-snapshot1 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.IBaseElement; import org.hl7.fhir.instance.model.api.IBaseHasExtensions; /** - * Base StructureDefinition for Element Type: Base definition for all elements in a resource. + * Element Type: Base definition for all elements in a resource. */ @DatatypeDef(name="Element") public abstract class Element extends Base implements IBaseHasExtensions, IBaseElement { @@ -67,7 +67,7 @@ public abstract class Element extends Base implements IBaseHasExtensions, IBaseE @Description(shortDefinition="Additional content defined by implementations", formalDefinition="May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension." ) protected List extension; - private static final long serialVersionUID = -1452745816L; + private static final long serialVersionUID = -158027598L; /** * Constructor @@ -180,14 +180,14 @@ public abstract class Element extends Base implements IBaseHasExtensions, IBaseE protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("id", "string", "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", 0, 1, id)); + children.add(new Property("id", "id", "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", 0, 1, id)); children.add(new Property("extension", "Extension", "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", 0, java.lang.Integer.MAX_VALUE, extension)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3355: /*id*/ return new Property("id", "string", "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", 0, 1, id); + case 3355: /*id*/ return new Property("id", "id", "Unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.", 0, 1, id); case -612557761: /*extension*/ return new Property("extension", "Extension", "May be used to represent additional information that is not part of the basic definition of the element. To make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer can define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.", 0, java.lang.Integer.MAX_VALUE, extension); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -197,7 +197,7 @@ public abstract class Element extends Base implements IBaseHasExtensions, IBaseE @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3355: /*id*/ return this.id == null ? new Base[0] : new Base[] {this.id}; // StringType + case 3355: /*id*/ return this.id == null ? new Base[0] : new Base[] {this.id}; // IdType case -612557761: /*extension*/ return this.extension == null ? new Base[0] : this.extension.toArray(new Base[this.extension.size()]); // Extension default: return super.getProperty(hash, name, checkValid); } @@ -208,7 +208,7 @@ public abstract class Element extends Base implements IBaseHasExtensions, IBaseE public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3355: // id - this.id = TypeConvertor.castToString(value); // StringType + this.id = TypeConvertor.castToString(value); // IdType return value; case -612557761: // extension this.getExtension().add(TypeConvertor.castToExtension(value)); // Extension @@ -221,7 +221,7 @@ public abstract class Element extends Base implements IBaseHasExtensions, IBaseE @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("id")) { - this.id = TypeConvertor.castToString(value); // StringType + this.id = TypeConvertor.castToString(value); // IdType } else if (name.equals("extension")) { this.getExtension().add(TypeConvertor.castToExtension(value)); } else @@ -242,7 +242,7 @@ public abstract class Element extends Base implements IBaseHasExtensions, IBaseE @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3355: /*id*/ return new String[] {"string"}; + case 3355: /*id*/ return new String[] {"id"}; case -612557761: /*extension*/ return new String[] {"Extension"}; default: return super.getTypesForProperty(hash, name); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ElementDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ElementDefinition.java index bda8253ac..28e38c493 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ElementDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ElementDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -52,7 +52,7 @@ import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.instance.model.api.IBaseDatatypeElement; import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; /** - * Base StructureDefinition for ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension. + * ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension. */ @DatatypeDef(name="ElementDefinition") public class ElementDefinition extends BackboneType implements ICompositeType { @@ -267,15 +267,15 @@ public class ElementDefinition extends BackboneType implements ICompositeType { public enum DiscriminatorType { /** - * The slices have different values in the nominated element. + * The slices have different values in the nominated element, as determined by the applicable fixed value, pattern, or required ValueSet binding. */ VALUE, /** - * The slices are differentiated by the presence or absence of the nominated element. + * The slices are differentiated by the presence or absence of the nominated element. There SHALL be no more than two slices. The slices are differentiated by the fact that one must have a max of 0 and the other must have a min of 1 (or more). The order in which the slices are declared doesn't matter. */ EXISTS, /** - * The slices have different values in the nominated element, as determined by testing them against the applicable ElementDefinition.pattern[x]. + * The slices have different values in the nominated element, as determined by the applicable fixed value, pattern, or required ValueSet binding. This has the same meaning as 'value' and is deprecated. */ PATTERN, /** @@ -286,6 +286,10 @@ public class ElementDefinition extends BackboneType implements ICompositeType { * The slices are differentiated by conformance of the nominated element to a specified profile. Note that if the path specifies .resolve() then the profile is the target profile on the reference. In this case, validation by the possible profiles is required to differentiate the slices. */ PROFILE, + /** + * The slices are differentiated by their index. This is only possible if all but the last slice have min=max cardinality, and the (optional) last slice contains other undifferentiated elements. + */ + POSITION, /** * added to help the parsers with the generic types */ @@ -303,6 +307,8 @@ public class ElementDefinition extends BackboneType implements ICompositeType { return TYPE; if ("profile".equals(codeString)) return PROFILE; + if ("position".equals(codeString)) + return POSITION; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -315,6 +321,7 @@ public class ElementDefinition extends BackboneType implements ICompositeType { case PATTERN: return "pattern"; case TYPE: return "type"; case PROFILE: return "profile"; + case POSITION: return "position"; case NULL: return null; default: return "?"; } @@ -326,17 +333,19 @@ public class ElementDefinition extends BackboneType implements ICompositeType { case PATTERN: return "http://hl7.org/fhir/discriminator-type"; case TYPE: return "http://hl7.org/fhir/discriminator-type"; case PROFILE: return "http://hl7.org/fhir/discriminator-type"; + case POSITION: return "http://hl7.org/fhir/discriminator-type"; case NULL: return null; default: return "?"; } } public String getDefinition() { switch (this) { - case VALUE: return "The slices have different values in the nominated element."; - case EXISTS: return "The slices are differentiated by the presence or absence of the nominated element."; - case PATTERN: return "The slices have different values in the nominated element, as determined by testing them against the applicable ElementDefinition.pattern[x]."; + case VALUE: return "The slices have different values in the nominated element, as determined by the applicable fixed value, pattern, or required ValueSet binding."; + case EXISTS: return "The slices are differentiated by the presence or absence of the nominated element. There SHALL be no more than two slices. The slices are differentiated by the fact that one must have a max of 0 and the other must have a min of 1 (or more). The order in which the slices are declared doesn't matter."; + case PATTERN: return "The slices have different values in the nominated element, as determined by the applicable fixed value, pattern, or required ValueSet binding. This has the same meaning as 'value' and is deprecated."; case TYPE: return "The slices are differentiated by type of the nominated element."; case PROFILE: return "The slices are differentiated by conformance of the nominated element to a specified profile. Note that if the path specifies .resolve() then the profile is the target profile on the reference. In this case, validation by the possible profiles is required to differentiate the slices."; + case POSITION: return "The slices are differentiated by their index. This is only possible if all but the last slice have min=max cardinality, and the (optional) last slice contains other undifferentiated elements."; case NULL: return null; default: return "?"; } @@ -348,6 +357,7 @@ public class ElementDefinition extends BackboneType implements ICompositeType { case PATTERN: return "Pattern"; case TYPE: return "Type"; case PROFILE: return "Profile"; + case POSITION: return "Position"; case NULL: return null; default: return "?"; } @@ -369,6 +379,8 @@ public class ElementDefinition extends BackboneType implements ICompositeType { return DiscriminatorType.TYPE; if ("profile".equals(codeString)) return DiscriminatorType.PROFILE; + if ("position".equals(codeString)) + return DiscriminatorType.POSITION; throw new IllegalArgumentException("Unknown DiscriminatorType code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -389,6 +401,8 @@ public class ElementDefinition extends BackboneType implements ICompositeType { return new Enumeration(this, DiscriminatorType.TYPE); if ("profile".equals(codeString)) return new Enumeration(this, DiscriminatorType.PROFILE); + if ("position".equals(codeString)) + return new Enumeration(this, DiscriminatorType.POSITION); throw new FHIRException("Unknown DiscriminatorType code '"+codeString+"'"); } public String toCode(DiscriminatorType code) { @@ -402,6 +416,8 @@ public class ElementDefinition extends BackboneType implements ICompositeType { return "type"; if (code == DiscriminatorType.PROFILE) return "profile"; + if (code == DiscriminatorType.POSITION) + return "position"; return "?"; } public String toSystem(DiscriminatorType code) { @@ -1186,7 +1202,7 @@ public class ElementDefinition extends BackboneType implements ICompositeType { * How the element value is interpreted when discrimination is evaluated. */ @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="value | exists | pattern | type | profile", formalDefinition="How the element value is interpreted when discrimination is evaluated." ) + @Description(shortDefinition="value | exists | pattern | type | profile | position", formalDefinition="How the element value is interpreted when discrimination is evaluated." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/discriminator-type") protected Enumeration type; @@ -1759,7 +1775,7 @@ public class ElementDefinition extends BackboneType implements ICompositeType { */ @Child(name = "code", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Data type or Resource (reference to definition)", formalDefinition="URL of Data type or Resource that is a(or the) type used for this element. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. \"string\" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-element-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/elementdefinition-types") protected UriType code; /** @@ -2370,7 +2386,7 @@ public boolean hasTarget() { /** * The actual value for the element, which must be one of the types allowed for this element. */ - @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Value of Example (one of allowed types)", formalDefinition="The actual value for the element, which must be one of the types allowed for this element." ) protected DataType value; @@ -3104,21 +3120,6 @@ public boolean hasTarget() { return this != null && this.value instanceof ContactDetail; } - /** - * @return {@link #value} (The actual value for the element, which must be one of the types allowed for this element.) - */ - public Contributor getValueContributor() throws FHIRException { - if (this.value == null) - this.value = new Contributor(); - if (!(this.value instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.value.getClass().getName()+" was encountered"); - return (Contributor) this.value; - } - - public boolean hasValueContributor() { - return this != null && this.value instanceof Contributor; - } - /** * @return {@link #value} (The actual value for the element, which must be one of the types allowed for this element.) */ @@ -3209,6 +3210,36 @@ public boolean hasTarget() { return this != null && this.value instanceof UsageContext; } + /** + * @return {@link #value} (The actual value for the element, which must be one of the types allowed for this element.) + */ + public Availability getValueAvailability() throws FHIRException { + if (this.value == null) + this.value = new Availability(); + if (!(this.value instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Availability) this.value; + } + + public boolean hasValueAvailability() { + return this != null && this.value instanceof Availability; + } + + /** + * @return {@link #value} (The actual value for the element, which must be one of the types allowed for this element.) + */ + public ExtendedContactDetail getValueExtendedContactDetail() throws FHIRException { + if (this.value == null) + this.value = new ExtendedContactDetail(); + if (!(this.value instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.value.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.value; + } + + public boolean hasValueExtendedContactDetail() { + return this != null && this.value instanceof ExtendedContactDetail; + } + /** * @return {@link #value} (The actual value for the element, which must be one of the types allowed for this element.) */ @@ -3247,7 +3278,7 @@ public boolean hasTarget() { * @param value {@link #value} (The actual value for the element, which must be one of the types allowed for this element.) */ public ElementDefinitionExampleComponent setValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for ElementDefinition.example.value[x]: "+value.fhirType()); this.value = value; return this; @@ -3256,15 +3287,15 @@ public boolean hasTarget() { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("label", "string", "Describes the purpose of this example amoung the set of examples.", 0, 1, label)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 102727412: /*label*/ return new Property("label", "string", "Describes the purpose of this example amoung the set of examples.", 0, 1, label); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); @@ -3309,13 +3340,14 @@ public boolean hasTarget() { case -540985785: /*valueSignature*/ return new Property("value[x]", "Signature", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -1406282469: /*valueTiming*/ return new Property("value[x]", "Timing", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -1125200224: /*valueContactDetail*/ return new Property("value[x]", "ContactDetail", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); - case 1281021610: /*valueContributor*/ return new Property("value[x]", "Contributor", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case 1710554248: /*valueDataRequirement*/ return new Property("value[x]", "DataRequirement", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -307517719: /*valueExpression*/ return new Property("value[x]", "Expression", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case 1387478187: /*valueParameterDefinition*/ return new Property("value[x]", "ParameterDefinition", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case 1748214124: /*valueRelatedArtifact*/ return new Property("value[x]", "RelatedArtifact", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case 976830394: /*valueTriggerDefinition*/ return new Property("value[x]", "TriggerDefinition", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case 588000479: /*valueUsageContext*/ return new Property("value[x]", "UsageContext", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); + case 1678530924: /*valueAvailability*/ return new Property("value[x]", "Availability", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); + case -1567222041: /*valueExtendedContactDetail*/ return new Property("value[x]", "ExtendedContactDetail", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -1858636920: /*valueDosage*/ return new Property("value[x]", "Dosage", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); case -765920490: /*valueMeta*/ return new Property("value[x]", "Meta", "The actual value for the element, which must be one of the types allowed for this element.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -3373,7 +3405,7 @@ public boolean hasTarget() { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 102727412: /*label*/ return new String[] {"string"}; - case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; default: return super.getTypesForProperty(hash, name); } @@ -3560,10 +3592,6 @@ public boolean hasTarget() { this.value = new ContactDetail(); return this.value; } - else if (name.equals("valueContributor")) { - this.value = new Contributor(); - return this.value; - } else if (name.equals("valueDataRequirement")) { this.value = new DataRequirement(); return this.value; @@ -3588,6 +3616,14 @@ public boolean hasTarget() { this.value = new UsageContext(); return this.value; } + else if (name.equals("valueAvailability")) { + this.value = new Availability(); + return this.value; + } + else if (name.equals("valueExtendedContactDetail")) { + this.value = new ExtendedContactDetail(); + return this.value; + } else if (name.equals("valueDosage")) { this.value = new Dosage(); return this.value; @@ -3655,9 +3691,9 @@ public boolean hasTarget() { /** * Description of why this constraint is necessary or appropriate. */ - @Child(name = "requirements", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "requirements", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Why this constraint is necessary or appropriate", formalDefinition="Description of why this constraint is necessary or appropriate." ) - protected StringType requirements; + protected MarkdownType requirements; /** * Identifies the impact constraint violation has on the conformance of the instance. @@ -3667,35 +3703,42 @@ public boolean hasTarget() { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/constraint-severity") protected Enumeration severity; + /** + * If true, indicates that the warning or best practice guideline should be suppressed. + */ + @Child(name = "suppress", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Suppress warning or hint in profile", formalDefinition="If true, indicates that the warning or best practice guideline should be suppressed." ) + protected BooleanType suppress; + /** * Text that can be used to describe the constraint in messages identifying that the constraint has been violated. */ - @Child(name = "human", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true) + @Child(name = "human", type = {StringType.class}, order=5, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Human description of constraint", formalDefinition="Text that can be used to describe the constraint in messages identifying that the constraint has been violated." ) protected StringType human; /** * A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met. */ - @Child(name = "expression", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "expression", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="FHIRPath expression of constraint", formalDefinition="A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met." ) protected StringType expression; /** * An XPath expression of constraint that can be executed to see if this constraint is met. */ - @Child(name = "xpath", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "xpath", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="XPath expression of constraint", formalDefinition="An XPath expression of constraint that can be executed to see if this constraint is met." ) protected StringType xpath; /** * A reference to the original source of the constraint, for traceability purposes. */ - @Child(name = "source", type = {CanonicalType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "source", type = {CanonicalType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Reference to original source of constraint", formalDefinition="A reference to the original source of the constraint, for traceability purposes." ) protected CanonicalType source; - private static final long serialVersionUID = 1048354565L; + private static final long serialVersionUID = 1717317398L; /** * Constructor @@ -3762,12 +3805,12 @@ public boolean hasTarget() { /** * @return {@link #requirements} (Description of why this constraint is necessary or appropriate.). This is the underlying object with id, value and extensions. The accessor "getRequirements" gives direct access to the value */ - public StringType getRequirementsElement() { + public MarkdownType getRequirementsElement() { if (this.requirements == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ElementDefinitionConstraintComponent.requirements"); else if (Configuration.doAutoCreate()) - this.requirements = new StringType(); // bb + this.requirements = new MarkdownType(); // bb return this.requirements; } @@ -3782,7 +3825,7 @@ public boolean hasTarget() { /** * @param value {@link #requirements} (Description of why this constraint is necessary or appropriate.). This is the underlying object with id, value and extensions. The accessor "getRequirements" gives direct access to the value */ - public ElementDefinitionConstraintComponent setRequirementsElement(StringType value) { + public ElementDefinitionConstraintComponent setRequirementsElement(MarkdownType value) { this.requirements = value; return this; } @@ -3798,11 +3841,11 @@ public boolean hasTarget() { * @param value Description of why this constraint is necessary or appropriate. */ public ElementDefinitionConstraintComponent setRequirements(String value) { - if (Utilities.noString(value)) + if (value == null) this.requirements = null; else { if (this.requirements == null) - this.requirements = new StringType(); + this.requirements = new MarkdownType(); this.requirements.setValue(value); } return this; @@ -3853,6 +3896,51 @@ public boolean hasTarget() { return this; } + /** + * @return {@link #suppress} (If true, indicates that the warning or best practice guideline should be suppressed.). This is the underlying object with id, value and extensions. The accessor "getSuppress" gives direct access to the value + */ + public BooleanType getSuppressElement() { + if (this.suppress == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ElementDefinitionConstraintComponent.suppress"); + else if (Configuration.doAutoCreate()) + this.suppress = new BooleanType(); // bb + return this.suppress; + } + + public boolean hasSuppressElement() { + return this.suppress != null && !this.suppress.isEmpty(); + } + + public boolean hasSuppress() { + return this.suppress != null && !this.suppress.isEmpty(); + } + + /** + * @param value {@link #suppress} (If true, indicates that the warning or best practice guideline should be suppressed.). This is the underlying object with id, value and extensions. The accessor "getSuppress" gives direct access to the value + */ + public ElementDefinitionConstraintComponent setSuppressElement(BooleanType value) { + this.suppress = value; + return this; + } + + /** + * @return If true, indicates that the warning or best practice guideline should be suppressed. + */ + public boolean getSuppress() { + return this.suppress == null || this.suppress.isEmpty() ? false : this.suppress.getValue(); + } + + /** + * @param value If true, indicates that the warning or best practice guideline should be suppressed. + */ + public ElementDefinitionConstraintComponent setSuppress(boolean value) { + if (this.suppress == null) + this.suppress = new BooleanType(); + this.suppress.setValue(value); + return this; + } + /** * @return {@link #human} (Text that can be used to describe the constraint in messages identifying that the constraint has been violated.). This is the underlying object with id, value and extensions. The accessor "getHuman" gives direct access to the value */ @@ -4048,8 +4136,9 @@ public boolean hasTarget() { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("key", "id", "Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality.", 0, 1, key)); - children.add(new Property("requirements", "string", "Description of why this constraint is necessary or appropriate.", 0, 1, requirements)); + children.add(new Property("requirements", "markdown", "Description of why this constraint is necessary or appropriate.", 0, 1, requirements)); children.add(new Property("severity", "code", "Identifies the impact constraint violation has on the conformance of the instance.", 0, 1, severity)); + children.add(new Property("suppress", "boolean", "If true, indicates that the warning or best practice guideline should be suppressed.", 0, 1, suppress)); children.add(new Property("human", "string", "Text that can be used to describe the constraint in messages identifying that the constraint has been violated.", 0, 1, human)); children.add(new Property("expression", "string", "A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met.", 0, 1, expression)); children.add(new Property("xpath", "string", "An XPath expression of constraint that can be executed to see if this constraint is met.", 0, 1, xpath)); @@ -4060,8 +4149,9 @@ public boolean hasTarget() { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 106079: /*key*/ return new Property("key", "id", "Allows identification of which elements have their cardinalities impacted by the constraint. Will not be referenced for constraints that do not affect cardinality.", 0, 1, key); - case -1619874672: /*requirements*/ return new Property("requirements", "string", "Description of why this constraint is necessary or appropriate.", 0, 1, requirements); + case -1619874672: /*requirements*/ return new Property("requirements", "markdown", "Description of why this constraint is necessary or appropriate.", 0, 1, requirements); case 1478300413: /*severity*/ return new Property("severity", "code", "Identifies the impact constraint violation has on the conformance of the instance.", 0, 1, severity); + case -1663129931: /*suppress*/ return new Property("suppress", "boolean", "If true, indicates that the warning or best practice guideline should be suppressed.", 0, 1, suppress); case 99639597: /*human*/ return new Property("human", "string", "Text that can be used to describe the constraint in messages identifying that the constraint has been violated.", 0, 1, human); case -1795452264: /*expression*/ return new Property("expression", "string", "A [FHIRPath](fhirpath.html) expression of constraint that can be executed to see if this constraint is met.", 0, 1, expression); case 114256029: /*xpath*/ return new Property("xpath", "string", "An XPath expression of constraint that can be executed to see if this constraint is met.", 0, 1, xpath); @@ -4075,8 +4165,9 @@ public boolean hasTarget() { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // IdType - case -1619874672: /*requirements*/ return this.requirements == null ? new Base[0] : new Base[] {this.requirements}; // StringType + case -1619874672: /*requirements*/ return this.requirements == null ? new Base[0] : new Base[] {this.requirements}; // MarkdownType case 1478300413: /*severity*/ return this.severity == null ? new Base[0] : new Base[] {this.severity}; // Enumeration + case -1663129931: /*suppress*/ return this.suppress == null ? new Base[0] : new Base[] {this.suppress}; // BooleanType case 99639597: /*human*/ return this.human == null ? new Base[0] : new Base[] {this.human}; // StringType case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType case 114256029: /*xpath*/ return this.xpath == null ? new Base[0] : new Base[] {this.xpath}; // StringType @@ -4093,12 +4184,15 @@ public boolean hasTarget() { this.key = TypeConvertor.castToId(value); // IdType return value; case -1619874672: // requirements - this.requirements = TypeConvertor.castToString(value); // StringType + this.requirements = TypeConvertor.castToMarkdown(value); // MarkdownType return value; case 1478300413: // severity value = new ConstraintSeverityEnumFactory().fromType(TypeConvertor.castToCode(value)); this.severity = (Enumeration) value; // Enumeration return value; + case -1663129931: // suppress + this.suppress = TypeConvertor.castToBoolean(value); // BooleanType + return value; case 99639597: // human this.human = TypeConvertor.castToString(value); // StringType return value; @@ -4121,10 +4215,12 @@ public boolean hasTarget() { if (name.equals("key")) { this.key = TypeConvertor.castToId(value); // IdType } else if (name.equals("requirements")) { - this.requirements = TypeConvertor.castToString(value); // StringType + this.requirements = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("severity")) { value = new ConstraintSeverityEnumFactory().fromType(TypeConvertor.castToCode(value)); this.severity = (Enumeration) value; // Enumeration + } else if (name.equals("suppress")) { + this.suppress = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("human")) { this.human = TypeConvertor.castToString(value); // StringType } else if (name.equals("expression")) { @@ -4144,6 +4240,7 @@ public boolean hasTarget() { case 106079: return getKeyElement(); case -1619874672: return getRequirementsElement(); case 1478300413: return getSeverityElement(); + case -1663129931: return getSuppressElement(); case 99639597: return getHumanElement(); case -1795452264: return getExpressionElement(); case 114256029: return getXpathElement(); @@ -4157,8 +4254,9 @@ public boolean hasTarget() { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 106079: /*key*/ return new String[] {"id"}; - case -1619874672: /*requirements*/ return new String[] {"string"}; + case -1619874672: /*requirements*/ return new String[] {"markdown"}; case 1478300413: /*severity*/ return new String[] {"code"}; + case -1663129931: /*suppress*/ return new String[] {"boolean"}; case 99639597: /*human*/ return new String[] {"string"}; case -1795452264: /*expression*/ return new String[] {"string"}; case 114256029: /*xpath*/ return new String[] {"string"}; @@ -4179,6 +4277,9 @@ public boolean hasTarget() { else if (name.equals("severity")) { throw new FHIRException("Cannot call addChild on a primitive type ElementDefinition.constraint.severity"); } + else if (name.equals("suppress")) { + throw new FHIRException("Cannot call addChild on a primitive type ElementDefinition.constraint.suppress"); + } else if (name.equals("human")) { throw new FHIRException("Cannot call addChild on a primitive type ElementDefinition.constraint.human"); } @@ -4206,6 +4307,7 @@ public boolean hasTarget() { dst.key = key == null ? null : key.copy(); dst.requirements = requirements == null ? null : requirements.copy(); dst.severity = severity == null ? null : severity.copy(); + dst.suppress = suppress == null ? null : suppress.copy(); dst.human = human == null ? null : human.copy(); dst.expression = expression == null ? null : expression.copy(); dst.xpath = xpath == null ? null : xpath.copy(); @@ -4220,8 +4322,8 @@ public boolean hasTarget() { return false; ElementDefinitionConstraintComponent o = (ElementDefinitionConstraintComponent) other_; return compareDeep(key, o.key, true) && compareDeep(requirements, o.requirements, true) && compareDeep(severity, o.severity, true) - && compareDeep(human, o.human, true) && compareDeep(expression, o.expression, true) && compareDeep(xpath, o.xpath, true) - && compareDeep(source, o.source, true); + && compareDeep(suppress, o.suppress, true) && compareDeep(human, o.human, true) && compareDeep(expression, o.expression, true) + && compareDeep(xpath, o.xpath, true) && compareDeep(source, o.source, true); } @Override @@ -4232,13 +4334,13 @@ public boolean hasTarget() { return false; ElementDefinitionConstraintComponent o = (ElementDefinitionConstraintComponent) other_; return compareValues(key, o.key, true) && compareValues(requirements, o.requirements, true) && compareValues(severity, o.severity, true) - && compareValues(human, o.human, true) && compareValues(expression, o.expression, true) && compareValues(xpath, o.xpath, true) - && compareValues(source, o.source, true); + && compareValues(suppress, o.suppress, true) && compareValues(human, o.human, true) && compareValues(expression, o.expression, true) + && compareValues(xpath, o.xpath, true) && compareValues(source, o.source, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, requirements, severity - , human, expression, xpath, source); + , suppress, human, expression, xpath, source); } public String fhirType() { @@ -4261,9 +4363,9 @@ public boolean hasTarget() { /** * Describes the intended use of this particular set of codes. */ - @Child(name = "description", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Human explanation of the value set", formalDefinition="Describes the intended use of this particular set of codes." ) - protected StringType description; + @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Intended use of codes in the bound value set", formalDefinition="Describes the intended use of this particular set of codes." ) + protected MarkdownType description; /** * Refers to the value set that identifies the set of codes the binding refers to. @@ -4272,7 +4374,7 @@ public boolean hasTarget() { @Description(shortDefinition="Source of value set", formalDefinition="Refers to the value set that identifies the set of codes the binding refers to." ) protected CanonicalType valueSet; - private static final long serialVersionUID = -514477030L; + private static final long serialVersionUID = 670232184L; /** * Constructor @@ -4337,12 +4439,12 @@ public boolean hasTarget() { /** * @return {@link #description} (Describes the intended use of this particular set of codes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ - public StringType getDescriptionElement() { + public MarkdownType getDescriptionElement() { if (this.description == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ElementDefinitionBindingComponent.description"); else if (Configuration.doAutoCreate()) - this.description = new StringType(); // bb + this.description = new MarkdownType(); // bb return this.description; } @@ -4357,7 +4459,7 @@ public boolean hasTarget() { /** * @param value {@link #description} (Describes the intended use of this particular set of codes.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ - public ElementDefinitionBindingComponent setDescriptionElement(StringType value) { + public ElementDefinitionBindingComponent setDescriptionElement(MarkdownType value) { this.description = value; return this; } @@ -4373,11 +4475,11 @@ public boolean hasTarget() { * @param value Describes the intended use of this particular set of codes. */ public ElementDefinitionBindingComponent setDescription(String value) { - if (Utilities.noString(value)) + if (value == null) this.description = null; else { if (this.description == null) - this.description = new StringType(); + this.description = new MarkdownType(); this.description.setValue(value); } return this; @@ -4435,7 +4537,7 @@ public boolean hasTarget() { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("strength", "code", "Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.", 0, 1, strength)); - children.add(new Property("description", "string", "Describes the intended use of this particular set of codes.", 0, 1, description)); + children.add(new Property("description", "markdown", "Describes the intended use of this particular set of codes.", 0, 1, description)); children.add(new Property("valueSet", "canonical(ValueSet)", "Refers to the value set that identifies the set of codes the binding refers to.", 0, 1, valueSet)); } @@ -4443,7 +4545,7 @@ public boolean hasTarget() { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 1791316033: /*strength*/ return new Property("strength", "code", "Indicates the degree of conformance expectations associated with this binding - that is, the degree to which the provided value set must be adhered to in the instances.", 0, 1, strength); - case -1724546052: /*description*/ return new Property("description", "string", "Describes the intended use of this particular set of codes.", 0, 1, description); + case -1724546052: /*description*/ return new Property("description", "markdown", "Describes the intended use of this particular set of codes.", 0, 1, description); case -1410174671: /*valueSet*/ return new Property("valueSet", "canonical(ValueSet)", "Refers to the value set that identifies the set of codes the binding refers to.", 0, 1, valueSet); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4454,7 +4556,7 @@ public boolean hasTarget() { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 1791316033: /*strength*/ return this.strength == null ? new Base[0] : new Base[] {this.strength}; // Enumeration - case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -1410174671: /*valueSet*/ return this.valueSet == null ? new Base[0] : new Base[] {this.valueSet}; // CanonicalType default: return super.getProperty(hash, name, checkValid); } @@ -4469,7 +4571,7 @@ public boolean hasTarget() { this.strength = (Enumeration) value; // Enumeration return value; case -1724546052: // description - this.description = TypeConvertor.castToString(value); // StringType + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType return value; case -1410174671: // valueSet this.valueSet = TypeConvertor.castToCanonical(value); // CanonicalType @@ -4485,7 +4587,7 @@ public boolean hasTarget() { value = new BindingStrengthEnumFactory().fromType(TypeConvertor.castToCode(value)); this.strength = (Enumeration) value; // Enumeration } else if (name.equals("description")) { - this.description = TypeConvertor.castToString(value); // StringType + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("valueSet")) { this.valueSet = TypeConvertor.castToCanonical(value); // CanonicalType } else @@ -4508,7 +4610,7 @@ public boolean hasTarget() { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 1791316033: /*strength*/ return new String[] {"code"}; - case -1724546052: /*description*/ return new String[] {"string"}; + case -1724546052: /*description*/ return new String[] {"markdown"}; case -1410174671: /*valueSet*/ return new String[] {"canonical"}; default: return super.getTypesForProperty(hash, name); } @@ -4604,11 +4706,11 @@ public boolean hasTarget() { /** * Comments that provide information about the mapping or its use. */ - @Child(name = "comment", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "comment", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Comments about the mapping or its use", formalDefinition="Comments that provide information about the mapping or its use." ) - protected StringType comment; + protected MarkdownType comment; - private static final long serialVersionUID = 1386816887L; + private static final long serialVersionUID = -582458727L; /** * Constructor @@ -4768,12 +4870,12 @@ public boolean hasTarget() { /** * @return {@link #comment} (Comments that provide information about the mapping or its use.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value */ - public StringType getCommentElement() { + public MarkdownType getCommentElement() { if (this.comment == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ElementDefinitionMappingComponent.comment"); else if (Configuration.doAutoCreate()) - this.comment = new StringType(); // bb + this.comment = new MarkdownType(); // bb return this.comment; } @@ -4788,7 +4890,7 @@ public boolean hasTarget() { /** * @param value {@link #comment} (Comments that provide information about the mapping or its use.). This is the underlying object with id, value and extensions. The accessor "getComment" gives direct access to the value */ - public ElementDefinitionMappingComponent setCommentElement(StringType value) { + public ElementDefinitionMappingComponent setCommentElement(MarkdownType value) { this.comment = value; return this; } @@ -4804,11 +4906,11 @@ public boolean hasTarget() { * @param value Comments that provide information about the mapping or its use. */ public ElementDefinitionMappingComponent setComment(String value) { - if (Utilities.noString(value)) + if (value == null) this.comment = null; else { if (this.comment == null) - this.comment = new StringType(); + this.comment = new MarkdownType(); this.comment.setValue(value); } return this; @@ -4819,7 +4921,7 @@ public boolean hasTarget() { children.add(new Property("identity", "id", "An internal reference to the definition of a mapping.", 0, 1, identity)); children.add(new Property("language", "code", "Identifies the computable language in which mapping.map is expressed.", 0, 1, language)); children.add(new Property("map", "string", "Expresses what part of the target specification corresponds to this element.", 0, 1, map)); - children.add(new Property("comment", "string", "Comments that provide information about the mapping or its use.", 0, 1, comment)); + children.add(new Property("comment", "markdown", "Comments that provide information about the mapping or its use.", 0, 1, comment)); } @Override @@ -4828,7 +4930,7 @@ public boolean hasTarget() { case -135761730: /*identity*/ return new Property("identity", "id", "An internal reference to the definition of a mapping.", 0, 1, identity); case -1613589672: /*language*/ return new Property("language", "code", "Identifies the computable language in which mapping.map is expressed.", 0, 1, language); case 107868: /*map*/ return new Property("map", "string", "Expresses what part of the target specification corresponds to this element.", 0, 1, map); - case 950398559: /*comment*/ return new Property("comment", "string", "Comments that provide information about the mapping or its use.", 0, 1, comment); + case 950398559: /*comment*/ return new Property("comment", "markdown", "Comments that provide information about the mapping or its use.", 0, 1, comment); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4840,7 +4942,7 @@ public boolean hasTarget() { case -135761730: /*identity*/ return this.identity == null ? new Base[0] : new Base[] {this.identity}; // IdType case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType case 107868: /*map*/ return this.map == null ? new Base[0] : new Base[] {this.map}; // StringType - case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType + case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // MarkdownType default: return super.getProperty(hash, name, checkValid); } @@ -4859,7 +4961,7 @@ public boolean hasTarget() { this.map = TypeConvertor.castToString(value); // StringType return value; case 950398559: // comment - this.comment = TypeConvertor.castToString(value); // StringType + this.comment = TypeConvertor.castToMarkdown(value); // MarkdownType return value; default: return super.setProperty(hash, name, value); } @@ -4875,7 +4977,7 @@ public boolean hasTarget() { } else if (name.equals("map")) { this.map = TypeConvertor.castToString(value); // StringType } else if (name.equals("comment")) { - this.comment = TypeConvertor.castToString(value); // StringType + this.comment = TypeConvertor.castToMarkdown(value); // MarkdownType } else return super.setProperty(name, value); return value; @@ -4899,7 +5001,7 @@ public boolean hasTarget() { case -135761730: /*identity*/ return new String[] {"id"}; case -1613589672: /*language*/ return new String[] {"code"}; case 107868: /*map*/ return new String[] {"string"}; - case 950398559: /*comment*/ return new String[] {"string"}; + case 950398559: /*comment*/ return new String[] {"markdown"}; default: return super.getTypesForProperty(hash, name); } @@ -4979,10 +5081,10 @@ public boolean hasTarget() { protected StringType path; /** - * Codes that define how this element is represented in instances, when the deviation varies from the normal case. + * Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used. */ @Child(name = "representation", type = {CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="xmlAttr | xmlText | typeAttr | cdaText | xhtml", formalDefinition="Codes that define how this element is represented in instances, when the deviation varies from the normal case." ) + @Description(shortDefinition="xmlAttr | xmlText | typeAttr | cdaText | xhtml", formalDefinition="Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/property-representation") protected List> representation; @@ -5012,7 +5114,7 @@ public boolean hasTarget() { */ @Child(name = "code", type = {Coding.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Corresponding codes in terminologies", formalDefinition="A code that has the same meaning as the element in a particular terminology." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/observation-codes") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://loinc.org/vs") protected List code; /** @@ -5095,7 +5197,7 @@ public boolean hasTarget() { /** * The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false'). */ - @Child(name = "defaultValue", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Child(name = "defaultValue", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=17, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Specified value if missing from instance", formalDefinition="The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false')." ) protected DataType defaultValue; @@ -5114,27 +5216,29 @@ public boolean hasTarget() { protected StringType orderMeaning; /** - * Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing. + * Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing. */ - @Child(name = "fixed", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=20, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Value must be exactly this", formalDefinition="Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing." ) + @Child(name = "fixed", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=20, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Value must be exactly this", formalDefinition="Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing." ) protected DataType fixed; /** - * Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value. +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have. */ - @Child(name = "pattern", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=21, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Value must have at least these property values", formalDefinition="Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value." ) + @Child(name = "pattern", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=21, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Value must have at least these property values", formalDefinition="Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have." ) protected DataType pattern; /** @@ -5159,10 +5263,10 @@ When pattern[x] is used to constrain a complex object, it means that each proper protected DataType maxValue; /** - * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. + * Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)). */ @Child(name = "maxLength", type = {IntegerType.class}, order=25, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Max length for strings", formalDefinition="Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element." ) + @Description(shortDefinition="Max length for string type data", formalDefinition="Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html))." ) protected IntegerType maxLength; /** @@ -5284,7 +5388,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case.) + * @return {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.) */ public List> getRepresentation() { if (this.representation == null) @@ -5310,7 +5414,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case.) + * @return {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.) */ public Enumeration addRepresentationElement() {//2 Enumeration t = new Enumeration(new PropertyRepresentationEnumFactory()); @@ -5321,7 +5425,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @param value {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case.) + * @param value {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.) */ public ElementDefinition addRepresentation(PropertyRepresentation value) { //1 Enumeration t = new Enumeration(new PropertyRepresentationEnumFactory()); @@ -5333,7 +5437,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @param value {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case.) + * @param value {@link #representation} (Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.) */ public boolean hasRepresentation(PropertyRepresentation value) { if (this.representation == null) @@ -6708,21 +6812,6 @@ When pattern[x] is used to constrain a complex object, it means that each proper return this != null && this.defaultValue instanceof ContactDetail; } - /** - * @return {@link #defaultValue} (The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').) - */ - public Contributor getDefaultValueContributor() throws FHIRException { - if (this.defaultValue == null) - this.defaultValue = new Contributor(); - if (!(this.defaultValue instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); - return (Contributor) this.defaultValue; - } - - public boolean hasDefaultValueContributor() { - return this != null && this.defaultValue instanceof Contributor; - } - /** * @return {@link #defaultValue} (The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').) */ @@ -6813,6 +6902,36 @@ When pattern[x] is used to constrain a complex object, it means that each proper return this != null && this.defaultValue instanceof UsageContext; } + /** + * @return {@link #defaultValue} (The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').) + */ + public Availability getDefaultValueAvailability() throws FHIRException { + if (this.defaultValue == null) + this.defaultValue = new Availability(); + if (!(this.defaultValue instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); + return (Availability) this.defaultValue; + } + + public boolean hasDefaultValueAvailability() { + return this != null && this.defaultValue instanceof Availability; + } + + /** + * @return {@link #defaultValue} (The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').) + */ + public ExtendedContactDetail getDefaultValueExtendedContactDetail() throws FHIRException { + if (this.defaultValue == null) + this.defaultValue = new ExtendedContactDetail(); + if (!(this.defaultValue instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.defaultValue.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.defaultValue; + } + + public boolean hasDefaultValueExtendedContactDetail() { + return this != null && this.defaultValue instanceof ExtendedContactDetail; + } + /** * @return {@link #defaultValue} (The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').) */ @@ -6851,7 +6970,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper * @param value {@link #defaultValue} (The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').) */ public ElementDefinition setDefaultValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for ElementDefinition.defaultValue[x]: "+value.fhirType()); this.defaultValue = value; return this; @@ -6956,14 +7075,14 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public DataType getFixed() { return this.fixed; } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Base64BinaryType getFixedBase64BinaryType() throws FHIRException { if (this.fixed == null) @@ -6978,7 +7097,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public BooleanType getFixedBooleanType() throws FHIRException { if (this.fixed == null) @@ -6993,7 +7112,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public CanonicalType getFixedCanonicalType() throws FHIRException { if (this.fixed == null) @@ -7008,7 +7127,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public CodeType getFixedCodeType() throws FHIRException { if (this.fixed == null) @@ -7023,7 +7142,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public DateType getFixedDateType() throws FHIRException { if (this.fixed == null) @@ -7038,7 +7157,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public DateTimeType getFixedDateTimeType() throws FHIRException { if (this.fixed == null) @@ -7053,7 +7172,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public DecimalType getFixedDecimalType() throws FHIRException { if (this.fixed == null) @@ -7068,7 +7187,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public IdType getFixedIdType() throws FHIRException { if (this.fixed == null) @@ -7083,7 +7202,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public InstantType getFixedInstantType() throws FHIRException { if (this.fixed == null) @@ -7098,7 +7217,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public IntegerType getFixedIntegerType() throws FHIRException { if (this.fixed == null) @@ -7113,7 +7232,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Integer64Type getFixedInteger64Type() throws FHIRException { if (this.fixed == null) @@ -7128,7 +7247,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public MarkdownType getFixedMarkdownType() throws FHIRException { if (this.fixed == null) @@ -7143,7 +7262,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public OidType getFixedOidType() throws FHIRException { if (this.fixed == null) @@ -7158,7 +7277,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public PositiveIntType getFixedPositiveIntType() throws FHIRException { if (this.fixed == null) @@ -7173,7 +7292,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public StringType getFixedStringType() throws FHIRException { if (this.fixed == null) @@ -7188,7 +7307,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public TimeType getFixedTimeType() throws FHIRException { if (this.fixed == null) @@ -7203,7 +7322,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public UnsignedIntType getFixedUnsignedIntType() throws FHIRException { if (this.fixed == null) @@ -7218,7 +7337,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public UriType getFixedUriType() throws FHIRException { if (this.fixed == null) @@ -7233,7 +7352,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public UrlType getFixedUrlType() throws FHIRException { if (this.fixed == null) @@ -7248,7 +7367,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public UuidType getFixedUuidType() throws FHIRException { if (this.fixed == null) @@ -7263,7 +7382,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Address getFixedAddress() throws FHIRException { if (this.fixed == null) @@ -7278,7 +7397,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Age getFixedAge() throws FHIRException { if (this.fixed == null) @@ -7293,7 +7412,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Annotation getFixedAnnotation() throws FHIRException { if (this.fixed == null) @@ -7308,7 +7427,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Attachment getFixedAttachment() throws FHIRException { if (this.fixed == null) @@ -7323,7 +7442,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public CodeableConcept getFixedCodeableConcept() throws FHIRException { if (this.fixed == null) @@ -7338,7 +7457,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public CodeableReference getFixedCodeableReference() throws FHIRException { if (this.fixed == null) @@ -7353,7 +7472,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Coding getFixedCoding() throws FHIRException { if (this.fixed == null) @@ -7368,7 +7487,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public ContactPoint getFixedContactPoint() throws FHIRException { if (this.fixed == null) @@ -7383,7 +7502,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Count getFixedCount() throws FHIRException { if (this.fixed == null) @@ -7398,7 +7517,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Distance getFixedDistance() throws FHIRException { if (this.fixed == null) @@ -7413,7 +7532,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Duration getFixedDuration() throws FHIRException { if (this.fixed == null) @@ -7428,7 +7547,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public HumanName getFixedHumanName() throws FHIRException { if (this.fixed == null) @@ -7443,7 +7562,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Identifier getFixedIdentifier() throws FHIRException { if (this.fixed == null) @@ -7458,7 +7577,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Money getFixedMoney() throws FHIRException { if (this.fixed == null) @@ -7473,7 +7592,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Period getFixedPeriod() throws FHIRException { if (this.fixed == null) @@ -7488,7 +7607,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Quantity getFixedQuantity() throws FHIRException { if (this.fixed == null) @@ -7503,7 +7622,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Range getFixedRange() throws FHIRException { if (this.fixed == null) @@ -7518,7 +7637,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Ratio getFixedRatio() throws FHIRException { if (this.fixed == null) @@ -7533,7 +7652,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public RatioRange getFixedRatioRange() throws FHIRException { if (this.fixed == null) @@ -7548,7 +7667,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Reference getFixedReference() throws FHIRException { if (this.fixed == null) @@ -7563,7 +7682,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public SampledData getFixedSampledData() throws FHIRException { if (this.fixed == null) @@ -7578,7 +7697,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Signature getFixedSignature() throws FHIRException { if (this.fixed == null) @@ -7593,7 +7712,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Timing getFixedTiming() throws FHIRException { if (this.fixed == null) @@ -7608,7 +7727,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public ContactDetail getFixedContactDetail() throws FHIRException { if (this.fixed == null) @@ -7623,22 +7742,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) - */ - public Contributor getFixedContributor() throws FHIRException { - if (this.fixed == null) - this.fixed = new Contributor(); - if (!(this.fixed instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.fixed.getClass().getName()+" was encountered"); - return (Contributor) this.fixed; - } - - public boolean hasFixedContributor() { - return this != null && this.fixed instanceof Contributor; - } - - /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public DataRequirement getFixedDataRequirement() throws FHIRException { if (this.fixed == null) @@ -7653,7 +7757,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Expression getFixedExpression() throws FHIRException { if (this.fixed == null) @@ -7668,7 +7772,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public ParameterDefinition getFixedParameterDefinition() throws FHIRException { if (this.fixed == null) @@ -7683,7 +7787,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public RelatedArtifact getFixedRelatedArtifact() throws FHIRException { if (this.fixed == null) @@ -7698,7 +7802,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public TriggerDefinition getFixedTriggerDefinition() throws FHIRException { if (this.fixed == null) @@ -7713,7 +7817,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public UsageContext getFixedUsageContext() throws FHIRException { if (this.fixed == null) @@ -7728,7 +7832,37 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + */ + public Availability getFixedAvailability() throws FHIRException { + if (this.fixed == null) + this.fixed = new Availability(); + if (!(this.fixed instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.fixed.getClass().getName()+" was encountered"); + return (Availability) this.fixed; + } + + public boolean hasFixedAvailability() { + return this != null && this.fixed instanceof Availability; + } + + /** + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + */ + public ExtendedContactDetail getFixedExtendedContactDetail() throws FHIRException { + if (this.fixed == null) + this.fixed = new ExtendedContactDetail(); + if (!(this.fixed instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.fixed.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.fixed; + } + + public boolean hasFixedExtendedContactDetail() { + return this != null && this.fixed instanceof ExtendedContactDetail; + } + + /** + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Dosage getFixedDosage() throws FHIRException { if (this.fixed == null) @@ -7743,7 +7877,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @return {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public Meta getFixedMeta() throws FHIRException { if (this.fixed == null) @@ -7762,44 +7896,48 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @param value {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) + * @param value {@link #fixed} (Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.) */ public ElementDefinition setFixed(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for ElementDefinition.fixed[x]: "+value.fhirType()); this.fixed = value; return this; } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public DataType getPattern() { return this.pattern; } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Base64BinaryType getPatternBase64BinaryType() throws FHIRException { if (this.pattern == null) @@ -7814,17 +7952,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public BooleanType getPatternBooleanType() throws FHIRException { if (this.pattern == null) @@ -7839,17 +7979,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public CanonicalType getPatternCanonicalType() throws FHIRException { if (this.pattern == null) @@ -7864,17 +8006,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public CodeType getPatternCodeType() throws FHIRException { if (this.pattern == null) @@ -7889,17 +8033,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public DateType getPatternDateType() throws FHIRException { if (this.pattern == null) @@ -7914,17 +8060,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public DateTimeType getPatternDateTimeType() throws FHIRException { if (this.pattern == null) @@ -7939,17 +8087,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public DecimalType getPatternDecimalType() throws FHIRException { if (this.pattern == null) @@ -7964,17 +8114,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public IdType getPatternIdType() throws FHIRException { if (this.pattern == null) @@ -7989,17 +8141,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public InstantType getPatternInstantType() throws FHIRException { if (this.pattern == null) @@ -8014,17 +8168,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public IntegerType getPatternIntegerType() throws FHIRException { if (this.pattern == null) @@ -8039,17 +8195,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Integer64Type getPatternInteger64Type() throws FHIRException { if (this.pattern == null) @@ -8064,17 +8222,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public MarkdownType getPatternMarkdownType() throws FHIRException { if (this.pattern == null) @@ -8089,17 +8249,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public OidType getPatternOidType() throws FHIRException { if (this.pattern == null) @@ -8114,17 +8276,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public PositiveIntType getPatternPositiveIntType() throws FHIRException { if (this.pattern == null) @@ -8139,17 +8303,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public StringType getPatternStringType() throws FHIRException { if (this.pattern == null) @@ -8164,17 +8330,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public TimeType getPatternTimeType() throws FHIRException { if (this.pattern == null) @@ -8189,17 +8357,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public UnsignedIntType getPatternUnsignedIntType() throws FHIRException { if (this.pattern == null) @@ -8214,17 +8384,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public UriType getPatternUriType() throws FHIRException { if (this.pattern == null) @@ -8239,17 +8411,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public UrlType getPatternUrlType() throws FHIRException { if (this.pattern == null) @@ -8264,17 +8438,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public UuidType getPatternUuidType() throws FHIRException { if (this.pattern == null) @@ -8289,17 +8465,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Address getPatternAddress() throws FHIRException { if (this.pattern == null) @@ -8314,17 +8492,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Age getPatternAge() throws FHIRException { if (this.pattern == null) @@ -8339,17 +8519,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Annotation getPatternAnnotation() throws FHIRException { if (this.pattern == null) @@ -8364,17 +8546,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Attachment getPatternAttachment() throws FHIRException { if (this.pattern == null) @@ -8389,17 +8573,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public CodeableConcept getPatternCodeableConcept() throws FHIRException { if (this.pattern == null) @@ -8414,17 +8600,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public CodeableReference getPatternCodeableReference() throws FHIRException { if (this.pattern == null) @@ -8439,17 +8627,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Coding getPatternCoding() throws FHIRException { if (this.pattern == null) @@ -8464,17 +8654,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public ContactPoint getPatternContactPoint() throws FHIRException { if (this.pattern == null) @@ -8489,17 +8681,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Count getPatternCount() throws FHIRException { if (this.pattern == null) @@ -8514,17 +8708,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Distance getPatternDistance() throws FHIRException { if (this.pattern == null) @@ -8539,17 +8735,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Duration getPatternDuration() throws FHIRException { if (this.pattern == null) @@ -8564,17 +8762,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public HumanName getPatternHumanName() throws FHIRException { if (this.pattern == null) @@ -8589,17 +8789,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Identifier getPatternIdentifier() throws FHIRException { if (this.pattern == null) @@ -8614,17 +8816,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Money getPatternMoney() throws FHIRException { if (this.pattern == null) @@ -8639,17 +8843,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Period getPatternPeriod() throws FHIRException { if (this.pattern == null) @@ -8664,17 +8870,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Quantity getPatternQuantity() throws FHIRException { if (this.pattern == null) @@ -8689,17 +8897,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Range getPatternRange() throws FHIRException { if (this.pattern == null) @@ -8714,17 +8924,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Ratio getPatternRatio() throws FHIRException { if (this.pattern == null) @@ -8739,17 +8951,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public RatioRange getPatternRatioRange() throws FHIRException { if (this.pattern == null) @@ -8764,17 +8978,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Reference getPatternReference() throws FHIRException { if (this.pattern == null) @@ -8789,17 +9005,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public SampledData getPatternSampledData() throws FHIRException { if (this.pattern == null) @@ -8814,17 +9032,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Signature getPatternSignature() throws FHIRException { if (this.pattern == null) @@ -8839,17 +9059,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Timing getPatternTiming() throws FHIRException { if (this.pattern == null) @@ -8864,17 +9086,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public ContactDetail getPatternContactDetail() throws FHIRException { if (this.pattern == null) @@ -8889,42 +9113,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) - */ - public Contributor getPatternContributor() throws FHIRException { - if (this.pattern == null) - this.pattern = new Contributor(); - if (!(this.pattern instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.pattern.getClass().getName()+" was encountered"); - return (Contributor) this.pattern; - } - - public boolean hasPatternContributor() { - return this != null && this.pattern instanceof Contributor; - } - - /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. +3. If an array: it must match (recursively) the pattern value -When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. - -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. - -When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., - -1. If primitive: it must match exactly the pattern value -2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public DataRequirement getPatternDataRequirement() throws FHIRException { if (this.pattern == null) @@ -8939,17 +9140,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Expression getPatternExpression() throws FHIRException { if (this.pattern == null) @@ -8964,17 +9167,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public ParameterDefinition getPatternParameterDefinition() throws FHIRException { if (this.pattern == null) @@ -8989,17 +9194,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public RelatedArtifact getPatternRelatedArtifact() throws FHIRException { if (this.pattern == null) @@ -9014,17 +9221,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public TriggerDefinition getPatternTriggerDefinition() throws FHIRException { if (this.pattern == null) @@ -9039,17 +9248,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public UsageContext getPatternUsageContext() throws FHIRException { if (this.pattern == null) @@ -9064,17 +9275,73 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) + */ + public Availability getPatternAvailability() throws FHIRException { + if (this.pattern == null) + this.pattern = new Availability(); + if (!(this.pattern instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.pattern.getClass().getName()+" was encountered"); + return (Availability) this.pattern; + } + + public boolean hasPatternAvailability() { + return this != null && this.pattern instanceof Availability; + } + + /** + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. + +When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. + +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. + +When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., + +1. If primitive: it must match exactly the pattern value +2. If a complex object: it must match (recursively) the pattern value +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) + */ + public ExtendedContactDetail getPatternExtendedContactDetail() throws FHIRException { + if (this.pattern == null) + this.pattern = new ExtendedContactDetail(); + if (!(this.pattern instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.pattern.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.pattern; + } + + public boolean hasPatternExtendedContactDetail() { + return this != null && this.pattern instanceof ExtendedContactDetail; + } + + /** + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. + +When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. + +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. + +When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., + +1. If primitive: it must match exactly the pattern value +2. If a complex object: it must match (recursively) the pattern value +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Dosage getPatternDosage() throws FHIRException { if (this.pattern == null) @@ -9089,17 +9356,19 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @return {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public Meta getPatternMeta() throws FHIRException { if (this.pattern == null) @@ -9118,20 +9387,22 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @param value {@link #pattern} (Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. + * @param value {@link #pattern} (Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. When pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly. -When pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array. +When an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array. When pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e., 1. If primitive: it must match exactly the pattern value 2. If a complex object: it must match (recursively) the pattern value -3. If an array: it must match (recursively) the pattern value.) +3. If an array: it must match (recursively) the pattern value + +If a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.) */ public ElementDefinition setPattern(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for ElementDefinition.pattern[x]: "+value.fhirType()); this.pattern = value; return this; @@ -9533,7 +9804,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return {@link #maxLength} (Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.). This is the underlying object with id, value and extensions. The accessor "getMaxLength" gives direct access to the value + * @return {@link #maxLength} (Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)).). This is the underlying object with id, value and extensions. The accessor "getMaxLength" gives direct access to the value */ public IntegerType getMaxLengthElement() { if (this.maxLength == null) @@ -9553,7 +9824,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @param value {@link #maxLength} (Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.). This is the underlying object with id, value and extensions. The accessor "getMaxLength" gives direct access to the value + * @param value {@link #maxLength} (Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)).). This is the underlying object with id, value and extensions. The accessor "getMaxLength" gives direct access to the value */ public ElementDefinition setMaxLengthElement(IntegerType value) { this.maxLength = value; @@ -9561,14 +9832,14 @@ When pattern[x] is used to constrain a complex object, it means that each proper } /** - * @return Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. + * @return Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)). */ public int getMaxLength() { return this.maxLength == null || this.maxLength.isEmpty() ? 0 : this.maxLength.getValue(); } /** - * @param value Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. + * @param value Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)). */ public ElementDefinition setMaxLength(int value) { if (this.maxLength == null) @@ -9955,7 +10226,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper protected void listChildren(List children) { super.listChildren(children); children.add(new Property("path", "string", "The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension.", 0, 1, path)); - children.add(new Property("representation", "code", "Codes that define how this element is represented in instances, when the deviation varies from the normal case.", 0, java.lang.Integer.MAX_VALUE, representation)); + children.add(new Property("representation", "code", "Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.", 0, java.lang.Integer.MAX_VALUE, representation)); children.add(new Property("sliceName", "string", "The name of this element definition slice, when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element, used to provide a name to different slices of the same element.", 0, 1, sliceName)); children.add(new Property("sliceIsConstraining", "boolean", "If true, indicates that this slice definition is constraining a slice definition with the same name in an inherited profile. If false, the slice is not overriding any slice in an inherited profile. If missing, the slice might or might not be overriding a slice in an inherited profile, depending on the sliceName.", 0, 1, sliceIsConstraining)); children.add(new Property("label", "string", "A single preferred label which is the text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.", 0, 1, label)); @@ -9971,15 +10242,15 @@ When pattern[x] is used to constrain a complex object, it means that each proper children.add(new Property("base", "", "Information about the base definition of the element, provided to make it unnecessary for tools to trace the deviation of the element through the derived and related profiles. When the element definition is not the original definition of an element - i.g. either in a constraint on another type, or for elements from a super type in a snap shot - then the information in provided in the element definition may be different to the base definition. On the original definition of the element, it will be same.", 0, 1, base)); children.add(new Property("contentReference", "uri", "Identifies an element defined elsewhere in the definition whose content rules should be applied to the current element. ContentReferences bring across all the rules that are in the ElementDefinition for the element, including definitions, cardinality constraints, bindings, invariants etc.", 0, 1, contentReference)); children.add(new Property("type", "", "The data type or resource that the value of this element is permitted to be.", 0, java.lang.Integer.MAX_VALUE, type)); - children.add(new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue)); + children.add(new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue)); children.add(new Property("meaningWhenMissing", "markdown", "The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing').", 0, 1, meaningWhenMissing)); children.add(new Property("orderMeaning", "string", "If present, indicates that the order of the repeating element has meaning and describes what that meaning is. If absent, it means that the order of the element has no meaning.", 0, 1, orderMeaning)); - children.add(new Property("fixed[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed)); - children.add(new Property("pattern[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern)); + children.add(new Property("fixed[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed)); + children.add(new Property("pattern[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern)); children.add(new Property("example", "", "A sample value for this element demonstrating the type of information that would typically be found in the element.", 0, java.lang.Integer.MAX_VALUE, example)); children.add(new Property("minValue[x]", "date|dateTime|instant|time|decimal|integer|integer64|positiveInt|unsignedInt|Quantity", "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, minValue)); children.add(new Property("maxValue[x]", "date|dateTime|instant|time|decimal|integer|integer64|positiveInt|unsignedInt|Quantity", "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, maxValue)); - children.add(new Property("maxLength", "integer", "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.", 0, 1, maxLength)); + children.add(new Property("maxLength", "integer", "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)).", 0, 1, maxLength)); children.add(new Property("condition", "id", "A reference to an invariant that may make additional statements about the cardinality or value in the instance.", 0, java.lang.Integer.MAX_VALUE, condition)); children.add(new Property("constraint", "", "Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.", 0, java.lang.Integer.MAX_VALUE, constraint)); children.add(new Property("mustSupport", "boolean", "If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported. If false, whether to populate or use the data element in any way is at the discretion of the implementation.", 0, 1, mustSupport)); @@ -9994,7 +10265,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3433509: /*path*/ return new Property("path", "string", "The path identifies the element and is expressed as a \".\"-separated list of ancestor elements, beginning with the name of the resource or extension.", 0, 1, path); - case -671065907: /*representation*/ return new Property("representation", "code", "Codes that define how this element is represented in instances, when the deviation varies from the normal case.", 0, java.lang.Integer.MAX_VALUE, representation); + case -671065907: /*representation*/ return new Property("representation", "code", "Codes that define how this element is represented in instances, when the deviation varies from the normal case. No extensions are allowed on elements with a representation of 'xmlAttr', no matter what FHIR serialization format is used.", 0, java.lang.Integer.MAX_VALUE, representation); case -825289923: /*sliceName*/ return new Property("sliceName", "string", "The name of this element definition slice, when slicing is working. The name must be a token with no dots or spaces. This is a unique name referring to a specific set of constraints applied to this element, used to provide a name to different slices of the same element.", 0, 1, sliceName); case 333040519: /*sliceIsConstraining*/ return new Property("sliceIsConstraining", "boolean", "If true, indicates that this slice definition is constraining a slice definition with the same name in an inherited profile. If false, the slice is not overriding any slice in an inherited profile. If missing, the slice might or might not be overriding a slice in an inherited profile, depending on the sliceName.", 0, 1, sliceIsConstraining); case 102727412: /*label*/ return new Property("label", "string", "A single preferred label which is the text to display beside the element indicating its meaning or to use to prompt for the element in a user display or form.", 0, 1, label); @@ -10010,8 +10281,8 @@ When pattern[x] is used to constrain a complex object, it means that each proper case 3016401: /*base*/ return new Property("base", "", "Information about the base definition of the element, provided to make it unnecessary for tools to trace the deviation of the element through the derived and related profiles. When the element definition is not the original definition of an element - i.g. either in a constraint on another type, or for elements from a super type in a snap shot - then the information in provided in the element definition may be different to the base definition. On the original definition of the element, it will be same.", 0, 1, base); case 1193747154: /*contentReference*/ return new Property("contentReference", "uri", "Identifies an element defined elsewhere in the definition whose content rules should be applied to the current element. ContentReferences bring across all the rules that are in the ElementDefinition for the element, including definitions, cardinality constraints, bindings, invariants etc.", 0, 1, contentReference); case 3575610: /*type*/ return new Property("type", "", "The data type or resource that the value of this element is permitted to be.", 0, java.lang.Integer.MAX_VALUE, type); - case 587922128: /*defaultValue[x]*/ return new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); - case -659125328: /*defaultValue*/ return new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); + case 587922128: /*defaultValue[x]*/ return new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); + case -659125328: /*defaultValue*/ return new Property("defaultValue[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 1470297600: /*defaultValueBase64Binary*/ return new Property("defaultValue[x]", "base64Binary", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 600437336: /*defaultValueBoolean*/ return new Property("defaultValue[x]", "boolean", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 264593188: /*defaultValueCanonical*/ return new Property("defaultValue[x]", "canonical", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); @@ -10056,127 +10327,130 @@ When pattern[x] is used to constrain a complex object, it means that each proper case 509825768: /*defaultValueSignature*/ return new Property("defaultValue[x]", "Signature", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case -302193638: /*defaultValueTiming*/ return new Property("defaultValue[x]", "Timing", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 1845473985: /*defaultValueContactDetail*/ return new Property("defaultValue[x]", "ContactDetail", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); - case 1793609483: /*defaultValueContributor*/ return new Property("defaultValue[x]", "Contributor", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 375217257: /*defaultValueDataRequirement*/ return new Property("defaultValue[x]", "DataRequirement", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case -2092097944: /*defaultValueExpression*/ return new Property("defaultValue[x]", "Expression", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case -701053940: /*defaultValueParameterDefinition*/ return new Property("defaultValue[x]", "ParameterDefinition", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 412877133: /*defaultValueRelatedArtifact*/ return new Property("defaultValue[x]", "RelatedArtifact", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 1913203547: /*defaultValueTriggerDefinition*/ return new Property("defaultValue[x]", "TriggerDefinition", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case -701644642: /*defaultValueUsageContext*/ return new Property("defaultValue[x]", "UsageContext", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); + case 388885803: /*defaultValueAvailability*/ return new Property("defaultValue[x]", "Availability", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); + case 1398098440: /*defaultValueExtendedContactDetail*/ return new Property("defaultValue[x]", "ExtendedContactDetail", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case -754548089: /*defaultValueDosage*/ return new Property("defaultValue[x]", "Dosage", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 1045282261: /*defaultValueMeta*/ return new Property("defaultValue[x]", "Meta", "The value that should be used if there is no value stated in the instance (e.g. 'if not otherwise specified, the abstract is false').", 0, 1, defaultValue); case 1857257103: /*meaningWhenMissing*/ return new Property("meaningWhenMissing", "markdown", "The Implicit meaning that is to be understood when this element is missing (e.g. 'when this element is missing, the period is ongoing').", 0, 1, meaningWhenMissing); case 1828196047: /*orderMeaning*/ return new Property("orderMeaning", "string", "If present, indicates that the order of the repeating element has meaning and describes what that meaning is. If absent, it means that the order of the element has no meaning.", 0, 1, orderMeaning); - case -391522164: /*fixed[x]*/ return new Property("fixed[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 97445748: /*fixed*/ return new Property("fixed[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -799290428: /*fixedBase64Binary*/ return new Property("fixed[x]", "base64Binary", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 520851988: /*fixedBoolean*/ return new Property("fixed[x]", "boolean", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1092485088: /*fixedCanonical*/ return new Property("fixed[x]", "canonical", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 746991489: /*fixedCode*/ return new Property("fixed[x]", "code", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 747008322: /*fixedDate*/ return new Property("fixed[x]", "date", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1246771409: /*fixedDateTime*/ return new Property("fixed[x]", "dateTime", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1998403901: /*fixedDecimal*/ return new Property("fixed[x]", "decimal", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -843914321: /*fixedId*/ return new Property("fixed[x]", "id", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1881257011: /*fixedInstant*/ return new Property("fixed[x]", "instant", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1880774870: /*fixedInteger*/ return new Property("fixed[x]", "integer", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 756583272: /*fixedInteger64*/ return new Property("fixed[x]", "integer64", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1502385283: /*fixedMarkdown*/ return new Property("fixed[x]", "markdown", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -391534154: /*fixedOid*/ return new Property("fixed[x]", "oid", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 297821986: /*fixedPositiveInt*/ return new Property("fixed[x]", "positiveInt", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1062390949: /*fixedString*/ return new Property("fixed[x]", "string", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 747492449: /*fixedTime*/ return new Property("fixed[x]", "time", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1574283430: /*fixedUnsignedInt*/ return new Property("fixed[x]", "unsignedInt", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -391528104: /*fixedUri*/ return new Property("fixed[x]", "uri", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -391528101: /*fixedUrl*/ return new Property("fixed[x]", "url", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 747533647: /*fixedUuid*/ return new Property("fixed[x]", "uuid", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -691551776: /*fixedAddress*/ return new Property("fixed[x]", "Address", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -391547669: /*fixedAge*/ return new Property("fixed[x]", "Age", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1956844093: /*fixedAnnotation*/ return new Property("fixed[x]", "Annotation", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1929665463: /*fixedAttachment*/ return new Property("fixed[x]", "Attachment", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1962764685: /*fixedCodeableConcept*/ return new Property("fixed[x]", "CodeableConcept", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 694810928: /*fixedCodeableReference*/ return new Property("fixed[x]", "CodeableReference", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 599289854: /*fixedCoding*/ return new Property("fixed[x]", "Coding", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1680638692: /*fixedContactPoint*/ return new Property("fixed[x]", "ContactPoint", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1681916411: /*fixedCount*/ return new Property("fixed[x]", "Count", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1543906185: /*fixedDistance*/ return new Property("fixed[x]", "Distance", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -736565976: /*fixedDuration*/ return new Property("fixed[x]", "Duration", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -147502012: /*fixedHumanName*/ return new Property("fixed[x]", "HumanName", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -2020233411: /*fixedIdentifier*/ return new Property("fixed[x]", "Identifier", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1691144620: /*fixedMoney*/ return new Property("fixed[x]", "Money", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 962650709: /*fixedPeriod*/ return new Property("fixed[x]", "Period", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -29557729: /*fixedQuantity*/ return new Property("fixed[x]", "Quantity", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1695345193: /*fixedRange*/ return new Property("fixed[x]", "Range", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1695351031: /*fixedRatio*/ return new Property("fixed[x]", "Ratio", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1698777734: /*fixedRatioRange*/ return new Property("fixed[x]", "RatioRange", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -661022153: /*fixedReference*/ return new Property("fixed[x]", "Reference", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 585524912: /*fixedSampledData*/ return new Property("fixed[x]", "SampledData", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1337717668: /*fixedSignature*/ return new Property("fixed[x]", "Signature", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1080712414: /*fixedTiming*/ return new Property("fixed[x]", "Timing", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 207721853: /*fixedContactDetail*/ return new Property("fixed[x]", "ContactDetail", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1466191673: /*fixedContributor*/ return new Property("fixed[x]", "Contributor", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1546551259: /*fixedDataRequirement*/ return new Property("fixed[x]", "DataRequirement", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 2097714476: /*fixedExpression*/ return new Property("fixed[x]", "Expression", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -2126861880: /*fixedParameterDefinition*/ return new Property("fixed[x]", "ParameterDefinition", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -1508891383: /*fixedRelatedArtifact*/ return new Property("fixed[x]", "RelatedArtifact", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1929596951: /*fixedTriggerDefinition*/ return new Property("fixed[x]", "TriggerDefinition", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 1323734626: /*fixedUsageContext*/ return new Property("fixed[x]", "UsageContext", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 628357963: /*fixedDosage*/ return new Property("fixed[x]", "Dosage", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case 747280281: /*fixedMeta*/ return new Property("fixed[x]", "Meta", "Specifies a value that SHALL be exactly the value for this element in the instance. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); - case -885125392: /*pattern[x]*/ return new Property("pattern[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -791090288: /*pattern*/ return new Property("pattern[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 2127857120: /*patternBase64Binary*/ return new Property("pattern[x]", "base64Binary", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1776945544: /*patternBoolean*/ return new Property("pattern[x]", "boolean", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 522246980: /*patternCanonical*/ return new Property("pattern[x]", "canonical", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1669806691: /*patternCode*/ return new Property("pattern[x]", "code", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1669789858: /*patternDate*/ return new Property("pattern[x]", "date", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 535949131: /*patternDateTime*/ return new Property("pattern[x]", "dateTime", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -299393631: /*patternDecimal*/ return new Property("pattern[x]", "decimal", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -28553013: /*patternId*/ return new Property("pattern[x]", "id", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 115912753: /*patternInstant*/ return new Property("pattern[x]", "instant", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 116394894: /*patternInteger*/ return new Property("pattern[x]", "integer", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 186345164: /*patternInteger64*/ return new Property("pattern[x]", "integer64", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1009861473: /*patternMarkdown*/ return new Property("pattern[x]", "markdown", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -885137382: /*patternOid*/ return new Property("pattern[x]", "oid", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 2054814086: /*patternPositiveInt*/ return new Property("pattern[x]", "positiveInt", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 2096647105: /*patternString*/ return new Property("pattern[x]", "string", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1669305731: /*patternTime*/ return new Property("pattern[x]", "time", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -963691766: /*patternUnsignedInt*/ return new Property("pattern[x]", "unsignedInt", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -885131332: /*patternUri*/ return new Property("pattern[x]", "uri", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -885131329: /*patternUrl*/ return new Property("pattern[x]", "url", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1669264533: /*patternUuid*/ return new Property("pattern[x]", "uuid", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1305617988: /*patternAddress*/ return new Property("pattern[x]", "Address", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -885150897: /*patternAge*/ return new Property("pattern[x]", "Age", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1840611039: /*patternAnnotation*/ return new Property("pattern[x]", "Annotation", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1432153299: /*patternAttachment*/ return new Property("pattern[x]", "Attachment", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -400610831: /*patternCodeableConcept*/ return new Property("pattern[x]", "CodeableConcept", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1528639636: /*patternCodeableReference*/ return new Property("pattern[x]", "CodeableReference", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1633546010: /*patternCoding*/ return new Property("pattern[x]", "Coding", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 312818944: /*patternContactPoint*/ return new Property("pattern[x]", "ContactPoint", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -224383137: /*patternCount*/ return new Property("pattern[x]", "Count", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -968340571: /*patternDistance*/ return new Property("pattern[x]", "Distance", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1046154564: /*patternDuration*/ return new Property("pattern[x]", "Duration", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -717740120: /*patternHumanName*/ return new Property("pattern[x]", "HumanName", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1777221721: /*patternIdentifier*/ return new Property("pattern[x]", "Identifier", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -215154928: /*patternMoney*/ return new Property("pattern[x]", "Money", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1996906865: /*patternPeriod*/ return new Property("pattern[x]", "Period", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1753162811: /*patternQuantity*/ return new Property("pattern[x]", "Quantity", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -210954355: /*patternRange*/ return new Property("pattern[x]", "Range", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -210948517: /*patternRatio*/ return new Property("pattern[x]", "Ratio", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1201265570: /*patternRatioRange*/ return new Property("pattern[x]", "RatioRange", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1231260261: /*patternReference*/ return new Property("pattern[x]", "Reference", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1952450284: /*patternSampledData*/ return new Property("pattern[x]", "SampledData", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 767479560: /*patternSignature*/ return new Property("pattern[x]", "Signature", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 2114968570: /*patternTiming*/ return new Property("pattern[x]", "Timing", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 754982625: /*patternContactDetail*/ return new Property("pattern[x]", "ContactDetail", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 290800427: /*patternContributor*/ return new Property("pattern[x]", "Contributor", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 385040521: /*patternDataRequirement*/ return new Property("pattern[x]", "DataRequirement", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1600202312: /*patternExpression*/ return new Property("pattern[x]", "Expression", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 318609452: /*patternParameterDefinition*/ return new Property("pattern[x]", "ParameterDefinition", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 422700397: /*patternRelatedArtifact*/ return new Property("pattern[x]", "RelatedArtifact", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1531541637: /*patternTriggerDefinition*/ return new Property("pattern[x]", "TriggerDefinition", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -44085122: /*patternUsageContext*/ return new Property("pattern[x]", "UsageContext", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case 1662614119: /*patternDosage*/ return new Property("pattern[x]", "Dosage", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); - case -1669517899: /*patternMeta*/ return new Property("pattern[x]", "Meta", "Specifies a value that the value in the instance SHALL follow - that is, any value in the pattern must be found in the instance. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] array must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value.", 0, 1, pattern); + case -391522164: /*fixed[x]*/ return new Property("fixed[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 97445748: /*fixed*/ return new Property("fixed[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -799290428: /*fixedBase64Binary*/ return new Property("fixed[x]", "base64Binary", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 520851988: /*fixedBoolean*/ return new Property("fixed[x]", "boolean", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1092485088: /*fixedCanonical*/ return new Property("fixed[x]", "canonical", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 746991489: /*fixedCode*/ return new Property("fixed[x]", "code", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 747008322: /*fixedDate*/ return new Property("fixed[x]", "date", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1246771409: /*fixedDateTime*/ return new Property("fixed[x]", "dateTime", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1998403901: /*fixedDecimal*/ return new Property("fixed[x]", "decimal", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -843914321: /*fixedId*/ return new Property("fixed[x]", "id", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1881257011: /*fixedInstant*/ return new Property("fixed[x]", "instant", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1880774870: /*fixedInteger*/ return new Property("fixed[x]", "integer", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 756583272: /*fixedInteger64*/ return new Property("fixed[x]", "integer64", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1502385283: /*fixedMarkdown*/ return new Property("fixed[x]", "markdown", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -391534154: /*fixedOid*/ return new Property("fixed[x]", "oid", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 297821986: /*fixedPositiveInt*/ return new Property("fixed[x]", "positiveInt", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1062390949: /*fixedString*/ return new Property("fixed[x]", "string", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 747492449: /*fixedTime*/ return new Property("fixed[x]", "time", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1574283430: /*fixedUnsignedInt*/ return new Property("fixed[x]", "unsignedInt", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -391528104: /*fixedUri*/ return new Property("fixed[x]", "uri", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -391528101: /*fixedUrl*/ return new Property("fixed[x]", "url", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 747533647: /*fixedUuid*/ return new Property("fixed[x]", "uuid", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -691551776: /*fixedAddress*/ return new Property("fixed[x]", "Address", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -391547669: /*fixedAge*/ return new Property("fixed[x]", "Age", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1956844093: /*fixedAnnotation*/ return new Property("fixed[x]", "Annotation", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1929665463: /*fixedAttachment*/ return new Property("fixed[x]", "Attachment", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1962764685: /*fixedCodeableConcept*/ return new Property("fixed[x]", "CodeableConcept", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 694810928: /*fixedCodeableReference*/ return new Property("fixed[x]", "CodeableReference", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 599289854: /*fixedCoding*/ return new Property("fixed[x]", "Coding", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1680638692: /*fixedContactPoint*/ return new Property("fixed[x]", "ContactPoint", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1681916411: /*fixedCount*/ return new Property("fixed[x]", "Count", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1543906185: /*fixedDistance*/ return new Property("fixed[x]", "Distance", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -736565976: /*fixedDuration*/ return new Property("fixed[x]", "Duration", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -147502012: /*fixedHumanName*/ return new Property("fixed[x]", "HumanName", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -2020233411: /*fixedIdentifier*/ return new Property("fixed[x]", "Identifier", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1691144620: /*fixedMoney*/ return new Property("fixed[x]", "Money", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 962650709: /*fixedPeriod*/ return new Property("fixed[x]", "Period", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -29557729: /*fixedQuantity*/ return new Property("fixed[x]", "Quantity", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1695345193: /*fixedRange*/ return new Property("fixed[x]", "Range", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1695351031: /*fixedRatio*/ return new Property("fixed[x]", "Ratio", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1698777734: /*fixedRatioRange*/ return new Property("fixed[x]", "RatioRange", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -661022153: /*fixedReference*/ return new Property("fixed[x]", "Reference", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 585524912: /*fixedSampledData*/ return new Property("fixed[x]", "SampledData", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1337717668: /*fixedSignature*/ return new Property("fixed[x]", "Signature", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1080712414: /*fixedTiming*/ return new Property("fixed[x]", "Timing", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 207721853: /*fixedContactDetail*/ return new Property("fixed[x]", "ContactDetail", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1546551259: /*fixedDataRequirement*/ return new Property("fixed[x]", "DataRequirement", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 2097714476: /*fixedExpression*/ return new Property("fixed[x]", "Expression", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -2126861880: /*fixedParameterDefinition*/ return new Property("fixed[x]", "ParameterDefinition", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1508891383: /*fixedRelatedArtifact*/ return new Property("fixed[x]", "RelatedArtifact", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1929596951: /*fixedTriggerDefinition*/ return new Property("fixed[x]", "TriggerDefinition", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1323734626: /*fixedUsageContext*/ return new Property("fixed[x]", "UsageContext", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -1880702225: /*fixedAvailability*/ return new Property("fixed[x]", "Availability", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 1291235524: /*fixedExtendedContactDetail*/ return new Property("fixed[x]", "ExtendedContactDetail", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 628357963: /*fixedDosage*/ return new Property("fixed[x]", "Dosage", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case 747280281: /*fixedMeta*/ return new Property("fixed[x]", "Meta", "Specifies a value that SHALL be exactly the value for this element in the instance, if present. For purposes of comparison, non-significant whitespace is ignored, and all values must be an exact match (case and accent sensitive). Missing elements/attributes must also be missing.", 0, 1, fixed); + case -885125392: /*pattern[x]*/ return new Property("pattern[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -791090288: /*pattern*/ return new Property("pattern[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 2127857120: /*patternBase64Binary*/ return new Property("pattern[x]", "base64Binary", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1776945544: /*patternBoolean*/ return new Property("pattern[x]", "boolean", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 522246980: /*patternCanonical*/ return new Property("pattern[x]", "canonical", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1669806691: /*patternCode*/ return new Property("pattern[x]", "code", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1669789858: /*patternDate*/ return new Property("pattern[x]", "date", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 535949131: /*patternDateTime*/ return new Property("pattern[x]", "dateTime", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -299393631: /*patternDecimal*/ return new Property("pattern[x]", "decimal", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -28553013: /*patternId*/ return new Property("pattern[x]", "id", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 115912753: /*patternInstant*/ return new Property("pattern[x]", "instant", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 116394894: /*patternInteger*/ return new Property("pattern[x]", "integer", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 186345164: /*patternInteger64*/ return new Property("pattern[x]", "integer64", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1009861473: /*patternMarkdown*/ return new Property("pattern[x]", "markdown", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -885137382: /*patternOid*/ return new Property("pattern[x]", "oid", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 2054814086: /*patternPositiveInt*/ return new Property("pattern[x]", "positiveInt", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 2096647105: /*patternString*/ return new Property("pattern[x]", "string", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1669305731: /*patternTime*/ return new Property("pattern[x]", "time", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -963691766: /*patternUnsignedInt*/ return new Property("pattern[x]", "unsignedInt", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -885131332: /*patternUri*/ return new Property("pattern[x]", "uri", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -885131329: /*patternUrl*/ return new Property("pattern[x]", "url", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1669264533: /*patternUuid*/ return new Property("pattern[x]", "uuid", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1305617988: /*patternAddress*/ return new Property("pattern[x]", "Address", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -885150897: /*patternAge*/ return new Property("pattern[x]", "Age", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1840611039: /*patternAnnotation*/ return new Property("pattern[x]", "Annotation", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1432153299: /*patternAttachment*/ return new Property("pattern[x]", "Attachment", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -400610831: /*patternCodeableConcept*/ return new Property("pattern[x]", "CodeableConcept", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1528639636: /*patternCodeableReference*/ return new Property("pattern[x]", "CodeableReference", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1633546010: /*patternCoding*/ return new Property("pattern[x]", "Coding", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 312818944: /*patternContactPoint*/ return new Property("pattern[x]", "ContactPoint", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -224383137: /*patternCount*/ return new Property("pattern[x]", "Count", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -968340571: /*patternDistance*/ return new Property("pattern[x]", "Distance", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1046154564: /*patternDuration*/ return new Property("pattern[x]", "Duration", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -717740120: /*patternHumanName*/ return new Property("pattern[x]", "HumanName", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1777221721: /*patternIdentifier*/ return new Property("pattern[x]", "Identifier", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -215154928: /*patternMoney*/ return new Property("pattern[x]", "Money", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1996906865: /*patternPeriod*/ return new Property("pattern[x]", "Period", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1753162811: /*patternQuantity*/ return new Property("pattern[x]", "Quantity", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -210954355: /*patternRange*/ return new Property("pattern[x]", "Range", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -210948517: /*patternRatio*/ return new Property("pattern[x]", "Ratio", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1201265570: /*patternRatioRange*/ return new Property("pattern[x]", "RatioRange", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1231260261: /*patternReference*/ return new Property("pattern[x]", "Reference", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1952450284: /*patternSampledData*/ return new Property("pattern[x]", "SampledData", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 767479560: /*patternSignature*/ return new Property("pattern[x]", "Signature", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 2114968570: /*patternTiming*/ return new Property("pattern[x]", "Timing", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 754982625: /*patternContactDetail*/ return new Property("pattern[x]", "ContactDetail", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 385040521: /*patternDataRequirement*/ return new Property("pattern[x]", "DataRequirement", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1600202312: /*patternExpression*/ return new Property("pattern[x]", "Expression", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 318609452: /*patternParameterDefinition*/ return new Property("pattern[x]", "ParameterDefinition", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 422700397: /*patternRelatedArtifact*/ return new Property("pattern[x]", "RelatedArtifact", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1531541637: /*patternTriggerDefinition*/ return new Property("pattern[x]", "TriggerDefinition", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -44085122: /*patternUsageContext*/ return new Property("pattern[x]", "UsageContext", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1046445323: /*patternAvailability*/ return new Property("pattern[x]", "Availability", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 2042074664: /*patternExtendedContactDetail*/ return new Property("pattern[x]", "ExtendedContactDetail", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case 1662614119: /*patternDosage*/ return new Property("pattern[x]", "Dosage", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); + case -1669517899: /*patternMeta*/ return new Property("pattern[x]", "Meta", "Specifies a value that each occurrence of the element in the instance SHALL follow - that is, any value in the pattern must be found in the instance, if the element has a value. Other additional values may be found too. This is effectively constraint by example. \n\nWhen pattern[x] is used to constrain a primitive, it means that the value provided in the pattern[x] must match the instance value exactly.\n\nWhen an element within a pattern[x] is used to constrain an array, it means that each element provided in the pattern[x] must (recursively) match at least one element from the instance array.\n\nWhen pattern[x] is used to constrain a complex object, it means that each property in the pattern must be present in the complex object, and its value must recursively match -- i.e.,\n\n1. If primitive: it must match exactly the pattern value\n2. If a complex object: it must match (recursively) the pattern value\n3. If an array: it must match (recursively) the pattern value\n\nIf a pattern[x] is declared on a repeating element, the pattern applies to all repetitions. If the desire is for a pattern to apply to only one element or a subset of elements, slicing must be used. See [Examples of Patterns](elementdefinition-examples.html#pattern-examples) for examples of pattern usage and the effect it will have.", 0, 1, pattern); case -1322970774: /*example*/ return new Property("example", "", "A sample value for this element demonstrating the type of information that would typically be found in the element.", 0, java.lang.Integer.MAX_VALUE, example); case -55301663: /*minValue[x]*/ return new Property("minValue[x]", "date|dateTime|instant|time|decimal|integer|integer64|positiveInt|unsignedInt|Quantity", "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, minValue); case -1376969153: /*minValue*/ return new Property("minValue[x]", "date|dateTime|instant|time|decimal|integer|integer64|positiveInt|unsignedInt|Quantity", "The minimum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, minValue); @@ -10202,7 +10476,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper case 1605774985: /*maxValuePositiveInt*/ return new Property("maxValue[x]", "positiveInt", "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, maxValue); case -1412730867: /*maxValueUnsignedInt*/ return new Property("maxValue[x]", "unsignedInt", "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, maxValue); case -1378367976: /*maxValueQuantity*/ return new Property("maxValue[x]", "Quantity", "The maximum allowed value for the element. The value is inclusive. This is allowed for the types date, dateTime, instant, time, decimal, integer, and Quantity.", 0, 1, maxValue); - case -791400086: /*maxLength*/ return new Property("maxLength", "integer", "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element.", 0, 1, maxLength); + case -791400086: /*maxLength*/ return new Property("maxLength", "integer", "Indicates the maximum length in characters that is permitted to be present in conformant instances and which is expected to be supported by conformant consumers that support the element. ```maxLength``` SHOULD only be used on primitive data types that have a string representation (see [Datatype characteristics](extension-structuredefinition-type-characteristics.html)).", 0, 1, maxLength); case -861311717: /*condition*/ return new Property("condition", "id", "A reference to an invariant that may make additional statements about the cardinality or value in the instance.", 0, java.lang.Integer.MAX_VALUE, condition); case -190376483: /*constraint*/ return new Property("constraint", "", "Formal constraints such as co-occurrence and other constraints that can be computationally evaluated within the context of the instance.", 0, java.lang.Integer.MAX_VALUE, constraint); case -1402857082: /*mustSupport*/ return new Property("mustSupport", "boolean", "If true, implementations that produce or consume resources SHALL provide \"support\" for the element in some meaningful way. If false, the element may be ignored and not supported. If false, whether to populate or use the data element in any way is at the discretion of the implementation.", 0, 1, mustSupport); @@ -10512,11 +10786,11 @@ When pattern[x] is used to constrain a complex object, it means that each proper case 3016401: /*base*/ return new String[] {}; case 1193747154: /*contentReference*/ return new String[] {"uri"}; case 3575610: /*type*/ return new String[] {}; - case -659125328: /*defaultValue*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case -659125328: /*defaultValue*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; case 1857257103: /*meaningWhenMissing*/ return new String[] {"markdown"}; case 1828196047: /*orderMeaning*/ return new String[] {"string"}; - case 97445748: /*fixed*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; - case -791090288: /*pattern*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 97445748: /*fixed*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; + case -791090288: /*pattern*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; case -1322970774: /*example*/ return new String[] {}; case -1376969153: /*minValue*/ return new String[] {"date", "dateTime", "instant", "time", "decimal", "integer", "integer64", "positiveInt", "unsignedInt", "Quantity"}; case 399227501: /*maxValue*/ return new String[] {"date", "dateTime", "instant", "time", "decimal", "integer", "integer64", "positiveInt", "unsignedInt", "Quantity"}; @@ -10765,10 +11039,6 @@ When pattern[x] is used to constrain a complex object, it means that each proper this.defaultValue = new ContactDetail(); return this.defaultValue; } - else if (name.equals("defaultValueContributor")) { - this.defaultValue = new Contributor(); - return this.defaultValue; - } else if (name.equals("defaultValueDataRequirement")) { this.defaultValue = new DataRequirement(); return this.defaultValue; @@ -10793,6 +11063,14 @@ When pattern[x] is used to constrain a complex object, it means that each proper this.defaultValue = new UsageContext(); return this.defaultValue; } + else if (name.equals("defaultValueAvailability")) { + this.defaultValue = new Availability(); + return this.defaultValue; + } + else if (name.equals("defaultValueExtendedContactDetail")) { + this.defaultValue = new ExtendedContactDetail(); + return this.defaultValue; + } else if (name.equals("defaultValueDosage")) { this.defaultValue = new Dosage(); return this.defaultValue; @@ -10983,10 +11261,6 @@ When pattern[x] is used to constrain a complex object, it means that each proper this.fixed = new ContactDetail(); return this.fixed; } - else if (name.equals("fixedContributor")) { - this.fixed = new Contributor(); - return this.fixed; - } else if (name.equals("fixedDataRequirement")) { this.fixed = new DataRequirement(); return this.fixed; @@ -11011,6 +11285,14 @@ When pattern[x] is used to constrain a complex object, it means that each proper this.fixed = new UsageContext(); return this.fixed; } + else if (name.equals("fixedAvailability")) { + this.fixed = new Availability(); + return this.fixed; + } + else if (name.equals("fixedExtendedContactDetail")) { + this.fixed = new ExtendedContactDetail(); + return this.fixed; + } else if (name.equals("fixedDosage")) { this.fixed = new Dosage(); return this.fixed; @@ -11195,10 +11477,6 @@ When pattern[x] is used to constrain a complex object, it means that each proper this.pattern = new ContactDetail(); return this.pattern; } - else if (name.equals("patternContributor")) { - this.pattern = new Contributor(); - return this.pattern; - } else if (name.equals("patternDataRequirement")) { this.pattern = new DataRequirement(); return this.pattern; @@ -11223,6 +11501,14 @@ When pattern[x] is used to constrain a complex object, it means that each proper this.pattern = new UsageContext(); return this.pattern; } + else if (name.equals("patternAvailability")) { + this.pattern = new Availability(); + return this.pattern; + } + else if (name.equals("patternExtendedContactDetail")) { + this.pattern = new ExtendedContactDetail(); + return this.pattern; + } else if (name.equals("patternDosage")) { this.pattern = new Dosage(); return this.pattern; @@ -11594,6 +11880,7 @@ When pattern[x] is used to constrain a complex object, it means that each proper return getType().size() == 1 && Utilities.existsInList(getType().get(0).getCode(), "Element", "BackboneElement"); } + public boolean prohibited() { return "0".equals(getMax()); } @@ -11614,7 +11901,6 @@ When pattern[x] is used to constrain a complex object, it means that each proper return getMin() == 1; } - // end addition } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Encounter.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Encounter.java index 84079f384..43b062fdc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Encounter.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Encounter.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. + * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s). */ @ResourceDef(name="Encounter", profile="http://hl7.org/fhir/StructureDefinition/Encounter") public class Encounter extends DomainResource { @@ -194,6 +194,10 @@ public class Encounter extends DomainResource { * The Encounter has begun, but is currently on hold, e.g. because the patient is temporarily on leave. */ ONHOLD, + /** + * The Encounter has been clinically completed, the patient has been discharged from the facility or the visit has ended, and the patient may have departed (refer to subjectStatus). While the encounter is in this status, administrative activities are usually performed, collating all required documentation and charge information before being released for billing, at which point the status will move to completed. + */ + DISCHARGED, /** * The Encounter has ended. */ @@ -202,6 +206,10 @@ public class Encounter extends DomainResource { * The Encounter has ended before it has begun. */ CANCELLED, + /** + * The Encounter has started, but was not able to be completed. Further action may need to be performed, such as rescheduling appointments related to this encounter. + */ + DISCONTINUED, /** * This instance should not have been part of this patient's medical record. */ @@ -223,10 +231,14 @@ public class Encounter extends DomainResource { return INPROGRESS; if ("onhold".equals(codeString)) return ONHOLD; + if ("discharged".equals(codeString)) + return DISCHARGED; if ("completed".equals(codeString)) return COMPLETED; if ("cancelled".equals(codeString)) return CANCELLED; + if ("discontinued".equals(codeString)) + return DISCONTINUED; if ("entered-in-error".equals(codeString)) return ENTEREDINERROR; if ("unknown".equals(codeString)) @@ -241,8 +253,10 @@ public class Encounter extends DomainResource { case PLANNED: return "planned"; case INPROGRESS: return "in-progress"; case ONHOLD: return "onhold"; + case DISCHARGED: return "discharged"; case COMPLETED: return "completed"; case CANCELLED: return "cancelled"; + case DISCONTINUED: return "discontinued"; case ENTEREDINERROR: return "entered-in-error"; case UNKNOWN: return "unknown"; case NULL: return null; @@ -254,8 +268,10 @@ public class Encounter extends DomainResource { case PLANNED: return "http://hl7.org/fhir/encounter-status"; case INPROGRESS: return "http://hl7.org/fhir/encounter-status"; case ONHOLD: return "http://hl7.org/fhir/encounter-status"; + case DISCHARGED: return "http://hl7.org/fhir/encounter-status"; case COMPLETED: return "http://hl7.org/fhir/encounter-status"; case CANCELLED: return "http://hl7.org/fhir/encounter-status"; + case DISCONTINUED: return "http://hl7.org/fhir/encounter-status"; case ENTEREDINERROR: return "http://hl7.org/fhir/encounter-status"; case UNKNOWN: return "http://hl7.org/fhir/encounter-status"; case NULL: return null; @@ -267,8 +283,10 @@ public class Encounter extends DomainResource { case PLANNED: return "The Encounter has not yet started."; case INPROGRESS: return "The Encounter has begun and the patient is present / the practitioner and the patient are meeting."; case ONHOLD: return "The Encounter has begun, but is currently on hold, e.g. because the patient is temporarily on leave."; + case DISCHARGED: return "The Encounter has been clinically completed, the patient has been discharged from the facility or the visit has ended, and the patient may have departed (refer to subjectStatus). While the encounter is in this status, administrative activities are usually performed, collating all required documentation and charge information before being released for billing, at which point the status will move to completed."; case COMPLETED: return "The Encounter has ended."; case CANCELLED: return "The Encounter has ended before it has begun."; + case DISCONTINUED: return "The Encounter has started, but was not able to be completed. Further action may need to be performed, such as rescheduling appointments related to this encounter."; case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record."; case UNKNOWN: return "The encounter status is unknown. Note that \"unknown\" is a value of last resort and every attempt should be made to provide a meaningful value other than \"unknown\"."; case NULL: return null; @@ -280,8 +298,10 @@ public class Encounter extends DomainResource { case PLANNED: return "Planned"; case INPROGRESS: return "In Progress"; case ONHOLD: return "On Hold"; + case DISCHARGED: return "Discharged"; case COMPLETED: return "Completed"; case CANCELLED: return "Cancelled"; + case DISCONTINUED: return "Discontinued"; case ENTEREDINERROR: return "Entered in Error"; case UNKNOWN: return "Unknown"; case NULL: return null; @@ -301,10 +321,14 @@ public class Encounter extends DomainResource { return EncounterStatus.INPROGRESS; if ("onhold".equals(codeString)) return EncounterStatus.ONHOLD; + if ("discharged".equals(codeString)) + return EncounterStatus.DISCHARGED; if ("completed".equals(codeString)) return EncounterStatus.COMPLETED; if ("cancelled".equals(codeString)) return EncounterStatus.CANCELLED; + if ("discontinued".equals(codeString)) + return EncounterStatus.DISCONTINUED; if ("entered-in-error".equals(codeString)) return EncounterStatus.ENTEREDINERROR; if ("unknown".equals(codeString)) @@ -325,10 +349,14 @@ public class Encounter extends DomainResource { return new Enumeration(this, EncounterStatus.INPROGRESS); if ("onhold".equals(codeString)) return new Enumeration(this, EncounterStatus.ONHOLD); + if ("discharged".equals(codeString)) + return new Enumeration(this, EncounterStatus.DISCHARGED); if ("completed".equals(codeString)) return new Enumeration(this, EncounterStatus.COMPLETED); if ("cancelled".equals(codeString)) return new Enumeration(this, EncounterStatus.CANCELLED); + if ("discontinued".equals(codeString)) + return new Enumeration(this, EncounterStatus.DISCONTINUED); if ("entered-in-error".equals(codeString)) return new Enumeration(this, EncounterStatus.ENTEREDINERROR); if ("unknown".equals(codeString)) @@ -342,10 +370,14 @@ public class Encounter extends DomainResource { return "in-progress"; if (code == EncounterStatus.ONHOLD) return "onhold"; + if (code == EncounterStatus.DISCHARGED) + return "discharged"; if (code == EncounterStatus.COMPLETED) return "completed"; if (code == EncounterStatus.CANCELLED) return "cancelled"; + if (code == EncounterStatus.DISCONTINUED) + return "discontinued"; if (code == EncounterStatus.ENTEREDINERROR) return "entered-in-error"; if (code == EncounterStatus.UNKNOWN) @@ -360,10 +392,10 @@ public class Encounter extends DomainResource { @Block() public static class StatusHistoryComponent extends BackboneElement implements IBaseBackboneElement { /** - * planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. + * planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown. */ @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown", formalDefinition="planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown." ) + @Description(shortDefinition="planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown", formalDefinition="planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-status") protected Enumeration status; @@ -393,7 +425,7 @@ public class Encounter extends DomainResource { } /** - * @return {@link #status} (planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + * @return {@link #status} (planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ public Enumeration getStatusElement() { if (this.status == null) @@ -413,7 +445,7 @@ public class Encounter extends DomainResource { } /** - * @param value {@link #status} (planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + * @param value {@link #status} (planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ public StatusHistoryComponent setStatusElement(Enumeration value) { this.status = value; @@ -421,14 +453,14 @@ public class Encounter extends DomainResource { } /** - * @return planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. + * @return planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown. */ public EncounterStatus getStatus() { return this.status == null ? null : this.status.getValue(); } /** - * @param value planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. + * @param value planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown. */ public StatusHistoryComponent setStatus(EncounterStatus value) { if (this.status == null) @@ -463,14 +495,14 @@ public class Encounter extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("status", "code", "planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.", 0, 1, status)); + children.add(new Property("status", "code", "planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.", 0, 1, status)); children.add(new Property("period", "Period", "The time that the episode was in the specified status.", 0, 1, period)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -892481550: /*status*/ return new Property("status", "code", "planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.", 0, 1, status); + case -892481550: /*status*/ return new Property("status", "code", "planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.", 0, 1, status); case -991726143: /*period*/ return new Property("period", "Period", "The time that the episode was in the specified status.", 0, 1, period); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -597,7 +629,7 @@ public class Encounter extends DomainResource { */ @Child(name = "class", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="inpatient | outpatient | ambulatory | emergency +", formalDefinition="inpatient | outpatient | ambulatory | emergency +." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActEncounterCode") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/EncounterClass") protected Coding class_; /** @@ -819,10 +851,10 @@ public class Encounter extends DomainResource { protected Period period; /** - * Persons involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times. + * Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times. */ @Child(name = "actor", type = {Patient.class, Group.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Device.class, HealthcareService.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Persons involved in the encounter (including patient)", formalDefinition="Persons involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times." ) + @Description(shortDefinition="The individual, device, or service participating in the encounter", formalDefinition="Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times." ) protected Reference actor; private static final long serialVersionUID = 1982623707L; @@ -912,7 +944,7 @@ public class Encounter extends DomainResource { } /** - * @return {@link #actor} (Persons involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.) + * @return {@link #actor} (Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.) */ public Reference getActor() { if (this.actor == null) @@ -928,7 +960,7 @@ public class Encounter extends DomainResource { } /** - * @param value {@link #actor} (Persons involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.) + * @param value {@link #actor} (Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.) */ public EncounterParticipantComponent setActor(Reference value) { this.actor = value; @@ -939,7 +971,7 @@ public class Encounter extends DomainResource { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "Role of participant in encounter.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("period", "Period", "The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.", 0, 1, period)); - children.add(new Property("actor", "Reference(Patient|Group|RelatedPerson|Practitioner|PractitionerRole|Device|HealthcareService)", "Persons involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.", 0, 1, actor)); + children.add(new Property("actor", "Reference(Patient|Group|RelatedPerson|Practitioner|PractitionerRole|Device|HealthcareService)", "Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.", 0, 1, actor)); } @Override @@ -947,7 +979,7 @@ public class Encounter extends DomainResource { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Role of participant in encounter.", 0, java.lang.Integer.MAX_VALUE, type); case -991726143: /*period*/ return new Property("period", "Period", "The period of time that the specified participant participated in the encounter. These can overlap or be sub-sets of the overall encounter's period.", 0, 1, period); - case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Group|RelatedPerson|Practitioner|PractitionerRole|Device|HealthcareService)", "Persons involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.", 0, 1, actor); + case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Group|RelatedPerson|Practitioner|PractitionerRole|Device|HealthcareService)", "Person involved in the encounter, the patient/group is also included here to indicate that the patient was actually participating in the encounter. Not including the patient here covers use cases such as a case meeting between practitioners about a patient - non contact times.", 0, 1, actor); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1360,7 +1392,7 @@ public class Encounter extends DomainResource { } @Block() - public static class EncounterHospitalizationComponent extends BackboneElement implements IBaseBackboneElement { + public static class EncounterAdmissionComponent extends BackboneElement implements IBaseBackboneElement { /** * Pre-admission identifier. */ @@ -1384,10 +1416,10 @@ public class Encounter extends DomainResource { protected CodeableConcept admitSource; /** - * Whether this hospitalization is a readmission and why if known. + * Whether this admission is a readmission and why if known. */ @Child(name = "reAdmission", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The type of hospital re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission", formalDefinition="Whether this hospitalization is a readmission and why if known." ) + @Description(shortDefinition="The type of re-admission that has occurred (if any). If the value is absent, then this is not identified as a readmission", formalDefinition="Whether this admission is a readmission and why if known." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0092") protected CodeableConcept reAdmission; @@ -1408,10 +1440,10 @@ public class Encounter extends DomainResource { protected List specialCourtesy; /** - * Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things. + * Any special requests that have been made for this admission encounter, such as the provision of specific equipment or other things. */ @Child(name = "specialArrangement", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Wheelchair, translator, stretcher, etc.", formalDefinition="Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things." ) + @Description(shortDefinition="Wheelchair, translator, stretcher, etc.", formalDefinition="Any special requests that have been made for this admission encounter, such as the provision of specific equipment or other things." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-special-arrangements") protected List specialArrangement; @@ -1435,7 +1467,7 @@ public class Encounter extends DomainResource { /** * Constructor */ - public EncounterHospitalizationComponent() { + public EncounterAdmissionComponent() { super(); } @@ -1445,7 +1477,7 @@ public class Encounter extends DomainResource { public Identifier getPreAdmissionIdentifier() { if (this.preAdmissionIdentifier == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterHospitalizationComponent.preAdmissionIdentifier"); + throw new Error("Attempt to auto-create EncounterAdmissionComponent.preAdmissionIdentifier"); else if (Configuration.doAutoCreate()) this.preAdmissionIdentifier = new Identifier(); // cc return this.preAdmissionIdentifier; @@ -1458,7 +1490,7 @@ public class Encounter extends DomainResource { /** * @param value {@link #preAdmissionIdentifier} (Pre-admission identifier.) */ - public EncounterHospitalizationComponent setPreAdmissionIdentifier(Identifier value) { + public EncounterAdmissionComponent setPreAdmissionIdentifier(Identifier value) { this.preAdmissionIdentifier = value; return this; } @@ -1469,7 +1501,7 @@ public class Encounter extends DomainResource { public Reference getOrigin() { if (this.origin == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterHospitalizationComponent.origin"); + throw new Error("Attempt to auto-create EncounterAdmissionComponent.origin"); else if (Configuration.doAutoCreate()) this.origin = new Reference(); // cc return this.origin; @@ -1482,7 +1514,7 @@ public class Encounter extends DomainResource { /** * @param value {@link #origin} (The location/organization from which the patient came before admission.) */ - public EncounterHospitalizationComponent setOrigin(Reference value) { + public EncounterAdmissionComponent setOrigin(Reference value) { this.origin = value; return this; } @@ -1493,7 +1525,7 @@ public class Encounter extends DomainResource { public CodeableConcept getAdmitSource() { if (this.admitSource == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterHospitalizationComponent.admitSource"); + throw new Error("Attempt to auto-create EncounterAdmissionComponent.admitSource"); else if (Configuration.doAutoCreate()) this.admitSource = new CodeableConcept(); // cc return this.admitSource; @@ -1506,18 +1538,18 @@ public class Encounter extends DomainResource { /** * @param value {@link #admitSource} (From where patient was admitted (physician referral, transfer).) */ - public EncounterHospitalizationComponent setAdmitSource(CodeableConcept value) { + public EncounterAdmissionComponent setAdmitSource(CodeableConcept value) { this.admitSource = value; return this; } /** - * @return {@link #reAdmission} (Whether this hospitalization is a readmission and why if known.) + * @return {@link #reAdmission} (Whether this admission is a readmission and why if known.) */ public CodeableConcept getReAdmission() { if (this.reAdmission == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterHospitalizationComponent.reAdmission"); + throw new Error("Attempt to auto-create EncounterAdmissionComponent.reAdmission"); else if (Configuration.doAutoCreate()) this.reAdmission = new CodeableConcept(); // cc return this.reAdmission; @@ -1528,9 +1560,9 @@ public class Encounter extends DomainResource { } /** - * @param value {@link #reAdmission} (Whether this hospitalization is a readmission and why if known.) + * @param value {@link #reAdmission} (Whether this admission is a readmission and why if known.) */ - public EncounterHospitalizationComponent setReAdmission(CodeableConcept value) { + public EncounterAdmissionComponent setReAdmission(CodeableConcept value) { this.reAdmission = value; return this; } @@ -1547,7 +1579,7 @@ public class Encounter extends DomainResource { /** * @return Returns a reference to this for easy method chaining */ - public EncounterHospitalizationComponent setDietPreference(List theDietPreference) { + public EncounterAdmissionComponent setDietPreference(List theDietPreference) { this.dietPreference = theDietPreference; return this; } @@ -1569,7 +1601,7 @@ public class Encounter extends DomainResource { return t; } - public EncounterHospitalizationComponent addDietPreference(CodeableConcept t) { //3 + public EncounterAdmissionComponent addDietPreference(CodeableConcept t) { //3 if (t == null) return this; if (this.dietPreference == null) @@ -1600,7 +1632,7 @@ public class Encounter extends DomainResource { /** * @return Returns a reference to this for easy method chaining */ - public EncounterHospitalizationComponent setSpecialCourtesy(List theSpecialCourtesy) { + public EncounterAdmissionComponent setSpecialCourtesy(List theSpecialCourtesy) { this.specialCourtesy = theSpecialCourtesy; return this; } @@ -1622,7 +1654,7 @@ public class Encounter extends DomainResource { return t; } - public EncounterHospitalizationComponent addSpecialCourtesy(CodeableConcept t) { //3 + public EncounterAdmissionComponent addSpecialCourtesy(CodeableConcept t) { //3 if (t == null) return this; if (this.specialCourtesy == null) @@ -1642,7 +1674,7 @@ public class Encounter extends DomainResource { } /** - * @return {@link #specialArrangement} (Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.) + * @return {@link #specialArrangement} (Any special requests that have been made for this admission encounter, such as the provision of specific equipment or other things.) */ public List getSpecialArrangement() { if (this.specialArrangement == null) @@ -1653,7 +1685,7 @@ public class Encounter extends DomainResource { /** * @return Returns a reference to this for easy method chaining */ - public EncounterHospitalizationComponent setSpecialArrangement(List theSpecialArrangement) { + public EncounterAdmissionComponent setSpecialArrangement(List theSpecialArrangement) { this.specialArrangement = theSpecialArrangement; return this; } @@ -1675,7 +1707,7 @@ public class Encounter extends DomainResource { return t; } - public EncounterHospitalizationComponent addSpecialArrangement(CodeableConcept t) { //3 + public EncounterAdmissionComponent addSpecialArrangement(CodeableConcept t) { //3 if (t == null) return this; if (this.specialArrangement == null) @@ -1700,7 +1732,7 @@ public class Encounter extends DomainResource { public Reference getDestination() { if (this.destination == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterHospitalizationComponent.destination"); + throw new Error("Attempt to auto-create EncounterAdmissionComponent.destination"); else if (Configuration.doAutoCreate()) this.destination = new Reference(); // cc return this.destination; @@ -1713,7 +1745,7 @@ public class Encounter extends DomainResource { /** * @param value {@link #destination} (Location/organization to which the patient is discharged.) */ - public EncounterHospitalizationComponent setDestination(Reference value) { + public EncounterAdmissionComponent setDestination(Reference value) { this.destination = value; return this; } @@ -1724,7 +1756,7 @@ public class Encounter extends DomainResource { public CodeableConcept getDischargeDisposition() { if (this.dischargeDisposition == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterHospitalizationComponent.dischargeDisposition"); + throw new Error("Attempt to auto-create EncounterAdmissionComponent.dischargeDisposition"); else if (Configuration.doAutoCreate()) this.dischargeDisposition = new CodeableConcept(); // cc return this.dischargeDisposition; @@ -1737,7 +1769,7 @@ public class Encounter extends DomainResource { /** * @param value {@link #dischargeDisposition} (Category or kind of location after discharge.) */ - public EncounterHospitalizationComponent setDischargeDisposition(CodeableConcept value) { + public EncounterAdmissionComponent setDischargeDisposition(CodeableConcept value) { this.dischargeDisposition = value; return this; } @@ -1747,10 +1779,10 @@ public class Encounter extends DomainResource { children.add(new Property("preAdmissionIdentifier", "Identifier", "Pre-admission identifier.", 0, 1, preAdmissionIdentifier)); children.add(new Property("origin", "Reference(Location|Organization)", "The location/organization from which the patient came before admission.", 0, 1, origin)); children.add(new Property("admitSource", "CodeableConcept", "From where patient was admitted (physician referral, transfer).", 0, 1, admitSource)); - children.add(new Property("reAdmission", "CodeableConcept", "Whether this hospitalization is a readmission and why if known.", 0, 1, reAdmission)); + children.add(new Property("reAdmission", "CodeableConcept", "Whether this admission is a readmission and why if known.", 0, 1, reAdmission)); children.add(new Property("dietPreference", "CodeableConcept", "Diet preferences reported by the patient.", 0, java.lang.Integer.MAX_VALUE, dietPreference)); children.add(new Property("specialCourtesy", "CodeableConcept", "Special courtesies (VIP, board member).", 0, java.lang.Integer.MAX_VALUE, specialCourtesy)); - children.add(new Property("specialArrangement", "CodeableConcept", "Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.", 0, java.lang.Integer.MAX_VALUE, specialArrangement)); + children.add(new Property("specialArrangement", "CodeableConcept", "Any special requests that have been made for this admission encounter, such as the provision of specific equipment or other things.", 0, java.lang.Integer.MAX_VALUE, specialArrangement)); children.add(new Property("destination", "Reference(Location|Organization)", "Location/organization to which the patient is discharged.", 0, 1, destination)); children.add(new Property("dischargeDisposition", "CodeableConcept", "Category or kind of location after discharge.", 0, 1, dischargeDisposition)); } @@ -1761,10 +1793,10 @@ public class Encounter extends DomainResource { case -965394961: /*preAdmissionIdentifier*/ return new Property("preAdmissionIdentifier", "Identifier", "Pre-admission identifier.", 0, 1, preAdmissionIdentifier); case -1008619738: /*origin*/ return new Property("origin", "Reference(Location|Organization)", "The location/organization from which the patient came before admission.", 0, 1, origin); case 538887120: /*admitSource*/ return new Property("admitSource", "CodeableConcept", "From where patient was admitted (physician referral, transfer).", 0, 1, admitSource); - case 669348630: /*reAdmission*/ return new Property("reAdmission", "CodeableConcept", "Whether this hospitalization is a readmission and why if known.", 0, 1, reAdmission); + case 669348630: /*reAdmission*/ return new Property("reAdmission", "CodeableConcept", "Whether this admission is a readmission and why if known.", 0, 1, reAdmission); case -1360641041: /*dietPreference*/ return new Property("dietPreference", "CodeableConcept", "Diet preferences reported by the patient.", 0, java.lang.Integer.MAX_VALUE, dietPreference); case 1583588345: /*specialCourtesy*/ return new Property("specialCourtesy", "CodeableConcept", "Special courtesies (VIP, board member).", 0, java.lang.Integer.MAX_VALUE, specialCourtesy); - case 47410321: /*specialArrangement*/ return new Property("specialArrangement", "CodeableConcept", "Any special requests that have been made for this hospitalization encounter, such as the provision of specific equipment or other things.", 0, java.lang.Integer.MAX_VALUE, specialArrangement); + case 47410321: /*specialArrangement*/ return new Property("specialArrangement", "CodeableConcept", "Any special requests that have been made for this admission encounter, such as the provision of specific equipment or other things.", 0, java.lang.Integer.MAX_VALUE, specialArrangement); case -1429847026: /*destination*/ return new Property("destination", "Reference(Location|Organization)", "Location/organization to which the patient is discharged.", 0, 1, destination); case 528065941: /*dischargeDisposition*/ return new Property("dischargeDisposition", "CodeableConcept", "Category or kind of location after discharge.", 0, 1, dischargeDisposition); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1922,13 +1954,13 @@ public class Encounter extends DomainResource { return super.addChild(name); } - public EncounterHospitalizationComponent copy() { - EncounterHospitalizationComponent dst = new EncounterHospitalizationComponent(); + public EncounterAdmissionComponent copy() { + EncounterAdmissionComponent dst = new EncounterAdmissionComponent(); copyValues(dst); return dst; } - public void copyValues(EncounterHospitalizationComponent dst) { + public void copyValues(EncounterAdmissionComponent dst) { super.copyValues(dst); dst.preAdmissionIdentifier = preAdmissionIdentifier == null ? null : preAdmissionIdentifier.copy(); dst.origin = origin == null ? null : origin.copy(); @@ -1957,9 +1989,9 @@ public class Encounter extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof EncounterHospitalizationComponent)) + if (!(other_ instanceof EncounterAdmissionComponent)) return false; - EncounterHospitalizationComponent o = (EncounterHospitalizationComponent) other_; + EncounterAdmissionComponent o = (EncounterAdmissionComponent) other_; return compareDeep(preAdmissionIdentifier, o.preAdmissionIdentifier, true) && compareDeep(origin, o.origin, true) && compareDeep(admitSource, o.admitSource, true) && compareDeep(reAdmission, o.reAdmission, true) && compareDeep(dietPreference, o.dietPreference, true) && compareDeep(specialCourtesy, o.specialCourtesy, true) @@ -1971,9 +2003,9 @@ public class Encounter extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof EncounterHospitalizationComponent)) + if (!(other_ instanceof EncounterAdmissionComponent)) return false; - EncounterHospitalizationComponent o = (EncounterHospitalizationComponent) other_; + EncounterAdmissionComponent o = (EncounterAdmissionComponent) other_; return true; } @@ -1984,7 +2016,7 @@ public class Encounter extends DomainResource { } public String fhirType() { - return "Encounter.hospitalization"; + return "Encounter.admission"; } @@ -2010,10 +2042,10 @@ public class Encounter extends DomainResource { /** * This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query. */ - @Child(name = "physicalType", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The physical type of the location (usually the level in the location hierachy - bed room ward etc.)", formalDefinition="This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-physical-type") - protected CodeableConcept physicalType; + @Child(name = "form", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The physical type of the location (usually the level in the location hierarchy - bed, room, ward, virtual etc.)", formalDefinition="This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-form") + protected CodeableConcept form; /** * Time period during which the patient was present at the location. @@ -2022,7 +2054,7 @@ public class Encounter extends DomainResource { @Description(shortDefinition="Time period during which the patient was present at the location", formalDefinition="Time period during which the patient was present at the location." ) protected Period period; - private static final long serialVersionUID = 1804020723L; + private static final long serialVersionUID = -1665957440L; /** * Constructor @@ -2113,26 +2145,26 @@ public class Encounter extends DomainResource { } /** - * @return {@link #physicalType} (This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.) + * @return {@link #form} (This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.) */ - public CodeableConcept getPhysicalType() { - if (this.physicalType == null) + public CodeableConcept getForm() { + if (this.form == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EncounterLocationComponent.physicalType"); + throw new Error("Attempt to auto-create EncounterLocationComponent.form"); else if (Configuration.doAutoCreate()) - this.physicalType = new CodeableConcept(); // cc - return this.physicalType; + this.form = new CodeableConcept(); // cc + return this.form; } - public boolean hasPhysicalType() { - return this.physicalType != null && !this.physicalType.isEmpty(); + public boolean hasForm() { + return this.form != null && !this.form.isEmpty(); } /** - * @param value {@link #physicalType} (This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.) + * @param value {@link #form} (This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.) */ - public EncounterLocationComponent setPhysicalType(CodeableConcept value) { - this.physicalType = value; + public EncounterLocationComponent setForm(CodeableConcept value) { + this.form = value; return this; } @@ -2164,7 +2196,7 @@ public class Encounter extends DomainResource { super.listChildren(children); children.add(new Property("location", "Reference(Location)", "The location where the encounter takes place.", 0, 1, location)); children.add(new Property("status", "code", "The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/time.", 0, 1, status)); - children.add(new Property("physicalType", "CodeableConcept", "This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.", 0, 1, physicalType)); + children.add(new Property("form", "CodeableConcept", "This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.", 0, 1, form)); children.add(new Property("period", "Period", "Time period during which the patient was present at the location.", 0, 1, period)); } @@ -2173,7 +2205,7 @@ public class Encounter extends DomainResource { switch (_hash) { case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location where the encounter takes place.", 0, 1, location); case -892481550: /*status*/ return new Property("status", "code", "The status of the participants' presence at the specified location during the period specified. If the participant is no longer at the location, then the period will have an end date/time.", 0, 1, status); - case -1474715471: /*physicalType*/ return new Property("physicalType", "CodeableConcept", "This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.", 0, 1, physicalType); + case 3148996: /*form*/ return new Property("form", "CodeableConcept", "This will be used to specify the required levels (bed/ward/room/etc.) desired to be recorded to simplify either messaging or query.", 0, 1, form); case -991726143: /*period*/ return new Property("period", "Period", "Time period during which the patient was present at the location.", 0, 1, period); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2185,7 +2217,7 @@ public class Encounter extends DomainResource { switch (hash) { case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case -1474715471: /*physicalType*/ return this.physicalType == null ? new Base[0] : new Base[] {this.physicalType}; // CodeableConcept + case 3148996: /*form*/ return this.form == null ? new Base[0] : new Base[] {this.form}; // CodeableConcept case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period default: return super.getProperty(hash, name, checkValid); } @@ -2202,8 +2234,8 @@ public class Encounter extends DomainResource { value = new EncounterLocationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration return value; - case -1474715471: // physicalType - this.physicalType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 3148996: // form + this.form = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -991726143: // period this.period = TypeConvertor.castToPeriod(value); // Period @@ -2220,8 +2252,8 @@ public class Encounter extends DomainResource { } else if (name.equals("status")) { value = new EncounterLocationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration - } else if (name.equals("physicalType")) { - this.physicalType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("form")) { + this.form = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("period")) { this.period = TypeConvertor.castToPeriod(value); // Period } else @@ -2234,7 +2266,7 @@ public class Encounter extends DomainResource { switch (hash) { case 1901043637: return getLocation(); case -892481550: return getStatusElement(); - case -1474715471: return getPhysicalType(); + case 3148996: return getForm(); case -991726143: return getPeriod(); default: return super.makeProperty(hash, name); } @@ -2246,7 +2278,7 @@ public class Encounter extends DomainResource { switch (hash) { case 1901043637: /*location*/ return new String[] {"Reference"}; case -892481550: /*status*/ return new String[] {"code"}; - case -1474715471: /*physicalType*/ return new String[] {"CodeableConcept"}; + case 3148996: /*form*/ return new String[] {"CodeableConcept"}; case -991726143: /*period*/ return new String[] {"Period"}; default: return super.getTypesForProperty(hash, name); } @@ -2262,9 +2294,9 @@ public class Encounter extends DomainResource { else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type Encounter.location.status"); } - else if (name.equals("physicalType")) { - this.physicalType = new CodeableConcept(); - return this.physicalType; + else if (name.equals("form")) { + this.form = new CodeableConcept(); + return this.form; } else if (name.equals("period")) { this.period = new Period(); @@ -2284,7 +2316,7 @@ public class Encounter extends DomainResource { super.copyValues(dst); dst.location = location == null ? null : location.copy(); dst.status = status == null ? null : status.copy(); - dst.physicalType = physicalType == null ? null : physicalType.copy(); + dst.form = form == null ? null : form.copy(); dst.period = period == null ? null : period.copy(); } @@ -2295,7 +2327,7 @@ public class Encounter extends DomainResource { if (!(other_ instanceof EncounterLocationComponent)) return false; EncounterLocationComponent o = (EncounterLocationComponent) other_; - return compareDeep(location, o.location, true) && compareDeep(status, o.status, true) && compareDeep(physicalType, o.physicalType, true) + return compareDeep(location, o.location, true) && compareDeep(status, o.status, true) && compareDeep(form, o.form, true) && compareDeep(period, o.period, true); } @@ -2310,8 +2342,8 @@ public class Encounter extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(location, status, physicalType - , period); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(location, status, form, period + ); } public String fhirType() { @@ -2329,10 +2361,10 @@ public class Encounter extends DomainResource { protected List identifier; /** - * planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. + * planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown. */ @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) - @Description(shortDefinition="planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown", formalDefinition="planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown." ) + @Description(shortDefinition="planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown", formalDefinition="planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-status") protected Enumeration status; @@ -2346,10 +2378,10 @@ public class Encounter extends DomainResource { /** * Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations. */ - @Child(name = "class", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Child(name = "class", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Classification of patient encounter", formalDefinition="Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActEncounterCode") - protected CodeableConcept class_; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/EncounterClass") + protected List class_; /** * The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient. @@ -2358,10 +2390,18 @@ public class Encounter extends DomainResource { @Description(shortDefinition="List of past encounter classes", formalDefinition="The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient." ) protected List classHistory; + /** + * Indicates the urgency of the encounter. + */ + @Child(name = "priority", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Indicates the urgency of the encounter", formalDefinition="Indicates the urgency of the encounter." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActPriority") + protected CodeableConcept priority; + /** * Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation). */ - @Child(name = "type", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "type", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Specific type of encounter", formalDefinition="Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-type") protected List type; @@ -2369,24 +2409,16 @@ public class Encounter extends DomainResource { /** * Broad categorization of the service that is to be provided (e.g. cardiology). */ - @Child(name = "serviceType", type = {CodeableReference.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "serviceType", type = {CodeableReference.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Specific type of service", formalDefinition="Broad categorization of the service that is to be provided (e.g. cardiology)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-type") - protected CodeableReference serviceType; + protected List serviceType; /** - * Indicates the urgency of the encounter. - */ - @Child(name = "priority", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Indicates the urgency of the encounter", formalDefinition="Indicates the urgency of the encounter." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-ActPriority") - protected CodeableConcept priority; - - /** - * The patient or group present at the encounter. + * The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam. */ @Child(name = "subject", type = {Patient.class, Group.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="The patient or group present at the encounter", formalDefinition="The patient or group present at the encounter." ) + @Description(shortDefinition="The patient or group related to this encounter", formalDefinition="The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam." ) protected Reference subject; /** @@ -2411,52 +2443,80 @@ public class Encounter extends DomainResource { @Description(shortDefinition="The request that initiated this encounter", formalDefinition="The request this encounter satisfies (e.g. incoming referral or procedure request)." ) protected List basedOn; + /** + * The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter. + */ + @Child(name = "careTeam", type = {CareTeam.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The group(s) that are allocated to participate in this encounter", formalDefinition="The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter." ) + protected List careTeam; + + /** + * Another Encounter of which this encounter is a part of (administratively or in time). + */ + @Child(name = "partOf", type = {Encounter.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Another Encounter this encounter is part of", formalDefinition="Another Encounter of which this encounter is a part of (administratively or in time)." ) + protected Reference partOf; + + /** + * The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy. + */ + @Child(name = "serviceProvider", type = {Organization.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The organization (facility) responsible for this encounter", formalDefinition="The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy." ) + protected Reference serviceProvider; + /** * The list of people responsible for providing the service. */ - @Child(name = "participant", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "participant", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="List of participants involved in the encounter", formalDefinition="The list of people responsible for providing the service." ) protected List participant; /** * The appointment that scheduled this encounter. */ - @Child(name = "appointment", type = {Appointment.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "appointment", type = {Appointment.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The appointment that scheduled this encounter", formalDefinition="The appointment that scheduled this encounter." ) protected List appointment; + /** + * Connection details of a virtual service (e.g. conference call). + */ + @Child(name = "virtualService", type = {VirtualServiceDetail.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Connection details of a virtual service (e.g. conference call)", formalDefinition="Connection details of a virtual service (e.g. conference call)." ) + protected List virtualService; + /** * The actual start and end time of the encounter. */ - @Child(name = "actualPeriod", type = {Period.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "actualPeriod", type = {Period.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The actual start and end time of the encounter", formalDefinition="The actual start and end time of the encounter." ) protected Period actualPeriod; /** * The planned start date/time (or admission date) of the encounter. */ - @Child(name = "plannedStartDate", type = {DateTimeType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "plannedStartDate", type = {DateTimeType.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The planned start date/time (or admission date) of the encounter", formalDefinition="The planned start date/time (or admission date) of the encounter." ) protected DateTimeType plannedStartDate; /** * The planned end date/time (or discharge date) of the encounter. */ - @Child(name = "plannedEndDate", type = {DateTimeType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "plannedEndDate", type = {DateTimeType.class}, order=20, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The planned end date/time (or discharge date) of the encounter", formalDefinition="The planned end date/time (or discharge date) of the encounter." ) protected DateTimeType plannedEndDate; /** - * Quantity of time the encounter lasted. This excludes the time during leaves of absence. + * Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values. */ - @Child(name = "length", type = {Duration.class}, order=17, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Quantity of time the encounter lasted (less time absent)", formalDefinition="Quantity of time the encounter lasted. This excludes the time during leaves of absence." ) + @Child(name = "length", type = {Duration.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Actual quantity of time the encounter lasted (less time absent)", formalDefinition="Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.\r\rWhen missing it is the time in between the start and end values." ) protected Duration length; /** * Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis. */ - @Child(name = "reason", type = {CodeableReference.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "reason", type = {CodeableReference.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Reason the encounter takes place (core or reference)", formalDefinition="Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-reason") protected List reason; @@ -2464,46 +2524,32 @@ public class Encounter extends DomainResource { /** * The list of diagnosis relevant to this encounter. */ - @Child(name = "diagnosis", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "diagnosis", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The list of diagnosis relevant to this encounter", formalDefinition="The list of diagnosis relevant to this encounter." ) protected List diagnosis; /** * The set of accounts that may be used for billing for this Encounter. */ - @Child(name = "account", type = {Account.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "account", type = {Account.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The set of accounts that may be used for billing for this Encounter", formalDefinition="The set of accounts that may be used for billing for this Encounter." ) protected List account; /** * Details about the admission to a healthcare service. */ - @Child(name = "hospitalization", type = {}, order=21, min=0, max=1, modifier=false, summary=false) + @Child(name = "admission", type = {}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Details about the admission to a healthcare service", formalDefinition="Details about the admission to a healthcare service." ) - protected EncounterHospitalizationComponent hospitalization; + protected EncounterAdmissionComponent admission; /** * List of locations where the patient has been during this encounter. */ - @Child(name = "location", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "location", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="List of locations where the patient has been", formalDefinition="List of locations where the patient has been during this encounter." ) protected List location; - /** - * The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy. - */ - @Child(name = "serviceProvider", type = {Organization.class}, order=23, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The organization (facility) responsible for this encounter", formalDefinition="The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy." ) - protected Reference serviceProvider; - - /** - * Another Encounter of which this encounter is a part of (administratively or in time). - */ - @Child(name = "partOf", type = {Encounter.class}, order=24, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Another Encounter this encounter is part of", formalDefinition="Another Encounter of which this encounter is a part of (administratively or in time)." ) - protected Reference partOf; - - private static final long serialVersionUID = 200036296L; + private static final long serialVersionUID = -983972566L; /** * Constructor @@ -2515,10 +2561,9 @@ public class Encounter extends DomainResource { /** * Constructor */ - public Encounter(EncounterStatus status, CodeableConcept class_) { + public Encounter(EncounterStatus status) { super(); this.setStatus(status); - this.setClass_(class_); } /** @@ -2575,7 +2620,7 @@ public class Encounter extends DomainResource { } /** - * @return {@link #status} (planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + * @return {@link #status} (planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ public Enumeration getStatusElement() { if (this.status == null) @@ -2595,7 +2640,7 @@ public class Encounter extends DomainResource { } /** - * @param value {@link #status} (planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + * @param value {@link #status} (planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ public Encounter setStatusElement(Enumeration value) { this.status = value; @@ -2603,14 +2648,14 @@ public class Encounter extends DomainResource { } /** - * @return planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. + * @return planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown. */ public EncounterStatus getStatus() { return this.status == null ? null : this.status.getValue(); } /** - * @param value planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown. + * @param value planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown. */ public Encounter setStatus(EncounterStatus value) { if (this.status == null) @@ -2675,25 +2720,54 @@ public class Encounter extends DomainResource { /** * @return {@link #class_} (Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.) */ - public CodeableConcept getClass_() { + public List getClass_() { if (this.class_ == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Encounter.class_"); - else if (Configuration.doAutoCreate()) - this.class_ = new CodeableConcept(); // cc + this.class_ = new ArrayList(); return this.class_; } + /** + * @return Returns a reference to this for easy method chaining + */ + public Encounter setClass_(List theClass_) { + this.class_ = theClass_; + return this; + } + public boolean hasClass_() { - return this.class_ != null && !this.class_.isEmpty(); + if (this.class_ == null) + return false; + for (CodeableConcept item : this.class_) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addClass_() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.class_ == null) + this.class_ = new ArrayList(); + this.class_.add(t); + return t; + } + + public Encounter addClass_(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.class_ == null) + this.class_ = new ArrayList(); + this.class_.add(t); + return this; } /** - * @param value {@link #class_} (Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.) + * @return The first repetition of repeating field {@link #class_}, creating it if it does not already exist {3} */ - public Encounter setClass_(CodeableConcept value) { - this.class_ = value; - return this; + public CodeableConcept getClass_FirstRep() { + if (getClass_().isEmpty()) { + addClass_(); + } + return getClass_().get(0); } /** @@ -2749,6 +2823,30 @@ public class Encounter extends DomainResource { return getClassHistory().get(0); } + /** + * @return {@link #priority} (Indicates the urgency of the encounter.) + */ + public CodeableConcept getPriority() { + if (this.priority == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Encounter.priority"); + else if (Configuration.doAutoCreate()) + this.priority = new CodeableConcept(); // cc + return this.priority; + } + + public boolean hasPriority() { + return this.priority != null && !this.priority.isEmpty(); + } + + /** + * @param value {@link #priority} (Indicates the urgency of the encounter.) + */ + public Encounter setPriority(CodeableConcept value) { + this.priority = value; + return this; + } + /** * @return {@link #type} (Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).) */ @@ -2805,53 +2903,58 @@ public class Encounter extends DomainResource { /** * @return {@link #serviceType} (Broad categorization of the service that is to be provided (e.g. cardiology).) */ - public CodeableReference getServiceType() { + public List getServiceType() { if (this.serviceType == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Encounter.serviceType"); - else if (Configuration.doAutoCreate()) - this.serviceType = new CodeableReference(); // cc + this.serviceType = new ArrayList(); return this.serviceType; } + /** + * @return Returns a reference to this for easy method chaining + */ + public Encounter setServiceType(List theServiceType) { + this.serviceType = theServiceType; + return this; + } + public boolean hasServiceType() { - return this.serviceType != null && !this.serviceType.isEmpty(); + if (this.serviceType == null) + return false; + for (CodeableReference item : this.serviceType) + if (!item.isEmpty()) + return true; + return false; } - /** - * @param value {@link #serviceType} (Broad categorization of the service that is to be provided (e.g. cardiology).) - */ - public Encounter setServiceType(CodeableReference value) { - this.serviceType = value; + public CodeableReference addServiceType() { //3 + CodeableReference t = new CodeableReference(); + if (this.serviceType == null) + this.serviceType = new ArrayList(); + this.serviceType.add(t); + return t; + } + + public Encounter addServiceType(CodeableReference t) { //3 + if (t == null) + return this; + if (this.serviceType == null) + this.serviceType = new ArrayList(); + this.serviceType.add(t); return this; } /** - * @return {@link #priority} (Indicates the urgency of the encounter.) + * @return The first repetition of repeating field {@link #serviceType}, creating it if it does not already exist {3} */ - public CodeableConcept getPriority() { - if (this.priority == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Encounter.priority"); - else if (Configuration.doAutoCreate()) - this.priority = new CodeableConcept(); // cc - return this.priority; - } - - public boolean hasPriority() { - return this.priority != null && !this.priority.isEmpty(); + public CodeableReference getServiceTypeFirstRep() { + if (getServiceType().isEmpty()) { + addServiceType(); + } + return getServiceType().get(0); } /** - * @param value {@link #priority} (Indicates the urgency of the encounter.) - */ - public Encounter setPriority(CodeableConcept value) { - this.priority = value; - return this; - } - - /** - * @return {@link #subject} (The patient or group present at the encounter.) + * @return {@link #subject} (The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.) */ public Reference getSubject() { if (this.subject == null) @@ -2867,7 +2970,7 @@ public class Encounter extends DomainResource { } /** - * @param value {@link #subject} (The patient or group present at the encounter.) + * @param value {@link #subject} (The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.) */ public Encounter setSubject(Reference value) { this.subject = value; @@ -3004,6 +3107,107 @@ public class Encounter extends DomainResource { return getBasedOn().get(0); } + /** + * @return {@link #careTeam} (The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter.) + */ + public List getCareTeam() { + if (this.careTeam == null) + this.careTeam = new ArrayList(); + return this.careTeam; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Encounter setCareTeam(List theCareTeam) { + this.careTeam = theCareTeam; + return this; + } + + public boolean hasCareTeam() { + if (this.careTeam == null) + return false; + for (Reference item : this.careTeam) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addCareTeam() { //3 + Reference t = new Reference(); + if (this.careTeam == null) + this.careTeam = new ArrayList(); + this.careTeam.add(t); + return t; + } + + public Encounter addCareTeam(Reference t) { //3 + if (t == null) + return this; + if (this.careTeam == null) + this.careTeam = new ArrayList(); + this.careTeam.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #careTeam}, creating it if it does not already exist {3} + */ + public Reference getCareTeamFirstRep() { + if (getCareTeam().isEmpty()) { + addCareTeam(); + } + return getCareTeam().get(0); + } + + /** + * @return {@link #partOf} (Another Encounter of which this encounter is a part of (administratively or in time).) + */ + public Reference getPartOf() { + if (this.partOf == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Encounter.partOf"); + else if (Configuration.doAutoCreate()) + this.partOf = new Reference(); // cc + return this.partOf; + } + + public boolean hasPartOf() { + return this.partOf != null && !this.partOf.isEmpty(); + } + + /** + * @param value {@link #partOf} (Another Encounter of which this encounter is a part of (administratively or in time).) + */ + public Encounter setPartOf(Reference value) { + this.partOf = value; + return this; + } + + /** + * @return {@link #serviceProvider} (The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.) + */ + public Reference getServiceProvider() { + if (this.serviceProvider == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Encounter.serviceProvider"); + else if (Configuration.doAutoCreate()) + this.serviceProvider = new Reference(); // cc + return this.serviceProvider; + } + + public boolean hasServiceProvider() { + return this.serviceProvider != null && !this.serviceProvider.isEmpty(); + } + + /** + * @param value {@link #serviceProvider} (The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.) + */ + public Encounter setServiceProvider(Reference value) { + this.serviceProvider = value; + return this; + } + /** * @return {@link #participant} (The list of people responsible for providing the service.) */ @@ -3110,6 +3314,59 @@ public class Encounter extends DomainResource { return getAppointment().get(0); } + /** + * @return {@link #virtualService} (Connection details of a virtual service (e.g. conference call).) + */ + public List getVirtualService() { + if (this.virtualService == null) + this.virtualService = new ArrayList(); + return this.virtualService; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Encounter setVirtualService(List theVirtualService) { + this.virtualService = theVirtualService; + return this; + } + + public boolean hasVirtualService() { + if (this.virtualService == null) + return false; + for (VirtualServiceDetail item : this.virtualService) + if (!item.isEmpty()) + return true; + return false; + } + + public VirtualServiceDetail addVirtualService() { //3 + VirtualServiceDetail t = new VirtualServiceDetail(); + if (this.virtualService == null) + this.virtualService = new ArrayList(); + this.virtualService.add(t); + return t; + } + + public Encounter addVirtualService(VirtualServiceDetail t) { //3 + if (t == null) + return this; + if (this.virtualService == null) + this.virtualService = new ArrayList(); + this.virtualService.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #virtualService}, creating it if it does not already exist {3} + */ + public VirtualServiceDetail getVirtualServiceFirstRep() { + if (getVirtualService().isEmpty()) { + addVirtualService(); + } + return getVirtualService().get(0); + } + /** * @return {@link #actualPeriod} (The actual start and end time of the encounter.) */ @@ -3233,7 +3490,7 @@ public class Encounter extends DomainResource { } /** - * @return {@link #length} (Quantity of time the encounter lasted. This excludes the time during leaves of absence.) + * @return {@link #length} (Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.) */ public Duration getLength() { if (this.length == null) @@ -3249,7 +3506,7 @@ public class Encounter extends DomainResource { } /** - * @param value {@link #length} (Quantity of time the encounter lasted. This excludes the time during leaves of absence.) + * @param value {@link #length} (Actual quantity of time the encounter lasted. This excludes the time during leaves of absence. When missing it is the time in between the start and end values.) */ public Encounter setLength(Duration value) { this.length = value; @@ -3416,26 +3673,26 @@ public class Encounter extends DomainResource { } /** - * @return {@link #hospitalization} (Details about the admission to a healthcare service.) + * @return {@link #admission} (Details about the admission to a healthcare service.) */ - public EncounterHospitalizationComponent getHospitalization() { - if (this.hospitalization == null) + public EncounterAdmissionComponent getAdmission() { + if (this.admission == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Encounter.hospitalization"); + throw new Error("Attempt to auto-create Encounter.admission"); else if (Configuration.doAutoCreate()) - this.hospitalization = new EncounterHospitalizationComponent(); // cc - return this.hospitalization; + this.admission = new EncounterAdmissionComponent(); // cc + return this.admission; } - public boolean hasHospitalization() { - return this.hospitalization != null && !this.hospitalization.isEmpty(); + public boolean hasAdmission() { + return this.admission != null && !this.admission.isEmpty(); } /** - * @param value {@link #hospitalization} (Details about the admission to a healthcare service.) + * @param value {@link #admission} (Details about the admission to a healthcare service.) */ - public Encounter setHospitalization(EncounterHospitalizationComponent value) { - this.hospitalization = value; + public Encounter setAdmission(EncounterAdmissionComponent value) { + this.admission = value; return this; } @@ -3492,111 +3749,67 @@ public class Encounter extends DomainResource { return getLocation().get(0); } - /** - * @return {@link #serviceProvider} (The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.) - */ - public Reference getServiceProvider() { - if (this.serviceProvider == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Encounter.serviceProvider"); - else if (Configuration.doAutoCreate()) - this.serviceProvider = new Reference(); // cc - return this.serviceProvider; - } - - public boolean hasServiceProvider() { - return this.serviceProvider != null && !this.serviceProvider.isEmpty(); - } - - /** - * @param value {@link #serviceProvider} (The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.) - */ - public Encounter setServiceProvider(Reference value) { - this.serviceProvider = value; - return this; - } - - /** - * @return {@link #partOf} (Another Encounter of which this encounter is a part of (administratively or in time).) - */ - public Reference getPartOf() { - if (this.partOf == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Encounter.partOf"); - else if (Configuration.doAutoCreate()) - this.partOf = new Reference(); // cc - return this.partOf; - } - - public boolean hasPartOf() { - return this.partOf != null && !this.partOf.isEmpty(); - } - - /** - * @param value {@link #partOf} (Another Encounter of which this encounter is a part of (administratively or in time).) - */ - public Encounter setPartOf(Reference value) { - this.partOf = value; - return this; - } - protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Identifier(s) by which this encounter is known.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("status", "code", "planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.", 0, 1, status)); + children.add(new Property("status", "code", "planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.", 0, 1, status)); children.add(new Property("statusHistory", "", "The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them.", 0, java.lang.Integer.MAX_VALUE, statusHistory)); - children.add(new Property("class", "CodeableConcept", "Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.", 0, 1, class_)); + children.add(new Property("class", "CodeableConcept", "Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.", 0, java.lang.Integer.MAX_VALUE, class_)); children.add(new Property("classHistory", "", "The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient.", 0, java.lang.Integer.MAX_VALUE, classHistory)); - children.add(new Property("type", "CodeableConcept", "Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).", 0, java.lang.Integer.MAX_VALUE, type)); - children.add(new Property("serviceType", "CodeableReference(HealthcareService)", "Broad categorization of the service that is to be provided (e.g. cardiology).", 0, 1, serviceType)); children.add(new Property("priority", "CodeableConcept", "Indicates the urgency of the encounter.", 0, 1, priority)); - children.add(new Property("subject", "Reference(Patient|Group)", "The patient or group present at the encounter.", 0, 1, subject)); + children.add(new Property("type", "CodeableConcept", "Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).", 0, java.lang.Integer.MAX_VALUE, type)); + children.add(new Property("serviceType", "CodeableReference(HealthcareService)", "Broad categorization of the service that is to be provided (e.g. cardiology).", 0, java.lang.Integer.MAX_VALUE, serviceType)); + children.add(new Property("subject", "Reference(Patient|Group)", "The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.", 0, 1, subject)); children.add(new Property("subjectStatus", "CodeableConcept", "The subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting status.", 0, 1, subjectStatus)); children.add(new Property("episodeOfCare", "Reference(EpisodeOfCare)", "Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).", 0, java.lang.Integer.MAX_VALUE, episodeOfCare)); children.add(new Property("basedOn", "Reference(CarePlan|DeviceRequest|MedicationRequest|ServiceRequest)", "The request this encounter satisfies (e.g. incoming referral or procedure request).", 0, java.lang.Integer.MAX_VALUE, basedOn)); + children.add(new Property("careTeam", "Reference(CareTeam)", "The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter.", 0, java.lang.Integer.MAX_VALUE, careTeam)); + children.add(new Property("partOf", "Reference(Encounter)", "Another Encounter of which this encounter is a part of (administratively or in time).", 0, 1, partOf)); + children.add(new Property("serviceProvider", "Reference(Organization)", "The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.", 0, 1, serviceProvider)); children.add(new Property("participant", "", "The list of people responsible for providing the service.", 0, java.lang.Integer.MAX_VALUE, participant)); children.add(new Property("appointment", "Reference(Appointment)", "The appointment that scheduled this encounter.", 0, java.lang.Integer.MAX_VALUE, appointment)); + children.add(new Property("virtualService", "VirtualServiceDetail", "Connection details of a virtual service (e.g. conference call).", 0, java.lang.Integer.MAX_VALUE, virtualService)); children.add(new Property("actualPeriod", "Period", "The actual start and end time of the encounter.", 0, 1, actualPeriod)); children.add(new Property("plannedStartDate", "dateTime", "The planned start date/time (or admission date) of the encounter.", 0, 1, plannedStartDate)); children.add(new Property("plannedEndDate", "dateTime", "The planned end date/time (or discharge date) of the encounter.", 0, 1, plannedEndDate)); - children.add(new Property("length", "Duration", "Quantity of time the encounter lasted. This excludes the time during leaves of absence.", 0, 1, length)); - children.add(new Property("reason", "CodeableReference(Condition|Procedure|Observation|ImmunizationRecommendation)", "Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis.", 0, java.lang.Integer.MAX_VALUE, reason)); + children.add(new Property("length", "Duration", "Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.\r\rWhen missing it is the time in between the start and end values.", 0, 1, length)); + children.add(new Property("reason", "CodeableReference(Condition|DiagnosticReport|ImmunizationRecommendation|Observation|Procedure)", "Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis.", 0, java.lang.Integer.MAX_VALUE, reason)); children.add(new Property("diagnosis", "", "The list of diagnosis relevant to this encounter.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); children.add(new Property("account", "Reference(Account)", "The set of accounts that may be used for billing for this Encounter.", 0, java.lang.Integer.MAX_VALUE, account)); - children.add(new Property("hospitalization", "", "Details about the admission to a healthcare service.", 0, 1, hospitalization)); + children.add(new Property("admission", "", "Details about the admission to a healthcare service.", 0, 1, admission)); children.add(new Property("location", "", "List of locations where the patient has been during this encounter.", 0, java.lang.Integer.MAX_VALUE, location)); - children.add(new Property("serviceProvider", "Reference(Organization)", "The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.", 0, 1, serviceProvider)); - children.add(new Property("partOf", "Reference(Encounter)", "Another Encounter of which this encounter is a part of (administratively or in time).", 0, 1, partOf)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifier(s) by which this encounter is known.", 0, java.lang.Integer.MAX_VALUE, identifier); - case -892481550: /*status*/ return new Property("status", "code", "planned | in-progress | onhold | completed | cancelled | entered-in-error | unknown.", 0, 1, status); + case -892481550: /*status*/ return new Property("status", "code", "planned | in-progress | onhold | discharged | completed | cancelled | discontinued | entered-in-error | unknown.", 0, 1, status); case -986695614: /*statusHistory*/ return new Property("statusHistory", "", "The status history permits the encounter resource to contain the status history without needing to read through the historical versions of the resource, or even have the server store them.", 0, java.lang.Integer.MAX_VALUE, statusHistory); - case 94742904: /*class*/ return new Property("class", "CodeableConcept", "Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.", 0, 1, class_); + case 94742904: /*class*/ return new Property("class", "CodeableConcept", "Concepts representing classification of patient encounter such as ambulatory (outpatient), inpatient, emergency, home health or others due to local variations.", 0, java.lang.Integer.MAX_VALUE, class_); case 962575356: /*classHistory*/ return new Property("classHistory", "", "The class history permits the tracking of the encounters transitions without needing to go through the resource history. This would be used for a case where an admission starts of as an emergency encounter, then transitions into an inpatient scenario. Doing this and not restarting a new encounter ensures that any lab/diagnostic results can more easily follow the patient and not require re-processing and not get lost or cancelled during a kind of discharge from emergency to inpatient.", 0, java.lang.Integer.MAX_VALUE, classHistory); - case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).", 0, java.lang.Integer.MAX_VALUE, type); - case -1928370289: /*serviceType*/ return new Property("serviceType", "CodeableReference(HealthcareService)", "Broad categorization of the service that is to be provided (e.g. cardiology).", 0, 1, serviceType); case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "Indicates the urgency of the encounter.", 0, 1, priority); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The patient or group present at the encounter.", 0, 1, subject); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Specific type of encounter (e.g. e-mail consultation, surgical day-care, skilled nursing, rehabilitation).", 0, java.lang.Integer.MAX_VALUE, type); + case -1928370289: /*serviceType*/ return new Property("serviceType", "CodeableReference(HealthcareService)", "Broad categorization of the service that is to be provided (e.g. cardiology).", 0, java.lang.Integer.MAX_VALUE, serviceType); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The patient or group related to this encounter. In some use-cases the patient MAY not be present, such as a case meeting about a patient between several practitioners or a careteam.", 0, 1, subject); case 110854206: /*subjectStatus*/ return new Property("subjectStatus", "CodeableConcept", "The subjectStatus value can be used to track the patient's status within the encounter. It details whether the patient has arrived or departed, has been triaged or is currently in a waiting status.", 0, 1, subjectStatus); case -1892140189: /*episodeOfCare*/ return new Property("episodeOfCare", "Reference(EpisodeOfCare)", "Where a specific encounter should be classified as a part of a specific episode(s) of care this field should be used. This association can facilitate grouping of related encounters together for a specific purpose, such as government reporting, issue tracking, association via a common problem. The association is recorded on the encounter as these are typically created after the episode of care and grouped on entry rather than editing the episode of care to append another encounter to it (the episode of care could span years).", 0, java.lang.Integer.MAX_VALUE, episodeOfCare); case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|DeviceRequest|MedicationRequest|ServiceRequest)", "The request this encounter satisfies (e.g. incoming referral or procedure request).", 0, java.lang.Integer.MAX_VALUE, basedOn); + case -7323378: /*careTeam*/ return new Property("careTeam", "Reference(CareTeam)", "The group(s) of individuals, organizations that are allocated to participate in this encounter. The participants backbone will record the actuals of when these individuals participated during the encounter.", 0, java.lang.Integer.MAX_VALUE, careTeam); + case -995410646: /*partOf*/ return new Property("partOf", "Reference(Encounter)", "Another Encounter of which this encounter is a part of (administratively or in time).", 0, 1, partOf); + case 243182534: /*serviceProvider*/ return new Property("serviceProvider", "Reference(Organization)", "The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.", 0, 1, serviceProvider); case 767422259: /*participant*/ return new Property("participant", "", "The list of people responsible for providing the service.", 0, java.lang.Integer.MAX_VALUE, participant); case -1474995297: /*appointment*/ return new Property("appointment", "Reference(Appointment)", "The appointment that scheduled this encounter.", 0, java.lang.Integer.MAX_VALUE, appointment); + case 1420774698: /*virtualService*/ return new Property("virtualService", "VirtualServiceDetail", "Connection details of a virtual service (e.g. conference call).", 0, java.lang.Integer.MAX_VALUE, virtualService); case 789194991: /*actualPeriod*/ return new Property("actualPeriod", "Period", "The actual start and end time of the encounter.", 0, 1, actualPeriod); case 460857804: /*plannedStartDate*/ return new Property("plannedStartDate", "dateTime", "The planned start date/time (or admission date) of the encounter.", 0, 1, plannedStartDate); case 1657534661: /*plannedEndDate*/ return new Property("plannedEndDate", "dateTime", "The planned end date/time (or discharge date) of the encounter.", 0, 1, plannedEndDate); - case -1106363674: /*length*/ return new Property("length", "Duration", "Quantity of time the encounter lasted. This excludes the time during leaves of absence.", 0, 1, length); - case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Procedure|Observation|ImmunizationRecommendation)", "Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis.", 0, java.lang.Integer.MAX_VALUE, reason); + case -1106363674: /*length*/ return new Property("length", "Duration", "Actual quantity of time the encounter lasted. This excludes the time during leaves of absence.\r\rWhen missing it is the time in between the start and end values.", 0, 1, length); + case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|DiagnosticReport|ImmunizationRecommendation|Observation|Procedure)", "Reason the encounter takes place, expressed as a code or a reference to another resource. For admissions, this can be used for a coded admission diagnosis.", 0, java.lang.Integer.MAX_VALUE, reason); case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "The list of diagnosis relevant to this encounter.", 0, java.lang.Integer.MAX_VALUE, diagnosis); case -1177318867: /*account*/ return new Property("account", "Reference(Account)", "The set of accounts that may be used for billing for this Encounter.", 0, java.lang.Integer.MAX_VALUE, account); - case 1057894634: /*hospitalization*/ return new Property("hospitalization", "", "Details about the admission to a healthcare service.", 0, 1, hospitalization); + case 27400201: /*admission*/ return new Property("admission", "", "Details about the admission to a healthcare service.", 0, 1, admission); case 1901043637: /*location*/ return new Property("location", "", "List of locations where the patient has been during this encounter.", 0, java.lang.Integer.MAX_VALUE, location); - case 243182534: /*serviceProvider*/ return new Property("serviceProvider", "Reference(Organization)", "The organization that is primarily responsible for this Encounter's services. This MAY be the same as the organization on the Patient record, however it could be different, such as if the actor performing the services was from an external organization (which may be billed seperately) for an external consultation. Refer to the example bundle showing an abbreviated set of Encounters for a colonoscopy.", 0, 1, serviceProvider); - case -995410646: /*partOf*/ return new Property("partOf", "Reference(Encounter)", "Another Encounter of which this encounter is a part of (administratively or in time).", 0, 1, partOf); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -3608,17 +3821,21 @@ public class Encounter extends DomainResource { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -986695614: /*statusHistory*/ return this.statusHistory == null ? new Base[0] : this.statusHistory.toArray(new Base[this.statusHistory.size()]); // StatusHistoryComponent - case 94742904: /*class*/ return this.class_ == null ? new Base[0] : new Base[] {this.class_}; // CodeableConcept + case 94742904: /*class*/ return this.class_ == null ? new Base[0] : this.class_.toArray(new Base[this.class_.size()]); // CodeableConcept case 962575356: /*classHistory*/ return this.classHistory == null ? new Base[0] : this.classHistory.toArray(new Base[this.classHistory.size()]); // ClassHistoryComponent - case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept - case -1928370289: /*serviceType*/ return this.serviceType == null ? new Base[0] : new Base[] {this.serviceType}; // CodeableReference case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeableConcept + case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept + case -1928370289: /*serviceType*/ return this.serviceType == null ? new Base[0] : this.serviceType.toArray(new Base[this.serviceType.size()]); // CodeableReference case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case 110854206: /*subjectStatus*/ return this.subjectStatus == null ? new Base[0] : new Base[] {this.subjectStatus}; // CodeableConcept case -1892140189: /*episodeOfCare*/ return this.episodeOfCare == null ? new Base[0] : this.episodeOfCare.toArray(new Base[this.episodeOfCare.size()]); // Reference case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference + case -7323378: /*careTeam*/ return this.careTeam == null ? new Base[0] : this.careTeam.toArray(new Base[this.careTeam.size()]); // Reference + case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference + case 243182534: /*serviceProvider*/ return this.serviceProvider == null ? new Base[0] : new Base[] {this.serviceProvider}; // Reference case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // EncounterParticipantComponent case -1474995297: /*appointment*/ return this.appointment == null ? new Base[0] : this.appointment.toArray(new Base[this.appointment.size()]); // Reference + case 1420774698: /*virtualService*/ return this.virtualService == null ? new Base[0] : this.virtualService.toArray(new Base[this.virtualService.size()]); // VirtualServiceDetail case 789194991: /*actualPeriod*/ return this.actualPeriod == null ? new Base[0] : new Base[] {this.actualPeriod}; // Period case 460857804: /*plannedStartDate*/ return this.plannedStartDate == null ? new Base[0] : new Base[] {this.plannedStartDate}; // DateTimeType case 1657534661: /*plannedEndDate*/ return this.plannedEndDate == null ? new Base[0] : new Base[] {this.plannedEndDate}; // DateTimeType @@ -3626,10 +3843,8 @@ public class Encounter extends DomainResource { case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent case -1177318867: /*account*/ return this.account == null ? new Base[0] : this.account.toArray(new Base[this.account.size()]); // Reference - case 1057894634: /*hospitalization*/ return this.hospitalization == null ? new Base[0] : new Base[] {this.hospitalization}; // EncounterHospitalizationComponent + case 27400201: /*admission*/ return this.admission == null ? new Base[0] : new Base[] {this.admission}; // EncounterAdmissionComponent case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // EncounterLocationComponent - case 243182534: /*serviceProvider*/ return this.serviceProvider == null ? new Base[0] : new Base[] {this.serviceProvider}; // Reference - case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference default: return super.getProperty(hash, name, checkValid); } @@ -3649,19 +3864,19 @@ public class Encounter extends DomainResource { this.getStatusHistory().add((StatusHistoryComponent) value); // StatusHistoryComponent return value; case 94742904: // class - this.class_ = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.getClass_().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 962575356: // classHistory this.getClassHistory().add((ClassHistoryComponent) value); // ClassHistoryComponent return value; + case -1165461084: // priority + this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 3575610: // type this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case -1928370289: // serviceType - this.serviceType = TypeConvertor.castToCodeableReference(value); // CodeableReference - return value; - case -1165461084: // priority - this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.getServiceType().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; case -1867885268: // subject this.subject = TypeConvertor.castToReference(value); // Reference @@ -3675,12 +3890,24 @@ public class Encounter extends DomainResource { case -332612366: // basedOn this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference return value; + case -7323378: // careTeam + this.getCareTeam().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -995410646: // partOf + this.partOf = TypeConvertor.castToReference(value); // Reference + return value; + case 243182534: // serviceProvider + this.serviceProvider = TypeConvertor.castToReference(value); // Reference + return value; case 767422259: // participant this.getParticipant().add((EncounterParticipantComponent) value); // EncounterParticipantComponent return value; case -1474995297: // appointment this.getAppointment().add(TypeConvertor.castToReference(value)); // Reference return value; + case 1420774698: // virtualService + this.getVirtualService().add(TypeConvertor.castToVirtualServiceDetail(value)); // VirtualServiceDetail + return value; case 789194991: // actualPeriod this.actualPeriod = TypeConvertor.castToPeriod(value); // Period return value; @@ -3702,18 +3929,12 @@ public class Encounter extends DomainResource { case -1177318867: // account this.getAccount().add(TypeConvertor.castToReference(value)); // Reference return value; - case 1057894634: // hospitalization - this.hospitalization = (EncounterHospitalizationComponent) value; // EncounterHospitalizationComponent + case 27400201: // admission + this.admission = (EncounterAdmissionComponent) value; // EncounterAdmissionComponent return value; case 1901043637: // location this.getLocation().add((EncounterLocationComponent) value); // EncounterLocationComponent return value; - case 243182534: // serviceProvider - this.serviceProvider = TypeConvertor.castToReference(value); // Reference - return value; - case -995410646: // partOf - this.partOf = TypeConvertor.castToReference(value); // Reference - return value; default: return super.setProperty(hash, name, value); } @@ -3729,15 +3950,15 @@ public class Encounter extends DomainResource { } else if (name.equals("statusHistory")) { this.getStatusHistory().add((StatusHistoryComponent) value); } else if (name.equals("class")) { - this.class_ = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.getClass_().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("classHistory")) { this.getClassHistory().add((ClassHistoryComponent) value); + } else if (name.equals("priority")) { + this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("type")) { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("serviceType")) { - this.serviceType = TypeConvertor.castToCodeableReference(value); // CodeableReference - } else if (name.equals("priority")) { - this.priority = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.getServiceType().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("subject")) { this.subject = TypeConvertor.castToReference(value); // Reference } else if (name.equals("subjectStatus")) { @@ -3746,10 +3967,18 @@ public class Encounter extends DomainResource { this.getEpisodeOfCare().add(TypeConvertor.castToReference(value)); } else if (name.equals("basedOn")) { this.getBasedOn().add(TypeConvertor.castToReference(value)); + } else if (name.equals("careTeam")) { + this.getCareTeam().add(TypeConvertor.castToReference(value)); + } else if (name.equals("partOf")) { + this.partOf = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("serviceProvider")) { + this.serviceProvider = TypeConvertor.castToReference(value); // Reference } else if (name.equals("participant")) { this.getParticipant().add((EncounterParticipantComponent) value); } else if (name.equals("appointment")) { this.getAppointment().add(TypeConvertor.castToReference(value)); + } else if (name.equals("virtualService")) { + this.getVirtualService().add(TypeConvertor.castToVirtualServiceDetail(value)); } else if (name.equals("actualPeriod")) { this.actualPeriod = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("plannedStartDate")) { @@ -3764,14 +3993,10 @@ public class Encounter extends DomainResource { this.getDiagnosis().add((DiagnosisComponent) value); } else if (name.equals("account")) { this.getAccount().add(TypeConvertor.castToReference(value)); - } else if (name.equals("hospitalization")) { - this.hospitalization = (EncounterHospitalizationComponent) value; // EncounterHospitalizationComponent + } else if (name.equals("admission")) { + this.admission = (EncounterAdmissionComponent) value; // EncounterAdmissionComponent } else if (name.equals("location")) { this.getLocation().add((EncounterLocationComponent) value); - } else if (name.equals("serviceProvider")) { - this.serviceProvider = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("partOf")) { - this.partOf = TypeConvertor.castToReference(value); // Reference } else return super.setProperty(name, value); return value; @@ -3783,17 +4008,21 @@ public class Encounter extends DomainResource { case -1618432855: return addIdentifier(); case -892481550: return getStatusElement(); case -986695614: return addStatusHistory(); - case 94742904: return getClass_(); + case 94742904: return addClass_(); case 962575356: return addClassHistory(); - case 3575610: return addType(); - case -1928370289: return getServiceType(); case -1165461084: return getPriority(); + case 3575610: return addType(); + case -1928370289: return addServiceType(); case -1867885268: return getSubject(); case 110854206: return getSubjectStatus(); case -1892140189: return addEpisodeOfCare(); case -332612366: return addBasedOn(); + case -7323378: return addCareTeam(); + case -995410646: return getPartOf(); + case 243182534: return getServiceProvider(); case 767422259: return addParticipant(); case -1474995297: return addAppointment(); + case 1420774698: return addVirtualService(); case 789194991: return getActualPeriod(); case 460857804: return getPlannedStartDateElement(); case 1657534661: return getPlannedEndDateElement(); @@ -3801,10 +4030,8 @@ public class Encounter extends DomainResource { case -934964668: return addReason(); case 1196993265: return addDiagnosis(); case -1177318867: return addAccount(); - case 1057894634: return getHospitalization(); + case 27400201: return getAdmission(); case 1901043637: return addLocation(); - case 243182534: return getServiceProvider(); - case -995410646: return getPartOf(); default: return super.makeProperty(hash, name); } @@ -3818,15 +4045,19 @@ public class Encounter extends DomainResource { case -986695614: /*statusHistory*/ return new String[] {}; case 94742904: /*class*/ return new String[] {"CodeableConcept"}; case 962575356: /*classHistory*/ return new String[] {}; + case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case -1928370289: /*serviceType*/ return new String[] {"CodeableReference"}; - case -1165461084: /*priority*/ return new String[] {"CodeableConcept"}; case -1867885268: /*subject*/ return new String[] {"Reference"}; case 110854206: /*subjectStatus*/ return new String[] {"CodeableConcept"}; case -1892140189: /*episodeOfCare*/ return new String[] {"Reference"}; case -332612366: /*basedOn*/ return new String[] {"Reference"}; + case -7323378: /*careTeam*/ return new String[] {"Reference"}; + case -995410646: /*partOf*/ return new String[] {"Reference"}; + case 243182534: /*serviceProvider*/ return new String[] {"Reference"}; case 767422259: /*participant*/ return new String[] {}; case -1474995297: /*appointment*/ return new String[] {"Reference"}; + case 1420774698: /*virtualService*/ return new String[] {"VirtualServiceDetail"}; case 789194991: /*actualPeriod*/ return new String[] {"Period"}; case 460857804: /*plannedStartDate*/ return new String[] {"dateTime"}; case 1657534661: /*plannedEndDate*/ return new String[] {"dateTime"}; @@ -3834,10 +4065,8 @@ public class Encounter extends DomainResource { case -934964668: /*reason*/ return new String[] {"CodeableReference"}; case 1196993265: /*diagnosis*/ return new String[] {}; case -1177318867: /*account*/ return new String[] {"Reference"}; - case 1057894634: /*hospitalization*/ return new String[] {}; + case 27400201: /*admission*/ return new String[] {}; case 1901043637: /*location*/ return new String[] {}; - case 243182534: /*serviceProvider*/ return new String[] {"Reference"}; - case -995410646: /*partOf*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -3855,22 +4084,20 @@ public class Encounter extends DomainResource { return addStatusHistory(); } else if (name.equals("class")) { - this.class_ = new CodeableConcept(); - return this.class_; + return addClass_(); } else if (name.equals("classHistory")) { return addClassHistory(); } + else if (name.equals("priority")) { + this.priority = new CodeableConcept(); + return this.priority; + } else if (name.equals("type")) { return addType(); } else if (name.equals("serviceType")) { - this.serviceType = new CodeableReference(); - return this.serviceType; - } - else if (name.equals("priority")) { - this.priority = new CodeableConcept(); - return this.priority; + return addServiceType(); } else if (name.equals("subject")) { this.subject = new Reference(); @@ -3886,12 +4113,26 @@ public class Encounter extends DomainResource { else if (name.equals("basedOn")) { return addBasedOn(); } + else if (name.equals("careTeam")) { + return addCareTeam(); + } + else if (name.equals("partOf")) { + this.partOf = new Reference(); + return this.partOf; + } + else if (name.equals("serviceProvider")) { + this.serviceProvider = new Reference(); + return this.serviceProvider; + } else if (name.equals("participant")) { return addParticipant(); } else if (name.equals("appointment")) { return addAppointment(); } + else if (name.equals("virtualService")) { + return addVirtualService(); + } else if (name.equals("actualPeriod")) { this.actualPeriod = new Period(); return this.actualPeriod; @@ -3915,21 +4156,13 @@ public class Encounter extends DomainResource { else if (name.equals("account")) { return addAccount(); } - else if (name.equals("hospitalization")) { - this.hospitalization = new EncounterHospitalizationComponent(); - return this.hospitalization; + else if (name.equals("admission")) { + this.admission = new EncounterAdmissionComponent(); + return this.admission; } else if (name.equals("location")) { return addLocation(); } - else if (name.equals("serviceProvider")) { - this.serviceProvider = new Reference(); - return this.serviceProvider; - } - else if (name.equals("partOf")) { - this.partOf = new Reference(); - return this.partOf; - } else return super.addChild(name); } @@ -3958,19 +4191,27 @@ public class Encounter extends DomainResource { for (StatusHistoryComponent i : statusHistory) dst.statusHistory.add(i.copy()); }; - dst.class_ = class_ == null ? null : class_.copy(); + if (class_ != null) { + dst.class_ = new ArrayList(); + for (CodeableConcept i : class_) + dst.class_.add(i.copy()); + }; if (classHistory != null) { dst.classHistory = new ArrayList(); for (ClassHistoryComponent i : classHistory) dst.classHistory.add(i.copy()); }; + dst.priority = priority == null ? null : priority.copy(); if (type != null) { dst.type = new ArrayList(); for (CodeableConcept i : type) dst.type.add(i.copy()); }; - dst.serviceType = serviceType == null ? null : serviceType.copy(); - dst.priority = priority == null ? null : priority.copy(); + if (serviceType != null) { + dst.serviceType = new ArrayList(); + for (CodeableReference i : serviceType) + dst.serviceType.add(i.copy()); + }; dst.subject = subject == null ? null : subject.copy(); dst.subjectStatus = subjectStatus == null ? null : subjectStatus.copy(); if (episodeOfCare != null) { @@ -3983,6 +4224,13 @@ public class Encounter extends DomainResource { for (Reference i : basedOn) dst.basedOn.add(i.copy()); }; + if (careTeam != null) { + dst.careTeam = new ArrayList(); + for (Reference i : careTeam) + dst.careTeam.add(i.copy()); + }; + dst.partOf = partOf == null ? null : partOf.copy(); + dst.serviceProvider = serviceProvider == null ? null : serviceProvider.copy(); if (participant != null) { dst.participant = new ArrayList(); for (EncounterParticipantComponent i : participant) @@ -3993,6 +4241,11 @@ public class Encounter extends DomainResource { for (Reference i : appointment) dst.appointment.add(i.copy()); }; + if (virtualService != null) { + dst.virtualService = new ArrayList(); + for (VirtualServiceDetail i : virtualService) + dst.virtualService.add(i.copy()); + }; dst.actualPeriod = actualPeriod == null ? null : actualPeriod.copy(); dst.plannedStartDate = plannedStartDate == null ? null : plannedStartDate.copy(); dst.plannedEndDate = plannedEndDate == null ? null : plannedEndDate.copy(); @@ -4012,14 +4265,12 @@ public class Encounter extends DomainResource { for (Reference i : account) dst.account.add(i.copy()); }; - dst.hospitalization = hospitalization == null ? null : hospitalization.copy(); + dst.admission = admission == null ? null : admission.copy(); if (location != null) { dst.location = new ArrayList(); for (EncounterLocationComponent i : location) dst.location.add(i.copy()); }; - dst.serviceProvider = serviceProvider == null ? null : serviceProvider.copy(); - dst.partOf = partOf == null ? null : partOf.copy(); } protected Encounter typedCopy() { @@ -4034,15 +4285,16 @@ public class Encounter extends DomainResource { return false; Encounter o = (Encounter) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(statusHistory, o.statusHistory, true) - && compareDeep(class_, o.class_, true) && compareDeep(classHistory, o.classHistory, true) && compareDeep(type, o.type, true) - && compareDeep(serviceType, o.serviceType, true) && compareDeep(priority, o.priority, true) && compareDeep(subject, o.subject, true) + && compareDeep(class_, o.class_, true) && compareDeep(classHistory, o.classHistory, true) && compareDeep(priority, o.priority, true) + && compareDeep(type, o.type, true) && compareDeep(serviceType, o.serviceType, true) && compareDeep(subject, o.subject, true) && compareDeep(subjectStatus, o.subjectStatus, true) && compareDeep(episodeOfCare, o.episodeOfCare, true) - && compareDeep(basedOn, o.basedOn, true) && compareDeep(participant, o.participant, true) && compareDeep(appointment, o.appointment, true) + && compareDeep(basedOn, o.basedOn, true) && compareDeep(careTeam, o.careTeam, true) && compareDeep(partOf, o.partOf, true) + && compareDeep(serviceProvider, o.serviceProvider, true) && compareDeep(participant, o.participant, true) + && compareDeep(appointment, o.appointment, true) && compareDeep(virtualService, o.virtualService, true) && compareDeep(actualPeriod, o.actualPeriod, true) && compareDeep(plannedStartDate, o.plannedStartDate, true) && compareDeep(plannedEndDate, o.plannedEndDate, true) && compareDeep(length, o.length, true) && compareDeep(reason, o.reason, true) - && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(account, o.account, true) && compareDeep(hospitalization, o.hospitalization, true) - && compareDeep(location, o.location, true) && compareDeep(serviceProvider, o.serviceProvider, true) - && compareDeep(partOf, o.partOf, true); + && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(account, o.account, true) && compareDeep(admission, o.admission, true) + && compareDeep(location, o.location, true); } @Override @@ -4058,10 +4310,10 @@ public class Encounter extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, statusHistory - , class_, classHistory, type, serviceType, priority, subject, subjectStatus, episodeOfCare - , basedOn, participant, appointment, actualPeriod, plannedStartDate, plannedEndDate - , length, reason, diagnosis, account, hospitalization, location, serviceProvider - , partOf); + , class_, classHistory, priority, type, serviceType, subject, subjectStatus, episodeOfCare + , basedOn, careTeam, partOf, serviceProvider, participant, appointment, virtualService + , actualPeriod, plannedStartDate, plannedEndDate, length, reason, diagnosis, account + , admission, location); } @Override @@ -4147,6 +4399,32 @@ public class Encounter extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_BASED_ON = new ca.uhn.fhir.model.api.Include("Encounter:based-on").toLocked(); + /** + * Search parameter: careteam + *

+ * Description: Careteam allocated to participate in the encounter
+ * Type: reference
+ * Path: Encounter.careTeam
+ *

+ */ + @SearchParamDefinition(name="careteam", path="Encounter.careTeam", description="Careteam allocated to participate in the encounter", type="reference", target={CareTeam.class } ) + public static final String SP_CARETEAM = "careteam"; + /** + * Fluent Client search parameter constant for careteam + *

+ * Description: Careteam allocated to participate in the encounter
+ * Type: reference
+ * Path: Encounter.careTeam
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CARETEAM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CARETEAM); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Encounter:careteam". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_CARETEAM = new ca.uhn.fhir.model.api.Include("Encounter:careteam").toLocked(); + /** * Search parameter: class *

@@ -4167,6 +4445,26 @@ public class Encounter extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CLASS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CLASS); + /** + * Search parameter: date-start + *

+ * Description: The actual start date of the Encounter
+ * Type: date
+ * Path: Encounter.actualPeriod.start
+ *

+ */ + @SearchParamDefinition(name="date-start", path="Encounter.actualPeriod.start", description="The actual start date of the Encounter", type="date" ) + public static final String SP_DATE_START = "date-start"; + /** + * Fluent Client search parameter constant for date-start + *

+ * Description: The actual start date of the Encounter
+ * Type: date
+ * Path: Encounter.actualPeriod.start
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE_START = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE_START); + /** * Search parameter: diagnosis *

@@ -4193,6 +4491,26 @@ public class Encounter extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_DIAGNOSIS = new ca.uhn.fhir.model.api.Include("Encounter:diagnosis").toLocked(); + /** + * Search parameter: end-date + *

+ * Description: The actual end date of the Encounter
+ * Type: date
+ * Path: Encounter.actualPeriod.end
+ *

+ */ + @SearchParamDefinition(name="end-date", path="Encounter.actualPeriod.end", description="The actual end date of the Encounter", type="date" ) + public static final String SP_END_DATE = "end-date"; + /** + * Fluent Client search parameter constant for end-date + *

+ * Description: The actual end date of the Encounter
+ * Type: date
+ * Path: Encounter.actualPeriod.end
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam END_DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_END_DATE); + /** * Search parameter: episode-of-care *

@@ -4460,17 +4778,17 @@ public class Encounter extends DomainResource { *

* Description: Wheelchair, translator, stretcher, etc.
* Type: token
- * Path: Encounter.hospitalization.specialArrangement
+ * Path: Encounter.admission.specialArrangement
*

*/ - @SearchParamDefinition(name="special-arrangement", path="Encounter.hospitalization.specialArrangement", description="Wheelchair, translator, stretcher, etc.", type="token" ) + @SearchParamDefinition(name="special-arrangement", path="Encounter.admission.specialArrangement", description="Wheelchair, translator, stretcher, etc.", type="token" ) public static final String SP_SPECIAL_ARRANGEMENT = "special-arrangement"; /** * Fluent Client search parameter constant for special-arrangement *

* Description: Wheelchair, translator, stretcher, etc.
* Type: token
- * Path: Encounter.hospitalization.specialArrangement
+ * Path: Encounter.admission.specialArrangement
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam SPECIAL_ARRANGEMENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SPECIAL_ARRANGEMENT); @@ -4713,7 +5031,7 @@ public class Encounter extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4722,10 +5040,10 @@ public class Encounter extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4757,7 +5075,7 @@ public class Encounter extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4766,7 +5084,7 @@ public class Encounter extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Endpoint.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Endpoint.java index cb1a08b78..4574649c1 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Endpoint.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Endpoint.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -74,10 +74,6 @@ public class Endpoint extends DomainResource { * This instance should not have been part of this patient's medical record. */ ENTEREDINERROR, - /** - * This endpoint is not intended for production usage. - */ - TEST, /** * added to help the parsers with the generic types */ @@ -95,8 +91,6 @@ public class Endpoint extends DomainResource { return OFF; if ("entered-in-error".equals(codeString)) return ENTEREDINERROR; - if ("test".equals(codeString)) - return TEST; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -109,7 +103,6 @@ public class Endpoint extends DomainResource { case ERROR: return "error"; case OFF: return "off"; case ENTEREDINERROR: return "entered-in-error"; - case TEST: return "test"; case NULL: return null; default: return "?"; } @@ -121,7 +114,6 @@ public class Endpoint extends DomainResource { case ERROR: return "http://hl7.org/fhir/endpoint-status"; case OFF: return "http://hl7.org/fhir/endpoint-status"; case ENTEREDINERROR: return "http://hl7.org/fhir/endpoint-status"; - case TEST: return "http://hl7.org/fhir/endpoint-status"; case NULL: return null; default: return "?"; } @@ -133,7 +125,6 @@ public class Endpoint extends DomainResource { case ERROR: return "This endpoint has exceeded connectivity thresholds and is considered in an error state and should no longer be attempted to connect to until corrective action is taken."; case OFF: return "This endpoint is no longer to be used."; case ENTEREDINERROR: return "This instance should not have been part of this patient's medical record."; - case TEST: return "This endpoint is not intended for production usage."; case NULL: return null; default: return "?"; } @@ -145,7 +136,6 @@ public class Endpoint extends DomainResource { case ERROR: return "Error"; case OFF: return "Off"; case ENTEREDINERROR: return "Entered in error"; - case TEST: return "Test"; case NULL: return null; default: return "?"; } @@ -167,8 +157,6 @@ public class Endpoint extends DomainResource { return EndpointStatus.OFF; if ("entered-in-error".equals(codeString)) return EndpointStatus.ENTEREDINERROR; - if ("test".equals(codeString)) - return EndpointStatus.TEST; throw new IllegalArgumentException("Unknown EndpointStatus code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -189,8 +177,6 @@ public class Endpoint extends DomainResource { return new Enumeration(this, EndpointStatus.OFF); if ("entered-in-error".equals(codeString)) return new Enumeration(this, EndpointStatus.ENTEREDINERROR); - if ("test".equals(codeString)) - return new Enumeration(this, EndpointStatus.TEST); throw new FHIRException("Unknown EndpointStatus code '"+codeString+"'"); } public String toCode(EndpointStatus code) { @@ -204,8 +190,6 @@ public class Endpoint extends DomainResource { return "off"; if (code == EndpointStatus.ENTEREDINERROR) return "entered-in-error"; - if (code == EndpointStatus.TEST) - return "test"; return "?"; } public String toSystem(EndpointStatus code) { @@ -231,10 +215,10 @@ public class Endpoint extends DomainResource { /** * A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook). */ - @Child(name = "connectionType", type = {Coding.class}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "connectionType", type = {CodeableConcept.class}, order=2, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Protocol/Profile/Standard to be used with this endpoint connection", formalDefinition="A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/endpoint-connection-type") - protected List connectionType; + protected List connectionType; /** * A friendly name that this endpoint can be referred to with. @@ -243,31 +227,46 @@ public class Endpoint extends DomainResource { @Description(shortDefinition="A name that this endpoint can be identified by", formalDefinition="A friendly name that this endpoint can be referred to with." ) protected StringType name; + /** + * The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose). + */ + @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Additional details about the endpoint that could be displayed as further information to identify the description beyond its name", formalDefinition="The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose)." ) + protected StringType description; + + /** + * The type of environment(s) exposed at this endpoint (dev, prod, test, etc). + */ + @Child(name = "environmentType", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The type of environment(s) exposed at this endpoint", formalDefinition="The type of environment(s) exposed at this endpoint (dev, prod, test, etc)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/endpoint-environment") + protected List environmentType; + /** * The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data). */ - @Child(name = "managingOrganization", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "managingOrganization", type = {Organization.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Organization that manages this endpoint (might not be the organization that exposes the endpoint)", formalDefinition="The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data)." ) protected Reference managingOrganization; /** - * Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting. + * Contact details for a human to contact about the endpoint. The primary use of this for system administrator troubleshooting. */ - @Child(name = "contact", type = {ContactPoint.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Contact details for source (e.g. troubleshooting)", formalDefinition="Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting." ) + @Child(name = "contact", type = {ContactPoint.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Contact details for source (e.g. troubleshooting)", formalDefinition="Contact details for a human to contact about the endpoint. The primary use of this for system administrator troubleshooting." ) protected List contact; /** * The interval during which the endpoint is expected to be operational. */ - @Child(name = "period", type = {Period.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "period", type = {Period.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Interval the endpoint is expected to be operational", formalDefinition="The interval during which the endpoint is expected to be operational." ) protected Period period; /** * The payload type describes the acceptable content that can be communicated on the endpoint. */ - @Child(name = "payloadType", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "payloadType", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The type of content that may be used at this endpoint (e.g. XDS Discharge summaries)", formalDefinition="The payload type describes the acceptable content that can be communicated on the endpoint." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/endpoint-payload-type") protected List payloadType; @@ -275,7 +274,7 @@ public class Endpoint extends DomainResource { /** * The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType). */ - @Child(name = "payloadMimeType", type = {CodeType.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "payloadMimeType", type = {CodeType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Mimetype to send. If not specified, the content could be anything (including no payload, if the connectionType defined this)", formalDefinition="The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") protected List payloadMimeType; @@ -283,18 +282,18 @@ public class Endpoint extends DomainResource { /** * The uri that describes the actual end-point to connect to. */ - @Child(name = "address", type = {UrlType.class}, order=9, min=1, max=1, modifier=false, summary=true) + @Child(name = "address", type = {UrlType.class}, order=11, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="The technical base address for connecting to this endpoint", formalDefinition="The uri that describes the actual end-point to connect to." ) protected UrlType address; /** * Additional headers / information to send as part of the notification. */ - @Child(name = "header", type = {StringType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "header", type = {StringType.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Usage depends on the channel type", formalDefinition="Additional headers / information to send as part of the notification." ) protected List header; - private static final long serialVersionUID = 2125513493L; + private static final long serialVersionUID = -775722791L; /** * Constructor @@ -306,7 +305,7 @@ public class Endpoint extends DomainResource { /** * Constructor */ - public Endpoint(EndpointStatus status, Coding connectionType, String address) { + public Endpoint(EndpointStatus status, CodeableConcept connectionType, String address) { super(); this.setStatus(status); this.addConnectionType(connectionType); @@ -414,16 +413,16 @@ public class Endpoint extends DomainResource { /** * @return {@link #connectionType} (A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).) */ - public List getConnectionType() { + public List getConnectionType() { if (this.connectionType == null) - this.connectionType = new ArrayList(); + this.connectionType = new ArrayList(); return this.connectionType; } /** * @return Returns a reference to this for easy method chaining */ - public Endpoint setConnectionType(List theConnectionType) { + public Endpoint setConnectionType(List theConnectionType) { this.connectionType = theConnectionType; return this; } @@ -431,25 +430,25 @@ public class Endpoint extends DomainResource { public boolean hasConnectionType() { if (this.connectionType == null) return false; - for (Coding item : this.connectionType) + for (CodeableConcept item : this.connectionType) if (!item.isEmpty()) return true; return false; } - public Coding addConnectionType() { //3 - Coding t = new Coding(); + public CodeableConcept addConnectionType() { //3 + CodeableConcept t = new CodeableConcept(); if (this.connectionType == null) - this.connectionType = new ArrayList(); + this.connectionType = new ArrayList(); this.connectionType.add(t); return t; } - public Endpoint addConnectionType(Coding t) { //3 + public Endpoint addConnectionType(CodeableConcept t) { //3 if (t == null) return this; if (this.connectionType == null) - this.connectionType = new ArrayList(); + this.connectionType = new ArrayList(); this.connectionType.add(t); return this; } @@ -457,7 +456,7 @@ public class Endpoint extends DomainResource { /** * @return The first repetition of repeating field {@link #connectionType}, creating it if it does not already exist {3} */ - public Coding getConnectionTypeFirstRep() { + public CodeableConcept getConnectionTypeFirstRep() { if (getConnectionType().isEmpty()) { addConnectionType(); } @@ -513,6 +512,108 @@ public class Endpoint extends DomainResource { return this; } + /** + * @return {@link #description} (The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose).). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public StringType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Endpoint.description"); + else if (Configuration.doAutoCreate()) + this.description = new StringType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose).). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public Endpoint setDescriptionElement(StringType value) { + this.description = value; + return this; + } + + /** + * @return The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose). + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose). + */ + public Endpoint setDescription(String value) { + if (Utilities.noString(value)) + this.description = null; + else { + if (this.description == null) + this.description = new StringType(); + this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #environmentType} (The type of environment(s) exposed at this endpoint (dev, prod, test, etc).) + */ + public List getEnvironmentType() { + if (this.environmentType == null) + this.environmentType = new ArrayList(); + return this.environmentType; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Endpoint setEnvironmentType(List theEnvironmentType) { + this.environmentType = theEnvironmentType; + return this; + } + + public boolean hasEnvironmentType() { + if (this.environmentType == null) + return false; + for (CodeableConcept item : this.environmentType) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addEnvironmentType() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.environmentType == null) + this.environmentType = new ArrayList(); + this.environmentType.add(t); + return t; + } + + public Endpoint addEnvironmentType(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.environmentType == null) + this.environmentType = new ArrayList(); + this.environmentType.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #environmentType}, creating it if it does not already exist {3} + */ + public CodeableConcept getEnvironmentTypeFirstRep() { + if (getEnvironmentType().isEmpty()) { + addEnvironmentType(); + } + return getEnvironmentType().get(0); + } + /** * @return {@link #managingOrganization} (The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).) */ @@ -538,7 +639,7 @@ public class Endpoint extends DomainResource { } /** - * @return {@link #contact} (Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.) + * @return {@link #contact} (Contact details for a human to contact about the endpoint. The primary use of this for system administrator troubleshooting.) */ public List getContact() { if (this.contact == null) @@ -838,10 +939,12 @@ public class Endpoint extends DomainResource { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("status", "code", "The endpoint status represents the general expected availability of an endpoint.", 0, 1, status)); - children.add(new Property("connectionType", "Coding", "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).", 0, java.lang.Integer.MAX_VALUE, connectionType)); + children.add(new Property("connectionType", "CodeableConcept", "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).", 0, java.lang.Integer.MAX_VALUE, connectionType)); children.add(new Property("name", "string", "A friendly name that this endpoint can be referred to with.", 0, 1, name)); + children.add(new Property("description", "string", "The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose).", 0, 1, description)); + children.add(new Property("environmentType", "CodeableConcept", "The type of environment(s) exposed at this endpoint (dev, prod, test, etc).", 0, java.lang.Integer.MAX_VALUE, environmentType)); children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).", 0, 1, managingOrganization)); - children.add(new Property("contact", "ContactPoint", "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.", 0, java.lang.Integer.MAX_VALUE, contact)); + children.add(new Property("contact", "ContactPoint", "Contact details for a human to contact about the endpoint. The primary use of this for system administrator troubleshooting.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("period", "Period", "The interval during which the endpoint is expected to be operational.", 0, 1, period)); children.add(new Property("payloadType", "CodeableConcept", "The payload type describes the acceptable content that can be communicated on the endpoint.", 0, java.lang.Integer.MAX_VALUE, payloadType)); children.add(new Property("payloadMimeType", "code", "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).", 0, java.lang.Integer.MAX_VALUE, payloadMimeType)); @@ -854,10 +957,12 @@ public class Endpoint extends DomainResource { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifier for the organization that is used to identify the endpoint across multiple disparate systems.", 0, java.lang.Integer.MAX_VALUE, identifier); case -892481550: /*status*/ return new Property("status", "code", "The endpoint status represents the general expected availability of an endpoint.", 0, 1, status); - case 1270211384: /*connectionType*/ return new Property("connectionType", "Coding", "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).", 0, java.lang.Integer.MAX_VALUE, connectionType); + case 1270211384: /*connectionType*/ return new Property("connectionType", "CodeableConcept", "A coded value that represents the technical details of the usage of this endpoint, such as what WSDLs should be used in what way. (e.g. XDS.b/DICOM/cds-hook).", 0, java.lang.Integer.MAX_VALUE, connectionType); case 3373707: /*name*/ return new Property("name", "string", "A friendly name that this endpoint can be referred to with.", 0, 1, name); + case -1724546052: /*description*/ return new Property("description", "string", "The description of the endpoint and what it is for (typically used as supplemental information in an endpoint directory describing it's usage/purpose).", 0, 1, description); + case 1680602093: /*environmentType*/ return new Property("environmentType", "CodeableConcept", "The type of environment(s) exposed at this endpoint (dev, prod, test, etc).", 0, java.lang.Integer.MAX_VALUE, environmentType); case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that manages this endpoint (even if technically another organization is hosting this in the cloud, it is the organization associated with the data).", 0, 1, managingOrganization); - case 951526432: /*contact*/ return new Property("contact", "ContactPoint", "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.", 0, java.lang.Integer.MAX_VALUE, contact); + case 951526432: /*contact*/ return new Property("contact", "ContactPoint", "Contact details for a human to contact about the endpoint. The primary use of this for system administrator troubleshooting.", 0, java.lang.Integer.MAX_VALUE, contact); case -991726143: /*period*/ return new Property("period", "Period", "The interval during which the endpoint is expected to be operational.", 0, 1, period); case 909929960: /*payloadType*/ return new Property("payloadType", "CodeableConcept", "The payload type describes the acceptable content that can be communicated on the endpoint.", 0, java.lang.Integer.MAX_VALUE, payloadType); case -1702836932: /*payloadMimeType*/ return new Property("payloadMimeType", "code", "The mime type to send the payload in - e.g. application/fhir+xml, application/fhir+json. If the mime type is not specified, then the sender could send any content (including no content depending on the connectionType).", 0, java.lang.Integer.MAX_VALUE, payloadMimeType); @@ -873,8 +978,10 @@ public class Endpoint extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case 1270211384: /*connectionType*/ return this.connectionType == null ? new Base[0] : this.connectionType.toArray(new Base[this.connectionType.size()]); // Coding + case 1270211384: /*connectionType*/ return this.connectionType == null ? new Base[0] : this.connectionType.toArray(new Base[this.connectionType.size()]); // CodeableConcept case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType + case 1680602093: /*environmentType*/ return this.environmentType == null ? new Base[0] : this.environmentType.toArray(new Base[this.environmentType.size()]); // CodeableConcept case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactPoint case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period @@ -898,11 +1005,17 @@ public class Endpoint extends DomainResource { this.status = (Enumeration) value; // Enumeration return value; case 1270211384: // connectionType - this.getConnectionType().add(TypeConvertor.castToCoding(value)); // Coding + this.getConnectionType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; + case -1724546052: // description + this.description = TypeConvertor.castToString(value); // StringType + return value; + case 1680602093: // environmentType + this.getEnvironmentType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; case -2058947787: // managingOrganization this.managingOrganization = TypeConvertor.castToReference(value); // Reference return value; @@ -937,9 +1050,13 @@ public class Endpoint extends DomainResource { value = new EndpointStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration } else if (name.equals("connectionType")) { - this.getConnectionType().add(TypeConvertor.castToCoding(value)); + this.getConnectionType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("description")) { + this.description = TypeConvertor.castToString(value); // StringType + } else if (name.equals("environmentType")) { + this.getEnvironmentType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("managingOrganization")) { this.managingOrganization = TypeConvertor.castToReference(value); // Reference } else if (name.equals("contact")) { @@ -966,6 +1083,8 @@ public class Endpoint extends DomainResource { case -892481550: return getStatusElement(); case 1270211384: return addConnectionType(); case 3373707: return getNameElement(); + case -1724546052: return getDescriptionElement(); + case 1680602093: return addEnvironmentType(); case -2058947787: return getManagingOrganization(); case 951526432: return addContact(); case -991726143: return getPeriod(); @@ -983,8 +1102,10 @@ public class Endpoint extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -892481550: /*status*/ return new String[] {"code"}; - case 1270211384: /*connectionType*/ return new String[] {"Coding"}; + case 1270211384: /*connectionType*/ return new String[] {"CodeableConcept"}; case 3373707: /*name*/ return new String[] {"string"}; + case -1724546052: /*description*/ return new String[] {"string"}; + case 1680602093: /*environmentType*/ return new String[] {"CodeableConcept"}; case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; case 951526432: /*contact*/ return new String[] {"ContactPoint"}; case -991726143: /*period*/ return new String[] {"Period"}; @@ -1011,6 +1132,12 @@ public class Endpoint extends DomainResource { else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type Endpoint.name"); } + else if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type Endpoint.description"); + } + else if (name.equals("environmentType")) { + return addEnvironmentType(); + } else if (name.equals("managingOrganization")) { this.managingOrganization = new Reference(); return this.managingOrganization; @@ -1058,11 +1185,17 @@ public class Endpoint extends DomainResource { }; dst.status = status == null ? null : status.copy(); if (connectionType != null) { - dst.connectionType = new ArrayList(); - for (Coding i : connectionType) + dst.connectionType = new ArrayList(); + for (CodeableConcept i : connectionType) dst.connectionType.add(i.copy()); }; dst.name = name == null ? null : name.copy(); + dst.description = description == null ? null : description.copy(); + if (environmentType != null) { + dst.environmentType = new ArrayList(); + for (CodeableConcept i : environmentType) + dst.environmentType.add(i.copy()); + }; dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); if (contact != null) { dst.contact = new ArrayList(); @@ -1100,10 +1233,10 @@ public class Endpoint extends DomainResource { return false; Endpoint o = (Endpoint) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(connectionType, o.connectionType, true) - && compareDeep(name, o.name, true) && compareDeep(managingOrganization, o.managingOrganization, true) - && compareDeep(contact, o.contact, true) && compareDeep(period, o.period, true) && compareDeep(payloadType, o.payloadType, true) - && compareDeep(payloadMimeType, o.payloadMimeType, true) && compareDeep(address, o.address, true) - && compareDeep(header, o.header, true); + && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(environmentType, o.environmentType, true) + && compareDeep(managingOrganization, o.managingOrganization, true) && compareDeep(contact, o.contact, true) + && compareDeep(period, o.period, true) && compareDeep(payloadType, o.payloadType, true) && compareDeep(payloadMimeType, o.payloadMimeType, true) + && compareDeep(address, o.address, true) && compareDeep(header, o.header, true); } @Override @@ -1113,14 +1246,15 @@ public class Endpoint extends DomainResource { if (!(other_ instanceof Endpoint)) return false; Endpoint o = (Endpoint) other_; - return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(payloadMimeType, o.payloadMimeType, true) - && compareValues(address, o.address, true) && compareValues(header, o.header, true); + return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true) + && compareValues(payloadMimeType, o.payloadMimeType, true) && compareValues(address, o.address, true) + && compareValues(header, o.header, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, connectionType - , name, managingOrganization, contact, period, payloadType, payloadMimeType, address - , header); + , name, description, environmentType, managingOrganization, contact, period, payloadType + , payloadMimeType, address, header); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentRequest.java index 09c080e36..1c87adc77 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentResponse.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentResponse.java index 4fba2e8dd..50cb72ec9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentResponse.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EnrollmentResponse.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; 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 294e0083c..1e871627d 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 @@ -29,56 +29,58 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Mon, Jul 18, 2022 12:45+1000 for FHIR v5.0.0-ballot +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import org.hl7.fhir.instance.model.api.*; -import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.exceptions.FHIRException; public class Enumerations { // In here: -// ActionCardinalityBehavior: Defines behavior for an action or a group for how many times that item may be repeated.[PlanDefinition, RequestGroup] -// ActionConditionKind: Defines the kinds of conditions that can appear on actions.[PlanDefinition, RequestGroup] -// ActionGroupingBehavior: Defines organization behavior of a group.[PlanDefinition, RequestGroup] -// ActionParticipantType: The type of participant for the action.[ActivityDefinition, PlanDefinition, RequestGroup] -// ActionPrecheckBehavior: Defines selection frequency behavior for an action or group.[PlanDefinition, RequestGroup] -// ActionRelationshipType: Defines the types of relationships between actions.[PlanDefinition, RequestGroup] -// ActionRequiredBehavior: Defines expectations around whether an action or action group is required.[PlanDefinition, RequestGroup] -// ActionSelectionBehavior: Defines selection behavior of a group.[PlanDefinition, RequestGroup] +// ActionCardinalityBehavior: Defines behavior for an action or a group for how many times that item may be repeated.[PlanDefinition, RequestOrchestration] +// ActionConditionKind: Defines the kinds of conditions that can appear on actions.[PlanDefinition, RequestOrchestration] +// ActionGroupingBehavior: Defines organization behavior of a group.[PlanDefinition, RequestOrchestration] +// ActionParticipantType: The type of participant for the action.[ActivityDefinition, PlanDefinition, RequestOrchestration] +// ActionPrecheckBehavior: Defines selection frequency behavior for an action or group.[PlanDefinition, RequestOrchestration] +// ActionRelationshipType: Defines the types of relationships between actions.[PlanDefinition, RequestOrchestration] +// ActionRequiredBehavior: Defines expectations around whether an action or action group is required.[PlanDefinition, RequestOrchestration] +// ActionSelectionBehavior: Defines selection behavior of a group.[PlanDefinition, RequestOrchestration] // AdministrativeGender: The gender of a person used for administrative purposes.[ObservationDefinition, Patient, Person, Practitioner, RelatedPerson] +// AllResourceTypes: All fhir data types (including abstract resources)[GraphDefinition, SearchParameter] // BindingStrength: Indication of the degree of conformance expectations associated with a binding.[ElementDefinition, OperationDefinition] -// CapabilityStatementKind: How a capability statement is intended to be used.[CapabilityStatement, CapabilityStatement2, TerminologyCapabilities] +// CapabilityStatementKind: How a capability statement is intended to be used.[CapabilityStatement, TerminologyCapabilities] // ClaimProcessingCodes: This value set includes Claim Processing Outcome codes.[ClaimResponse, ExplanationOfBenefit] // CompartmentType: Which type a compartment definition describes.[CompartmentDefinition, GraphDefinition] // CompositionStatus: The workflow/clinical status of the composition.[Composition, DocumentReference] // ConceptMapRelationship: The relationship between concepts.[ConceptMap] -// DaysOfWeek: The days of the week.[HealthcareService, Location, PractitionerRole, Timing] +// ConsentDataMeaning: How a resource reference is interpreted when testing consent restrictions.[Consent, Permission] +// ConsentProvisionType: How a rule statement is applied, such as adding additional consent or removing consent.[Consent, Permission] +// Currencies: Currency codes from ISO 4217 (see https://www.iso.org/iso-4217-currency-codes.html)[Account, Money] +// DaysOfWeek: The days of the week.[Appointment, Availability, Timing] // DeviceNameType: The type of name the device is referred by.[Device, DeviceDefinition] // DocumentReferenceStatus: The status of the document reference.[DocumentManifest, DocumentReference] // EventStatus: Codes identifying the lifecycle stage of an event.[ClinicalImpression, Communication, NutritionIntake, Procedure] // EvidenceVariableHandling: The handling of the variable in statistical analysis for exposures or outcomes (E.g. Dichotomous, Continuous, Descriptive).[Evidence, EvidenceVariable] -// FHIRAllTypes: A list of all the concrete types defined in this version of the FHIR specification - Abstract Types, Data Types and Resource Types.[DataRequirement, Measure, OperationDefinition, ParameterDefinition] -// FHIRVersion: All published FHIR Versions.[CapabilityStatement, CapabilityStatement2, ImplementationGuide, StructureDefinition] +// ExampleScenarioActorType: The type of actor - system or human.[ActorDefinition, ExampleScenario] +// FHIRTypes: All FHIR types[DataRequirement, Measure, OperationDefinition, ParameterDefinition] +// FHIRVersion: All published FHIR Versions.[CapabilityStatement, ImplementationGuide, StructureDefinition] // FilterOperator: The kind of operation to perform as a part of a property based filter.[CodeSystem, ValueSet] // FinancialResourceStatusCodes: This value set includes Status codes.[Claim, ClaimResponse, Coverage, CoverageEligibilityRequest, CoverageEligibilityResponse, EnrollmentRequest, EnrollmentResponse, PaymentNotice, PaymentReconciliation, VisionPrescription] -// InvoicePriceComponentType: Codes indicating the kind of the price component.[ChargeItemDefinition, Invoice] // ListMode: The processing mode that applies to this list.[Composition, EvidenceReport, List] // MeasureImprovementNotation: Observation values that indicate what change in a measurement value or score is indicative of an improvement in the measured item or scored issue.[Measure, MeasureReport] -// MimeTypes: This value set includes all possible codes from BCP-13 (http://tools.ietf.org/html/bcp13)[Attachment, Binary, CapabilityStatement, CapabilityStatement2, ElementDefinition, Endpoint, Signature, Subscription, TestScript] +// MimeTypes: This value set includes all possible codes from BCP-13 (http://tools.ietf.org/html/bcp13)[Attachment, Binary, CapabilityStatement, ElementDefinition, Endpoint, Signature, Subscription, TestScript] // NoteType: The presentation types of notes.[ClaimResponse, ExplanationOfBenefit, PaymentReconciliation] -// ObservationStatus: Codes providing the status of an observation.[DetectedIssue, Observation, RiskAssessment] +// ObservationStatus: Codes providing the status of an observation.[Observation, RiskAssessment] // OperationParameterUse: Whether an operation parameter is an input or an output parameter.[OperationDefinition, ParameterDefinition] // ParticipationStatus: The Participation status of an appointment.[Appointment, AppointmentResponse] -// PublicationStatus: The lifecycle status of an artifact.[ActivityDefinition, AdministrableProductDefinition, CanonicalResource, CapabilityStatement, CapabilityStatement2, ChargeItemDefinition, Citation, CodeSystem, CompartmentDefinition, ConceptMap, ConditionDefinition, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, ExampleScenario, GraphDefinition, ImplementationGuide, Ingredient, InsurancePlan, Library, ManufacturedItemDefinition, Measure, MessageDefinition, NamingSystem, ObservationDefinition, OperationDefinition, PlanDefinition, Questionnaire, ResearchStudy, ResearchSubject, SearchParameter, SpecimenDefinition, StructureDefinition, StructureMap, SubscriptionTopic, TerminologyCapabilities, TestScript, ValueSet] +// PublicationStatus: The lifecycle status of an artifact.[ActivityDefinition, ActorDefinition, AdministrableProductDefinition, CanonicalResource, CapabilityStatement, ChargeItemDefinition, Citation, CodeSystem, CompartmentDefinition, ConceptMap, ConditionDefinition, EventDefinition, Evidence, EvidenceReport, EvidenceVariable, ExampleScenario, GraphDefinition, ImplementationGuide, Ingredient, InsurancePlan, Library, ManufacturedItemDefinition, Measure, MessageDefinition, MetadataResource, NamingSystem, ObservationDefinition, OperationDefinition, PlanDefinition, Questionnaire, RelatedArtifact, Requirements, ResearchStudy, ResearchSubject, SearchParameter, SpecimenDefinition, StructureDefinition, StructureMap, SubscriptionTopic, TerminologyCapabilities, TestScript, ValueSet] // QuantityComparator: How the Quantity should be understood and represented.[Age, Count, Distance, Duration, Quantity] -// RequestIntent: Codes indicating the degree of authority/intentionality associated with a request.[ActivityDefinition, CommunicationRequest, DeviceRequest, NutritionOrder, RequestGroup, ServiceRequest] -// RequestPriority: Identifies the level of importance to be assigned to actioning the request.[ActivityDefinition, Communication, CommunicationRequest, DeviceRequest, MedicationRequest, PlanDefinition, RequestGroup, ServiceRequest, SupplyRequest, Task, Transport] -// RequestStatus: Codes identifying the lifecycle stage of a request.[CarePlan, CommunicationRequest, DeviceRequest, NutritionOrder, RequestGroup, ServiceRequest] -// ResourceTypeEnum: One of the resource types defined as part of this version of FHIR.[CapabilityStatement, CapabilityStatement2, CompartmentDefinition, ExampleScenario, GraphDefinition, ImplementationGuide, MessageDefinition, OperationDefinition, Questionnaire, SearchParameter] -// RestfulCapabilityMode: The mode of a RESTful capability statement.[CapabilityStatement, CapabilityStatement2] -// SearchParamType: Data types allowed to be used for search parameters.[CapabilityStatement, CapabilityStatement2, OperationDefinition, SearchParameter] +// RequestIntent: Codes indicating the degree of authority/intentionality associated with a request.[ActivityDefinition, CommunicationRequest, DeviceRequest, NutritionOrder, RequestOrchestration, ServiceRequest] +// RequestPriority: Identifies the level of importance to be assigned to actioning the request.[ActivityDefinition, Communication, CommunicationRequest, DeviceRequest, MedicationRequest, NutritionOrder, PlanDefinition, RequestOrchestration, ServiceRequest, SupplyRequest, Task, Transport] +// RequestStatus: Codes identifying the lifecycle stage of a request.[CarePlan, CommunicationRequest, DeviceRequest, NutritionOrder, RequestOrchestration, ServiceRequest] +// ResourceTypes: All fhir data types[CapabilityStatement, CompartmentDefinition, GraphDefinition, ImplementationGuide, MessageDefinition, OperationDefinition, Questionnaire, SearchParameter] +// SearchParamType: Data types allowed to be used for search parameters.[CapabilityStatement, OperationDefinition, SearchParameter] // SubscriptionSearchModifier: FHIR search modifiers allowed for use in Subscriptions and SubscriptionTopics.[Subscription, SubscriptionTopic] // SubscriptionStatusCodes: State values for FHIR Subscriptions.[Subscription, SubscriptionStatus] // Use: The purpose of the Claim: predetermination, preauthorization, claim.[Claim, ClaimResponse, ExplanationOfBenefit] @@ -1305,6 +1307,2597 @@ public class Enumerations { } } + public enum AllResourceTypes { + /** + * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. + */ + ACCOUNT, + /** + * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. + */ + ACTIVITYDEFINITION, + /** + * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ + ACTORDEFINITION, + /** + * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed). + */ + ADMINISTRABLEPRODUCTDEFINITION, + /** + * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints. + */ + ADVERSEEVENT, + /** + * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. + */ + ALLERGYINTOLERANCE, + /** + * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). + */ + APPOINTMENT, + /** + * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. + */ + APPOINTMENTRESPONSE, + /** + * This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content. + */ + ARTIFACTASSESSMENT, + /** + * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis. + */ + AUDITEVENT, + /** + * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification. + */ + BASIC, + /** + * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. + */ + BINARY, + /** + * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity. + */ + BIOLOGICALLYDERIVEDPRODUCT, + /** + * Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. + */ + BODYSTRUCTURE, + /** + * A container for a collection of resources. + */ + BUNDLE, + /** + * Common Interface declaration for conformance and knowledge artifact resources. + */ + CANONICALRESOURCE, + /** + * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + */ + CAPABILITYSTATEMENT, + /** + * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. + */ + CAREPLAN, + /** + * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care. + */ + CARETEAM, + /** + * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. + */ + CHARGEITEM, + /** + * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. + */ + CHARGEITEMDEFINITION, + /** + * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. + */ + CITATION, + /** + * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. + */ + CLAIM, + /** + * This resource provides the adjudication details from the processing of a Claim resource. + */ + CLAIMRESPONSE, + /** + * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called "ClinicalImpression" rather than "ClinicalAssessment" to avoid confusion with the recording of assessment tools such as Apgar score. + */ + CLINICALIMPRESSION, + /** + * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. + */ + CLINICALUSEDEFINITION, + /** + * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. + */ + CODESYSTEM, + /** + * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition. + */ + COMMUNICATION, + /** + * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. + */ + COMMUNICATIONREQUEST, + /** + * A compartment definition that defines how resources are accessed on a server. + */ + COMPARTMENTDEFINITION, + /** + * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). + */ + COMPOSITION, + /** + * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. + */ + CONCEPTMAP, + /** + * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. + */ + CONDITION, + /** + * A definition of a condition and information relevant to managing it. + */ + CONDITIONDEFINITION, + /** + * A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. + */ + CONSENT, + /** + * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. + */ + CONTRACT, + /** + * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment. + */ + COVERAGE, + /** + * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. + */ + COVERAGEELIGIBILITYREQUEST, + /** + * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource. + */ + COVERAGEELIGIBILITYRESPONSE, + /** + * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. + */ + DETECTEDISSUE, + /** + * This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element. + */ + DEVICE, + /** + * This is a specialized resource that defines the characteristics and capabilities of a device. + */ + DEVICEDEFINITION, + /** + * Indicates that a device is to be or has been dispensed for a named person/patient. This includes a description of the product (supply) provided and the instructions for using the device. + */ + DEVICEDISPENSE, + /** + * Describes a measurement, calculation or setting capability of a medical device. + */ + DEVICEMETRIC, + /** + * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used. + */ + DEVICEREQUEST, + /** + * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician. + */ + DEVICEUSAGE, + /** + * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances. + */ + DIAGNOSTICREPORT, + /** + * A collection of documents compiled for a purpose together with metadata that applies to the collection. + */ + DOCUMENTMANIFEST, + /** + * A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this "document" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference. + */ + DOCUMENTREFERENCE, + /** + * A resource that includes narrative, extensions, and contained resources. + */ + DOMAINRESOURCE, + /** + * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s). + */ + ENCOUNTER, + /** + * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information. + */ + ENDPOINT, + /** + * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. + */ + ENROLLMENTREQUEST, + /** + * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource. + */ + ENROLLMENTRESPONSE, + /** + * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. + */ + EPISODEOFCARE, + /** + * The EventDefinition resource provides a reusable description of when a particular event can occur. + */ + EVENTDEFINITION, + /** + * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. + */ + EVIDENCE, + /** + * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. + */ + EVIDENCEREPORT, + /** + * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. + */ + EVIDENCEVARIABLE, + /** + * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time. + */ + EXAMPLESCENARIO, + /** + * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. + */ + EXPLANATIONOFBENEFIT, + /** + * Significant health conditions for a person related to the patient relevant in the context of care for the patient. + */ + FAMILYMEMBERHISTORY, + /** + * Prospective warnings of potential issues when providing care to the patient. + */ + FLAG, + /** + * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself. + */ + FORMULARYITEM, + /** + * A Genomic Study is a set of analysis performed to analyze and generate genomic data. + */ + GENOMICSTUDY, + /** + * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. + */ + GOAL, + /** + * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. + */ + GRAPHDEFINITION, + /** + * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. + */ + GROUP, + /** + * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken. + */ + GUIDANCERESPONSE, + /** + * The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices. + */ + HEALTHCARESERVICE, + /** + * A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource. + */ + IMAGINGSELECTION, + /** + * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. + */ + IMAGINGSTUDY, + /** + * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. + */ + IMMUNIZATION, + /** + * Describes a comparison of an immunization event against published recommendations to determine if the administration is "valid" in relation to those recommendations. + */ + IMMUNIZATIONEVALUATION, + /** + * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. + */ + IMMUNIZATIONRECOMMENDATION, + /** + * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. + */ + IMPLEMENTATIONGUIDE, + /** + * An ingredient of a manufactured item or pharmaceutical product. + */ + INGREDIENT, + /** + * Details of a Health Insurance product/plan provided by an organization. + */ + INSURANCEPLAN, + /** + * A report of inventory or stock items. + */ + INVENTORYREPORT, + /** + * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. + */ + INVOICE, + /** + * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. + */ + LIBRARY, + /** + * Identifies two or more records (resource instances) that refer to the same real-world "occurrence". + */ + LINKAGE, + /** + * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc. + */ + LIST, + /** + * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated. + */ + LOCATION, + /** + * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. + */ + MANUFACTUREDITEMDEFINITION, + /** + * The Measure resource provides the definition of a quality measure. + */ + MEASURE, + /** + * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. + */ + MEASUREREPORT, + /** + * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. + */ + MEDICATION, + /** + * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. + */ + MEDICATIONADMINISTRATION, + /** + * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. + */ + MEDICATIONDISPENSE, + /** + * Information about a medication that is used to support knowledge. + */ + MEDICATIONKNOWLEDGE, + /** + * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called "MedicationRequest" rather than "MedicationPrescription" or "MedicationOrder" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. + */ + 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. + +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, + /** + * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.). + */ + MEDICINALPRODUCTDEFINITION, + /** + * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. + */ + MESSAGEDEFINITION, + /** + * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. + */ + MESSAGEHEADER, + /** + * Common Interface declaration for conformance and knowledge artifact resources. + */ + METADATARESOURCE, + /** + * Representation of a molecular sequence. + */ + MOLECULARSEQUENCE, + /** + * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. + */ + NAMINGSYSTEM, + /** + * A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake. + */ + NUTRITIONINTAKE, + /** + * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. + */ + NUTRITIONORDER, + /** + * A food or supplement that is consumed by patients. + */ + NUTRITIONPRODUCT, + /** + * Measurements and simple assertions made about a patient, device or other subject. + */ + OBSERVATION, + /** + * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. + */ + OBSERVATIONDEFINITION, + /** + * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). + */ + OPERATIONDEFINITION, + /** + * A collection of error, warning, or information messages that result from a system action. + */ + OPERATIONOUTCOME, + /** + * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. + */ + ORGANIZATION, + /** + * Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship. + */ + ORGANIZATIONAFFILIATION, + /** + * A medically related item or items, in a container or package. + */ + PACKAGEDPRODUCTDEFINITION, + /** + * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource. + */ + PARAMETERS, + /** + * Demographics and other administrative information about an individual or animal receiving care or other health-related services. + */ + PATIENT, + /** + * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. + */ + PAYMENTNOTICE, + /** + * This resource provides the details including amount of a payment and allocates the payment items being paid. + */ + PAYMENTRECONCILIATION, + /** + * Permission resource holds access rules for a given data and context. + */ + PERMISSION, + /** + * Demographics and administrative information about a person independent of a specific health-related context. + */ + PERSON, + /** + * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. + */ + PLANDEFINITION, + /** + * A person who is directly or indirectly involved in the provisioning of healthcare or related services. + */ + PRACTITIONER, + /** + * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time. + */ + PRACTITIONERROLE, + /** + * An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing. + */ + PROCEDURE, + /** + * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. + */ + PROVENANCE, + /** + * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. + */ + QUESTIONNAIRE, + /** + * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. + */ + QUESTIONNAIRERESPONSE, + /** + * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product. + */ + REGULATEDAUTHORIZATION, + /** + * Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. + */ + RELATEDPERSON, + /** + * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". + */ + REQUESTORCHESTRATION, + /** + * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ + REQUIREMENTS, + /** + * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future. + */ + RESEARCHSTUDY, + /** + * A physical entity which is the primary unit of operational and/or administrative interest in a study. + */ + RESEARCHSUBJECT, + /** + * This is the base resource type for everything. + */ + RESOURCE, + /** + * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. + */ + RISKASSESSMENT, + /** + * A container for slots of time that may be available for booking appointments. + */ + SCHEDULE, + /** + * A search parameter that defines a named search item that can be used to search/filter on a resource. + */ + SEARCHPARAMETER, + /** + * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. + */ + SERVICEREQUEST, + /** + * A slot of time on a schedule that may be available for booking appointments. + */ + SLOT, + /** + * A sample to be used for analysis. + */ + SPECIMEN, + /** + * A kind of specimen with associated set of requirements. + */ + SPECIMENDEFINITION, + /** + * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. + */ + STRUCTUREDEFINITION, + /** + * A Map of relationships between 2 structures that can be used to transform data. + */ + STRUCTUREMAP, + /** + * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic. + */ + SUBSCRIPTION, + /** + * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted. + */ + SUBSCRIPTIONSTATUS, + /** + * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. + */ + SUBSCRIPTIONTOPIC, + /** + * A homogeneous material with a definite composition. + */ + SUBSTANCE, + /** + * The detailed description of a substance, typically at a level beyond what is used for prescribing. + */ + SUBSTANCEDEFINITION, + /** + * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction. + */ + SUBSTANCENUCLEICACID, + /** + * Properties of a substance specific to it being a polymer. + */ + SUBSTANCEPOLYMER, + /** + * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators. + */ + SUBSTANCEPROTEIN, + /** + * Todo. + */ + SUBSTANCEREFERENCEINFORMATION, + /** + * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex. + */ + SUBSTANCESOURCEMATERIAL, + /** + * Record of delivery of what is supplied. + */ + SUPPLYDELIVERY, + /** + * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting. + */ + SUPPLYREQUEST, + /** + * A task to be performed. + */ + TASK, + /** + * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + */ + TERMINOLOGYCAPABILITIES, + /** + * A summary of information based on the results of executing a TestScript. + */ + TESTREPORT, + /** + * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. + */ + TESTSCRIPT, + /** + * Record of transport. + */ + TRANSPORT, + /** + * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). + */ + VALUESET, + /** + * Describes validation requirements, source(s), status and dates for one or more elements. + */ + VERIFICATIONRESULT, + /** + * An authorization for the provision of glasses and/or contact lenses to a patient. + */ + VISIONPRESCRIPTION, + /** + * added to help the parsers + */ + NULL; + public static AllResourceTypes fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("Account".equals(codeString)) + return ACCOUNT; + if ("ActivityDefinition".equals(codeString)) + return ACTIVITYDEFINITION; + if ("ActorDefinition".equals(codeString)) + return ACTORDEFINITION; + if ("AdministrableProductDefinition".equals(codeString)) + return ADMINISTRABLEPRODUCTDEFINITION; + if ("AdverseEvent".equals(codeString)) + return ADVERSEEVENT; + if ("AllergyIntolerance".equals(codeString)) + return ALLERGYINTOLERANCE; + if ("Appointment".equals(codeString)) + return APPOINTMENT; + if ("AppointmentResponse".equals(codeString)) + return APPOINTMENTRESPONSE; + if ("ArtifactAssessment".equals(codeString)) + return ARTIFACTASSESSMENT; + if ("AuditEvent".equals(codeString)) + return AUDITEVENT; + if ("Basic".equals(codeString)) + return BASIC; + if ("Binary".equals(codeString)) + return BINARY; + if ("BiologicallyDerivedProduct".equals(codeString)) + return BIOLOGICALLYDERIVEDPRODUCT; + if ("BodyStructure".equals(codeString)) + return BODYSTRUCTURE; + if ("Bundle".equals(codeString)) + return BUNDLE; + if ("CanonicalResource".equals(codeString)) + return CANONICALRESOURCE; + if ("CapabilityStatement".equals(codeString)) + return CAPABILITYSTATEMENT; + if ("CarePlan".equals(codeString)) + return CAREPLAN; + if ("CareTeam".equals(codeString)) + return CARETEAM; + if ("ChargeItem".equals(codeString)) + return CHARGEITEM; + if ("ChargeItemDefinition".equals(codeString)) + return CHARGEITEMDEFINITION; + if ("Citation".equals(codeString)) + return CITATION; + if ("Claim".equals(codeString)) + return CLAIM; + if ("ClaimResponse".equals(codeString)) + return CLAIMRESPONSE; + if ("ClinicalImpression".equals(codeString)) + return CLINICALIMPRESSION; + if ("ClinicalUseDefinition".equals(codeString)) + return CLINICALUSEDEFINITION; + if ("CodeSystem".equals(codeString)) + return CODESYSTEM; + if ("Communication".equals(codeString)) + return COMMUNICATION; + if ("CommunicationRequest".equals(codeString)) + return COMMUNICATIONREQUEST; + if ("CompartmentDefinition".equals(codeString)) + return COMPARTMENTDEFINITION; + if ("Composition".equals(codeString)) + return COMPOSITION; + if ("ConceptMap".equals(codeString)) + return CONCEPTMAP; + if ("Condition".equals(codeString)) + return CONDITION; + if ("ConditionDefinition".equals(codeString)) + return CONDITIONDEFINITION; + if ("Consent".equals(codeString)) + return CONSENT; + if ("Contract".equals(codeString)) + return CONTRACT; + if ("Coverage".equals(codeString)) + return COVERAGE; + if ("CoverageEligibilityRequest".equals(codeString)) + return COVERAGEELIGIBILITYREQUEST; + if ("CoverageEligibilityResponse".equals(codeString)) + return COVERAGEELIGIBILITYRESPONSE; + if ("DetectedIssue".equals(codeString)) + return DETECTEDISSUE; + if ("Device".equals(codeString)) + return DEVICE; + if ("DeviceDefinition".equals(codeString)) + return DEVICEDEFINITION; + if ("DeviceDispense".equals(codeString)) + return DEVICEDISPENSE; + if ("DeviceMetric".equals(codeString)) + return DEVICEMETRIC; + if ("DeviceRequest".equals(codeString)) + return DEVICEREQUEST; + if ("DeviceUsage".equals(codeString)) + return DEVICEUSAGE; + if ("DiagnosticReport".equals(codeString)) + return DIAGNOSTICREPORT; + if ("DocumentManifest".equals(codeString)) + return DOCUMENTMANIFEST; + if ("DocumentReference".equals(codeString)) + return DOCUMENTREFERENCE; + if ("DomainResource".equals(codeString)) + return DOMAINRESOURCE; + if ("Encounter".equals(codeString)) + return ENCOUNTER; + if ("Endpoint".equals(codeString)) + return ENDPOINT; + if ("EnrollmentRequest".equals(codeString)) + return ENROLLMENTREQUEST; + if ("EnrollmentResponse".equals(codeString)) + return ENROLLMENTRESPONSE; + if ("EpisodeOfCare".equals(codeString)) + return EPISODEOFCARE; + if ("EventDefinition".equals(codeString)) + return EVENTDEFINITION; + if ("Evidence".equals(codeString)) + return EVIDENCE; + if ("EvidenceReport".equals(codeString)) + return EVIDENCEREPORT; + if ("EvidenceVariable".equals(codeString)) + return EVIDENCEVARIABLE; + if ("ExampleScenario".equals(codeString)) + return EXAMPLESCENARIO; + if ("ExplanationOfBenefit".equals(codeString)) + return EXPLANATIONOFBENEFIT; + if ("FamilyMemberHistory".equals(codeString)) + return FAMILYMEMBERHISTORY; + if ("Flag".equals(codeString)) + return FLAG; + if ("FormularyItem".equals(codeString)) + return FORMULARYITEM; + if ("GenomicStudy".equals(codeString)) + return GENOMICSTUDY; + if ("Goal".equals(codeString)) + return GOAL; + if ("GraphDefinition".equals(codeString)) + return GRAPHDEFINITION; + if ("Group".equals(codeString)) + return GROUP; + if ("GuidanceResponse".equals(codeString)) + return GUIDANCERESPONSE; + if ("HealthcareService".equals(codeString)) + return HEALTHCARESERVICE; + if ("ImagingSelection".equals(codeString)) + return IMAGINGSELECTION; + if ("ImagingStudy".equals(codeString)) + return IMAGINGSTUDY; + if ("Immunization".equals(codeString)) + return IMMUNIZATION; + if ("ImmunizationEvaluation".equals(codeString)) + return IMMUNIZATIONEVALUATION; + if ("ImmunizationRecommendation".equals(codeString)) + return IMMUNIZATIONRECOMMENDATION; + if ("ImplementationGuide".equals(codeString)) + return IMPLEMENTATIONGUIDE; + if ("Ingredient".equals(codeString)) + return INGREDIENT; + if ("InsurancePlan".equals(codeString)) + return INSURANCEPLAN; + if ("InventoryReport".equals(codeString)) + return INVENTORYREPORT; + if ("Invoice".equals(codeString)) + return INVOICE; + if ("Library".equals(codeString)) + return LIBRARY; + if ("Linkage".equals(codeString)) + return LINKAGE; + if ("List".equals(codeString)) + return LIST; + if ("Location".equals(codeString)) + return LOCATION; + if ("ManufacturedItemDefinition".equals(codeString)) + return MANUFACTUREDITEMDEFINITION; + if ("Measure".equals(codeString)) + return MEASURE; + if ("MeasureReport".equals(codeString)) + return MEASUREREPORT; + if ("Medication".equals(codeString)) + return MEDICATION; + if ("MedicationAdministration".equals(codeString)) + return MEDICATIONADMINISTRATION; + if ("MedicationDispense".equals(codeString)) + return MEDICATIONDISPENSE; + if ("MedicationKnowledge".equals(codeString)) + return MEDICATIONKNOWLEDGE; + if ("MedicationRequest".equals(codeString)) + return MEDICATIONREQUEST; + if ("MedicationUsage".equals(codeString)) + return MEDICATIONUSAGE; + if ("MedicinalProductDefinition".equals(codeString)) + return MEDICINALPRODUCTDEFINITION; + if ("MessageDefinition".equals(codeString)) + return MESSAGEDEFINITION; + if ("MessageHeader".equals(codeString)) + return MESSAGEHEADER; + if ("MetadataResource".equals(codeString)) + return METADATARESOURCE; + if ("MolecularSequence".equals(codeString)) + return MOLECULARSEQUENCE; + if ("NamingSystem".equals(codeString)) + return NAMINGSYSTEM; + if ("NutritionIntake".equals(codeString)) + return NUTRITIONINTAKE; + if ("NutritionOrder".equals(codeString)) + return NUTRITIONORDER; + if ("NutritionProduct".equals(codeString)) + return NUTRITIONPRODUCT; + if ("Observation".equals(codeString)) + return OBSERVATION; + if ("ObservationDefinition".equals(codeString)) + return OBSERVATIONDEFINITION; + if ("OperationDefinition".equals(codeString)) + return OPERATIONDEFINITION; + if ("OperationOutcome".equals(codeString)) + return OPERATIONOUTCOME; + if ("Organization".equals(codeString)) + return ORGANIZATION; + if ("OrganizationAffiliation".equals(codeString)) + return ORGANIZATIONAFFILIATION; + if ("PackagedProductDefinition".equals(codeString)) + return PACKAGEDPRODUCTDEFINITION; + if ("Parameters".equals(codeString)) + return PARAMETERS; + if ("Patient".equals(codeString)) + return PATIENT; + if ("PaymentNotice".equals(codeString)) + return PAYMENTNOTICE; + if ("PaymentReconciliation".equals(codeString)) + return PAYMENTRECONCILIATION; + if ("Permission".equals(codeString)) + return PERMISSION; + if ("Person".equals(codeString)) + return PERSON; + if ("PlanDefinition".equals(codeString)) + return PLANDEFINITION; + if ("Practitioner".equals(codeString)) + return PRACTITIONER; + if ("PractitionerRole".equals(codeString)) + return PRACTITIONERROLE; + if ("Procedure".equals(codeString)) + return PROCEDURE; + if ("Provenance".equals(codeString)) + return PROVENANCE; + if ("Questionnaire".equals(codeString)) + return QUESTIONNAIRE; + if ("QuestionnaireResponse".equals(codeString)) + return QUESTIONNAIRERESPONSE; + if ("RegulatedAuthorization".equals(codeString)) + return REGULATEDAUTHORIZATION; + if ("RelatedPerson".equals(codeString)) + return RELATEDPERSON; + if ("RequestOrchestration".equals(codeString)) + return REQUESTORCHESTRATION; + if ("Requirements".equals(codeString)) + return REQUIREMENTS; + if ("ResearchStudy".equals(codeString)) + return RESEARCHSTUDY; + if ("ResearchSubject".equals(codeString)) + return RESEARCHSUBJECT; + if ("Resource".equals(codeString)) + return RESOURCE; + if ("RiskAssessment".equals(codeString)) + return RISKASSESSMENT; + if ("Schedule".equals(codeString)) + return SCHEDULE; + if ("SearchParameter".equals(codeString)) + return SEARCHPARAMETER; + if ("ServiceRequest".equals(codeString)) + return SERVICEREQUEST; + if ("Slot".equals(codeString)) + return SLOT; + if ("Specimen".equals(codeString)) + return SPECIMEN; + if ("SpecimenDefinition".equals(codeString)) + return SPECIMENDEFINITION; + if ("StructureDefinition".equals(codeString)) + return STRUCTUREDEFINITION; + if ("StructureMap".equals(codeString)) + return STRUCTUREMAP; + if ("Subscription".equals(codeString)) + return SUBSCRIPTION; + if ("SubscriptionStatus".equals(codeString)) + return SUBSCRIPTIONSTATUS; + if ("SubscriptionTopic".equals(codeString)) + return SUBSCRIPTIONTOPIC; + if ("Substance".equals(codeString)) + return SUBSTANCE; + if ("SubstanceDefinition".equals(codeString)) + return SUBSTANCEDEFINITION; + if ("SubstanceNucleicAcid".equals(codeString)) + return SUBSTANCENUCLEICACID; + if ("SubstancePolymer".equals(codeString)) + return SUBSTANCEPOLYMER; + if ("SubstanceProtein".equals(codeString)) + return SUBSTANCEPROTEIN; + if ("SubstanceReferenceInformation".equals(codeString)) + return SUBSTANCEREFERENCEINFORMATION; + if ("SubstanceSourceMaterial".equals(codeString)) + return SUBSTANCESOURCEMATERIAL; + if ("SupplyDelivery".equals(codeString)) + return SUPPLYDELIVERY; + if ("SupplyRequest".equals(codeString)) + return SUPPLYREQUEST; + if ("Task".equals(codeString)) + return TASK; + if ("TerminologyCapabilities".equals(codeString)) + return TERMINOLOGYCAPABILITIES; + if ("TestReport".equals(codeString)) + return TESTREPORT; + if ("TestScript".equals(codeString)) + return TESTSCRIPT; + if ("Transport".equals(codeString)) + return TRANSPORT; + if ("ValueSet".equals(codeString)) + return VALUESET; + if ("VerificationResult".equals(codeString)) + return VERIFICATIONRESULT; + if ("VisionPrescription".equals(codeString)) + return VISIONPRESCRIPTION; + throw new FHIRException("Unknown AllResourceTypes code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case ACCOUNT: return "Account"; + case ACTIVITYDEFINITION: return "ActivityDefinition"; + case ACTORDEFINITION: return "ActorDefinition"; + case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; + case ADVERSEEVENT: return "AdverseEvent"; + case ALLERGYINTOLERANCE: return "AllergyIntolerance"; + case APPOINTMENT: return "Appointment"; + case APPOINTMENTRESPONSE: return "AppointmentResponse"; + case ARTIFACTASSESSMENT: return "ArtifactAssessment"; + case AUDITEVENT: return "AuditEvent"; + case BASIC: return "Basic"; + case BINARY: return "Binary"; + case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; + case BODYSTRUCTURE: return "BodyStructure"; + case BUNDLE: return "Bundle"; + case CANONICALRESOURCE: return "CanonicalResource"; + case CAPABILITYSTATEMENT: return "CapabilityStatement"; + case CAREPLAN: return "CarePlan"; + case CARETEAM: return "CareTeam"; + case CHARGEITEM: return "ChargeItem"; + case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; + case CITATION: return "Citation"; + case CLAIM: return "Claim"; + case CLAIMRESPONSE: return "ClaimResponse"; + case CLINICALIMPRESSION: return "ClinicalImpression"; + case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; + case CODESYSTEM: return "CodeSystem"; + case COMMUNICATION: return "Communication"; + case COMMUNICATIONREQUEST: return "CommunicationRequest"; + case COMPARTMENTDEFINITION: return "CompartmentDefinition"; + case COMPOSITION: return "Composition"; + case CONCEPTMAP: return "ConceptMap"; + case CONDITION: return "Condition"; + case CONDITIONDEFINITION: return "ConditionDefinition"; + case CONSENT: return "Consent"; + case CONTRACT: return "Contract"; + case COVERAGE: return "Coverage"; + case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; + case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse"; + case DETECTEDISSUE: return "DetectedIssue"; + case DEVICE: return "Device"; + case DEVICEDEFINITION: return "DeviceDefinition"; + case DEVICEDISPENSE: return "DeviceDispense"; + case DEVICEMETRIC: return "DeviceMetric"; + case DEVICEREQUEST: return "DeviceRequest"; + case DEVICEUSAGE: return "DeviceUsage"; + case DIAGNOSTICREPORT: return "DiagnosticReport"; + case DOCUMENTMANIFEST: return "DocumentManifest"; + case DOCUMENTREFERENCE: return "DocumentReference"; + case DOMAINRESOURCE: return "DomainResource"; + case ENCOUNTER: return "Encounter"; + case ENDPOINT: return "Endpoint"; + case ENROLLMENTREQUEST: return "EnrollmentRequest"; + case ENROLLMENTRESPONSE: return "EnrollmentResponse"; + case EPISODEOFCARE: return "EpisodeOfCare"; + case EVENTDEFINITION: return "EventDefinition"; + case EVIDENCE: return "Evidence"; + case EVIDENCEREPORT: return "EvidenceReport"; + case EVIDENCEVARIABLE: return "EvidenceVariable"; + case EXAMPLESCENARIO: return "ExampleScenario"; + case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; + case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; + case FLAG: return "Flag"; + case FORMULARYITEM: return "FormularyItem"; + case GENOMICSTUDY: return "GenomicStudy"; + case GOAL: return "Goal"; + case GRAPHDEFINITION: return "GraphDefinition"; + case GROUP: return "Group"; + case GUIDANCERESPONSE: return "GuidanceResponse"; + case HEALTHCARESERVICE: return "HealthcareService"; + case IMAGINGSELECTION: return "ImagingSelection"; + case IMAGINGSTUDY: return "ImagingStudy"; + case IMMUNIZATION: return "Immunization"; + case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; + case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; + case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; + case INGREDIENT: return "Ingredient"; + case INSURANCEPLAN: return "InsurancePlan"; + case INVENTORYREPORT: return "InventoryReport"; + case INVOICE: return "Invoice"; + case LIBRARY: return "Library"; + case LINKAGE: return "Linkage"; + case LIST: return "List"; + case LOCATION: return "Location"; + case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; + case MEASURE: return "Measure"; + case MEASUREREPORT: return "MeasureReport"; + case MEDICATION: return "Medication"; + case MEDICATIONADMINISTRATION: return "MedicationAdministration"; + case MEDICATIONDISPENSE: return "MedicationDispense"; + case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; + case MEDICATIONREQUEST: return "MedicationRequest"; + case MEDICATIONUSAGE: return "MedicationUsage"; + case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; + case MESSAGEDEFINITION: return "MessageDefinition"; + case MESSAGEHEADER: return "MessageHeader"; + case METADATARESOURCE: return "MetadataResource"; + case MOLECULARSEQUENCE: return "MolecularSequence"; + case NAMINGSYSTEM: return "NamingSystem"; + case NUTRITIONINTAKE: return "NutritionIntake"; + case NUTRITIONORDER: return "NutritionOrder"; + case NUTRITIONPRODUCT: return "NutritionProduct"; + case OBSERVATION: return "Observation"; + case OBSERVATIONDEFINITION: return "ObservationDefinition"; + case OPERATIONDEFINITION: return "OperationDefinition"; + case OPERATIONOUTCOME: return "OperationOutcome"; + case ORGANIZATION: return "Organization"; + case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; + case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; + case PARAMETERS: return "Parameters"; + case PATIENT: return "Patient"; + case PAYMENTNOTICE: return "PaymentNotice"; + case PAYMENTRECONCILIATION: return "PaymentReconciliation"; + case PERMISSION: return "Permission"; + case PERSON: return "Person"; + case PLANDEFINITION: return "PlanDefinition"; + case PRACTITIONER: return "Practitioner"; + case PRACTITIONERROLE: return "PractitionerRole"; + case PROCEDURE: return "Procedure"; + case PROVENANCE: return "Provenance"; + case QUESTIONNAIRE: return "Questionnaire"; + case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; + case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; + case RELATEDPERSON: return "RelatedPerson"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; + case REQUIREMENTS: return "Requirements"; + case RESEARCHSTUDY: return "ResearchStudy"; + case RESEARCHSUBJECT: return "ResearchSubject"; + case RESOURCE: return "Resource"; + case RISKASSESSMENT: return "RiskAssessment"; + case SCHEDULE: return "Schedule"; + case SEARCHPARAMETER: return "SearchParameter"; + case SERVICEREQUEST: return "ServiceRequest"; + case SLOT: return "Slot"; + case SPECIMEN: return "Specimen"; + case SPECIMENDEFINITION: return "SpecimenDefinition"; + case STRUCTUREDEFINITION: return "StructureDefinition"; + case STRUCTUREMAP: return "StructureMap"; + case SUBSCRIPTION: return "Subscription"; + case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; + case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; + case SUBSTANCE: return "Substance"; + case SUBSTANCEDEFINITION: return "SubstanceDefinition"; + case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; + case SUBSTANCEPOLYMER: return "SubstancePolymer"; + case SUBSTANCEPROTEIN: return "SubstanceProtein"; + case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; + case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial"; + case SUPPLYDELIVERY: return "SupplyDelivery"; + case SUPPLYREQUEST: return "SupplyRequest"; + case TASK: return "Task"; + case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; + case TESTREPORT: return "TestReport"; + case TESTSCRIPT: return "TestScript"; + case TRANSPORT: return "Transport"; + case VALUESET: return "ValueSet"; + case VERIFICATIONRESULT: return "VerificationResult"; + case VISIONPRESCRIPTION: return "VisionPrescription"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case ACCOUNT: return "http://hl7.org/fhir/fhir-types"; + case ACTIVITYDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ACTORDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ADVERSEEVENT: return "http://hl7.org/fhir/fhir-types"; + case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENT: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/fhir-types"; + case AUDITEVENT: return "http://hl7.org/fhir/fhir-types"; + case BASIC: return "http://hl7.org/fhir/fhir-types"; + case BINARY: return "http://hl7.org/fhir/fhir-types"; + case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/fhir-types"; + case BODYSTRUCTURE: return "http://hl7.org/fhir/fhir-types"; + case BUNDLE: return "http://hl7.org/fhir/fhir-types"; + case CANONICALRESOURCE: return "http://hl7.org/fhir/fhir-types"; + case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/fhir-types"; + case CAREPLAN: return "http://hl7.org/fhir/fhir-types"; + case CARETEAM: return "http://hl7.org/fhir/fhir-types"; + case CHARGEITEM: return "http://hl7.org/fhir/fhir-types"; + case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CITATION: return "http://hl7.org/fhir/fhir-types"; + case CLAIM: return "http://hl7.org/fhir/fhir-types"; + case CLAIMRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case CLINICALIMPRESSION: return "http://hl7.org/fhir/fhir-types"; + case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CODESYSTEM: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATION: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case COMPOSITION: return "http://hl7.org/fhir/fhir-types"; + case CONCEPTMAP: return "http://hl7.org/fhir/fhir-types"; + case CONDITION: return "http://hl7.org/fhir/fhir-types"; + case CONDITIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CONSENT: return "http://hl7.org/fhir/fhir-types"; + case CONTRACT: return "http://hl7.org/fhir/fhir-types"; + case COVERAGE: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case DETECTEDISSUE: return "http://hl7.org/fhir/fhir-types"; + case DEVICE: return "http://hl7.org/fhir/fhir-types"; + case DEVICEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case DEVICEDISPENSE: return "http://hl7.org/fhir/fhir-types"; + case DEVICEMETRIC: return "http://hl7.org/fhir/fhir-types"; + case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case DEVICEUSAGE: return "http://hl7.org/fhir/fhir-types"; + case DIAGNOSTICREPORT: return "http://hl7.org/fhir/fhir-types"; + case DOCUMENTMANIFEST: return "http://hl7.org/fhir/fhir-types"; + case DOCUMENTREFERENCE: return "http://hl7.org/fhir/fhir-types"; + case DOMAINRESOURCE: return "http://hl7.org/fhir/fhir-types"; + case ENCOUNTER: return "http://hl7.org/fhir/fhir-types"; + case ENDPOINT: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case EPISODEOFCARE: return "http://hl7.org/fhir/fhir-types"; + case EVENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCE: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCEREPORT: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCEVARIABLE: return "http://hl7.org/fhir/fhir-types"; + case EXAMPLESCENARIO: return "http://hl7.org/fhir/fhir-types"; + case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/fhir-types"; + case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/fhir-types"; + case FLAG: return "http://hl7.org/fhir/fhir-types"; + case FORMULARYITEM: return "http://hl7.org/fhir/fhir-types"; + case GENOMICSTUDY: return "http://hl7.org/fhir/fhir-types"; + case GOAL: return "http://hl7.org/fhir/fhir-types"; + case GRAPHDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case GROUP: return "http://hl7.org/fhir/fhir-types"; + case GUIDANCERESPONSE: return "http://hl7.org/fhir/fhir-types"; + case HEALTHCARESERVICE: return "http://hl7.org/fhir/fhir-types"; + case IMAGINGSELECTION: return "http://hl7.org/fhir/fhir-types"; + case IMAGINGSTUDY: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATION: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types"; + case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/fhir-types"; + case INGREDIENT: return "http://hl7.org/fhir/fhir-types"; + case INSURANCEPLAN: return "http://hl7.org/fhir/fhir-types"; + case INVENTORYREPORT: return "http://hl7.org/fhir/fhir-types"; + case INVOICE: return "http://hl7.org/fhir/fhir-types"; + case LIBRARY: return "http://hl7.org/fhir/fhir-types"; + case LINKAGE: return "http://hl7.org/fhir/fhir-types"; + case LIST: return "http://hl7.org/fhir/fhir-types"; + case LOCATION: return "http://hl7.org/fhir/fhir-types"; + case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MEASURE: return "http://hl7.org/fhir/fhir-types"; + case MEASUREREPORT: return "http://hl7.org/fhir/fhir-types"; + case MEDICATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONDISPENSE: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONUSAGE: return "http://hl7.org/fhir/fhir-types"; + case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MESSAGEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MESSAGEHEADER: return "http://hl7.org/fhir/fhir-types"; + case METADATARESOURCE: return "http://hl7.org/fhir/fhir-types"; + case MOLECULARSEQUENCE: return "http://hl7.org/fhir/fhir-types"; + case NAMINGSYSTEM: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONINTAKE: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONPRODUCT: return "http://hl7.org/fhir/fhir-types"; + case OBSERVATION: return "http://hl7.org/fhir/fhir-types"; + case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case OPERATIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case OPERATIONOUTCOME: return "http://hl7.org/fhir/fhir-types"; + case ORGANIZATION: return "http://hl7.org/fhir/fhir-types"; + case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/fhir-types"; + case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PARAMETERS: return "http://hl7.org/fhir/fhir-types"; + case PATIENT: return "http://hl7.org/fhir/fhir-types"; + case PAYMENTNOTICE: return "http://hl7.org/fhir/fhir-types"; + case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/fhir-types"; + case PERMISSION: return "http://hl7.org/fhir/fhir-types"; + case PERSON: return "http://hl7.org/fhir/fhir-types"; + case PLANDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PRACTITIONER: return "http://hl7.org/fhir/fhir-types"; + case PRACTITIONERROLE: return "http://hl7.org/fhir/fhir-types"; + case PROCEDURE: return "http://hl7.org/fhir/fhir-types"; + case PROVENANCE: return "http://hl7.org/fhir/fhir-types"; + case QUESTIONNAIRE: return "http://hl7.org/fhir/fhir-types"; + case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/fhir-types"; + case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/fhir-types"; + case RELATEDPERSON: return "http://hl7.org/fhir/fhir-types"; + case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types"; + case REQUIREMENTS: return "http://hl7.org/fhir/fhir-types"; + case RESEARCHSTUDY: return "http://hl7.org/fhir/fhir-types"; + case RESEARCHSUBJECT: return "http://hl7.org/fhir/fhir-types"; + case RESOURCE: return "http://hl7.org/fhir/fhir-types"; + case RISKASSESSMENT: return "http://hl7.org/fhir/fhir-types"; + case SCHEDULE: return "http://hl7.org/fhir/fhir-types"; + case SEARCHPARAMETER: return "http://hl7.org/fhir/fhir-types"; + case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case SLOT: return "http://hl7.org/fhir/fhir-types"; + case SPECIMEN: return "http://hl7.org/fhir/fhir-types"; + case SPECIMENDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case STRUCTUREDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case STRUCTUREMAP: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTION: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCE: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYDELIVERY: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case TASK: return "http://hl7.org/fhir/fhir-types"; + case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/fhir-types"; + case TESTREPORT: return "http://hl7.org/fhir/fhir-types"; + case TESTSCRIPT: return "http://hl7.org/fhir/fhir-types"; + case TRANSPORT: return "http://hl7.org/fhir/fhir-types"; + case VALUESET: return "http://hl7.org/fhir/fhir-types"; + case VERIFICATIONRESULT: return "http://hl7.org/fhir/fhir-types"; + case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc."; + case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; + case ACTORDEFINITION: return "The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays."; + case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed)."; + case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints."; + case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; + case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; + case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; + case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content."; + case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis."; + case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; + case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc."; + case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity."; + case BODYSTRUCTURE: return "Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; + case BUNDLE: return "A container for a collection of resources."; + case CANONICALRESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources."; + case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; + case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; + case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care."; + case CHARGEITEM: return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation."; + case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; + case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; + case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement."; + case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; + case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; + case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure."; + case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; + case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition."; + case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; + case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; + case COMPOSITION: return "A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.)."; + case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; + case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern."; + case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; + case CONSENT: return "A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time."; + case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement."; + case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment."; + case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy."; + case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource."; + case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc."; + case DEVICE: return "This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element."; + case DEVICEDEFINITION: return "This is a specialized resource that defines the characteristics and capabilities of a device."; + case DEVICEDISPENSE: return "Indicates that a device is to be or has been dispensed for a named person/patient. This includes a description of the product (supply) provided and the instructions for using the device."; + case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device."; + case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used."; + case DEVICEUSAGE: return "A record of a device being used by a patient where the record is the result of a report from the patient or a clinician."; + case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances."; + case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection."; + case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference."; + case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources."; + case ENCOUNTER: return "An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s)."; + case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information."; + case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; + case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource."; + case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; + case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; + case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; + case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; + case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; + case EXAMPLESCENARIO: return "A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time."; + case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; + case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient."; + case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; + case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself."; + case GENOMICSTUDY: return "A Genomic Study is a set of analysis performed to analyze and generate genomic data."; + case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; + case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; + case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; + case GUIDANCERESPONSE: return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken."; + case HEALTHCARESERVICE: return "The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices."; + case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource."; + case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; + case IMMUNIZATION: return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party."; + case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations."; + case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; + case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; + case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product."; + case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization."; + case INVENTORYREPORT: return "A report of inventory or stock items."; + case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose."; + case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; + case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\"."; + case LIST: return "A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc."; + case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated."; + case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product."; + case MEASURE: return "The Measure resource provides the definition of a quality measure."; + case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation."; + case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use."; + case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; + case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order."; + case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge."; + case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; + case MEDICATIONUSAGE: return "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. \n\nThe 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."; + case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.)."; + case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; + case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; + case METADATARESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources."; + case MOLECULARSEQUENCE: return "Representation of a molecular sequence."; + case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; + case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake."; + case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; + case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients."; + case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; + case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service."; + case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; + case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action."; + case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc."; + case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship."; + case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package."; + case PARAMETERS: return "This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource."; + case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; + case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; + case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid."; + case PERMISSION: return "Permission resource holds access rules for a given data and context."; + case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; + case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; + case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare or related services."; + case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time."; + case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing."; + case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; + case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; + case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to."; + case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product."; + case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; + case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; + case REQUIREMENTS: return "The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays."; + case RESEARCHSTUDY: return "A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future."; + case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study."; + case RESOURCE: return "This is the base resource type for everything."; + case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; + case SCHEDULE: return "A container for slots of time that may be available for booking appointments."; + case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; + case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; + case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; + case SPECIMEN: return "A sample to be used for analysis."; + case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements."; + case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; + case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; + case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic."; + case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted."; + case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; + case SUBSTANCE: return "A homogeneous material with a definite composition."; + case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing."; + case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction."; + case SUBSTANCEPOLYMER: return "Properties of a substance specific to it being a polymer."; + case SUBSTANCEPROTEIN: return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators."; + case SUBSTANCEREFERENCEINFORMATION: return "Todo."; + case SUBSTANCESOURCEMATERIAL: return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex."; + case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; + case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting."; + case TASK: return "A task to be performed."; + case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; + case TESTREPORT: return "A summary of information based on the results of executing a TestScript."; + case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; + case TRANSPORT: return "Record of transport."; + case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; + case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements."; + case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case ACCOUNT: return "Account"; + case ACTIVITYDEFINITION: return "ActivityDefinition"; + case ACTORDEFINITION: return "ActorDefinition"; + case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; + case ADVERSEEVENT: return "AdverseEvent"; + case ALLERGYINTOLERANCE: return "AllergyIntolerance"; + case APPOINTMENT: return "Appointment"; + case APPOINTMENTRESPONSE: return "AppointmentResponse"; + case ARTIFACTASSESSMENT: return "ArtifactAssessment"; + case AUDITEVENT: return "AuditEvent"; + case BASIC: return "Basic"; + case BINARY: return "Binary"; + case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; + case BODYSTRUCTURE: return "BodyStructure"; + case BUNDLE: return "Bundle"; + case CANONICALRESOURCE: return "CanonicalResource"; + case CAPABILITYSTATEMENT: return "CapabilityStatement"; + case CAREPLAN: return "CarePlan"; + case CARETEAM: return "CareTeam"; + case CHARGEITEM: return "ChargeItem"; + case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; + case CITATION: return "Citation"; + case CLAIM: return "Claim"; + case CLAIMRESPONSE: return "ClaimResponse"; + case CLINICALIMPRESSION: return "ClinicalImpression"; + case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; + case CODESYSTEM: return "CodeSystem"; + case COMMUNICATION: return "Communication"; + case COMMUNICATIONREQUEST: return "CommunicationRequest"; + case COMPARTMENTDEFINITION: return "CompartmentDefinition"; + case COMPOSITION: return "Composition"; + case CONCEPTMAP: return "ConceptMap"; + case CONDITION: return "Condition"; + case CONDITIONDEFINITION: return "ConditionDefinition"; + case CONSENT: return "Consent"; + case CONTRACT: return "Contract"; + case COVERAGE: return "Coverage"; + case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; + case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse"; + case DETECTEDISSUE: return "DetectedIssue"; + case DEVICE: return "Device"; + case DEVICEDEFINITION: return "DeviceDefinition"; + case DEVICEDISPENSE: return "DeviceDispense"; + case DEVICEMETRIC: return "DeviceMetric"; + case DEVICEREQUEST: return "DeviceRequest"; + case DEVICEUSAGE: return "DeviceUsage"; + case DIAGNOSTICREPORT: return "DiagnosticReport"; + case DOCUMENTMANIFEST: return "DocumentManifest"; + case DOCUMENTREFERENCE: return "DocumentReference"; + case DOMAINRESOURCE: return "DomainResource"; + case ENCOUNTER: return "Encounter"; + case ENDPOINT: return "Endpoint"; + case ENROLLMENTREQUEST: return "EnrollmentRequest"; + case ENROLLMENTRESPONSE: return "EnrollmentResponse"; + case EPISODEOFCARE: return "EpisodeOfCare"; + case EVENTDEFINITION: return "EventDefinition"; + case EVIDENCE: return "Evidence"; + case EVIDENCEREPORT: return "EvidenceReport"; + case EVIDENCEVARIABLE: return "EvidenceVariable"; + case EXAMPLESCENARIO: return "ExampleScenario"; + case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; + case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; + case FLAG: return "Flag"; + case FORMULARYITEM: return "FormularyItem"; + case GENOMICSTUDY: return "GenomicStudy"; + case GOAL: return "Goal"; + case GRAPHDEFINITION: return "GraphDefinition"; + case GROUP: return "Group"; + case GUIDANCERESPONSE: return "GuidanceResponse"; + case HEALTHCARESERVICE: return "HealthcareService"; + case IMAGINGSELECTION: return "ImagingSelection"; + case IMAGINGSTUDY: return "ImagingStudy"; + case IMMUNIZATION: return "Immunization"; + case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; + case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; + case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; + case INGREDIENT: return "Ingredient"; + case INSURANCEPLAN: return "InsurancePlan"; + case INVENTORYREPORT: return "InventoryReport"; + case INVOICE: return "Invoice"; + case LIBRARY: return "Library"; + case LINKAGE: return "Linkage"; + case LIST: return "List"; + case LOCATION: return "Location"; + case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; + case MEASURE: return "Measure"; + case MEASUREREPORT: return "MeasureReport"; + case MEDICATION: return "Medication"; + case MEDICATIONADMINISTRATION: return "MedicationAdministration"; + case MEDICATIONDISPENSE: return "MedicationDispense"; + case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; + case MEDICATIONREQUEST: return "MedicationRequest"; + case MEDICATIONUSAGE: return "MedicationUsage"; + case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; + case MESSAGEDEFINITION: return "MessageDefinition"; + case MESSAGEHEADER: return "MessageHeader"; + case METADATARESOURCE: return "MetadataResource"; + case MOLECULARSEQUENCE: return "MolecularSequence"; + case NAMINGSYSTEM: return "NamingSystem"; + case NUTRITIONINTAKE: return "NutritionIntake"; + case NUTRITIONORDER: return "NutritionOrder"; + case NUTRITIONPRODUCT: return "NutritionProduct"; + case OBSERVATION: return "Observation"; + case OBSERVATIONDEFINITION: return "ObservationDefinition"; + case OPERATIONDEFINITION: return "OperationDefinition"; + case OPERATIONOUTCOME: return "OperationOutcome"; + case ORGANIZATION: return "Organization"; + case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; + case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; + case PARAMETERS: return "Parameters"; + case PATIENT: return "Patient"; + case PAYMENTNOTICE: return "PaymentNotice"; + case PAYMENTRECONCILIATION: return "PaymentReconciliation"; + case PERMISSION: return "Permission"; + case PERSON: return "Person"; + case PLANDEFINITION: return "PlanDefinition"; + case PRACTITIONER: return "Practitioner"; + case PRACTITIONERROLE: return "PractitionerRole"; + case PROCEDURE: return "Procedure"; + case PROVENANCE: return "Provenance"; + case QUESTIONNAIRE: return "Questionnaire"; + case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; + case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; + case RELATEDPERSON: return "RelatedPerson"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; + case REQUIREMENTS: return "Requirements"; + case RESEARCHSTUDY: return "ResearchStudy"; + case RESEARCHSUBJECT: return "ResearchSubject"; + case RESOURCE: return "Resource"; + case RISKASSESSMENT: return "RiskAssessment"; + case SCHEDULE: return "Schedule"; + case SEARCHPARAMETER: return "SearchParameter"; + case SERVICEREQUEST: return "ServiceRequest"; + case SLOT: return "Slot"; + case SPECIMEN: return "Specimen"; + case SPECIMENDEFINITION: return "SpecimenDefinition"; + case STRUCTUREDEFINITION: return "StructureDefinition"; + case STRUCTUREMAP: return "StructureMap"; + case SUBSCRIPTION: return "Subscription"; + case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; + case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; + case SUBSTANCE: return "Substance"; + case SUBSTANCEDEFINITION: return "SubstanceDefinition"; + case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; + case SUBSTANCEPOLYMER: return "SubstancePolymer"; + case SUBSTANCEPROTEIN: return "SubstanceProtein"; + case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; + case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial"; + case SUPPLYDELIVERY: return "SupplyDelivery"; + case SUPPLYREQUEST: return "SupplyRequest"; + case TASK: return "Task"; + case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; + case TESTREPORT: return "TestReport"; + case TESTSCRIPT: return "TestScript"; + case TRANSPORT: return "Transport"; + case VALUESET: return "ValueSet"; + case VERIFICATIONRESULT: return "VerificationResult"; + case VISIONPRESCRIPTION: return "VisionPrescription"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class AllResourceTypesEnumFactory implements EnumFactory { + public AllResourceTypes fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("Account".equals(codeString)) + return AllResourceTypes.ACCOUNT; + if ("ActivityDefinition".equals(codeString)) + return AllResourceTypes.ACTIVITYDEFINITION; + if ("ActorDefinition".equals(codeString)) + return AllResourceTypes.ACTORDEFINITION; + if ("AdministrableProductDefinition".equals(codeString)) + return AllResourceTypes.ADMINISTRABLEPRODUCTDEFINITION; + if ("AdverseEvent".equals(codeString)) + return AllResourceTypes.ADVERSEEVENT; + if ("AllergyIntolerance".equals(codeString)) + return AllResourceTypes.ALLERGYINTOLERANCE; + if ("Appointment".equals(codeString)) + return AllResourceTypes.APPOINTMENT; + if ("AppointmentResponse".equals(codeString)) + return AllResourceTypes.APPOINTMENTRESPONSE; + if ("ArtifactAssessment".equals(codeString)) + return AllResourceTypes.ARTIFACTASSESSMENT; + if ("AuditEvent".equals(codeString)) + return AllResourceTypes.AUDITEVENT; + if ("Basic".equals(codeString)) + return AllResourceTypes.BASIC; + if ("Binary".equals(codeString)) + return AllResourceTypes.BINARY; + if ("BiologicallyDerivedProduct".equals(codeString)) + return AllResourceTypes.BIOLOGICALLYDERIVEDPRODUCT; + if ("BodyStructure".equals(codeString)) + return AllResourceTypes.BODYSTRUCTURE; + if ("Bundle".equals(codeString)) + return AllResourceTypes.BUNDLE; + if ("CanonicalResource".equals(codeString)) + return AllResourceTypes.CANONICALRESOURCE; + if ("CapabilityStatement".equals(codeString)) + return AllResourceTypes.CAPABILITYSTATEMENT; + if ("CarePlan".equals(codeString)) + return AllResourceTypes.CAREPLAN; + if ("CareTeam".equals(codeString)) + return AllResourceTypes.CARETEAM; + if ("ChargeItem".equals(codeString)) + return AllResourceTypes.CHARGEITEM; + if ("ChargeItemDefinition".equals(codeString)) + return AllResourceTypes.CHARGEITEMDEFINITION; + if ("Citation".equals(codeString)) + return AllResourceTypes.CITATION; + if ("Claim".equals(codeString)) + return AllResourceTypes.CLAIM; + if ("ClaimResponse".equals(codeString)) + return AllResourceTypes.CLAIMRESPONSE; + if ("ClinicalImpression".equals(codeString)) + return AllResourceTypes.CLINICALIMPRESSION; + if ("ClinicalUseDefinition".equals(codeString)) + return AllResourceTypes.CLINICALUSEDEFINITION; + if ("CodeSystem".equals(codeString)) + return AllResourceTypes.CODESYSTEM; + if ("Communication".equals(codeString)) + return AllResourceTypes.COMMUNICATION; + if ("CommunicationRequest".equals(codeString)) + return AllResourceTypes.COMMUNICATIONREQUEST; + if ("CompartmentDefinition".equals(codeString)) + return AllResourceTypes.COMPARTMENTDEFINITION; + if ("Composition".equals(codeString)) + return AllResourceTypes.COMPOSITION; + if ("ConceptMap".equals(codeString)) + return AllResourceTypes.CONCEPTMAP; + if ("Condition".equals(codeString)) + return AllResourceTypes.CONDITION; + if ("ConditionDefinition".equals(codeString)) + return AllResourceTypes.CONDITIONDEFINITION; + if ("Consent".equals(codeString)) + return AllResourceTypes.CONSENT; + if ("Contract".equals(codeString)) + return AllResourceTypes.CONTRACT; + if ("Coverage".equals(codeString)) + return AllResourceTypes.COVERAGE; + if ("CoverageEligibilityRequest".equals(codeString)) + return AllResourceTypes.COVERAGEELIGIBILITYREQUEST; + if ("CoverageEligibilityResponse".equals(codeString)) + return AllResourceTypes.COVERAGEELIGIBILITYRESPONSE; + if ("DetectedIssue".equals(codeString)) + return AllResourceTypes.DETECTEDISSUE; + if ("Device".equals(codeString)) + return AllResourceTypes.DEVICE; + if ("DeviceDefinition".equals(codeString)) + return AllResourceTypes.DEVICEDEFINITION; + if ("DeviceDispense".equals(codeString)) + return AllResourceTypes.DEVICEDISPENSE; + if ("DeviceMetric".equals(codeString)) + return AllResourceTypes.DEVICEMETRIC; + if ("DeviceRequest".equals(codeString)) + return AllResourceTypes.DEVICEREQUEST; + if ("DeviceUsage".equals(codeString)) + return AllResourceTypes.DEVICEUSAGE; + if ("DiagnosticReport".equals(codeString)) + return AllResourceTypes.DIAGNOSTICREPORT; + if ("DocumentManifest".equals(codeString)) + return AllResourceTypes.DOCUMENTMANIFEST; + if ("DocumentReference".equals(codeString)) + return AllResourceTypes.DOCUMENTREFERENCE; + if ("DomainResource".equals(codeString)) + return AllResourceTypes.DOMAINRESOURCE; + if ("Encounter".equals(codeString)) + return AllResourceTypes.ENCOUNTER; + if ("Endpoint".equals(codeString)) + return AllResourceTypes.ENDPOINT; + if ("EnrollmentRequest".equals(codeString)) + return AllResourceTypes.ENROLLMENTREQUEST; + if ("EnrollmentResponse".equals(codeString)) + return AllResourceTypes.ENROLLMENTRESPONSE; + if ("EpisodeOfCare".equals(codeString)) + return AllResourceTypes.EPISODEOFCARE; + if ("EventDefinition".equals(codeString)) + return AllResourceTypes.EVENTDEFINITION; + if ("Evidence".equals(codeString)) + return AllResourceTypes.EVIDENCE; + if ("EvidenceReport".equals(codeString)) + return AllResourceTypes.EVIDENCEREPORT; + if ("EvidenceVariable".equals(codeString)) + return AllResourceTypes.EVIDENCEVARIABLE; + if ("ExampleScenario".equals(codeString)) + return AllResourceTypes.EXAMPLESCENARIO; + if ("ExplanationOfBenefit".equals(codeString)) + return AllResourceTypes.EXPLANATIONOFBENEFIT; + if ("FamilyMemberHistory".equals(codeString)) + return AllResourceTypes.FAMILYMEMBERHISTORY; + if ("Flag".equals(codeString)) + return AllResourceTypes.FLAG; + if ("FormularyItem".equals(codeString)) + return AllResourceTypes.FORMULARYITEM; + if ("GenomicStudy".equals(codeString)) + return AllResourceTypes.GENOMICSTUDY; + if ("Goal".equals(codeString)) + return AllResourceTypes.GOAL; + if ("GraphDefinition".equals(codeString)) + return AllResourceTypes.GRAPHDEFINITION; + if ("Group".equals(codeString)) + return AllResourceTypes.GROUP; + if ("GuidanceResponse".equals(codeString)) + return AllResourceTypes.GUIDANCERESPONSE; + if ("HealthcareService".equals(codeString)) + return AllResourceTypes.HEALTHCARESERVICE; + if ("ImagingSelection".equals(codeString)) + return AllResourceTypes.IMAGINGSELECTION; + if ("ImagingStudy".equals(codeString)) + return AllResourceTypes.IMAGINGSTUDY; + if ("Immunization".equals(codeString)) + return AllResourceTypes.IMMUNIZATION; + if ("ImmunizationEvaluation".equals(codeString)) + return AllResourceTypes.IMMUNIZATIONEVALUATION; + if ("ImmunizationRecommendation".equals(codeString)) + return AllResourceTypes.IMMUNIZATIONRECOMMENDATION; + if ("ImplementationGuide".equals(codeString)) + return AllResourceTypes.IMPLEMENTATIONGUIDE; + if ("Ingredient".equals(codeString)) + return AllResourceTypes.INGREDIENT; + if ("InsurancePlan".equals(codeString)) + return AllResourceTypes.INSURANCEPLAN; + if ("InventoryReport".equals(codeString)) + return AllResourceTypes.INVENTORYREPORT; + if ("Invoice".equals(codeString)) + return AllResourceTypes.INVOICE; + if ("Library".equals(codeString)) + return AllResourceTypes.LIBRARY; + if ("Linkage".equals(codeString)) + return AllResourceTypes.LINKAGE; + if ("List".equals(codeString)) + return AllResourceTypes.LIST; + if ("Location".equals(codeString)) + return AllResourceTypes.LOCATION; + if ("ManufacturedItemDefinition".equals(codeString)) + return AllResourceTypes.MANUFACTUREDITEMDEFINITION; + if ("Measure".equals(codeString)) + return AllResourceTypes.MEASURE; + if ("MeasureReport".equals(codeString)) + return AllResourceTypes.MEASUREREPORT; + if ("Medication".equals(codeString)) + return AllResourceTypes.MEDICATION; + if ("MedicationAdministration".equals(codeString)) + return AllResourceTypes.MEDICATIONADMINISTRATION; + if ("MedicationDispense".equals(codeString)) + return AllResourceTypes.MEDICATIONDISPENSE; + if ("MedicationKnowledge".equals(codeString)) + return AllResourceTypes.MEDICATIONKNOWLEDGE; + if ("MedicationRequest".equals(codeString)) + return AllResourceTypes.MEDICATIONREQUEST; + if ("MedicationUsage".equals(codeString)) + return AllResourceTypes.MEDICATIONUSAGE; + if ("MedicinalProductDefinition".equals(codeString)) + return AllResourceTypes.MEDICINALPRODUCTDEFINITION; + if ("MessageDefinition".equals(codeString)) + return AllResourceTypes.MESSAGEDEFINITION; + if ("MessageHeader".equals(codeString)) + return AllResourceTypes.MESSAGEHEADER; + if ("MetadataResource".equals(codeString)) + return AllResourceTypes.METADATARESOURCE; + if ("MolecularSequence".equals(codeString)) + return AllResourceTypes.MOLECULARSEQUENCE; + if ("NamingSystem".equals(codeString)) + return AllResourceTypes.NAMINGSYSTEM; + if ("NutritionIntake".equals(codeString)) + return AllResourceTypes.NUTRITIONINTAKE; + if ("NutritionOrder".equals(codeString)) + return AllResourceTypes.NUTRITIONORDER; + if ("NutritionProduct".equals(codeString)) + return AllResourceTypes.NUTRITIONPRODUCT; + if ("Observation".equals(codeString)) + return AllResourceTypes.OBSERVATION; + if ("ObservationDefinition".equals(codeString)) + return AllResourceTypes.OBSERVATIONDEFINITION; + if ("OperationDefinition".equals(codeString)) + return AllResourceTypes.OPERATIONDEFINITION; + if ("OperationOutcome".equals(codeString)) + return AllResourceTypes.OPERATIONOUTCOME; + if ("Organization".equals(codeString)) + return AllResourceTypes.ORGANIZATION; + if ("OrganizationAffiliation".equals(codeString)) + return AllResourceTypes.ORGANIZATIONAFFILIATION; + if ("PackagedProductDefinition".equals(codeString)) + return AllResourceTypes.PACKAGEDPRODUCTDEFINITION; + if ("Parameters".equals(codeString)) + return AllResourceTypes.PARAMETERS; + if ("Patient".equals(codeString)) + return AllResourceTypes.PATIENT; + if ("PaymentNotice".equals(codeString)) + return AllResourceTypes.PAYMENTNOTICE; + if ("PaymentReconciliation".equals(codeString)) + return AllResourceTypes.PAYMENTRECONCILIATION; + if ("Permission".equals(codeString)) + return AllResourceTypes.PERMISSION; + if ("Person".equals(codeString)) + return AllResourceTypes.PERSON; + if ("PlanDefinition".equals(codeString)) + return AllResourceTypes.PLANDEFINITION; + if ("Practitioner".equals(codeString)) + return AllResourceTypes.PRACTITIONER; + if ("PractitionerRole".equals(codeString)) + return AllResourceTypes.PRACTITIONERROLE; + if ("Procedure".equals(codeString)) + return AllResourceTypes.PROCEDURE; + if ("Provenance".equals(codeString)) + return AllResourceTypes.PROVENANCE; + if ("Questionnaire".equals(codeString)) + return AllResourceTypes.QUESTIONNAIRE; + if ("QuestionnaireResponse".equals(codeString)) + return AllResourceTypes.QUESTIONNAIRERESPONSE; + if ("RegulatedAuthorization".equals(codeString)) + return AllResourceTypes.REGULATEDAUTHORIZATION; + if ("RelatedPerson".equals(codeString)) + return AllResourceTypes.RELATEDPERSON; + if ("RequestOrchestration".equals(codeString)) + return AllResourceTypes.REQUESTORCHESTRATION; + if ("Requirements".equals(codeString)) + return AllResourceTypes.REQUIREMENTS; + if ("ResearchStudy".equals(codeString)) + return AllResourceTypes.RESEARCHSTUDY; + if ("ResearchSubject".equals(codeString)) + return AllResourceTypes.RESEARCHSUBJECT; + if ("Resource".equals(codeString)) + return AllResourceTypes.RESOURCE; + if ("RiskAssessment".equals(codeString)) + return AllResourceTypes.RISKASSESSMENT; + if ("Schedule".equals(codeString)) + return AllResourceTypes.SCHEDULE; + if ("SearchParameter".equals(codeString)) + return AllResourceTypes.SEARCHPARAMETER; + if ("ServiceRequest".equals(codeString)) + return AllResourceTypes.SERVICEREQUEST; + if ("Slot".equals(codeString)) + return AllResourceTypes.SLOT; + if ("Specimen".equals(codeString)) + return AllResourceTypes.SPECIMEN; + if ("SpecimenDefinition".equals(codeString)) + return AllResourceTypes.SPECIMENDEFINITION; + if ("StructureDefinition".equals(codeString)) + return AllResourceTypes.STRUCTUREDEFINITION; + if ("StructureMap".equals(codeString)) + return AllResourceTypes.STRUCTUREMAP; + if ("Subscription".equals(codeString)) + return AllResourceTypes.SUBSCRIPTION; + if ("SubscriptionStatus".equals(codeString)) + return AllResourceTypes.SUBSCRIPTIONSTATUS; + if ("SubscriptionTopic".equals(codeString)) + return AllResourceTypes.SUBSCRIPTIONTOPIC; + if ("Substance".equals(codeString)) + return AllResourceTypes.SUBSTANCE; + if ("SubstanceDefinition".equals(codeString)) + return AllResourceTypes.SUBSTANCEDEFINITION; + if ("SubstanceNucleicAcid".equals(codeString)) + return AllResourceTypes.SUBSTANCENUCLEICACID; + if ("SubstancePolymer".equals(codeString)) + return AllResourceTypes.SUBSTANCEPOLYMER; + if ("SubstanceProtein".equals(codeString)) + return AllResourceTypes.SUBSTANCEPROTEIN; + if ("SubstanceReferenceInformation".equals(codeString)) + return AllResourceTypes.SUBSTANCEREFERENCEINFORMATION; + if ("SubstanceSourceMaterial".equals(codeString)) + return AllResourceTypes.SUBSTANCESOURCEMATERIAL; + if ("SupplyDelivery".equals(codeString)) + return AllResourceTypes.SUPPLYDELIVERY; + if ("SupplyRequest".equals(codeString)) + return AllResourceTypes.SUPPLYREQUEST; + if ("Task".equals(codeString)) + return AllResourceTypes.TASK; + if ("TerminologyCapabilities".equals(codeString)) + return AllResourceTypes.TERMINOLOGYCAPABILITIES; + if ("TestReport".equals(codeString)) + return AllResourceTypes.TESTREPORT; + if ("TestScript".equals(codeString)) + return AllResourceTypes.TESTSCRIPT; + if ("Transport".equals(codeString)) + return AllResourceTypes.TRANSPORT; + if ("ValueSet".equals(codeString)) + return AllResourceTypes.VALUESET; + if ("VerificationResult".equals(codeString)) + return AllResourceTypes.VERIFICATIONRESULT; + if ("VisionPrescription".equals(codeString)) + return AllResourceTypes.VISIONPRESCRIPTION; + throw new IllegalArgumentException("Unknown AllResourceTypes code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("Account".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ACCOUNT); + if ("ActivityDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ACTIVITYDEFINITION); + if ("ActorDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ACTORDEFINITION); + if ("AdministrableProductDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ADMINISTRABLEPRODUCTDEFINITION); + if ("AdverseEvent".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ADVERSEEVENT); + if ("AllergyIntolerance".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ALLERGYINTOLERANCE); + if ("Appointment".equals(codeString)) + return new Enumeration(this, AllResourceTypes.APPOINTMENT); + if ("AppointmentResponse".equals(codeString)) + return new Enumeration(this, AllResourceTypes.APPOINTMENTRESPONSE); + if ("ArtifactAssessment".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ARTIFACTASSESSMENT); + if ("AuditEvent".equals(codeString)) + return new Enumeration(this, AllResourceTypes.AUDITEVENT); + if ("Basic".equals(codeString)) + return new Enumeration(this, AllResourceTypes.BASIC); + if ("Binary".equals(codeString)) + return new Enumeration(this, AllResourceTypes.BINARY); + if ("BiologicallyDerivedProduct".equals(codeString)) + return new Enumeration(this, AllResourceTypes.BIOLOGICALLYDERIVEDPRODUCT); + if ("BodyStructure".equals(codeString)) + return new Enumeration(this, AllResourceTypes.BODYSTRUCTURE); + if ("Bundle".equals(codeString)) + return new Enumeration(this, AllResourceTypes.BUNDLE); + if ("CanonicalResource".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CANONICALRESOURCE); + if ("CapabilityStatement".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CAPABILITYSTATEMENT); + if ("CarePlan".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CAREPLAN); + if ("CareTeam".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CARETEAM); + if ("ChargeItem".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CHARGEITEM); + if ("ChargeItemDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CHARGEITEMDEFINITION); + if ("Citation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CITATION); + if ("Claim".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CLAIM); + if ("ClaimResponse".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CLAIMRESPONSE); + if ("ClinicalImpression".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CLINICALIMPRESSION); + if ("ClinicalUseDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CLINICALUSEDEFINITION); + if ("CodeSystem".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CODESYSTEM); + if ("Communication".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COMMUNICATION); + if ("CommunicationRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COMMUNICATIONREQUEST); + if ("CompartmentDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COMPARTMENTDEFINITION); + if ("Composition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COMPOSITION); + if ("ConceptMap".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CONCEPTMAP); + if ("Condition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CONDITION); + if ("ConditionDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CONDITIONDEFINITION); + if ("Consent".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CONSENT); + if ("Contract".equals(codeString)) + return new Enumeration(this, AllResourceTypes.CONTRACT); + if ("Coverage".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COVERAGE); + if ("CoverageEligibilityRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COVERAGEELIGIBILITYREQUEST); + if ("CoverageEligibilityResponse".equals(codeString)) + return new Enumeration(this, AllResourceTypes.COVERAGEELIGIBILITYRESPONSE); + if ("DetectedIssue".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DETECTEDISSUE); + if ("Device".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DEVICE); + if ("DeviceDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DEVICEDEFINITION); + if ("DeviceDispense".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DEVICEDISPENSE); + if ("DeviceMetric".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DEVICEMETRIC); + if ("DeviceRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DEVICEREQUEST); + if ("DeviceUsage".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DEVICEUSAGE); + if ("DiagnosticReport".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DIAGNOSTICREPORT); + if ("DocumentManifest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DOCUMENTMANIFEST); + if ("DocumentReference".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DOCUMENTREFERENCE); + if ("DomainResource".equals(codeString)) + return new Enumeration(this, AllResourceTypes.DOMAINRESOURCE); + if ("Encounter".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ENCOUNTER); + if ("Endpoint".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ENDPOINT); + if ("EnrollmentRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ENROLLMENTREQUEST); + if ("EnrollmentResponse".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ENROLLMENTRESPONSE); + if ("EpisodeOfCare".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EPISODEOFCARE); + if ("EventDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EVENTDEFINITION); + if ("Evidence".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EVIDENCE); + if ("EvidenceReport".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EVIDENCEREPORT); + if ("EvidenceVariable".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EVIDENCEVARIABLE); + if ("ExampleScenario".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EXAMPLESCENARIO); + if ("ExplanationOfBenefit".equals(codeString)) + return new Enumeration(this, AllResourceTypes.EXPLANATIONOFBENEFIT); + if ("FamilyMemberHistory".equals(codeString)) + return new Enumeration(this, AllResourceTypes.FAMILYMEMBERHISTORY); + if ("Flag".equals(codeString)) + return new Enumeration(this, AllResourceTypes.FLAG); + if ("FormularyItem".equals(codeString)) + return new Enumeration(this, AllResourceTypes.FORMULARYITEM); + if ("GenomicStudy".equals(codeString)) + return new Enumeration(this, AllResourceTypes.GENOMICSTUDY); + if ("Goal".equals(codeString)) + return new Enumeration(this, AllResourceTypes.GOAL); + if ("GraphDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.GRAPHDEFINITION); + if ("Group".equals(codeString)) + return new Enumeration(this, AllResourceTypes.GROUP); + if ("GuidanceResponse".equals(codeString)) + return new Enumeration(this, AllResourceTypes.GUIDANCERESPONSE); + if ("HealthcareService".equals(codeString)) + return new Enumeration(this, AllResourceTypes.HEALTHCARESERVICE); + if ("ImagingSelection".equals(codeString)) + return new Enumeration(this, AllResourceTypes.IMAGINGSELECTION); + if ("ImagingStudy".equals(codeString)) + return new Enumeration(this, AllResourceTypes.IMAGINGSTUDY); + if ("Immunization".equals(codeString)) + return new Enumeration(this, AllResourceTypes.IMMUNIZATION); + if ("ImmunizationEvaluation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.IMMUNIZATIONEVALUATION); + if ("ImmunizationRecommendation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.IMMUNIZATIONRECOMMENDATION); + if ("ImplementationGuide".equals(codeString)) + return new Enumeration(this, AllResourceTypes.IMPLEMENTATIONGUIDE); + if ("Ingredient".equals(codeString)) + return new Enumeration(this, AllResourceTypes.INGREDIENT); + if ("InsurancePlan".equals(codeString)) + return new Enumeration(this, AllResourceTypes.INSURANCEPLAN); + if ("InventoryReport".equals(codeString)) + return new Enumeration(this, AllResourceTypes.INVENTORYREPORT); + if ("Invoice".equals(codeString)) + return new Enumeration(this, AllResourceTypes.INVOICE); + if ("Library".equals(codeString)) + return new Enumeration(this, AllResourceTypes.LIBRARY); + if ("Linkage".equals(codeString)) + return new Enumeration(this, AllResourceTypes.LINKAGE); + if ("List".equals(codeString)) + return new Enumeration(this, AllResourceTypes.LIST); + if ("Location".equals(codeString)) + return new Enumeration(this, AllResourceTypes.LOCATION); + if ("ManufacturedItemDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MANUFACTUREDITEMDEFINITION); + if ("Measure".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEASURE); + if ("MeasureReport".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEASUREREPORT); + if ("Medication".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICATION); + if ("MedicationAdministration".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICATIONADMINISTRATION); + if ("MedicationDispense".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICATIONDISPENSE); + if ("MedicationKnowledge".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICATIONKNOWLEDGE); + if ("MedicationRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICATIONREQUEST); + if ("MedicationUsage".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICATIONUSAGE); + if ("MedicinalProductDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MEDICINALPRODUCTDEFINITION); + if ("MessageDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MESSAGEDEFINITION); + if ("MessageHeader".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MESSAGEHEADER); + if ("MetadataResource".equals(codeString)) + return new Enumeration(this, AllResourceTypes.METADATARESOURCE); + if ("MolecularSequence".equals(codeString)) + return new Enumeration(this, AllResourceTypes.MOLECULARSEQUENCE); + if ("NamingSystem".equals(codeString)) + return new Enumeration(this, AllResourceTypes.NAMINGSYSTEM); + if ("NutritionIntake".equals(codeString)) + return new Enumeration(this, AllResourceTypes.NUTRITIONINTAKE); + if ("NutritionOrder".equals(codeString)) + return new Enumeration(this, AllResourceTypes.NUTRITIONORDER); + if ("NutritionProduct".equals(codeString)) + return new Enumeration(this, AllResourceTypes.NUTRITIONPRODUCT); + if ("Observation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.OBSERVATION); + if ("ObservationDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.OBSERVATIONDEFINITION); + if ("OperationDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.OPERATIONDEFINITION); + if ("OperationOutcome".equals(codeString)) + return new Enumeration(this, AllResourceTypes.OPERATIONOUTCOME); + if ("Organization".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ORGANIZATION); + if ("OrganizationAffiliation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.ORGANIZATIONAFFILIATION); + if ("PackagedProductDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PACKAGEDPRODUCTDEFINITION); + if ("Parameters".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PARAMETERS); + if ("Patient".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PATIENT); + if ("PaymentNotice".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PAYMENTNOTICE); + if ("PaymentReconciliation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PAYMENTRECONCILIATION); + if ("Permission".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PERMISSION); + if ("Person".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PERSON); + if ("PlanDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PLANDEFINITION); + if ("Practitioner".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PRACTITIONER); + if ("PractitionerRole".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PRACTITIONERROLE); + if ("Procedure".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PROCEDURE); + if ("Provenance".equals(codeString)) + return new Enumeration(this, AllResourceTypes.PROVENANCE); + if ("Questionnaire".equals(codeString)) + return new Enumeration(this, AllResourceTypes.QUESTIONNAIRE); + if ("QuestionnaireResponse".equals(codeString)) + return new Enumeration(this, AllResourceTypes.QUESTIONNAIRERESPONSE); + if ("RegulatedAuthorization".equals(codeString)) + return new Enumeration(this, AllResourceTypes.REGULATEDAUTHORIZATION); + if ("RelatedPerson".equals(codeString)) + return new Enumeration(this, AllResourceTypes.RELATEDPERSON); + if ("RequestOrchestration".equals(codeString)) + return new Enumeration(this, AllResourceTypes.REQUESTORCHESTRATION); + if ("Requirements".equals(codeString)) + return new Enumeration(this, AllResourceTypes.REQUIREMENTS); + if ("ResearchStudy".equals(codeString)) + return new Enumeration(this, AllResourceTypes.RESEARCHSTUDY); + if ("ResearchSubject".equals(codeString)) + return new Enumeration(this, AllResourceTypes.RESEARCHSUBJECT); + if ("Resource".equals(codeString)) + return new Enumeration(this, AllResourceTypes.RESOURCE); + if ("RiskAssessment".equals(codeString)) + return new Enumeration(this, AllResourceTypes.RISKASSESSMENT); + if ("Schedule".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SCHEDULE); + if ("SearchParameter".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SEARCHPARAMETER); + if ("ServiceRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SERVICEREQUEST); + if ("Slot".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SLOT); + if ("Specimen".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SPECIMEN); + if ("SpecimenDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SPECIMENDEFINITION); + if ("StructureDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.STRUCTUREDEFINITION); + if ("StructureMap".equals(codeString)) + return new Enumeration(this, AllResourceTypes.STRUCTUREMAP); + if ("Subscription".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSCRIPTION); + if ("SubscriptionStatus".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSCRIPTIONSTATUS); + if ("SubscriptionTopic".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSCRIPTIONTOPIC); + if ("Substance".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCE); + if ("SubstanceDefinition".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCEDEFINITION); + if ("SubstanceNucleicAcid".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCENUCLEICACID); + if ("SubstancePolymer".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCEPOLYMER); + if ("SubstanceProtein".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCEPROTEIN); + if ("SubstanceReferenceInformation".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCEREFERENCEINFORMATION); + if ("SubstanceSourceMaterial".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUBSTANCESOURCEMATERIAL); + if ("SupplyDelivery".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUPPLYDELIVERY); + if ("SupplyRequest".equals(codeString)) + return new Enumeration(this, AllResourceTypes.SUPPLYREQUEST); + if ("Task".equals(codeString)) + return new Enumeration(this, AllResourceTypes.TASK); + if ("TerminologyCapabilities".equals(codeString)) + return new Enumeration(this, AllResourceTypes.TERMINOLOGYCAPABILITIES); + if ("TestReport".equals(codeString)) + return new Enumeration(this, AllResourceTypes.TESTREPORT); + if ("TestScript".equals(codeString)) + return new Enumeration(this, AllResourceTypes.TESTSCRIPT); + if ("Transport".equals(codeString)) + return new Enumeration(this, AllResourceTypes.TRANSPORT); + if ("ValueSet".equals(codeString)) + return new Enumeration(this, AllResourceTypes.VALUESET); + if ("VerificationResult".equals(codeString)) + return new Enumeration(this, AllResourceTypes.VERIFICATIONRESULT); + if ("VisionPrescription".equals(codeString)) + return new Enumeration(this, AllResourceTypes.VISIONPRESCRIPTION); + throw new FHIRException("Unknown AllResourceTypes code '"+codeString+"'"); + } + public String toCode(AllResourceTypes code) { + if (code == AllResourceTypes.ACCOUNT) + return "Account"; + if (code == AllResourceTypes.ACTIVITYDEFINITION) + return "ActivityDefinition"; + if (code == AllResourceTypes.ACTORDEFINITION) + return "ActorDefinition"; + if (code == AllResourceTypes.ADMINISTRABLEPRODUCTDEFINITION) + return "AdministrableProductDefinition"; + if (code == AllResourceTypes.ADVERSEEVENT) + return "AdverseEvent"; + if (code == AllResourceTypes.ALLERGYINTOLERANCE) + return "AllergyIntolerance"; + if (code == AllResourceTypes.APPOINTMENT) + return "Appointment"; + if (code == AllResourceTypes.APPOINTMENTRESPONSE) + return "AppointmentResponse"; + if (code == AllResourceTypes.ARTIFACTASSESSMENT) + return "ArtifactAssessment"; + if (code == AllResourceTypes.AUDITEVENT) + return "AuditEvent"; + if (code == AllResourceTypes.BASIC) + return "Basic"; + if (code == AllResourceTypes.BINARY) + return "Binary"; + if (code == AllResourceTypes.BIOLOGICALLYDERIVEDPRODUCT) + return "BiologicallyDerivedProduct"; + if (code == AllResourceTypes.BODYSTRUCTURE) + return "BodyStructure"; + if (code == AllResourceTypes.BUNDLE) + return "Bundle"; + if (code == AllResourceTypes.CANONICALRESOURCE) + return "CanonicalResource"; + if (code == AllResourceTypes.CAPABILITYSTATEMENT) + return "CapabilityStatement"; + if (code == AllResourceTypes.CAREPLAN) + return "CarePlan"; + if (code == AllResourceTypes.CARETEAM) + return "CareTeam"; + if (code == AllResourceTypes.CHARGEITEM) + return "ChargeItem"; + if (code == AllResourceTypes.CHARGEITEMDEFINITION) + return "ChargeItemDefinition"; + if (code == AllResourceTypes.CITATION) + return "Citation"; + if (code == AllResourceTypes.CLAIM) + return "Claim"; + if (code == AllResourceTypes.CLAIMRESPONSE) + return "ClaimResponse"; + if (code == AllResourceTypes.CLINICALIMPRESSION) + return "ClinicalImpression"; + if (code == AllResourceTypes.CLINICALUSEDEFINITION) + return "ClinicalUseDefinition"; + if (code == AllResourceTypes.CODESYSTEM) + return "CodeSystem"; + if (code == AllResourceTypes.COMMUNICATION) + return "Communication"; + if (code == AllResourceTypes.COMMUNICATIONREQUEST) + return "CommunicationRequest"; + if (code == AllResourceTypes.COMPARTMENTDEFINITION) + return "CompartmentDefinition"; + if (code == AllResourceTypes.COMPOSITION) + return "Composition"; + if (code == AllResourceTypes.CONCEPTMAP) + return "ConceptMap"; + if (code == AllResourceTypes.CONDITION) + return "Condition"; + if (code == AllResourceTypes.CONDITIONDEFINITION) + return "ConditionDefinition"; + if (code == AllResourceTypes.CONSENT) + return "Consent"; + if (code == AllResourceTypes.CONTRACT) + return "Contract"; + if (code == AllResourceTypes.COVERAGE) + return "Coverage"; + if (code == AllResourceTypes.COVERAGEELIGIBILITYREQUEST) + return "CoverageEligibilityRequest"; + if (code == AllResourceTypes.COVERAGEELIGIBILITYRESPONSE) + return "CoverageEligibilityResponse"; + if (code == AllResourceTypes.DETECTEDISSUE) + return "DetectedIssue"; + if (code == AllResourceTypes.DEVICE) + return "Device"; + if (code == AllResourceTypes.DEVICEDEFINITION) + return "DeviceDefinition"; + if (code == AllResourceTypes.DEVICEDISPENSE) + return "DeviceDispense"; + if (code == AllResourceTypes.DEVICEMETRIC) + return "DeviceMetric"; + if (code == AllResourceTypes.DEVICEREQUEST) + return "DeviceRequest"; + if (code == AllResourceTypes.DEVICEUSAGE) + return "DeviceUsage"; + if (code == AllResourceTypes.DIAGNOSTICREPORT) + return "DiagnosticReport"; + if (code == AllResourceTypes.DOCUMENTMANIFEST) + return "DocumentManifest"; + if (code == AllResourceTypes.DOCUMENTREFERENCE) + return "DocumentReference"; + if (code == AllResourceTypes.DOMAINRESOURCE) + return "DomainResource"; + if (code == AllResourceTypes.ENCOUNTER) + return "Encounter"; + if (code == AllResourceTypes.ENDPOINT) + return "Endpoint"; + if (code == AllResourceTypes.ENROLLMENTREQUEST) + return "EnrollmentRequest"; + if (code == AllResourceTypes.ENROLLMENTRESPONSE) + return "EnrollmentResponse"; + if (code == AllResourceTypes.EPISODEOFCARE) + return "EpisodeOfCare"; + if (code == AllResourceTypes.EVENTDEFINITION) + return "EventDefinition"; + if (code == AllResourceTypes.EVIDENCE) + return "Evidence"; + if (code == AllResourceTypes.EVIDENCEREPORT) + return "EvidenceReport"; + if (code == AllResourceTypes.EVIDENCEVARIABLE) + return "EvidenceVariable"; + if (code == AllResourceTypes.EXAMPLESCENARIO) + return "ExampleScenario"; + if (code == AllResourceTypes.EXPLANATIONOFBENEFIT) + return "ExplanationOfBenefit"; + if (code == AllResourceTypes.FAMILYMEMBERHISTORY) + return "FamilyMemberHistory"; + if (code == AllResourceTypes.FLAG) + return "Flag"; + if (code == AllResourceTypes.FORMULARYITEM) + return "FormularyItem"; + if (code == AllResourceTypes.GENOMICSTUDY) + return "GenomicStudy"; + if (code == AllResourceTypes.GOAL) + return "Goal"; + if (code == AllResourceTypes.GRAPHDEFINITION) + return "GraphDefinition"; + if (code == AllResourceTypes.GROUP) + return "Group"; + if (code == AllResourceTypes.GUIDANCERESPONSE) + return "GuidanceResponse"; + if (code == AllResourceTypes.HEALTHCARESERVICE) + return "HealthcareService"; + if (code == AllResourceTypes.IMAGINGSELECTION) + return "ImagingSelection"; + if (code == AllResourceTypes.IMAGINGSTUDY) + return "ImagingStudy"; + if (code == AllResourceTypes.IMMUNIZATION) + return "Immunization"; + if (code == AllResourceTypes.IMMUNIZATIONEVALUATION) + return "ImmunizationEvaluation"; + if (code == AllResourceTypes.IMMUNIZATIONRECOMMENDATION) + return "ImmunizationRecommendation"; + if (code == AllResourceTypes.IMPLEMENTATIONGUIDE) + return "ImplementationGuide"; + if (code == AllResourceTypes.INGREDIENT) + return "Ingredient"; + if (code == AllResourceTypes.INSURANCEPLAN) + return "InsurancePlan"; + if (code == AllResourceTypes.INVENTORYREPORT) + return "InventoryReport"; + if (code == AllResourceTypes.INVOICE) + return "Invoice"; + if (code == AllResourceTypes.LIBRARY) + return "Library"; + if (code == AllResourceTypes.LINKAGE) + return "Linkage"; + if (code == AllResourceTypes.LIST) + return "List"; + if (code == AllResourceTypes.LOCATION) + return "Location"; + if (code == AllResourceTypes.MANUFACTUREDITEMDEFINITION) + return "ManufacturedItemDefinition"; + if (code == AllResourceTypes.MEASURE) + return "Measure"; + if (code == AllResourceTypes.MEASUREREPORT) + return "MeasureReport"; + if (code == AllResourceTypes.MEDICATION) + return "Medication"; + if (code == AllResourceTypes.MEDICATIONADMINISTRATION) + return "MedicationAdministration"; + if (code == AllResourceTypes.MEDICATIONDISPENSE) + return "MedicationDispense"; + if (code == AllResourceTypes.MEDICATIONKNOWLEDGE) + return "MedicationKnowledge"; + if (code == AllResourceTypes.MEDICATIONREQUEST) + return "MedicationRequest"; + if (code == AllResourceTypes.MEDICATIONUSAGE) + return "MedicationUsage"; + if (code == AllResourceTypes.MEDICINALPRODUCTDEFINITION) + return "MedicinalProductDefinition"; + if (code == AllResourceTypes.MESSAGEDEFINITION) + return "MessageDefinition"; + if (code == AllResourceTypes.MESSAGEHEADER) + return "MessageHeader"; + if (code == AllResourceTypes.METADATARESOURCE) + return "MetadataResource"; + if (code == AllResourceTypes.MOLECULARSEQUENCE) + return "MolecularSequence"; + if (code == AllResourceTypes.NAMINGSYSTEM) + return "NamingSystem"; + if (code == AllResourceTypes.NUTRITIONINTAKE) + return "NutritionIntake"; + if (code == AllResourceTypes.NUTRITIONORDER) + return "NutritionOrder"; + if (code == AllResourceTypes.NUTRITIONPRODUCT) + return "NutritionProduct"; + if (code == AllResourceTypes.OBSERVATION) + return "Observation"; + if (code == AllResourceTypes.OBSERVATIONDEFINITION) + return "ObservationDefinition"; + if (code == AllResourceTypes.OPERATIONDEFINITION) + return "OperationDefinition"; + if (code == AllResourceTypes.OPERATIONOUTCOME) + return "OperationOutcome"; + if (code == AllResourceTypes.ORGANIZATION) + return "Organization"; + if (code == AllResourceTypes.ORGANIZATIONAFFILIATION) + return "OrganizationAffiliation"; + if (code == AllResourceTypes.PACKAGEDPRODUCTDEFINITION) + return "PackagedProductDefinition"; + if (code == AllResourceTypes.PARAMETERS) + return "Parameters"; + if (code == AllResourceTypes.PATIENT) + return "Patient"; + if (code == AllResourceTypes.PAYMENTNOTICE) + return "PaymentNotice"; + if (code == AllResourceTypes.PAYMENTRECONCILIATION) + return "PaymentReconciliation"; + if (code == AllResourceTypes.PERMISSION) + return "Permission"; + if (code == AllResourceTypes.PERSON) + return "Person"; + if (code == AllResourceTypes.PLANDEFINITION) + return "PlanDefinition"; + if (code == AllResourceTypes.PRACTITIONER) + return "Practitioner"; + if (code == AllResourceTypes.PRACTITIONERROLE) + return "PractitionerRole"; + if (code == AllResourceTypes.PROCEDURE) + return "Procedure"; + if (code == AllResourceTypes.PROVENANCE) + return "Provenance"; + if (code == AllResourceTypes.QUESTIONNAIRE) + return "Questionnaire"; + if (code == AllResourceTypes.QUESTIONNAIRERESPONSE) + return "QuestionnaireResponse"; + if (code == AllResourceTypes.REGULATEDAUTHORIZATION) + return "RegulatedAuthorization"; + if (code == AllResourceTypes.RELATEDPERSON) + return "RelatedPerson"; + if (code == AllResourceTypes.REQUESTORCHESTRATION) + return "RequestOrchestration"; + if (code == AllResourceTypes.REQUIREMENTS) + return "Requirements"; + if (code == AllResourceTypes.RESEARCHSTUDY) + return "ResearchStudy"; + if (code == AllResourceTypes.RESEARCHSUBJECT) + return "ResearchSubject"; + if (code == AllResourceTypes.RESOURCE) + return "Resource"; + if (code == AllResourceTypes.RISKASSESSMENT) + return "RiskAssessment"; + if (code == AllResourceTypes.SCHEDULE) + return "Schedule"; + if (code == AllResourceTypes.SEARCHPARAMETER) + return "SearchParameter"; + if (code == AllResourceTypes.SERVICEREQUEST) + return "ServiceRequest"; + if (code == AllResourceTypes.SLOT) + return "Slot"; + if (code == AllResourceTypes.SPECIMEN) + return "Specimen"; + if (code == AllResourceTypes.SPECIMENDEFINITION) + return "SpecimenDefinition"; + if (code == AllResourceTypes.STRUCTUREDEFINITION) + return "StructureDefinition"; + if (code == AllResourceTypes.STRUCTUREMAP) + return "StructureMap"; + if (code == AllResourceTypes.SUBSCRIPTION) + return "Subscription"; + if (code == AllResourceTypes.SUBSCRIPTIONSTATUS) + return "SubscriptionStatus"; + if (code == AllResourceTypes.SUBSCRIPTIONTOPIC) + return "SubscriptionTopic"; + if (code == AllResourceTypes.SUBSTANCE) + return "Substance"; + if (code == AllResourceTypes.SUBSTANCEDEFINITION) + return "SubstanceDefinition"; + if (code == AllResourceTypes.SUBSTANCENUCLEICACID) + return "SubstanceNucleicAcid"; + if (code == AllResourceTypes.SUBSTANCEPOLYMER) + return "SubstancePolymer"; + if (code == AllResourceTypes.SUBSTANCEPROTEIN) + return "SubstanceProtein"; + if (code == AllResourceTypes.SUBSTANCEREFERENCEINFORMATION) + return "SubstanceReferenceInformation"; + if (code == AllResourceTypes.SUBSTANCESOURCEMATERIAL) + return "SubstanceSourceMaterial"; + if (code == AllResourceTypes.SUPPLYDELIVERY) + return "SupplyDelivery"; + if (code == AllResourceTypes.SUPPLYREQUEST) + return "SupplyRequest"; + if (code == AllResourceTypes.TASK) + return "Task"; + if (code == AllResourceTypes.TERMINOLOGYCAPABILITIES) + return "TerminologyCapabilities"; + if (code == AllResourceTypes.TESTREPORT) + return "TestReport"; + if (code == AllResourceTypes.TESTSCRIPT) + return "TestScript"; + if (code == AllResourceTypes.TRANSPORT) + return "Transport"; + if (code == AllResourceTypes.VALUESET) + return "ValueSet"; + if (code == AllResourceTypes.VERIFICATIONRESULT) + return "VerificationResult"; + if (code == AllResourceTypes.VISIONPRESCRIPTION) + return "VisionPrescription"; + return "?"; + } + public String toSystem(AllResourceTypes code) { + return code.getSystem(); + } + } + public enum BindingStrength { /** * To be conformant, the concept in this element SHALL be from the specified value set. @@ -1807,7 +4400,15 @@ public class Enumerations { public enum CompositionStatus { /** - * This is a preliminary composition or document (also known as initial or interim). The content may be incomplete or unverified. + * The existence of the report is registered, but there is nothing yet available. + */ + REGISTERED, + /** + * This is a partial (e.g. initial, interim or preliminary) report: data in the report may be incomplete or unverified. + */ + PARTIAL, + /** + * Verified early results are available, but not all results are final. */ PRELIMINARY, /** @@ -1818,6 +4419,18 @@ public class Enumerations { * The composition content or the referenced resources have been modified (edited or added to) subsequent to being released as "final" and the composition is complete and verified by an authorized person. */ AMENDED, + /** + * Subsequent to being final, the composition content has been modified to correct an error in the report or referenced results. + */ + CORRECTED, + /** + * Subsequent to being final, the composition content has been modified by adding new content. The existing content is unchanged. + */ + APPENDED, + /** + * The composition is unavailable because the measurement was not started or not completed (also sometimes called "aborted"). + */ + CANCELLED, /** * The composition or document was originally created/issued in error, and this is an amendment that marks that the entire series should not be considered as valid. */ @@ -1826,6 +4439,10 @@ public class Enumerations { * This composition has been withdrawn or superseded and should no longer be used. */ DEPRECATED, + /** + * The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for "other" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which. + */ + UNKNOWN, /** * added to help the parsers */ @@ -1833,58 +4450,94 @@ public class Enumerations { public static CompositionStatus fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; + if ("registered".equals(codeString)) + return REGISTERED; + if ("partial".equals(codeString)) + return PARTIAL; if ("preliminary".equals(codeString)) return PRELIMINARY; if ("final".equals(codeString)) return FINAL; if ("amended".equals(codeString)) return AMENDED; + if ("corrected".equals(codeString)) + return CORRECTED; + if ("appended".equals(codeString)) + return APPENDED; + if ("cancelled".equals(codeString)) + return CANCELLED; if ("entered-in-error".equals(codeString)) return ENTEREDINERROR; if ("deprecated".equals(codeString)) return DEPRECATED; + if ("unknown".equals(codeString)) + return UNKNOWN; throw new FHIRException("Unknown CompositionStatus code '"+codeString+"'"); } public String toCode() { switch (this) { + case REGISTERED: return "registered"; + case PARTIAL: return "partial"; case PRELIMINARY: return "preliminary"; case FINAL: return "final"; case AMENDED: return "amended"; + case CORRECTED: return "corrected"; + case APPENDED: return "appended"; + case CANCELLED: return "cancelled"; case ENTEREDINERROR: return "entered-in-error"; case DEPRECATED: return "deprecated"; + case UNKNOWN: return "unknown"; case NULL: return null; default: return "?"; } } public String getSystem() { switch (this) { + case REGISTERED: return "http://hl7.org/fhir/composition-status"; + case PARTIAL: return "http://hl7.org/fhir/composition-status"; case PRELIMINARY: return "http://hl7.org/fhir/composition-status"; case FINAL: return "http://hl7.org/fhir/composition-status"; case AMENDED: return "http://hl7.org/fhir/composition-status"; + case CORRECTED: return "http://hl7.org/fhir/composition-status"; + case APPENDED: return "http://hl7.org/fhir/composition-status"; + case CANCELLED: return "http://hl7.org/fhir/composition-status"; case ENTEREDINERROR: return "http://hl7.org/fhir/composition-status"; case DEPRECATED: return "http://hl7.org/fhir/composition-status"; + case UNKNOWN: return "http://hl7.org/fhir/composition-status"; case NULL: return null; default: return "?"; } } public String getDefinition() { switch (this) { - case PRELIMINARY: return "This is a preliminary composition or document (also known as initial or interim). The content may be incomplete or unverified."; + case REGISTERED: return "The existence of the report is registered, but there is nothing yet available."; + case PARTIAL: return "This is a partial (e.g. initial, interim or preliminary) report: data in the report may be incomplete or unverified."; + case PRELIMINARY: return "Verified early results are available, but not all results are final."; case FINAL: return "This version of the composition is complete and verified by an appropriate person and no further work is planned. Any subsequent updates would be on a new version of the composition."; case AMENDED: return "The composition content or the referenced resources have been modified (edited or added to) subsequent to being released as \"final\" and the composition is complete and verified by an authorized person."; + case CORRECTED: return "Subsequent to being final, the composition content has been modified to correct an error in the report or referenced results."; + case APPENDED: return "Subsequent to being final, the composition content has been modified by adding new content. The existing content is unchanged."; + case CANCELLED: return "The composition is unavailable because the measurement was not started or not completed (also sometimes called \"aborted\")."; case ENTEREDINERROR: return "The composition or document was originally created/issued in error, and this is an amendment that marks that the entire series should not be considered as valid."; case DEPRECATED: return "This composition has been withdrawn or superseded and should no longer be used."; + case UNKNOWN: return "The authoring/source system does not know which of the status values currently applies for this observation. Note: This concept is not to be used for \"other\" - one of the listed statuses is presumed to apply, but the authoring/source system does not know which."; case NULL: return null; default: return "?"; } } public String getDisplay() { switch (this) { + case REGISTERED: return "Registered"; + case PARTIAL: return "Partial"; case PRELIMINARY: return "Preliminary"; case FINAL: return "Final"; case AMENDED: return "Amended"; + case CORRECTED: return "Corrected"; + case APPENDED: return "Appended"; + case CANCELLED: return "Cancelled"; case ENTEREDINERROR: return "Entered in Error"; case DEPRECATED: return "Deprecated"; + case UNKNOWN: return "Unknown"; case NULL: return null; default: return "?"; } @@ -1896,16 +4549,28 @@ public class Enumerations { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; + if ("registered".equals(codeString)) + return CompositionStatus.REGISTERED; + if ("partial".equals(codeString)) + return CompositionStatus.PARTIAL; if ("preliminary".equals(codeString)) return CompositionStatus.PRELIMINARY; if ("final".equals(codeString)) return CompositionStatus.FINAL; if ("amended".equals(codeString)) return CompositionStatus.AMENDED; + if ("corrected".equals(codeString)) + return CompositionStatus.CORRECTED; + if ("appended".equals(codeString)) + return CompositionStatus.APPENDED; + if ("cancelled".equals(codeString)) + return CompositionStatus.CANCELLED; if ("entered-in-error".equals(codeString)) return CompositionStatus.ENTEREDINERROR; if ("deprecated".equals(codeString)) return CompositionStatus.DEPRECATED; + if ("unknown".equals(codeString)) + return CompositionStatus.UNKNOWN; throw new IllegalArgumentException("Unknown CompositionStatus code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -1916,29 +4581,53 @@ public class Enumerations { String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; + if ("registered".equals(codeString)) + return new Enumeration(this, CompositionStatus.REGISTERED); + if ("partial".equals(codeString)) + return new Enumeration(this, CompositionStatus.PARTIAL); if ("preliminary".equals(codeString)) return new Enumeration(this, CompositionStatus.PRELIMINARY); if ("final".equals(codeString)) return new Enumeration(this, CompositionStatus.FINAL); if ("amended".equals(codeString)) return new Enumeration(this, CompositionStatus.AMENDED); + if ("corrected".equals(codeString)) + return new Enumeration(this, CompositionStatus.CORRECTED); + if ("appended".equals(codeString)) + return new Enumeration(this, CompositionStatus.APPENDED); + if ("cancelled".equals(codeString)) + return new Enumeration(this, CompositionStatus.CANCELLED); if ("entered-in-error".equals(codeString)) return new Enumeration(this, CompositionStatus.ENTEREDINERROR); if ("deprecated".equals(codeString)) return new Enumeration(this, CompositionStatus.DEPRECATED); + if ("unknown".equals(codeString)) + return new Enumeration(this, CompositionStatus.UNKNOWN); throw new FHIRException("Unknown CompositionStatus code '"+codeString+"'"); } public String toCode(CompositionStatus code) { + if (code == CompositionStatus.REGISTERED) + return "registered"; + if (code == CompositionStatus.PARTIAL) + return "partial"; if (code == CompositionStatus.PRELIMINARY) return "preliminary"; if (code == CompositionStatus.FINAL) return "final"; if (code == CompositionStatus.AMENDED) return "amended"; + if (code == CompositionStatus.CORRECTED) + return "corrected"; + if (code == CompositionStatus.APPENDED) + return "appended"; + if (code == CompositionStatus.CANCELLED) + return "cancelled"; if (code == CompositionStatus.ENTEREDINERROR) return "entered-in-error"; if (code == CompositionStatus.DEPRECATED) return "deprecated"; + if (code == CompositionStatus.UNKNOWN) + return "unknown"; return "?"; } public String toSystem(CompositionStatus code) { @@ -2087,6 +4776,3197 @@ public class Enumerations { } } + public enum ConsentDataMeaning { + /** + * The consent applies directly to the instance of the resource. + */ + INSTANCE, + /** + * The consent applies directly to the instance of the resource and instances it refers to. + */ + RELATED, + /** + * The consent applies directly to the instance of the resource and instances that refer to it. + */ + DEPENDENTS, + /** + * The consent applies to instances of resources that are authored by. + */ + AUTHOREDBY, + /** + * added to help the parsers + */ + NULL; + public static ConsentDataMeaning fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("instance".equals(codeString)) + return INSTANCE; + if ("related".equals(codeString)) + return RELATED; + if ("dependents".equals(codeString)) + return DEPENDENTS; + if ("authoredby".equals(codeString)) + return AUTHOREDBY; + throw new FHIRException("Unknown ConsentDataMeaning code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case INSTANCE: return "instance"; + case RELATED: return "related"; + case DEPENDENTS: return "dependents"; + case AUTHOREDBY: return "authoredby"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case INSTANCE: return "http://hl7.org/fhir/consent-data-meaning"; + case RELATED: return "http://hl7.org/fhir/consent-data-meaning"; + case DEPENDENTS: return "http://hl7.org/fhir/consent-data-meaning"; + case AUTHOREDBY: return "http://hl7.org/fhir/consent-data-meaning"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case INSTANCE: return "The consent applies directly to the instance of the resource."; + case RELATED: return "The consent applies directly to the instance of the resource and instances it refers to."; + case DEPENDENTS: return "The consent applies directly to the instance of the resource and instances that refer to it."; + case AUTHOREDBY: return "The consent applies to instances of resources that are authored by."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case INSTANCE: return "Instance"; + case RELATED: return "Related"; + case DEPENDENTS: return "Dependents"; + case AUTHOREDBY: return "AuthoredBy"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class ConsentDataMeaningEnumFactory implements EnumFactory { + public ConsentDataMeaning fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("instance".equals(codeString)) + return ConsentDataMeaning.INSTANCE; + if ("related".equals(codeString)) + return ConsentDataMeaning.RELATED; + if ("dependents".equals(codeString)) + return ConsentDataMeaning.DEPENDENTS; + if ("authoredby".equals(codeString)) + return ConsentDataMeaning.AUTHOREDBY; + throw new IllegalArgumentException("Unknown ConsentDataMeaning code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("instance".equals(codeString)) + return new Enumeration(this, ConsentDataMeaning.INSTANCE); + if ("related".equals(codeString)) + return new Enumeration(this, ConsentDataMeaning.RELATED); + if ("dependents".equals(codeString)) + return new Enumeration(this, ConsentDataMeaning.DEPENDENTS); + if ("authoredby".equals(codeString)) + return new Enumeration(this, ConsentDataMeaning.AUTHOREDBY); + throw new FHIRException("Unknown ConsentDataMeaning code '"+codeString+"'"); + } + public String toCode(ConsentDataMeaning code) { + if (code == ConsentDataMeaning.INSTANCE) + return "instance"; + if (code == ConsentDataMeaning.RELATED) + return "related"; + if (code == ConsentDataMeaning.DEPENDENTS) + return "dependents"; + if (code == ConsentDataMeaning.AUTHOREDBY) + return "authoredby"; + return "?"; + } + public String toSystem(ConsentDataMeaning code) { + return code.getSystem(); + } + } + + public enum ConsentProvisionType { + /** + * Consent is denied for actions meeting these rules. + */ + DENY, + /** + * Consent is provided for actions meeting these rules. + */ + PERMIT, + /** + * added to help the parsers + */ + NULL; + public static ConsentProvisionType fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("deny".equals(codeString)) + return DENY; + if ("permit".equals(codeString)) + return PERMIT; + throw new FHIRException("Unknown ConsentProvisionType code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case DENY: return "deny"; + case PERMIT: return "permit"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case DENY: return "http://hl7.org/fhir/consent-provision-type"; + case PERMIT: return "http://hl7.org/fhir/consent-provision-type"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case DENY: return "Consent is denied for actions meeting these rules."; + case PERMIT: return "Consent is provided for actions meeting these rules."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case DENY: return "Deny"; + case PERMIT: return "Permit"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class ConsentProvisionTypeEnumFactory implements EnumFactory { + public ConsentProvisionType fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("deny".equals(codeString)) + return ConsentProvisionType.DENY; + if ("permit".equals(codeString)) + return ConsentProvisionType.PERMIT; + throw new IllegalArgumentException("Unknown ConsentProvisionType code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("deny".equals(codeString)) + return new Enumeration(this, ConsentProvisionType.DENY); + if ("permit".equals(codeString)) + return new Enumeration(this, ConsentProvisionType.PERMIT); + throw new FHIRException("Unknown ConsentProvisionType code '"+codeString+"'"); + } + public String toCode(ConsentProvisionType code) { + if (code == ConsentProvisionType.DENY) + return "deny"; + if (code == ConsentProvisionType.PERMIT) + return "permit"; + return "?"; + } + public String toSystem(ConsentProvisionType code) { + return code.getSystem(); + } + } + + public enum Currencies { + /** + * null + */ + AED, + /** + * null + */ + AFN, + /** + * null + */ + ALL, + /** + * null + */ + AMD, + /** + * null + */ + ANG, + /** + * null + */ + AOA, + /** + * null + */ + ARS, + /** + * null + */ + AUD, + /** + * null + */ + AWG, + /** + * null + */ + AZN, + /** + * null + */ + BAM, + /** + * null + */ + BBD, + /** + * null + */ + BDT, + /** + * null + */ + BGN, + /** + * null + */ + BHD, + /** + * null + */ + BIF, + /** + * null + */ + BMD, + /** + * null + */ + BND, + /** + * null + */ + BOB, + /** + * null + */ + BOV, + /** + * null + */ + BRL, + /** + * null + */ + BSD, + /** + * null + */ + BTN, + /** + * null + */ + BWP, + /** + * null + */ + BYN, + /** + * null + */ + BZD, + /** + * null + */ + CAD, + /** + * null + */ + CDF, + /** + * null + */ + CHE, + /** + * null + */ + CHF, + /** + * null + */ + CHW, + /** + * null + */ + CLF, + /** + * null + */ + CLP, + /** + * null + */ + CNY, + /** + * null + */ + COP, + /** + * null + */ + COU, + /** + * null + */ + CRC, + /** + * null + */ + CUC, + /** + * null + */ + CUP, + /** + * null + */ + CVE, + /** + * null + */ + CZK, + /** + * null + */ + DJF, + /** + * null + */ + DKK, + /** + * null + */ + DOP, + /** + * null + */ + DZD, + /** + * null + */ + EGP, + /** + * null + */ + ERN, + /** + * null + */ + ETB, + /** + * null + */ + EUR, + /** + * null + */ + FJD, + /** + * null + */ + FKP, + /** + * null + */ + GBP, + /** + * null + */ + GEL, + /** + * null + */ + GGP, + /** + * null + */ + GHS, + /** + * null + */ + GIP, + /** + * null + */ + GMD, + /** + * null + */ + GNF, + /** + * null + */ + GTQ, + /** + * null + */ + GYD, + /** + * null + */ + HKD, + /** + * null + */ + HNL, + /** + * null + */ + HRK, + /** + * null + */ + HTG, + /** + * null + */ + HUF, + /** + * null + */ + IDR, + /** + * null + */ + ILS, + /** + * null + */ + IMP, + /** + * null + */ + INR, + /** + * null + */ + IQD, + /** + * null + */ + IRR, + /** + * null + */ + ISK, + /** + * null + */ + JEP, + /** + * null + */ + JMD, + /** + * null + */ + JOD, + /** + * null + */ + JPY, + /** + * null + */ + KES, + /** + * null + */ + KGS, + /** + * null + */ + KHR, + /** + * null + */ + KMF, + /** + * null + */ + KPW, + /** + * null + */ + KRW, + /** + * null + */ + KWD, + /** + * null + */ + KYD, + /** + * null + */ + KZT, + /** + * null + */ + LAK, + /** + * null + */ + LBP, + /** + * null + */ + LKR, + /** + * null + */ + LRD, + /** + * null + */ + LSL, + /** + * null + */ + LYD, + /** + * null + */ + MAD, + /** + * null + */ + MDL, + /** + * null + */ + MGA, + /** + * null + */ + MKD, + /** + * null + */ + MMK, + /** + * null + */ + MNT, + /** + * null + */ + MOP, + /** + * null + */ + MRU, + /** + * null + */ + MUR, + /** + * null + */ + MVR, + /** + * null + */ + MWK, + /** + * null + */ + MXN, + /** + * null + */ + MXV, + /** + * null + */ + MYR, + /** + * null + */ + MZN, + /** + * null + */ + NAD, + /** + * null + */ + NGN, + /** + * null + */ + NIO, + /** + * null + */ + NOK, + /** + * null + */ + NPR, + /** + * null + */ + NZD, + /** + * null + */ + OMR, + /** + * null + */ + PAB, + /** + * null + */ + PEN, + /** + * null + */ + PGK, + /** + * null + */ + PHP, + /** + * null + */ + PKR, + /** + * null + */ + PLN, + /** + * null + */ + PYG, + /** + * null + */ + QAR, + /** + * null + */ + RON, + /** + * null + */ + RSD, + /** + * null + */ + RUB, + /** + * null + */ + RWF, + /** + * null + */ + SAR, + /** + * null + */ + SBD, + /** + * null + */ + SCR, + /** + * null + */ + SDG, + /** + * null + */ + SEK, + /** + * null + */ + SGD, + /** + * null + */ + SHP, + /** + * null + */ + SLL, + /** + * null + */ + SOS, + /** + * null + */ + SRD, + /** + * null + */ + SSP, + /** + * null + */ + STN, + /** + * null + */ + SVC, + /** + * null + */ + SYP, + /** + * null + */ + SZL, + /** + * null + */ + THB, + /** + * null + */ + TJS, + /** + * null + */ + TMT, + /** + * null + */ + TND, + /** + * null + */ + TOP, + /** + * null + */ + TRY, + /** + * null + */ + TTD, + /** + * null + */ + TVD, + /** + * null + */ + TWD, + /** + * null + */ + TZS, + /** + * null + */ + UAH, + /** + * null + */ + UGX, + /** + * null + */ + USD, + /** + * null + */ + USN, + /** + * null + */ + UYI, + /** + * null + */ + UYU, + /** + * null + */ + UZS, + /** + * null + */ + VEF, + /** + * null + */ + VND, + /** + * null + */ + VUV, + /** + * null + */ + WST, + /** + * null + */ + XAF, + /** + * null + */ + XAG, + /** + * null + */ + XAU, + /** + * null + */ + XBA, + /** + * null + */ + XBB, + /** + * null + */ + XBC, + /** + * null + */ + XBD, + /** + * null + */ + XCD, + /** + * null + */ + XDR, + /** + * null + */ + XOF, + /** + * null + */ + XPD, + /** + * null + */ + XPF, + /** + * null + */ + XPT, + /** + * null + */ + XSU, + /** + * null + */ + XTS, + /** + * null + */ + XUA, + /** + * null + */ + XXX, + /** + * null + */ + YER, + /** + * null + */ + ZAR, + /** + * null + */ + ZMW, + /** + * null + */ + ZWL, + /** + * added to help the parsers + */ + NULL; + public static Currencies fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("AED".equals(codeString)) + return AED; + if ("AFN".equals(codeString)) + return AFN; + if ("ALL".equals(codeString)) + return ALL; + if ("AMD".equals(codeString)) + return AMD; + if ("ANG".equals(codeString)) + return ANG; + if ("AOA".equals(codeString)) + return AOA; + if ("ARS".equals(codeString)) + return ARS; + if ("AUD".equals(codeString)) + return AUD; + if ("AWG".equals(codeString)) + return AWG; + if ("AZN".equals(codeString)) + return AZN; + if ("BAM".equals(codeString)) + return BAM; + if ("BBD".equals(codeString)) + return BBD; + if ("BDT".equals(codeString)) + return BDT; + if ("BGN".equals(codeString)) + return BGN; + if ("BHD".equals(codeString)) + return BHD; + if ("BIF".equals(codeString)) + return BIF; + if ("BMD".equals(codeString)) + return BMD; + if ("BND".equals(codeString)) + return BND; + if ("BOB".equals(codeString)) + return BOB; + if ("BOV".equals(codeString)) + return BOV; + if ("BRL".equals(codeString)) + return BRL; + if ("BSD".equals(codeString)) + return BSD; + if ("BTN".equals(codeString)) + return BTN; + if ("BWP".equals(codeString)) + return BWP; + if ("BYN".equals(codeString)) + return BYN; + if ("BZD".equals(codeString)) + return BZD; + if ("CAD".equals(codeString)) + return CAD; + if ("CDF".equals(codeString)) + return CDF; + if ("CHE".equals(codeString)) + return CHE; + if ("CHF".equals(codeString)) + return CHF; + if ("CHW".equals(codeString)) + return CHW; + if ("CLF".equals(codeString)) + return CLF; + if ("CLP".equals(codeString)) + return CLP; + if ("CNY".equals(codeString)) + return CNY; + if ("COP".equals(codeString)) + return COP; + if ("COU".equals(codeString)) + return COU; + if ("CRC".equals(codeString)) + return CRC; + if ("CUC".equals(codeString)) + return CUC; + if ("CUP".equals(codeString)) + return CUP; + if ("CVE".equals(codeString)) + return CVE; + if ("CZK".equals(codeString)) + return CZK; + if ("DJF".equals(codeString)) + return DJF; + if ("DKK".equals(codeString)) + return DKK; + if ("DOP".equals(codeString)) + return DOP; + if ("DZD".equals(codeString)) + return DZD; + if ("EGP".equals(codeString)) + return EGP; + if ("ERN".equals(codeString)) + return ERN; + if ("ETB".equals(codeString)) + return ETB; + if ("EUR".equals(codeString)) + return EUR; + if ("FJD".equals(codeString)) + return FJD; + if ("FKP".equals(codeString)) + return FKP; + if ("GBP".equals(codeString)) + return GBP; + if ("GEL".equals(codeString)) + return GEL; + if ("GGP".equals(codeString)) + return GGP; + if ("GHS".equals(codeString)) + return GHS; + if ("GIP".equals(codeString)) + return GIP; + if ("GMD".equals(codeString)) + return GMD; + if ("GNF".equals(codeString)) + return GNF; + if ("GTQ".equals(codeString)) + return GTQ; + if ("GYD".equals(codeString)) + return GYD; + if ("HKD".equals(codeString)) + return HKD; + if ("HNL".equals(codeString)) + return HNL; + if ("HRK".equals(codeString)) + return HRK; + if ("HTG".equals(codeString)) + return HTG; + if ("HUF".equals(codeString)) + return HUF; + if ("IDR".equals(codeString)) + return IDR; + if ("ILS".equals(codeString)) + return ILS; + if ("IMP".equals(codeString)) + return IMP; + if ("INR".equals(codeString)) + return INR; + if ("IQD".equals(codeString)) + return IQD; + if ("IRR".equals(codeString)) + return IRR; + if ("ISK".equals(codeString)) + return ISK; + if ("JEP".equals(codeString)) + return JEP; + if ("JMD".equals(codeString)) + return JMD; + if ("JOD".equals(codeString)) + return JOD; + if ("JPY".equals(codeString)) + return JPY; + if ("KES".equals(codeString)) + return KES; + if ("KGS".equals(codeString)) + return KGS; + if ("KHR".equals(codeString)) + return KHR; + if ("KMF".equals(codeString)) + return KMF; + if ("KPW".equals(codeString)) + return KPW; + if ("KRW".equals(codeString)) + return KRW; + if ("KWD".equals(codeString)) + return KWD; + if ("KYD".equals(codeString)) + return KYD; + if ("KZT".equals(codeString)) + return KZT; + if ("LAK".equals(codeString)) + return LAK; + if ("LBP".equals(codeString)) + return LBP; + if ("LKR".equals(codeString)) + return LKR; + if ("LRD".equals(codeString)) + return LRD; + if ("LSL".equals(codeString)) + return LSL; + if ("LYD".equals(codeString)) + return LYD; + if ("MAD".equals(codeString)) + return MAD; + if ("MDL".equals(codeString)) + return MDL; + if ("MGA".equals(codeString)) + return MGA; + if ("MKD".equals(codeString)) + return MKD; + if ("MMK".equals(codeString)) + return MMK; + if ("MNT".equals(codeString)) + return MNT; + if ("MOP".equals(codeString)) + return MOP; + if ("MRU".equals(codeString)) + return MRU; + if ("MUR".equals(codeString)) + return MUR; + if ("MVR".equals(codeString)) + return MVR; + if ("MWK".equals(codeString)) + return MWK; + if ("MXN".equals(codeString)) + return MXN; + if ("MXV".equals(codeString)) + return MXV; + if ("MYR".equals(codeString)) + return MYR; + if ("MZN".equals(codeString)) + return MZN; + if ("NAD".equals(codeString)) + return NAD; + if ("NGN".equals(codeString)) + return NGN; + if ("NIO".equals(codeString)) + return NIO; + if ("NOK".equals(codeString)) + return NOK; + if ("NPR".equals(codeString)) + return NPR; + if ("NZD".equals(codeString)) + return NZD; + if ("OMR".equals(codeString)) + return OMR; + if ("PAB".equals(codeString)) + return PAB; + if ("PEN".equals(codeString)) + return PEN; + if ("PGK".equals(codeString)) + return PGK; + if ("PHP".equals(codeString)) + return PHP; + if ("PKR".equals(codeString)) + return PKR; + if ("PLN".equals(codeString)) + return PLN; + if ("PYG".equals(codeString)) + return PYG; + if ("QAR".equals(codeString)) + return QAR; + if ("RON".equals(codeString)) + return RON; + if ("RSD".equals(codeString)) + return RSD; + if ("RUB".equals(codeString)) + return RUB; + if ("RWF".equals(codeString)) + return RWF; + if ("SAR".equals(codeString)) + return SAR; + if ("SBD".equals(codeString)) + return SBD; + if ("SCR".equals(codeString)) + return SCR; + if ("SDG".equals(codeString)) + return SDG; + if ("SEK".equals(codeString)) + return SEK; + if ("SGD".equals(codeString)) + return SGD; + if ("SHP".equals(codeString)) + return SHP; + if ("SLL".equals(codeString)) + return SLL; + if ("SOS".equals(codeString)) + return SOS; + if ("SRD".equals(codeString)) + return SRD; + if ("SSP".equals(codeString)) + return SSP; + if ("STN".equals(codeString)) + return STN; + if ("SVC".equals(codeString)) + return SVC; + if ("SYP".equals(codeString)) + return SYP; + if ("SZL".equals(codeString)) + return SZL; + if ("THB".equals(codeString)) + return THB; + if ("TJS".equals(codeString)) + return TJS; + if ("TMT".equals(codeString)) + return TMT; + if ("TND".equals(codeString)) + return TND; + if ("TOP".equals(codeString)) + return TOP; + if ("TRY".equals(codeString)) + return TRY; + if ("TTD".equals(codeString)) + return TTD; + if ("TVD".equals(codeString)) + return TVD; + if ("TWD".equals(codeString)) + return TWD; + if ("TZS".equals(codeString)) + return TZS; + if ("UAH".equals(codeString)) + return UAH; + if ("UGX".equals(codeString)) + return UGX; + if ("USD".equals(codeString)) + return USD; + if ("USN".equals(codeString)) + return USN; + if ("UYI".equals(codeString)) + return UYI; + if ("UYU".equals(codeString)) + return UYU; + if ("UZS".equals(codeString)) + return UZS; + if ("VEF".equals(codeString)) + return VEF; + if ("VND".equals(codeString)) + return VND; + if ("VUV".equals(codeString)) + return VUV; + if ("WST".equals(codeString)) + return WST; + if ("XAF".equals(codeString)) + return XAF; + if ("XAG".equals(codeString)) + return XAG; + if ("XAU".equals(codeString)) + return XAU; + if ("XBA".equals(codeString)) + return XBA; + if ("XBB".equals(codeString)) + return XBB; + if ("XBC".equals(codeString)) + return XBC; + if ("XBD".equals(codeString)) + return XBD; + if ("XCD".equals(codeString)) + return XCD; + if ("XDR".equals(codeString)) + return XDR; + if ("XOF".equals(codeString)) + return XOF; + if ("XPD".equals(codeString)) + return XPD; + if ("XPF".equals(codeString)) + return XPF; + if ("XPT".equals(codeString)) + return XPT; + if ("XSU".equals(codeString)) + return XSU; + if ("XTS".equals(codeString)) + return XTS; + if ("XUA".equals(codeString)) + return XUA; + if ("XXX".equals(codeString)) + return XXX; + if ("YER".equals(codeString)) + return YER; + if ("ZAR".equals(codeString)) + return ZAR; + if ("ZMW".equals(codeString)) + return ZMW; + if ("ZWL".equals(codeString)) + return ZWL; + throw new FHIRException("Unknown Currencies code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case AED: return "AED"; + case AFN: return "AFN"; + case ALL: return "ALL"; + case AMD: return "AMD"; + case ANG: return "ANG"; + case AOA: return "AOA"; + case ARS: return "ARS"; + case AUD: return "AUD"; + case AWG: return "AWG"; + case AZN: return "AZN"; + case BAM: return "BAM"; + case BBD: return "BBD"; + case BDT: return "BDT"; + case BGN: return "BGN"; + case BHD: return "BHD"; + case BIF: return "BIF"; + case BMD: return "BMD"; + case BND: return "BND"; + case BOB: return "BOB"; + case BOV: return "BOV"; + case BRL: return "BRL"; + case BSD: return "BSD"; + case BTN: return "BTN"; + case BWP: return "BWP"; + case BYN: return "BYN"; + case BZD: return "BZD"; + case CAD: return "CAD"; + case CDF: return "CDF"; + case CHE: return "CHE"; + case CHF: return "CHF"; + case CHW: return "CHW"; + case CLF: return "CLF"; + case CLP: return "CLP"; + case CNY: return "CNY"; + case COP: return "COP"; + case COU: return "COU"; + case CRC: return "CRC"; + case CUC: return "CUC"; + case CUP: return "CUP"; + case CVE: return "CVE"; + case CZK: return "CZK"; + case DJF: return "DJF"; + case DKK: return "DKK"; + case DOP: return "DOP"; + case DZD: return "DZD"; + case EGP: return "EGP"; + case ERN: return "ERN"; + case ETB: return "ETB"; + case EUR: return "EUR"; + case FJD: return "FJD"; + case FKP: return "FKP"; + case GBP: return "GBP"; + case GEL: return "GEL"; + case GGP: return "GGP"; + case GHS: return "GHS"; + case GIP: return "GIP"; + case GMD: return "GMD"; + case GNF: return "GNF"; + case GTQ: return "GTQ"; + case GYD: return "GYD"; + case HKD: return "HKD"; + case HNL: return "HNL"; + case HRK: return "HRK"; + case HTG: return "HTG"; + case HUF: return "HUF"; + case IDR: return "IDR"; + case ILS: return "ILS"; + case IMP: return "IMP"; + case INR: return "INR"; + case IQD: return "IQD"; + case IRR: return "IRR"; + case ISK: return "ISK"; + case JEP: return "JEP"; + case JMD: return "JMD"; + case JOD: return "JOD"; + case JPY: return "JPY"; + case KES: return "KES"; + case KGS: return "KGS"; + case KHR: return "KHR"; + case KMF: return "KMF"; + case KPW: return "KPW"; + case KRW: return "KRW"; + case KWD: return "KWD"; + case KYD: return "KYD"; + case KZT: return "KZT"; + case LAK: return "LAK"; + case LBP: return "LBP"; + case LKR: return "LKR"; + case LRD: return "LRD"; + case LSL: return "LSL"; + case LYD: return "LYD"; + case MAD: return "MAD"; + case MDL: return "MDL"; + case MGA: return "MGA"; + case MKD: return "MKD"; + case MMK: return "MMK"; + case MNT: return "MNT"; + case MOP: return "MOP"; + case MRU: return "MRU"; + case MUR: return "MUR"; + case MVR: return "MVR"; + case MWK: return "MWK"; + case MXN: return "MXN"; + case MXV: return "MXV"; + case MYR: return "MYR"; + case MZN: return "MZN"; + case NAD: return "NAD"; + case NGN: return "NGN"; + case NIO: return "NIO"; + case NOK: return "NOK"; + case NPR: return "NPR"; + case NZD: return "NZD"; + case OMR: return "OMR"; + case PAB: return "PAB"; + case PEN: return "PEN"; + case PGK: return "PGK"; + case PHP: return "PHP"; + case PKR: return "PKR"; + case PLN: return "PLN"; + case PYG: return "PYG"; + case QAR: return "QAR"; + case RON: return "RON"; + case RSD: return "RSD"; + case RUB: return "RUB"; + case RWF: return "RWF"; + case SAR: return "SAR"; + case SBD: return "SBD"; + case SCR: return "SCR"; + case SDG: return "SDG"; + case SEK: return "SEK"; + case SGD: return "SGD"; + case SHP: return "SHP"; + case SLL: return "SLL"; + case SOS: return "SOS"; + case SRD: return "SRD"; + case SSP: return "SSP"; + case STN: return "STN"; + case SVC: return "SVC"; + case SYP: return "SYP"; + case SZL: return "SZL"; + case THB: return "THB"; + case TJS: return "TJS"; + case TMT: return "TMT"; + case TND: return "TND"; + case TOP: return "TOP"; + case TRY: return "TRY"; + case TTD: return "TTD"; + case TVD: return "TVD"; + case TWD: return "TWD"; + case TZS: return "TZS"; + case UAH: return "UAH"; + case UGX: return "UGX"; + case USD: return "USD"; + case USN: return "USN"; + case UYI: return "UYI"; + case UYU: return "UYU"; + case UZS: return "UZS"; + case VEF: return "VEF"; + case VND: return "VND"; + case VUV: return "VUV"; + case WST: return "WST"; + case XAF: return "XAF"; + case XAG: return "XAG"; + case XAU: return "XAU"; + case XBA: return "XBA"; + case XBB: return "XBB"; + case XBC: return "XBC"; + case XBD: return "XBD"; + case XCD: return "XCD"; + case XDR: return "XDR"; + case XOF: return "XOF"; + case XPD: return "XPD"; + case XPF: return "XPF"; + case XPT: return "XPT"; + case XSU: return "XSU"; + case XTS: return "XTS"; + case XUA: return "XUA"; + case XXX: return "XXX"; + case YER: return "YER"; + case ZAR: return "ZAR"; + case ZMW: return "ZMW"; + case ZWL: return "ZWL"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case AED: return "urn:iso:std:iso:4217"; + case AFN: return "urn:iso:std:iso:4217"; + case ALL: return "urn:iso:std:iso:4217"; + case AMD: return "urn:iso:std:iso:4217"; + case ANG: return "urn:iso:std:iso:4217"; + case AOA: return "urn:iso:std:iso:4217"; + case ARS: return "urn:iso:std:iso:4217"; + case AUD: return "urn:iso:std:iso:4217"; + case AWG: return "urn:iso:std:iso:4217"; + case AZN: return "urn:iso:std:iso:4217"; + case BAM: return "urn:iso:std:iso:4217"; + case BBD: return "urn:iso:std:iso:4217"; + case BDT: return "urn:iso:std:iso:4217"; + case BGN: return "urn:iso:std:iso:4217"; + case BHD: return "urn:iso:std:iso:4217"; + case BIF: return "urn:iso:std:iso:4217"; + case BMD: return "urn:iso:std:iso:4217"; + case BND: return "urn:iso:std:iso:4217"; + case BOB: return "urn:iso:std:iso:4217"; + case BOV: return "urn:iso:std:iso:4217"; + case BRL: return "urn:iso:std:iso:4217"; + case BSD: return "urn:iso:std:iso:4217"; + case BTN: return "urn:iso:std:iso:4217"; + case BWP: return "urn:iso:std:iso:4217"; + case BYN: return "urn:iso:std:iso:4217"; + case BZD: return "urn:iso:std:iso:4217"; + case CAD: return "urn:iso:std:iso:4217"; + case CDF: return "urn:iso:std:iso:4217"; + case CHE: return "urn:iso:std:iso:4217"; + case CHF: return "urn:iso:std:iso:4217"; + case CHW: return "urn:iso:std:iso:4217"; + case CLF: return "urn:iso:std:iso:4217"; + case CLP: return "urn:iso:std:iso:4217"; + case CNY: return "urn:iso:std:iso:4217"; + case COP: return "urn:iso:std:iso:4217"; + case COU: return "urn:iso:std:iso:4217"; + case CRC: return "urn:iso:std:iso:4217"; + case CUC: return "urn:iso:std:iso:4217"; + case CUP: return "urn:iso:std:iso:4217"; + case CVE: return "urn:iso:std:iso:4217"; + case CZK: return "urn:iso:std:iso:4217"; + case DJF: return "urn:iso:std:iso:4217"; + case DKK: return "urn:iso:std:iso:4217"; + case DOP: return "urn:iso:std:iso:4217"; + case DZD: return "urn:iso:std:iso:4217"; + case EGP: return "urn:iso:std:iso:4217"; + case ERN: return "urn:iso:std:iso:4217"; + case ETB: return "urn:iso:std:iso:4217"; + case EUR: return "urn:iso:std:iso:4217"; + case FJD: return "urn:iso:std:iso:4217"; + case FKP: return "urn:iso:std:iso:4217"; + case GBP: return "urn:iso:std:iso:4217"; + case GEL: return "urn:iso:std:iso:4217"; + case GGP: return "urn:iso:std:iso:4217"; + case GHS: return "urn:iso:std:iso:4217"; + case GIP: return "urn:iso:std:iso:4217"; + case GMD: return "urn:iso:std:iso:4217"; + case GNF: return "urn:iso:std:iso:4217"; + case GTQ: return "urn:iso:std:iso:4217"; + case GYD: return "urn:iso:std:iso:4217"; + case HKD: return "urn:iso:std:iso:4217"; + case HNL: return "urn:iso:std:iso:4217"; + case HRK: return "urn:iso:std:iso:4217"; + case HTG: return "urn:iso:std:iso:4217"; + case HUF: return "urn:iso:std:iso:4217"; + case IDR: return "urn:iso:std:iso:4217"; + case ILS: return "urn:iso:std:iso:4217"; + case IMP: return "urn:iso:std:iso:4217"; + case INR: return "urn:iso:std:iso:4217"; + case IQD: return "urn:iso:std:iso:4217"; + case IRR: return "urn:iso:std:iso:4217"; + case ISK: return "urn:iso:std:iso:4217"; + case JEP: return "urn:iso:std:iso:4217"; + case JMD: return "urn:iso:std:iso:4217"; + case JOD: return "urn:iso:std:iso:4217"; + case JPY: return "urn:iso:std:iso:4217"; + case KES: return "urn:iso:std:iso:4217"; + case KGS: return "urn:iso:std:iso:4217"; + case KHR: return "urn:iso:std:iso:4217"; + case KMF: return "urn:iso:std:iso:4217"; + case KPW: return "urn:iso:std:iso:4217"; + case KRW: return "urn:iso:std:iso:4217"; + case KWD: return "urn:iso:std:iso:4217"; + case KYD: return "urn:iso:std:iso:4217"; + case KZT: return "urn:iso:std:iso:4217"; + case LAK: return "urn:iso:std:iso:4217"; + case LBP: return "urn:iso:std:iso:4217"; + case LKR: return "urn:iso:std:iso:4217"; + case LRD: return "urn:iso:std:iso:4217"; + case LSL: return "urn:iso:std:iso:4217"; + case LYD: return "urn:iso:std:iso:4217"; + case MAD: return "urn:iso:std:iso:4217"; + case MDL: return "urn:iso:std:iso:4217"; + case MGA: return "urn:iso:std:iso:4217"; + case MKD: return "urn:iso:std:iso:4217"; + case MMK: return "urn:iso:std:iso:4217"; + case MNT: return "urn:iso:std:iso:4217"; + case MOP: return "urn:iso:std:iso:4217"; + case MRU: return "urn:iso:std:iso:4217"; + case MUR: return "urn:iso:std:iso:4217"; + case MVR: return "urn:iso:std:iso:4217"; + case MWK: return "urn:iso:std:iso:4217"; + case MXN: return "urn:iso:std:iso:4217"; + case MXV: return "urn:iso:std:iso:4217"; + case MYR: return "urn:iso:std:iso:4217"; + case MZN: return "urn:iso:std:iso:4217"; + case NAD: return "urn:iso:std:iso:4217"; + case NGN: return "urn:iso:std:iso:4217"; + case NIO: return "urn:iso:std:iso:4217"; + case NOK: return "urn:iso:std:iso:4217"; + case NPR: return "urn:iso:std:iso:4217"; + case NZD: return "urn:iso:std:iso:4217"; + case OMR: return "urn:iso:std:iso:4217"; + case PAB: return "urn:iso:std:iso:4217"; + case PEN: return "urn:iso:std:iso:4217"; + case PGK: return "urn:iso:std:iso:4217"; + case PHP: return "urn:iso:std:iso:4217"; + case PKR: return "urn:iso:std:iso:4217"; + case PLN: return "urn:iso:std:iso:4217"; + case PYG: return "urn:iso:std:iso:4217"; + case QAR: return "urn:iso:std:iso:4217"; + case RON: return "urn:iso:std:iso:4217"; + case RSD: return "urn:iso:std:iso:4217"; + case RUB: return "urn:iso:std:iso:4217"; + case RWF: return "urn:iso:std:iso:4217"; + case SAR: return "urn:iso:std:iso:4217"; + case SBD: return "urn:iso:std:iso:4217"; + case SCR: return "urn:iso:std:iso:4217"; + case SDG: return "urn:iso:std:iso:4217"; + case SEK: return "urn:iso:std:iso:4217"; + case SGD: return "urn:iso:std:iso:4217"; + case SHP: return "urn:iso:std:iso:4217"; + case SLL: return "urn:iso:std:iso:4217"; + case SOS: return "urn:iso:std:iso:4217"; + case SRD: return "urn:iso:std:iso:4217"; + case SSP: return "urn:iso:std:iso:4217"; + case STN: return "urn:iso:std:iso:4217"; + case SVC: return "urn:iso:std:iso:4217"; + case SYP: return "urn:iso:std:iso:4217"; + case SZL: return "urn:iso:std:iso:4217"; + case THB: return "urn:iso:std:iso:4217"; + case TJS: return "urn:iso:std:iso:4217"; + case TMT: return "urn:iso:std:iso:4217"; + case TND: return "urn:iso:std:iso:4217"; + case TOP: return "urn:iso:std:iso:4217"; + case TRY: return "urn:iso:std:iso:4217"; + case TTD: return "urn:iso:std:iso:4217"; + case TVD: return "urn:iso:std:iso:4217"; + case TWD: return "urn:iso:std:iso:4217"; + case TZS: return "urn:iso:std:iso:4217"; + case UAH: return "urn:iso:std:iso:4217"; + case UGX: return "urn:iso:std:iso:4217"; + case USD: return "urn:iso:std:iso:4217"; + case USN: return "urn:iso:std:iso:4217"; + case UYI: return "urn:iso:std:iso:4217"; + case UYU: return "urn:iso:std:iso:4217"; + case UZS: return "urn:iso:std:iso:4217"; + case VEF: return "urn:iso:std:iso:4217"; + case VND: return "urn:iso:std:iso:4217"; + case VUV: return "urn:iso:std:iso:4217"; + case WST: return "urn:iso:std:iso:4217"; + case XAF: return "urn:iso:std:iso:4217"; + case XAG: return "urn:iso:std:iso:4217"; + case XAU: return "urn:iso:std:iso:4217"; + case XBA: return "urn:iso:std:iso:4217"; + case XBB: return "urn:iso:std:iso:4217"; + case XBC: return "urn:iso:std:iso:4217"; + case XBD: return "urn:iso:std:iso:4217"; + case XCD: return "urn:iso:std:iso:4217"; + case XDR: return "urn:iso:std:iso:4217"; + case XOF: return "urn:iso:std:iso:4217"; + case XPD: return "urn:iso:std:iso:4217"; + case XPF: return "urn:iso:std:iso:4217"; + case XPT: return "urn:iso:std:iso:4217"; + case XSU: return "urn:iso:std:iso:4217"; + case XTS: return "urn:iso:std:iso:4217"; + case XUA: return "urn:iso:std:iso:4217"; + case XXX: return "urn:iso:std:iso:4217"; + case YER: return "urn:iso:std:iso:4217"; + case ZAR: return "urn:iso:std:iso:4217"; + case ZMW: return "urn:iso:std:iso:4217"; + case ZWL: return "urn:iso:std:iso:4217"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case AED: return ""; + case AFN: return ""; + case ALL: return ""; + case AMD: return ""; + case ANG: return ""; + case AOA: return ""; + case ARS: return ""; + case AUD: return ""; + case AWG: return ""; + case AZN: return ""; + case BAM: return ""; + case BBD: return ""; + case BDT: return ""; + case BGN: return ""; + case BHD: return ""; + case BIF: return ""; + case BMD: return ""; + case BND: return ""; + case BOB: return ""; + case BOV: return ""; + case BRL: return ""; + case BSD: return ""; + case BTN: return ""; + case BWP: return ""; + case BYN: return ""; + case BZD: return ""; + case CAD: return ""; + case CDF: return ""; + case CHE: return ""; + case CHF: return ""; + case CHW: return ""; + case CLF: return ""; + case CLP: return ""; + case CNY: return ""; + case COP: return ""; + case COU: return ""; + case CRC: return ""; + case CUC: return ""; + case CUP: return ""; + case CVE: return ""; + case CZK: return ""; + case DJF: return ""; + case DKK: return ""; + case DOP: return ""; + case DZD: return ""; + case EGP: return ""; + case ERN: return ""; + case ETB: return ""; + case EUR: return ""; + case FJD: return ""; + case FKP: return ""; + case GBP: return ""; + case GEL: return ""; + case GGP: return ""; + case GHS: return ""; + case GIP: return ""; + case GMD: return ""; + case GNF: return ""; + case GTQ: return ""; + case GYD: return ""; + case HKD: return ""; + case HNL: return ""; + case HRK: return ""; + case HTG: return ""; + case HUF: return ""; + case IDR: return ""; + case ILS: return ""; + case IMP: return ""; + case INR: return ""; + case IQD: return ""; + case IRR: return ""; + case ISK: return ""; + case JEP: return ""; + case JMD: return ""; + case JOD: return ""; + case JPY: return ""; + case KES: return ""; + case KGS: return ""; + case KHR: return ""; + case KMF: return ""; + case KPW: return ""; + case KRW: return ""; + case KWD: return ""; + case KYD: return ""; + case KZT: return ""; + case LAK: return ""; + case LBP: return ""; + case LKR: return ""; + case LRD: return ""; + case LSL: return ""; + case LYD: return ""; + case MAD: return ""; + case MDL: return ""; + case MGA: return ""; + case MKD: return ""; + case MMK: return ""; + case MNT: return ""; + case MOP: return ""; + case MRU: return ""; + case MUR: return ""; + case MVR: return ""; + case MWK: return ""; + case MXN: return ""; + case MXV: return ""; + case MYR: return ""; + case MZN: return ""; + case NAD: return ""; + case NGN: return ""; + case NIO: return ""; + case NOK: return ""; + case NPR: return ""; + case NZD: return ""; + case OMR: return ""; + case PAB: return ""; + case PEN: return ""; + case PGK: return ""; + case PHP: return ""; + case PKR: return ""; + case PLN: return ""; + case PYG: return ""; + case QAR: return ""; + case RON: return ""; + case RSD: return ""; + case RUB: return ""; + case RWF: return ""; + case SAR: return ""; + case SBD: return ""; + case SCR: return ""; + case SDG: return ""; + case SEK: return ""; + case SGD: return ""; + case SHP: return ""; + case SLL: return ""; + case SOS: return ""; + case SRD: return ""; + case SSP: return ""; + case STN: return ""; + case SVC: return ""; + case SYP: return ""; + case SZL: return ""; + case THB: return ""; + case TJS: return ""; + case TMT: return ""; + case TND: return ""; + case TOP: return ""; + case TRY: return ""; + case TTD: return ""; + case TVD: return ""; + case TWD: return ""; + case TZS: return ""; + case UAH: return ""; + case UGX: return ""; + case USD: return ""; + case USN: return ""; + case UYI: return ""; + case UYU: return ""; + case UZS: return ""; + case VEF: return ""; + case VND: return ""; + case VUV: return ""; + case WST: return ""; + case XAF: return ""; + case XAG: return ""; + case XAU: return ""; + case XBA: return ""; + case XBB: return ""; + case XBC: return ""; + case XBD: return ""; + case XCD: return ""; + case XDR: return ""; + case XOF: return ""; + case XPD: return ""; + case XPF: return ""; + case XPT: return ""; + case XSU: return ""; + case XTS: return ""; + case XUA: return ""; + case XXX: return ""; + case YER: return ""; + case ZAR: return ""; + case ZMW: return ""; + case ZWL: return ""; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case AED: return "United Arab Emirates dirham"; + case AFN: return "Afghan afghani"; + case ALL: return "Albanian lek"; + case AMD: return "Armenian dram"; + case ANG: return "Netherlands Antillean guilder"; + case AOA: return "Angolan kwanza"; + case ARS: return "Argentine peso"; + case AUD: return "Australian dollar"; + case AWG: return "Aruban florin"; + case AZN: return "Azerbaijani manat"; + case BAM: return "Bosnia and Herzegovina convertible mark"; + case BBD: return "Barbados dollar"; + case BDT: return "Bangladeshi taka"; + case BGN: return "Bulgarian lev"; + case BHD: return "Bahraini dinar"; + case BIF: return "Burundian franc"; + case BMD: return "Bermudian dollar"; + case BND: return "Brunei dollar"; + case BOB: return "Boliviano"; + case BOV: return "Bolivian Mvdol (funds code)"; + case BRL: return "Brazilian real"; + case BSD: return "Bahamian dollar"; + case BTN: return "Bhutanese ngultrum"; + case BWP: return "Botswana pula"; + case BYN: return "Belarusian ruble"; + case BZD: return "Belize dollar"; + case CAD: return "Canadian dollar"; + case CDF: return "Congolese franc"; + case CHE: return "WIR Euro (complementary currency)"; + case CHF: return "Swiss franc"; + case CHW: return "WIR Franc (complementary currency)"; + case CLF: return "Unidad de Fomento (funds code)"; + case CLP: return "Chilean peso"; + case CNY: return "Renminbi (Chinese) yuan[8]"; + case COP: return "Colombian peso"; + case COU: return "Unidad de Valor Real (UVR) (funds code)[9]"; + case CRC: return "Costa Rican colon"; + case CUC: return "Cuban convertible peso"; + case CUP: return "Cuban peso"; + case CVE: return "Cape Verde escudo"; + case CZK: return "Czech koruna"; + case DJF: return "Djiboutian franc"; + case DKK: return "Danish krone"; + case DOP: return "Dominican peso"; + case DZD: return "Algerian dinar"; + case EGP: return "Egyptian pound"; + case ERN: return "Eritrean nakfa"; + case ETB: return "Ethiopian birr"; + case EUR: return "Euro"; + case FJD: return "Fiji dollar"; + case FKP: return "Falkland Islands pound"; + case GBP: return "Pound sterling"; + case GEL: return "Georgian lari"; + case GGP: return "Guernsey Pound"; + case GHS: return "Ghanaian cedi"; + case GIP: return "Gibraltar pound"; + case GMD: return "Gambian dalasi"; + case GNF: return "Guinean franc"; + case GTQ: return "Guatemalan quetzal"; + case GYD: return "Guyanese dollar"; + case HKD: return "Hong Kong dollar"; + case HNL: return "Honduran lempira"; + case HRK: return "Croatian kuna"; + case HTG: return "Haitian gourde"; + case HUF: return "Hungarian forint"; + case IDR: return "Indonesian rupiah"; + case ILS: return "Israeli new shekel"; + case IMP: return "Isle of Man Pound"; + case INR: return "Indian rupee"; + case IQD: return "Iraqi dinar"; + case IRR: return "Iranian rial"; + case ISK: return "Icelandic króna"; + case JEP: return "Jersey Pound"; + case JMD: return "Jamaican dollar"; + case JOD: return "Jordanian dinar"; + case JPY: return "Japanese yen"; + case KES: return "Kenyan shilling"; + case KGS: return "Kyrgyzstani som"; + case KHR: return "Cambodian riel"; + case KMF: return "Comoro franc"; + case KPW: return "North Korean won"; + case KRW: return "South Korean won"; + case KWD: return "Kuwaiti dinar"; + case KYD: return "Cayman Islands dollar"; + case KZT: return "Kazakhstani tenge"; + case LAK: return "Lao kip"; + case LBP: return "Lebanese pound"; + case LKR: return "Sri Lankan rupee"; + case LRD: return "Liberian dollar"; + case LSL: return "Lesotho loti"; + case LYD: return "Libyan dinar"; + case MAD: return "Moroccan dirham"; + case MDL: return "Moldovan leu"; + case MGA: return "Malagasy ariary"; + case MKD: return "Macedonian denar"; + case MMK: return "Myanmar kyat"; + case MNT: return "Mongolian tögrög"; + case MOP: return "Macanese pataca"; + case MRU: return "Mauritanian ouguiya"; + case MUR: return "Mauritian rupee"; + case MVR: return "Maldivian rufiyaa"; + case MWK: return "Malawian kwacha"; + case MXN: return "Mexican peso"; + case MXV: return "Mexican Unidad de Inversion (UDI) (funds code)"; + case MYR: return "Malaysian ringgit"; + case MZN: return "Mozambican metical"; + case NAD: return "Namibian dollar"; + case NGN: return "Nigerian naira"; + case NIO: return "Nicaraguan córdoba"; + case NOK: return "Norwegian krone"; + case NPR: return "Nepalese rupee"; + case NZD: return "New Zealand dollar"; + case OMR: return "Omani rial"; + case PAB: return "Panamanian balboa"; + case PEN: return "Peruvian Sol"; + case PGK: return "Papua New Guinean kina"; + case PHP: return "Philippine piso[13]"; + case PKR: return "Pakistani rupee"; + case PLN: return "Polish złoty"; + case PYG: return "Paraguayan guaraní"; + case QAR: return "Qatari riyal"; + case RON: return "Romanian leu"; + case RSD: return "Serbian dinar"; + case RUB: return "Russian ruble"; + case RWF: return "Rwandan franc"; + case SAR: return "Saudi riyal"; + case SBD: return "Solomon Islands dollar"; + case SCR: return "Seychelles rupee"; + case SDG: return "Sudanese pound"; + case SEK: return "Swedish krona/kronor"; + case SGD: return "Singapore dollar"; + case SHP: return "Saint Helena pound"; + case SLL: return "Sierra Leonean leone"; + case SOS: return "Somali shilling"; + case SRD: return "Surinamese dollar"; + case SSP: return "South Sudanese pound"; + case STN: return "São Tomé and Príncipe dobra"; + case SVC: return "Salvadoran colón"; + case SYP: return "Syrian pound"; + case SZL: return "Swazi lilangeni"; + case THB: return "Thai baht"; + case TJS: return "Tajikistani somoni"; + case TMT: return "Turkmenistan manat"; + case TND: return "Tunisian dinar"; + case TOP: return "Tongan paʻanga"; + case TRY: return "Turkish lira"; + case TTD: return "Trinidad and Tobago dollar"; + case TVD: return "Tuvalu Dollar"; + case TWD: return "New Taiwan dollar"; + case TZS: return "Tanzanian shilling"; + case UAH: return "Ukrainian hryvnia"; + case UGX: return "Ugandan shilling"; + case USD: return "United States dollar"; + case USN: return "United States dollar (next day) (funds code)"; + case UYI: return "Uruguay Peso en Unidades Indexadas (URUIURUI) (funds code)"; + case UYU: return "Uruguayan peso"; + case UZS: return "Uzbekistan som"; + case VEF: return "Venezuelan bolívar"; + case VND: return "Vietnamese đồng"; + case VUV: return "Vanuatu vatu"; + case WST: return "Samoan tala"; + case XAF: return "CFA franc BEAC"; + case XAG: return "Silver (one troy ounce)"; + case XAU: return "Gold (one troy ounce)"; + case XBA: return "European Composite Unit (EURCO) (bond market unit)"; + case XBB: return "European Monetary Unit (E.M.U.-6) (bond market unit)"; + case XBC: return "European Unit of Account 9 (E.U.A.-9) (bond market unit)"; + case XBD: return "European Unit of Account 17 (E.U.A.-17) (bond market unit)"; + case XCD: return "East Caribbean dollar"; + case XDR: return "Special drawing rights"; + case XOF: return "CFA franc BCEAO"; + case XPD: return "Palladium (one troy ounce)"; + case XPF: return "CFP franc (franc Pacifique)"; + case XPT: return "Platinum (one troy ounce)"; + case XSU: return "SUCRE"; + case XTS: return "Code reserved for testing purposes"; + case XUA: return "ADB Unit of Account"; + case XXX: return "No currency"; + case YER: return "Yemeni rial"; + case ZAR: return "South African rand"; + case ZMW: return "Zambian kwacha"; + case ZWL: return "Zimbabwean dollar A/10"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class CurrenciesEnumFactory implements EnumFactory { + public Currencies fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("AED".equals(codeString)) + return Currencies.AED; + if ("AFN".equals(codeString)) + return Currencies.AFN; + if ("ALL".equals(codeString)) + return Currencies.ALL; + if ("AMD".equals(codeString)) + return Currencies.AMD; + if ("ANG".equals(codeString)) + return Currencies.ANG; + if ("AOA".equals(codeString)) + return Currencies.AOA; + if ("ARS".equals(codeString)) + return Currencies.ARS; + if ("AUD".equals(codeString)) + return Currencies.AUD; + if ("AWG".equals(codeString)) + return Currencies.AWG; + if ("AZN".equals(codeString)) + return Currencies.AZN; + if ("BAM".equals(codeString)) + return Currencies.BAM; + if ("BBD".equals(codeString)) + return Currencies.BBD; + if ("BDT".equals(codeString)) + return Currencies.BDT; + if ("BGN".equals(codeString)) + return Currencies.BGN; + if ("BHD".equals(codeString)) + return Currencies.BHD; + if ("BIF".equals(codeString)) + return Currencies.BIF; + if ("BMD".equals(codeString)) + return Currencies.BMD; + if ("BND".equals(codeString)) + return Currencies.BND; + if ("BOB".equals(codeString)) + return Currencies.BOB; + if ("BOV".equals(codeString)) + return Currencies.BOV; + if ("BRL".equals(codeString)) + return Currencies.BRL; + if ("BSD".equals(codeString)) + return Currencies.BSD; + if ("BTN".equals(codeString)) + return Currencies.BTN; + if ("BWP".equals(codeString)) + return Currencies.BWP; + if ("BYN".equals(codeString)) + return Currencies.BYN; + if ("BZD".equals(codeString)) + return Currencies.BZD; + if ("CAD".equals(codeString)) + return Currencies.CAD; + if ("CDF".equals(codeString)) + return Currencies.CDF; + if ("CHE".equals(codeString)) + return Currencies.CHE; + if ("CHF".equals(codeString)) + return Currencies.CHF; + if ("CHW".equals(codeString)) + return Currencies.CHW; + if ("CLF".equals(codeString)) + return Currencies.CLF; + if ("CLP".equals(codeString)) + return Currencies.CLP; + if ("CNY".equals(codeString)) + return Currencies.CNY; + if ("COP".equals(codeString)) + return Currencies.COP; + if ("COU".equals(codeString)) + return Currencies.COU; + if ("CRC".equals(codeString)) + return Currencies.CRC; + if ("CUC".equals(codeString)) + return Currencies.CUC; + if ("CUP".equals(codeString)) + return Currencies.CUP; + if ("CVE".equals(codeString)) + return Currencies.CVE; + if ("CZK".equals(codeString)) + return Currencies.CZK; + if ("DJF".equals(codeString)) + return Currencies.DJF; + if ("DKK".equals(codeString)) + return Currencies.DKK; + if ("DOP".equals(codeString)) + return Currencies.DOP; + if ("DZD".equals(codeString)) + return Currencies.DZD; + if ("EGP".equals(codeString)) + return Currencies.EGP; + if ("ERN".equals(codeString)) + return Currencies.ERN; + if ("ETB".equals(codeString)) + return Currencies.ETB; + if ("EUR".equals(codeString)) + return Currencies.EUR; + if ("FJD".equals(codeString)) + return Currencies.FJD; + if ("FKP".equals(codeString)) + return Currencies.FKP; + if ("GBP".equals(codeString)) + return Currencies.GBP; + if ("GEL".equals(codeString)) + return Currencies.GEL; + if ("GGP".equals(codeString)) + return Currencies.GGP; + if ("GHS".equals(codeString)) + return Currencies.GHS; + if ("GIP".equals(codeString)) + return Currencies.GIP; + if ("GMD".equals(codeString)) + return Currencies.GMD; + if ("GNF".equals(codeString)) + return Currencies.GNF; + if ("GTQ".equals(codeString)) + return Currencies.GTQ; + if ("GYD".equals(codeString)) + return Currencies.GYD; + if ("HKD".equals(codeString)) + return Currencies.HKD; + if ("HNL".equals(codeString)) + return Currencies.HNL; + if ("HRK".equals(codeString)) + return Currencies.HRK; + if ("HTG".equals(codeString)) + return Currencies.HTG; + if ("HUF".equals(codeString)) + return Currencies.HUF; + if ("IDR".equals(codeString)) + return Currencies.IDR; + if ("ILS".equals(codeString)) + return Currencies.ILS; + if ("IMP".equals(codeString)) + return Currencies.IMP; + if ("INR".equals(codeString)) + return Currencies.INR; + if ("IQD".equals(codeString)) + return Currencies.IQD; + if ("IRR".equals(codeString)) + return Currencies.IRR; + if ("ISK".equals(codeString)) + return Currencies.ISK; + if ("JEP".equals(codeString)) + return Currencies.JEP; + if ("JMD".equals(codeString)) + return Currencies.JMD; + if ("JOD".equals(codeString)) + return Currencies.JOD; + if ("JPY".equals(codeString)) + return Currencies.JPY; + if ("KES".equals(codeString)) + return Currencies.KES; + if ("KGS".equals(codeString)) + return Currencies.KGS; + if ("KHR".equals(codeString)) + return Currencies.KHR; + if ("KMF".equals(codeString)) + return Currencies.KMF; + if ("KPW".equals(codeString)) + return Currencies.KPW; + if ("KRW".equals(codeString)) + return Currencies.KRW; + if ("KWD".equals(codeString)) + return Currencies.KWD; + if ("KYD".equals(codeString)) + return Currencies.KYD; + if ("KZT".equals(codeString)) + return Currencies.KZT; + if ("LAK".equals(codeString)) + return Currencies.LAK; + if ("LBP".equals(codeString)) + return Currencies.LBP; + if ("LKR".equals(codeString)) + return Currencies.LKR; + if ("LRD".equals(codeString)) + return Currencies.LRD; + if ("LSL".equals(codeString)) + return Currencies.LSL; + if ("LYD".equals(codeString)) + return Currencies.LYD; + if ("MAD".equals(codeString)) + return Currencies.MAD; + if ("MDL".equals(codeString)) + return Currencies.MDL; + if ("MGA".equals(codeString)) + return Currencies.MGA; + if ("MKD".equals(codeString)) + return Currencies.MKD; + if ("MMK".equals(codeString)) + return Currencies.MMK; + if ("MNT".equals(codeString)) + return Currencies.MNT; + if ("MOP".equals(codeString)) + return Currencies.MOP; + if ("MRU".equals(codeString)) + return Currencies.MRU; + if ("MUR".equals(codeString)) + return Currencies.MUR; + if ("MVR".equals(codeString)) + return Currencies.MVR; + if ("MWK".equals(codeString)) + return Currencies.MWK; + if ("MXN".equals(codeString)) + return Currencies.MXN; + if ("MXV".equals(codeString)) + return Currencies.MXV; + if ("MYR".equals(codeString)) + return Currencies.MYR; + if ("MZN".equals(codeString)) + return Currencies.MZN; + if ("NAD".equals(codeString)) + return Currencies.NAD; + if ("NGN".equals(codeString)) + return Currencies.NGN; + if ("NIO".equals(codeString)) + return Currencies.NIO; + if ("NOK".equals(codeString)) + return Currencies.NOK; + if ("NPR".equals(codeString)) + return Currencies.NPR; + if ("NZD".equals(codeString)) + return Currencies.NZD; + if ("OMR".equals(codeString)) + return Currencies.OMR; + if ("PAB".equals(codeString)) + return Currencies.PAB; + if ("PEN".equals(codeString)) + return Currencies.PEN; + if ("PGK".equals(codeString)) + return Currencies.PGK; + if ("PHP".equals(codeString)) + return Currencies.PHP; + if ("PKR".equals(codeString)) + return Currencies.PKR; + if ("PLN".equals(codeString)) + return Currencies.PLN; + if ("PYG".equals(codeString)) + return Currencies.PYG; + if ("QAR".equals(codeString)) + return Currencies.QAR; + if ("RON".equals(codeString)) + return Currencies.RON; + if ("RSD".equals(codeString)) + return Currencies.RSD; + if ("RUB".equals(codeString)) + return Currencies.RUB; + if ("RWF".equals(codeString)) + return Currencies.RWF; + if ("SAR".equals(codeString)) + return Currencies.SAR; + if ("SBD".equals(codeString)) + return Currencies.SBD; + if ("SCR".equals(codeString)) + return Currencies.SCR; + if ("SDG".equals(codeString)) + return Currencies.SDG; + if ("SEK".equals(codeString)) + return Currencies.SEK; + if ("SGD".equals(codeString)) + return Currencies.SGD; + if ("SHP".equals(codeString)) + return Currencies.SHP; + if ("SLL".equals(codeString)) + return Currencies.SLL; + if ("SOS".equals(codeString)) + return Currencies.SOS; + if ("SRD".equals(codeString)) + return Currencies.SRD; + if ("SSP".equals(codeString)) + return Currencies.SSP; + if ("STN".equals(codeString)) + return Currencies.STN; + if ("SVC".equals(codeString)) + return Currencies.SVC; + if ("SYP".equals(codeString)) + return Currencies.SYP; + if ("SZL".equals(codeString)) + return Currencies.SZL; + if ("THB".equals(codeString)) + return Currencies.THB; + if ("TJS".equals(codeString)) + return Currencies.TJS; + if ("TMT".equals(codeString)) + return Currencies.TMT; + if ("TND".equals(codeString)) + return Currencies.TND; + if ("TOP".equals(codeString)) + return Currencies.TOP; + if ("TRY".equals(codeString)) + return Currencies.TRY; + if ("TTD".equals(codeString)) + return Currencies.TTD; + if ("TVD".equals(codeString)) + return Currencies.TVD; + if ("TWD".equals(codeString)) + return Currencies.TWD; + if ("TZS".equals(codeString)) + return Currencies.TZS; + if ("UAH".equals(codeString)) + return Currencies.UAH; + if ("UGX".equals(codeString)) + return Currencies.UGX; + if ("USD".equals(codeString)) + return Currencies.USD; + if ("USN".equals(codeString)) + return Currencies.USN; + if ("UYI".equals(codeString)) + return Currencies.UYI; + if ("UYU".equals(codeString)) + return Currencies.UYU; + if ("UZS".equals(codeString)) + return Currencies.UZS; + if ("VEF".equals(codeString)) + return Currencies.VEF; + if ("VND".equals(codeString)) + return Currencies.VND; + if ("VUV".equals(codeString)) + return Currencies.VUV; + if ("WST".equals(codeString)) + return Currencies.WST; + if ("XAF".equals(codeString)) + return Currencies.XAF; + if ("XAG".equals(codeString)) + return Currencies.XAG; + if ("XAU".equals(codeString)) + return Currencies.XAU; + if ("XBA".equals(codeString)) + return Currencies.XBA; + if ("XBB".equals(codeString)) + return Currencies.XBB; + if ("XBC".equals(codeString)) + return Currencies.XBC; + if ("XBD".equals(codeString)) + return Currencies.XBD; + if ("XCD".equals(codeString)) + return Currencies.XCD; + if ("XDR".equals(codeString)) + return Currencies.XDR; + if ("XOF".equals(codeString)) + return Currencies.XOF; + if ("XPD".equals(codeString)) + return Currencies.XPD; + if ("XPF".equals(codeString)) + return Currencies.XPF; + if ("XPT".equals(codeString)) + return Currencies.XPT; + if ("XSU".equals(codeString)) + return Currencies.XSU; + if ("XTS".equals(codeString)) + return Currencies.XTS; + if ("XUA".equals(codeString)) + return Currencies.XUA; + if ("XXX".equals(codeString)) + return Currencies.XXX; + if ("YER".equals(codeString)) + return Currencies.YER; + if ("ZAR".equals(codeString)) + return Currencies.ZAR; + if ("ZMW".equals(codeString)) + return Currencies.ZMW; + if ("ZWL".equals(codeString)) + return Currencies.ZWL; + throw new IllegalArgumentException("Unknown Currencies code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("AED".equals(codeString)) + return new Enumeration(this, Currencies.AED); + if ("AFN".equals(codeString)) + return new Enumeration(this, Currencies.AFN); + if ("ALL".equals(codeString)) + return new Enumeration(this, Currencies.ALL); + if ("AMD".equals(codeString)) + return new Enumeration(this, Currencies.AMD); + if ("ANG".equals(codeString)) + return new Enumeration(this, Currencies.ANG); + if ("AOA".equals(codeString)) + return new Enumeration(this, Currencies.AOA); + if ("ARS".equals(codeString)) + return new Enumeration(this, Currencies.ARS); + if ("AUD".equals(codeString)) + return new Enumeration(this, Currencies.AUD); + if ("AWG".equals(codeString)) + return new Enumeration(this, Currencies.AWG); + if ("AZN".equals(codeString)) + return new Enumeration(this, Currencies.AZN); + if ("BAM".equals(codeString)) + return new Enumeration(this, Currencies.BAM); + if ("BBD".equals(codeString)) + return new Enumeration(this, Currencies.BBD); + if ("BDT".equals(codeString)) + return new Enumeration(this, Currencies.BDT); + if ("BGN".equals(codeString)) + return new Enumeration(this, Currencies.BGN); + if ("BHD".equals(codeString)) + return new Enumeration(this, Currencies.BHD); + if ("BIF".equals(codeString)) + return new Enumeration(this, Currencies.BIF); + if ("BMD".equals(codeString)) + return new Enumeration(this, Currencies.BMD); + if ("BND".equals(codeString)) + return new Enumeration(this, Currencies.BND); + if ("BOB".equals(codeString)) + return new Enumeration(this, Currencies.BOB); + if ("BOV".equals(codeString)) + return new Enumeration(this, Currencies.BOV); + if ("BRL".equals(codeString)) + return new Enumeration(this, Currencies.BRL); + if ("BSD".equals(codeString)) + return new Enumeration(this, Currencies.BSD); + if ("BTN".equals(codeString)) + return new Enumeration(this, Currencies.BTN); + if ("BWP".equals(codeString)) + return new Enumeration(this, Currencies.BWP); + if ("BYN".equals(codeString)) + return new Enumeration(this, Currencies.BYN); + if ("BZD".equals(codeString)) + return new Enumeration(this, Currencies.BZD); + if ("CAD".equals(codeString)) + return new Enumeration(this, Currencies.CAD); + if ("CDF".equals(codeString)) + return new Enumeration(this, Currencies.CDF); + if ("CHE".equals(codeString)) + return new Enumeration(this, Currencies.CHE); + if ("CHF".equals(codeString)) + return new Enumeration(this, Currencies.CHF); + if ("CHW".equals(codeString)) + return new Enumeration(this, Currencies.CHW); + if ("CLF".equals(codeString)) + return new Enumeration(this, Currencies.CLF); + if ("CLP".equals(codeString)) + return new Enumeration(this, Currencies.CLP); + if ("CNY".equals(codeString)) + return new Enumeration(this, Currencies.CNY); + if ("COP".equals(codeString)) + return new Enumeration(this, Currencies.COP); + if ("COU".equals(codeString)) + return new Enumeration(this, Currencies.COU); + if ("CRC".equals(codeString)) + return new Enumeration(this, Currencies.CRC); + if ("CUC".equals(codeString)) + return new Enumeration(this, Currencies.CUC); + if ("CUP".equals(codeString)) + return new Enumeration(this, Currencies.CUP); + if ("CVE".equals(codeString)) + return new Enumeration(this, Currencies.CVE); + if ("CZK".equals(codeString)) + return new Enumeration(this, Currencies.CZK); + if ("DJF".equals(codeString)) + return new Enumeration(this, Currencies.DJF); + if ("DKK".equals(codeString)) + return new Enumeration(this, Currencies.DKK); + if ("DOP".equals(codeString)) + return new Enumeration(this, Currencies.DOP); + if ("DZD".equals(codeString)) + return new Enumeration(this, Currencies.DZD); + if ("EGP".equals(codeString)) + return new Enumeration(this, Currencies.EGP); + if ("ERN".equals(codeString)) + return new Enumeration(this, Currencies.ERN); + if ("ETB".equals(codeString)) + return new Enumeration(this, Currencies.ETB); + if ("EUR".equals(codeString)) + return new Enumeration(this, Currencies.EUR); + if ("FJD".equals(codeString)) + return new Enumeration(this, Currencies.FJD); + if ("FKP".equals(codeString)) + return new Enumeration(this, Currencies.FKP); + if ("GBP".equals(codeString)) + return new Enumeration(this, Currencies.GBP); + if ("GEL".equals(codeString)) + return new Enumeration(this, Currencies.GEL); + if ("GGP".equals(codeString)) + return new Enumeration(this, Currencies.GGP); + if ("GHS".equals(codeString)) + return new Enumeration(this, Currencies.GHS); + if ("GIP".equals(codeString)) + return new Enumeration(this, Currencies.GIP); + if ("GMD".equals(codeString)) + return new Enumeration(this, Currencies.GMD); + if ("GNF".equals(codeString)) + return new Enumeration(this, Currencies.GNF); + if ("GTQ".equals(codeString)) + return new Enumeration(this, Currencies.GTQ); + if ("GYD".equals(codeString)) + return new Enumeration(this, Currencies.GYD); + if ("HKD".equals(codeString)) + return new Enumeration(this, Currencies.HKD); + if ("HNL".equals(codeString)) + return new Enumeration(this, Currencies.HNL); + if ("HRK".equals(codeString)) + return new Enumeration(this, Currencies.HRK); + if ("HTG".equals(codeString)) + return new Enumeration(this, Currencies.HTG); + if ("HUF".equals(codeString)) + return new Enumeration(this, Currencies.HUF); + if ("IDR".equals(codeString)) + return new Enumeration(this, Currencies.IDR); + if ("ILS".equals(codeString)) + return new Enumeration(this, Currencies.ILS); + if ("IMP".equals(codeString)) + return new Enumeration(this, Currencies.IMP); + if ("INR".equals(codeString)) + return new Enumeration(this, Currencies.INR); + if ("IQD".equals(codeString)) + return new Enumeration(this, Currencies.IQD); + if ("IRR".equals(codeString)) + return new Enumeration(this, Currencies.IRR); + if ("ISK".equals(codeString)) + return new Enumeration(this, Currencies.ISK); + if ("JEP".equals(codeString)) + return new Enumeration(this, Currencies.JEP); + if ("JMD".equals(codeString)) + return new Enumeration(this, Currencies.JMD); + if ("JOD".equals(codeString)) + return new Enumeration(this, Currencies.JOD); + if ("JPY".equals(codeString)) + return new Enumeration(this, Currencies.JPY); + if ("KES".equals(codeString)) + return new Enumeration(this, Currencies.KES); + if ("KGS".equals(codeString)) + return new Enumeration(this, Currencies.KGS); + if ("KHR".equals(codeString)) + return new Enumeration(this, Currencies.KHR); + if ("KMF".equals(codeString)) + return new Enumeration(this, Currencies.KMF); + if ("KPW".equals(codeString)) + return new Enumeration(this, Currencies.KPW); + if ("KRW".equals(codeString)) + return new Enumeration(this, Currencies.KRW); + if ("KWD".equals(codeString)) + return new Enumeration(this, Currencies.KWD); + if ("KYD".equals(codeString)) + return new Enumeration(this, Currencies.KYD); + if ("KZT".equals(codeString)) + return new Enumeration(this, Currencies.KZT); + if ("LAK".equals(codeString)) + return new Enumeration(this, Currencies.LAK); + if ("LBP".equals(codeString)) + return new Enumeration(this, Currencies.LBP); + if ("LKR".equals(codeString)) + return new Enumeration(this, Currencies.LKR); + if ("LRD".equals(codeString)) + return new Enumeration(this, Currencies.LRD); + if ("LSL".equals(codeString)) + return new Enumeration(this, Currencies.LSL); + if ("LYD".equals(codeString)) + return new Enumeration(this, Currencies.LYD); + if ("MAD".equals(codeString)) + return new Enumeration(this, Currencies.MAD); + if ("MDL".equals(codeString)) + return new Enumeration(this, Currencies.MDL); + if ("MGA".equals(codeString)) + return new Enumeration(this, Currencies.MGA); + if ("MKD".equals(codeString)) + return new Enumeration(this, Currencies.MKD); + if ("MMK".equals(codeString)) + return new Enumeration(this, Currencies.MMK); + if ("MNT".equals(codeString)) + return new Enumeration(this, Currencies.MNT); + if ("MOP".equals(codeString)) + return new Enumeration(this, Currencies.MOP); + if ("MRU".equals(codeString)) + return new Enumeration(this, Currencies.MRU); + if ("MUR".equals(codeString)) + return new Enumeration(this, Currencies.MUR); + if ("MVR".equals(codeString)) + return new Enumeration(this, Currencies.MVR); + if ("MWK".equals(codeString)) + return new Enumeration(this, Currencies.MWK); + if ("MXN".equals(codeString)) + return new Enumeration(this, Currencies.MXN); + if ("MXV".equals(codeString)) + return new Enumeration(this, Currencies.MXV); + if ("MYR".equals(codeString)) + return new Enumeration(this, Currencies.MYR); + if ("MZN".equals(codeString)) + return new Enumeration(this, Currencies.MZN); + if ("NAD".equals(codeString)) + return new Enumeration(this, Currencies.NAD); + if ("NGN".equals(codeString)) + return new Enumeration(this, Currencies.NGN); + if ("NIO".equals(codeString)) + return new Enumeration(this, Currencies.NIO); + if ("NOK".equals(codeString)) + return new Enumeration(this, Currencies.NOK); + if ("NPR".equals(codeString)) + return new Enumeration(this, Currencies.NPR); + if ("NZD".equals(codeString)) + return new Enumeration(this, Currencies.NZD); + if ("OMR".equals(codeString)) + return new Enumeration(this, Currencies.OMR); + if ("PAB".equals(codeString)) + return new Enumeration(this, Currencies.PAB); + if ("PEN".equals(codeString)) + return new Enumeration(this, Currencies.PEN); + if ("PGK".equals(codeString)) + return new Enumeration(this, Currencies.PGK); + if ("PHP".equals(codeString)) + return new Enumeration(this, Currencies.PHP); + if ("PKR".equals(codeString)) + return new Enumeration(this, Currencies.PKR); + if ("PLN".equals(codeString)) + return new Enumeration(this, Currencies.PLN); + if ("PYG".equals(codeString)) + return new Enumeration(this, Currencies.PYG); + if ("QAR".equals(codeString)) + return new Enumeration(this, Currencies.QAR); + if ("RON".equals(codeString)) + return new Enumeration(this, Currencies.RON); + if ("RSD".equals(codeString)) + return new Enumeration(this, Currencies.RSD); + if ("RUB".equals(codeString)) + return new Enumeration(this, Currencies.RUB); + if ("RWF".equals(codeString)) + return new Enumeration(this, Currencies.RWF); + if ("SAR".equals(codeString)) + return new Enumeration(this, Currencies.SAR); + if ("SBD".equals(codeString)) + return new Enumeration(this, Currencies.SBD); + if ("SCR".equals(codeString)) + return new Enumeration(this, Currencies.SCR); + if ("SDG".equals(codeString)) + return new Enumeration(this, Currencies.SDG); + if ("SEK".equals(codeString)) + return new Enumeration(this, Currencies.SEK); + if ("SGD".equals(codeString)) + return new Enumeration(this, Currencies.SGD); + if ("SHP".equals(codeString)) + return new Enumeration(this, Currencies.SHP); + if ("SLL".equals(codeString)) + return new Enumeration(this, Currencies.SLL); + if ("SOS".equals(codeString)) + return new Enumeration(this, Currencies.SOS); + if ("SRD".equals(codeString)) + return new Enumeration(this, Currencies.SRD); + if ("SSP".equals(codeString)) + return new Enumeration(this, Currencies.SSP); + if ("STN".equals(codeString)) + return new Enumeration(this, Currencies.STN); + if ("SVC".equals(codeString)) + return new Enumeration(this, Currencies.SVC); + if ("SYP".equals(codeString)) + return new Enumeration(this, Currencies.SYP); + if ("SZL".equals(codeString)) + return new Enumeration(this, Currencies.SZL); + if ("THB".equals(codeString)) + return new Enumeration(this, Currencies.THB); + if ("TJS".equals(codeString)) + return new Enumeration(this, Currencies.TJS); + if ("TMT".equals(codeString)) + return new Enumeration(this, Currencies.TMT); + if ("TND".equals(codeString)) + return new Enumeration(this, Currencies.TND); + if ("TOP".equals(codeString)) + return new Enumeration(this, Currencies.TOP); + if ("TRY".equals(codeString)) + return new Enumeration(this, Currencies.TRY); + if ("TTD".equals(codeString)) + return new Enumeration(this, Currencies.TTD); + if ("TVD".equals(codeString)) + return new Enumeration(this, Currencies.TVD); + if ("TWD".equals(codeString)) + return new Enumeration(this, Currencies.TWD); + if ("TZS".equals(codeString)) + return new Enumeration(this, Currencies.TZS); + if ("UAH".equals(codeString)) + return new Enumeration(this, Currencies.UAH); + if ("UGX".equals(codeString)) + return new Enumeration(this, Currencies.UGX); + if ("USD".equals(codeString)) + return new Enumeration(this, Currencies.USD); + if ("USN".equals(codeString)) + return new Enumeration(this, Currencies.USN); + if ("UYI".equals(codeString)) + return new Enumeration(this, Currencies.UYI); + if ("UYU".equals(codeString)) + return new Enumeration(this, Currencies.UYU); + if ("UZS".equals(codeString)) + return new Enumeration(this, Currencies.UZS); + if ("VEF".equals(codeString)) + return new Enumeration(this, Currencies.VEF); + if ("VND".equals(codeString)) + return new Enumeration(this, Currencies.VND); + if ("VUV".equals(codeString)) + return new Enumeration(this, Currencies.VUV); + if ("WST".equals(codeString)) + return new Enumeration(this, Currencies.WST); + if ("XAF".equals(codeString)) + return new Enumeration(this, Currencies.XAF); + if ("XAG".equals(codeString)) + return new Enumeration(this, Currencies.XAG); + if ("XAU".equals(codeString)) + return new Enumeration(this, Currencies.XAU); + if ("XBA".equals(codeString)) + return new Enumeration(this, Currencies.XBA); + if ("XBB".equals(codeString)) + return new Enumeration(this, Currencies.XBB); + if ("XBC".equals(codeString)) + return new Enumeration(this, Currencies.XBC); + if ("XBD".equals(codeString)) + return new Enumeration(this, Currencies.XBD); + if ("XCD".equals(codeString)) + return new Enumeration(this, Currencies.XCD); + if ("XDR".equals(codeString)) + return new Enumeration(this, Currencies.XDR); + if ("XOF".equals(codeString)) + return new Enumeration(this, Currencies.XOF); + if ("XPD".equals(codeString)) + return new Enumeration(this, Currencies.XPD); + if ("XPF".equals(codeString)) + return new Enumeration(this, Currencies.XPF); + if ("XPT".equals(codeString)) + return new Enumeration(this, Currencies.XPT); + if ("XSU".equals(codeString)) + return new Enumeration(this, Currencies.XSU); + if ("XTS".equals(codeString)) + return new Enumeration(this, Currencies.XTS); + if ("XUA".equals(codeString)) + return new Enumeration(this, Currencies.XUA); + if ("XXX".equals(codeString)) + return new Enumeration(this, Currencies.XXX); + if ("YER".equals(codeString)) + return new Enumeration(this, Currencies.YER); + if ("ZAR".equals(codeString)) + return new Enumeration(this, Currencies.ZAR); + if ("ZMW".equals(codeString)) + return new Enumeration(this, Currencies.ZMW); + if ("ZWL".equals(codeString)) + return new Enumeration(this, Currencies.ZWL); + throw new FHIRException("Unknown Currencies code '"+codeString+"'"); + } + public String toCode(Currencies code) { + if (code == Currencies.AED) + return "AED"; + if (code == Currencies.AFN) + return "AFN"; + if (code == Currencies.ALL) + return "ALL"; + if (code == Currencies.AMD) + return "AMD"; + if (code == Currencies.ANG) + return "ANG"; + if (code == Currencies.AOA) + return "AOA"; + if (code == Currencies.ARS) + return "ARS"; + if (code == Currencies.AUD) + return "AUD"; + if (code == Currencies.AWG) + return "AWG"; + if (code == Currencies.AZN) + return "AZN"; + if (code == Currencies.BAM) + return "BAM"; + if (code == Currencies.BBD) + return "BBD"; + if (code == Currencies.BDT) + return "BDT"; + if (code == Currencies.BGN) + return "BGN"; + if (code == Currencies.BHD) + return "BHD"; + if (code == Currencies.BIF) + return "BIF"; + if (code == Currencies.BMD) + return "BMD"; + if (code == Currencies.BND) + return "BND"; + if (code == Currencies.BOB) + return "BOB"; + if (code == Currencies.BOV) + return "BOV"; + if (code == Currencies.BRL) + return "BRL"; + if (code == Currencies.BSD) + return "BSD"; + if (code == Currencies.BTN) + return "BTN"; + if (code == Currencies.BWP) + return "BWP"; + if (code == Currencies.BYN) + return "BYN"; + if (code == Currencies.BZD) + return "BZD"; + if (code == Currencies.CAD) + return "CAD"; + if (code == Currencies.CDF) + return "CDF"; + if (code == Currencies.CHE) + return "CHE"; + if (code == Currencies.CHF) + return "CHF"; + if (code == Currencies.CHW) + return "CHW"; + if (code == Currencies.CLF) + return "CLF"; + if (code == Currencies.CLP) + return "CLP"; + if (code == Currencies.CNY) + return "CNY"; + if (code == Currencies.COP) + return "COP"; + if (code == Currencies.COU) + return "COU"; + if (code == Currencies.CRC) + return "CRC"; + if (code == Currencies.CUC) + return "CUC"; + if (code == Currencies.CUP) + return "CUP"; + if (code == Currencies.CVE) + return "CVE"; + if (code == Currencies.CZK) + return "CZK"; + if (code == Currencies.DJF) + return "DJF"; + if (code == Currencies.DKK) + return "DKK"; + if (code == Currencies.DOP) + return "DOP"; + if (code == Currencies.DZD) + return "DZD"; + if (code == Currencies.EGP) + return "EGP"; + if (code == Currencies.ERN) + return "ERN"; + if (code == Currencies.ETB) + return "ETB"; + if (code == Currencies.EUR) + return "EUR"; + if (code == Currencies.FJD) + return "FJD"; + if (code == Currencies.FKP) + return "FKP"; + if (code == Currencies.GBP) + return "GBP"; + if (code == Currencies.GEL) + return "GEL"; + if (code == Currencies.GGP) + return "GGP"; + if (code == Currencies.GHS) + return "GHS"; + if (code == Currencies.GIP) + return "GIP"; + if (code == Currencies.GMD) + return "GMD"; + if (code == Currencies.GNF) + return "GNF"; + if (code == Currencies.GTQ) + return "GTQ"; + if (code == Currencies.GYD) + return "GYD"; + if (code == Currencies.HKD) + return "HKD"; + if (code == Currencies.HNL) + return "HNL"; + if (code == Currencies.HRK) + return "HRK"; + if (code == Currencies.HTG) + return "HTG"; + if (code == Currencies.HUF) + return "HUF"; + if (code == Currencies.IDR) + return "IDR"; + if (code == Currencies.ILS) + return "ILS"; + if (code == Currencies.IMP) + return "IMP"; + if (code == Currencies.INR) + return "INR"; + if (code == Currencies.IQD) + return "IQD"; + if (code == Currencies.IRR) + return "IRR"; + if (code == Currencies.ISK) + return "ISK"; + if (code == Currencies.JEP) + return "JEP"; + if (code == Currencies.JMD) + return "JMD"; + if (code == Currencies.JOD) + return "JOD"; + if (code == Currencies.JPY) + return "JPY"; + if (code == Currencies.KES) + return "KES"; + if (code == Currencies.KGS) + return "KGS"; + if (code == Currencies.KHR) + return "KHR"; + if (code == Currencies.KMF) + return "KMF"; + if (code == Currencies.KPW) + return "KPW"; + if (code == Currencies.KRW) + return "KRW"; + if (code == Currencies.KWD) + return "KWD"; + if (code == Currencies.KYD) + return "KYD"; + if (code == Currencies.KZT) + return "KZT"; + if (code == Currencies.LAK) + return "LAK"; + if (code == Currencies.LBP) + return "LBP"; + if (code == Currencies.LKR) + return "LKR"; + if (code == Currencies.LRD) + return "LRD"; + if (code == Currencies.LSL) + return "LSL"; + if (code == Currencies.LYD) + return "LYD"; + if (code == Currencies.MAD) + return "MAD"; + if (code == Currencies.MDL) + return "MDL"; + if (code == Currencies.MGA) + return "MGA"; + if (code == Currencies.MKD) + return "MKD"; + if (code == Currencies.MMK) + return "MMK"; + if (code == Currencies.MNT) + return "MNT"; + if (code == Currencies.MOP) + return "MOP"; + if (code == Currencies.MRU) + return "MRU"; + if (code == Currencies.MUR) + return "MUR"; + if (code == Currencies.MVR) + return "MVR"; + if (code == Currencies.MWK) + return "MWK"; + if (code == Currencies.MXN) + return "MXN"; + if (code == Currencies.MXV) + return "MXV"; + if (code == Currencies.MYR) + return "MYR"; + if (code == Currencies.MZN) + return "MZN"; + if (code == Currencies.NAD) + return "NAD"; + if (code == Currencies.NGN) + return "NGN"; + if (code == Currencies.NIO) + return "NIO"; + if (code == Currencies.NOK) + return "NOK"; + if (code == Currencies.NPR) + return "NPR"; + if (code == Currencies.NZD) + return "NZD"; + if (code == Currencies.OMR) + return "OMR"; + if (code == Currencies.PAB) + return "PAB"; + if (code == Currencies.PEN) + return "PEN"; + if (code == Currencies.PGK) + return "PGK"; + if (code == Currencies.PHP) + return "PHP"; + if (code == Currencies.PKR) + return "PKR"; + if (code == Currencies.PLN) + return "PLN"; + if (code == Currencies.PYG) + return "PYG"; + if (code == Currencies.QAR) + return "QAR"; + if (code == Currencies.RON) + return "RON"; + if (code == Currencies.RSD) + return "RSD"; + if (code == Currencies.RUB) + return "RUB"; + if (code == Currencies.RWF) + return "RWF"; + if (code == Currencies.SAR) + return "SAR"; + if (code == Currencies.SBD) + return "SBD"; + if (code == Currencies.SCR) + return "SCR"; + if (code == Currencies.SDG) + return "SDG"; + if (code == Currencies.SEK) + return "SEK"; + if (code == Currencies.SGD) + return "SGD"; + if (code == Currencies.SHP) + return "SHP"; + if (code == Currencies.SLL) + return "SLL"; + if (code == Currencies.SOS) + return "SOS"; + if (code == Currencies.SRD) + return "SRD"; + if (code == Currencies.SSP) + return "SSP"; + if (code == Currencies.STN) + return "STN"; + if (code == Currencies.SVC) + return "SVC"; + if (code == Currencies.SYP) + return "SYP"; + if (code == Currencies.SZL) + return "SZL"; + if (code == Currencies.THB) + return "THB"; + if (code == Currencies.TJS) + return "TJS"; + if (code == Currencies.TMT) + return "TMT"; + if (code == Currencies.TND) + return "TND"; + if (code == Currencies.TOP) + return "TOP"; + if (code == Currencies.TRY) + return "TRY"; + if (code == Currencies.TTD) + return "TTD"; + if (code == Currencies.TVD) + return "TVD"; + if (code == Currencies.TWD) + return "TWD"; + if (code == Currencies.TZS) + return "TZS"; + if (code == Currencies.UAH) + return "UAH"; + if (code == Currencies.UGX) + return "UGX"; + if (code == Currencies.USD) + return "USD"; + if (code == Currencies.USN) + return "USN"; + if (code == Currencies.UYI) + return "UYI"; + if (code == Currencies.UYU) + return "UYU"; + if (code == Currencies.UZS) + return "UZS"; + if (code == Currencies.VEF) + return "VEF"; + if (code == Currencies.VND) + return "VND"; + if (code == Currencies.VUV) + return "VUV"; + if (code == Currencies.WST) + return "WST"; + if (code == Currencies.XAF) + return "XAF"; + if (code == Currencies.XAG) + return "XAG"; + if (code == Currencies.XAU) + return "XAU"; + if (code == Currencies.XBA) + return "XBA"; + if (code == Currencies.XBB) + return "XBB"; + if (code == Currencies.XBC) + return "XBC"; + if (code == Currencies.XBD) + return "XBD"; + if (code == Currencies.XCD) + return "XCD"; + if (code == Currencies.XDR) + return "XDR"; + if (code == Currencies.XOF) + return "XOF"; + if (code == Currencies.XPD) + return "XPD"; + if (code == Currencies.XPF) + return "XPF"; + if (code == Currencies.XPT) + return "XPT"; + if (code == Currencies.XSU) + return "XSU"; + if (code == Currencies.XTS) + return "XTS"; + if (code == Currencies.XUA) + return "XUA"; + if (code == Currencies.XXX) + return "XXX"; + if (code == Currencies.YER) + return "YER"; + if (code == Currencies.ZAR) + return "ZAR"; + if (code == Currencies.ZMW) + return "ZMW"; + if (code == Currencies.ZWL) + return "ZWL"; + return "?"; + } + public String toSystem(Currencies code) { + return code.getSystem(); + } + } + public enum DaysOfWeek { /** * Monday. @@ -2792,285 +8672,383 @@ public class Enumerations { } } - public enum FHIRAllTypes { + public enum ExampleScenarioActorType { /** - * An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. + * A human actor */ - ADDRESS, + PERSON, /** - * A duration of time during which an organism (or a process) has existed. + * A software application or other system */ - AGE, + SYSTEM, /** - * A text note which also contains information about who made the statement and when. + * added to help the parsers */ - ANNOTATION, + NULL; + public static ExampleScenarioActorType fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("person".equals(codeString)) + return PERSON; + if ("system".equals(codeString)) + return SYSTEM; + throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case PERSON: return "person"; + case SYSTEM: return "system"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case PERSON: return "http://hl7.org/fhir/examplescenario-actor-type"; + case SYSTEM: return "http://hl7.org/fhir/examplescenario-actor-type"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case PERSON: return "A human actor"; + case SYSTEM: return "A software application or other system"; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case PERSON: return "Person"; + case SYSTEM: return "System"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class ExampleScenarioActorTypeEnumFactory implements EnumFactory { + public ExampleScenarioActorType fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("person".equals(codeString)) + return ExampleScenarioActorType.PERSON; + if ("system".equals(codeString)) + return ExampleScenarioActorType.SYSTEM; + throw new IllegalArgumentException("Unknown ExampleScenarioActorType code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("person".equals(codeString)) + return new Enumeration(this, ExampleScenarioActorType.PERSON); + if ("system".equals(codeString)) + return new Enumeration(this, ExampleScenarioActorType.SYSTEM); + throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'"); + } + public String toCode(ExampleScenarioActorType code) { + if (code == ExampleScenarioActorType.PERSON) + return "person"; + if (code == ExampleScenarioActorType.SYSTEM) + return "system"; + return "?"; + } + public String toSystem(ExampleScenarioActorType code) { + return code.getSystem(); + } + } + + public enum FHIRTypes { /** - * For referring to data content defined in other formats. - */ - ATTACHMENT, - /** - * Base definition for all elements that are defined inside a resource - but not those in a data type. - */ - BACKBONEELEMENT, - /** - * Base definition for the few data types that are allowed to carry modifier extensions. - */ - BACKBONETYPE, - /** - * Base definition for all types defined in FHIR type system. + * Base Type: Base definition for all types defined in FHIR type system. */ BASE, /** - * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. - */ - CODEABLECONCEPT, - /** - * A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class). - */ - CODEABLEREFERENCE, - /** - * A reference to a code defined by a terminology system. - */ - CODING, - /** - * Specifies contact information for a person or organization. - */ - CONTACTDETAIL, - /** - * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. - */ - CONTACTPOINT, - /** - * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. - */ - CONTRIBUTOR, - /** - * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. - */ - COUNT, - /** - * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. - */ - DATAREQUIREMENT, - /** - * The base class for all re-useable types defined as part of the FHIR Specification. - */ - DATATYPE, - /** - * A length - a value with a unit that is a physical distance. - */ - DISTANCE, - /** - * Indicates how the medication is/was taken or should be taken by the patient. - */ - DOSAGE, - /** - * A length of time. - */ - DURATION, - /** - * Base definition for all elements in a resource. + * Element Type: Base definition for all elements in a resource. */ ELEMENT, /** - * Captures constraints on each element within the resource, profile, or extension. + * BackboneElement Type: Base definition for all elements that are defined inside a resource - but not those in a data type. + */ + BACKBONEELEMENT, + /** + * DataType Type: The base class for all re-useable types defined as part of the FHIR Specification. + */ + DATATYPE, + /** + * Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. +The ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address. + */ + ADDRESS, + /** + * Annotation Type: A text note which also contains information about who made the statement and when. + */ + ANNOTATION, + /** + * Attachment Type: For referring to data content defined in other formats. + */ + ATTACHMENT, + /** + * Availability Type: Availability data for an {item}. + */ + AVAILABILITY, + /** + * BackboneType Type: Base definition for the few data types that are allowed to carry modifier extensions. + */ + BACKBONETYPE, + /** + * Dosage Type: Indicates how the medication is/was taken or should be taken by the patient. + */ + DOSAGE, + /** + * ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension. */ ELEMENTDEFINITION, /** - * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. - */ - EXPRESSION, - /** - * Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization. - */ - EXTENDEDCONTACTDETAIL, - /** - * Optional Extension Element - found in all resources. - */ - EXTENSION, - /** - * A human's name with the ability to identify parts and usage. - */ - HUMANNAME, - /** - * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. - */ - IDENTIFIER, - /** - * The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. + * MarketingStatus Type: The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. */ MARKETINGSTATUS, /** - * The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. - */ - META, - /** - * An amount of economic utility in some recognized currency. - */ - MONEY, - /** - * null - */ - MONEYQUANTITY, - /** - * A human-readable summary of the resource conveying the essential clinical and business information for the resource. - */ - NARRATIVE, - /** - * The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse. - */ - PARAMETERDEFINITION, - /** - * A time period defined by a start and end date and optionally time. - */ - PERIOD, - /** - * A populatioof people with some set of grouping criteria. + * Population Type: A populatioof people with some set of grouping criteria. */ POPULATION, /** - * The base type for all re-useable types defined that have a simple property. - */ - PRIMITIVETYPE, - /** - * The shelf-life and storage information for a medicinal product item or container can be described using this class. + * ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class. */ PRODUCTSHELFLIFE, /** - * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. - */ - QUANTITY, - /** - * A set of ordered Quantities defined by a low and high limit. - */ - RANGE, - /** - * A relationship of two Quantity values - expressed as a numerator and a denominator. - */ - RATIO, - /** - * A range of ratios expressed as a low and high numerator and a denominator. - */ - RATIORANGE, - /** - * A reference from one resource to another. - */ - REFERENCE, - /** - * Related artifacts such as additional documentation, justification, or bibliographic references. - */ - RELATEDARTIFACT, - /** - * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. - */ - SAMPLEDDATA, - /** - * A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities. - */ - SIGNATURE, - /** - * null - */ - SIMPLEQUANTITY, - /** - * Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out. + * Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out. */ TIMING, /** - * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. + * CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. */ - TRIGGERDEFINITION, + CODEABLECONCEPT, /** - * Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care). + * CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class). */ - USAGECONTEXT, + CODEABLEREFERENCE, /** - * A stream of bytes + * Coding Type: A reference to a code defined by a terminology system. + */ + CODING, + /** + * ContactDetail Type: Specifies contact information for a person or organization. + */ + CONTACTDETAIL, + /** + * ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. + */ + CONTACTPOINT, + /** + * Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. + */ + CONTRIBUTOR, + /** + * DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. + */ + DATAREQUIREMENT, + /** + * Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. + */ + EXPRESSION, + /** + * ExtendedContactDetail Type: Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization. + */ + EXTENDEDCONTACTDETAIL, + /** + * Extension Type: Optional Extension Element - found in all resources. + */ + EXTENSION, + /** + * HumanName Type: A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information. + */ + HUMANNAME, + /** + * Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. + */ + IDENTIFIER, + /** + * Meta Type: The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. + */ + META, + /** + * MonetaryComponent Type: Availability data for an {item}. + */ + MONETARYCOMPONENT, + /** + * Money Type: An amount of economic utility in some recognized currency. + */ + MONEY, + /** + * Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource. + */ + NARRATIVE, + /** + * ParameterDefinition Type: The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse. + */ + PARAMETERDEFINITION, + /** + * Period Type: A time period defined by a start and end date and optionally time. + */ + PERIOD, + /** + * PrimitiveType Type: The base type for all re-useable types defined that have a simple property. + */ + PRIMITIVETYPE, + /** + * base64Binary Type: A stream of bytes */ BASE64BINARY, /** - * Value of "true" or "false" + * boolean Type: Value of "true" or "false" */ BOOLEAN, /** - * A URI that is a reference to a canonical URL on a FHIR resource - */ - CANONICAL, - /** - * A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents - */ - CODE, - /** - * A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates. + * date Type: A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates. */ DATE, /** - * A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. + * dateTime Type: A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. */ DATETIME, /** - * A rational number with implicit precision + * decimal Type: A rational number with implicit precision */ DECIMAL, /** - * Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive. - */ - ID, - /** - * An instant in time - known at least to the second + * instant Type: An instant in time - known at least to the second */ INSTANT, /** - * A whole number + * integer Type: A whole number */ INTEGER, /** - * A very large whole number - */ - INTEGER64, - /** - * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine - */ - MARKDOWN, - /** - * An OID represented as a URI - */ - OID, - /** - * An integer with a value that is positive (e.g. >0) + * positiveInt type: An integer with a value that is positive (e.g. >0) */ POSITIVEINT, /** - * A sequence of Unicode characters - */ - STRING, - /** - * A time during the day, with no date specified - */ - TIME, - /** - * An integer with a value that is not negative (e.g. >= 0) + * unsignedInt type: An integer with a value that is not negative (e.g. >= 0) */ UNSIGNEDINT, /** - * String of characters used to identify a name or a resource + * integer64 Type: A very large whole number + */ + INTEGER64, + /** + * string Type: A sequence of Unicode characters + */ + STRING, + /** + * code type: A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents + */ + CODE, + /** + * id type: Any combination of letters, numerals, "-" and ".", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive. + */ + ID, + /** + * markdown type: A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine + */ + MARKDOWN, + /** + * time Type: A time during the day, with no date specified + */ + TIME, + /** + * uri Type: String of characters used to identify a name or a resource */ URI, /** - * A URI that is a literal reference + * canonical type: A URI that is a reference to a canonical URL on a FHIR resource + */ + CANONICAL, + /** + * oid type: An OID represented as a URI + */ + OID, + /** + * url type: A URI that is a literal reference */ URL, /** - * A UUID, represented as a URI + * uuid type: A UUID, represented as a URI */ UUID, /** - * XHTML format, as defined by W3C, but restricted usage (mainly, no active content) + * Quantity Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. + */ + QUANTITY, + /** + * Age Type: A duration of time during which an organism (or a process) has existed. + */ + AGE, + /** + * Count Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. + */ + COUNT, + /** + * Distance Type: A length - a value with a unit that is a physical distance. + */ + DISTANCE, + /** + * Duration Type: A length of time. + */ + DURATION, + /** + * Range Type: A set of ordered Quantities defined by a low and high limit. + */ + RANGE, + /** + * Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator. + */ + RATIO, + /** + * RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator. + */ + RATIORANGE, + /** + * Reference Type: A reference from one resource to another. + */ + REFERENCE, + /** + * RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references. + */ + RELATEDARTIFACT, + /** + * SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. + */ + SAMPLEDDATA, + /** + * Signature Type: A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities. + */ + SIGNATURE, + /** + * TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. + */ + TRIGGERDEFINITION, + /** + * UsageContext Type: Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care). + */ + USAGECONTEXT, + /** + * VirtualServiceDetail Type: Virtual Service Contact Details. + */ + VIRTUALSERVICEDETAIL, + /** + * xhtml Type definition */ XHTML, /** - * --- Abstract Type! ---This is the base resource type for everything. + * This is the base resource type for everything. */ RESOURCE, /** @@ -3082,19 +9060,27 @@ public class Enumerations { */ BUNDLE, /** - * --- Abstract Type! ---A resource that includes narrative, extensions, and contained resources. + * A resource that includes narrative, extensions, and contained resources. */ DOMAINRESOURCE, /** * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. */ ACCOUNT, + /** + * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. + */ + ACTIVITYDEFINITION, + /** + * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ + ACTORDEFINITION, /** * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed). */ ADMINISTRABLEPRODUCTDEFINITION, /** - * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. + * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints. */ ADVERSEEVENT, /** @@ -3130,133 +9116,13 @@ public class Enumerations { */ BODYSTRUCTURE, /** - * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. + * Common Interface declaration for conformance and knowledge artifact resources. */ CANONICALRESOURCE, /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. */ CAPABILITYSTATEMENT, - /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - CAPABILITYSTATEMENT2, - /** - * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. - */ - CODESYSTEM, - /** - * A compartment definition that defines how resources are accessed on a server. - */ - COMPARTMENTDEFINITION, - /** - * Example of workflow instance. - */ - EXAMPLESCENARIO, - /** - * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. - */ - GRAPHDEFINITION, - /** - * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. - */ - IMPLEMENTATIONGUIDE, - /** - * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. - */ - MESSAGEDEFINITION, - /** - * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. - */ - METADATARESOURCE, - /** - * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. - */ - ACTIVITYDEFINITION, - /** - * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. - */ - CHARGEITEMDEFINITION, - /** - * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. - */ - CITATION, - /** - * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. - */ - CONCEPTMAP, - /** - * A definition of a condition and information relevant to managing it. - */ - CONDITIONDEFINITION, - /** - * The EventDefinition resource provides a reusable description of when a particular event can occur. - */ - EVENTDEFINITION, - /** - * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. - */ - EVIDENCE, - /** - * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. - */ - EVIDENCEREPORT, - /** - * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. - */ - EVIDENCEVARIABLE, - /** - * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. - */ - LIBRARY, - /** - * The Measure resource provides the definition of a quality measure. - */ - MEASURE, - /** - * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. - */ - NAMINGSYSTEM, - /** - * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. - */ - PLANDEFINITION, - /** - * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. - */ - QUESTIONNAIRE, - /** - * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). - */ - OPERATIONDEFINITION, - /** - * A search parameter that defines a named search item that can be used to search/filter on a resource. - */ - SEARCHPARAMETER, - /** - * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. - */ - STRUCTUREDEFINITION, - /** - * A Map of relationships between 2 structures that can be used to transform data. - */ - STRUCTUREMAP, - /** - * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. - */ - SUBSCRIPTIONTOPIC, - /** - * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - TERMINOLOGYCAPABILITIES, - /** - * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. - */ - TESTSCRIPT, - /** - * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). - */ - VALUESET, /** * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. */ @@ -3269,6 +9135,14 @@ public class Enumerations { * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. */ CHARGEITEM, + /** + * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. + */ + CHARGEITEMDEFINITION, + /** + * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. + */ + CITATION, /** * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. */ @@ -3285,6 +9159,10 @@ public class Enumerations { * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. */ CLINICALUSEDEFINITION, + /** + * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. + */ + CODESYSTEM, /** * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition. */ @@ -3293,14 +9171,26 @@ public class Enumerations { * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. */ COMMUNICATIONREQUEST, + /** + * A compartment definition that defines how resources are accessed on a server. + */ + COMPARTMENTDEFINITION, /** * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). */ COMPOSITION, + /** + * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. + */ + CONCEPTMAP, /** * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. */ CONDITION, + /** + * A definition of a condition and information relevant to managing it. + */ + CONDITIONDEFINITION, /** * A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. */ @@ -3362,7 +9252,7 @@ public class Enumerations { */ DOCUMENTREFERENCE, /** - * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. + * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s). */ ENCOUNTER, /** @@ -3381,6 +9271,26 @@ public class Enumerations { * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. */ EPISODEOFCARE, + /** + * The EventDefinition resource provides a reusable description of when a particular event can occur. + */ + EVENTDEFINITION, + /** + * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. + */ + EVIDENCE, + /** + * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. + */ + EVIDENCEREPORT, + /** + * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. + */ + EVIDENCEVARIABLE, + /** + * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time. + */ + EXAMPLESCENARIO, /** * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. */ @@ -3397,10 +9307,18 @@ public class Enumerations { * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself. */ FORMULARYITEM, + /** + * A Genomic Study is a set of analysis performed to analyze and generate genomic data. + */ + GENOMICSTUDY, /** * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. */ GOAL, + /** + * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. + */ + GRAPHDEFINITION, /** * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. */ @@ -3410,7 +9328,7 @@ public class Enumerations { */ GUIDANCERESPONSE, /** - * The details of a healthcare service available at a location. + * The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices. */ HEALTHCARESERVICE, /** @@ -3433,6 +9351,10 @@ public class Enumerations { * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. */ IMMUNIZATIONRECOMMENDATION, + /** + * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. + */ + IMPLEMENTATIONGUIDE, /** * An ingredient of a manufactured item or pharmaceutical product. */ @@ -3449,12 +9371,16 @@ public class Enumerations { * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. */ INVOICE, + /** + * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. + */ + LIBRARY, /** * Identifies two or more records (resource instances) that refer to the same real-world "occurrence". */ LINKAGE, /** - * A list is a curated collection of resources. + * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc. */ LIST, /** @@ -3465,6 +9391,10 @@ public class Enumerations { * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. */ MANUFACTUREDITEMDEFINITION, + /** + * The Measure resource provides the definition of a quality measure. + */ + MEASURE, /** * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. */ @@ -3490,8 +9420,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, @@ -3499,14 +9429,26 @@ The primary difference between a medicationusage and a medicationadministration * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.). */ MEDICINALPRODUCTDEFINITION, + /** + * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. + */ + MESSAGEDEFINITION, /** * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. */ MESSAGEHEADER, + /** + * Common Interface declaration for conformance and knowledge artifact resources. + */ + METADATARESOURCE, /** * Representation of a molecular sequence. */ MOLECULARSEQUENCE, + /** + * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. + */ + NAMINGSYSTEM, /** * A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake. */ @@ -3527,6 +9469,10 @@ The primary difference between a medicationusage and a medicationadministration * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. */ OBSERVATIONDEFINITION, + /** + * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). + */ + OPERATIONDEFINITION, /** * A collection of error, warning, or information messages that result from a system action. */ @@ -3556,7 +9502,7 @@ The primary difference between a medicationusage and a medicationadministration */ PAYMENTRECONCILIATION, /** - * Permission. + * Permission resource holds access rules for a given data and context. */ PERMISSION, /** @@ -3564,11 +9510,15 @@ The primary difference between a medicationusage and a medicationadministration */ PERSON, /** - * A person who is directly or indirectly involved in the provisioning of healthcare. + * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. + */ + PLANDEFINITION, + /** + * A person who is directly or indirectly involved in the provisioning of healthcare or related services. */ PRACTITIONER, /** - * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. + * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time. */ PRACTITIONERROLE, /** @@ -3579,6 +9529,10 @@ The primary difference between a medicationusage and a medicationadministration * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. */ PROVENANCE, + /** + * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. + */ + QUESTIONNAIRE, /** * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. */ @@ -3592,11 +9546,15 @@ The primary difference between a medicationusage and a medicationadministration */ RELATEDPERSON, /** - * A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". + * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". */ - REQUESTGROUP, + REQUESTORCHESTRATION, /** - * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. + * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ + REQUIREMENTS, + /** + * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future. */ RESEARCHSTUDY, /** @@ -3611,6 +9569,10 @@ The primary difference between a medicationusage and a medicationadministration * A container for slots of time that may be available for booking appointments. */ SCHEDULE, + /** + * A search parameter that defines a named search item that can be used to search/filter on a resource. + */ + SEARCHPARAMETER, /** * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. */ @@ -3627,14 +9589,26 @@ The primary difference between a medicationusage and a medicationadministration * A kind of specimen with associated set of requirements. */ SPECIMENDEFINITION, + /** + * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. + */ + STRUCTUREDEFINITION, + /** + * A Map of relationships between 2 structures that can be used to transform data. + */ + STRUCTUREMAP, /** * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic. */ SUBSCRIPTION, /** - * The SubscriptionStatus resource describes the state of a Subscription during notifications. + * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted. */ SUBSCRIPTIONSTATUS, + /** + * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. + */ + SUBSCRIPTIONTOPIC, /** * A homogeneous material with a definite composition. */ @@ -3675,14 +9649,26 @@ The primary difference between a medicationusage and a medicationadministration * A task to be performed. */ TASK, + /** + * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + */ + TERMINOLOGYCAPABILITIES, /** * A summary of information based on the results of executing a TestScript. */ TESTREPORT, + /** + * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. + */ + TESTSCRIPT, /** * Record of transport. */ TRANSPORT, + /** + * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). + */ + VALUESET, /** * Describes validation requirements, source(s), status and dates for one or more elements. */ @@ -3692,38 +9678,46 @@ The primary difference between a medicationusage and a medicationadministration */ VISIONPRESCRIPTION, /** - * This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it. + * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource. */ PARAMETERS, - /** - * A place holder that means any kind of data type - */ - TYPE, - /** - * A place holder that means any kind of resource - */ - ANY, /** * added to help the parsers */ NULL; - public static FHIRAllTypes fromCode(String codeString) throws FHIRException { + public static FHIRTypes fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; + if ("Base".equals(codeString)) + return BASE; + if ("Element".equals(codeString)) + return ELEMENT; + if ("BackboneElement".equals(codeString)) + return BACKBONEELEMENT; + if ("DataType".equals(codeString)) + return DATATYPE; if ("Address".equals(codeString)) return ADDRESS; - if ("Age".equals(codeString)) - return AGE; if ("Annotation".equals(codeString)) return ANNOTATION; if ("Attachment".equals(codeString)) return ATTACHMENT; - if ("BackboneElement".equals(codeString)) - return BACKBONEELEMENT; + if ("Availability".equals(codeString)) + return AVAILABILITY; if ("BackboneType".equals(codeString)) return BACKBONETYPE; - if ("Base".equals(codeString)) - return BASE; + if ("Dosage".equals(codeString)) + return DOSAGE; + if ("ElementDefinition".equals(codeString)) + return ELEMENTDEFINITION; + if ("MarketingStatus".equals(codeString)) + return MARKETINGSTATUS; + if ("Population".equals(codeString)) + return POPULATION; + if ("ProductShelfLife".equals(codeString)) + return PRODUCTSHELFLIFE; + if ("Timing".equals(codeString)) + return TIMING; if ("CodeableConcept".equals(codeString)) return CODEABLECONCEPT; if ("CodeableReference".equals(codeString)) @@ -3736,22 +9730,8 @@ The primary difference between a medicationusage and a medicationadministration return CONTACTPOINT; if ("Contributor".equals(codeString)) return CONTRIBUTOR; - if ("Count".equals(codeString)) - return COUNT; if ("DataRequirement".equals(codeString)) return DATAREQUIREMENT; - if ("DataType".equals(codeString)) - return DATATYPE; - if ("Distance".equals(codeString)) - return DISTANCE; - if ("Dosage".equals(codeString)) - return DOSAGE; - if ("Duration".equals(codeString)) - return DURATION; - if ("Element".equals(codeString)) - return ELEMENT; - if ("ElementDefinition".equals(codeString)) - return ELEMENTDEFINITION; if ("Expression".equals(codeString)) return EXPRESSION; if ("ExtendedContactDetail".equals(codeString)) @@ -3762,28 +9742,70 @@ The primary difference between a medicationusage and a medicationadministration return HUMANNAME; if ("Identifier".equals(codeString)) return IDENTIFIER; - if ("MarketingStatus".equals(codeString)) - return MARKETINGSTATUS; if ("Meta".equals(codeString)) return META; + if ("MonetaryComponent".equals(codeString)) + return MONETARYCOMPONENT; if ("Money".equals(codeString)) return MONEY; - if ("MoneyQuantity".equals(codeString)) - return MONEYQUANTITY; if ("Narrative".equals(codeString)) return NARRATIVE; if ("ParameterDefinition".equals(codeString)) return PARAMETERDEFINITION; if ("Period".equals(codeString)) return PERIOD; - if ("Population".equals(codeString)) - return POPULATION; if ("PrimitiveType".equals(codeString)) return PRIMITIVETYPE; - if ("ProductShelfLife".equals(codeString)) - return PRODUCTSHELFLIFE; + if ("base64Binary".equals(codeString)) + return BASE64BINARY; + if ("boolean".equals(codeString)) + return BOOLEAN; + if ("date".equals(codeString)) + return DATE; + if ("dateTime".equals(codeString)) + return DATETIME; + if ("decimal".equals(codeString)) + return DECIMAL; + if ("instant".equals(codeString)) + return INSTANT; + if ("integer".equals(codeString)) + return INTEGER; + if ("positiveInt".equals(codeString)) + return POSITIVEINT; + if ("unsignedInt".equals(codeString)) + return UNSIGNEDINT; + if ("integer64".equals(codeString)) + return INTEGER64; + if ("string".equals(codeString)) + return STRING; + if ("code".equals(codeString)) + return CODE; + if ("id".equals(codeString)) + return ID; + if ("markdown".equals(codeString)) + return MARKDOWN; + if ("time".equals(codeString)) + return TIME; + if ("uri".equals(codeString)) + return URI; + if ("canonical".equals(codeString)) + return CANONICAL; + if ("oid".equals(codeString)) + return OID; + if ("url".equals(codeString)) + return URL; + if ("uuid".equals(codeString)) + return UUID; if ("Quantity".equals(codeString)) return QUANTITY; + if ("Age".equals(codeString)) + return AGE; + if ("Count".equals(codeString)) + return COUNT; + if ("Distance".equals(codeString)) + return DISTANCE; + if ("Duration".equals(codeString)) + return DURATION; if ("Range".equals(codeString)) return RANGE; if ("Ratio".equals(codeString)) @@ -3798,54 +9820,12 @@ The primary difference between a medicationusage and a medicationadministration return SAMPLEDDATA; if ("Signature".equals(codeString)) return SIGNATURE; - if ("SimpleQuantity".equals(codeString)) - return SIMPLEQUANTITY; - if ("Timing".equals(codeString)) - return TIMING; if ("TriggerDefinition".equals(codeString)) return TRIGGERDEFINITION; if ("UsageContext".equals(codeString)) return USAGECONTEXT; - if ("base64Binary".equals(codeString)) - return BASE64BINARY; - if ("boolean".equals(codeString)) - return BOOLEAN; - if ("canonical".equals(codeString)) - return CANONICAL; - if ("code".equals(codeString)) - return CODE; - if ("date".equals(codeString)) - return DATE; - if ("dateTime".equals(codeString)) - return DATETIME; - if ("decimal".equals(codeString)) - return DECIMAL; - if ("id".equals(codeString)) - return ID; - if ("instant".equals(codeString)) - return INSTANT; - if ("integer".equals(codeString)) - return INTEGER; - if ("integer64".equals(codeString)) - return INTEGER64; - if ("markdown".equals(codeString)) - return MARKDOWN; - if ("oid".equals(codeString)) - return OID; - if ("positiveInt".equals(codeString)) - return POSITIVEINT; - if ("string".equals(codeString)) - return STRING; - if ("time".equals(codeString)) - return TIME; - if ("unsignedInt".equals(codeString)) - return UNSIGNEDINT; - if ("uri".equals(codeString)) - return URI; - if ("url".equals(codeString)) - return URL; - if ("uuid".equals(codeString)) - return UUID; + if ("VirtualServiceDetail".equals(codeString)) + return VIRTUALSERVICEDETAIL; if ("xhtml".equals(codeString)) return XHTML; if ("Resource".equals(codeString)) @@ -3858,6 +9838,10 @@ The primary difference between a medicationusage and a medicationadministration return DOMAINRESOURCE; if ("Account".equals(codeString)) return ACCOUNT; + if ("ActivityDefinition".equals(codeString)) + return ACTIVITYDEFINITION; + if ("ActorDefinition".equals(codeString)) + return ACTORDEFINITION; if ("AdministrableProductDefinition".equals(codeString)) return ADMINISTRABLEPRODUCTDEFINITION; if ("AdverseEvent".equals(codeString)) @@ -3882,72 +9866,16 @@ The primary difference between a medicationusage and a medicationadministration return CANONICALRESOURCE; if ("CapabilityStatement".equals(codeString)) return CAPABILITYSTATEMENT; - if ("CapabilityStatement2".equals(codeString)) - return CAPABILITYSTATEMENT2; - if ("CodeSystem".equals(codeString)) - return CODESYSTEM; - if ("CompartmentDefinition".equals(codeString)) - return COMPARTMENTDEFINITION; - if ("ExampleScenario".equals(codeString)) - return EXAMPLESCENARIO; - if ("GraphDefinition".equals(codeString)) - return GRAPHDEFINITION; - if ("ImplementationGuide".equals(codeString)) - return IMPLEMENTATIONGUIDE; - if ("MessageDefinition".equals(codeString)) - return MESSAGEDEFINITION; - if ("MetadataResource".equals(codeString)) - return METADATARESOURCE; - if ("ActivityDefinition".equals(codeString)) - return ACTIVITYDEFINITION; - if ("ChargeItemDefinition".equals(codeString)) - return CHARGEITEMDEFINITION; - if ("Citation".equals(codeString)) - return CITATION; - if ("ConceptMap".equals(codeString)) - return CONCEPTMAP; - if ("ConditionDefinition".equals(codeString)) - return CONDITIONDEFINITION; - if ("EventDefinition".equals(codeString)) - return EVENTDEFINITION; - if ("Evidence".equals(codeString)) - return EVIDENCE; - if ("EvidenceReport".equals(codeString)) - return EVIDENCEREPORT; - if ("EvidenceVariable".equals(codeString)) - return EVIDENCEVARIABLE; - if ("Library".equals(codeString)) - return LIBRARY; - if ("Measure".equals(codeString)) - return MEASURE; - if ("NamingSystem".equals(codeString)) - return NAMINGSYSTEM; - if ("PlanDefinition".equals(codeString)) - return PLANDEFINITION; - if ("Questionnaire".equals(codeString)) - return QUESTIONNAIRE; - if ("OperationDefinition".equals(codeString)) - return OPERATIONDEFINITION; - if ("SearchParameter".equals(codeString)) - return SEARCHPARAMETER; - if ("StructureDefinition".equals(codeString)) - return STRUCTUREDEFINITION; - if ("StructureMap".equals(codeString)) - return STRUCTUREMAP; - if ("SubscriptionTopic".equals(codeString)) - return SUBSCRIPTIONTOPIC; - if ("TerminologyCapabilities".equals(codeString)) - return TERMINOLOGYCAPABILITIES; - if ("TestScript".equals(codeString)) - return TESTSCRIPT; - if ("ValueSet".equals(codeString)) - return VALUESET; if ("CarePlan".equals(codeString)) return CAREPLAN; if ("CareTeam".equals(codeString)) return CARETEAM; if ("ChargeItem".equals(codeString)) return CHARGEITEM; + if ("ChargeItemDefinition".equals(codeString)) + return CHARGEITEMDEFINITION; + if ("Citation".equals(codeString)) + return CITATION; if ("Claim".equals(codeString)) return CLAIM; if ("ClaimResponse".equals(codeString)) @@ -3956,14 +9884,22 @@ The primary difference between a medicationusage and a medicationadministration return CLINICALIMPRESSION; if ("ClinicalUseDefinition".equals(codeString)) return CLINICALUSEDEFINITION; + if ("CodeSystem".equals(codeString)) + return CODESYSTEM; if ("Communication".equals(codeString)) return COMMUNICATION; if ("CommunicationRequest".equals(codeString)) return COMMUNICATIONREQUEST; + if ("CompartmentDefinition".equals(codeString)) + return COMPARTMENTDEFINITION; if ("Composition".equals(codeString)) return COMPOSITION; + if ("ConceptMap".equals(codeString)) + return CONCEPTMAP; if ("Condition".equals(codeString)) return CONDITION; + if ("ConditionDefinition".equals(codeString)) + return CONDITIONDEFINITION; if ("Consent".equals(codeString)) return CONSENT; if ("Contract".equals(codeString)) @@ -4004,6 +9940,16 @@ The primary difference between a medicationusage and a medicationadministration return ENROLLMENTRESPONSE; if ("EpisodeOfCare".equals(codeString)) return EPISODEOFCARE; + if ("EventDefinition".equals(codeString)) + return EVENTDEFINITION; + if ("Evidence".equals(codeString)) + return EVIDENCE; + if ("EvidenceReport".equals(codeString)) + return EVIDENCEREPORT; + if ("EvidenceVariable".equals(codeString)) + return EVIDENCEVARIABLE; + if ("ExampleScenario".equals(codeString)) + return EXAMPLESCENARIO; if ("ExplanationOfBenefit".equals(codeString)) return EXPLANATIONOFBENEFIT; if ("FamilyMemberHistory".equals(codeString)) @@ -4012,8 +9958,12 @@ The primary difference between a medicationusage and a medicationadministration return FLAG; if ("FormularyItem".equals(codeString)) return FORMULARYITEM; + if ("GenomicStudy".equals(codeString)) + return GENOMICSTUDY; if ("Goal".equals(codeString)) return GOAL; + if ("GraphDefinition".equals(codeString)) + return GRAPHDEFINITION; if ("Group".equals(codeString)) return GROUP; if ("GuidanceResponse".equals(codeString)) @@ -4030,6 +9980,8 @@ The primary difference between a medicationusage and a medicationadministration return IMMUNIZATIONEVALUATION; if ("ImmunizationRecommendation".equals(codeString)) return IMMUNIZATIONRECOMMENDATION; + if ("ImplementationGuide".equals(codeString)) + return IMPLEMENTATIONGUIDE; if ("Ingredient".equals(codeString)) return INGREDIENT; if ("InsurancePlan".equals(codeString)) @@ -4038,6 +9990,8 @@ The primary difference between a medicationusage and a medicationadministration return INVENTORYREPORT; if ("Invoice".equals(codeString)) return INVOICE; + if ("Library".equals(codeString)) + return LIBRARY; if ("Linkage".equals(codeString)) return LINKAGE; if ("List".equals(codeString)) @@ -4046,6 +10000,8 @@ The primary difference between a medicationusage and a medicationadministration return LOCATION; if ("ManufacturedItemDefinition".equals(codeString)) return MANUFACTUREDITEMDEFINITION; + if ("Measure".equals(codeString)) + return MEASURE; if ("MeasureReport".equals(codeString)) return MEASUREREPORT; if ("Medication".equals(codeString)) @@ -4062,10 +10018,16 @@ The primary difference between a medicationusage and a medicationadministration return MEDICATIONUSAGE; if ("MedicinalProductDefinition".equals(codeString)) return MEDICINALPRODUCTDEFINITION; + if ("MessageDefinition".equals(codeString)) + return MESSAGEDEFINITION; if ("MessageHeader".equals(codeString)) return MESSAGEHEADER; + if ("MetadataResource".equals(codeString)) + return METADATARESOURCE; if ("MolecularSequence".equals(codeString)) return MOLECULARSEQUENCE; + if ("NamingSystem".equals(codeString)) + return NAMINGSYSTEM; if ("NutritionIntake".equals(codeString)) return NUTRITIONINTAKE; if ("NutritionOrder".equals(codeString)) @@ -4076,6 +10038,8 @@ The primary difference between a medicationusage and a medicationadministration return OBSERVATION; if ("ObservationDefinition".equals(codeString)) return OBSERVATIONDEFINITION; + if ("OperationDefinition".equals(codeString)) + return OPERATIONDEFINITION; if ("OperationOutcome".equals(codeString)) return OPERATIONOUTCOME; if ("Organization".equals(codeString)) @@ -4094,6 +10058,8 @@ The primary difference between a medicationusage and a medicationadministration return PERMISSION; if ("Person".equals(codeString)) return PERSON; + if ("PlanDefinition".equals(codeString)) + return PLANDEFINITION; if ("Practitioner".equals(codeString)) return PRACTITIONER; if ("PractitionerRole".equals(codeString)) @@ -4102,14 +10068,18 @@ The primary difference between a medicationusage and a medicationadministration return PROCEDURE; if ("Provenance".equals(codeString)) return PROVENANCE; + if ("Questionnaire".equals(codeString)) + return QUESTIONNAIRE; if ("QuestionnaireResponse".equals(codeString)) return QUESTIONNAIRERESPONSE; if ("RegulatedAuthorization".equals(codeString)) return REGULATEDAUTHORIZATION; if ("RelatedPerson".equals(codeString)) return RELATEDPERSON; - if ("RequestGroup".equals(codeString)) - return REQUESTGROUP; + if ("RequestOrchestration".equals(codeString)) + return REQUESTORCHESTRATION; + if ("Requirements".equals(codeString)) + return REQUIREMENTS; if ("ResearchStudy".equals(codeString)) return RESEARCHSTUDY; if ("ResearchSubject".equals(codeString)) @@ -4118,6 +10088,8 @@ The primary difference between a medicationusage and a medicationadministration return RISKASSESSMENT; if ("Schedule".equals(codeString)) return SCHEDULE; + if ("SearchParameter".equals(codeString)) + return SEARCHPARAMETER; if ("ServiceRequest".equals(codeString)) return SERVICEREQUEST; if ("Slot".equals(codeString)) @@ -4126,10 +10098,16 @@ The primary difference between a medicationusage and a medicationadministration return SPECIMEN; if ("SpecimenDefinition".equals(codeString)) return SPECIMENDEFINITION; + if ("StructureDefinition".equals(codeString)) + return STRUCTUREDEFINITION; + if ("StructureMap".equals(codeString)) + return STRUCTUREMAP; if ("Subscription".equals(codeString)) return SUBSCRIPTION; if ("SubscriptionStatus".equals(codeString)) return SUBSCRIPTIONSTATUS; + if ("SubscriptionTopic".equals(codeString)) + return SUBSCRIPTIONTOPIC; if ("Substance".equals(codeString)) return SUBSTANCE; if ("SubstanceDefinition".equals(codeString)) @@ -4150,61 +10128,85 @@ The primary difference between a medicationusage and a medicationadministration return SUPPLYREQUEST; if ("Task".equals(codeString)) return TASK; + if ("TerminologyCapabilities".equals(codeString)) + return TERMINOLOGYCAPABILITIES; if ("TestReport".equals(codeString)) return TESTREPORT; + if ("TestScript".equals(codeString)) + return TESTSCRIPT; if ("Transport".equals(codeString)) return TRANSPORT; + if ("ValueSet".equals(codeString)) + return VALUESET; if ("VerificationResult".equals(codeString)) return VERIFICATIONRESULT; if ("VisionPrescription".equals(codeString)) return VISIONPRESCRIPTION; if ("Parameters".equals(codeString)) return PARAMETERS; - if ("Type".equals(codeString)) - return TYPE; - if ("Any".equals(codeString)) - return ANY; - throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'"); + throw new FHIRException("Unknown FHIRTypes code '"+codeString+"'"); } public String toCode() { switch (this) { + case BASE: return "Base"; + case ELEMENT: return "Element"; + case BACKBONEELEMENT: return "BackboneElement"; + case DATATYPE: return "DataType"; case ADDRESS: return "Address"; - case AGE: return "Age"; case ANNOTATION: return "Annotation"; case ATTACHMENT: return "Attachment"; - case BACKBONEELEMENT: return "BackboneElement"; + case AVAILABILITY: return "Availability"; case BACKBONETYPE: return "BackboneType"; - case BASE: return "Base"; + case DOSAGE: return "Dosage"; + case ELEMENTDEFINITION: return "ElementDefinition"; + case MARKETINGSTATUS: return "MarketingStatus"; + case POPULATION: return "Population"; + case PRODUCTSHELFLIFE: return "ProductShelfLife"; + case TIMING: return "Timing"; case CODEABLECONCEPT: return "CodeableConcept"; case CODEABLEREFERENCE: return "CodeableReference"; case CODING: return "Coding"; case CONTACTDETAIL: return "ContactDetail"; case CONTACTPOINT: return "ContactPoint"; case CONTRIBUTOR: return "Contributor"; - case COUNT: return "Count"; case DATAREQUIREMENT: return "DataRequirement"; - case DATATYPE: return "DataType"; - case DISTANCE: return "Distance"; - case DOSAGE: return "Dosage"; - case DURATION: return "Duration"; - case ELEMENT: return "Element"; - case ELEMENTDEFINITION: return "ElementDefinition"; case EXPRESSION: return "Expression"; case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail"; case EXTENSION: return "Extension"; case HUMANNAME: return "HumanName"; case IDENTIFIER: return "Identifier"; - case MARKETINGSTATUS: return "MarketingStatus"; case META: return "Meta"; + case MONETARYCOMPONENT: return "MonetaryComponent"; case MONEY: return "Money"; - case MONEYQUANTITY: return "MoneyQuantity"; case NARRATIVE: return "Narrative"; case PARAMETERDEFINITION: return "ParameterDefinition"; case PERIOD: return "Period"; - case POPULATION: return "Population"; case PRIMITIVETYPE: return "PrimitiveType"; - case PRODUCTSHELFLIFE: return "ProductShelfLife"; + case BASE64BINARY: return "base64Binary"; + case BOOLEAN: return "boolean"; + case DATE: return "date"; + case DATETIME: return "dateTime"; + case DECIMAL: return "decimal"; + case INSTANT: return "instant"; + case INTEGER: return "integer"; + case POSITIVEINT: return "positiveInt"; + case UNSIGNEDINT: return "unsignedInt"; + case INTEGER64: return "integer64"; + case STRING: return "string"; + case CODE: return "code"; + case ID: return "id"; + case MARKDOWN: return "markdown"; + case TIME: return "time"; + case URI: return "uri"; + case CANONICAL: return "canonical"; + case OID: return "oid"; + case URL: return "url"; + case UUID: return "uuid"; case QUANTITY: return "Quantity"; + case AGE: return "Age"; + case COUNT: return "Count"; + case DISTANCE: return "Distance"; + case DURATION: return "Duration"; case RANGE: return "Range"; case RATIO: return "Ratio"; case RATIORANGE: return "RatioRange"; @@ -4212,36 +10214,17 @@ The primary difference between a medicationusage and a medicationadministration case RELATEDARTIFACT: return "RelatedArtifact"; case SAMPLEDDATA: return "SampledData"; case SIGNATURE: return "Signature"; - case SIMPLEQUANTITY: return "SimpleQuantity"; - case TIMING: return "Timing"; case TRIGGERDEFINITION: return "TriggerDefinition"; case USAGECONTEXT: return "UsageContext"; - case BASE64BINARY: return "base64Binary"; - case BOOLEAN: return "boolean"; - case CANONICAL: return "canonical"; - case CODE: return "code"; - case DATE: return "date"; - case DATETIME: return "dateTime"; - case DECIMAL: return "decimal"; - case ID: return "id"; - case INSTANT: return "instant"; - case INTEGER: return "integer"; - case INTEGER64: return "integer64"; - case MARKDOWN: return "markdown"; - case OID: return "oid"; - case POSITIVEINT: return "positiveInt"; - case STRING: return "string"; - case TIME: return "time"; - case UNSIGNEDINT: return "unsignedInt"; - case URI: return "uri"; - case URL: return "url"; - case UUID: return "uuid"; + case VIRTUALSERVICEDETAIL: return "VirtualServiceDetail"; case XHTML: return "xhtml"; case RESOURCE: return "Resource"; case BINARY: return "Binary"; case BUNDLE: return "Bundle"; case DOMAINRESOURCE: return "DomainResource"; case ACCOUNT: return "Account"; + case ACTIVITYDEFINITION: return "ActivityDefinition"; + case ACTORDEFINITION: return "ActorDefinition"; case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; case ADVERSEEVENT: return "AdverseEvent"; case ALLERGYINTOLERANCE: return "AllergyIntolerance"; @@ -4254,47 +10237,23 @@ The primary difference between a medicationusage and a medicationadministration case BODYSTRUCTURE: return "BodyStructure"; case CANONICALRESOURCE: return "CanonicalResource"; case CAPABILITYSTATEMENT: return "CapabilityStatement"; - case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; - case CODESYSTEM: return "CodeSystem"; - case COMPARTMENTDEFINITION: return "CompartmentDefinition"; - case EXAMPLESCENARIO: return "ExampleScenario"; - case GRAPHDEFINITION: return "GraphDefinition"; - case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; - case MESSAGEDEFINITION: return "MessageDefinition"; - case METADATARESOURCE: return "MetadataResource"; - case ACTIVITYDEFINITION: return "ActivityDefinition"; - case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; - case CITATION: return "Citation"; - case CONCEPTMAP: return "ConceptMap"; - case CONDITIONDEFINITION: return "ConditionDefinition"; - case EVENTDEFINITION: return "EventDefinition"; - case EVIDENCE: return "Evidence"; - case EVIDENCEREPORT: return "EvidenceReport"; - case EVIDENCEVARIABLE: return "EvidenceVariable"; - case LIBRARY: return "Library"; - case MEASURE: return "Measure"; - case NAMINGSYSTEM: return "NamingSystem"; - case PLANDEFINITION: return "PlanDefinition"; - case QUESTIONNAIRE: return "Questionnaire"; - case OPERATIONDEFINITION: return "OperationDefinition"; - case SEARCHPARAMETER: return "SearchParameter"; - case STRUCTUREDEFINITION: return "StructureDefinition"; - case STRUCTUREMAP: return "StructureMap"; - case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; - case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; - case TESTSCRIPT: return "TestScript"; - case VALUESET: return "ValueSet"; case CAREPLAN: return "CarePlan"; case CARETEAM: return "CareTeam"; case CHARGEITEM: return "ChargeItem"; + case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; + case CITATION: return "Citation"; case CLAIM: return "Claim"; case CLAIMRESPONSE: return "ClaimResponse"; case CLINICALIMPRESSION: return "ClinicalImpression"; case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; + case CODESYSTEM: return "CodeSystem"; case COMMUNICATION: return "Communication"; case COMMUNICATIONREQUEST: return "CommunicationRequest"; + case COMPARTMENTDEFINITION: return "CompartmentDefinition"; case COMPOSITION: return "Composition"; + case CONCEPTMAP: return "ConceptMap"; case CONDITION: return "Condition"; + case CONDITIONDEFINITION: return "ConditionDefinition"; case CONSENT: return "Consent"; case CONTRACT: return "Contract"; case COVERAGE: return "Coverage"; @@ -4315,11 +10274,18 @@ The primary difference between a medicationusage and a medicationadministration case ENROLLMENTREQUEST: return "EnrollmentRequest"; case ENROLLMENTRESPONSE: return "EnrollmentResponse"; case EPISODEOFCARE: return "EpisodeOfCare"; + case EVENTDEFINITION: return "EventDefinition"; + case EVIDENCE: return "Evidence"; + case EVIDENCEREPORT: return "EvidenceReport"; + case EVIDENCEVARIABLE: return "EvidenceVariable"; + case EXAMPLESCENARIO: return "ExampleScenario"; case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; case FLAG: return "Flag"; case FORMULARYITEM: return "FormularyItem"; + case GENOMICSTUDY: return "GenomicStudy"; case GOAL: return "Goal"; + case GRAPHDEFINITION: return "GraphDefinition"; case GROUP: return "Group"; case GUIDANCERESPONSE: return "GuidanceResponse"; case HEALTHCARESERVICE: return "HealthcareService"; @@ -4328,14 +10294,17 @@ The primary difference between a medicationusage and a medicationadministration case IMMUNIZATION: return "Immunization"; case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; + case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; case INGREDIENT: return "Ingredient"; case INSURANCEPLAN: return "InsurancePlan"; case INVENTORYREPORT: return "InventoryReport"; case INVOICE: return "Invoice"; + case LIBRARY: return "Library"; case LINKAGE: return "Linkage"; case LIST: return "List"; case LOCATION: return "Location"; case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; + case MEASURE: return "Measure"; case MEASUREREPORT: return "MeasureReport"; case MEDICATION: return "Medication"; case MEDICATIONADMINISTRATION: return "MedicationAdministration"; @@ -4344,13 +10313,17 @@ The primary difference between a medicationusage and a medicationadministration case MEDICATIONREQUEST: return "MedicationRequest"; case MEDICATIONUSAGE: return "MedicationUsage"; case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; + case MESSAGEDEFINITION: return "MessageDefinition"; case MESSAGEHEADER: return "MessageHeader"; + case METADATARESOURCE: return "MetadataResource"; case MOLECULARSEQUENCE: return "MolecularSequence"; + case NAMINGSYSTEM: return "NamingSystem"; case NUTRITIONINTAKE: return "NutritionIntake"; case NUTRITIONORDER: return "NutritionOrder"; case NUTRITIONPRODUCT: return "NutritionProduct"; case OBSERVATION: return "Observation"; case OBSERVATIONDEFINITION: return "ObservationDefinition"; + case OPERATIONDEFINITION: return "OperationDefinition"; case OPERATIONOUTCOME: return "OperationOutcome"; case ORGANIZATION: return "Organization"; case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; @@ -4360,24 +10333,31 @@ The primary difference between a medicationusage and a medicationadministration case PAYMENTRECONCILIATION: return "PaymentReconciliation"; case PERMISSION: return "Permission"; case PERSON: return "Person"; + case PLANDEFINITION: return "PlanDefinition"; case PRACTITIONER: return "Practitioner"; case PRACTITIONERROLE: return "PractitionerRole"; case PROCEDURE: return "Procedure"; case PROVENANCE: return "Provenance"; + case QUESTIONNAIRE: return "Questionnaire"; case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; case RELATEDPERSON: return "RelatedPerson"; - case REQUESTGROUP: return "RequestGroup"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; + case REQUIREMENTS: return "Requirements"; case RESEARCHSTUDY: return "ResearchStudy"; case RESEARCHSUBJECT: return "ResearchSubject"; case RISKASSESSMENT: return "RiskAssessment"; case SCHEDULE: return "Schedule"; + case SEARCHPARAMETER: return "SearchParameter"; case SERVICEREQUEST: return "ServiceRequest"; case SLOT: return "Slot"; case SPECIMEN: return "Specimen"; case SPECIMENDEFINITION: return "SpecimenDefinition"; + case STRUCTUREDEFINITION: return "StructureDefinition"; + case STRUCTUREMAP: return "StructureMap"; case SUBSCRIPTION: return "Subscription"; case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; + case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; case SUBSTANCE: return "Substance"; case SUBSTANCEDEFINITION: return "SubstanceDefinition"; case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; @@ -4388,328 +10368,333 @@ The primary difference between a medicationusage and a medicationadministration case SUPPLYDELIVERY: return "SupplyDelivery"; case SUPPLYREQUEST: return "SupplyRequest"; case TASK: return "Task"; + case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; case TESTREPORT: return "TestReport"; + case TESTSCRIPT: return "TestScript"; case TRANSPORT: return "Transport"; + case VALUESET: return "ValueSet"; case VERIFICATIONRESULT: return "VerificationResult"; case VISIONPRESCRIPTION: return "VisionPrescription"; case PARAMETERS: return "Parameters"; - case TYPE: return "Type"; - case ANY: return "Any"; case NULL: return null; default: return "?"; } } public String getSystem() { switch (this) { - case ADDRESS: return "http://hl7.org/fhir/data-types"; - case AGE: return "http://hl7.org/fhir/data-types"; - case ANNOTATION: return "http://hl7.org/fhir/data-types"; - case ATTACHMENT: return "http://hl7.org/fhir/data-types"; - case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types"; - case BACKBONETYPE: return "http://hl7.org/fhir/data-types"; - case BASE: return "http://hl7.org/fhir/data-types"; - case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types"; - case CODEABLEREFERENCE: return "http://hl7.org/fhir/data-types"; - case CODING: return "http://hl7.org/fhir/data-types"; - case CONTACTDETAIL: return "http://hl7.org/fhir/data-types"; - case CONTACTPOINT: return "http://hl7.org/fhir/data-types"; - case CONTRIBUTOR: return "http://hl7.org/fhir/data-types"; - case COUNT: return "http://hl7.org/fhir/data-types"; - case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types"; - case DATATYPE: return "http://hl7.org/fhir/data-types"; - case DISTANCE: return "http://hl7.org/fhir/data-types"; - case DOSAGE: return "http://hl7.org/fhir/data-types"; - case DURATION: return "http://hl7.org/fhir/data-types"; - case ELEMENT: return "http://hl7.org/fhir/data-types"; - case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types"; - case EXPRESSION: return "http://hl7.org/fhir/data-types"; - case EXTENDEDCONTACTDETAIL: return "http://hl7.org/fhir/data-types"; - case EXTENSION: return "http://hl7.org/fhir/data-types"; - case HUMANNAME: return "http://hl7.org/fhir/data-types"; - case IDENTIFIER: return "http://hl7.org/fhir/data-types"; - case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types"; - case META: return "http://hl7.org/fhir/data-types"; - case MONEY: return "http://hl7.org/fhir/data-types"; - case MONEYQUANTITY: return "http://hl7.org/fhir/data-types"; - case NARRATIVE: return "http://hl7.org/fhir/data-types"; - case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types"; - case PERIOD: return "http://hl7.org/fhir/data-types"; - case POPULATION: return "http://hl7.org/fhir/data-types"; - case PRIMITIVETYPE: return "http://hl7.org/fhir/data-types"; - case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types"; - case QUANTITY: return "http://hl7.org/fhir/data-types"; - case RANGE: return "http://hl7.org/fhir/data-types"; - case RATIO: return "http://hl7.org/fhir/data-types"; - case RATIORANGE: return "http://hl7.org/fhir/data-types"; - case REFERENCE: return "http://hl7.org/fhir/data-types"; - case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types"; - case SAMPLEDDATA: return "http://hl7.org/fhir/data-types"; - case SIGNATURE: return "http://hl7.org/fhir/data-types"; - case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types"; - case TIMING: return "http://hl7.org/fhir/data-types"; - case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types"; - case USAGECONTEXT: return "http://hl7.org/fhir/data-types"; - case BASE64BINARY: return "http://hl7.org/fhir/data-types"; - case BOOLEAN: return "http://hl7.org/fhir/data-types"; - case CANONICAL: return "http://hl7.org/fhir/data-types"; - case CODE: return "http://hl7.org/fhir/data-types"; - case DATE: return "http://hl7.org/fhir/data-types"; - case DATETIME: return "http://hl7.org/fhir/data-types"; - case DECIMAL: return "http://hl7.org/fhir/data-types"; - case ID: return "http://hl7.org/fhir/data-types"; - case INSTANT: return "http://hl7.org/fhir/data-types"; - case INTEGER: return "http://hl7.org/fhir/data-types"; - case INTEGER64: return "http://hl7.org/fhir/data-types"; - case MARKDOWN: return "http://hl7.org/fhir/data-types"; - case OID: return "http://hl7.org/fhir/data-types"; - case POSITIVEINT: return "http://hl7.org/fhir/data-types"; - case STRING: return "http://hl7.org/fhir/data-types"; - case TIME: return "http://hl7.org/fhir/data-types"; - case UNSIGNEDINT: return "http://hl7.org/fhir/data-types"; - case URI: return "http://hl7.org/fhir/data-types"; - case URL: return "http://hl7.org/fhir/data-types"; - case UUID: return "http://hl7.org/fhir/data-types"; - case XHTML: return "http://hl7.org/fhir/data-types"; - case RESOURCE: return "http://hl7.org/fhir/resource-types"; - case BINARY: return "http://hl7.org/fhir/resource-types"; - case BUNDLE: return "http://hl7.org/fhir/resource-types"; - case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; - case ACCOUNT: return "http://hl7.org/fhir/resource-types"; - case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types"; - case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; - case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; - case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; - case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/resource-types"; - case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; - case BASIC: return "http://hl7.org/fhir/resource-types"; - case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types"; - case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types"; - case CANONICALRESOURCE: return "http://hl7.org/fhir/resource-types"; - case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types"; - case CAPABILITYSTATEMENT2: return "http://hl7.org/fhir/resource-types"; - case CODESYSTEM: return "http://hl7.org/fhir/resource-types"; - case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types"; - case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types"; - case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; - case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case METADATARESOURCE: return "http://hl7.org/fhir/resource-types"; - case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types"; - case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; - case CITATION: return "http://hl7.org/fhir/resource-types"; - case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; - case CONDITIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EVIDENCE: return "http://hl7.org/fhir/resource-types"; - case EVIDENCEREPORT: return "http://hl7.org/fhir/resource-types"; - case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types"; - case LIBRARY: return "http://hl7.org/fhir/resource-types"; - case MEASURE: return "http://hl7.org/fhir/resource-types"; - case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; - case PLANDEFINITION: return "http://hl7.org/fhir/resource-types"; - case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; - case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; - case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; - case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/resource-types"; - case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types"; - case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; - case VALUESET: return "http://hl7.org/fhir/resource-types"; - case CAREPLAN: return "http://hl7.org/fhir/resource-types"; - case CARETEAM: return "http://hl7.org/fhir/resource-types"; - case CHARGEITEM: return "http://hl7.org/fhir/resource-types"; - case CLAIM: return "http://hl7.org/fhir/resource-types"; - case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; - case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; - case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case COMPOSITION: return "http://hl7.org/fhir/resource-types"; - case CONDITION: return "http://hl7.org/fhir/resource-types"; - case CONSENT: return "http://hl7.org/fhir/resource-types"; - case CONTRACT: return "http://hl7.org/fhir/resource-types"; - case COVERAGE: return "http://hl7.org/fhir/resource-types"; - case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; - case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; - case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; - case DEVICE: return "http://hl7.org/fhir/resource-types"; - case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case DEVICEDISPENSE: return "http://hl7.org/fhir/resource-types"; - case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; - case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case DEVICEUSAGE: return "http://hl7.org/fhir/resource-types"; - case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; - case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; - case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; - case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; - case ENDPOINT: return "http://hl7.org/fhir/resource-types"; - case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; - case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; - case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; - case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; - case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; - case FLAG: return "http://hl7.org/fhir/resource-types"; - case FORMULARYITEM: return "http://hl7.org/fhir/resource-types"; - case GOAL: return "http://hl7.org/fhir/resource-types"; - case GROUP: return "http://hl7.org/fhir/resource-types"; - case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types"; - case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; - case IMAGINGSELECTION: return "http://hl7.org/fhir/resource-types"; - case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; - case INGREDIENT: return "http://hl7.org/fhir/resource-types"; - case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types"; - case INVENTORYREPORT: return "http://hl7.org/fhir/resource-types"; - case INVOICE: return "http://hl7.org/fhir/resource-types"; - case LINKAGE: return "http://hl7.org/fhir/resource-types"; - case LIST: return "http://hl7.org/fhir/resource-types"; - case LOCATION: return "http://hl7.org/fhir/resource-types"; - case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; - case MEASUREREPORT: return "http://hl7.org/fhir/resource-types"; - case MEDICATION: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONUSAGE: return "http://hl7.org/fhir/resource-types"; - case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; - case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONINTAKE: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONPRODUCT: return "http://hl7.org/fhir/resource-types"; - case OBSERVATION: return "http://hl7.org/fhir/resource-types"; - case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; - case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; - case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types"; - case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case PATIENT: return "http://hl7.org/fhir/resource-types"; - case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; - case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; - case PERMISSION: return "http://hl7.org/fhir/resource-types"; - case PERSON: return "http://hl7.org/fhir/resource-types"; - case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; - case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types"; - case PROCEDURE: return "http://hl7.org/fhir/resource-types"; - case PROVENANCE: return "http://hl7.org/fhir/resource-types"; - case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; - case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/resource-types"; - case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; - case REQUESTGROUP: return "http://hl7.org/fhir/resource-types"; - case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types"; - case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types"; - case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; - case SCHEDULE: return "http://hl7.org/fhir/resource-types"; - case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case SLOT: return "http://hl7.org/fhir/resource-types"; - case SPECIMEN: return "http://hl7.org/fhir/resource-types"; - case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types"; - case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; - case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; - case TASK: return "http://hl7.org/fhir/resource-types"; - case TESTREPORT: return "http://hl7.org/fhir/resource-types"; - case TRANSPORT: return "http://hl7.org/fhir/resource-types"; - case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types"; - case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; - case PARAMETERS: return "http://hl7.org/fhir/resource-types"; - case TYPE: return "http://hl7.org/fhir/abstract-types"; - case ANY: return "http://hl7.org/fhir/abstract-types"; + case BASE: return "http://hl7.org/fhir/fhir-types"; + case ELEMENT: return "http://hl7.org/fhir/fhir-types"; + case BACKBONEELEMENT: return "http://hl7.org/fhir/fhir-types"; + case DATATYPE: return "http://hl7.org/fhir/fhir-types"; + case ADDRESS: return "http://hl7.org/fhir/fhir-types"; + case ANNOTATION: return "http://hl7.org/fhir/fhir-types"; + case ATTACHMENT: return "http://hl7.org/fhir/fhir-types"; + case AVAILABILITY: return "http://hl7.org/fhir/fhir-types"; + case BACKBONETYPE: return "http://hl7.org/fhir/fhir-types"; + case DOSAGE: return "http://hl7.org/fhir/fhir-types"; + case ELEMENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MARKETINGSTATUS: return "http://hl7.org/fhir/fhir-types"; + case POPULATION: return "http://hl7.org/fhir/fhir-types"; + case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/fhir-types"; + case TIMING: return "http://hl7.org/fhir/fhir-types"; + case CODEABLECONCEPT: return "http://hl7.org/fhir/fhir-types"; + case CODEABLEREFERENCE: return "http://hl7.org/fhir/fhir-types"; + case CODING: return "http://hl7.org/fhir/fhir-types"; + case CONTACTDETAIL: return "http://hl7.org/fhir/fhir-types"; + case CONTACTPOINT: return "http://hl7.org/fhir/fhir-types"; + case CONTRIBUTOR: return "http://hl7.org/fhir/fhir-types"; + case DATAREQUIREMENT: return "http://hl7.org/fhir/fhir-types"; + case EXPRESSION: return "http://hl7.org/fhir/fhir-types"; + case EXTENDEDCONTACTDETAIL: return "http://hl7.org/fhir/fhir-types"; + case EXTENSION: return "http://hl7.org/fhir/fhir-types"; + case HUMANNAME: return "http://hl7.org/fhir/fhir-types"; + case IDENTIFIER: return "http://hl7.org/fhir/fhir-types"; + case META: return "http://hl7.org/fhir/fhir-types"; + case MONETARYCOMPONENT: return "http://hl7.org/fhir/fhir-types"; + case MONEY: return "http://hl7.org/fhir/fhir-types"; + case NARRATIVE: return "http://hl7.org/fhir/fhir-types"; + case PARAMETERDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PERIOD: return "http://hl7.org/fhir/fhir-types"; + case PRIMITIVETYPE: return "http://hl7.org/fhir/fhir-types"; + case BASE64BINARY: return "http://hl7.org/fhir/fhir-types"; + case BOOLEAN: return "http://hl7.org/fhir/fhir-types"; + case DATE: return "http://hl7.org/fhir/fhir-types"; + case DATETIME: return "http://hl7.org/fhir/fhir-types"; + case DECIMAL: return "http://hl7.org/fhir/fhir-types"; + case INSTANT: return "http://hl7.org/fhir/fhir-types"; + case INTEGER: return "http://hl7.org/fhir/fhir-types"; + case POSITIVEINT: return "http://hl7.org/fhir/fhir-types"; + case UNSIGNEDINT: return "http://hl7.org/fhir/fhir-types"; + case INTEGER64: return "http://hl7.org/fhir/fhir-types"; + case STRING: return "http://hl7.org/fhir/fhir-types"; + case CODE: return "http://hl7.org/fhir/fhir-types"; + case ID: return "http://hl7.org/fhir/fhir-types"; + case MARKDOWN: return "http://hl7.org/fhir/fhir-types"; + case TIME: return "http://hl7.org/fhir/fhir-types"; + case URI: return "http://hl7.org/fhir/fhir-types"; + case CANONICAL: return "http://hl7.org/fhir/fhir-types"; + case OID: return "http://hl7.org/fhir/fhir-types"; + case URL: return "http://hl7.org/fhir/fhir-types"; + case UUID: return "http://hl7.org/fhir/fhir-types"; + case QUANTITY: return "http://hl7.org/fhir/fhir-types"; + case AGE: return "http://hl7.org/fhir/fhir-types"; + case COUNT: return "http://hl7.org/fhir/fhir-types"; + case DISTANCE: return "http://hl7.org/fhir/fhir-types"; + case DURATION: return "http://hl7.org/fhir/fhir-types"; + case RANGE: return "http://hl7.org/fhir/fhir-types"; + case RATIO: return "http://hl7.org/fhir/fhir-types"; + case RATIORANGE: return "http://hl7.org/fhir/fhir-types"; + case REFERENCE: return "http://hl7.org/fhir/fhir-types"; + case RELATEDARTIFACT: return "http://hl7.org/fhir/fhir-types"; + case SAMPLEDDATA: return "http://hl7.org/fhir/fhir-types"; + case SIGNATURE: return "http://hl7.org/fhir/fhir-types"; + case TRIGGERDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case USAGECONTEXT: return "http://hl7.org/fhir/fhir-types"; + case VIRTUALSERVICEDETAIL: return "http://hl7.org/fhir/fhir-types"; + case XHTML: return "http://hl7.org/fhir/fhir-types"; + case RESOURCE: return "http://hl7.org/fhir/fhir-types"; + case BINARY: return "http://hl7.org/fhir/fhir-types"; + case BUNDLE: return "http://hl7.org/fhir/fhir-types"; + case DOMAINRESOURCE: return "http://hl7.org/fhir/fhir-types"; + case ACCOUNT: return "http://hl7.org/fhir/fhir-types"; + case ACTIVITYDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ACTORDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ADVERSEEVENT: return "http://hl7.org/fhir/fhir-types"; + case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENT: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/fhir-types"; + case AUDITEVENT: return "http://hl7.org/fhir/fhir-types"; + case BASIC: return "http://hl7.org/fhir/fhir-types"; + case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/fhir-types"; + case BODYSTRUCTURE: return "http://hl7.org/fhir/fhir-types"; + case CANONICALRESOURCE: return "http://hl7.org/fhir/fhir-types"; + case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/fhir-types"; + case CAREPLAN: return "http://hl7.org/fhir/fhir-types"; + case CARETEAM: return "http://hl7.org/fhir/fhir-types"; + case CHARGEITEM: return "http://hl7.org/fhir/fhir-types"; + case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CITATION: return "http://hl7.org/fhir/fhir-types"; + case CLAIM: return "http://hl7.org/fhir/fhir-types"; + case CLAIMRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case CLINICALIMPRESSION: return "http://hl7.org/fhir/fhir-types"; + case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CODESYSTEM: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATION: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case COMPOSITION: return "http://hl7.org/fhir/fhir-types"; + case CONCEPTMAP: return "http://hl7.org/fhir/fhir-types"; + case CONDITION: return "http://hl7.org/fhir/fhir-types"; + case CONDITIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CONSENT: return "http://hl7.org/fhir/fhir-types"; + case CONTRACT: return "http://hl7.org/fhir/fhir-types"; + case COVERAGE: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case DETECTEDISSUE: return "http://hl7.org/fhir/fhir-types"; + case DEVICE: return "http://hl7.org/fhir/fhir-types"; + case DEVICEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case DEVICEDISPENSE: return "http://hl7.org/fhir/fhir-types"; + case DEVICEMETRIC: return "http://hl7.org/fhir/fhir-types"; + case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case DEVICEUSAGE: return "http://hl7.org/fhir/fhir-types"; + case DIAGNOSTICREPORT: return "http://hl7.org/fhir/fhir-types"; + case DOCUMENTMANIFEST: return "http://hl7.org/fhir/fhir-types"; + case DOCUMENTREFERENCE: return "http://hl7.org/fhir/fhir-types"; + case ENCOUNTER: return "http://hl7.org/fhir/fhir-types"; + case ENDPOINT: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case EPISODEOFCARE: return "http://hl7.org/fhir/fhir-types"; + case EVENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCE: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCEREPORT: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCEVARIABLE: return "http://hl7.org/fhir/fhir-types"; + case EXAMPLESCENARIO: return "http://hl7.org/fhir/fhir-types"; + case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/fhir-types"; + case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/fhir-types"; + case FLAG: return "http://hl7.org/fhir/fhir-types"; + case FORMULARYITEM: return "http://hl7.org/fhir/fhir-types"; + case GENOMICSTUDY: return "http://hl7.org/fhir/fhir-types"; + case GOAL: return "http://hl7.org/fhir/fhir-types"; + case GRAPHDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case GROUP: return "http://hl7.org/fhir/fhir-types"; + case GUIDANCERESPONSE: return "http://hl7.org/fhir/fhir-types"; + case HEALTHCARESERVICE: return "http://hl7.org/fhir/fhir-types"; + case IMAGINGSELECTION: return "http://hl7.org/fhir/fhir-types"; + case IMAGINGSTUDY: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATION: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types"; + case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/fhir-types"; + case INGREDIENT: return "http://hl7.org/fhir/fhir-types"; + case INSURANCEPLAN: return "http://hl7.org/fhir/fhir-types"; + case INVENTORYREPORT: return "http://hl7.org/fhir/fhir-types"; + case INVOICE: return "http://hl7.org/fhir/fhir-types"; + case LIBRARY: return "http://hl7.org/fhir/fhir-types"; + case LINKAGE: return "http://hl7.org/fhir/fhir-types"; + case LIST: return "http://hl7.org/fhir/fhir-types"; + case LOCATION: return "http://hl7.org/fhir/fhir-types"; + case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MEASURE: return "http://hl7.org/fhir/fhir-types"; + case MEASUREREPORT: return "http://hl7.org/fhir/fhir-types"; + case MEDICATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONDISPENSE: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONUSAGE: return "http://hl7.org/fhir/fhir-types"; + case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MESSAGEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MESSAGEHEADER: return "http://hl7.org/fhir/fhir-types"; + case METADATARESOURCE: return "http://hl7.org/fhir/fhir-types"; + case MOLECULARSEQUENCE: return "http://hl7.org/fhir/fhir-types"; + case NAMINGSYSTEM: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONINTAKE: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONPRODUCT: return "http://hl7.org/fhir/fhir-types"; + case OBSERVATION: return "http://hl7.org/fhir/fhir-types"; + case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case OPERATIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case OPERATIONOUTCOME: return "http://hl7.org/fhir/fhir-types"; + case ORGANIZATION: return "http://hl7.org/fhir/fhir-types"; + case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/fhir-types"; + case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PATIENT: return "http://hl7.org/fhir/fhir-types"; + case PAYMENTNOTICE: return "http://hl7.org/fhir/fhir-types"; + case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/fhir-types"; + case PERMISSION: return "http://hl7.org/fhir/fhir-types"; + case PERSON: return "http://hl7.org/fhir/fhir-types"; + case PLANDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PRACTITIONER: return "http://hl7.org/fhir/fhir-types"; + case PRACTITIONERROLE: return "http://hl7.org/fhir/fhir-types"; + case PROCEDURE: return "http://hl7.org/fhir/fhir-types"; + case PROVENANCE: return "http://hl7.org/fhir/fhir-types"; + case QUESTIONNAIRE: return "http://hl7.org/fhir/fhir-types"; + case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/fhir-types"; + case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/fhir-types"; + case RELATEDPERSON: return "http://hl7.org/fhir/fhir-types"; + case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types"; + case REQUIREMENTS: return "http://hl7.org/fhir/fhir-types"; + case RESEARCHSTUDY: return "http://hl7.org/fhir/fhir-types"; + case RESEARCHSUBJECT: return "http://hl7.org/fhir/fhir-types"; + case RISKASSESSMENT: return "http://hl7.org/fhir/fhir-types"; + case SCHEDULE: return "http://hl7.org/fhir/fhir-types"; + case SEARCHPARAMETER: return "http://hl7.org/fhir/fhir-types"; + case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case SLOT: return "http://hl7.org/fhir/fhir-types"; + case SPECIMEN: return "http://hl7.org/fhir/fhir-types"; + case SPECIMENDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case STRUCTUREDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case STRUCTUREMAP: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTION: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCE: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYDELIVERY: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case TASK: return "http://hl7.org/fhir/fhir-types"; + case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/fhir-types"; + case TESTREPORT: return "http://hl7.org/fhir/fhir-types"; + case TESTSCRIPT: return "http://hl7.org/fhir/fhir-types"; + case TRANSPORT: return "http://hl7.org/fhir/fhir-types"; + case VALUESET: return "http://hl7.org/fhir/fhir-types"; + case VERIFICATIONRESULT: return "http://hl7.org/fhir/fhir-types"; + case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types"; + case PARAMETERS: return "http://hl7.org/fhir/fhir-types"; case NULL: return null; default: return "?"; } } public String getDefinition() { switch (this) { - case ADDRESS: return "An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world."; - case AGE: return "A duration of time during which an organism (or a process) has existed."; - case ANNOTATION: return "A text note which also contains information about who made the statement and when."; - case ATTACHMENT: return "For referring to data content defined in other formats."; - case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type."; - case BACKBONETYPE: return "Base definition for the few data types that are allowed to carry modifier extensions."; - case BASE: return "Base definition for all types defined in FHIR type system."; - case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; - case CODEABLEREFERENCE: return "A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class)."; - case CODING: return "A reference to a code defined by a terminology system."; - case CONTACTDETAIL: return "Specifies contact information for a person or organization."; - case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; - case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers."; - case COUNT: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; - case DATAREQUIREMENT: return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data."; - case DATATYPE: return "The base class for all re-useable types defined as part of the FHIR Specification."; - case DISTANCE: return "A length - a value with a unit that is a physical distance."; - case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient."; - case DURATION: return "A length of time."; - case ELEMENT: return "Base definition for all elements in a resource."; - case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension."; - case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used."; - case EXTENDEDCONTACTDETAIL: return "Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization."; - case EXTENSION: return "Optional Extension Element - found in all resources."; - case HUMANNAME: return "A human's name with the ability to identify parts and usage."; - case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."; - case MARKETINGSTATUS: return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available."; - case META: return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource."; - case MONEY: return "An amount of economic utility in some recognized currency."; - case MONEYQUANTITY: return ""; - case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource."; - case PARAMETERDEFINITION: return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse."; - case PERIOD: return "A time period defined by a start and end date and optionally time."; - case POPULATION: return "A populatioof people with some set of grouping criteria."; - case PRIMITIVETYPE: return "The base type for all re-useable types defined that have a simple property."; - case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class."; - case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; - case RANGE: return "A set of ordered Quantities defined by a low and high limit."; - case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator."; - case RATIORANGE: return "A range of ratios expressed as a low and high numerator and a denominator."; - case REFERENCE: return "A reference from one resource to another."; - case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references."; - case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; - case SIGNATURE: return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities."; - case SIMPLEQUANTITY: return ""; - case TIMING: return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out."; - case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element."; - case USAGECONTEXT: return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care)."; - case BASE64BINARY: return "A stream of bytes"; - case BOOLEAN: return "Value of \"true\" or \"false\""; - case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource"; - case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"; - case DATE: return "A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates."; - case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates."; - case DECIMAL: return "A rational number with implicit precision"; - case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive."; - case INSTANT: return "An instant in time - known at least to the second"; - case INTEGER: return "A whole number"; - case INTEGER64: return "A very large whole number"; - case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine"; - case OID: return "An OID represented as a URI"; - case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)"; - case STRING: return "A sequence of Unicode characters"; - case TIME: return "A time during the day, with no date specified"; - case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)"; - case URI: return "String of characters used to identify a name or a resource"; - case URL: return "A URI that is a literal reference"; - case UUID: return "A UUID, represented as a URI"; - case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; - case RESOURCE: return "--- Abstract Type! ---This is the base resource type for everything."; + case BASE: return "Base Type: Base definition for all types defined in FHIR type system."; + case ELEMENT: return "Element Type: Base definition for all elements in a resource."; + case BACKBONEELEMENT: return "BackboneElement Type: Base definition for all elements that are defined inside a resource - but not those in a data type."; + case DATATYPE: return "DataType Type: The base class for all re-useable types defined as part of the FHIR Specification."; + case ADDRESS: return "Address Type: An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world.\nThe ISO21090-codedString may be used to provide a coded representation of the contents of strings in an Address."; + case ANNOTATION: return "Annotation Type: A text note which also contains information about who made the statement and when."; + case ATTACHMENT: return "Attachment Type: For referring to data content defined in other formats."; + case AVAILABILITY: return "Availability Type: Availability data for an {item}."; + case BACKBONETYPE: return "BackboneType Type: Base definition for the few data types that are allowed to carry modifier extensions."; + case DOSAGE: return "Dosage Type: Indicates how the medication is/was taken or should be taken by the patient."; + case ELEMENTDEFINITION: return "ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension."; + case MARKETINGSTATUS: return "MarketingStatus Type: The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available."; + case POPULATION: return "Population Type: A populatioof people with some set of grouping criteria."; + case PRODUCTSHELFLIFE: return "ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class."; + case TIMING: return "Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out."; + case CODEABLECONCEPT: return "CodeableConcept Type: A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; + case CODEABLEREFERENCE: return "CodeableReference Type: A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class)."; + case CODING: return "Coding Type: A reference to a code defined by a terminology system."; + case CONTACTDETAIL: return "ContactDetail Type: Specifies contact information for a person or organization."; + case CONTACTPOINT: return "ContactPoint Type: Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; + case CONTRIBUTOR: return "Contributor Type: A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers."; + case DATAREQUIREMENT: return "DataRequirement Type: Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data."; + case EXPRESSION: return "Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used."; + case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail Type: Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization."; + case EXTENSION: return "Extension Type: Optional Extension Element - found in all resources."; + case HUMANNAME: return "HumanName Type: A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information."; + case IDENTIFIER: return "Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."; + case META: return "Meta Type: The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource."; + case MONETARYCOMPONENT: return "MonetaryComponent Type: Availability data for an {item}."; + case MONEY: return "Money Type: An amount of economic utility in some recognized currency."; + case NARRATIVE: return "Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource."; + case PARAMETERDEFINITION: return "ParameterDefinition Type: The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse."; + case PERIOD: return "Period Type: A time period defined by a start and end date and optionally time."; + case PRIMITIVETYPE: return "PrimitiveType Type: The base type for all re-useable types defined that have a simple property."; + case BASE64BINARY: return "base64Binary Type: A stream of bytes"; + case BOOLEAN: return "boolean Type: Value of \"true\" or \"false\""; + case DATE: return "date Type: A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates."; + case DATETIME: return "dateTime Type: A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates."; + case DECIMAL: return "decimal Type: A rational number with implicit precision"; + case INSTANT: return "instant Type: An instant in time - known at least to the second"; + case INTEGER: return "integer Type: A whole number"; + case POSITIVEINT: return "positiveInt type: An integer with a value that is positive (e.g. >0)"; + case UNSIGNEDINT: return "unsignedInt type: An integer with a value that is not negative (e.g. >= 0)"; + case INTEGER64: return "integer64 Type: A very large whole number"; + case STRING: return "string Type: A sequence of Unicode characters"; + case CODE: return "code type: A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"; + case ID: return "id type: Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive."; + case MARKDOWN: return "markdown type: A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine"; + case TIME: return "time Type: A time during the day, with no date specified"; + case URI: return "uri Type: String of characters used to identify a name or a resource"; + case CANONICAL: return "canonical type: A URI that is a reference to a canonical URL on a FHIR resource"; + case OID: return "oid type: An OID represented as a URI"; + case URL: return "url type: A URI that is a literal reference"; + case UUID: return "uuid type: A UUID, represented as a URI"; + case QUANTITY: return "Quantity Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; + case AGE: return "Age Type: A duration of time during which an organism (or a process) has existed."; + case COUNT: return "Count Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; + case DISTANCE: return "Distance Type: A length - a value with a unit that is a physical distance."; + case DURATION: return "Duration Type: A length of time."; + case RANGE: return "Range Type: A set of ordered Quantities defined by a low and high limit."; + case RATIO: return "Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator."; + case RATIORANGE: return "RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator."; + case REFERENCE: return "Reference Type: A reference from one resource to another."; + case RELATEDARTIFACT: return "RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references."; + case SAMPLEDDATA: return "SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; + case SIGNATURE: return "Signature Type: A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities."; + case TRIGGERDEFINITION: return "TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element."; + case USAGECONTEXT: return "UsageContext Type: Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care)."; + case VIRTUALSERVICEDETAIL: return "VirtualServiceDetail Type: Virtual Service Contact Details."; + case XHTML: return "xhtml Type definition"; + case RESOURCE: return "This is the base resource type for everything."; case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc."; case BUNDLE: return "A container for a collection of resources."; - case DOMAINRESOURCE: return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; + case DOMAINRESOURCE: return "A resource that includes narrative, extensions, and contained resources."; case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc."; + case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; + case ACTORDEFINITION: return "The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays."; case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed)."; - case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects."; + case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints."; case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; @@ -4718,49 +10703,25 @@ The primary difference between a medicationusage and a medicationadministration case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity."; case BODYSTRUCTURE: return "Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; - case CANONICALRESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; - case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case CAPABILITYSTATEMENT2: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; - case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; - case EXAMPLESCENARIO: return "Example of workflow instance."; - case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; - case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; - case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; - case METADATARESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; - case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; - case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; - case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; - case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; - case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; - case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; - case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; - case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; - case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; - case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; - case MEASURE: return "The Measure resource provides the definition of a quality measure."; - case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; - case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; - case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; - case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; - case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; - case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; - case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; - case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; - case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; - case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; + case CANONICALRESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources."; + case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care."; case CHARGEITEM: return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation."; + case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; + case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement."; case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure."; + case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition."; case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; + case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; case COMPOSITION: return "A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.)."; + case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern."; + case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; case CONSENT: return "A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time."; case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement."; case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment."; @@ -4776,32 +10737,42 @@ The primary difference between a medicationusage and a medicationadministration case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances."; case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection."; case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference."; - case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; + case ENCOUNTER: return "An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s)."; case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information."; case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource."; case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; + case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; + case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; + case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; + case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; + case EXAMPLESCENARIO: return "A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time."; case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient."; case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself."; + case GENOMICSTUDY: return "A Genomic Study is a set of analysis performed to analyze and generate genomic data."; case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; + case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; case GUIDANCERESPONSE: return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken."; - case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; + case HEALTHCARESERVICE: return "The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices."; case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource."; case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; case IMMUNIZATION: return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party."; case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations."; case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; + case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product."; case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization."; case INVENTORYREPORT: return "A report of inventory or stock items."; case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose."; + case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\"."; - case LIST: return "A list is a curated collection of resources."; + case LIST: return "A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc."; case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated."; case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product."; + case MEASURE: return "The Measure resource provides the definition of a quality measure."; case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation."; case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use."; case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; @@ -4810,13 +10781,17 @@ The primary difference between a medicationusage and a medicationadministration case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; case MEDICATIONUSAGE: return "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. \n\nThe 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."; case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.)."; + case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; + case METADATARESOURCE: return "Common Interface declaration for conformance and knowledge artifact resources."; case MOLECULARSEQUENCE: return "Representation of a molecular sequence."; + case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake."; case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients."; case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service."; + case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action."; case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc."; case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship."; @@ -4824,26 +10799,33 @@ The primary difference between a medicationusage and a medicationadministration case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid."; - case PERMISSION: return "Permission."; + case PERMISSION: return "Permission resource holds access rules for a given data and context."; case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; - case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; - case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time."; + case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; + case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare or related services."; + case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time."; case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing."; case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; + case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to."; case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product."; case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; - case REQUESTGROUP: return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; - case RESEARCHSTUDY: return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects."; + case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; + case REQUIREMENTS: return "The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays."; + case RESEARCHSTUDY: return "A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future."; case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study."; case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; case SCHEDULE: return "A container for slots of time that may be available for booking appointments."; + case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; case SPECIMEN: return "A sample to be used for analysis."; case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements."; + case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; + case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic."; - case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications."; + case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted."; + case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; case SUBSTANCE: return "A homogeneous material with a definite composition."; case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing."; case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction."; @@ -4854,56 +10836,79 @@ The primary difference between a medicationusage and a medicationadministration case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting."; case TASK: return "A task to be performed."; + case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; case TESTREPORT: return "A summary of information based on the results of executing a TestScript."; + case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; case TRANSPORT: return "Record of transport."; + case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements."; case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; - case PARAMETERS: return "This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it."; - case TYPE: return "A place holder that means any kind of data type"; - case ANY: return "A place holder that means any kind of resource"; + case PARAMETERS: return "This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource."; case NULL: return null; default: return "?"; } } public String getDisplay() { switch (this) { + case BASE: return "Base"; + case ELEMENT: return "Element"; + case BACKBONEELEMENT: return "BackboneElement"; + case DATATYPE: return "DataType"; case ADDRESS: return "Address"; - case AGE: return "Age"; case ANNOTATION: return "Annotation"; case ATTACHMENT: return "Attachment"; - case BACKBONEELEMENT: return "BackboneElement"; + case AVAILABILITY: return "Availability"; case BACKBONETYPE: return "BackboneType"; - case BASE: return "Base"; + case DOSAGE: return "Dosage"; + case ELEMENTDEFINITION: return "ElementDefinition"; + case MARKETINGSTATUS: return "MarketingStatus"; + case POPULATION: return "Population"; + case PRODUCTSHELFLIFE: return "ProductShelfLife"; + case TIMING: return "Timing"; case CODEABLECONCEPT: return "CodeableConcept"; case CODEABLEREFERENCE: return "CodeableReference"; case CODING: return "Coding"; case CONTACTDETAIL: return "ContactDetail"; case CONTACTPOINT: return "ContactPoint"; case CONTRIBUTOR: return "Contributor"; - case COUNT: return "Count"; case DATAREQUIREMENT: return "DataRequirement"; - case DATATYPE: return "DataType"; - case DISTANCE: return "Distance"; - case DOSAGE: return "Dosage"; - case DURATION: return "Duration"; - case ELEMENT: return "Element"; - case ELEMENTDEFINITION: return "ElementDefinition"; case EXPRESSION: return "Expression"; case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail"; case EXTENSION: return "Extension"; case HUMANNAME: return "HumanName"; case IDENTIFIER: return "Identifier"; - case MARKETINGSTATUS: return "MarketingStatus"; case META: return "Meta"; + case MONETARYCOMPONENT: return "MonetaryComponent"; case MONEY: return "Money"; - case MONEYQUANTITY: return "MoneyQuantity"; case NARRATIVE: return "Narrative"; case PARAMETERDEFINITION: return "ParameterDefinition"; case PERIOD: return "Period"; - case POPULATION: return "Population"; case PRIMITIVETYPE: return "PrimitiveType"; - case PRODUCTSHELFLIFE: return "ProductShelfLife"; + case BASE64BINARY: return "base64Binary"; + case BOOLEAN: return "boolean"; + case DATE: return "date"; + case DATETIME: return "dateTime"; + case DECIMAL: return "decimal"; + case INSTANT: return "instant"; + case INTEGER: return "integer"; + case POSITIVEINT: return "positiveInt"; + case UNSIGNEDINT: return "unsignedInt"; + case INTEGER64: return "integer64"; + case STRING: return "string"; + case CODE: return "code"; + case ID: return "id"; + case MARKDOWN: return "markdown"; + case TIME: return "time"; + case URI: return "uri"; + case CANONICAL: return "canonical"; + case OID: return "oid"; + case URL: return "url"; + case UUID: return "uuid"; case QUANTITY: return "Quantity"; + case AGE: return "Age"; + case COUNT: return "Count"; + case DISTANCE: return "Distance"; + case DURATION: return "Duration"; case RANGE: return "Range"; case RATIO: return "Ratio"; case RATIORANGE: return "RatioRange"; @@ -4911,36 +10916,17 @@ The primary difference between a medicationusage and a medicationadministration case RELATEDARTIFACT: return "RelatedArtifact"; case SAMPLEDDATA: return "SampledData"; case SIGNATURE: return "Signature"; - case SIMPLEQUANTITY: return "SimpleQuantity"; - case TIMING: return "Timing"; case TRIGGERDEFINITION: return "TriggerDefinition"; case USAGECONTEXT: return "UsageContext"; - case BASE64BINARY: return "base64Binary"; - case BOOLEAN: return "boolean"; - case CANONICAL: return "canonical"; - case CODE: return "code"; - case DATE: return "date"; - case DATETIME: return "dateTime"; - case DECIMAL: return "decimal"; - case ID: return "id"; - case INSTANT: return "instant"; - case INTEGER: return "integer"; - case INTEGER64: return "integer64"; - case MARKDOWN: return "markdown"; - case OID: return "oid"; - case POSITIVEINT: return "positiveInt"; - case STRING: return "string"; - case TIME: return "time"; - case UNSIGNEDINT: return "unsignedInt"; - case URI: return "uri"; - case URL: return "url"; - case UUID: return "uuid"; - case XHTML: return "XHTML"; + case VIRTUALSERVICEDETAIL: return "VirtualServiceDetail"; + case XHTML: return "xhtml"; case RESOURCE: return "Resource"; case BINARY: return "Binary"; case BUNDLE: return "Bundle"; case DOMAINRESOURCE: return "DomainResource"; case ACCOUNT: return "Account"; + case ACTIVITYDEFINITION: return "ActivityDefinition"; + case ACTORDEFINITION: return "ActorDefinition"; case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; case ADVERSEEVENT: return "AdverseEvent"; case ALLERGYINTOLERANCE: return "AllergyIntolerance"; @@ -4953,47 +10939,23 @@ The primary difference between a medicationusage and a medicationadministration case BODYSTRUCTURE: return "BodyStructure"; case CANONICALRESOURCE: return "CanonicalResource"; case CAPABILITYSTATEMENT: return "CapabilityStatement"; - case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; - case CODESYSTEM: return "CodeSystem"; - case COMPARTMENTDEFINITION: return "CompartmentDefinition"; - case EXAMPLESCENARIO: return "ExampleScenario"; - case GRAPHDEFINITION: return "GraphDefinition"; - case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; - case MESSAGEDEFINITION: return "MessageDefinition"; - case METADATARESOURCE: return "MetadataResource"; - case ACTIVITYDEFINITION: return "ActivityDefinition"; - case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; - case CITATION: return "Citation"; - case CONCEPTMAP: return "ConceptMap"; - case CONDITIONDEFINITION: return "ConditionDefinition"; - case EVENTDEFINITION: return "EventDefinition"; - case EVIDENCE: return "Evidence"; - case EVIDENCEREPORT: return "EvidenceReport"; - case EVIDENCEVARIABLE: return "EvidenceVariable"; - case LIBRARY: return "Library"; - case MEASURE: return "Measure"; - case NAMINGSYSTEM: return "NamingSystem"; - case PLANDEFINITION: return "PlanDefinition"; - case QUESTIONNAIRE: return "Questionnaire"; - case OPERATIONDEFINITION: return "OperationDefinition"; - case SEARCHPARAMETER: return "SearchParameter"; - case STRUCTUREDEFINITION: return "StructureDefinition"; - case STRUCTUREMAP: return "StructureMap"; - case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; - case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; - case TESTSCRIPT: return "TestScript"; - case VALUESET: return "ValueSet"; case CAREPLAN: return "CarePlan"; case CARETEAM: return "CareTeam"; case CHARGEITEM: return "ChargeItem"; + case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; + case CITATION: return "Citation"; case CLAIM: return "Claim"; case CLAIMRESPONSE: return "ClaimResponse"; case CLINICALIMPRESSION: return "ClinicalImpression"; case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; + case CODESYSTEM: return "CodeSystem"; case COMMUNICATION: return "Communication"; case COMMUNICATIONREQUEST: return "CommunicationRequest"; + case COMPARTMENTDEFINITION: return "CompartmentDefinition"; case COMPOSITION: return "Composition"; + case CONCEPTMAP: return "ConceptMap"; case CONDITION: return "Condition"; + case CONDITIONDEFINITION: return "ConditionDefinition"; case CONSENT: return "Consent"; case CONTRACT: return "Contract"; case COVERAGE: return "Coverage"; @@ -5014,11 +10976,18 @@ The primary difference between a medicationusage and a medicationadministration case ENROLLMENTREQUEST: return "EnrollmentRequest"; case ENROLLMENTRESPONSE: return "EnrollmentResponse"; case EPISODEOFCARE: return "EpisodeOfCare"; + case EVENTDEFINITION: return "EventDefinition"; + case EVIDENCE: return "Evidence"; + case EVIDENCEREPORT: return "EvidenceReport"; + case EVIDENCEVARIABLE: return "EvidenceVariable"; + case EXAMPLESCENARIO: return "ExampleScenario"; case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; case FLAG: return "Flag"; case FORMULARYITEM: return "FormularyItem"; + case GENOMICSTUDY: return "GenomicStudy"; case GOAL: return "Goal"; + case GRAPHDEFINITION: return "GraphDefinition"; case GROUP: return "Group"; case GUIDANCERESPONSE: return "GuidanceResponse"; case HEALTHCARESERVICE: return "HealthcareService"; @@ -5027,14 +10996,17 @@ The primary difference between a medicationusage and a medicationadministration case IMMUNIZATION: return "Immunization"; case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; + case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; case INGREDIENT: return "Ingredient"; case INSURANCEPLAN: return "InsurancePlan"; case INVENTORYREPORT: return "InventoryReport"; case INVOICE: return "Invoice"; + case LIBRARY: return "Library"; case LINKAGE: return "Linkage"; case LIST: return "List"; case LOCATION: return "Location"; case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; + case MEASURE: return "Measure"; case MEASUREREPORT: return "MeasureReport"; case MEDICATION: return "Medication"; case MEDICATIONADMINISTRATION: return "MedicationAdministration"; @@ -5043,13 +11015,17 @@ The primary difference between a medicationusage and a medicationadministration case MEDICATIONREQUEST: return "MedicationRequest"; case MEDICATIONUSAGE: return "MedicationUsage"; case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; + case MESSAGEDEFINITION: return "MessageDefinition"; case MESSAGEHEADER: return "MessageHeader"; + case METADATARESOURCE: return "MetadataResource"; case MOLECULARSEQUENCE: return "MolecularSequence"; + case NAMINGSYSTEM: return "NamingSystem"; case NUTRITIONINTAKE: return "NutritionIntake"; case NUTRITIONORDER: return "NutritionOrder"; case NUTRITIONPRODUCT: return "NutritionProduct"; case OBSERVATION: return "Observation"; case OBSERVATIONDEFINITION: return "ObservationDefinition"; + case OPERATIONDEFINITION: return "OperationDefinition"; case OPERATIONOUTCOME: return "OperationOutcome"; case ORGANIZATION: return "Organization"; case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; @@ -5059,24 +11035,31 @@ The primary difference between a medicationusage and a medicationadministration case PAYMENTRECONCILIATION: return "PaymentReconciliation"; case PERMISSION: return "Permission"; case PERSON: return "Person"; + case PLANDEFINITION: return "PlanDefinition"; case PRACTITIONER: return "Practitioner"; case PRACTITIONERROLE: return "PractitionerRole"; case PROCEDURE: return "Procedure"; case PROVENANCE: return "Provenance"; + case QUESTIONNAIRE: return "Questionnaire"; case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; case RELATEDPERSON: return "RelatedPerson"; - case REQUESTGROUP: return "RequestGroup"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; + case REQUIREMENTS: return "Requirements"; case RESEARCHSTUDY: return "ResearchStudy"; case RESEARCHSUBJECT: return "ResearchSubject"; case RISKASSESSMENT: return "RiskAssessment"; case SCHEDULE: return "Schedule"; + case SEARCHPARAMETER: return "SearchParameter"; case SERVICEREQUEST: return "ServiceRequest"; case SLOT: return "Slot"; case SPECIMEN: return "Specimen"; case SPECIMENDEFINITION: return "SpecimenDefinition"; + case STRUCTUREDEFINITION: return "StructureDefinition"; + case STRUCTUREMAP: return "StructureMap"; case SUBSCRIPTION: return "Subscription"; case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; + case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; case SUBSTANCE: return "Substance"; case SUBSTANCEDEFINITION: return "SubstanceDefinition"; case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; @@ -5087,1402 +11070,1409 @@ The primary difference between a medicationusage and a medicationadministration case SUPPLYDELIVERY: return "SupplyDelivery"; case SUPPLYREQUEST: return "SupplyRequest"; case TASK: return "Task"; + case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; case TESTREPORT: return "TestReport"; + case TESTSCRIPT: return "TestScript"; case TRANSPORT: return "Transport"; + case VALUESET: return "ValueSet"; case VERIFICATIONRESULT: return "VerificationResult"; case VISIONPRESCRIPTION: return "VisionPrescription"; case PARAMETERS: return "Parameters"; - case TYPE: return "Type"; - case ANY: return "Any"; case NULL: return null; default: return "?"; } } } - public static class FHIRAllTypesEnumFactory implements EnumFactory { - public FHIRAllTypes fromCode(String codeString) throws IllegalArgumentException { + public static class FHIRTypesEnumFactory implements EnumFactory { + public FHIRTypes fromCode(String codeString) throws IllegalArgumentException { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; - if ("Address".equals(codeString)) - return FHIRAllTypes.ADDRESS; - if ("Age".equals(codeString)) - return FHIRAllTypes.AGE; - if ("Annotation".equals(codeString)) - return FHIRAllTypes.ANNOTATION; - if ("Attachment".equals(codeString)) - return FHIRAllTypes.ATTACHMENT; - if ("BackboneElement".equals(codeString)) - return FHIRAllTypes.BACKBONEELEMENT; - if ("BackboneType".equals(codeString)) - return FHIRAllTypes.BACKBONETYPE; if ("Base".equals(codeString)) - return FHIRAllTypes.BASE; - if ("CodeableConcept".equals(codeString)) - return FHIRAllTypes.CODEABLECONCEPT; - if ("CodeableReference".equals(codeString)) - return FHIRAllTypes.CODEABLEREFERENCE; - if ("Coding".equals(codeString)) - return FHIRAllTypes.CODING; - if ("ContactDetail".equals(codeString)) - return FHIRAllTypes.CONTACTDETAIL; - if ("ContactPoint".equals(codeString)) - return FHIRAllTypes.CONTACTPOINT; - if ("Contributor".equals(codeString)) - return FHIRAllTypes.CONTRIBUTOR; - if ("Count".equals(codeString)) - return FHIRAllTypes.COUNT; - if ("DataRequirement".equals(codeString)) - return FHIRAllTypes.DATAREQUIREMENT; - if ("DataType".equals(codeString)) - return FHIRAllTypes.DATATYPE; - if ("Distance".equals(codeString)) - return FHIRAllTypes.DISTANCE; - if ("Dosage".equals(codeString)) - return FHIRAllTypes.DOSAGE; - if ("Duration".equals(codeString)) - return FHIRAllTypes.DURATION; + return FHIRTypes.BASE; if ("Element".equals(codeString)) - return FHIRAllTypes.ELEMENT; + return FHIRTypes.ELEMENT; + if ("BackboneElement".equals(codeString)) + return FHIRTypes.BACKBONEELEMENT; + if ("DataType".equals(codeString)) + return FHIRTypes.DATATYPE; + if ("Address".equals(codeString)) + return FHIRTypes.ADDRESS; + if ("Annotation".equals(codeString)) + return FHIRTypes.ANNOTATION; + if ("Attachment".equals(codeString)) + return FHIRTypes.ATTACHMENT; + if ("Availability".equals(codeString)) + return FHIRTypes.AVAILABILITY; + if ("BackboneType".equals(codeString)) + return FHIRTypes.BACKBONETYPE; + if ("Dosage".equals(codeString)) + return FHIRTypes.DOSAGE; if ("ElementDefinition".equals(codeString)) - return FHIRAllTypes.ELEMENTDEFINITION; - if ("Expression".equals(codeString)) - return FHIRAllTypes.EXPRESSION; - if ("ExtendedContactDetail".equals(codeString)) - return FHIRAllTypes.EXTENDEDCONTACTDETAIL; - if ("Extension".equals(codeString)) - return FHIRAllTypes.EXTENSION; - if ("HumanName".equals(codeString)) - return FHIRAllTypes.HUMANNAME; - if ("Identifier".equals(codeString)) - return FHIRAllTypes.IDENTIFIER; + return FHIRTypes.ELEMENTDEFINITION; if ("MarketingStatus".equals(codeString)) - return FHIRAllTypes.MARKETINGSTATUS; - if ("Meta".equals(codeString)) - return FHIRAllTypes.META; - if ("Money".equals(codeString)) - return FHIRAllTypes.MONEY; - if ("MoneyQuantity".equals(codeString)) - return FHIRAllTypes.MONEYQUANTITY; - if ("Narrative".equals(codeString)) - return FHIRAllTypes.NARRATIVE; - if ("ParameterDefinition".equals(codeString)) - return FHIRAllTypes.PARAMETERDEFINITION; - if ("Period".equals(codeString)) - return FHIRAllTypes.PERIOD; + return FHIRTypes.MARKETINGSTATUS; if ("Population".equals(codeString)) - return FHIRAllTypes.POPULATION; - if ("PrimitiveType".equals(codeString)) - return FHIRAllTypes.PRIMITIVETYPE; + return FHIRTypes.POPULATION; if ("ProductShelfLife".equals(codeString)) - return FHIRAllTypes.PRODUCTSHELFLIFE; - if ("Quantity".equals(codeString)) - return FHIRAllTypes.QUANTITY; - if ("Range".equals(codeString)) - return FHIRAllTypes.RANGE; - if ("Ratio".equals(codeString)) - return FHIRAllTypes.RATIO; - if ("RatioRange".equals(codeString)) - return FHIRAllTypes.RATIORANGE; - if ("Reference".equals(codeString)) - return FHIRAllTypes.REFERENCE; - if ("RelatedArtifact".equals(codeString)) - return FHIRAllTypes.RELATEDARTIFACT; - if ("SampledData".equals(codeString)) - return FHIRAllTypes.SAMPLEDDATA; - if ("Signature".equals(codeString)) - return FHIRAllTypes.SIGNATURE; - if ("SimpleQuantity".equals(codeString)) - return FHIRAllTypes.SIMPLEQUANTITY; + return FHIRTypes.PRODUCTSHELFLIFE; if ("Timing".equals(codeString)) - return FHIRAllTypes.TIMING; - if ("TriggerDefinition".equals(codeString)) - return FHIRAllTypes.TRIGGERDEFINITION; - if ("UsageContext".equals(codeString)) - return FHIRAllTypes.USAGECONTEXT; + return FHIRTypes.TIMING; + if ("CodeableConcept".equals(codeString)) + return FHIRTypes.CODEABLECONCEPT; + if ("CodeableReference".equals(codeString)) + return FHIRTypes.CODEABLEREFERENCE; + if ("Coding".equals(codeString)) + return FHIRTypes.CODING; + if ("ContactDetail".equals(codeString)) + return FHIRTypes.CONTACTDETAIL; + if ("ContactPoint".equals(codeString)) + return FHIRTypes.CONTACTPOINT; + if ("Contributor".equals(codeString)) + return FHIRTypes.CONTRIBUTOR; + if ("DataRequirement".equals(codeString)) + return FHIRTypes.DATAREQUIREMENT; + if ("Expression".equals(codeString)) + return FHIRTypes.EXPRESSION; + if ("ExtendedContactDetail".equals(codeString)) + return FHIRTypes.EXTENDEDCONTACTDETAIL; + if ("Extension".equals(codeString)) + return FHIRTypes.EXTENSION; + if ("HumanName".equals(codeString)) + return FHIRTypes.HUMANNAME; + if ("Identifier".equals(codeString)) + return FHIRTypes.IDENTIFIER; + if ("Meta".equals(codeString)) + return FHIRTypes.META; + if ("MonetaryComponent".equals(codeString)) + return FHIRTypes.MONETARYCOMPONENT; + if ("Money".equals(codeString)) + return FHIRTypes.MONEY; + if ("Narrative".equals(codeString)) + return FHIRTypes.NARRATIVE; + if ("ParameterDefinition".equals(codeString)) + return FHIRTypes.PARAMETERDEFINITION; + if ("Period".equals(codeString)) + return FHIRTypes.PERIOD; + if ("PrimitiveType".equals(codeString)) + return FHIRTypes.PRIMITIVETYPE; if ("base64Binary".equals(codeString)) - return FHIRAllTypes.BASE64BINARY; + return FHIRTypes.BASE64BINARY; if ("boolean".equals(codeString)) - return FHIRAllTypes.BOOLEAN; - if ("canonical".equals(codeString)) - return FHIRAllTypes.CANONICAL; - if ("code".equals(codeString)) - return FHIRAllTypes.CODE; + return FHIRTypes.BOOLEAN; if ("date".equals(codeString)) - return FHIRAllTypes.DATE; + return FHIRTypes.DATE; if ("dateTime".equals(codeString)) - return FHIRAllTypes.DATETIME; + return FHIRTypes.DATETIME; if ("decimal".equals(codeString)) - return FHIRAllTypes.DECIMAL; - if ("id".equals(codeString)) - return FHIRAllTypes.ID; + return FHIRTypes.DECIMAL; if ("instant".equals(codeString)) - return FHIRAllTypes.INSTANT; + return FHIRTypes.INSTANT; if ("integer".equals(codeString)) - return FHIRAllTypes.INTEGER; - if ("integer64".equals(codeString)) - return FHIRAllTypes.INTEGER64; - if ("markdown".equals(codeString)) - return FHIRAllTypes.MARKDOWN; - if ("oid".equals(codeString)) - return FHIRAllTypes.OID; + return FHIRTypes.INTEGER; if ("positiveInt".equals(codeString)) - return FHIRAllTypes.POSITIVEINT; - if ("string".equals(codeString)) - return FHIRAllTypes.STRING; - if ("time".equals(codeString)) - return FHIRAllTypes.TIME; + return FHIRTypes.POSITIVEINT; if ("unsignedInt".equals(codeString)) - return FHIRAllTypes.UNSIGNEDINT; + return FHIRTypes.UNSIGNEDINT; + if ("integer64".equals(codeString)) + return FHIRTypes.INTEGER64; + if ("string".equals(codeString)) + return FHIRTypes.STRING; + if ("code".equals(codeString)) + return FHIRTypes.CODE; + if ("id".equals(codeString)) + return FHIRTypes.ID; + if ("markdown".equals(codeString)) + return FHIRTypes.MARKDOWN; + if ("time".equals(codeString)) + return FHIRTypes.TIME; if ("uri".equals(codeString)) - return FHIRAllTypes.URI; + return FHIRTypes.URI; + if ("canonical".equals(codeString)) + return FHIRTypes.CANONICAL; + if ("oid".equals(codeString)) + return FHIRTypes.OID; if ("url".equals(codeString)) - return FHIRAllTypes.URL; + return FHIRTypes.URL; if ("uuid".equals(codeString)) - return FHIRAllTypes.UUID; + return FHIRTypes.UUID; + if ("Quantity".equals(codeString)) + return FHIRTypes.QUANTITY; + if ("Age".equals(codeString)) + return FHIRTypes.AGE; + if ("Count".equals(codeString)) + return FHIRTypes.COUNT; + if ("Distance".equals(codeString)) + return FHIRTypes.DISTANCE; + if ("Duration".equals(codeString)) + return FHIRTypes.DURATION; + if ("Range".equals(codeString)) + return FHIRTypes.RANGE; + if ("Ratio".equals(codeString)) + return FHIRTypes.RATIO; + if ("RatioRange".equals(codeString)) + return FHIRTypes.RATIORANGE; + if ("Reference".equals(codeString)) + return FHIRTypes.REFERENCE; + if ("RelatedArtifact".equals(codeString)) + return FHIRTypes.RELATEDARTIFACT; + if ("SampledData".equals(codeString)) + return FHIRTypes.SAMPLEDDATA; + if ("Signature".equals(codeString)) + return FHIRTypes.SIGNATURE; + if ("TriggerDefinition".equals(codeString)) + return FHIRTypes.TRIGGERDEFINITION; + if ("UsageContext".equals(codeString)) + return FHIRTypes.USAGECONTEXT; + if ("VirtualServiceDetail".equals(codeString)) + return FHIRTypes.VIRTUALSERVICEDETAIL; if ("xhtml".equals(codeString)) - return FHIRAllTypes.XHTML; + return FHIRTypes.XHTML; if ("Resource".equals(codeString)) - return FHIRAllTypes.RESOURCE; + return FHIRTypes.RESOURCE; if ("Binary".equals(codeString)) - return FHIRAllTypes.BINARY; + return FHIRTypes.BINARY; if ("Bundle".equals(codeString)) - return FHIRAllTypes.BUNDLE; + return FHIRTypes.BUNDLE; if ("DomainResource".equals(codeString)) - return FHIRAllTypes.DOMAINRESOURCE; + return FHIRTypes.DOMAINRESOURCE; if ("Account".equals(codeString)) - return FHIRAllTypes.ACCOUNT; - if ("AdministrableProductDefinition".equals(codeString)) - return FHIRAllTypes.ADMINISTRABLEPRODUCTDEFINITION; - if ("AdverseEvent".equals(codeString)) - return FHIRAllTypes.ADVERSEEVENT; - if ("AllergyIntolerance".equals(codeString)) - return FHIRAllTypes.ALLERGYINTOLERANCE; - if ("Appointment".equals(codeString)) - return FHIRAllTypes.APPOINTMENT; - if ("AppointmentResponse".equals(codeString)) - return FHIRAllTypes.APPOINTMENTRESPONSE; - if ("ArtifactAssessment".equals(codeString)) - return FHIRAllTypes.ARTIFACTASSESSMENT; - if ("AuditEvent".equals(codeString)) - return FHIRAllTypes.AUDITEVENT; - if ("Basic".equals(codeString)) - return FHIRAllTypes.BASIC; - if ("BiologicallyDerivedProduct".equals(codeString)) - return FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT; - if ("BodyStructure".equals(codeString)) - return FHIRAllTypes.BODYSTRUCTURE; - if ("CanonicalResource".equals(codeString)) - return FHIRAllTypes.CANONICALRESOURCE; - if ("CapabilityStatement".equals(codeString)) - return FHIRAllTypes.CAPABILITYSTATEMENT; - if ("CapabilityStatement2".equals(codeString)) - return FHIRAllTypes.CAPABILITYSTATEMENT2; - if ("CodeSystem".equals(codeString)) - return FHIRAllTypes.CODESYSTEM; - if ("CompartmentDefinition".equals(codeString)) - return FHIRAllTypes.COMPARTMENTDEFINITION; - if ("ExampleScenario".equals(codeString)) - return FHIRAllTypes.EXAMPLESCENARIO; - if ("GraphDefinition".equals(codeString)) - return FHIRAllTypes.GRAPHDEFINITION; - if ("ImplementationGuide".equals(codeString)) - return FHIRAllTypes.IMPLEMENTATIONGUIDE; - if ("MessageDefinition".equals(codeString)) - return FHIRAllTypes.MESSAGEDEFINITION; - if ("MetadataResource".equals(codeString)) - return FHIRAllTypes.METADATARESOURCE; + return FHIRTypes.ACCOUNT; if ("ActivityDefinition".equals(codeString)) - return FHIRAllTypes.ACTIVITYDEFINITION; - if ("ChargeItemDefinition".equals(codeString)) - return FHIRAllTypes.CHARGEITEMDEFINITION; - if ("Citation".equals(codeString)) - return FHIRAllTypes.CITATION; - if ("ConceptMap".equals(codeString)) - return FHIRAllTypes.CONCEPTMAP; - if ("ConditionDefinition".equals(codeString)) - return FHIRAllTypes.CONDITIONDEFINITION; - if ("EventDefinition".equals(codeString)) - return FHIRAllTypes.EVENTDEFINITION; - if ("Evidence".equals(codeString)) - return FHIRAllTypes.EVIDENCE; - if ("EvidenceReport".equals(codeString)) - return FHIRAllTypes.EVIDENCEREPORT; - if ("EvidenceVariable".equals(codeString)) - return FHIRAllTypes.EVIDENCEVARIABLE; - if ("Library".equals(codeString)) - return FHIRAllTypes.LIBRARY; - if ("Measure".equals(codeString)) - return FHIRAllTypes.MEASURE; - if ("NamingSystem".equals(codeString)) - return FHIRAllTypes.NAMINGSYSTEM; - if ("PlanDefinition".equals(codeString)) - return FHIRAllTypes.PLANDEFINITION; - if ("Questionnaire".equals(codeString)) - return FHIRAllTypes.QUESTIONNAIRE; - if ("OperationDefinition".equals(codeString)) - return FHIRAllTypes.OPERATIONDEFINITION; - if ("SearchParameter".equals(codeString)) - return FHIRAllTypes.SEARCHPARAMETER; - if ("StructureDefinition".equals(codeString)) - return FHIRAllTypes.STRUCTUREDEFINITION; - if ("StructureMap".equals(codeString)) - return FHIRAllTypes.STRUCTUREMAP; - if ("SubscriptionTopic".equals(codeString)) - return FHIRAllTypes.SUBSCRIPTIONTOPIC; - if ("TerminologyCapabilities".equals(codeString)) - return FHIRAllTypes.TERMINOLOGYCAPABILITIES; - if ("TestScript".equals(codeString)) - return FHIRAllTypes.TESTSCRIPT; - if ("ValueSet".equals(codeString)) - return FHIRAllTypes.VALUESET; + return FHIRTypes.ACTIVITYDEFINITION; + if ("ActorDefinition".equals(codeString)) + return FHIRTypes.ACTORDEFINITION; + if ("AdministrableProductDefinition".equals(codeString)) + return FHIRTypes.ADMINISTRABLEPRODUCTDEFINITION; + if ("AdverseEvent".equals(codeString)) + return FHIRTypes.ADVERSEEVENT; + if ("AllergyIntolerance".equals(codeString)) + return FHIRTypes.ALLERGYINTOLERANCE; + if ("Appointment".equals(codeString)) + return FHIRTypes.APPOINTMENT; + if ("AppointmentResponse".equals(codeString)) + return FHIRTypes.APPOINTMENTRESPONSE; + if ("ArtifactAssessment".equals(codeString)) + return FHIRTypes.ARTIFACTASSESSMENT; + if ("AuditEvent".equals(codeString)) + return FHIRTypes.AUDITEVENT; + if ("Basic".equals(codeString)) + return FHIRTypes.BASIC; + if ("BiologicallyDerivedProduct".equals(codeString)) + return FHIRTypes.BIOLOGICALLYDERIVEDPRODUCT; + if ("BodyStructure".equals(codeString)) + return FHIRTypes.BODYSTRUCTURE; + if ("CanonicalResource".equals(codeString)) + return FHIRTypes.CANONICALRESOURCE; + if ("CapabilityStatement".equals(codeString)) + return FHIRTypes.CAPABILITYSTATEMENT; if ("CarePlan".equals(codeString)) - return FHIRAllTypes.CAREPLAN; + return FHIRTypes.CAREPLAN; if ("CareTeam".equals(codeString)) - return FHIRAllTypes.CARETEAM; + return FHIRTypes.CARETEAM; if ("ChargeItem".equals(codeString)) - return FHIRAllTypes.CHARGEITEM; + return FHIRTypes.CHARGEITEM; + if ("ChargeItemDefinition".equals(codeString)) + return FHIRTypes.CHARGEITEMDEFINITION; + if ("Citation".equals(codeString)) + return FHIRTypes.CITATION; if ("Claim".equals(codeString)) - return FHIRAllTypes.CLAIM; + return FHIRTypes.CLAIM; if ("ClaimResponse".equals(codeString)) - return FHIRAllTypes.CLAIMRESPONSE; + return FHIRTypes.CLAIMRESPONSE; if ("ClinicalImpression".equals(codeString)) - return FHIRAllTypes.CLINICALIMPRESSION; + return FHIRTypes.CLINICALIMPRESSION; if ("ClinicalUseDefinition".equals(codeString)) - return FHIRAllTypes.CLINICALUSEDEFINITION; + return FHIRTypes.CLINICALUSEDEFINITION; + if ("CodeSystem".equals(codeString)) + return FHIRTypes.CODESYSTEM; if ("Communication".equals(codeString)) - return FHIRAllTypes.COMMUNICATION; + return FHIRTypes.COMMUNICATION; if ("CommunicationRequest".equals(codeString)) - return FHIRAllTypes.COMMUNICATIONREQUEST; + return FHIRTypes.COMMUNICATIONREQUEST; + if ("CompartmentDefinition".equals(codeString)) + return FHIRTypes.COMPARTMENTDEFINITION; if ("Composition".equals(codeString)) - return FHIRAllTypes.COMPOSITION; + return FHIRTypes.COMPOSITION; + if ("ConceptMap".equals(codeString)) + return FHIRTypes.CONCEPTMAP; if ("Condition".equals(codeString)) - return FHIRAllTypes.CONDITION; + return FHIRTypes.CONDITION; + if ("ConditionDefinition".equals(codeString)) + return FHIRTypes.CONDITIONDEFINITION; if ("Consent".equals(codeString)) - return FHIRAllTypes.CONSENT; + return FHIRTypes.CONSENT; if ("Contract".equals(codeString)) - return FHIRAllTypes.CONTRACT; + return FHIRTypes.CONTRACT; if ("Coverage".equals(codeString)) - return FHIRAllTypes.COVERAGE; + return FHIRTypes.COVERAGE; if ("CoverageEligibilityRequest".equals(codeString)) - return FHIRAllTypes.COVERAGEELIGIBILITYREQUEST; + return FHIRTypes.COVERAGEELIGIBILITYREQUEST; if ("CoverageEligibilityResponse".equals(codeString)) - return FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE; + return FHIRTypes.COVERAGEELIGIBILITYRESPONSE; if ("DetectedIssue".equals(codeString)) - return FHIRAllTypes.DETECTEDISSUE; + return FHIRTypes.DETECTEDISSUE; if ("Device".equals(codeString)) - return FHIRAllTypes.DEVICE; + return FHIRTypes.DEVICE; if ("DeviceDefinition".equals(codeString)) - return FHIRAllTypes.DEVICEDEFINITION; + return FHIRTypes.DEVICEDEFINITION; if ("DeviceDispense".equals(codeString)) - return FHIRAllTypes.DEVICEDISPENSE; + return FHIRTypes.DEVICEDISPENSE; if ("DeviceMetric".equals(codeString)) - return FHIRAllTypes.DEVICEMETRIC; + return FHIRTypes.DEVICEMETRIC; if ("DeviceRequest".equals(codeString)) - return FHIRAllTypes.DEVICEREQUEST; + return FHIRTypes.DEVICEREQUEST; if ("DeviceUsage".equals(codeString)) - return FHIRAllTypes.DEVICEUSAGE; + return FHIRTypes.DEVICEUSAGE; if ("DiagnosticReport".equals(codeString)) - return FHIRAllTypes.DIAGNOSTICREPORT; + return FHIRTypes.DIAGNOSTICREPORT; if ("DocumentManifest".equals(codeString)) - return FHIRAllTypes.DOCUMENTMANIFEST; + return FHIRTypes.DOCUMENTMANIFEST; if ("DocumentReference".equals(codeString)) - return FHIRAllTypes.DOCUMENTREFERENCE; + return FHIRTypes.DOCUMENTREFERENCE; if ("Encounter".equals(codeString)) - return FHIRAllTypes.ENCOUNTER; + return FHIRTypes.ENCOUNTER; if ("Endpoint".equals(codeString)) - return FHIRAllTypes.ENDPOINT; + return FHIRTypes.ENDPOINT; if ("EnrollmentRequest".equals(codeString)) - return FHIRAllTypes.ENROLLMENTREQUEST; + return FHIRTypes.ENROLLMENTREQUEST; if ("EnrollmentResponse".equals(codeString)) - return FHIRAllTypes.ENROLLMENTRESPONSE; + return FHIRTypes.ENROLLMENTRESPONSE; if ("EpisodeOfCare".equals(codeString)) - return FHIRAllTypes.EPISODEOFCARE; + return FHIRTypes.EPISODEOFCARE; + if ("EventDefinition".equals(codeString)) + return FHIRTypes.EVENTDEFINITION; + if ("Evidence".equals(codeString)) + return FHIRTypes.EVIDENCE; + if ("EvidenceReport".equals(codeString)) + return FHIRTypes.EVIDENCEREPORT; + if ("EvidenceVariable".equals(codeString)) + return FHIRTypes.EVIDENCEVARIABLE; + if ("ExampleScenario".equals(codeString)) + return FHIRTypes.EXAMPLESCENARIO; if ("ExplanationOfBenefit".equals(codeString)) - return FHIRAllTypes.EXPLANATIONOFBENEFIT; + return FHIRTypes.EXPLANATIONOFBENEFIT; if ("FamilyMemberHistory".equals(codeString)) - return FHIRAllTypes.FAMILYMEMBERHISTORY; + return FHIRTypes.FAMILYMEMBERHISTORY; if ("Flag".equals(codeString)) - return FHIRAllTypes.FLAG; + return FHIRTypes.FLAG; if ("FormularyItem".equals(codeString)) - return FHIRAllTypes.FORMULARYITEM; + return FHIRTypes.FORMULARYITEM; + if ("GenomicStudy".equals(codeString)) + return FHIRTypes.GENOMICSTUDY; if ("Goal".equals(codeString)) - return FHIRAllTypes.GOAL; + return FHIRTypes.GOAL; + if ("GraphDefinition".equals(codeString)) + return FHIRTypes.GRAPHDEFINITION; if ("Group".equals(codeString)) - return FHIRAllTypes.GROUP; + return FHIRTypes.GROUP; if ("GuidanceResponse".equals(codeString)) - return FHIRAllTypes.GUIDANCERESPONSE; + return FHIRTypes.GUIDANCERESPONSE; if ("HealthcareService".equals(codeString)) - return FHIRAllTypes.HEALTHCARESERVICE; + return FHIRTypes.HEALTHCARESERVICE; if ("ImagingSelection".equals(codeString)) - return FHIRAllTypes.IMAGINGSELECTION; + return FHIRTypes.IMAGINGSELECTION; if ("ImagingStudy".equals(codeString)) - return FHIRAllTypes.IMAGINGSTUDY; + return FHIRTypes.IMAGINGSTUDY; if ("Immunization".equals(codeString)) - return FHIRAllTypes.IMMUNIZATION; + return FHIRTypes.IMMUNIZATION; if ("ImmunizationEvaluation".equals(codeString)) - return FHIRAllTypes.IMMUNIZATIONEVALUATION; + return FHIRTypes.IMMUNIZATIONEVALUATION; if ("ImmunizationRecommendation".equals(codeString)) - return FHIRAllTypes.IMMUNIZATIONRECOMMENDATION; + return FHIRTypes.IMMUNIZATIONRECOMMENDATION; + if ("ImplementationGuide".equals(codeString)) + return FHIRTypes.IMPLEMENTATIONGUIDE; if ("Ingredient".equals(codeString)) - return FHIRAllTypes.INGREDIENT; + return FHIRTypes.INGREDIENT; if ("InsurancePlan".equals(codeString)) - return FHIRAllTypes.INSURANCEPLAN; + return FHIRTypes.INSURANCEPLAN; if ("InventoryReport".equals(codeString)) - return FHIRAllTypes.INVENTORYREPORT; + return FHIRTypes.INVENTORYREPORT; if ("Invoice".equals(codeString)) - return FHIRAllTypes.INVOICE; + return FHIRTypes.INVOICE; + if ("Library".equals(codeString)) + return FHIRTypes.LIBRARY; if ("Linkage".equals(codeString)) - return FHIRAllTypes.LINKAGE; + return FHIRTypes.LINKAGE; if ("List".equals(codeString)) - return FHIRAllTypes.LIST; + return FHIRTypes.LIST; if ("Location".equals(codeString)) - return FHIRAllTypes.LOCATION; + return FHIRTypes.LOCATION; if ("ManufacturedItemDefinition".equals(codeString)) - return FHIRAllTypes.MANUFACTUREDITEMDEFINITION; + return FHIRTypes.MANUFACTUREDITEMDEFINITION; + if ("Measure".equals(codeString)) + return FHIRTypes.MEASURE; if ("MeasureReport".equals(codeString)) - return FHIRAllTypes.MEASUREREPORT; + return FHIRTypes.MEASUREREPORT; if ("Medication".equals(codeString)) - return FHIRAllTypes.MEDICATION; + return FHIRTypes.MEDICATION; if ("MedicationAdministration".equals(codeString)) - return FHIRAllTypes.MEDICATIONADMINISTRATION; + return FHIRTypes.MEDICATIONADMINISTRATION; if ("MedicationDispense".equals(codeString)) - return FHIRAllTypes.MEDICATIONDISPENSE; + return FHIRTypes.MEDICATIONDISPENSE; if ("MedicationKnowledge".equals(codeString)) - return FHIRAllTypes.MEDICATIONKNOWLEDGE; + return FHIRTypes.MEDICATIONKNOWLEDGE; if ("MedicationRequest".equals(codeString)) - return FHIRAllTypes.MEDICATIONREQUEST; + return FHIRTypes.MEDICATIONREQUEST; if ("MedicationUsage".equals(codeString)) - return FHIRAllTypes.MEDICATIONUSAGE; + return FHIRTypes.MEDICATIONUSAGE; if ("MedicinalProductDefinition".equals(codeString)) - return FHIRAllTypes.MEDICINALPRODUCTDEFINITION; + return FHIRTypes.MEDICINALPRODUCTDEFINITION; + if ("MessageDefinition".equals(codeString)) + return FHIRTypes.MESSAGEDEFINITION; if ("MessageHeader".equals(codeString)) - return FHIRAllTypes.MESSAGEHEADER; + return FHIRTypes.MESSAGEHEADER; + if ("MetadataResource".equals(codeString)) + return FHIRTypes.METADATARESOURCE; if ("MolecularSequence".equals(codeString)) - return FHIRAllTypes.MOLECULARSEQUENCE; + return FHIRTypes.MOLECULARSEQUENCE; + if ("NamingSystem".equals(codeString)) + return FHIRTypes.NAMINGSYSTEM; if ("NutritionIntake".equals(codeString)) - return FHIRAllTypes.NUTRITIONINTAKE; + return FHIRTypes.NUTRITIONINTAKE; if ("NutritionOrder".equals(codeString)) - return FHIRAllTypes.NUTRITIONORDER; + return FHIRTypes.NUTRITIONORDER; if ("NutritionProduct".equals(codeString)) - return FHIRAllTypes.NUTRITIONPRODUCT; + return FHIRTypes.NUTRITIONPRODUCT; if ("Observation".equals(codeString)) - return FHIRAllTypes.OBSERVATION; + return FHIRTypes.OBSERVATION; if ("ObservationDefinition".equals(codeString)) - return FHIRAllTypes.OBSERVATIONDEFINITION; + return FHIRTypes.OBSERVATIONDEFINITION; + if ("OperationDefinition".equals(codeString)) + return FHIRTypes.OPERATIONDEFINITION; if ("OperationOutcome".equals(codeString)) - return FHIRAllTypes.OPERATIONOUTCOME; + return FHIRTypes.OPERATIONOUTCOME; if ("Organization".equals(codeString)) - return FHIRAllTypes.ORGANIZATION; + return FHIRTypes.ORGANIZATION; if ("OrganizationAffiliation".equals(codeString)) - return FHIRAllTypes.ORGANIZATIONAFFILIATION; + return FHIRTypes.ORGANIZATIONAFFILIATION; if ("PackagedProductDefinition".equals(codeString)) - return FHIRAllTypes.PACKAGEDPRODUCTDEFINITION; + return FHIRTypes.PACKAGEDPRODUCTDEFINITION; if ("Patient".equals(codeString)) - return FHIRAllTypes.PATIENT; + return FHIRTypes.PATIENT; if ("PaymentNotice".equals(codeString)) - return FHIRAllTypes.PAYMENTNOTICE; + return FHIRTypes.PAYMENTNOTICE; if ("PaymentReconciliation".equals(codeString)) - return FHIRAllTypes.PAYMENTRECONCILIATION; + return FHIRTypes.PAYMENTRECONCILIATION; if ("Permission".equals(codeString)) - return FHIRAllTypes.PERMISSION; + return FHIRTypes.PERMISSION; if ("Person".equals(codeString)) - return FHIRAllTypes.PERSON; + return FHIRTypes.PERSON; + if ("PlanDefinition".equals(codeString)) + return FHIRTypes.PLANDEFINITION; if ("Practitioner".equals(codeString)) - return FHIRAllTypes.PRACTITIONER; + return FHIRTypes.PRACTITIONER; if ("PractitionerRole".equals(codeString)) - return FHIRAllTypes.PRACTITIONERROLE; + return FHIRTypes.PRACTITIONERROLE; if ("Procedure".equals(codeString)) - return FHIRAllTypes.PROCEDURE; + return FHIRTypes.PROCEDURE; if ("Provenance".equals(codeString)) - return FHIRAllTypes.PROVENANCE; + return FHIRTypes.PROVENANCE; + if ("Questionnaire".equals(codeString)) + return FHIRTypes.QUESTIONNAIRE; if ("QuestionnaireResponse".equals(codeString)) - return FHIRAllTypes.QUESTIONNAIRERESPONSE; + return FHIRTypes.QUESTIONNAIRERESPONSE; if ("RegulatedAuthorization".equals(codeString)) - return FHIRAllTypes.REGULATEDAUTHORIZATION; + return FHIRTypes.REGULATEDAUTHORIZATION; if ("RelatedPerson".equals(codeString)) - return FHIRAllTypes.RELATEDPERSON; - if ("RequestGroup".equals(codeString)) - return FHIRAllTypes.REQUESTGROUP; + return FHIRTypes.RELATEDPERSON; + if ("RequestOrchestration".equals(codeString)) + return FHIRTypes.REQUESTORCHESTRATION; + if ("Requirements".equals(codeString)) + return FHIRTypes.REQUIREMENTS; if ("ResearchStudy".equals(codeString)) - return FHIRAllTypes.RESEARCHSTUDY; + return FHIRTypes.RESEARCHSTUDY; if ("ResearchSubject".equals(codeString)) - return FHIRAllTypes.RESEARCHSUBJECT; + return FHIRTypes.RESEARCHSUBJECT; if ("RiskAssessment".equals(codeString)) - return FHIRAllTypes.RISKASSESSMENT; + return FHIRTypes.RISKASSESSMENT; if ("Schedule".equals(codeString)) - return FHIRAllTypes.SCHEDULE; + return FHIRTypes.SCHEDULE; + if ("SearchParameter".equals(codeString)) + return FHIRTypes.SEARCHPARAMETER; if ("ServiceRequest".equals(codeString)) - return FHIRAllTypes.SERVICEREQUEST; + return FHIRTypes.SERVICEREQUEST; if ("Slot".equals(codeString)) - return FHIRAllTypes.SLOT; + return FHIRTypes.SLOT; if ("Specimen".equals(codeString)) - return FHIRAllTypes.SPECIMEN; + return FHIRTypes.SPECIMEN; if ("SpecimenDefinition".equals(codeString)) - return FHIRAllTypes.SPECIMENDEFINITION; + return FHIRTypes.SPECIMENDEFINITION; + if ("StructureDefinition".equals(codeString)) + return FHIRTypes.STRUCTUREDEFINITION; + if ("StructureMap".equals(codeString)) + return FHIRTypes.STRUCTUREMAP; if ("Subscription".equals(codeString)) - return FHIRAllTypes.SUBSCRIPTION; + return FHIRTypes.SUBSCRIPTION; if ("SubscriptionStatus".equals(codeString)) - return FHIRAllTypes.SUBSCRIPTIONSTATUS; + return FHIRTypes.SUBSCRIPTIONSTATUS; + if ("SubscriptionTopic".equals(codeString)) + return FHIRTypes.SUBSCRIPTIONTOPIC; if ("Substance".equals(codeString)) - return FHIRAllTypes.SUBSTANCE; + return FHIRTypes.SUBSTANCE; if ("SubstanceDefinition".equals(codeString)) - return FHIRAllTypes.SUBSTANCEDEFINITION; + return FHIRTypes.SUBSTANCEDEFINITION; if ("SubstanceNucleicAcid".equals(codeString)) - return FHIRAllTypes.SUBSTANCENUCLEICACID; + return FHIRTypes.SUBSTANCENUCLEICACID; if ("SubstancePolymer".equals(codeString)) - return FHIRAllTypes.SUBSTANCEPOLYMER; + return FHIRTypes.SUBSTANCEPOLYMER; if ("SubstanceProtein".equals(codeString)) - return FHIRAllTypes.SUBSTANCEPROTEIN; + return FHIRTypes.SUBSTANCEPROTEIN; if ("SubstanceReferenceInformation".equals(codeString)) - return FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION; + return FHIRTypes.SUBSTANCEREFERENCEINFORMATION; if ("SubstanceSourceMaterial".equals(codeString)) - return FHIRAllTypes.SUBSTANCESOURCEMATERIAL; + return FHIRTypes.SUBSTANCESOURCEMATERIAL; if ("SupplyDelivery".equals(codeString)) - return FHIRAllTypes.SUPPLYDELIVERY; + return FHIRTypes.SUPPLYDELIVERY; if ("SupplyRequest".equals(codeString)) - return FHIRAllTypes.SUPPLYREQUEST; + return FHIRTypes.SUPPLYREQUEST; if ("Task".equals(codeString)) - return FHIRAllTypes.TASK; + return FHIRTypes.TASK; + if ("TerminologyCapabilities".equals(codeString)) + return FHIRTypes.TERMINOLOGYCAPABILITIES; if ("TestReport".equals(codeString)) - return FHIRAllTypes.TESTREPORT; + return FHIRTypes.TESTREPORT; + if ("TestScript".equals(codeString)) + return FHIRTypes.TESTSCRIPT; if ("Transport".equals(codeString)) - return FHIRAllTypes.TRANSPORT; + return FHIRTypes.TRANSPORT; + if ("ValueSet".equals(codeString)) + return FHIRTypes.VALUESET; if ("VerificationResult".equals(codeString)) - return FHIRAllTypes.VERIFICATIONRESULT; + return FHIRTypes.VERIFICATIONRESULT; if ("VisionPrescription".equals(codeString)) - return FHIRAllTypes.VISIONPRESCRIPTION; + return FHIRTypes.VISIONPRESCRIPTION; if ("Parameters".equals(codeString)) - return FHIRAllTypes.PARAMETERS; - if ("Type".equals(codeString)) - return FHIRAllTypes.TYPE; - if ("Any".equals(codeString)) - return FHIRAllTypes.ANY; - throw new IllegalArgumentException("Unknown FHIRAllTypes code '"+codeString+"'"); + return FHIRTypes.PARAMETERS; + throw new IllegalArgumentException("Unknown FHIRTypes code '"+codeString+"'"); } - public Enumeration fromType(Base code) throws FHIRException { + public Enumeration fromType(Base code) throws FHIRException { if (code == null) return null; if (code.isEmpty()) - return new Enumeration(this); + return new Enumeration(this); String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; - if ("Address".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ADDRESS); - if ("Age".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.AGE); - if ("Annotation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ANNOTATION); - if ("Attachment".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ATTACHMENT); - if ("BackboneElement".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BACKBONEELEMENT); - if ("BackboneType".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BACKBONETYPE); if ("Base".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BASE); - if ("CodeableConcept".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CODEABLECONCEPT); - if ("CodeableReference".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CODEABLEREFERENCE); - if ("Coding".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CODING); - if ("ContactDetail".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONTACTDETAIL); - if ("ContactPoint".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONTACTPOINT); - if ("Contributor".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONTRIBUTOR); - if ("Count".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COUNT); - if ("DataRequirement".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DATAREQUIREMENT); - if ("DataType".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DATATYPE); - if ("Distance".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DISTANCE); - if ("Dosage".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DOSAGE); - if ("Duration".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DURATION); + return new Enumeration(this, FHIRTypes.BASE); if ("Element".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ELEMENT); + return new Enumeration(this, FHIRTypes.ELEMENT); + if ("BackboneElement".equals(codeString)) + return new Enumeration(this, FHIRTypes.BACKBONEELEMENT); + if ("DataType".equals(codeString)) + return new Enumeration(this, FHIRTypes.DATATYPE); + if ("Address".equals(codeString)) + return new Enumeration(this, FHIRTypes.ADDRESS); + if ("Annotation".equals(codeString)) + return new Enumeration(this, FHIRTypes.ANNOTATION); + if ("Attachment".equals(codeString)) + return new Enumeration(this, FHIRTypes.ATTACHMENT); + if ("Availability".equals(codeString)) + return new Enumeration(this, FHIRTypes.AVAILABILITY); + if ("BackboneType".equals(codeString)) + return new Enumeration(this, FHIRTypes.BACKBONETYPE); + if ("Dosage".equals(codeString)) + return new Enumeration(this, FHIRTypes.DOSAGE); if ("ElementDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ELEMENTDEFINITION); - if ("Expression".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EXPRESSION); - if ("ExtendedContactDetail".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EXTENDEDCONTACTDETAIL); - if ("Extension".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EXTENSION); - if ("HumanName".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.HUMANNAME); - if ("Identifier".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IDENTIFIER); + return new Enumeration(this, FHIRTypes.ELEMENTDEFINITION); if ("MarketingStatus".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MARKETINGSTATUS); - if ("Meta".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.META); - if ("Money".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MONEY); - if ("MoneyQuantity".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MONEYQUANTITY); - if ("Narrative".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.NARRATIVE); - if ("ParameterDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PARAMETERDEFINITION); - if ("Period".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PERIOD); + return new Enumeration(this, FHIRTypes.MARKETINGSTATUS); if ("Population".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.POPULATION); - if ("PrimitiveType".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PRIMITIVETYPE); + return new Enumeration(this, FHIRTypes.POPULATION); if ("ProductShelfLife".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PRODUCTSHELFLIFE); - if ("Quantity".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.QUANTITY); - if ("Range".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RANGE); - if ("Ratio".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RATIO); - if ("RatioRange".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RATIORANGE); - if ("Reference".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.REFERENCE); - if ("RelatedArtifact".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RELATEDARTIFACT); - if ("SampledData".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SAMPLEDDATA); - if ("Signature".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SIGNATURE); - if ("SimpleQuantity".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SIMPLEQUANTITY); + return new Enumeration(this, FHIRTypes.PRODUCTSHELFLIFE); if ("Timing".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TIMING); - if ("TriggerDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TRIGGERDEFINITION); - if ("UsageContext".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.USAGECONTEXT); + return new Enumeration(this, FHIRTypes.TIMING); + if ("CodeableConcept".equals(codeString)) + return new Enumeration(this, FHIRTypes.CODEABLECONCEPT); + if ("CodeableReference".equals(codeString)) + return new Enumeration(this, FHIRTypes.CODEABLEREFERENCE); + if ("Coding".equals(codeString)) + return new Enumeration(this, FHIRTypes.CODING); + if ("ContactDetail".equals(codeString)) + return new Enumeration(this, FHIRTypes.CONTACTDETAIL); + if ("ContactPoint".equals(codeString)) + return new Enumeration(this, FHIRTypes.CONTACTPOINT); + if ("Contributor".equals(codeString)) + return new Enumeration(this, FHIRTypes.CONTRIBUTOR); + if ("DataRequirement".equals(codeString)) + return new Enumeration(this, FHIRTypes.DATAREQUIREMENT); + if ("Expression".equals(codeString)) + return new Enumeration(this, FHIRTypes.EXPRESSION); + if ("ExtendedContactDetail".equals(codeString)) + return new Enumeration(this, FHIRTypes.EXTENDEDCONTACTDETAIL); + if ("Extension".equals(codeString)) + return new Enumeration(this, FHIRTypes.EXTENSION); + if ("HumanName".equals(codeString)) + return new Enumeration(this, FHIRTypes.HUMANNAME); + if ("Identifier".equals(codeString)) + return new Enumeration(this, FHIRTypes.IDENTIFIER); + if ("Meta".equals(codeString)) + return new Enumeration(this, FHIRTypes.META); + if ("MonetaryComponent".equals(codeString)) + return new Enumeration(this, FHIRTypes.MONETARYCOMPONENT); + if ("Money".equals(codeString)) + return new Enumeration(this, FHIRTypes.MONEY); + if ("Narrative".equals(codeString)) + return new Enumeration(this, FHIRTypes.NARRATIVE); + if ("ParameterDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.PARAMETERDEFINITION); + if ("Period".equals(codeString)) + return new Enumeration(this, FHIRTypes.PERIOD); + if ("PrimitiveType".equals(codeString)) + return new Enumeration(this, FHIRTypes.PRIMITIVETYPE); if ("base64Binary".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BASE64BINARY); + return new Enumeration(this, FHIRTypes.BASE64BINARY); if ("boolean".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BOOLEAN); - if ("canonical".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CANONICAL); - if ("code".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CODE); + return new Enumeration(this, FHIRTypes.BOOLEAN); if ("date".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DATE); + return new Enumeration(this, FHIRTypes.DATE); if ("dateTime".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DATETIME); + return new Enumeration(this, FHIRTypes.DATETIME); if ("decimal".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DECIMAL); - if ("id".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ID); + return new Enumeration(this, FHIRTypes.DECIMAL); if ("instant".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INSTANT); + return new Enumeration(this, FHIRTypes.INSTANT); if ("integer".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INTEGER); - if ("integer64".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INTEGER64); - if ("markdown".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MARKDOWN); - if ("oid".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.OID); + return new Enumeration(this, FHIRTypes.INTEGER); if ("positiveInt".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.POSITIVEINT); - if ("string".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.STRING); - if ("time".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TIME); + return new Enumeration(this, FHIRTypes.POSITIVEINT); if ("unsignedInt".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.UNSIGNEDINT); + return new Enumeration(this, FHIRTypes.UNSIGNEDINT); + if ("integer64".equals(codeString)) + return new Enumeration(this, FHIRTypes.INTEGER64); + if ("string".equals(codeString)) + return new Enumeration(this, FHIRTypes.STRING); + if ("code".equals(codeString)) + return new Enumeration(this, FHIRTypes.CODE); + if ("id".equals(codeString)) + return new Enumeration(this, FHIRTypes.ID); + if ("markdown".equals(codeString)) + return new Enumeration(this, FHIRTypes.MARKDOWN); + if ("time".equals(codeString)) + return new Enumeration(this, FHIRTypes.TIME); if ("uri".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.URI); + return new Enumeration(this, FHIRTypes.URI); + if ("canonical".equals(codeString)) + return new Enumeration(this, FHIRTypes.CANONICAL); + if ("oid".equals(codeString)) + return new Enumeration(this, FHIRTypes.OID); if ("url".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.URL); + return new Enumeration(this, FHIRTypes.URL); if ("uuid".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.UUID); + return new Enumeration(this, FHIRTypes.UUID); + if ("Quantity".equals(codeString)) + return new Enumeration(this, FHIRTypes.QUANTITY); + if ("Age".equals(codeString)) + return new Enumeration(this, FHIRTypes.AGE); + if ("Count".equals(codeString)) + return new Enumeration(this, FHIRTypes.COUNT); + if ("Distance".equals(codeString)) + return new Enumeration(this, FHIRTypes.DISTANCE); + if ("Duration".equals(codeString)) + return new Enumeration(this, FHIRTypes.DURATION); + if ("Range".equals(codeString)) + return new Enumeration(this, FHIRTypes.RANGE); + if ("Ratio".equals(codeString)) + return new Enumeration(this, FHIRTypes.RATIO); + if ("RatioRange".equals(codeString)) + return new Enumeration(this, FHIRTypes.RATIORANGE); + if ("Reference".equals(codeString)) + return new Enumeration(this, FHIRTypes.REFERENCE); + if ("RelatedArtifact".equals(codeString)) + return new Enumeration(this, FHIRTypes.RELATEDARTIFACT); + if ("SampledData".equals(codeString)) + return new Enumeration(this, FHIRTypes.SAMPLEDDATA); + if ("Signature".equals(codeString)) + return new Enumeration(this, FHIRTypes.SIGNATURE); + if ("TriggerDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.TRIGGERDEFINITION); + if ("UsageContext".equals(codeString)) + return new Enumeration(this, FHIRTypes.USAGECONTEXT); + if ("VirtualServiceDetail".equals(codeString)) + return new Enumeration(this, FHIRTypes.VIRTUALSERVICEDETAIL); if ("xhtml".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.XHTML); + return new Enumeration(this, FHIRTypes.XHTML); if ("Resource".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RESOURCE); + return new Enumeration(this, FHIRTypes.RESOURCE); if ("Binary".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BINARY); + return new Enumeration(this, FHIRTypes.BINARY); if ("Bundle".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BUNDLE); + return new Enumeration(this, FHIRTypes.BUNDLE); if ("DomainResource".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DOMAINRESOURCE); + return new Enumeration(this, FHIRTypes.DOMAINRESOURCE); if ("Account".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ACCOUNT); - if ("AdministrableProductDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ADMINISTRABLEPRODUCTDEFINITION); - if ("AdverseEvent".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ADVERSEEVENT); - if ("AllergyIntolerance".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ALLERGYINTOLERANCE); - if ("Appointment".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.APPOINTMENT); - if ("AppointmentResponse".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.APPOINTMENTRESPONSE); - if ("ArtifactAssessment".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ARTIFACTASSESSMENT); - if ("AuditEvent".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.AUDITEVENT); - if ("Basic".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BASIC); - if ("BiologicallyDerivedProduct".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT); - if ("BodyStructure".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.BODYSTRUCTURE); - if ("CanonicalResource".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CANONICALRESOURCE); - if ("CapabilityStatement".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CAPABILITYSTATEMENT); - if ("CapabilityStatement2".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CAPABILITYSTATEMENT2); - if ("CodeSystem".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CODESYSTEM); - if ("CompartmentDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COMPARTMENTDEFINITION); - if ("ExampleScenario".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EXAMPLESCENARIO); - if ("GraphDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.GRAPHDEFINITION); - if ("ImplementationGuide".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IMPLEMENTATIONGUIDE); - if ("MessageDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MESSAGEDEFINITION); - if ("MetadataResource".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.METADATARESOURCE); + return new Enumeration(this, FHIRTypes.ACCOUNT); if ("ActivityDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ACTIVITYDEFINITION); - if ("ChargeItemDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CHARGEITEMDEFINITION); - if ("Citation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CITATION); - if ("ConceptMap".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONCEPTMAP); - if ("ConditionDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONDITIONDEFINITION); - if ("EventDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EVENTDEFINITION); - if ("Evidence".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EVIDENCE); - if ("EvidenceReport".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EVIDENCEREPORT); - if ("EvidenceVariable".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EVIDENCEVARIABLE); - if ("Library".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.LIBRARY); - if ("Measure".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEASURE); - if ("NamingSystem".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.NAMINGSYSTEM); - if ("PlanDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PLANDEFINITION); - if ("Questionnaire".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.QUESTIONNAIRE); - if ("OperationDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.OPERATIONDEFINITION); - if ("SearchParameter".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SEARCHPARAMETER); - if ("StructureDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.STRUCTUREDEFINITION); - if ("StructureMap".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.STRUCTUREMAP); - if ("SubscriptionTopic".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSCRIPTIONTOPIC); - if ("TerminologyCapabilities".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TERMINOLOGYCAPABILITIES); - if ("TestScript".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TESTSCRIPT); - if ("ValueSet".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.VALUESET); + return new Enumeration(this, FHIRTypes.ACTIVITYDEFINITION); + if ("ActorDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.ACTORDEFINITION); + if ("AdministrableProductDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.ADMINISTRABLEPRODUCTDEFINITION); + if ("AdverseEvent".equals(codeString)) + return new Enumeration(this, FHIRTypes.ADVERSEEVENT); + if ("AllergyIntolerance".equals(codeString)) + return new Enumeration(this, FHIRTypes.ALLERGYINTOLERANCE); + if ("Appointment".equals(codeString)) + return new Enumeration(this, FHIRTypes.APPOINTMENT); + if ("AppointmentResponse".equals(codeString)) + return new Enumeration(this, FHIRTypes.APPOINTMENTRESPONSE); + if ("ArtifactAssessment".equals(codeString)) + return new Enumeration(this, FHIRTypes.ARTIFACTASSESSMENT); + if ("AuditEvent".equals(codeString)) + return new Enumeration(this, FHIRTypes.AUDITEVENT); + if ("Basic".equals(codeString)) + return new Enumeration(this, FHIRTypes.BASIC); + if ("BiologicallyDerivedProduct".equals(codeString)) + return new Enumeration(this, FHIRTypes.BIOLOGICALLYDERIVEDPRODUCT); + if ("BodyStructure".equals(codeString)) + return new Enumeration(this, FHIRTypes.BODYSTRUCTURE); + if ("CanonicalResource".equals(codeString)) + return new Enumeration(this, FHIRTypes.CANONICALRESOURCE); + if ("CapabilityStatement".equals(codeString)) + return new Enumeration(this, FHIRTypes.CAPABILITYSTATEMENT); if ("CarePlan".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CAREPLAN); + return new Enumeration(this, FHIRTypes.CAREPLAN); if ("CareTeam".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CARETEAM); + return new Enumeration(this, FHIRTypes.CARETEAM); if ("ChargeItem".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CHARGEITEM); + return new Enumeration(this, FHIRTypes.CHARGEITEM); + if ("ChargeItemDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.CHARGEITEMDEFINITION); + if ("Citation".equals(codeString)) + return new Enumeration(this, FHIRTypes.CITATION); if ("Claim".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CLAIM); + return new Enumeration(this, FHIRTypes.CLAIM); if ("ClaimResponse".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CLAIMRESPONSE); + return new Enumeration(this, FHIRTypes.CLAIMRESPONSE); if ("ClinicalImpression".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CLINICALIMPRESSION); + return new Enumeration(this, FHIRTypes.CLINICALIMPRESSION); if ("ClinicalUseDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CLINICALUSEDEFINITION); + return new Enumeration(this, FHIRTypes.CLINICALUSEDEFINITION); + if ("CodeSystem".equals(codeString)) + return new Enumeration(this, FHIRTypes.CODESYSTEM); if ("Communication".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COMMUNICATION); + return new Enumeration(this, FHIRTypes.COMMUNICATION); if ("CommunicationRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COMMUNICATIONREQUEST); + return new Enumeration(this, FHIRTypes.COMMUNICATIONREQUEST); + if ("CompartmentDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.COMPARTMENTDEFINITION); if ("Composition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COMPOSITION); + return new Enumeration(this, FHIRTypes.COMPOSITION); + if ("ConceptMap".equals(codeString)) + return new Enumeration(this, FHIRTypes.CONCEPTMAP); if ("Condition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONDITION); + return new Enumeration(this, FHIRTypes.CONDITION); + if ("ConditionDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.CONDITIONDEFINITION); if ("Consent".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONSENT); + return new Enumeration(this, FHIRTypes.CONSENT); if ("Contract".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.CONTRACT); + return new Enumeration(this, FHIRTypes.CONTRACT); if ("Coverage".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COVERAGE); + return new Enumeration(this, FHIRTypes.COVERAGE); if ("CoverageEligibilityRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COVERAGEELIGIBILITYREQUEST); + return new Enumeration(this, FHIRTypes.COVERAGEELIGIBILITYREQUEST); if ("CoverageEligibilityResponse".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE); + return new Enumeration(this, FHIRTypes.COVERAGEELIGIBILITYRESPONSE); if ("DetectedIssue".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DETECTEDISSUE); + return new Enumeration(this, FHIRTypes.DETECTEDISSUE); if ("Device".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DEVICE); + return new Enumeration(this, FHIRTypes.DEVICE); if ("DeviceDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DEVICEDEFINITION); + return new Enumeration(this, FHIRTypes.DEVICEDEFINITION); if ("DeviceDispense".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DEVICEDISPENSE); + return new Enumeration(this, FHIRTypes.DEVICEDISPENSE); if ("DeviceMetric".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DEVICEMETRIC); + return new Enumeration(this, FHIRTypes.DEVICEMETRIC); if ("DeviceRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DEVICEREQUEST); + return new Enumeration(this, FHIRTypes.DEVICEREQUEST); if ("DeviceUsage".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DEVICEUSAGE); + return new Enumeration(this, FHIRTypes.DEVICEUSAGE); if ("DiagnosticReport".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DIAGNOSTICREPORT); + return new Enumeration(this, FHIRTypes.DIAGNOSTICREPORT); if ("DocumentManifest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DOCUMENTMANIFEST); + return new Enumeration(this, FHIRTypes.DOCUMENTMANIFEST); if ("DocumentReference".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.DOCUMENTREFERENCE); + return new Enumeration(this, FHIRTypes.DOCUMENTREFERENCE); if ("Encounter".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ENCOUNTER); + return new Enumeration(this, FHIRTypes.ENCOUNTER); if ("Endpoint".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ENDPOINT); + return new Enumeration(this, FHIRTypes.ENDPOINT); if ("EnrollmentRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ENROLLMENTREQUEST); + return new Enumeration(this, FHIRTypes.ENROLLMENTREQUEST); if ("EnrollmentResponse".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ENROLLMENTRESPONSE); + return new Enumeration(this, FHIRTypes.ENROLLMENTRESPONSE); if ("EpisodeOfCare".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EPISODEOFCARE); + return new Enumeration(this, FHIRTypes.EPISODEOFCARE); + if ("EventDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.EVENTDEFINITION); + if ("Evidence".equals(codeString)) + return new Enumeration(this, FHIRTypes.EVIDENCE); + if ("EvidenceReport".equals(codeString)) + return new Enumeration(this, FHIRTypes.EVIDENCEREPORT); + if ("EvidenceVariable".equals(codeString)) + return new Enumeration(this, FHIRTypes.EVIDENCEVARIABLE); + if ("ExampleScenario".equals(codeString)) + return new Enumeration(this, FHIRTypes.EXAMPLESCENARIO); if ("ExplanationOfBenefit".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.EXPLANATIONOFBENEFIT); + return new Enumeration(this, FHIRTypes.EXPLANATIONOFBENEFIT); if ("FamilyMemberHistory".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.FAMILYMEMBERHISTORY); + return new Enumeration(this, FHIRTypes.FAMILYMEMBERHISTORY); if ("Flag".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.FLAG); + return new Enumeration(this, FHIRTypes.FLAG); if ("FormularyItem".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.FORMULARYITEM); + return new Enumeration(this, FHIRTypes.FORMULARYITEM); + if ("GenomicStudy".equals(codeString)) + return new Enumeration(this, FHIRTypes.GENOMICSTUDY); if ("Goal".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.GOAL); + return new Enumeration(this, FHIRTypes.GOAL); + if ("GraphDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.GRAPHDEFINITION); if ("Group".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.GROUP); + return new Enumeration(this, FHIRTypes.GROUP); if ("GuidanceResponse".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.GUIDANCERESPONSE); + return new Enumeration(this, FHIRTypes.GUIDANCERESPONSE); if ("HealthcareService".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.HEALTHCARESERVICE); + return new Enumeration(this, FHIRTypes.HEALTHCARESERVICE); if ("ImagingSelection".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IMAGINGSELECTION); + return new Enumeration(this, FHIRTypes.IMAGINGSELECTION); if ("ImagingStudy".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IMAGINGSTUDY); + return new Enumeration(this, FHIRTypes.IMAGINGSTUDY); if ("Immunization".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IMMUNIZATION); + return new Enumeration(this, FHIRTypes.IMMUNIZATION); if ("ImmunizationEvaluation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IMMUNIZATIONEVALUATION); + return new Enumeration(this, FHIRTypes.IMMUNIZATIONEVALUATION); if ("ImmunizationRecommendation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.IMMUNIZATIONRECOMMENDATION); + return new Enumeration(this, FHIRTypes.IMMUNIZATIONRECOMMENDATION); + if ("ImplementationGuide".equals(codeString)) + return new Enumeration(this, FHIRTypes.IMPLEMENTATIONGUIDE); if ("Ingredient".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INGREDIENT); + return new Enumeration(this, FHIRTypes.INGREDIENT); if ("InsurancePlan".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INSURANCEPLAN); + return new Enumeration(this, FHIRTypes.INSURANCEPLAN); if ("InventoryReport".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INVENTORYREPORT); + return new Enumeration(this, FHIRTypes.INVENTORYREPORT); if ("Invoice".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.INVOICE); + return new Enumeration(this, FHIRTypes.INVOICE); + if ("Library".equals(codeString)) + return new Enumeration(this, FHIRTypes.LIBRARY); if ("Linkage".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.LINKAGE); + return new Enumeration(this, FHIRTypes.LINKAGE); if ("List".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.LIST); + return new Enumeration(this, FHIRTypes.LIST); if ("Location".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.LOCATION); + return new Enumeration(this, FHIRTypes.LOCATION); if ("ManufacturedItemDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MANUFACTUREDITEMDEFINITION); + return new Enumeration(this, FHIRTypes.MANUFACTUREDITEMDEFINITION); + if ("Measure".equals(codeString)) + return new Enumeration(this, FHIRTypes.MEASURE); if ("MeasureReport".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEASUREREPORT); + return new Enumeration(this, FHIRTypes.MEASUREREPORT); if ("Medication".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICATION); + return new Enumeration(this, FHIRTypes.MEDICATION); if ("MedicationAdministration".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICATIONADMINISTRATION); + return new Enumeration(this, FHIRTypes.MEDICATIONADMINISTRATION); if ("MedicationDispense".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICATIONDISPENSE); + return new Enumeration(this, FHIRTypes.MEDICATIONDISPENSE); if ("MedicationKnowledge".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICATIONKNOWLEDGE); + return new Enumeration(this, FHIRTypes.MEDICATIONKNOWLEDGE); if ("MedicationRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICATIONREQUEST); + return new Enumeration(this, FHIRTypes.MEDICATIONREQUEST); if ("MedicationUsage".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICATIONUSAGE); + return new Enumeration(this, FHIRTypes.MEDICATIONUSAGE); if ("MedicinalProductDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MEDICINALPRODUCTDEFINITION); + return new Enumeration(this, FHIRTypes.MEDICINALPRODUCTDEFINITION); + if ("MessageDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.MESSAGEDEFINITION); if ("MessageHeader".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MESSAGEHEADER); + return new Enumeration(this, FHIRTypes.MESSAGEHEADER); + if ("MetadataResource".equals(codeString)) + return new Enumeration(this, FHIRTypes.METADATARESOURCE); if ("MolecularSequence".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.MOLECULARSEQUENCE); + return new Enumeration(this, FHIRTypes.MOLECULARSEQUENCE); + if ("NamingSystem".equals(codeString)) + return new Enumeration(this, FHIRTypes.NAMINGSYSTEM); if ("NutritionIntake".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.NUTRITIONINTAKE); + return new Enumeration(this, FHIRTypes.NUTRITIONINTAKE); if ("NutritionOrder".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.NUTRITIONORDER); + return new Enumeration(this, FHIRTypes.NUTRITIONORDER); if ("NutritionProduct".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.NUTRITIONPRODUCT); + return new Enumeration(this, FHIRTypes.NUTRITIONPRODUCT); if ("Observation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.OBSERVATION); + return new Enumeration(this, FHIRTypes.OBSERVATION); if ("ObservationDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.OBSERVATIONDEFINITION); + return new Enumeration(this, FHIRTypes.OBSERVATIONDEFINITION); + if ("OperationDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.OPERATIONDEFINITION); if ("OperationOutcome".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.OPERATIONOUTCOME); + return new Enumeration(this, FHIRTypes.OPERATIONOUTCOME); if ("Organization".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ORGANIZATION); + return new Enumeration(this, FHIRTypes.ORGANIZATION); if ("OrganizationAffiliation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ORGANIZATIONAFFILIATION); + return new Enumeration(this, FHIRTypes.ORGANIZATIONAFFILIATION); if ("PackagedProductDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PACKAGEDPRODUCTDEFINITION); + return new Enumeration(this, FHIRTypes.PACKAGEDPRODUCTDEFINITION); if ("Patient".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PATIENT); + return new Enumeration(this, FHIRTypes.PATIENT); if ("PaymentNotice".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PAYMENTNOTICE); + return new Enumeration(this, FHIRTypes.PAYMENTNOTICE); if ("PaymentReconciliation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PAYMENTRECONCILIATION); + return new Enumeration(this, FHIRTypes.PAYMENTRECONCILIATION); if ("Permission".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PERMISSION); + return new Enumeration(this, FHIRTypes.PERMISSION); if ("Person".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PERSON); + return new Enumeration(this, FHIRTypes.PERSON); + if ("PlanDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.PLANDEFINITION); if ("Practitioner".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PRACTITIONER); + return new Enumeration(this, FHIRTypes.PRACTITIONER); if ("PractitionerRole".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PRACTITIONERROLE); + return new Enumeration(this, FHIRTypes.PRACTITIONERROLE); if ("Procedure".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PROCEDURE); + return new Enumeration(this, FHIRTypes.PROCEDURE); if ("Provenance".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PROVENANCE); + return new Enumeration(this, FHIRTypes.PROVENANCE); + if ("Questionnaire".equals(codeString)) + return new Enumeration(this, FHIRTypes.QUESTIONNAIRE); if ("QuestionnaireResponse".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.QUESTIONNAIRERESPONSE); + return new Enumeration(this, FHIRTypes.QUESTIONNAIRERESPONSE); if ("RegulatedAuthorization".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.REGULATEDAUTHORIZATION); + return new Enumeration(this, FHIRTypes.REGULATEDAUTHORIZATION); if ("RelatedPerson".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RELATEDPERSON); - if ("RequestGroup".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.REQUESTGROUP); + return new Enumeration(this, FHIRTypes.RELATEDPERSON); + if ("RequestOrchestration".equals(codeString)) + return new Enumeration(this, FHIRTypes.REQUESTORCHESTRATION); + if ("Requirements".equals(codeString)) + return new Enumeration(this, FHIRTypes.REQUIREMENTS); if ("ResearchStudy".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RESEARCHSTUDY); + return new Enumeration(this, FHIRTypes.RESEARCHSTUDY); if ("ResearchSubject".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RESEARCHSUBJECT); + return new Enumeration(this, FHIRTypes.RESEARCHSUBJECT); if ("RiskAssessment".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.RISKASSESSMENT); + return new Enumeration(this, FHIRTypes.RISKASSESSMENT); if ("Schedule".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SCHEDULE); + return new Enumeration(this, FHIRTypes.SCHEDULE); + if ("SearchParameter".equals(codeString)) + return new Enumeration(this, FHIRTypes.SEARCHPARAMETER); if ("ServiceRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SERVICEREQUEST); + return new Enumeration(this, FHIRTypes.SERVICEREQUEST); if ("Slot".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SLOT); + return new Enumeration(this, FHIRTypes.SLOT); if ("Specimen".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SPECIMEN); + return new Enumeration(this, FHIRTypes.SPECIMEN); if ("SpecimenDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SPECIMENDEFINITION); + return new Enumeration(this, FHIRTypes.SPECIMENDEFINITION); + if ("StructureDefinition".equals(codeString)) + return new Enumeration(this, FHIRTypes.STRUCTUREDEFINITION); + if ("StructureMap".equals(codeString)) + return new Enumeration(this, FHIRTypes.STRUCTUREMAP); if ("Subscription".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSCRIPTION); + return new Enumeration(this, FHIRTypes.SUBSCRIPTION); if ("SubscriptionStatus".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSCRIPTIONSTATUS); + return new Enumeration(this, FHIRTypes.SUBSCRIPTIONSTATUS); + if ("SubscriptionTopic".equals(codeString)) + return new Enumeration(this, FHIRTypes.SUBSCRIPTIONTOPIC); if ("Substance".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCE); + return new Enumeration(this, FHIRTypes.SUBSTANCE); if ("SubstanceDefinition".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCEDEFINITION); + return new Enumeration(this, FHIRTypes.SUBSTANCEDEFINITION); if ("SubstanceNucleicAcid".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCENUCLEICACID); + return new Enumeration(this, FHIRTypes.SUBSTANCENUCLEICACID); if ("SubstancePolymer".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCEPOLYMER); + return new Enumeration(this, FHIRTypes.SUBSTANCEPOLYMER); if ("SubstanceProtein".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCEPROTEIN); + return new Enumeration(this, FHIRTypes.SUBSTANCEPROTEIN); if ("SubstanceReferenceInformation".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION); + return new Enumeration(this, FHIRTypes.SUBSTANCEREFERENCEINFORMATION); if ("SubstanceSourceMaterial".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUBSTANCESOURCEMATERIAL); + return new Enumeration(this, FHIRTypes.SUBSTANCESOURCEMATERIAL); if ("SupplyDelivery".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUPPLYDELIVERY); + return new Enumeration(this, FHIRTypes.SUPPLYDELIVERY); if ("SupplyRequest".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.SUPPLYREQUEST); + return new Enumeration(this, FHIRTypes.SUPPLYREQUEST); if ("Task".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TASK); + return new Enumeration(this, FHIRTypes.TASK); + if ("TerminologyCapabilities".equals(codeString)) + return new Enumeration(this, FHIRTypes.TERMINOLOGYCAPABILITIES); if ("TestReport".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TESTREPORT); + return new Enumeration(this, FHIRTypes.TESTREPORT); + if ("TestScript".equals(codeString)) + return new Enumeration(this, FHIRTypes.TESTSCRIPT); if ("Transport".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TRANSPORT); + return new Enumeration(this, FHIRTypes.TRANSPORT); + if ("ValueSet".equals(codeString)) + return new Enumeration(this, FHIRTypes.VALUESET); if ("VerificationResult".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.VERIFICATIONRESULT); + return new Enumeration(this, FHIRTypes.VERIFICATIONRESULT); if ("VisionPrescription".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.VISIONPRESCRIPTION); + return new Enumeration(this, FHIRTypes.VISIONPRESCRIPTION); if ("Parameters".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.PARAMETERS); - if ("Type".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.TYPE); - if ("Any".equals(codeString)) - return new Enumeration(this, FHIRAllTypes.ANY); - throw new FHIRException("Unknown FHIRAllTypes code '"+codeString+"'"); + return new Enumeration(this, FHIRTypes.PARAMETERS); + throw new FHIRException("Unknown FHIRTypes code '"+codeString+"'"); } - public String toCode(FHIRAllTypes code) { - if (code == FHIRAllTypes.ADDRESS) - return "Address"; - if (code == FHIRAllTypes.AGE) - return "Age"; - if (code == FHIRAllTypes.ANNOTATION) - return "Annotation"; - if (code == FHIRAllTypes.ATTACHMENT) - return "Attachment"; - if (code == FHIRAllTypes.BACKBONEELEMENT) - return "BackboneElement"; - if (code == FHIRAllTypes.BACKBONETYPE) - return "BackboneType"; - if (code == FHIRAllTypes.BASE) + public String toCode(FHIRTypes code) { + if (code == FHIRTypes.BASE) return "Base"; - if (code == FHIRAllTypes.CODEABLECONCEPT) - return "CodeableConcept"; - if (code == FHIRAllTypes.CODEABLEREFERENCE) - return "CodeableReference"; - if (code == FHIRAllTypes.CODING) - return "Coding"; - if (code == FHIRAllTypes.CONTACTDETAIL) - return "ContactDetail"; - if (code == FHIRAllTypes.CONTACTPOINT) - return "ContactPoint"; - if (code == FHIRAllTypes.CONTRIBUTOR) - return "Contributor"; - if (code == FHIRAllTypes.COUNT) - return "Count"; - if (code == FHIRAllTypes.DATAREQUIREMENT) - return "DataRequirement"; - if (code == FHIRAllTypes.DATATYPE) - return "DataType"; - if (code == FHIRAllTypes.DISTANCE) - return "Distance"; - if (code == FHIRAllTypes.DOSAGE) - return "Dosage"; - if (code == FHIRAllTypes.DURATION) - return "Duration"; - if (code == FHIRAllTypes.ELEMENT) + if (code == FHIRTypes.ELEMENT) return "Element"; - if (code == FHIRAllTypes.ELEMENTDEFINITION) + if (code == FHIRTypes.BACKBONEELEMENT) + return "BackboneElement"; + if (code == FHIRTypes.DATATYPE) + return "DataType"; + if (code == FHIRTypes.ADDRESS) + return "Address"; + if (code == FHIRTypes.ANNOTATION) + return "Annotation"; + if (code == FHIRTypes.ATTACHMENT) + return "Attachment"; + if (code == FHIRTypes.AVAILABILITY) + return "Availability"; + if (code == FHIRTypes.BACKBONETYPE) + return "BackboneType"; + if (code == FHIRTypes.DOSAGE) + return "Dosage"; + if (code == FHIRTypes.ELEMENTDEFINITION) return "ElementDefinition"; - if (code == FHIRAllTypes.EXPRESSION) - return "Expression"; - if (code == FHIRAllTypes.EXTENDEDCONTACTDETAIL) - return "ExtendedContactDetail"; - if (code == FHIRAllTypes.EXTENSION) - return "Extension"; - if (code == FHIRAllTypes.HUMANNAME) - return "HumanName"; - if (code == FHIRAllTypes.IDENTIFIER) - return "Identifier"; - if (code == FHIRAllTypes.MARKETINGSTATUS) + if (code == FHIRTypes.MARKETINGSTATUS) return "MarketingStatus"; - if (code == FHIRAllTypes.META) - return "Meta"; - if (code == FHIRAllTypes.MONEY) - return "Money"; - if (code == FHIRAllTypes.MONEYQUANTITY) - return "MoneyQuantity"; - if (code == FHIRAllTypes.NARRATIVE) - return "Narrative"; - if (code == FHIRAllTypes.PARAMETERDEFINITION) - return "ParameterDefinition"; - if (code == FHIRAllTypes.PERIOD) - return "Period"; - if (code == FHIRAllTypes.POPULATION) + if (code == FHIRTypes.POPULATION) return "Population"; - if (code == FHIRAllTypes.PRIMITIVETYPE) - return "PrimitiveType"; - if (code == FHIRAllTypes.PRODUCTSHELFLIFE) + if (code == FHIRTypes.PRODUCTSHELFLIFE) return "ProductShelfLife"; - if (code == FHIRAllTypes.QUANTITY) - return "Quantity"; - if (code == FHIRAllTypes.RANGE) - return "Range"; - if (code == FHIRAllTypes.RATIO) - return "Ratio"; - if (code == FHIRAllTypes.RATIORANGE) - return "RatioRange"; - if (code == FHIRAllTypes.REFERENCE) - return "Reference"; - if (code == FHIRAllTypes.RELATEDARTIFACT) - return "RelatedArtifact"; - if (code == FHIRAllTypes.SAMPLEDDATA) - return "SampledData"; - if (code == FHIRAllTypes.SIGNATURE) - return "Signature"; - if (code == FHIRAllTypes.SIMPLEQUANTITY) - return "SimpleQuantity"; - if (code == FHIRAllTypes.TIMING) + if (code == FHIRTypes.TIMING) return "Timing"; - if (code == FHIRAllTypes.TRIGGERDEFINITION) - return "TriggerDefinition"; - if (code == FHIRAllTypes.USAGECONTEXT) - return "UsageContext"; - if (code == FHIRAllTypes.BASE64BINARY) + if (code == FHIRTypes.CODEABLECONCEPT) + return "CodeableConcept"; + if (code == FHIRTypes.CODEABLEREFERENCE) + return "CodeableReference"; + if (code == FHIRTypes.CODING) + return "Coding"; + if (code == FHIRTypes.CONTACTDETAIL) + return "ContactDetail"; + if (code == FHIRTypes.CONTACTPOINT) + return "ContactPoint"; + if (code == FHIRTypes.CONTRIBUTOR) + return "Contributor"; + if (code == FHIRTypes.DATAREQUIREMENT) + return "DataRequirement"; + if (code == FHIRTypes.EXPRESSION) + return "Expression"; + if (code == FHIRTypes.EXTENDEDCONTACTDETAIL) + return "ExtendedContactDetail"; + if (code == FHIRTypes.EXTENSION) + return "Extension"; + if (code == FHIRTypes.HUMANNAME) + return "HumanName"; + if (code == FHIRTypes.IDENTIFIER) + return "Identifier"; + if (code == FHIRTypes.META) + return "Meta"; + if (code == FHIRTypes.MONETARYCOMPONENT) + return "MonetaryComponent"; + if (code == FHIRTypes.MONEY) + return "Money"; + if (code == FHIRTypes.NARRATIVE) + return "Narrative"; + if (code == FHIRTypes.PARAMETERDEFINITION) + return "ParameterDefinition"; + if (code == FHIRTypes.PERIOD) + return "Period"; + if (code == FHIRTypes.PRIMITIVETYPE) + return "PrimitiveType"; + if (code == FHIRTypes.BASE64BINARY) return "base64Binary"; - if (code == FHIRAllTypes.BOOLEAN) + if (code == FHIRTypes.BOOLEAN) return "boolean"; - if (code == FHIRAllTypes.CANONICAL) - return "canonical"; - if (code == FHIRAllTypes.CODE) - return "code"; - if (code == FHIRAllTypes.DATE) + if (code == FHIRTypes.DATE) return "date"; - if (code == FHIRAllTypes.DATETIME) + if (code == FHIRTypes.DATETIME) return "dateTime"; - if (code == FHIRAllTypes.DECIMAL) + if (code == FHIRTypes.DECIMAL) return "decimal"; - if (code == FHIRAllTypes.ID) - return "id"; - if (code == FHIRAllTypes.INSTANT) + if (code == FHIRTypes.INSTANT) return "instant"; - if (code == FHIRAllTypes.INTEGER) + if (code == FHIRTypes.INTEGER) return "integer"; - if (code == FHIRAllTypes.INTEGER64) - return "integer64"; - if (code == FHIRAllTypes.MARKDOWN) - return "markdown"; - if (code == FHIRAllTypes.OID) - return "oid"; - if (code == FHIRAllTypes.POSITIVEINT) + if (code == FHIRTypes.POSITIVEINT) return "positiveInt"; - if (code == FHIRAllTypes.STRING) - return "string"; - if (code == FHIRAllTypes.TIME) - return "time"; - if (code == FHIRAllTypes.UNSIGNEDINT) + if (code == FHIRTypes.UNSIGNEDINT) return "unsignedInt"; - if (code == FHIRAllTypes.URI) + if (code == FHIRTypes.INTEGER64) + return "integer64"; + if (code == FHIRTypes.STRING) + return "string"; + if (code == FHIRTypes.CODE) + return "code"; + if (code == FHIRTypes.ID) + return "id"; + if (code == FHIRTypes.MARKDOWN) + return "markdown"; + if (code == FHIRTypes.TIME) + return "time"; + if (code == FHIRTypes.URI) return "uri"; - if (code == FHIRAllTypes.URL) + if (code == FHIRTypes.CANONICAL) + return "canonical"; + if (code == FHIRTypes.OID) + return "oid"; + if (code == FHIRTypes.URL) return "url"; - if (code == FHIRAllTypes.UUID) + if (code == FHIRTypes.UUID) return "uuid"; - if (code == FHIRAllTypes.XHTML) + if (code == FHIRTypes.QUANTITY) + return "Quantity"; + if (code == FHIRTypes.AGE) + return "Age"; + if (code == FHIRTypes.COUNT) + return "Count"; + if (code == FHIRTypes.DISTANCE) + return "Distance"; + if (code == FHIRTypes.DURATION) + return "Duration"; + if (code == FHIRTypes.RANGE) + return "Range"; + if (code == FHIRTypes.RATIO) + return "Ratio"; + if (code == FHIRTypes.RATIORANGE) + return "RatioRange"; + if (code == FHIRTypes.REFERENCE) + return "Reference"; + if (code == FHIRTypes.RELATEDARTIFACT) + return "RelatedArtifact"; + if (code == FHIRTypes.SAMPLEDDATA) + return "SampledData"; + if (code == FHIRTypes.SIGNATURE) + return "Signature"; + if (code == FHIRTypes.TRIGGERDEFINITION) + return "TriggerDefinition"; + if (code == FHIRTypes.USAGECONTEXT) + return "UsageContext"; + if (code == FHIRTypes.VIRTUALSERVICEDETAIL) + return "VirtualServiceDetail"; + if (code == FHIRTypes.XHTML) return "xhtml"; - if (code == FHIRAllTypes.RESOURCE) + if (code == FHIRTypes.RESOURCE) return "Resource"; - if (code == FHIRAllTypes.BINARY) + if (code == FHIRTypes.BINARY) return "Binary"; - if (code == FHIRAllTypes.BUNDLE) + if (code == FHIRTypes.BUNDLE) return "Bundle"; - if (code == FHIRAllTypes.DOMAINRESOURCE) + if (code == FHIRTypes.DOMAINRESOURCE) return "DomainResource"; - if (code == FHIRAllTypes.ACCOUNT) + if (code == FHIRTypes.ACCOUNT) return "Account"; - if (code == FHIRAllTypes.ADMINISTRABLEPRODUCTDEFINITION) - return "AdministrableProductDefinition"; - if (code == FHIRAllTypes.ADVERSEEVENT) - return "AdverseEvent"; - if (code == FHIRAllTypes.ALLERGYINTOLERANCE) - return "AllergyIntolerance"; - if (code == FHIRAllTypes.APPOINTMENT) - return "Appointment"; - if (code == FHIRAllTypes.APPOINTMENTRESPONSE) - return "AppointmentResponse"; - if (code == FHIRAllTypes.ARTIFACTASSESSMENT) - return "ArtifactAssessment"; - if (code == FHIRAllTypes.AUDITEVENT) - return "AuditEvent"; - if (code == FHIRAllTypes.BASIC) - return "Basic"; - if (code == FHIRAllTypes.BIOLOGICALLYDERIVEDPRODUCT) - return "BiologicallyDerivedProduct"; - if (code == FHIRAllTypes.BODYSTRUCTURE) - return "BodyStructure"; - if (code == FHIRAllTypes.CANONICALRESOURCE) - return "CanonicalResource"; - if (code == FHIRAllTypes.CAPABILITYSTATEMENT) - return "CapabilityStatement"; - if (code == FHIRAllTypes.CAPABILITYSTATEMENT2) - return "CapabilityStatement2"; - if (code == FHIRAllTypes.CODESYSTEM) - return "CodeSystem"; - if (code == FHIRAllTypes.COMPARTMENTDEFINITION) - return "CompartmentDefinition"; - if (code == FHIRAllTypes.EXAMPLESCENARIO) - return "ExampleScenario"; - if (code == FHIRAllTypes.GRAPHDEFINITION) - return "GraphDefinition"; - if (code == FHIRAllTypes.IMPLEMENTATIONGUIDE) - return "ImplementationGuide"; - if (code == FHIRAllTypes.MESSAGEDEFINITION) - return "MessageDefinition"; - if (code == FHIRAllTypes.METADATARESOURCE) - return "MetadataResource"; - if (code == FHIRAllTypes.ACTIVITYDEFINITION) + if (code == FHIRTypes.ACTIVITYDEFINITION) return "ActivityDefinition"; - if (code == FHIRAllTypes.CHARGEITEMDEFINITION) - return "ChargeItemDefinition"; - if (code == FHIRAllTypes.CITATION) - return "Citation"; - if (code == FHIRAllTypes.CONCEPTMAP) - return "ConceptMap"; - if (code == FHIRAllTypes.CONDITIONDEFINITION) - return "ConditionDefinition"; - if (code == FHIRAllTypes.EVENTDEFINITION) - return "EventDefinition"; - if (code == FHIRAllTypes.EVIDENCE) - return "Evidence"; - if (code == FHIRAllTypes.EVIDENCEREPORT) - return "EvidenceReport"; - if (code == FHIRAllTypes.EVIDENCEVARIABLE) - return "EvidenceVariable"; - if (code == FHIRAllTypes.LIBRARY) - return "Library"; - if (code == FHIRAllTypes.MEASURE) - return "Measure"; - if (code == FHIRAllTypes.NAMINGSYSTEM) - return "NamingSystem"; - if (code == FHIRAllTypes.PLANDEFINITION) - return "PlanDefinition"; - if (code == FHIRAllTypes.QUESTIONNAIRE) - return "Questionnaire"; - if (code == FHIRAllTypes.OPERATIONDEFINITION) - return "OperationDefinition"; - if (code == FHIRAllTypes.SEARCHPARAMETER) - return "SearchParameter"; - if (code == FHIRAllTypes.STRUCTUREDEFINITION) - return "StructureDefinition"; - if (code == FHIRAllTypes.STRUCTUREMAP) - return "StructureMap"; - if (code == FHIRAllTypes.SUBSCRIPTIONTOPIC) - return "SubscriptionTopic"; - if (code == FHIRAllTypes.TERMINOLOGYCAPABILITIES) - return "TerminologyCapabilities"; - if (code == FHIRAllTypes.TESTSCRIPT) - return "TestScript"; - if (code == FHIRAllTypes.VALUESET) - return "ValueSet"; - if (code == FHIRAllTypes.CAREPLAN) + if (code == FHIRTypes.ACTORDEFINITION) + return "ActorDefinition"; + if (code == FHIRTypes.ADMINISTRABLEPRODUCTDEFINITION) + return "AdministrableProductDefinition"; + if (code == FHIRTypes.ADVERSEEVENT) + return "AdverseEvent"; + if (code == FHIRTypes.ALLERGYINTOLERANCE) + return "AllergyIntolerance"; + if (code == FHIRTypes.APPOINTMENT) + return "Appointment"; + if (code == FHIRTypes.APPOINTMENTRESPONSE) + return "AppointmentResponse"; + if (code == FHIRTypes.ARTIFACTASSESSMENT) + return "ArtifactAssessment"; + if (code == FHIRTypes.AUDITEVENT) + return "AuditEvent"; + if (code == FHIRTypes.BASIC) + return "Basic"; + if (code == FHIRTypes.BIOLOGICALLYDERIVEDPRODUCT) + return "BiologicallyDerivedProduct"; + if (code == FHIRTypes.BODYSTRUCTURE) + return "BodyStructure"; + if (code == FHIRTypes.CANONICALRESOURCE) + return "CanonicalResource"; + if (code == FHIRTypes.CAPABILITYSTATEMENT) + return "CapabilityStatement"; + if (code == FHIRTypes.CAREPLAN) return "CarePlan"; - if (code == FHIRAllTypes.CARETEAM) + if (code == FHIRTypes.CARETEAM) return "CareTeam"; - if (code == FHIRAllTypes.CHARGEITEM) + if (code == FHIRTypes.CHARGEITEM) return "ChargeItem"; - if (code == FHIRAllTypes.CLAIM) + if (code == FHIRTypes.CHARGEITEMDEFINITION) + return "ChargeItemDefinition"; + if (code == FHIRTypes.CITATION) + return "Citation"; + if (code == FHIRTypes.CLAIM) return "Claim"; - if (code == FHIRAllTypes.CLAIMRESPONSE) + if (code == FHIRTypes.CLAIMRESPONSE) return "ClaimResponse"; - if (code == FHIRAllTypes.CLINICALIMPRESSION) + if (code == FHIRTypes.CLINICALIMPRESSION) return "ClinicalImpression"; - if (code == FHIRAllTypes.CLINICALUSEDEFINITION) + if (code == FHIRTypes.CLINICALUSEDEFINITION) return "ClinicalUseDefinition"; - if (code == FHIRAllTypes.COMMUNICATION) + if (code == FHIRTypes.CODESYSTEM) + return "CodeSystem"; + if (code == FHIRTypes.COMMUNICATION) return "Communication"; - if (code == FHIRAllTypes.COMMUNICATIONREQUEST) + if (code == FHIRTypes.COMMUNICATIONREQUEST) return "CommunicationRequest"; - if (code == FHIRAllTypes.COMPOSITION) + if (code == FHIRTypes.COMPARTMENTDEFINITION) + return "CompartmentDefinition"; + if (code == FHIRTypes.COMPOSITION) return "Composition"; - if (code == FHIRAllTypes.CONDITION) + if (code == FHIRTypes.CONCEPTMAP) + return "ConceptMap"; + if (code == FHIRTypes.CONDITION) return "Condition"; - if (code == FHIRAllTypes.CONSENT) + if (code == FHIRTypes.CONDITIONDEFINITION) + return "ConditionDefinition"; + if (code == FHIRTypes.CONSENT) return "Consent"; - if (code == FHIRAllTypes.CONTRACT) + if (code == FHIRTypes.CONTRACT) return "Contract"; - if (code == FHIRAllTypes.COVERAGE) + if (code == FHIRTypes.COVERAGE) return "Coverage"; - if (code == FHIRAllTypes.COVERAGEELIGIBILITYREQUEST) + if (code == FHIRTypes.COVERAGEELIGIBILITYREQUEST) return "CoverageEligibilityRequest"; - if (code == FHIRAllTypes.COVERAGEELIGIBILITYRESPONSE) + if (code == FHIRTypes.COVERAGEELIGIBILITYRESPONSE) return "CoverageEligibilityResponse"; - if (code == FHIRAllTypes.DETECTEDISSUE) + if (code == FHIRTypes.DETECTEDISSUE) return "DetectedIssue"; - if (code == FHIRAllTypes.DEVICE) + if (code == FHIRTypes.DEVICE) return "Device"; - if (code == FHIRAllTypes.DEVICEDEFINITION) + if (code == FHIRTypes.DEVICEDEFINITION) return "DeviceDefinition"; - if (code == FHIRAllTypes.DEVICEDISPENSE) + if (code == FHIRTypes.DEVICEDISPENSE) return "DeviceDispense"; - if (code == FHIRAllTypes.DEVICEMETRIC) + if (code == FHIRTypes.DEVICEMETRIC) return "DeviceMetric"; - if (code == FHIRAllTypes.DEVICEREQUEST) + if (code == FHIRTypes.DEVICEREQUEST) return "DeviceRequest"; - if (code == FHIRAllTypes.DEVICEUSAGE) + if (code == FHIRTypes.DEVICEUSAGE) return "DeviceUsage"; - if (code == FHIRAllTypes.DIAGNOSTICREPORT) + if (code == FHIRTypes.DIAGNOSTICREPORT) return "DiagnosticReport"; - if (code == FHIRAllTypes.DOCUMENTMANIFEST) + if (code == FHIRTypes.DOCUMENTMANIFEST) return "DocumentManifest"; - if (code == FHIRAllTypes.DOCUMENTREFERENCE) + if (code == FHIRTypes.DOCUMENTREFERENCE) return "DocumentReference"; - if (code == FHIRAllTypes.ENCOUNTER) + if (code == FHIRTypes.ENCOUNTER) return "Encounter"; - if (code == FHIRAllTypes.ENDPOINT) + if (code == FHIRTypes.ENDPOINT) return "Endpoint"; - if (code == FHIRAllTypes.ENROLLMENTREQUEST) + if (code == FHIRTypes.ENROLLMENTREQUEST) return "EnrollmentRequest"; - if (code == FHIRAllTypes.ENROLLMENTRESPONSE) + if (code == FHIRTypes.ENROLLMENTRESPONSE) return "EnrollmentResponse"; - if (code == FHIRAllTypes.EPISODEOFCARE) + if (code == FHIRTypes.EPISODEOFCARE) return "EpisodeOfCare"; - if (code == FHIRAllTypes.EXPLANATIONOFBENEFIT) + if (code == FHIRTypes.EVENTDEFINITION) + return "EventDefinition"; + if (code == FHIRTypes.EVIDENCE) + return "Evidence"; + if (code == FHIRTypes.EVIDENCEREPORT) + return "EvidenceReport"; + if (code == FHIRTypes.EVIDENCEVARIABLE) + return "EvidenceVariable"; + if (code == FHIRTypes.EXAMPLESCENARIO) + return "ExampleScenario"; + if (code == FHIRTypes.EXPLANATIONOFBENEFIT) return "ExplanationOfBenefit"; - if (code == FHIRAllTypes.FAMILYMEMBERHISTORY) + if (code == FHIRTypes.FAMILYMEMBERHISTORY) return "FamilyMemberHistory"; - if (code == FHIRAllTypes.FLAG) + if (code == FHIRTypes.FLAG) return "Flag"; - if (code == FHIRAllTypes.FORMULARYITEM) + if (code == FHIRTypes.FORMULARYITEM) return "FormularyItem"; - if (code == FHIRAllTypes.GOAL) + if (code == FHIRTypes.GENOMICSTUDY) + return "GenomicStudy"; + if (code == FHIRTypes.GOAL) return "Goal"; - if (code == FHIRAllTypes.GROUP) + if (code == FHIRTypes.GRAPHDEFINITION) + return "GraphDefinition"; + if (code == FHIRTypes.GROUP) return "Group"; - if (code == FHIRAllTypes.GUIDANCERESPONSE) + if (code == FHIRTypes.GUIDANCERESPONSE) return "GuidanceResponse"; - if (code == FHIRAllTypes.HEALTHCARESERVICE) + if (code == FHIRTypes.HEALTHCARESERVICE) return "HealthcareService"; - if (code == FHIRAllTypes.IMAGINGSELECTION) + if (code == FHIRTypes.IMAGINGSELECTION) return "ImagingSelection"; - if (code == FHIRAllTypes.IMAGINGSTUDY) + if (code == FHIRTypes.IMAGINGSTUDY) return "ImagingStudy"; - if (code == FHIRAllTypes.IMMUNIZATION) + if (code == FHIRTypes.IMMUNIZATION) return "Immunization"; - if (code == FHIRAllTypes.IMMUNIZATIONEVALUATION) + if (code == FHIRTypes.IMMUNIZATIONEVALUATION) return "ImmunizationEvaluation"; - if (code == FHIRAllTypes.IMMUNIZATIONRECOMMENDATION) + if (code == FHIRTypes.IMMUNIZATIONRECOMMENDATION) return "ImmunizationRecommendation"; - if (code == FHIRAllTypes.INGREDIENT) + if (code == FHIRTypes.IMPLEMENTATIONGUIDE) + return "ImplementationGuide"; + if (code == FHIRTypes.INGREDIENT) return "Ingredient"; - if (code == FHIRAllTypes.INSURANCEPLAN) + if (code == FHIRTypes.INSURANCEPLAN) return "InsurancePlan"; - if (code == FHIRAllTypes.INVENTORYREPORT) + if (code == FHIRTypes.INVENTORYREPORT) return "InventoryReport"; - if (code == FHIRAllTypes.INVOICE) + if (code == FHIRTypes.INVOICE) return "Invoice"; - if (code == FHIRAllTypes.LINKAGE) + if (code == FHIRTypes.LIBRARY) + return "Library"; + if (code == FHIRTypes.LINKAGE) return "Linkage"; - if (code == FHIRAllTypes.LIST) + if (code == FHIRTypes.LIST) return "List"; - if (code == FHIRAllTypes.LOCATION) + if (code == FHIRTypes.LOCATION) return "Location"; - if (code == FHIRAllTypes.MANUFACTUREDITEMDEFINITION) + if (code == FHIRTypes.MANUFACTUREDITEMDEFINITION) return "ManufacturedItemDefinition"; - if (code == FHIRAllTypes.MEASUREREPORT) + if (code == FHIRTypes.MEASURE) + return "Measure"; + if (code == FHIRTypes.MEASUREREPORT) return "MeasureReport"; - if (code == FHIRAllTypes.MEDICATION) + if (code == FHIRTypes.MEDICATION) return "Medication"; - if (code == FHIRAllTypes.MEDICATIONADMINISTRATION) + if (code == FHIRTypes.MEDICATIONADMINISTRATION) return "MedicationAdministration"; - if (code == FHIRAllTypes.MEDICATIONDISPENSE) + if (code == FHIRTypes.MEDICATIONDISPENSE) return "MedicationDispense"; - if (code == FHIRAllTypes.MEDICATIONKNOWLEDGE) + if (code == FHIRTypes.MEDICATIONKNOWLEDGE) return "MedicationKnowledge"; - if (code == FHIRAllTypes.MEDICATIONREQUEST) + if (code == FHIRTypes.MEDICATIONREQUEST) return "MedicationRequest"; - if (code == FHIRAllTypes.MEDICATIONUSAGE) + if (code == FHIRTypes.MEDICATIONUSAGE) return "MedicationUsage"; - if (code == FHIRAllTypes.MEDICINALPRODUCTDEFINITION) + if (code == FHIRTypes.MEDICINALPRODUCTDEFINITION) return "MedicinalProductDefinition"; - if (code == FHIRAllTypes.MESSAGEHEADER) + if (code == FHIRTypes.MESSAGEDEFINITION) + return "MessageDefinition"; + if (code == FHIRTypes.MESSAGEHEADER) return "MessageHeader"; - if (code == FHIRAllTypes.MOLECULARSEQUENCE) + if (code == FHIRTypes.METADATARESOURCE) + return "MetadataResource"; + if (code == FHIRTypes.MOLECULARSEQUENCE) return "MolecularSequence"; - if (code == FHIRAllTypes.NUTRITIONINTAKE) + if (code == FHIRTypes.NAMINGSYSTEM) + return "NamingSystem"; + if (code == FHIRTypes.NUTRITIONINTAKE) return "NutritionIntake"; - if (code == FHIRAllTypes.NUTRITIONORDER) + if (code == FHIRTypes.NUTRITIONORDER) return "NutritionOrder"; - if (code == FHIRAllTypes.NUTRITIONPRODUCT) + if (code == FHIRTypes.NUTRITIONPRODUCT) return "NutritionProduct"; - if (code == FHIRAllTypes.OBSERVATION) + if (code == FHIRTypes.OBSERVATION) return "Observation"; - if (code == FHIRAllTypes.OBSERVATIONDEFINITION) + if (code == FHIRTypes.OBSERVATIONDEFINITION) return "ObservationDefinition"; - if (code == FHIRAllTypes.OPERATIONOUTCOME) + if (code == FHIRTypes.OPERATIONDEFINITION) + return "OperationDefinition"; + if (code == FHIRTypes.OPERATIONOUTCOME) return "OperationOutcome"; - if (code == FHIRAllTypes.ORGANIZATION) + if (code == FHIRTypes.ORGANIZATION) return "Organization"; - if (code == FHIRAllTypes.ORGANIZATIONAFFILIATION) + if (code == FHIRTypes.ORGANIZATIONAFFILIATION) return "OrganizationAffiliation"; - if (code == FHIRAllTypes.PACKAGEDPRODUCTDEFINITION) + if (code == FHIRTypes.PACKAGEDPRODUCTDEFINITION) return "PackagedProductDefinition"; - if (code == FHIRAllTypes.PATIENT) + if (code == FHIRTypes.PATIENT) return "Patient"; - if (code == FHIRAllTypes.PAYMENTNOTICE) + if (code == FHIRTypes.PAYMENTNOTICE) return "PaymentNotice"; - if (code == FHIRAllTypes.PAYMENTRECONCILIATION) + if (code == FHIRTypes.PAYMENTRECONCILIATION) return "PaymentReconciliation"; - if (code == FHIRAllTypes.PERMISSION) + if (code == FHIRTypes.PERMISSION) return "Permission"; - if (code == FHIRAllTypes.PERSON) + if (code == FHIRTypes.PERSON) return "Person"; - if (code == FHIRAllTypes.PRACTITIONER) + if (code == FHIRTypes.PLANDEFINITION) + return "PlanDefinition"; + if (code == FHIRTypes.PRACTITIONER) return "Practitioner"; - if (code == FHIRAllTypes.PRACTITIONERROLE) + if (code == FHIRTypes.PRACTITIONERROLE) return "PractitionerRole"; - if (code == FHIRAllTypes.PROCEDURE) + if (code == FHIRTypes.PROCEDURE) return "Procedure"; - if (code == FHIRAllTypes.PROVENANCE) + if (code == FHIRTypes.PROVENANCE) return "Provenance"; - if (code == FHIRAllTypes.QUESTIONNAIRERESPONSE) + if (code == FHIRTypes.QUESTIONNAIRE) + return "Questionnaire"; + if (code == FHIRTypes.QUESTIONNAIRERESPONSE) return "QuestionnaireResponse"; - if (code == FHIRAllTypes.REGULATEDAUTHORIZATION) + if (code == FHIRTypes.REGULATEDAUTHORIZATION) return "RegulatedAuthorization"; - if (code == FHIRAllTypes.RELATEDPERSON) + if (code == FHIRTypes.RELATEDPERSON) return "RelatedPerson"; - if (code == FHIRAllTypes.REQUESTGROUP) - return "RequestGroup"; - if (code == FHIRAllTypes.RESEARCHSTUDY) + if (code == FHIRTypes.REQUESTORCHESTRATION) + return "RequestOrchestration"; + if (code == FHIRTypes.REQUIREMENTS) + return "Requirements"; + if (code == FHIRTypes.RESEARCHSTUDY) return "ResearchStudy"; - if (code == FHIRAllTypes.RESEARCHSUBJECT) + if (code == FHIRTypes.RESEARCHSUBJECT) return "ResearchSubject"; - if (code == FHIRAllTypes.RISKASSESSMENT) + if (code == FHIRTypes.RISKASSESSMENT) return "RiskAssessment"; - if (code == FHIRAllTypes.SCHEDULE) + if (code == FHIRTypes.SCHEDULE) return "Schedule"; - if (code == FHIRAllTypes.SERVICEREQUEST) + if (code == FHIRTypes.SEARCHPARAMETER) + return "SearchParameter"; + if (code == FHIRTypes.SERVICEREQUEST) return "ServiceRequest"; - if (code == FHIRAllTypes.SLOT) + if (code == FHIRTypes.SLOT) return "Slot"; - if (code == FHIRAllTypes.SPECIMEN) + if (code == FHIRTypes.SPECIMEN) return "Specimen"; - if (code == FHIRAllTypes.SPECIMENDEFINITION) + if (code == FHIRTypes.SPECIMENDEFINITION) return "SpecimenDefinition"; - if (code == FHIRAllTypes.SUBSCRIPTION) + if (code == FHIRTypes.STRUCTUREDEFINITION) + return "StructureDefinition"; + if (code == FHIRTypes.STRUCTUREMAP) + return "StructureMap"; + if (code == FHIRTypes.SUBSCRIPTION) return "Subscription"; - if (code == FHIRAllTypes.SUBSCRIPTIONSTATUS) + if (code == FHIRTypes.SUBSCRIPTIONSTATUS) return "SubscriptionStatus"; - if (code == FHIRAllTypes.SUBSTANCE) + if (code == FHIRTypes.SUBSCRIPTIONTOPIC) + return "SubscriptionTopic"; + if (code == FHIRTypes.SUBSTANCE) return "Substance"; - if (code == FHIRAllTypes.SUBSTANCEDEFINITION) + if (code == FHIRTypes.SUBSTANCEDEFINITION) return "SubstanceDefinition"; - if (code == FHIRAllTypes.SUBSTANCENUCLEICACID) + if (code == FHIRTypes.SUBSTANCENUCLEICACID) return "SubstanceNucleicAcid"; - if (code == FHIRAllTypes.SUBSTANCEPOLYMER) + if (code == FHIRTypes.SUBSTANCEPOLYMER) return "SubstancePolymer"; - if (code == FHIRAllTypes.SUBSTANCEPROTEIN) + if (code == FHIRTypes.SUBSTANCEPROTEIN) return "SubstanceProtein"; - if (code == FHIRAllTypes.SUBSTANCEREFERENCEINFORMATION) + if (code == FHIRTypes.SUBSTANCEREFERENCEINFORMATION) return "SubstanceReferenceInformation"; - if (code == FHIRAllTypes.SUBSTANCESOURCEMATERIAL) + if (code == FHIRTypes.SUBSTANCESOURCEMATERIAL) return "SubstanceSourceMaterial"; - if (code == FHIRAllTypes.SUPPLYDELIVERY) + if (code == FHIRTypes.SUPPLYDELIVERY) return "SupplyDelivery"; - if (code == FHIRAllTypes.SUPPLYREQUEST) + if (code == FHIRTypes.SUPPLYREQUEST) return "SupplyRequest"; - if (code == FHIRAllTypes.TASK) + if (code == FHIRTypes.TASK) return "Task"; - if (code == FHIRAllTypes.TESTREPORT) + if (code == FHIRTypes.TERMINOLOGYCAPABILITIES) + return "TerminologyCapabilities"; + if (code == FHIRTypes.TESTREPORT) return "TestReport"; - if (code == FHIRAllTypes.TRANSPORT) + if (code == FHIRTypes.TESTSCRIPT) + return "TestScript"; + if (code == FHIRTypes.TRANSPORT) return "Transport"; - if (code == FHIRAllTypes.VERIFICATIONRESULT) + if (code == FHIRTypes.VALUESET) + return "ValueSet"; + if (code == FHIRTypes.VERIFICATIONRESULT) return "VerificationResult"; - if (code == FHIRAllTypes.VISIONPRESCRIPTION) + if (code == FHIRTypes.VISIONPRESCRIPTION) return "VisionPrescription"; - if (code == FHIRAllTypes.PARAMETERS) + if (code == FHIRTypes.PARAMETERS) return "Parameters"; - if (code == FHIRAllTypes.TYPE) - return "Type"; - if (code == FHIRAllTypes.ANY) - return "Any"; return "?"; } - public String toSystem(FHIRAllTypes code) { + public String toSystem(FHIRTypes code) { return code.getSystem(); } } @@ -6503,87 +12493,87 @@ The primary difference between a medicationusage and a medicationadministration /** * DSTU 1 Ballot version. */ - _0_11, + OID_0_11, /** * DSTU 1 version. */ - _0_0, + OID_0_0, /** * DSTU 1 Official version. */ - _0_0_80, + OID_0_0_80, /** * DSTU 1 Official version Technical Errata #1. */ - _0_0_81, + OID_0_0_81, /** * DSTU 1 Official version Technical Errata #2. - */ - _0_0_82, + */ + OID_0_0_82, /** * January 2015 Ballot. */ - _0_4, + OID_0_4, /** * Draft For Comment (January 2015 Ballot). */ - _0_4_0, + OID_0_4_0, /** * May 2015 Ballot. */ - _0_5, + OID_0_5, /** * DSTU 2 Ballot version (May 2015 Ballot). */ - _0_5_0, + OID_0_5_0, /** * DSTU 2 version. */ - _1_0, + OID_1_0, /** * DSTU 2 QA Preview + CQIF Ballot (Sep 2015). */ - _1_0_0, + OID_1_0_0, /** * DSTU 2 (Official version). */ - _1_0_1, + OID_1_0_1, /** * DSTU 2 (Official version) with 1 technical errata. */ - _1_0_2, + OID_1_0_2, /** * GAO Ballot version. */ - _1_1, + OID_1_1, /** * GAO Ballot + draft changes to main FHIR standard. */ - _1_1_0, + OID_1_1_0, /** * Connectathon 12 (Montreal) version. */ - _1_4, + OID_1_4, /** * CQF on FHIR Ballot + Connectathon 12 (Montreal). */ - _1_4_0, + OID_1_4_0, /** * Connectathon 13 (Baltimore) version. */ - _1_6, + OID_1_6, /** * FHIR STU3 Ballot + Connectathon 13 (Baltimore). */ - _1_6_0, + OID_1_6_0, /** * Connectathon 14 (San Antonio) version. */ - _1_8, + OID_1_8, /** * FHIR STU3 Candidate + Connectathon 14 (San Antonio). */ - _1_8_0, + OID_1_8_0, /** * STU3 version. */ @@ -6677,34 +12667,30 @@ The primary difference between a medicationusage and a medicationadministration */ _4_6_0, /** - * R4B CIBuild - */ - _4_3_0CIBUILD, - /** - * R4B Snapshot1 - */ - _4_3_0SNAPSHOT1, - /** - * R5 + * R5 Versions. */ _5_0, /** - * R5 + * R5 Final Version. */ _5_0_0, /** - * R5 CIBuild + * R5 Rolling ci-build. */ _5_0_0CIBUILD, /** - * R5 Snapshot1 + * R5 Preview #2. */ - _5_0_0SNAPSHOT1, + _5_0_0SNAPSHOT1, /** - * R5 Snapshot2 + * R5 Interim tooling stage. */ - _5_0_0BALLOT, - /** + _5_0_0SNAPSHOT2, + /** + * R5 Ballot. + */ + _5_0_0BALLOT, + /** * added to help the parsers */ NULL; @@ -6718,47 +12704,47 @@ The primary difference between a medicationusage and a medicationadministration if ("0.06".equals(codeString)) return _0_06; if ("0.11".equals(codeString)) - return _0_11; + return OID_0_11; if ("0.0".equals(codeString)) - return _0_0; + return OID_0_0; if ("0.0.80".equals(codeString)) - return _0_0_80; + return OID_0_0_80; if ("0.0.81".equals(codeString)) - return _0_0_81; + return OID_0_0_81; if ("0.0.82".equals(codeString)) - return _0_0_82; + return OID_0_0_82; if ("0.4".equals(codeString)) - return _0_4; + return OID_0_4; if ("0.4.0".equals(codeString)) - return _0_4_0; + return OID_0_4_0; if ("0.5".equals(codeString)) - return _0_5; + return OID_0_5; if ("0.5.0".equals(codeString)) - return _0_5_0; + return OID_0_5_0; if ("1.0".equals(codeString)) - return _1_0; + return OID_1_0; if ("1.0.0".equals(codeString)) - return _1_0_0; + return OID_1_0_0; if ("1.0.1".equals(codeString)) - return _1_0_1; + return OID_1_0_1; if ("1.0.2".equals(codeString)) - return _1_0_2; + return OID_1_0_2; if ("1.1".equals(codeString)) - return _1_1; + return OID_1_1; if ("1.1.0".equals(codeString)) - return _1_1_0; + return OID_1_1_0; if ("1.4".equals(codeString)) - return _1_4; + return OID_1_4; if ("1.4.0".equals(codeString)) - return _1_4_0; + return OID_1_4_0; if ("1.6".equals(codeString)) - return _1_6; + return OID_1_6; if ("1.6.0".equals(codeString)) - return _1_6_0; + return OID_1_6_0; if ("1.8".equals(codeString)) - return _1_8; + return OID_1_8; if ("1.8.0".equals(codeString)) - return _1_8_0; + return OID_1_8_0; if ("3.0".equals(codeString)) return _3_0; if ("3.0.0".equals(codeString)) @@ -6805,10 +12791,6 @@ The primary difference between a medicationusage and a medicationadministration return _4_6; if ("4.6.0".equals(codeString)) return _4_6_0; - if ("4.3.0-cibuild".equals(codeString)) - return _4_3_0CIBUILD; - if ("4.3.0-snapshot1".equals(codeString)) - return _4_3_0SNAPSHOT1; if ("5.0".equals(codeString)) return _5_0; if ("5.0.0".equals(codeString)) @@ -6817,6 +12799,8 @@ The primary difference between a medicationusage and a medicationadministration return _5_0_0CIBUILD; if ("5.0.0-snapshot1".equals(codeString)) return _5_0_0SNAPSHOT1; + if ("5.0.0-snapshot2".equals(codeString)) + return _5_0_0SNAPSHOT2; if ("5.0.0-ballot".equals(codeString)) return _5_0_0BALLOT; throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); @@ -6826,27 +12810,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "0.01"; case _0_05: return "0.05"; case _0_06: return "0.06"; - case _0_11: return "0.11"; - case _0_0: return "0.0"; - case _0_0_80: return "0.0.80"; - case _0_0_81: return "0.0.81"; - case _0_0_82: return "0.0.82"; - case _0_4: return "0.4"; - case _0_4_0: return "0.4.0"; - case _0_5: return "0.5"; - case _0_5_0: return "0.5.0"; - case _1_0: return "1.0"; - case _1_0_0: return "1.0.0"; - case _1_0_1: return "1.0.1"; - case _1_0_2: return "1.0.2"; - case _1_1: return "1.1"; - case _1_1_0: return "1.1.0"; - case _1_4: return "1.4"; - case _1_4_0: return "1.4.0"; - case _1_6: return "1.6"; - case _1_6_0: return "1.6.0"; - case _1_8: return "1.8"; - case _1_8_0: return "1.8.0"; + case OID_0_11: return "0.11"; + case OID_0_0: return "0.0"; + case OID_0_0_80: return "0.0.80"; + case OID_0_0_81: return "0.0.81"; + case OID_0_0_82: return "0.0.82"; + case OID_0_4: return "0.4"; + case OID_0_4_0: return "0.4.0"; + case OID_0_5: return "0.5"; + case OID_0_5_0: return "0.5.0"; + case OID_1_0: return "1.0"; + case OID_1_0_0: return "1.0.0"; + case OID_1_0_1: return "1.0.1"; + case OID_1_0_2: return "1.0.2"; + case OID_1_1: return "1.1"; + case OID_1_1_0: return "1.1.0"; + case OID_1_4: return "1.4"; + case OID_1_4_0: return "1.4.0"; + case OID_1_6: return "1.6"; + case OID_1_6_0: return "1.6.0"; + case OID_1_8: return "1.8"; + case OID_1_8_0: return "1.8.0"; case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; @@ -6870,12 +12854,11 @@ The primary difference between a medicationusage and a medicationadministration case _4_5_0: return "4.5.0"; case _4_6: return "4.6"; case _4_6_0: return "4.6.0"; - case _4_3_0CIBUILD: return "4.3.0-cibuild"; - case _4_3_0SNAPSHOT1: return "4.3.0-snapshot1"; case _5_0: return "5.0"; case _5_0_0: return "5.0.0"; case _5_0_0CIBUILD: return "5.0.0-cibuild"; case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; + case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; @@ -6886,27 +12869,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "http://hl7.org/fhir/FHIR-version"; case _0_05: return "http://hl7.org/fhir/FHIR-version"; case _0_06: return "http://hl7.org/fhir/FHIR-version"; - case _0_11: return "http://hl7.org/fhir/FHIR-version"; - case _0_0: return "http://hl7.org/fhir/FHIR-version"; - case _0_0_80: return "http://hl7.org/fhir/FHIR-version"; - case _0_0_81: return "http://hl7.org/fhir/FHIR-version"; - case _0_0_82: return "http://hl7.org/fhir/FHIR-version"; - case _0_4: return "http://hl7.org/fhir/FHIR-version"; - case _0_4_0: return "http://hl7.org/fhir/FHIR-version"; - case _0_5: return "http://hl7.org/fhir/FHIR-version"; - case _0_5_0: return "http://hl7.org/fhir/FHIR-version"; - case _1_0: return "http://hl7.org/fhir/FHIR-version"; - case _1_0_0: return "http://hl7.org/fhir/FHIR-version"; - case _1_0_1: return "http://hl7.org/fhir/FHIR-version"; - case _1_0_2: return "http://hl7.org/fhir/FHIR-version"; - case _1_1: return "http://hl7.org/fhir/FHIR-version"; - case _1_1_0: return "http://hl7.org/fhir/FHIR-version"; - case _1_4: return "http://hl7.org/fhir/FHIR-version"; - case _1_4_0: return "http://hl7.org/fhir/FHIR-version"; - case _1_6: return "http://hl7.org/fhir/FHIR-version"; - case _1_6_0: return "http://hl7.org/fhir/FHIR-version"; - case _1_8: return "http://hl7.org/fhir/FHIR-version"; - case _1_8_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_11: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_0_80: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_0_81: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_0_82: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_4: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_4_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_5: return "http://hl7.org/fhir/FHIR-version"; + case OID_0_5_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_0_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_0_1: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_0_2: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_1: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_1_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_4: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_4_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_6: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_6_0: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_8: return "http://hl7.org/fhir/FHIR-version"; + case OID_1_8_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_1: return "http://hl7.org/fhir/FHIR-version"; @@ -6930,12 +12913,11 @@ The primary difference between a medicationusage and a medicationadministration case _4_5_0: return "http://hl7.org/fhir/FHIR-version"; case _4_6: return "http://hl7.org/fhir/FHIR-version"; case _4_6_0: return "http://hl7.org/fhir/FHIR-version"; - case _4_3_0CIBUILD: return "http://hl7.org/fhir/FHIR-version"; - case _4_3_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; case _5_0: return "http://hl7.org/fhir/FHIR-version"; case _5_0_0: return "http://hl7.org/fhir/FHIR-version"; case _5_0_0CIBUILD: return "http://hl7.org/fhir/FHIR-version"; case _5_0_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0SNAPSHOT2: return "http://hl7.org/fhir/FHIR-version"; case _5_0_0BALLOT: return "http://hl7.org/fhir/FHIR-version"; case NULL: return null; default: return "?"; @@ -6946,27 +12928,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "Oldest archived version of FHIR."; case _0_05: return "1st Draft for Comment (Sept 2012 Ballot)."; case _0_06: return "2nd Draft for Comment (January 2013 Ballot)."; - case _0_11: return "DSTU 1 Ballot version."; - case _0_0: return "DSTU 1 version."; - case _0_0_80: return "DSTU 1 Official version."; - case _0_0_81: return "DSTU 1 Official version Technical Errata #1."; - case _0_0_82: return "DSTU 1 Official version Technical Errata #2."; - case _0_4: return "January 2015 Ballot."; - case _0_4_0: return "Draft For Comment (January 2015 Ballot)."; - case _0_5: return "May 2015 Ballot."; - case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot)."; - case _1_0: return "DSTU 2 version."; - case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015)."; - case _1_0_1: return "DSTU 2 (Official version)."; - case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata."; - case _1_1: return "GAO Ballot version."; - case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard."; - case _1_4: return "Connectathon 12 (Montreal) version."; - case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal)."; - case _1_6: return "Connectathon 13 (Baltimore) version."; - case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore)."; - case _1_8: return "Connectathon 14 (San Antonio) version."; - case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio)."; + case OID_0_11: return "DSTU 1 Ballot version."; + case OID_0_0: return "DSTU 1 version."; + case OID_0_0_80: return "DSTU 1 Official version."; + case OID_0_0_81: return "DSTU 1 Official version Technical Errata #1."; + case OID_0_0_82: return "DSTU 1 Official version Technical Errata #2."; + case OID_0_4: return "January 2015 Ballot."; + case OID_0_4_0: return "Draft For Comment (January 2015 Ballot)."; + case OID_0_5: return "May 2015 Ballot."; + case OID_0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot)."; + case OID_1_0: return "DSTU 2 version."; + case OID_1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015)."; + case OID_1_0_1: return "DSTU 2 (Official version)."; + case OID_1_0_2: return "DSTU 2 (Official version) with 1 technical errata."; + case OID_1_1: return "GAO Ballot version."; + case OID_1_1_0: return "GAO Ballot + draft changes to main FHIR standard."; + case OID_1_4: return "Connectathon 12 (Montreal) version."; + case OID_1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal)."; + case OID_1_6: return "Connectathon 13 (Baltimore) version."; + case OID_1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore)."; + case OID_1_8: return "Connectathon 14 (San Antonio) version."; + case OID_1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio)."; case _3_0: return "STU3 version."; case _3_0_0: return "FHIR Release 3 (STU)."; case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata."; @@ -6990,13 +12972,12 @@ The primary difference between a medicationusage and a medicationadministration case _4_5_0: return "R5 Preview #3 + Connectathon 25 (Virtual)."; case _4_6: return "R5 Draft Ballot version."; case _4_6_0: return "R5 Draft Ballot + Connectathon 27 (Virtual)."; - case _4_3_0CIBUILD: return "R4B CIBuild"; - case _4_3_0SNAPSHOT1: return "R4B Snapshot1"; - case _5_0: return "R5"; - case _5_0_0: return "R5"; - case _5_0_0CIBUILD: return "R5 CIBuild"; - case _5_0_0SNAPSHOT1: return "R5 Snapshot1"; - case _5_0_0BALLOT: return "R5 Snapshot2"; + case _5_0: return "R5 Versions."; + case _5_0_0: return "R5 Final Version."; + case _5_0_0CIBUILD: return "R5 Rolling ci-build."; + case _5_0_0SNAPSHOT1: return "R5 Preview #2."; + case _5_0_0SNAPSHOT2: return "R5 Interim tooling stage."; + case _5_0_0BALLOT: return "R5 Ballot."; case NULL: return null; default: return "?"; } @@ -7006,27 +12987,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "0.01"; case _0_05: return "0.05"; case _0_06: return "0.06"; - case _0_11: return "0.11"; - case _0_0: return "0.0"; - case _0_0_80: return "0.0.80"; - case _0_0_81: return "0.0.81"; - case _0_0_82: return "0.0.82"; - case _0_4: return "0.4"; - case _0_4_0: return "0.4.0"; - case _0_5: return "0.5"; - case _0_5_0: return "0.5.0"; - case _1_0: return "1.0"; - case _1_0_0: return "1.0.0"; - case _1_0_1: return "1.0.1"; - case _1_0_2: return "1.0.2"; - case _1_1: return "1.1"; - case _1_1_0: return "1.1.0"; - case _1_4: return "1.4"; - case _1_4_0: return "1.4.0"; - case _1_6: return "1.6"; - case _1_6_0: return "1.6.0"; - case _1_8: return "1.8"; - case _1_8_0: return "1.8.0"; + case OID_0_11: return "0.11"; + case OID_0_0: return "0.0"; + case OID_0_0_80: return "0.0.80"; + case OID_0_0_81: return "0.0.81"; + case OID_0_0_82: return "0.0.82"; + case OID_0_4: return "0.4"; + case OID_0_4_0: return "0.4.0"; + case OID_0_5: return "0.5"; + case OID_0_5_0: return "0.5.0"; + case OID_1_0: return "1.0"; + case OID_1_0_0: return "1.0.0"; + case OID_1_0_1: return "1.0.1"; + case OID_1_0_2: return "1.0.2"; + case OID_1_1: return "1.1"; + case OID_1_1_0: return "1.1.0"; + case OID_1_4: return "1.4"; + case OID_1_4_0: return "1.4.0"; + case OID_1_6: return "1.6"; + case OID_1_6_0: return "1.6.0"; + case OID_1_8: return "1.8"; + case OID_1_8_0: return "1.8.0"; case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; @@ -7050,34 +13031,22 @@ The primary difference between a medicationusage and a medicationadministration case _4_5_0: return "4.5.0"; case _4_6: return "4.6"; case _4_6_0: return "4.6.0"; - case _4_3_0CIBUILD: return "4.3.0-cibuild"; - case _4_3_0SNAPSHOT1: return "4.3.0-snapshot1"; case _5_0: return "5.0"; case _5_0_0: return "5.0.0"; case _5_0_0CIBUILD: return "5.0.0-cibuild"; case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; + case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } } - // manual code from configuration.txt: //public String toCode(int len) { // return toCode().substring(0, len); // } // -// public static boolean isR4Plus(String version) { -// return version != null && (version.startsWith("4.") || version.startsWith("5.") || "current".equals(version)); -// } -// - public static boolean isValidCode(String codeString) { - return Utilities.existsInList(codeString, "0.01", "0.05", "0.06", "0.11", "0.0.80", "0.0.81" ,"0.0.82", "0.4.0", "0.5.0", - "1.0.0", "1.0.1", "1.0.2", "1.1.0", "1.4.0", "1.6.0", "1.8.0", "3.0.0", "3.0.1", "3.0.2", "3.3.0", "3.5.0", - "4.0.0", "4.0.1", "4.1.0" ,"4.2.0" ,"4.3.0-snapshot1" ,"4.3.0-cibuild" ,"4.3.0", "5.0.0", "5.0.0-cibuild", "5.0.0-snapshot1", "5.0.0-ballot"); - } - - +// // @Override // public String toString() { // return toCode(); @@ -7087,7 +13056,7 @@ The primary difference between a medicationusage and a medicationadministration // public boolean isR4B() { // return toCode().startsWith("4.1"); // } - +// // end addition } @@ -7103,47 +13072,47 @@ The primary difference between a medicationusage and a medicationadministration if ("0.06".equals(codeString)) return FHIRVersion._0_06; if ("0.11".equals(codeString)) - return FHIRVersion._0_11; + return FHIRVersion.OID_0_11; if ("0.0".equals(codeString)) - return FHIRVersion._0_0; + return FHIRVersion.OID_0_0; if ("0.0.80".equals(codeString)) - return FHIRVersion._0_0_80; + return FHIRVersion.OID_0_0_80; if ("0.0.81".equals(codeString)) - return FHIRVersion._0_0_81; + return FHIRVersion.OID_0_0_81; if ("0.0.82".equals(codeString)) - return FHIRVersion._0_0_82; + return FHIRVersion.OID_0_0_82; if ("0.4".equals(codeString)) - return FHIRVersion._0_4; + return FHIRVersion.OID_0_4; if ("0.4.0".equals(codeString)) - return FHIRVersion._0_4_0; + return FHIRVersion.OID_0_4_0; if ("0.5".equals(codeString)) - return FHIRVersion._0_5; + return FHIRVersion.OID_0_5; if ("0.5.0".equals(codeString)) - return FHIRVersion._0_5_0; + return FHIRVersion.OID_0_5_0; if ("1.0".equals(codeString)) - return FHIRVersion._1_0; + return FHIRVersion.OID_1_0; if ("1.0.0".equals(codeString)) - return FHIRVersion._1_0_0; + return FHIRVersion.OID_1_0_0; if ("1.0.1".equals(codeString)) - return FHIRVersion._1_0_1; + return FHIRVersion.OID_1_0_1; if ("1.0.2".equals(codeString)) - return FHIRVersion._1_0_2; + return FHIRVersion.OID_1_0_2; if ("1.1".equals(codeString)) - return FHIRVersion._1_1; + return FHIRVersion.OID_1_1; if ("1.1.0".equals(codeString)) - return FHIRVersion._1_1_0; + return FHIRVersion.OID_1_1_0; if ("1.4".equals(codeString)) - return FHIRVersion._1_4; + return FHIRVersion.OID_1_4; if ("1.4.0".equals(codeString)) - return FHIRVersion._1_4_0; + return FHIRVersion.OID_1_4_0; if ("1.6".equals(codeString)) - return FHIRVersion._1_6; + return FHIRVersion.OID_1_6; if ("1.6.0".equals(codeString)) - return FHIRVersion._1_6_0; + return FHIRVersion.OID_1_6_0; if ("1.8".equals(codeString)) - return FHIRVersion._1_8; + return FHIRVersion.OID_1_8; if ("1.8.0".equals(codeString)) - return FHIRVersion._1_8_0; + return FHIRVersion.OID_1_8_0; if ("3.0".equals(codeString)) return FHIRVersion._3_0; if ("3.0.0".equals(codeString)) @@ -7190,10 +13159,6 @@ The primary difference between a medicationusage and a medicationadministration return FHIRVersion._4_6; if ("4.6.0".equals(codeString)) return FHIRVersion._4_6_0; - if ("4.3.0-cibuild".equals(codeString)) - return FHIRVersion._4_3_0CIBUILD; - if ("4.3.0-snapshot1".equals(codeString)) - return FHIRVersion._4_3_0SNAPSHOT1; if ("5.0".equals(codeString)) return FHIRVersion._5_0; if ("5.0.0".equals(codeString)) @@ -7202,6 +13167,8 @@ The primary difference between a medicationusage and a medicationadministration return FHIRVersion._5_0_0CIBUILD; if ("5.0.0-snapshot1".equals(codeString)) return FHIRVersion._5_0_0SNAPSHOT1; + if ("5.0.0-snapshot2".equals(codeString)) + return FHIRVersion._5_0_0SNAPSHOT2; if ("5.0.0-ballot".equals(codeString)) return FHIRVersion._5_0_0BALLOT; throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); @@ -7221,47 +13188,47 @@ The primary difference between a medicationusage and a medicationadministration if ("0.06".equals(codeString)) return new Enumeration(this, FHIRVersion._0_06); if ("0.11".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_11); + return new Enumeration(this, FHIRVersion.OID_0_11); if ("0.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_0); + return new Enumeration(this, FHIRVersion.OID_0_0); if ("0.0.80".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_0_80); + return new Enumeration(this, FHIRVersion.OID_0_0_80); if ("0.0.81".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_0_81); + return new Enumeration(this, FHIRVersion.OID_0_0_81); if ("0.0.82".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_0_82); + return new Enumeration(this, FHIRVersion.OID_0_0_82); if ("0.4".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_4); + return new Enumeration(this, FHIRVersion.OID_0_4); if ("0.4.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_4_0); + return new Enumeration(this, FHIRVersion.OID_0_4_0); if ("0.5".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_5); + return new Enumeration(this, FHIRVersion.OID_0_5); if ("0.5.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._0_5_0); + return new Enumeration(this, FHIRVersion.OID_0_5_0); if ("1.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_0); + return new Enumeration(this, FHIRVersion.OID_1_0); if ("1.0.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_0_0); + return new Enumeration(this, FHIRVersion.OID_1_0_0); if ("1.0.1".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_0_1); + return new Enumeration(this, FHIRVersion.OID_1_0_1); if ("1.0.2".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_0_2); + return new Enumeration(this, FHIRVersion.OID_1_0_2); if ("1.1".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_1); + return new Enumeration(this, FHIRVersion.OID_1_1); if ("1.1.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_1_0); + return new Enumeration(this, FHIRVersion.OID_1_1_0); if ("1.4".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_4); + return new Enumeration(this, FHIRVersion.OID_1_4); if ("1.4.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_4_0); + return new Enumeration(this, FHIRVersion.OID_1_4_0); if ("1.6".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_6); + return new Enumeration(this, FHIRVersion.OID_1_6); if ("1.6.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_6_0); + return new Enumeration(this, FHIRVersion.OID_1_6_0); if ("1.8".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_8); + return new Enumeration(this, FHIRVersion.OID_1_8); if ("1.8.0".equals(codeString)) - return new Enumeration(this, FHIRVersion._1_8_0); + return new Enumeration(this, FHIRVersion.OID_1_8_0); if ("3.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0); if ("3.0.0".equals(codeString)) @@ -7308,10 +13275,6 @@ The primary difference between a medicationusage and a medicationadministration return new Enumeration(this, FHIRVersion._4_6); if ("4.6.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_6_0); - if ("4.3.0-cibuild".equals(codeString)) - return new Enumeration(this, FHIRVersion._4_3_0CIBUILD); - if ("4.3.0-snapshot1".equals(codeString)) - return new Enumeration(this, FHIRVersion._4_3_0SNAPSHOT1); if ("5.0".equals(codeString)) return new Enumeration(this, FHIRVersion._5_0); if ("5.0.0".equals(codeString)) @@ -7320,8 +13283,10 @@ The primary difference between a medicationusage and a medicationadministration return new Enumeration(this, FHIRVersion._5_0_0CIBUILD); if ("5.0.0-snapshot1".equals(codeString)) return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT1); - if ("5.0.0-ballot".equals(codeString)) - return new Enumeration(this, FHIRVersion._5_0_0BALLOT); + if ("5.0.0-snapshot2".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT2); + if ("5.0.0-ballot".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0BALLOT); throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } public String toCode(FHIRVersion code) { @@ -7331,47 +13296,47 @@ The primary difference between a medicationusage and a medicationadministration return "0.05"; if (code == FHIRVersion._0_06) return "0.06"; - if (code == FHIRVersion._0_11) + if (code == FHIRVersion.OID_0_11) return "0.11"; - if (code == FHIRVersion._0_0) + if (code == FHIRVersion.OID_0_0) return "0.0"; - if (code == FHIRVersion._0_0_80) + if (code == FHIRVersion.OID_0_0_80) return "0.0.80"; - if (code == FHIRVersion._0_0_81) + if (code == FHIRVersion.OID_0_0_81) return "0.0.81"; - if (code == FHIRVersion._0_0_82) + if (code == FHIRVersion.OID_0_0_82) return "0.0.82"; - if (code == FHIRVersion._0_4) + if (code == FHIRVersion.OID_0_4) return "0.4"; - if (code == FHIRVersion._0_4_0) + if (code == FHIRVersion.OID_0_4_0) return "0.4.0"; - if (code == FHIRVersion._0_5) + if (code == FHIRVersion.OID_0_5) return "0.5"; - if (code == FHIRVersion._0_5_0) + if (code == FHIRVersion.OID_0_5_0) return "0.5.0"; - if (code == FHIRVersion._1_0) + if (code == FHIRVersion.OID_1_0) return "1.0"; - if (code == FHIRVersion._1_0_0) + if (code == FHIRVersion.OID_1_0_0) return "1.0.0"; - if (code == FHIRVersion._1_0_1) + if (code == FHIRVersion.OID_1_0_1) return "1.0.1"; - if (code == FHIRVersion._1_0_2) + if (code == FHIRVersion.OID_1_0_2) return "1.0.2"; - if (code == FHIRVersion._1_1) + if (code == FHIRVersion.OID_1_1) return "1.1"; - if (code == FHIRVersion._1_1_0) + if (code == FHIRVersion.OID_1_1_0) return "1.1.0"; - if (code == FHIRVersion._1_4) + if (code == FHIRVersion.OID_1_4) return "1.4"; - if (code == FHIRVersion._1_4_0) + if (code == FHIRVersion.OID_1_4_0) return "1.4.0"; - if (code == FHIRVersion._1_6) + if (code == FHIRVersion.OID_1_6) return "1.6"; - if (code == FHIRVersion._1_6_0) + if (code == FHIRVersion.OID_1_6_0) return "1.6.0"; - if (code == FHIRVersion._1_8) + if (code == FHIRVersion.OID_1_8) return "1.8"; - if (code == FHIRVersion._1_8_0) + if (code == FHIRVersion.OID_1_8_0) return "1.8.0"; if (code == FHIRVersion._3_0) return "3.0"; @@ -7419,10 +13384,6 @@ The primary difference between a medicationusage and a medicationadministration return "4.6"; if (code == FHIRVersion._4_6_0) return "4.6.0"; - if (code == FHIRVersion._4_3_0CIBUILD) - return "4.3.0-cibuild"; - if (code == FHIRVersion._4_3_0SNAPSHOT1) - return "4.3.0-snapshot1"; if (code == FHIRVersion._5_0) return "5.0"; if (code == FHIRVersion._5_0_0) @@ -7431,6 +13392,8 @@ The primary difference between a medicationusage and a medicationadministration return "5.0.0-cibuild"; if (code == FHIRVersion._5_0_0SNAPSHOT1) return "5.0.0-snapshot1"; + if (code == FHIRVersion._5_0_0SNAPSHOT2) + return "5.0.0-snapshot2"; if (code == FHIRVersion._5_0_0BALLOT) return "5.0.0-ballot"; return "?"; @@ -7802,163 +13765,6 @@ The primary difference between a medicationusage and a medicationadministration } } - public enum InvoicePriceComponentType { - /** - * the amount is the base price used for calculating the total price before applying surcharges, discount or taxes. - */ - BASE, - /** - * the amount is a surcharge applied on the base price. - */ - SURCHARGE, - /** - * the amount is a deduction applied on the base price. - */ - DEDUCTION, - /** - * the amount is a discount applied on the base price. - */ - DISCOUNT, - /** - * the amount is the tax component of the total price. - */ - TAX, - /** - * the amount is of informational character, it has not been applied in the calculation of the total price. - */ - INFORMATIONAL, - /** - * added to help the parsers - */ - NULL; - public static InvoicePriceComponentType fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("base".equals(codeString)) - return BASE; - if ("surcharge".equals(codeString)) - return SURCHARGE; - if ("deduction".equals(codeString)) - return DEDUCTION; - if ("discount".equals(codeString)) - return DISCOUNT; - if ("tax".equals(codeString)) - return TAX; - if ("informational".equals(codeString)) - return INFORMATIONAL; - throw new FHIRException("Unknown InvoicePriceComponentType code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case BASE: return "base"; - case SURCHARGE: return "surcharge"; - case DEDUCTION: return "deduction"; - case DISCOUNT: return "discount"; - case TAX: return "tax"; - case INFORMATIONAL: return "informational"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case BASE: return "http://hl7.org/fhir/invoice-priceComponentType"; - case SURCHARGE: return "http://hl7.org/fhir/invoice-priceComponentType"; - case DEDUCTION: return "http://hl7.org/fhir/invoice-priceComponentType"; - case DISCOUNT: return "http://hl7.org/fhir/invoice-priceComponentType"; - case TAX: return "http://hl7.org/fhir/invoice-priceComponentType"; - case INFORMATIONAL: return "http://hl7.org/fhir/invoice-priceComponentType"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case BASE: return "the amount is the base price used for calculating the total price before applying surcharges, discount or taxes."; - case SURCHARGE: return "the amount is a surcharge applied on the base price."; - case DEDUCTION: return "the amount is a deduction applied on the base price."; - case DISCOUNT: return "the amount is a discount applied on the base price."; - case TAX: return "the amount is the tax component of the total price."; - case INFORMATIONAL: return "the amount is of informational character, it has not been applied in the calculation of the total price."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case BASE: return "base price"; - case SURCHARGE: return "surcharge"; - case DEDUCTION: return "deduction"; - case DISCOUNT: return "discount"; - case TAX: return "tax"; - case INFORMATIONAL: return "informational"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class InvoicePriceComponentTypeEnumFactory implements EnumFactory { - public InvoicePriceComponentType fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("base".equals(codeString)) - return InvoicePriceComponentType.BASE; - if ("surcharge".equals(codeString)) - return InvoicePriceComponentType.SURCHARGE; - if ("deduction".equals(codeString)) - return InvoicePriceComponentType.DEDUCTION; - if ("discount".equals(codeString)) - return InvoicePriceComponentType.DISCOUNT; - if ("tax".equals(codeString)) - return InvoicePriceComponentType.TAX; - if ("informational".equals(codeString)) - return InvoicePriceComponentType.INFORMATIONAL; - throw new IllegalArgumentException("Unknown InvoicePriceComponentType code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("base".equals(codeString)) - return new Enumeration(this, InvoicePriceComponentType.BASE); - if ("surcharge".equals(codeString)) - return new Enumeration(this, InvoicePriceComponentType.SURCHARGE); - if ("deduction".equals(codeString)) - return new Enumeration(this, InvoicePriceComponentType.DEDUCTION); - if ("discount".equals(codeString)) - return new Enumeration(this, InvoicePriceComponentType.DISCOUNT); - if ("tax".equals(codeString)) - return new Enumeration(this, InvoicePriceComponentType.TAX); - if ("informational".equals(codeString)) - return new Enumeration(this, InvoicePriceComponentType.INFORMATIONAL); - throw new FHIRException("Unknown InvoicePriceComponentType code '"+codeString+"'"); - } - public String toCode(InvoicePriceComponentType code) { - if (code == InvoicePriceComponentType.BASE) - return "base"; - if (code == InvoicePriceComponentType.SURCHARGE) - return "surcharge"; - if (code == InvoicePriceComponentType.DEDUCTION) - return "deduction"; - if (code == InvoicePriceComponentType.DISCOUNT) - return "discount"; - if (code == InvoicePriceComponentType.TAX) - return "tax"; - if (code == InvoicePriceComponentType.INFORMATIONAL) - return "informational"; - return "?"; - } - public String toSystem(InvoicePriceComponentType code) { - return code.getSystem(); - } - } - public enum ListMode { /** * This list is the master list, maintained in an ongoing fashion with regular updates as the real world list it is tracking changes. @@ -9038,7 +14844,7 @@ The primary difference between a medicationusage and a medicationadministration */ INSTANCEORDER, /** - * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used. + * The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used. */ OPTION, /** @@ -9108,7 +14914,7 @@ The primary difference between a medicationusage and a medicationadministration case REFLEXORDER: return "The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization."; case FILLERORDER: return "The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order."; case INSTANCEORDER: return "An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence. E.g. The administration of a single dose of a drug."; - case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used."; + case OPTION: return "The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used."; case NULL: return null; default: return "?"; } @@ -9507,33 +15313,25 @@ The primary difference between a medicationusage and a medicationadministration } } - public enum ResourceTypeEnum { - /** - * --- Abstract Type! ---This is the base resource type for everything. - */ - RESOURCE, - /** - * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. - */ - BINARY, - /** - * A container for a collection of resources. - */ - BUNDLE, - /** - * --- Abstract Type! ---A resource that includes narrative, extensions, and contained resources. - */ - DOMAINRESOURCE, + public enum ResourceTypes { /** * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. */ ACCOUNT, + /** + * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. + */ + ACTIVITYDEFINITION, + /** + * The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ + ACTORDEFINITION, /** * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed). */ ADMINISTRABLEPRODUCTDEFINITION, /** - * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. + * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints. */ ADVERSEEVENT, /** @@ -9560,6 +15358,10 @@ The primary difference between a medicationusage and a medicationadministration * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification. */ BASIC, + /** + * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. + */ + BINARY, /** * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity. */ @@ -9569,133 +15371,13 @@ The primary difference between a medicationusage and a medicationadministration */ BODYSTRUCTURE, /** - * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. + * A container for a collection of resources. */ - CANONICALRESOURCE, + BUNDLE, /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. */ CAPABILITYSTATEMENT, - /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - CAPABILITYSTATEMENT2, - /** - * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. - */ - CODESYSTEM, - /** - * A compartment definition that defines how resources are accessed on a server. - */ - COMPARTMENTDEFINITION, - /** - * Example of workflow instance. - */ - EXAMPLESCENARIO, - /** - * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. - */ - GRAPHDEFINITION, - /** - * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. - */ - IMPLEMENTATIONGUIDE, - /** - * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. - */ - MESSAGEDEFINITION, - /** - * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. - */ - METADATARESOURCE, - /** - * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. - */ - ACTIVITYDEFINITION, - /** - * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. - */ - CHARGEITEMDEFINITION, - /** - * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. - */ - CITATION, - /** - * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. - */ - CONCEPTMAP, - /** - * A definition of a condition and information relevant to managing it. - */ - CONDITIONDEFINITION, - /** - * The EventDefinition resource provides a reusable description of when a particular event can occur. - */ - EVENTDEFINITION, - /** - * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. - */ - EVIDENCE, - /** - * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. - */ - EVIDENCEREPORT, - /** - * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. - */ - EVIDENCEVARIABLE, - /** - * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. - */ - LIBRARY, - /** - * The Measure resource provides the definition of a quality measure. - */ - MEASURE, - /** - * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. - */ - NAMINGSYSTEM, - /** - * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. - */ - PLANDEFINITION, - /** - * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. - */ - QUESTIONNAIRE, - /** - * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). - */ - OPERATIONDEFINITION, - /** - * A search parameter that defines a named search item that can be used to search/filter on a resource. - */ - SEARCHPARAMETER, - /** - * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. - */ - STRUCTUREDEFINITION, - /** - * A Map of relationships between 2 structures that can be used to transform data. - */ - STRUCTUREMAP, - /** - * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. - */ - SUBSCRIPTIONTOPIC, - /** - * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - TERMINOLOGYCAPABILITIES, - /** - * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. - */ - TESTSCRIPT, - /** - * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). - */ - VALUESET, /** * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. */ @@ -9708,6 +15390,14 @@ The primary difference between a medicationusage and a medicationadministration * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. */ CHARGEITEM, + /** + * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. + */ + CHARGEITEMDEFINITION, + /** + * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. + */ + CITATION, /** * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. */ @@ -9724,6 +15414,10 @@ The primary difference between a medicationusage and a medicationadministration * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. */ CLINICALUSEDEFINITION, + /** + * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. + */ + CODESYSTEM, /** * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition. */ @@ -9732,14 +15426,26 @@ The primary difference between a medicationusage and a medicationadministration * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. */ COMMUNICATIONREQUEST, + /** + * A compartment definition that defines how resources are accessed on a server. + */ + COMPARTMENTDEFINITION, /** * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). */ COMPOSITION, + /** + * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. + */ + CONCEPTMAP, /** * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. */ CONDITION, + /** + * A definition of a condition and information relevant to managing it. + */ + CONDITIONDEFINITION, /** * A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. */ @@ -9801,7 +15507,7 @@ The primary difference between a medicationusage and a medicationadministration */ DOCUMENTREFERENCE, /** - * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. + * An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s). */ ENCOUNTER, /** @@ -9820,6 +15526,26 @@ The primary difference between a medicationusage and a medicationadministration * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. */ EPISODEOFCARE, + /** + * The EventDefinition resource provides a reusable description of when a particular event can occur. + */ + EVENTDEFINITION, + /** + * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. + */ + EVIDENCE, + /** + * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. + */ + EVIDENCEREPORT, + /** + * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. + */ + EVIDENCEVARIABLE, + /** + * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time. + */ + EXAMPLESCENARIO, /** * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. */ @@ -9836,10 +15562,18 @@ The primary difference between a medicationusage and a medicationadministration * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself. */ FORMULARYITEM, + /** + * A Genomic Study is a set of analysis performed to analyze and generate genomic data. + */ + GENOMICSTUDY, /** * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. */ GOAL, + /** + * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. + */ + GRAPHDEFINITION, /** * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. */ @@ -9849,7 +15583,7 @@ The primary difference between a medicationusage and a medicationadministration */ GUIDANCERESPONSE, /** - * The details of a healthcare service available at a location. + * The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices. */ HEALTHCARESERVICE, /** @@ -9872,6 +15606,10 @@ The primary difference between a medicationusage and a medicationadministration * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. */ IMMUNIZATIONRECOMMENDATION, + /** + * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. + */ + IMPLEMENTATIONGUIDE, /** * An ingredient of a manufactured item or pharmaceutical product. */ @@ -9888,12 +15626,16 @@ The primary difference between a medicationusage and a medicationadministration * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. */ INVOICE, + /** + * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. + */ + LIBRARY, /** * Identifies two or more records (resource instances) that refer to the same real-world "occurrence". */ LINKAGE, /** - * A list is a curated collection of resources. + * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc. */ LIST, /** @@ -9904,6 +15646,10 @@ The primary difference between a medicationusage and a medicationadministration * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. */ MANUFACTUREDITEMDEFINITION, + /** + * The Measure resource provides the definition of a quality measure. + */ + MEASURE, /** * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. */ @@ -9929,8 +15675,8 @@ The primary difference between a medicationusage and a medicationadministration */ MEDICATIONREQUEST, /** - * A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. - + * A record of a medication that is being consumed by a patient. A MedicationUsage may indicate that the patient may be taking the medication now or has taken the medication in the past or will be taking the medication in the future. The source of this information can be the patient, significant other (such as a family member or spouse), or a clinician. A common scenario where this information is captured is during the history taking process during a patient visit or stay. The medication information may come from sources such as the patient's memory, from a prescription bottle, or from a list of medications the patient, clinician or other party maintains. + The primary difference between a medicationusage and a medicationadministration is that the medication administration has complete administration information and is based on actual administration information from the person who administered the medication. A medicationusage is often, if not always, less specific. There is no required date/time when the medication was administered, in fact we only know that a source has reported the patient is taking this medication, where details such as time, quantity, or rate or even medication product may be incomplete or missing or less precise. As stated earlier, the Medication Usage information may come from the patient's memory, from a prescription bottle or from a list of medications the patient, clinician or other party maintains. Medication administration is more formal and is not missing detailed information. */ MEDICATIONUSAGE, @@ -9938,6 +15684,10 @@ The primary difference between a medicationusage and a medicationadministration * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.). */ MEDICINALPRODUCTDEFINITION, + /** + * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. + */ + MESSAGEDEFINITION, /** * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. */ @@ -9946,6 +15696,10 @@ The primary difference between a medicationusage and a medicationadministration * Representation of a molecular sequence. */ MOLECULARSEQUENCE, + /** + * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a "System" used within the Identifier and Coding data types. + */ + NAMINGSYSTEM, /** * A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake. */ @@ -9966,6 +15720,10 @@ The primary difference between a medicationusage and a medicationadministration * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. */ OBSERVATIONDEFINITION, + /** + * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). + */ + OPERATIONDEFINITION, /** * A collection of error, warning, or information messages that result from a system action. */ @@ -9982,6 +15740,10 @@ The primary difference between a medicationusage and a medicationadministration * A medically related item or items, in a container or package. */ PACKAGEDPRODUCTDEFINITION, + /** + * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource. + */ + PARAMETERS, /** * Demographics and other administrative information about an individual or animal receiving care or other health-related services. */ @@ -9995,7 +15757,7 @@ The primary difference between a medicationusage and a medicationadministration */ PAYMENTRECONCILIATION, /** - * Permission. + * Permission resource holds access rules for a given data and context. */ PERMISSION, /** @@ -10003,11 +15765,15 @@ The primary difference between a medicationusage and a medicationadministration */ PERSON, /** - * A person who is directly or indirectly involved in the provisioning of healthcare. + * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. + */ + PLANDEFINITION, + /** + * A person who is directly or indirectly involved in the provisioning of healthcare or related services. */ PRACTITIONER, /** - * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. + * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time. */ PRACTITIONERROLE, /** @@ -10018,6 +15784,10 @@ The primary difference between a medicationusage and a medicationadministration * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. */ PROVENANCE, + /** + * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. + */ + QUESTIONNAIRE, /** * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. */ @@ -10031,11 +15801,15 @@ The primary difference between a medicationusage and a medicationadministration */ RELATEDPERSON, /** - * A group of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". + * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". */ - REQUESTGROUP, + REQUESTORCHESTRATION, /** - * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. + * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ + REQUIREMENTS, + /** + * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future. */ RESEARCHSTUDY, /** @@ -10050,6 +15824,10 @@ The primary difference between a medicationusage and a medicationadministration * A container for slots of time that may be available for booking appointments. */ SCHEDULE, + /** + * A search parameter that defines a named search item that can be used to search/filter on a resource. + */ + SEARCHPARAMETER, /** * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. */ @@ -10066,14 +15844,26 @@ The primary difference between a medicationusage and a medicationadministration * A kind of specimen with associated set of requirements. */ SPECIMENDEFINITION, + /** + * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. + */ + STRUCTUREDEFINITION, + /** + * A Map of relationships between 2 structures that can be used to transform data. + */ + STRUCTUREMAP, /** * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic. */ SUBSCRIPTION, /** - * The SubscriptionStatus resource describes the state of a Subscription during notifications. + * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted. */ SUBSCRIPTIONSTATUS, + /** + * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. + */ + SUBSCRIPTIONTOPIC, /** * A homogeneous material with a definite composition. */ @@ -10114,14 +15904,26 @@ The primary difference between a medicationusage and a medicationadministration * A task to be performed. */ TASK, + /** + * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. + */ + TERMINOLOGYCAPABILITIES, /** * A summary of information based on the results of executing a TestScript. */ TESTREPORT, + /** + * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. + */ + TESTSCRIPT, /** * Record of transport. */ TRANSPORT, + /** + * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). + */ + VALUESET, /** * Describes validation requirements, source(s), status and dates for one or more elements. */ @@ -10130,27 +15932,19 @@ The primary difference between a medicationusage and a medicationadministration * An authorization for the provision of glasses and/or contact lenses to a patient. */ VISIONPRESCRIPTION, - /** - * This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it. - */ - PARAMETERS, /** * added to help the parsers */ NULL; - public static ResourceTypeEnum fromCode(String codeString) throws FHIRException { + public static ResourceTypes fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; - if ("Resource".equals(codeString)) - return RESOURCE; - if ("Binary".equals(codeString)) - return BINARY; - if ("Bundle".equals(codeString)) - return BUNDLE; - if ("DomainResource".equals(codeString)) - return DOMAINRESOURCE; if ("Account".equals(codeString)) return ACCOUNT; + if ("ActivityDefinition".equals(codeString)) + return ACTIVITYDEFINITION; + if ("ActorDefinition".equals(codeString)) + return ACTORDEFINITION; if ("AdministrableProductDefinition".equals(codeString)) return ADMINISTRABLEPRODUCTDEFINITION; if ("AdverseEvent".equals(codeString)) @@ -10167,80 +15961,26 @@ The primary difference between a medicationusage and a medicationadministration return AUDITEVENT; if ("Basic".equals(codeString)) return BASIC; + if ("Binary".equals(codeString)) + return BINARY; if ("BiologicallyDerivedProduct".equals(codeString)) return BIOLOGICALLYDERIVEDPRODUCT; if ("BodyStructure".equals(codeString)) return BODYSTRUCTURE; - if ("CanonicalResource".equals(codeString)) - return CANONICALRESOURCE; + if ("Bundle".equals(codeString)) + return BUNDLE; if ("CapabilityStatement".equals(codeString)) return CAPABILITYSTATEMENT; - if ("CapabilityStatement2".equals(codeString)) - return CAPABILITYSTATEMENT2; - if ("CodeSystem".equals(codeString)) - return CODESYSTEM; - if ("CompartmentDefinition".equals(codeString)) - return COMPARTMENTDEFINITION; - if ("ExampleScenario".equals(codeString)) - return EXAMPLESCENARIO; - if ("GraphDefinition".equals(codeString)) - return GRAPHDEFINITION; - if ("ImplementationGuide".equals(codeString)) - return IMPLEMENTATIONGUIDE; - if ("MessageDefinition".equals(codeString)) - return MESSAGEDEFINITION; - if ("MetadataResource".equals(codeString)) - return METADATARESOURCE; - if ("ActivityDefinition".equals(codeString)) - return ACTIVITYDEFINITION; - if ("ChargeItemDefinition".equals(codeString)) - return CHARGEITEMDEFINITION; - if ("Citation".equals(codeString)) - return CITATION; - if ("ConceptMap".equals(codeString)) - return CONCEPTMAP; - if ("ConditionDefinition".equals(codeString)) - return CONDITIONDEFINITION; - if ("EventDefinition".equals(codeString)) - return EVENTDEFINITION; - if ("Evidence".equals(codeString)) - return EVIDENCE; - if ("EvidenceReport".equals(codeString)) - return EVIDENCEREPORT; - if ("EvidenceVariable".equals(codeString)) - return EVIDENCEVARIABLE; - if ("Library".equals(codeString)) - return LIBRARY; - if ("Measure".equals(codeString)) - return MEASURE; - if ("NamingSystem".equals(codeString)) - return NAMINGSYSTEM; - if ("PlanDefinition".equals(codeString)) - return PLANDEFINITION; - if ("Questionnaire".equals(codeString)) - return QUESTIONNAIRE; - if ("OperationDefinition".equals(codeString)) - return OPERATIONDEFINITION; - if ("SearchParameter".equals(codeString)) - return SEARCHPARAMETER; - if ("StructureDefinition".equals(codeString)) - return STRUCTUREDEFINITION; - if ("StructureMap".equals(codeString)) - return STRUCTUREMAP; - if ("SubscriptionTopic".equals(codeString)) - return SUBSCRIPTIONTOPIC; - if ("TerminologyCapabilities".equals(codeString)) - return TERMINOLOGYCAPABILITIES; - if ("TestScript".equals(codeString)) - return TESTSCRIPT; - if ("ValueSet".equals(codeString)) - return VALUESET; if ("CarePlan".equals(codeString)) return CAREPLAN; if ("CareTeam".equals(codeString)) return CARETEAM; if ("ChargeItem".equals(codeString)) return CHARGEITEM; + if ("ChargeItemDefinition".equals(codeString)) + return CHARGEITEMDEFINITION; + if ("Citation".equals(codeString)) + return CITATION; if ("Claim".equals(codeString)) return CLAIM; if ("ClaimResponse".equals(codeString)) @@ -10249,14 +15989,22 @@ The primary difference between a medicationusage and a medicationadministration return CLINICALIMPRESSION; if ("ClinicalUseDefinition".equals(codeString)) return CLINICALUSEDEFINITION; + if ("CodeSystem".equals(codeString)) + return CODESYSTEM; if ("Communication".equals(codeString)) return COMMUNICATION; if ("CommunicationRequest".equals(codeString)) return COMMUNICATIONREQUEST; + if ("CompartmentDefinition".equals(codeString)) + return COMPARTMENTDEFINITION; if ("Composition".equals(codeString)) return COMPOSITION; + if ("ConceptMap".equals(codeString)) + return CONCEPTMAP; if ("Condition".equals(codeString)) return CONDITION; + if ("ConditionDefinition".equals(codeString)) + return CONDITIONDEFINITION; if ("Consent".equals(codeString)) return CONSENT; if ("Contract".equals(codeString)) @@ -10297,6 +16045,16 @@ The primary difference between a medicationusage and a medicationadministration return ENROLLMENTRESPONSE; if ("EpisodeOfCare".equals(codeString)) return EPISODEOFCARE; + if ("EventDefinition".equals(codeString)) + return EVENTDEFINITION; + if ("Evidence".equals(codeString)) + return EVIDENCE; + if ("EvidenceReport".equals(codeString)) + return EVIDENCEREPORT; + if ("EvidenceVariable".equals(codeString)) + return EVIDENCEVARIABLE; + if ("ExampleScenario".equals(codeString)) + return EXAMPLESCENARIO; if ("ExplanationOfBenefit".equals(codeString)) return EXPLANATIONOFBENEFIT; if ("FamilyMemberHistory".equals(codeString)) @@ -10305,8 +16063,12 @@ The primary difference between a medicationusage and a medicationadministration return FLAG; if ("FormularyItem".equals(codeString)) return FORMULARYITEM; + if ("GenomicStudy".equals(codeString)) + return GENOMICSTUDY; if ("Goal".equals(codeString)) return GOAL; + if ("GraphDefinition".equals(codeString)) + return GRAPHDEFINITION; if ("Group".equals(codeString)) return GROUP; if ("GuidanceResponse".equals(codeString)) @@ -10323,6 +16085,8 @@ The primary difference between a medicationusage and a medicationadministration return IMMUNIZATIONEVALUATION; if ("ImmunizationRecommendation".equals(codeString)) return IMMUNIZATIONRECOMMENDATION; + if ("ImplementationGuide".equals(codeString)) + return IMPLEMENTATIONGUIDE; if ("Ingredient".equals(codeString)) return INGREDIENT; if ("InsurancePlan".equals(codeString)) @@ -10331,6 +16095,8 @@ The primary difference between a medicationusage and a medicationadministration return INVENTORYREPORT; if ("Invoice".equals(codeString)) return INVOICE; + if ("Library".equals(codeString)) + return LIBRARY; if ("Linkage".equals(codeString)) return LINKAGE; if ("List".equals(codeString)) @@ -10339,6 +16105,8 @@ The primary difference between a medicationusage and a medicationadministration return LOCATION; if ("ManufacturedItemDefinition".equals(codeString)) return MANUFACTUREDITEMDEFINITION; + if ("Measure".equals(codeString)) + return MEASURE; if ("MeasureReport".equals(codeString)) return MEASUREREPORT; if ("Medication".equals(codeString)) @@ -10355,10 +16123,14 @@ The primary difference between a medicationusage and a medicationadministration return MEDICATIONUSAGE; if ("MedicinalProductDefinition".equals(codeString)) return MEDICINALPRODUCTDEFINITION; + if ("MessageDefinition".equals(codeString)) + return MESSAGEDEFINITION; if ("MessageHeader".equals(codeString)) return MESSAGEHEADER; if ("MolecularSequence".equals(codeString)) return MOLECULARSEQUENCE; + if ("NamingSystem".equals(codeString)) + return NAMINGSYSTEM; if ("NutritionIntake".equals(codeString)) return NUTRITIONINTAKE; if ("NutritionOrder".equals(codeString)) @@ -10369,6 +16141,8 @@ The primary difference between a medicationusage and a medicationadministration return OBSERVATION; if ("ObservationDefinition".equals(codeString)) return OBSERVATIONDEFINITION; + if ("OperationDefinition".equals(codeString)) + return OPERATIONDEFINITION; if ("OperationOutcome".equals(codeString)) return OPERATIONOUTCOME; if ("Organization".equals(codeString)) @@ -10377,6 +16151,8 @@ The primary difference between a medicationusage and a medicationadministration return ORGANIZATIONAFFILIATION; if ("PackagedProductDefinition".equals(codeString)) return PACKAGEDPRODUCTDEFINITION; + if ("Parameters".equals(codeString)) + return PARAMETERS; if ("Patient".equals(codeString)) return PATIENT; if ("PaymentNotice".equals(codeString)) @@ -10387,6 +16163,8 @@ The primary difference between a medicationusage and a medicationadministration return PERMISSION; if ("Person".equals(codeString)) return PERSON; + if ("PlanDefinition".equals(codeString)) + return PLANDEFINITION; if ("Practitioner".equals(codeString)) return PRACTITIONER; if ("PractitionerRole".equals(codeString)) @@ -10395,14 +16173,18 @@ The primary difference between a medicationusage and a medicationadministration return PROCEDURE; if ("Provenance".equals(codeString)) return PROVENANCE; + if ("Questionnaire".equals(codeString)) + return QUESTIONNAIRE; if ("QuestionnaireResponse".equals(codeString)) return QUESTIONNAIRERESPONSE; if ("RegulatedAuthorization".equals(codeString)) return REGULATEDAUTHORIZATION; if ("RelatedPerson".equals(codeString)) return RELATEDPERSON; - if ("RequestGroup".equals(codeString)) - return REQUESTGROUP; + if ("RequestOrchestration".equals(codeString)) + return REQUESTORCHESTRATION; + if ("Requirements".equals(codeString)) + return REQUIREMENTS; if ("ResearchStudy".equals(codeString)) return RESEARCHSTUDY; if ("ResearchSubject".equals(codeString)) @@ -10411,6 +16193,8 @@ The primary difference between a medicationusage and a medicationadministration return RISKASSESSMENT; if ("Schedule".equals(codeString)) return SCHEDULE; + if ("SearchParameter".equals(codeString)) + return SEARCHPARAMETER; if ("ServiceRequest".equals(codeString)) return SERVICEREQUEST; if ("Slot".equals(codeString)) @@ -10419,10 +16203,16 @@ The primary difference between a medicationusage and a medicationadministration return SPECIMEN; if ("SpecimenDefinition".equals(codeString)) return SPECIMENDEFINITION; + if ("StructureDefinition".equals(codeString)) + return STRUCTUREDEFINITION; + if ("StructureMap".equals(codeString)) + return STRUCTUREMAP; if ("Subscription".equals(codeString)) return SUBSCRIPTION; if ("SubscriptionStatus".equals(codeString)) return SUBSCRIPTIONSTATUS; + if ("SubscriptionTopic".equals(codeString)) + return SUBSCRIPTIONTOPIC; if ("Substance".equals(codeString)) return SUBSTANCE; if ("SubstanceDefinition".equals(codeString)) @@ -10443,25 +16233,27 @@ The primary difference between a medicationusage and a medicationadministration return SUPPLYREQUEST; if ("Task".equals(codeString)) return TASK; + if ("TerminologyCapabilities".equals(codeString)) + return TERMINOLOGYCAPABILITIES; if ("TestReport".equals(codeString)) return TESTREPORT; + if ("TestScript".equals(codeString)) + return TESTSCRIPT; if ("Transport".equals(codeString)) return TRANSPORT; + if ("ValueSet".equals(codeString)) + return VALUESET; if ("VerificationResult".equals(codeString)) return VERIFICATIONRESULT; if ("VisionPrescription".equals(codeString)) return VISIONPRESCRIPTION; - if ("Parameters".equals(codeString)) - return PARAMETERS; - throw new FHIRException("Unknown ResourceTypeEnum code '"+codeString+"'"); + throw new FHIRException("Unknown ResourceTypes code '"+codeString+"'"); } public String toCode() { switch (this) { - case RESOURCE: return "Resource"; - case BINARY: return "Binary"; - case BUNDLE: return "Bundle"; - case DOMAINRESOURCE: return "DomainResource"; case ACCOUNT: return "Account"; + case ACTIVITYDEFINITION: return "ActivityDefinition"; + case ACTORDEFINITION: return "ActorDefinition"; case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; case ADVERSEEVENT: return "AdverseEvent"; case ALLERGYINTOLERANCE: return "AllergyIntolerance"; @@ -10470,51 +16262,28 @@ The primary difference between a medicationusage and a medicationadministration case ARTIFACTASSESSMENT: return "ArtifactAssessment"; case AUDITEVENT: return "AuditEvent"; case BASIC: return "Basic"; + case BINARY: return "Binary"; case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; case BODYSTRUCTURE: return "BodyStructure"; - case CANONICALRESOURCE: return "CanonicalResource"; + case BUNDLE: return "Bundle"; case CAPABILITYSTATEMENT: return "CapabilityStatement"; - case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; - case CODESYSTEM: return "CodeSystem"; - case COMPARTMENTDEFINITION: return "CompartmentDefinition"; - case EXAMPLESCENARIO: return "ExampleScenario"; - case GRAPHDEFINITION: return "GraphDefinition"; - case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; - case MESSAGEDEFINITION: return "MessageDefinition"; - case METADATARESOURCE: return "MetadataResource"; - case ACTIVITYDEFINITION: return "ActivityDefinition"; - case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; - case CITATION: return "Citation"; - case CONCEPTMAP: return "ConceptMap"; - case CONDITIONDEFINITION: return "ConditionDefinition"; - case EVENTDEFINITION: return "EventDefinition"; - case EVIDENCE: return "Evidence"; - case EVIDENCEREPORT: return "EvidenceReport"; - case EVIDENCEVARIABLE: return "EvidenceVariable"; - case LIBRARY: return "Library"; - case MEASURE: return "Measure"; - case NAMINGSYSTEM: return "NamingSystem"; - case PLANDEFINITION: return "PlanDefinition"; - case QUESTIONNAIRE: return "Questionnaire"; - case OPERATIONDEFINITION: return "OperationDefinition"; - case SEARCHPARAMETER: return "SearchParameter"; - case STRUCTUREDEFINITION: return "StructureDefinition"; - case STRUCTUREMAP: return "StructureMap"; - case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; - case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; - case TESTSCRIPT: return "TestScript"; - case VALUESET: return "ValueSet"; case CAREPLAN: return "CarePlan"; case CARETEAM: return "CareTeam"; case CHARGEITEM: return "ChargeItem"; + case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; + case CITATION: return "Citation"; case CLAIM: return "Claim"; case CLAIMRESPONSE: return "ClaimResponse"; case CLINICALIMPRESSION: return "ClinicalImpression"; case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; + case CODESYSTEM: return "CodeSystem"; case COMMUNICATION: return "Communication"; case COMMUNICATIONREQUEST: return "CommunicationRequest"; + case COMPARTMENTDEFINITION: return "CompartmentDefinition"; case COMPOSITION: return "Composition"; + case CONCEPTMAP: return "ConceptMap"; case CONDITION: return "Condition"; + case CONDITIONDEFINITION: return "ConditionDefinition"; case CONSENT: return "Consent"; case CONTRACT: return "Contract"; case COVERAGE: return "Coverage"; @@ -10535,11 +16304,18 @@ The primary difference between a medicationusage and a medicationadministration case ENROLLMENTREQUEST: return "EnrollmentRequest"; case ENROLLMENTRESPONSE: return "EnrollmentResponse"; case EPISODEOFCARE: return "EpisodeOfCare"; + case EVENTDEFINITION: return "EventDefinition"; + case EVIDENCE: return "Evidence"; + case EVIDENCEREPORT: return "EvidenceReport"; + case EVIDENCEVARIABLE: return "EvidenceVariable"; + case EXAMPLESCENARIO: return "ExampleScenario"; case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; case FLAG: return "Flag"; case FORMULARYITEM: return "FormularyItem"; + case GENOMICSTUDY: return "GenomicStudy"; case GOAL: return "Goal"; + case GRAPHDEFINITION: return "GraphDefinition"; case GROUP: return "Group"; case GUIDANCERESPONSE: return "GuidanceResponse"; case HEALTHCARESERVICE: return "HealthcareService"; @@ -10548,14 +16324,17 @@ The primary difference between a medicationusage and a medicationadministration case IMMUNIZATION: return "Immunization"; case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; + case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; case INGREDIENT: return "Ingredient"; case INSURANCEPLAN: return "InsurancePlan"; case INVENTORYREPORT: return "InventoryReport"; case INVOICE: return "Invoice"; + case LIBRARY: return "Library"; case LINKAGE: return "Linkage"; case LIST: return "List"; case LOCATION: return "Location"; case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; + case MEASURE: return "Measure"; case MEASUREREPORT: return "MeasureReport"; case MEDICATION: return "Medication"; case MEDICATIONADMINISTRATION: return "MedicationAdministration"; @@ -10564,40 +16343,51 @@ The primary difference between a medicationusage and a medicationadministration case MEDICATIONREQUEST: return "MedicationRequest"; case MEDICATIONUSAGE: return "MedicationUsage"; case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; + case MESSAGEDEFINITION: return "MessageDefinition"; case MESSAGEHEADER: return "MessageHeader"; case MOLECULARSEQUENCE: return "MolecularSequence"; + case NAMINGSYSTEM: return "NamingSystem"; case NUTRITIONINTAKE: return "NutritionIntake"; case NUTRITIONORDER: return "NutritionOrder"; case NUTRITIONPRODUCT: return "NutritionProduct"; case OBSERVATION: return "Observation"; case OBSERVATIONDEFINITION: return "ObservationDefinition"; + case OPERATIONDEFINITION: return "OperationDefinition"; case OPERATIONOUTCOME: return "OperationOutcome"; case ORGANIZATION: return "Organization"; case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; + case PARAMETERS: return "Parameters"; case PATIENT: return "Patient"; case PAYMENTNOTICE: return "PaymentNotice"; case PAYMENTRECONCILIATION: return "PaymentReconciliation"; case PERMISSION: return "Permission"; case PERSON: return "Person"; + case PLANDEFINITION: return "PlanDefinition"; case PRACTITIONER: return "Practitioner"; case PRACTITIONERROLE: return "PractitionerRole"; case PROCEDURE: return "Procedure"; case PROVENANCE: return "Provenance"; + case QUESTIONNAIRE: return "Questionnaire"; case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; case RELATEDPERSON: return "RelatedPerson"; - case REQUESTGROUP: return "RequestGroup"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; + case REQUIREMENTS: return "Requirements"; case RESEARCHSTUDY: return "ResearchStudy"; case RESEARCHSUBJECT: return "ResearchSubject"; case RISKASSESSMENT: return "RiskAssessment"; case SCHEDULE: return "Schedule"; + case SEARCHPARAMETER: return "SearchParameter"; case SERVICEREQUEST: return "ServiceRequest"; case SLOT: return "Slot"; case SPECIMEN: return "Specimen"; case SPECIMENDEFINITION: return "SpecimenDefinition"; + case STRUCTUREDEFINITION: return "StructureDefinition"; + case STRUCTUREMAP: return "StructureMap"; case SUBSCRIPTION: return "Subscription"; case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; + case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; case SUBSTANCE: return "Substance"; case SUBSTANCEDEFINITION: return "SubstanceDefinition"; case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; @@ -10608,237 +16398,212 @@ The primary difference between a medicationusage and a medicationadministration case SUPPLYDELIVERY: return "SupplyDelivery"; case SUPPLYREQUEST: return "SupplyRequest"; case TASK: return "Task"; + case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; case TESTREPORT: return "TestReport"; + case TESTSCRIPT: return "TestScript"; case TRANSPORT: return "Transport"; + case VALUESET: return "ValueSet"; case VERIFICATIONRESULT: return "VerificationResult"; case VISIONPRESCRIPTION: return "VisionPrescription"; - case PARAMETERS: return "Parameters"; case NULL: return null; default: return "?"; } } public String getSystem() { switch (this) { - case RESOURCE: return "http://hl7.org/fhir/resource-types"; - case BINARY: return "http://hl7.org/fhir/resource-types"; - case BUNDLE: return "http://hl7.org/fhir/resource-types"; - case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; - case ACCOUNT: return "http://hl7.org/fhir/resource-types"; - case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types"; - case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; - case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; - case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; - case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/resource-types"; - case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; - case BASIC: return "http://hl7.org/fhir/resource-types"; - case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types"; - case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types"; - case CANONICALRESOURCE: return "http://hl7.org/fhir/resource-types"; - case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types"; - case CAPABILITYSTATEMENT2: return "http://hl7.org/fhir/resource-types"; - case CODESYSTEM: return "http://hl7.org/fhir/resource-types"; - case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types"; - case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types"; - case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; - case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case METADATARESOURCE: return "http://hl7.org/fhir/resource-types"; - case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types"; - case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; - case CITATION: return "http://hl7.org/fhir/resource-types"; - case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; - case CONDITIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EVIDENCE: return "http://hl7.org/fhir/resource-types"; - case EVIDENCEREPORT: return "http://hl7.org/fhir/resource-types"; - case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types"; - case LIBRARY: return "http://hl7.org/fhir/resource-types"; - case MEASURE: return "http://hl7.org/fhir/resource-types"; - case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; - case PLANDEFINITION: return "http://hl7.org/fhir/resource-types"; - case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; - case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; - case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; - case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/resource-types"; - case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types"; - case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; - case VALUESET: return "http://hl7.org/fhir/resource-types"; - case CAREPLAN: return "http://hl7.org/fhir/resource-types"; - case CARETEAM: return "http://hl7.org/fhir/resource-types"; - case CHARGEITEM: return "http://hl7.org/fhir/resource-types"; - case CLAIM: return "http://hl7.org/fhir/resource-types"; - case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; - case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; - case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case COMPOSITION: return "http://hl7.org/fhir/resource-types"; - case CONDITION: return "http://hl7.org/fhir/resource-types"; - case CONSENT: return "http://hl7.org/fhir/resource-types"; - case CONTRACT: return "http://hl7.org/fhir/resource-types"; - case COVERAGE: return "http://hl7.org/fhir/resource-types"; - case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; - case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; - case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; - case DEVICE: return "http://hl7.org/fhir/resource-types"; - case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case DEVICEDISPENSE: return "http://hl7.org/fhir/resource-types"; - case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; - case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case DEVICEUSAGE: return "http://hl7.org/fhir/resource-types"; - case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; - case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; - case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; - case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; - case ENDPOINT: return "http://hl7.org/fhir/resource-types"; - case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; - case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; - case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; - case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; - case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; - case FLAG: return "http://hl7.org/fhir/resource-types"; - case FORMULARYITEM: return "http://hl7.org/fhir/resource-types"; - case GOAL: return "http://hl7.org/fhir/resource-types"; - case GROUP: return "http://hl7.org/fhir/resource-types"; - case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types"; - case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; - case IMAGINGSELECTION: return "http://hl7.org/fhir/resource-types"; - case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; - case INGREDIENT: return "http://hl7.org/fhir/resource-types"; - case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types"; - case INVENTORYREPORT: return "http://hl7.org/fhir/resource-types"; - case INVOICE: return "http://hl7.org/fhir/resource-types"; - case LINKAGE: return "http://hl7.org/fhir/resource-types"; - case LIST: return "http://hl7.org/fhir/resource-types"; - case LOCATION: return "http://hl7.org/fhir/resource-types"; - case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; - case MEASUREREPORT: return "http://hl7.org/fhir/resource-types"; - case MEDICATION: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONUSAGE: return "http://hl7.org/fhir/resource-types"; - case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; - case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONINTAKE: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONPRODUCT: return "http://hl7.org/fhir/resource-types"; - case OBSERVATION: return "http://hl7.org/fhir/resource-types"; - case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; - case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; - case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types"; - case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case PATIENT: return "http://hl7.org/fhir/resource-types"; - case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; - case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; - case PERMISSION: return "http://hl7.org/fhir/resource-types"; - case PERSON: return "http://hl7.org/fhir/resource-types"; - case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; - case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types"; - case PROCEDURE: return "http://hl7.org/fhir/resource-types"; - case PROVENANCE: return "http://hl7.org/fhir/resource-types"; - case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; - case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/resource-types"; - case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; - case REQUESTGROUP: return "http://hl7.org/fhir/resource-types"; - case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types"; - case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types"; - case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; - case SCHEDULE: return "http://hl7.org/fhir/resource-types"; - case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case SLOT: return "http://hl7.org/fhir/resource-types"; - case SPECIMEN: return "http://hl7.org/fhir/resource-types"; - case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types"; - case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; - case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; - case TASK: return "http://hl7.org/fhir/resource-types"; - case TESTREPORT: return "http://hl7.org/fhir/resource-types"; - case TRANSPORT: return "http://hl7.org/fhir/resource-types"; - case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types"; - case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; - case PARAMETERS: return "http://hl7.org/fhir/resource-types"; + case ACCOUNT: return "http://hl7.org/fhir/fhir-types"; + case ACTIVITYDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ACTORDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case ADVERSEEVENT: return "http://hl7.org/fhir/fhir-types"; + case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENT: return "http://hl7.org/fhir/fhir-types"; + case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/fhir-types"; + case AUDITEVENT: return "http://hl7.org/fhir/fhir-types"; + case BASIC: return "http://hl7.org/fhir/fhir-types"; + case BINARY: return "http://hl7.org/fhir/fhir-types"; + case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/fhir-types"; + case BODYSTRUCTURE: return "http://hl7.org/fhir/fhir-types"; + case BUNDLE: return "http://hl7.org/fhir/fhir-types"; + case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/fhir-types"; + case CAREPLAN: return "http://hl7.org/fhir/fhir-types"; + case CARETEAM: return "http://hl7.org/fhir/fhir-types"; + case CHARGEITEM: return "http://hl7.org/fhir/fhir-types"; + case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CITATION: return "http://hl7.org/fhir/fhir-types"; + case CLAIM: return "http://hl7.org/fhir/fhir-types"; + case CLAIMRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case CLINICALIMPRESSION: return "http://hl7.org/fhir/fhir-types"; + case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CODESYSTEM: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATION: return "http://hl7.org/fhir/fhir-types"; + case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case COMPOSITION: return "http://hl7.org/fhir/fhir-types"; + case CONCEPTMAP: return "http://hl7.org/fhir/fhir-types"; + case CONDITION: return "http://hl7.org/fhir/fhir-types"; + case CONDITIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case CONSENT: return "http://hl7.org/fhir/fhir-types"; + case CONTRACT: return "http://hl7.org/fhir/fhir-types"; + case COVERAGE: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case DETECTEDISSUE: return "http://hl7.org/fhir/fhir-types"; + case DEVICE: return "http://hl7.org/fhir/fhir-types"; + case DEVICEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case DEVICEDISPENSE: return "http://hl7.org/fhir/fhir-types"; + case DEVICEMETRIC: return "http://hl7.org/fhir/fhir-types"; + case DEVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case DEVICEUSAGE: return "http://hl7.org/fhir/fhir-types"; + case DIAGNOSTICREPORT: return "http://hl7.org/fhir/fhir-types"; + case DOCUMENTMANIFEST: return "http://hl7.org/fhir/fhir-types"; + case DOCUMENTREFERENCE: return "http://hl7.org/fhir/fhir-types"; + case ENCOUNTER: return "http://hl7.org/fhir/fhir-types"; + case ENDPOINT: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTREQUEST: return "http://hl7.org/fhir/fhir-types"; + case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/fhir-types"; + case EPISODEOFCARE: return "http://hl7.org/fhir/fhir-types"; + case EVENTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCE: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCEREPORT: return "http://hl7.org/fhir/fhir-types"; + case EVIDENCEVARIABLE: return "http://hl7.org/fhir/fhir-types"; + case EXAMPLESCENARIO: return "http://hl7.org/fhir/fhir-types"; + case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/fhir-types"; + case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/fhir-types"; + case FLAG: return "http://hl7.org/fhir/fhir-types"; + case FORMULARYITEM: return "http://hl7.org/fhir/fhir-types"; + case GENOMICSTUDY: return "http://hl7.org/fhir/fhir-types"; + case GOAL: return "http://hl7.org/fhir/fhir-types"; + case GRAPHDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case GROUP: return "http://hl7.org/fhir/fhir-types"; + case GUIDANCERESPONSE: return "http://hl7.org/fhir/fhir-types"; + case HEALTHCARESERVICE: return "http://hl7.org/fhir/fhir-types"; + case IMAGINGSELECTION: return "http://hl7.org/fhir/fhir-types"; + case IMAGINGSTUDY: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATION: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/fhir-types"; + case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/fhir-types"; + case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/fhir-types"; + case INGREDIENT: return "http://hl7.org/fhir/fhir-types"; + case INSURANCEPLAN: return "http://hl7.org/fhir/fhir-types"; + case INVENTORYREPORT: return "http://hl7.org/fhir/fhir-types"; + case INVOICE: return "http://hl7.org/fhir/fhir-types"; + case LIBRARY: return "http://hl7.org/fhir/fhir-types"; + case LINKAGE: return "http://hl7.org/fhir/fhir-types"; + case LIST: return "http://hl7.org/fhir/fhir-types"; + case LOCATION: return "http://hl7.org/fhir/fhir-types"; + case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MEASURE: return "http://hl7.org/fhir/fhir-types"; + case MEASUREREPORT: return "http://hl7.org/fhir/fhir-types"; + case MEDICATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONDISPENSE: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONREQUEST: return "http://hl7.org/fhir/fhir-types"; + case MEDICATIONUSAGE: return "http://hl7.org/fhir/fhir-types"; + case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MESSAGEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case MESSAGEHEADER: return "http://hl7.org/fhir/fhir-types"; + case MOLECULARSEQUENCE: return "http://hl7.org/fhir/fhir-types"; + case NAMINGSYSTEM: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONINTAKE: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONORDER: return "http://hl7.org/fhir/fhir-types"; + case NUTRITIONPRODUCT: return "http://hl7.org/fhir/fhir-types"; + case OBSERVATION: return "http://hl7.org/fhir/fhir-types"; + case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case OPERATIONDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case OPERATIONOUTCOME: return "http://hl7.org/fhir/fhir-types"; + case ORGANIZATION: return "http://hl7.org/fhir/fhir-types"; + case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/fhir-types"; + case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PARAMETERS: return "http://hl7.org/fhir/fhir-types"; + case PATIENT: return "http://hl7.org/fhir/fhir-types"; + case PAYMENTNOTICE: return "http://hl7.org/fhir/fhir-types"; + case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/fhir-types"; + case PERMISSION: return "http://hl7.org/fhir/fhir-types"; + case PERSON: return "http://hl7.org/fhir/fhir-types"; + case PLANDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case PRACTITIONER: return "http://hl7.org/fhir/fhir-types"; + case PRACTITIONERROLE: return "http://hl7.org/fhir/fhir-types"; + case PROCEDURE: return "http://hl7.org/fhir/fhir-types"; + case PROVENANCE: return "http://hl7.org/fhir/fhir-types"; + case QUESTIONNAIRE: return "http://hl7.org/fhir/fhir-types"; + case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/fhir-types"; + case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/fhir-types"; + case RELATEDPERSON: return "http://hl7.org/fhir/fhir-types"; + case REQUESTORCHESTRATION: return "http://hl7.org/fhir/fhir-types"; + case REQUIREMENTS: return "http://hl7.org/fhir/fhir-types"; + case RESEARCHSTUDY: return "http://hl7.org/fhir/fhir-types"; + case RESEARCHSUBJECT: return "http://hl7.org/fhir/fhir-types"; + case RISKASSESSMENT: return "http://hl7.org/fhir/fhir-types"; + case SCHEDULE: return "http://hl7.org/fhir/fhir-types"; + case SEARCHPARAMETER: return "http://hl7.org/fhir/fhir-types"; + case SERVICEREQUEST: return "http://hl7.org/fhir/fhir-types"; + case SLOT: return "http://hl7.org/fhir/fhir-types"; + case SPECIMEN: return "http://hl7.org/fhir/fhir-types"; + case SPECIMENDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case STRUCTUREDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case STRUCTUREMAP: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTION: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/fhir-types"; + case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCE: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/fhir-types"; + case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYDELIVERY: return "http://hl7.org/fhir/fhir-types"; + case SUPPLYREQUEST: return "http://hl7.org/fhir/fhir-types"; + case TASK: return "http://hl7.org/fhir/fhir-types"; + case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/fhir-types"; + case TESTREPORT: return "http://hl7.org/fhir/fhir-types"; + case TESTSCRIPT: return "http://hl7.org/fhir/fhir-types"; + case TRANSPORT: return "http://hl7.org/fhir/fhir-types"; + case VALUESET: return "http://hl7.org/fhir/fhir-types"; + case VERIFICATIONRESULT: return "http://hl7.org/fhir/fhir-types"; + case VISIONPRESCRIPTION: return "http://hl7.org/fhir/fhir-types"; case NULL: return null; default: return "?"; } } public String getDefinition() { switch (this) { - case RESOURCE: return "--- Abstract Type! ---This is the base resource type for everything."; - case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc."; - case BUNDLE: return "A container for a collection of resources."; - case DOMAINRESOURCE: return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc."; + case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; + case ACTORDEFINITION: return "The ActorDefinition resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays."; case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed)."; - case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects."; + case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment, hospitalization, or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. There are two major domains where the AdverseEvent resource is expected to be used. One is in clinical care reported adverse events and the other is in reporting adverse events in clinical research trial management. Given the differences between these two arenas, we recommend consulting the domain specific implementation guides when implementing the AdverseEvent Resource. The implementation guides include specific extensions, value sets and constraints."; case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content."; case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis."; case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; + case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc."; case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity."; case BODYSTRUCTURE: return "Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; - case CANONICALRESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; - case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case CAPABILITYSTATEMENT2: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; - case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; - case EXAMPLESCENARIO: return "Example of workflow instance."; - case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; - case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; - case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; - case METADATARESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; - case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; - case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; - case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; - case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; - case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; - case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; - case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; - case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; - case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; - case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; - case MEASURE: return "The Measure resource provides the definition of a quality measure."; - case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; - case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; - case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; - case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; - case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; - case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; - case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; - case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; - case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; - case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; + case BUNDLE: return "A container for a collection of resources."; + case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server or Client for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care."; case CHARGEITEM: return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation."; + case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; + case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement."; case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure."; + case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition."; case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; + case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; case COMPOSITION: return "A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.)."; + case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern."; + case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; case CONSENT: return "A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time."; case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement."; case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment."; @@ -10854,32 +16619,42 @@ The primary difference between a medicationusage and a medicationadministration case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances."; case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection."; case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference."; - case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; + case ENCOUNTER: return "An interaction between healthcare provider(s), and/or patient(s) for the purpose of providing healthcare service(s) or assessing the health status of patient(s)."; case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information."; case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource."; case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; + case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; + case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; + case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; + case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; + case EXAMPLESCENARIO: return "A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time."; case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient."; case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself."; + case GENOMICSTUDY: return "A Genomic Study is a set of analysis performed to analyze and generate genomic data."; case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; + case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; case GUIDANCERESPONSE: return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken."; - case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; + case HEALTHCARESERVICE: return "The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices."; case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource."; case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; case IMMUNIZATION: return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party."; case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations."; case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; + case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product."; case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization."; case INVENTORYREPORT: return "A report of inventory or stock items."; case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose."; + case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\"."; - case LIST: return "A list is a curated collection of resources."; + case LIST: return "A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc."; case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated."; case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product."; + case MEASURE: return "The Measure resource provides the definition of a quality measure."; case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation."; case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use."; case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; @@ -10888,40 +16663,51 @@ The primary difference between a medicationusage and a medicationadministration case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; case MEDICATIONUSAGE: return "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. \n\nThe 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."; case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.)."; + case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; case MOLECULARSEQUENCE: return "Representation of a molecular sequence."; + case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake."; case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients."; case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service."; + case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action."; case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc."; case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship."; case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package."; + case PARAMETERS: return "This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource."; case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid."; - case PERMISSION: return "Permission."; + case PERMISSION: return "Permission resource holds access rules for a given data and context."; case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; - case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; - case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time."; + case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; + case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare or related services."; + case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time."; case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing."; case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; + case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to."; case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product."; case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; - case REQUESTGROUP: return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; - case RESEARCHSTUDY: return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects."; + case REQUESTORCHESTRATION: return "A set of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; + case REQUIREMENTS: return "The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays."; + case RESEARCHSTUDY: return "A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future."; case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study."; case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; case SCHEDULE: return "A container for slots of time that may be available for booking appointments."; + case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; case SPECIMEN: return "A sample to be used for analysis."; case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements."; + case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; + case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic."; - case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications."; + case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted."; + case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; case SUBSTANCE: return "A homogeneous material with a definite composition."; case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing."; case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction."; @@ -10932,22 +16718,22 @@ The primary difference between a medicationusage and a medicationadministration case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting."; case TASK: return "A task to be performed."; + case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; case TESTREPORT: return "A summary of information based on the results of executing a TestScript."; + case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; case TRANSPORT: return "Record of transport."; + case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements."; case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; - case PARAMETERS: return "This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it."; case NULL: return null; default: return "?"; } } public String getDisplay() { switch (this) { - case RESOURCE: return "Resource"; - case BINARY: return "Binary"; - case BUNDLE: return "Bundle"; - case DOMAINRESOURCE: return "DomainResource"; case ACCOUNT: return "Account"; + case ACTIVITYDEFINITION: return "ActivityDefinition"; + case ACTORDEFINITION: return "ActorDefinition"; case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; case ADVERSEEVENT: return "AdverseEvent"; case ALLERGYINTOLERANCE: return "AllergyIntolerance"; @@ -10956,51 +16742,28 @@ The primary difference between a medicationusage and a medicationadministration case ARTIFACTASSESSMENT: return "ArtifactAssessment"; case AUDITEVENT: return "AuditEvent"; case BASIC: return "Basic"; + case BINARY: return "Binary"; case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; case BODYSTRUCTURE: return "BodyStructure"; - case CANONICALRESOURCE: return "CanonicalResource"; + case BUNDLE: return "Bundle"; case CAPABILITYSTATEMENT: return "CapabilityStatement"; - case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; - case CODESYSTEM: return "CodeSystem"; - case COMPARTMENTDEFINITION: return "CompartmentDefinition"; - case EXAMPLESCENARIO: return "ExampleScenario"; - case GRAPHDEFINITION: return "GraphDefinition"; - case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; - case MESSAGEDEFINITION: return "MessageDefinition"; - case METADATARESOURCE: return "MetadataResource"; - case ACTIVITYDEFINITION: return "ActivityDefinition"; - case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; - case CITATION: return "Citation"; - case CONCEPTMAP: return "ConceptMap"; - case CONDITIONDEFINITION: return "ConditionDefinition"; - case EVENTDEFINITION: return "EventDefinition"; - case EVIDENCE: return "Evidence"; - case EVIDENCEREPORT: return "EvidenceReport"; - case EVIDENCEVARIABLE: return "EvidenceVariable"; - case LIBRARY: return "Library"; - case MEASURE: return "Measure"; - case NAMINGSYSTEM: return "NamingSystem"; - case PLANDEFINITION: return "PlanDefinition"; - case QUESTIONNAIRE: return "Questionnaire"; - case OPERATIONDEFINITION: return "OperationDefinition"; - case SEARCHPARAMETER: return "SearchParameter"; - case STRUCTUREDEFINITION: return "StructureDefinition"; - case STRUCTUREMAP: return "StructureMap"; - case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; - case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; - case TESTSCRIPT: return "TestScript"; - case VALUESET: return "ValueSet"; case CAREPLAN: return "CarePlan"; case CARETEAM: return "CareTeam"; case CHARGEITEM: return "ChargeItem"; + case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; + case CITATION: return "Citation"; case CLAIM: return "Claim"; case CLAIMRESPONSE: return "ClaimResponse"; case CLINICALIMPRESSION: return "ClinicalImpression"; case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; + case CODESYSTEM: return "CodeSystem"; case COMMUNICATION: return "Communication"; case COMMUNICATIONREQUEST: return "CommunicationRequest"; + case COMPARTMENTDEFINITION: return "CompartmentDefinition"; case COMPOSITION: return "Composition"; + case CONCEPTMAP: return "ConceptMap"; case CONDITION: return "Condition"; + case CONDITIONDEFINITION: return "ConditionDefinition"; case CONSENT: return "Consent"; case CONTRACT: return "Contract"; case COVERAGE: return "Coverage"; @@ -11021,11 +16784,18 @@ The primary difference between a medicationusage and a medicationadministration case ENROLLMENTREQUEST: return "EnrollmentRequest"; case ENROLLMENTRESPONSE: return "EnrollmentResponse"; case EPISODEOFCARE: return "EpisodeOfCare"; + case EVENTDEFINITION: return "EventDefinition"; + case EVIDENCE: return "Evidence"; + case EVIDENCEREPORT: return "EvidenceReport"; + case EVIDENCEVARIABLE: return "EvidenceVariable"; + case EXAMPLESCENARIO: return "ExampleScenario"; case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; case FLAG: return "Flag"; case FORMULARYITEM: return "FormularyItem"; + case GENOMICSTUDY: return "GenomicStudy"; case GOAL: return "Goal"; + case GRAPHDEFINITION: return "GraphDefinition"; case GROUP: return "Group"; case GUIDANCERESPONSE: return "GuidanceResponse"; case HEALTHCARESERVICE: return "HealthcareService"; @@ -11034,14 +16804,17 @@ The primary difference between a medicationusage and a medicationadministration case IMMUNIZATION: return "Immunization"; case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; + case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; case INGREDIENT: return "Ingredient"; case INSURANCEPLAN: return "InsurancePlan"; case INVENTORYREPORT: return "InventoryReport"; case INVOICE: return "Invoice"; + case LIBRARY: return "Library"; case LINKAGE: return "Linkage"; case LIST: return "List"; case LOCATION: return "Location"; case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; + case MEASURE: return "Measure"; case MEASUREREPORT: return "MeasureReport"; case MEDICATION: return "Medication"; case MEDICATIONADMINISTRATION: return "MedicationAdministration"; @@ -11050,40 +16823,51 @@ The primary difference between a medicationusage and a medicationadministration case MEDICATIONREQUEST: return "MedicationRequest"; case MEDICATIONUSAGE: return "MedicationUsage"; case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; + case MESSAGEDEFINITION: return "MessageDefinition"; case MESSAGEHEADER: return "MessageHeader"; case MOLECULARSEQUENCE: return "MolecularSequence"; + case NAMINGSYSTEM: return "NamingSystem"; case NUTRITIONINTAKE: return "NutritionIntake"; case NUTRITIONORDER: return "NutritionOrder"; case NUTRITIONPRODUCT: return "NutritionProduct"; case OBSERVATION: return "Observation"; case OBSERVATIONDEFINITION: return "ObservationDefinition"; + case OPERATIONDEFINITION: return "OperationDefinition"; case OPERATIONOUTCOME: return "OperationOutcome"; case ORGANIZATION: return "Organization"; case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; + case PARAMETERS: return "Parameters"; case PATIENT: return "Patient"; case PAYMENTNOTICE: return "PaymentNotice"; case PAYMENTRECONCILIATION: return "PaymentReconciliation"; case PERMISSION: return "Permission"; case PERSON: return "Person"; + case PLANDEFINITION: return "PlanDefinition"; case PRACTITIONER: return "Practitioner"; case PRACTITIONERROLE: return "PractitionerRole"; case PROCEDURE: return "Procedure"; case PROVENANCE: return "Provenance"; + case QUESTIONNAIRE: return "Questionnaire"; case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; case RELATEDPERSON: return "RelatedPerson"; - case REQUESTGROUP: return "RequestGroup"; + case REQUESTORCHESTRATION: return "RequestOrchestration"; + case REQUIREMENTS: return "Requirements"; case RESEARCHSTUDY: return "ResearchStudy"; case RESEARCHSUBJECT: return "ResearchSubject"; case RISKASSESSMENT: return "RiskAssessment"; case SCHEDULE: return "Schedule"; + case SEARCHPARAMETER: return "SearchParameter"; case SERVICEREQUEST: return "ServiceRequest"; case SLOT: return "Slot"; case SPECIMEN: return "Specimen"; case SPECIMENDEFINITION: return "SpecimenDefinition"; + case STRUCTUREDEFINITION: return "StructureDefinition"; + case STRUCTUREMAP: return "StructureMap"; case SUBSCRIPTION: return "Subscription"; case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; + case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; case SUBSTANCE: return "Substance"; case SUBSTANCEDEFINITION: return "SubstanceDefinition"; case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; @@ -11094,1067 +16878,964 @@ The primary difference between a medicationusage and a medicationadministration case SUPPLYDELIVERY: return "SupplyDelivery"; case SUPPLYREQUEST: return "SupplyRequest"; case TASK: return "Task"; + case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; case TESTREPORT: return "TestReport"; + case TESTSCRIPT: return "TestScript"; case TRANSPORT: return "Transport"; + case VALUESET: return "ValueSet"; case VERIFICATIONRESULT: return "VerificationResult"; case VISIONPRESCRIPTION: return "VisionPrescription"; - case PARAMETERS: return "Parameters"; case NULL: return null; default: return "?"; } } } - public static class ResourceTypeEnumEnumFactory implements EnumFactory { - public ResourceTypeEnum fromCode(String codeString) throws IllegalArgumentException { + public static class ResourceTypesEnumFactory implements EnumFactory { + public ResourceTypes fromCode(String codeString) throws IllegalArgumentException { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; - if ("Resource".equals(codeString)) - return ResourceTypeEnum.RESOURCE; - if ("Binary".equals(codeString)) - return ResourceTypeEnum.BINARY; - if ("Bundle".equals(codeString)) - return ResourceTypeEnum.BUNDLE; - if ("DomainResource".equals(codeString)) - return ResourceTypeEnum.DOMAINRESOURCE; if ("Account".equals(codeString)) - return ResourceTypeEnum.ACCOUNT; - if ("AdministrableProductDefinition".equals(codeString)) - return ResourceTypeEnum.ADMINISTRABLEPRODUCTDEFINITION; - if ("AdverseEvent".equals(codeString)) - return ResourceTypeEnum.ADVERSEEVENT; - if ("AllergyIntolerance".equals(codeString)) - return ResourceTypeEnum.ALLERGYINTOLERANCE; - if ("Appointment".equals(codeString)) - return ResourceTypeEnum.APPOINTMENT; - if ("AppointmentResponse".equals(codeString)) - return ResourceTypeEnum.APPOINTMENTRESPONSE; - if ("ArtifactAssessment".equals(codeString)) - return ResourceTypeEnum.ARTIFACTASSESSMENT; - if ("AuditEvent".equals(codeString)) - return ResourceTypeEnum.AUDITEVENT; - if ("Basic".equals(codeString)) - return ResourceTypeEnum.BASIC; - if ("BiologicallyDerivedProduct".equals(codeString)) - return ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCT; - if ("BodyStructure".equals(codeString)) - return ResourceTypeEnum.BODYSTRUCTURE; - if ("CanonicalResource".equals(codeString)) - return ResourceTypeEnum.CANONICALRESOURCE; - if ("CapabilityStatement".equals(codeString)) - return ResourceTypeEnum.CAPABILITYSTATEMENT; - if ("CapabilityStatement2".equals(codeString)) - return ResourceTypeEnum.CAPABILITYSTATEMENT2; - if ("CodeSystem".equals(codeString)) - return ResourceTypeEnum.CODESYSTEM; - if ("CompartmentDefinition".equals(codeString)) - return ResourceTypeEnum.COMPARTMENTDEFINITION; - if ("ExampleScenario".equals(codeString)) - return ResourceTypeEnum.EXAMPLESCENARIO; - if ("GraphDefinition".equals(codeString)) - return ResourceTypeEnum.GRAPHDEFINITION; - if ("ImplementationGuide".equals(codeString)) - return ResourceTypeEnum.IMPLEMENTATIONGUIDE; - if ("MessageDefinition".equals(codeString)) - return ResourceTypeEnum.MESSAGEDEFINITION; - if ("MetadataResource".equals(codeString)) - return ResourceTypeEnum.METADATARESOURCE; + return ResourceTypes.ACCOUNT; if ("ActivityDefinition".equals(codeString)) - return ResourceTypeEnum.ACTIVITYDEFINITION; - if ("ChargeItemDefinition".equals(codeString)) - return ResourceTypeEnum.CHARGEITEMDEFINITION; - if ("Citation".equals(codeString)) - return ResourceTypeEnum.CITATION; - if ("ConceptMap".equals(codeString)) - return ResourceTypeEnum.CONCEPTMAP; - if ("ConditionDefinition".equals(codeString)) - return ResourceTypeEnum.CONDITIONDEFINITION; - if ("EventDefinition".equals(codeString)) - return ResourceTypeEnum.EVENTDEFINITION; - if ("Evidence".equals(codeString)) - return ResourceTypeEnum.EVIDENCE; - if ("EvidenceReport".equals(codeString)) - return ResourceTypeEnum.EVIDENCEREPORT; - if ("EvidenceVariable".equals(codeString)) - return ResourceTypeEnum.EVIDENCEVARIABLE; - if ("Library".equals(codeString)) - return ResourceTypeEnum.LIBRARY; - if ("Measure".equals(codeString)) - return ResourceTypeEnum.MEASURE; - if ("NamingSystem".equals(codeString)) - return ResourceTypeEnum.NAMINGSYSTEM; - if ("PlanDefinition".equals(codeString)) - return ResourceTypeEnum.PLANDEFINITION; - if ("Questionnaire".equals(codeString)) - return ResourceTypeEnum.QUESTIONNAIRE; - if ("OperationDefinition".equals(codeString)) - return ResourceTypeEnum.OPERATIONDEFINITION; - if ("SearchParameter".equals(codeString)) - return ResourceTypeEnum.SEARCHPARAMETER; - if ("StructureDefinition".equals(codeString)) - return ResourceTypeEnum.STRUCTUREDEFINITION; - if ("StructureMap".equals(codeString)) - return ResourceTypeEnum.STRUCTUREMAP; - if ("SubscriptionTopic".equals(codeString)) - return ResourceTypeEnum.SUBSCRIPTIONTOPIC; - if ("TerminologyCapabilities".equals(codeString)) - return ResourceTypeEnum.TERMINOLOGYCAPABILITIES; - if ("TestScript".equals(codeString)) - return ResourceTypeEnum.TESTSCRIPT; - if ("ValueSet".equals(codeString)) - return ResourceTypeEnum.VALUESET; + return ResourceTypes.ACTIVITYDEFINITION; + if ("ActorDefinition".equals(codeString)) + return ResourceTypes.ACTORDEFINITION; + if ("AdministrableProductDefinition".equals(codeString)) + return ResourceTypes.ADMINISTRABLEPRODUCTDEFINITION; + if ("AdverseEvent".equals(codeString)) + return ResourceTypes.ADVERSEEVENT; + if ("AllergyIntolerance".equals(codeString)) + return ResourceTypes.ALLERGYINTOLERANCE; + if ("Appointment".equals(codeString)) + return ResourceTypes.APPOINTMENT; + if ("AppointmentResponse".equals(codeString)) + return ResourceTypes.APPOINTMENTRESPONSE; + if ("ArtifactAssessment".equals(codeString)) + return ResourceTypes.ARTIFACTASSESSMENT; + if ("AuditEvent".equals(codeString)) + return ResourceTypes.AUDITEVENT; + if ("Basic".equals(codeString)) + return ResourceTypes.BASIC; + if ("Binary".equals(codeString)) + return ResourceTypes.BINARY; + if ("BiologicallyDerivedProduct".equals(codeString)) + return ResourceTypes.BIOLOGICALLYDERIVEDPRODUCT; + if ("BodyStructure".equals(codeString)) + return ResourceTypes.BODYSTRUCTURE; + if ("Bundle".equals(codeString)) + return ResourceTypes.BUNDLE; + if ("CapabilityStatement".equals(codeString)) + return ResourceTypes.CAPABILITYSTATEMENT; if ("CarePlan".equals(codeString)) - return ResourceTypeEnum.CAREPLAN; + return ResourceTypes.CAREPLAN; if ("CareTeam".equals(codeString)) - return ResourceTypeEnum.CARETEAM; + return ResourceTypes.CARETEAM; if ("ChargeItem".equals(codeString)) - return ResourceTypeEnum.CHARGEITEM; + return ResourceTypes.CHARGEITEM; + if ("ChargeItemDefinition".equals(codeString)) + return ResourceTypes.CHARGEITEMDEFINITION; + if ("Citation".equals(codeString)) + return ResourceTypes.CITATION; if ("Claim".equals(codeString)) - return ResourceTypeEnum.CLAIM; + return ResourceTypes.CLAIM; if ("ClaimResponse".equals(codeString)) - return ResourceTypeEnum.CLAIMRESPONSE; + return ResourceTypes.CLAIMRESPONSE; if ("ClinicalImpression".equals(codeString)) - return ResourceTypeEnum.CLINICALIMPRESSION; + return ResourceTypes.CLINICALIMPRESSION; if ("ClinicalUseDefinition".equals(codeString)) - return ResourceTypeEnum.CLINICALUSEDEFINITION; + return ResourceTypes.CLINICALUSEDEFINITION; + if ("CodeSystem".equals(codeString)) + return ResourceTypes.CODESYSTEM; if ("Communication".equals(codeString)) - return ResourceTypeEnum.COMMUNICATION; + return ResourceTypes.COMMUNICATION; if ("CommunicationRequest".equals(codeString)) - return ResourceTypeEnum.COMMUNICATIONREQUEST; + return ResourceTypes.COMMUNICATIONREQUEST; + if ("CompartmentDefinition".equals(codeString)) + return ResourceTypes.COMPARTMENTDEFINITION; if ("Composition".equals(codeString)) - return ResourceTypeEnum.COMPOSITION; + return ResourceTypes.COMPOSITION; + if ("ConceptMap".equals(codeString)) + return ResourceTypes.CONCEPTMAP; if ("Condition".equals(codeString)) - return ResourceTypeEnum.CONDITION; + return ResourceTypes.CONDITION; + if ("ConditionDefinition".equals(codeString)) + return ResourceTypes.CONDITIONDEFINITION; if ("Consent".equals(codeString)) - return ResourceTypeEnum.CONSENT; + return ResourceTypes.CONSENT; if ("Contract".equals(codeString)) - return ResourceTypeEnum.CONTRACT; + return ResourceTypes.CONTRACT; if ("Coverage".equals(codeString)) - return ResourceTypeEnum.COVERAGE; + return ResourceTypes.COVERAGE; if ("CoverageEligibilityRequest".equals(codeString)) - return ResourceTypeEnum.COVERAGEELIGIBILITYREQUEST; + return ResourceTypes.COVERAGEELIGIBILITYREQUEST; if ("CoverageEligibilityResponse".equals(codeString)) - return ResourceTypeEnum.COVERAGEELIGIBILITYRESPONSE; + return ResourceTypes.COVERAGEELIGIBILITYRESPONSE; if ("DetectedIssue".equals(codeString)) - return ResourceTypeEnum.DETECTEDISSUE; + return ResourceTypes.DETECTEDISSUE; if ("Device".equals(codeString)) - return ResourceTypeEnum.DEVICE; + return ResourceTypes.DEVICE; if ("DeviceDefinition".equals(codeString)) - return ResourceTypeEnum.DEVICEDEFINITION; + return ResourceTypes.DEVICEDEFINITION; if ("DeviceDispense".equals(codeString)) - return ResourceTypeEnum.DEVICEDISPENSE; + return ResourceTypes.DEVICEDISPENSE; if ("DeviceMetric".equals(codeString)) - return ResourceTypeEnum.DEVICEMETRIC; + return ResourceTypes.DEVICEMETRIC; if ("DeviceRequest".equals(codeString)) - return ResourceTypeEnum.DEVICEREQUEST; + return ResourceTypes.DEVICEREQUEST; if ("DeviceUsage".equals(codeString)) - return ResourceTypeEnum.DEVICEUSAGE; + return ResourceTypes.DEVICEUSAGE; if ("DiagnosticReport".equals(codeString)) - return ResourceTypeEnum.DIAGNOSTICREPORT; + return ResourceTypes.DIAGNOSTICREPORT; if ("DocumentManifest".equals(codeString)) - return ResourceTypeEnum.DOCUMENTMANIFEST; + return ResourceTypes.DOCUMENTMANIFEST; if ("DocumentReference".equals(codeString)) - return ResourceTypeEnum.DOCUMENTREFERENCE; + return ResourceTypes.DOCUMENTREFERENCE; if ("Encounter".equals(codeString)) - return ResourceTypeEnum.ENCOUNTER; + return ResourceTypes.ENCOUNTER; if ("Endpoint".equals(codeString)) - return ResourceTypeEnum.ENDPOINT; + return ResourceTypes.ENDPOINT; if ("EnrollmentRequest".equals(codeString)) - return ResourceTypeEnum.ENROLLMENTREQUEST; + return ResourceTypes.ENROLLMENTREQUEST; if ("EnrollmentResponse".equals(codeString)) - return ResourceTypeEnum.ENROLLMENTRESPONSE; + return ResourceTypes.ENROLLMENTRESPONSE; if ("EpisodeOfCare".equals(codeString)) - return ResourceTypeEnum.EPISODEOFCARE; + return ResourceTypes.EPISODEOFCARE; + if ("EventDefinition".equals(codeString)) + return ResourceTypes.EVENTDEFINITION; + if ("Evidence".equals(codeString)) + return ResourceTypes.EVIDENCE; + if ("EvidenceReport".equals(codeString)) + return ResourceTypes.EVIDENCEREPORT; + if ("EvidenceVariable".equals(codeString)) + return ResourceTypes.EVIDENCEVARIABLE; + if ("ExampleScenario".equals(codeString)) + return ResourceTypes.EXAMPLESCENARIO; if ("ExplanationOfBenefit".equals(codeString)) - return ResourceTypeEnum.EXPLANATIONOFBENEFIT; + return ResourceTypes.EXPLANATIONOFBENEFIT; if ("FamilyMemberHistory".equals(codeString)) - return ResourceTypeEnum.FAMILYMEMBERHISTORY; + return ResourceTypes.FAMILYMEMBERHISTORY; if ("Flag".equals(codeString)) - return ResourceTypeEnum.FLAG; + return ResourceTypes.FLAG; if ("FormularyItem".equals(codeString)) - return ResourceTypeEnum.FORMULARYITEM; + return ResourceTypes.FORMULARYITEM; + if ("GenomicStudy".equals(codeString)) + return ResourceTypes.GENOMICSTUDY; if ("Goal".equals(codeString)) - return ResourceTypeEnum.GOAL; + return ResourceTypes.GOAL; + if ("GraphDefinition".equals(codeString)) + return ResourceTypes.GRAPHDEFINITION; if ("Group".equals(codeString)) - return ResourceTypeEnum.GROUP; + return ResourceTypes.GROUP; if ("GuidanceResponse".equals(codeString)) - return ResourceTypeEnum.GUIDANCERESPONSE; + return ResourceTypes.GUIDANCERESPONSE; if ("HealthcareService".equals(codeString)) - return ResourceTypeEnum.HEALTHCARESERVICE; + return ResourceTypes.HEALTHCARESERVICE; if ("ImagingSelection".equals(codeString)) - return ResourceTypeEnum.IMAGINGSELECTION; + return ResourceTypes.IMAGINGSELECTION; if ("ImagingStudy".equals(codeString)) - return ResourceTypeEnum.IMAGINGSTUDY; + return ResourceTypes.IMAGINGSTUDY; if ("Immunization".equals(codeString)) - return ResourceTypeEnum.IMMUNIZATION; + return ResourceTypes.IMMUNIZATION; if ("ImmunizationEvaluation".equals(codeString)) - return ResourceTypeEnum.IMMUNIZATIONEVALUATION; + return ResourceTypes.IMMUNIZATIONEVALUATION; if ("ImmunizationRecommendation".equals(codeString)) - return ResourceTypeEnum.IMMUNIZATIONRECOMMENDATION; + return ResourceTypes.IMMUNIZATIONRECOMMENDATION; + if ("ImplementationGuide".equals(codeString)) + return ResourceTypes.IMPLEMENTATIONGUIDE; if ("Ingredient".equals(codeString)) - return ResourceTypeEnum.INGREDIENT; + return ResourceTypes.INGREDIENT; if ("InsurancePlan".equals(codeString)) - return ResourceTypeEnum.INSURANCEPLAN; + return ResourceTypes.INSURANCEPLAN; if ("InventoryReport".equals(codeString)) - return ResourceTypeEnum.INVENTORYREPORT; + return ResourceTypes.INVENTORYREPORT; if ("Invoice".equals(codeString)) - return ResourceTypeEnum.INVOICE; + return ResourceTypes.INVOICE; + if ("Library".equals(codeString)) + return ResourceTypes.LIBRARY; if ("Linkage".equals(codeString)) - return ResourceTypeEnum.LINKAGE; + return ResourceTypes.LINKAGE; if ("List".equals(codeString)) - return ResourceTypeEnum.LIST; + return ResourceTypes.LIST; if ("Location".equals(codeString)) - return ResourceTypeEnum.LOCATION; + return ResourceTypes.LOCATION; if ("ManufacturedItemDefinition".equals(codeString)) - return ResourceTypeEnum.MANUFACTUREDITEMDEFINITION; + return ResourceTypes.MANUFACTUREDITEMDEFINITION; + if ("Measure".equals(codeString)) + return ResourceTypes.MEASURE; if ("MeasureReport".equals(codeString)) - return ResourceTypeEnum.MEASUREREPORT; + return ResourceTypes.MEASUREREPORT; if ("Medication".equals(codeString)) - return ResourceTypeEnum.MEDICATION; + return ResourceTypes.MEDICATION; if ("MedicationAdministration".equals(codeString)) - return ResourceTypeEnum.MEDICATIONADMINISTRATION; + return ResourceTypes.MEDICATIONADMINISTRATION; if ("MedicationDispense".equals(codeString)) - return ResourceTypeEnum.MEDICATIONDISPENSE; + return ResourceTypes.MEDICATIONDISPENSE; if ("MedicationKnowledge".equals(codeString)) - return ResourceTypeEnum.MEDICATIONKNOWLEDGE; + return ResourceTypes.MEDICATIONKNOWLEDGE; if ("MedicationRequest".equals(codeString)) - return ResourceTypeEnum.MEDICATIONREQUEST; + return ResourceTypes.MEDICATIONREQUEST; if ("MedicationUsage".equals(codeString)) - return ResourceTypeEnum.MEDICATIONUSAGE; + return ResourceTypes.MEDICATIONUSAGE; if ("MedicinalProductDefinition".equals(codeString)) - return ResourceTypeEnum.MEDICINALPRODUCTDEFINITION; + return ResourceTypes.MEDICINALPRODUCTDEFINITION; + if ("MessageDefinition".equals(codeString)) + return ResourceTypes.MESSAGEDEFINITION; if ("MessageHeader".equals(codeString)) - return ResourceTypeEnum.MESSAGEHEADER; + return ResourceTypes.MESSAGEHEADER; if ("MolecularSequence".equals(codeString)) - return ResourceTypeEnum.MOLECULARSEQUENCE; + return ResourceTypes.MOLECULARSEQUENCE; + if ("NamingSystem".equals(codeString)) + return ResourceTypes.NAMINGSYSTEM; if ("NutritionIntake".equals(codeString)) - return ResourceTypeEnum.NUTRITIONINTAKE; + return ResourceTypes.NUTRITIONINTAKE; if ("NutritionOrder".equals(codeString)) - return ResourceTypeEnum.NUTRITIONORDER; + return ResourceTypes.NUTRITIONORDER; if ("NutritionProduct".equals(codeString)) - return ResourceTypeEnum.NUTRITIONPRODUCT; + return ResourceTypes.NUTRITIONPRODUCT; if ("Observation".equals(codeString)) - return ResourceTypeEnum.OBSERVATION; + return ResourceTypes.OBSERVATION; if ("ObservationDefinition".equals(codeString)) - return ResourceTypeEnum.OBSERVATIONDEFINITION; + return ResourceTypes.OBSERVATIONDEFINITION; + if ("OperationDefinition".equals(codeString)) + return ResourceTypes.OPERATIONDEFINITION; if ("OperationOutcome".equals(codeString)) - return ResourceTypeEnum.OPERATIONOUTCOME; + return ResourceTypes.OPERATIONOUTCOME; if ("Organization".equals(codeString)) - return ResourceTypeEnum.ORGANIZATION; + return ResourceTypes.ORGANIZATION; if ("OrganizationAffiliation".equals(codeString)) - return ResourceTypeEnum.ORGANIZATIONAFFILIATION; + return ResourceTypes.ORGANIZATIONAFFILIATION; if ("PackagedProductDefinition".equals(codeString)) - return ResourceTypeEnum.PACKAGEDPRODUCTDEFINITION; - if ("Patient".equals(codeString)) - return ResourceTypeEnum.PATIENT; - if ("PaymentNotice".equals(codeString)) - return ResourceTypeEnum.PAYMENTNOTICE; - if ("PaymentReconciliation".equals(codeString)) - return ResourceTypeEnum.PAYMENTRECONCILIATION; - if ("Permission".equals(codeString)) - return ResourceTypeEnum.PERMISSION; - if ("Person".equals(codeString)) - return ResourceTypeEnum.PERSON; - if ("Practitioner".equals(codeString)) - return ResourceTypeEnum.PRACTITIONER; - if ("PractitionerRole".equals(codeString)) - return ResourceTypeEnum.PRACTITIONERROLE; - if ("Procedure".equals(codeString)) - return ResourceTypeEnum.PROCEDURE; - if ("Provenance".equals(codeString)) - return ResourceTypeEnum.PROVENANCE; - if ("QuestionnaireResponse".equals(codeString)) - return ResourceTypeEnum.QUESTIONNAIRERESPONSE; - if ("RegulatedAuthorization".equals(codeString)) - return ResourceTypeEnum.REGULATEDAUTHORIZATION; - if ("RelatedPerson".equals(codeString)) - return ResourceTypeEnum.RELATEDPERSON; - if ("RequestGroup".equals(codeString)) - return ResourceTypeEnum.REQUESTGROUP; - if ("ResearchStudy".equals(codeString)) - return ResourceTypeEnum.RESEARCHSTUDY; - if ("ResearchSubject".equals(codeString)) - return ResourceTypeEnum.RESEARCHSUBJECT; - if ("RiskAssessment".equals(codeString)) - return ResourceTypeEnum.RISKASSESSMENT; - if ("Schedule".equals(codeString)) - return ResourceTypeEnum.SCHEDULE; - if ("ServiceRequest".equals(codeString)) - return ResourceTypeEnum.SERVICEREQUEST; - if ("Slot".equals(codeString)) - return ResourceTypeEnum.SLOT; - if ("Specimen".equals(codeString)) - return ResourceTypeEnum.SPECIMEN; - if ("SpecimenDefinition".equals(codeString)) - return ResourceTypeEnum.SPECIMENDEFINITION; - if ("Subscription".equals(codeString)) - return ResourceTypeEnum.SUBSCRIPTION; - if ("SubscriptionStatus".equals(codeString)) - return ResourceTypeEnum.SUBSCRIPTIONSTATUS; - if ("Substance".equals(codeString)) - return ResourceTypeEnum.SUBSTANCE; - if ("SubstanceDefinition".equals(codeString)) - return ResourceTypeEnum.SUBSTANCEDEFINITION; - if ("SubstanceNucleicAcid".equals(codeString)) - return ResourceTypeEnum.SUBSTANCENUCLEICACID; - if ("SubstancePolymer".equals(codeString)) - return ResourceTypeEnum.SUBSTANCEPOLYMER; - if ("SubstanceProtein".equals(codeString)) - return ResourceTypeEnum.SUBSTANCEPROTEIN; - if ("SubstanceReferenceInformation".equals(codeString)) - return ResourceTypeEnum.SUBSTANCEREFERENCEINFORMATION; - if ("SubstanceSourceMaterial".equals(codeString)) - return ResourceTypeEnum.SUBSTANCESOURCEMATERIAL; - if ("SupplyDelivery".equals(codeString)) - return ResourceTypeEnum.SUPPLYDELIVERY; - if ("SupplyRequest".equals(codeString)) - return ResourceTypeEnum.SUPPLYREQUEST; - if ("Task".equals(codeString)) - return ResourceTypeEnum.TASK; - if ("TestReport".equals(codeString)) - return ResourceTypeEnum.TESTREPORT; - if ("Transport".equals(codeString)) - return ResourceTypeEnum.TRANSPORT; - if ("VerificationResult".equals(codeString)) - return ResourceTypeEnum.VERIFICATIONRESULT; - if ("VisionPrescription".equals(codeString)) - return ResourceTypeEnum.VISIONPRESCRIPTION; + return ResourceTypes.PACKAGEDPRODUCTDEFINITION; if ("Parameters".equals(codeString)) - return ResourceTypeEnum.PARAMETERS; - throw new IllegalArgumentException("Unknown ResourceTypeEnum code '"+codeString+"'"); + return ResourceTypes.PARAMETERS; + if ("Patient".equals(codeString)) + return ResourceTypes.PATIENT; + if ("PaymentNotice".equals(codeString)) + return ResourceTypes.PAYMENTNOTICE; + if ("PaymentReconciliation".equals(codeString)) + return ResourceTypes.PAYMENTRECONCILIATION; + if ("Permission".equals(codeString)) + return ResourceTypes.PERMISSION; + if ("Person".equals(codeString)) + return ResourceTypes.PERSON; + if ("PlanDefinition".equals(codeString)) + return ResourceTypes.PLANDEFINITION; + if ("Practitioner".equals(codeString)) + return ResourceTypes.PRACTITIONER; + if ("PractitionerRole".equals(codeString)) + return ResourceTypes.PRACTITIONERROLE; + if ("Procedure".equals(codeString)) + return ResourceTypes.PROCEDURE; + if ("Provenance".equals(codeString)) + return ResourceTypes.PROVENANCE; + if ("Questionnaire".equals(codeString)) + return ResourceTypes.QUESTIONNAIRE; + if ("QuestionnaireResponse".equals(codeString)) + return ResourceTypes.QUESTIONNAIRERESPONSE; + if ("RegulatedAuthorization".equals(codeString)) + return ResourceTypes.REGULATEDAUTHORIZATION; + if ("RelatedPerson".equals(codeString)) + return ResourceTypes.RELATEDPERSON; + if ("RequestOrchestration".equals(codeString)) + return ResourceTypes.REQUESTORCHESTRATION; + if ("Requirements".equals(codeString)) + return ResourceTypes.REQUIREMENTS; + if ("ResearchStudy".equals(codeString)) + return ResourceTypes.RESEARCHSTUDY; + if ("ResearchSubject".equals(codeString)) + return ResourceTypes.RESEARCHSUBJECT; + if ("RiskAssessment".equals(codeString)) + return ResourceTypes.RISKASSESSMENT; + if ("Schedule".equals(codeString)) + return ResourceTypes.SCHEDULE; + if ("SearchParameter".equals(codeString)) + return ResourceTypes.SEARCHPARAMETER; + if ("ServiceRequest".equals(codeString)) + return ResourceTypes.SERVICEREQUEST; + if ("Slot".equals(codeString)) + return ResourceTypes.SLOT; + if ("Specimen".equals(codeString)) + return ResourceTypes.SPECIMEN; + if ("SpecimenDefinition".equals(codeString)) + return ResourceTypes.SPECIMENDEFINITION; + if ("StructureDefinition".equals(codeString)) + return ResourceTypes.STRUCTUREDEFINITION; + if ("StructureMap".equals(codeString)) + return ResourceTypes.STRUCTUREMAP; + if ("Subscription".equals(codeString)) + return ResourceTypes.SUBSCRIPTION; + if ("SubscriptionStatus".equals(codeString)) + return ResourceTypes.SUBSCRIPTIONSTATUS; + if ("SubscriptionTopic".equals(codeString)) + return ResourceTypes.SUBSCRIPTIONTOPIC; + if ("Substance".equals(codeString)) + return ResourceTypes.SUBSTANCE; + if ("SubstanceDefinition".equals(codeString)) + return ResourceTypes.SUBSTANCEDEFINITION; + if ("SubstanceNucleicAcid".equals(codeString)) + return ResourceTypes.SUBSTANCENUCLEICACID; + if ("SubstancePolymer".equals(codeString)) + return ResourceTypes.SUBSTANCEPOLYMER; + if ("SubstanceProtein".equals(codeString)) + return ResourceTypes.SUBSTANCEPROTEIN; + if ("SubstanceReferenceInformation".equals(codeString)) + return ResourceTypes.SUBSTANCEREFERENCEINFORMATION; + if ("SubstanceSourceMaterial".equals(codeString)) + return ResourceTypes.SUBSTANCESOURCEMATERIAL; + if ("SupplyDelivery".equals(codeString)) + return ResourceTypes.SUPPLYDELIVERY; + if ("SupplyRequest".equals(codeString)) + return ResourceTypes.SUPPLYREQUEST; + if ("Task".equals(codeString)) + return ResourceTypes.TASK; + if ("TerminologyCapabilities".equals(codeString)) + return ResourceTypes.TERMINOLOGYCAPABILITIES; + if ("TestReport".equals(codeString)) + return ResourceTypes.TESTREPORT; + if ("TestScript".equals(codeString)) + return ResourceTypes.TESTSCRIPT; + if ("Transport".equals(codeString)) + return ResourceTypes.TRANSPORT; + if ("ValueSet".equals(codeString)) + return ResourceTypes.VALUESET; + if ("VerificationResult".equals(codeString)) + return ResourceTypes.VERIFICATIONRESULT; + if ("VisionPrescription".equals(codeString)) + return ResourceTypes.VISIONPRESCRIPTION; + throw new IllegalArgumentException("Unknown ResourceTypes code '"+codeString+"'"); } - public Enumeration fromType(Base code) throws FHIRException { + public Enumeration fromType(Base code) throws FHIRException { if (code == null) return null; if (code.isEmpty()) - return new Enumeration(this); + return new Enumeration(this); String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; - if ("Resource".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.RESOURCE); - if ("Binary".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.BINARY); - if ("Bundle".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.BUNDLE); - if ("DomainResource".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DOMAINRESOURCE); if ("Account".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ACCOUNT); - if ("AdministrableProductDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ADMINISTRABLEPRODUCTDEFINITION); - if ("AdverseEvent".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ADVERSEEVENT); - if ("AllergyIntolerance".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ALLERGYINTOLERANCE); - if ("Appointment".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.APPOINTMENT); - if ("AppointmentResponse".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.APPOINTMENTRESPONSE); - if ("ArtifactAssessment".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ARTIFACTASSESSMENT); - if ("AuditEvent".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.AUDITEVENT); - if ("Basic".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.BASIC); - if ("BiologicallyDerivedProduct".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCT); - if ("BodyStructure".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.BODYSTRUCTURE); - if ("CanonicalResource".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CANONICALRESOURCE); - if ("CapabilityStatement".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CAPABILITYSTATEMENT); - if ("CapabilityStatement2".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CAPABILITYSTATEMENT2); - if ("CodeSystem".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CODESYSTEM); - if ("CompartmentDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COMPARTMENTDEFINITION); - if ("ExampleScenario".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EXAMPLESCENARIO); - if ("GraphDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.GRAPHDEFINITION); - if ("ImplementationGuide".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.IMPLEMENTATIONGUIDE); - if ("MessageDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MESSAGEDEFINITION); - if ("MetadataResource".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.METADATARESOURCE); + return new Enumeration(this, ResourceTypes.ACCOUNT); if ("ActivityDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ACTIVITYDEFINITION); - if ("ChargeItemDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CHARGEITEMDEFINITION); - if ("Citation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CITATION); - if ("ConceptMap".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CONCEPTMAP); - if ("ConditionDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CONDITIONDEFINITION); - if ("EventDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EVENTDEFINITION); - if ("Evidence".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EVIDENCE); - if ("EvidenceReport".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EVIDENCEREPORT); - if ("EvidenceVariable".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EVIDENCEVARIABLE); - if ("Library".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.LIBRARY); - if ("Measure".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEASURE); - if ("NamingSystem".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.NAMINGSYSTEM); - if ("PlanDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PLANDEFINITION); - if ("Questionnaire".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.QUESTIONNAIRE); - if ("OperationDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.OPERATIONDEFINITION); - if ("SearchParameter".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SEARCHPARAMETER); - if ("StructureDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.STRUCTUREDEFINITION); - if ("StructureMap".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.STRUCTUREMAP); - if ("SubscriptionTopic".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSCRIPTIONTOPIC); - if ("TerminologyCapabilities".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.TERMINOLOGYCAPABILITIES); - if ("TestScript".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.TESTSCRIPT); - if ("ValueSet".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.VALUESET); + return new Enumeration(this, ResourceTypes.ACTIVITYDEFINITION); + if ("ActorDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.ACTORDEFINITION); + if ("AdministrableProductDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.ADMINISTRABLEPRODUCTDEFINITION); + if ("AdverseEvent".equals(codeString)) + return new Enumeration(this, ResourceTypes.ADVERSEEVENT); + if ("AllergyIntolerance".equals(codeString)) + return new Enumeration(this, ResourceTypes.ALLERGYINTOLERANCE); + if ("Appointment".equals(codeString)) + return new Enumeration(this, ResourceTypes.APPOINTMENT); + if ("AppointmentResponse".equals(codeString)) + return new Enumeration(this, ResourceTypes.APPOINTMENTRESPONSE); + if ("ArtifactAssessment".equals(codeString)) + return new Enumeration(this, ResourceTypes.ARTIFACTASSESSMENT); + if ("AuditEvent".equals(codeString)) + return new Enumeration(this, ResourceTypes.AUDITEVENT); + if ("Basic".equals(codeString)) + return new Enumeration(this, ResourceTypes.BASIC); + if ("Binary".equals(codeString)) + return new Enumeration(this, ResourceTypes.BINARY); + if ("BiologicallyDerivedProduct".equals(codeString)) + return new Enumeration(this, ResourceTypes.BIOLOGICALLYDERIVEDPRODUCT); + if ("BodyStructure".equals(codeString)) + return new Enumeration(this, ResourceTypes.BODYSTRUCTURE); + if ("Bundle".equals(codeString)) + return new Enumeration(this, ResourceTypes.BUNDLE); + if ("CapabilityStatement".equals(codeString)) + return new Enumeration(this, ResourceTypes.CAPABILITYSTATEMENT); if ("CarePlan".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CAREPLAN); + return new Enumeration(this, ResourceTypes.CAREPLAN); if ("CareTeam".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CARETEAM); + return new Enumeration(this, ResourceTypes.CARETEAM); if ("ChargeItem".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CHARGEITEM); + return new Enumeration(this, ResourceTypes.CHARGEITEM); + if ("ChargeItemDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.CHARGEITEMDEFINITION); + if ("Citation".equals(codeString)) + return new Enumeration(this, ResourceTypes.CITATION); if ("Claim".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CLAIM); + return new Enumeration(this, ResourceTypes.CLAIM); if ("ClaimResponse".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CLAIMRESPONSE); + return new Enumeration(this, ResourceTypes.CLAIMRESPONSE); if ("ClinicalImpression".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CLINICALIMPRESSION); + return new Enumeration(this, ResourceTypes.CLINICALIMPRESSION); if ("ClinicalUseDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CLINICALUSEDEFINITION); + return new Enumeration(this, ResourceTypes.CLINICALUSEDEFINITION); + if ("CodeSystem".equals(codeString)) + return new Enumeration(this, ResourceTypes.CODESYSTEM); if ("Communication".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COMMUNICATION); + return new Enumeration(this, ResourceTypes.COMMUNICATION); if ("CommunicationRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COMMUNICATIONREQUEST); + return new Enumeration(this, ResourceTypes.COMMUNICATIONREQUEST); + if ("CompartmentDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.COMPARTMENTDEFINITION); if ("Composition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COMPOSITION); + return new Enumeration(this, ResourceTypes.COMPOSITION); + if ("ConceptMap".equals(codeString)) + return new Enumeration(this, ResourceTypes.CONCEPTMAP); if ("Condition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CONDITION); + return new Enumeration(this, ResourceTypes.CONDITION); + if ("ConditionDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.CONDITIONDEFINITION); if ("Consent".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CONSENT); + return new Enumeration(this, ResourceTypes.CONSENT); if ("Contract".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.CONTRACT); + return new Enumeration(this, ResourceTypes.CONTRACT); if ("Coverage".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COVERAGE); + return new Enumeration(this, ResourceTypes.COVERAGE); if ("CoverageEligibilityRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COVERAGEELIGIBILITYREQUEST); + return new Enumeration(this, ResourceTypes.COVERAGEELIGIBILITYREQUEST); if ("CoverageEligibilityResponse".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.COVERAGEELIGIBILITYRESPONSE); + return new Enumeration(this, ResourceTypes.COVERAGEELIGIBILITYRESPONSE); if ("DetectedIssue".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DETECTEDISSUE); + return new Enumeration(this, ResourceTypes.DETECTEDISSUE); if ("Device".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DEVICE); + return new Enumeration(this, ResourceTypes.DEVICE); if ("DeviceDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DEVICEDEFINITION); + return new Enumeration(this, ResourceTypes.DEVICEDEFINITION); if ("DeviceDispense".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DEVICEDISPENSE); + return new Enumeration(this, ResourceTypes.DEVICEDISPENSE); if ("DeviceMetric".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DEVICEMETRIC); + return new Enumeration(this, ResourceTypes.DEVICEMETRIC); if ("DeviceRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DEVICEREQUEST); + return new Enumeration(this, ResourceTypes.DEVICEREQUEST); if ("DeviceUsage".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DEVICEUSAGE); + return new Enumeration(this, ResourceTypes.DEVICEUSAGE); if ("DiagnosticReport".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DIAGNOSTICREPORT); + return new Enumeration(this, ResourceTypes.DIAGNOSTICREPORT); if ("DocumentManifest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DOCUMENTMANIFEST); + return new Enumeration(this, ResourceTypes.DOCUMENTMANIFEST); if ("DocumentReference".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.DOCUMENTREFERENCE); + return new Enumeration(this, ResourceTypes.DOCUMENTREFERENCE); if ("Encounter".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ENCOUNTER); + return new Enumeration(this, ResourceTypes.ENCOUNTER); if ("Endpoint".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ENDPOINT); + return new Enumeration(this, ResourceTypes.ENDPOINT); if ("EnrollmentRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ENROLLMENTREQUEST); + return new Enumeration(this, ResourceTypes.ENROLLMENTREQUEST); if ("EnrollmentResponse".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ENROLLMENTRESPONSE); + return new Enumeration(this, ResourceTypes.ENROLLMENTRESPONSE); if ("EpisodeOfCare".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EPISODEOFCARE); + return new Enumeration(this, ResourceTypes.EPISODEOFCARE); + if ("EventDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.EVENTDEFINITION); + if ("Evidence".equals(codeString)) + return new Enumeration(this, ResourceTypes.EVIDENCE); + if ("EvidenceReport".equals(codeString)) + return new Enumeration(this, ResourceTypes.EVIDENCEREPORT); + if ("EvidenceVariable".equals(codeString)) + return new Enumeration(this, ResourceTypes.EVIDENCEVARIABLE); + if ("ExampleScenario".equals(codeString)) + return new Enumeration(this, ResourceTypes.EXAMPLESCENARIO); if ("ExplanationOfBenefit".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.EXPLANATIONOFBENEFIT); + return new Enumeration(this, ResourceTypes.EXPLANATIONOFBENEFIT); if ("FamilyMemberHistory".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.FAMILYMEMBERHISTORY); + return new Enumeration(this, ResourceTypes.FAMILYMEMBERHISTORY); if ("Flag".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.FLAG); + return new Enumeration(this, ResourceTypes.FLAG); if ("FormularyItem".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.FORMULARYITEM); + return new Enumeration(this, ResourceTypes.FORMULARYITEM); + if ("GenomicStudy".equals(codeString)) + return new Enumeration(this, ResourceTypes.GENOMICSTUDY); if ("Goal".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.GOAL); + return new Enumeration(this, ResourceTypes.GOAL); + if ("GraphDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.GRAPHDEFINITION); if ("Group".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.GROUP); + return new Enumeration(this, ResourceTypes.GROUP); if ("GuidanceResponse".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.GUIDANCERESPONSE); + return new Enumeration(this, ResourceTypes.GUIDANCERESPONSE); if ("HealthcareService".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.HEALTHCARESERVICE); + return new Enumeration(this, ResourceTypes.HEALTHCARESERVICE); if ("ImagingSelection".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.IMAGINGSELECTION); + return new Enumeration(this, ResourceTypes.IMAGINGSELECTION); if ("ImagingStudy".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.IMAGINGSTUDY); + return new Enumeration(this, ResourceTypes.IMAGINGSTUDY); if ("Immunization".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.IMMUNIZATION); + return new Enumeration(this, ResourceTypes.IMMUNIZATION); if ("ImmunizationEvaluation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.IMMUNIZATIONEVALUATION); + return new Enumeration(this, ResourceTypes.IMMUNIZATIONEVALUATION); if ("ImmunizationRecommendation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.IMMUNIZATIONRECOMMENDATION); + return new Enumeration(this, ResourceTypes.IMMUNIZATIONRECOMMENDATION); + if ("ImplementationGuide".equals(codeString)) + return new Enumeration(this, ResourceTypes.IMPLEMENTATIONGUIDE); if ("Ingredient".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.INGREDIENT); + return new Enumeration(this, ResourceTypes.INGREDIENT); if ("InsurancePlan".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.INSURANCEPLAN); + return new Enumeration(this, ResourceTypes.INSURANCEPLAN); if ("InventoryReport".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.INVENTORYREPORT); + return new Enumeration(this, ResourceTypes.INVENTORYREPORT); if ("Invoice".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.INVOICE); + return new Enumeration(this, ResourceTypes.INVOICE); + if ("Library".equals(codeString)) + return new Enumeration(this, ResourceTypes.LIBRARY); if ("Linkage".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.LINKAGE); + return new Enumeration(this, ResourceTypes.LINKAGE); if ("List".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.LIST); + return new Enumeration(this, ResourceTypes.LIST); if ("Location".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.LOCATION); + return new Enumeration(this, ResourceTypes.LOCATION); if ("ManufacturedItemDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MANUFACTUREDITEMDEFINITION); + return new Enumeration(this, ResourceTypes.MANUFACTUREDITEMDEFINITION); + if ("Measure".equals(codeString)) + return new Enumeration(this, ResourceTypes.MEASURE); if ("MeasureReport".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEASUREREPORT); + return new Enumeration(this, ResourceTypes.MEASUREREPORT); if ("Medication".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICATION); + return new Enumeration(this, ResourceTypes.MEDICATION); if ("MedicationAdministration".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICATIONADMINISTRATION); + return new Enumeration(this, ResourceTypes.MEDICATIONADMINISTRATION); if ("MedicationDispense".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICATIONDISPENSE); + return new Enumeration(this, ResourceTypes.MEDICATIONDISPENSE); if ("MedicationKnowledge".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICATIONKNOWLEDGE); + return new Enumeration(this, ResourceTypes.MEDICATIONKNOWLEDGE); if ("MedicationRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICATIONREQUEST); + return new Enumeration(this, ResourceTypes.MEDICATIONREQUEST); if ("MedicationUsage".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICATIONUSAGE); + return new Enumeration(this, ResourceTypes.MEDICATIONUSAGE); if ("MedicinalProductDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MEDICINALPRODUCTDEFINITION); + return new Enumeration(this, ResourceTypes.MEDICINALPRODUCTDEFINITION); + if ("MessageDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.MESSAGEDEFINITION); if ("MessageHeader".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MESSAGEHEADER); + return new Enumeration(this, ResourceTypes.MESSAGEHEADER); if ("MolecularSequence".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.MOLECULARSEQUENCE); + return new Enumeration(this, ResourceTypes.MOLECULARSEQUENCE); + if ("NamingSystem".equals(codeString)) + return new Enumeration(this, ResourceTypes.NAMINGSYSTEM); if ("NutritionIntake".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.NUTRITIONINTAKE); + return new Enumeration(this, ResourceTypes.NUTRITIONINTAKE); if ("NutritionOrder".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.NUTRITIONORDER); + return new Enumeration(this, ResourceTypes.NUTRITIONORDER); if ("NutritionProduct".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.NUTRITIONPRODUCT); + return new Enumeration(this, ResourceTypes.NUTRITIONPRODUCT); if ("Observation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.OBSERVATION); + return new Enumeration(this, ResourceTypes.OBSERVATION); if ("ObservationDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.OBSERVATIONDEFINITION); + return new Enumeration(this, ResourceTypes.OBSERVATIONDEFINITION); + if ("OperationDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.OPERATIONDEFINITION); if ("OperationOutcome".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.OPERATIONOUTCOME); + return new Enumeration(this, ResourceTypes.OPERATIONOUTCOME); if ("Organization".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ORGANIZATION); + return new Enumeration(this, ResourceTypes.ORGANIZATION); if ("OrganizationAffiliation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.ORGANIZATIONAFFILIATION); + return new Enumeration(this, ResourceTypes.ORGANIZATIONAFFILIATION); if ("PackagedProductDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PACKAGEDPRODUCTDEFINITION); - if ("Patient".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PATIENT); - if ("PaymentNotice".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PAYMENTNOTICE); - if ("PaymentReconciliation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PAYMENTRECONCILIATION); - if ("Permission".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PERMISSION); - if ("Person".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PERSON); - if ("Practitioner".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PRACTITIONER); - if ("PractitionerRole".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PRACTITIONERROLE); - if ("Procedure".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PROCEDURE); - if ("Provenance".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PROVENANCE); - if ("QuestionnaireResponse".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.QUESTIONNAIRERESPONSE); - if ("RegulatedAuthorization".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.REGULATEDAUTHORIZATION); - if ("RelatedPerson".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.RELATEDPERSON); - if ("RequestGroup".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.REQUESTGROUP); - if ("ResearchStudy".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.RESEARCHSTUDY); - if ("ResearchSubject".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.RESEARCHSUBJECT); - if ("RiskAssessment".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.RISKASSESSMENT); - if ("Schedule".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SCHEDULE); - if ("ServiceRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SERVICEREQUEST); - if ("Slot".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SLOT); - if ("Specimen".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SPECIMEN); - if ("SpecimenDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SPECIMENDEFINITION); - if ("Subscription".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSCRIPTION); - if ("SubscriptionStatus".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSCRIPTIONSTATUS); - if ("Substance".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCE); - if ("SubstanceDefinition".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCEDEFINITION); - if ("SubstanceNucleicAcid".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCENUCLEICACID); - if ("SubstancePolymer".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCEPOLYMER); - if ("SubstanceProtein".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCEPROTEIN); - if ("SubstanceReferenceInformation".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCEREFERENCEINFORMATION); - if ("SubstanceSourceMaterial".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUBSTANCESOURCEMATERIAL); - if ("SupplyDelivery".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUPPLYDELIVERY); - if ("SupplyRequest".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.SUPPLYREQUEST); - if ("Task".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.TASK); - if ("TestReport".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.TESTREPORT); - if ("Transport".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.TRANSPORT); - if ("VerificationResult".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.VERIFICATIONRESULT); - if ("VisionPrescription".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.VISIONPRESCRIPTION); + return new Enumeration(this, ResourceTypes.PACKAGEDPRODUCTDEFINITION); if ("Parameters".equals(codeString)) - return new Enumeration(this, ResourceTypeEnum.PARAMETERS); - throw new FHIRException("Unknown ResourceTypeEnum code '"+codeString+"'"); + return new Enumeration(this, ResourceTypes.PARAMETERS); + if ("Patient".equals(codeString)) + return new Enumeration(this, ResourceTypes.PATIENT); + if ("PaymentNotice".equals(codeString)) + return new Enumeration(this, ResourceTypes.PAYMENTNOTICE); + if ("PaymentReconciliation".equals(codeString)) + return new Enumeration(this, ResourceTypes.PAYMENTRECONCILIATION); + if ("Permission".equals(codeString)) + return new Enumeration(this, ResourceTypes.PERMISSION); + if ("Person".equals(codeString)) + return new Enumeration(this, ResourceTypes.PERSON); + if ("PlanDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.PLANDEFINITION); + if ("Practitioner".equals(codeString)) + return new Enumeration(this, ResourceTypes.PRACTITIONER); + if ("PractitionerRole".equals(codeString)) + return new Enumeration(this, ResourceTypes.PRACTITIONERROLE); + if ("Procedure".equals(codeString)) + return new Enumeration(this, ResourceTypes.PROCEDURE); + if ("Provenance".equals(codeString)) + return new Enumeration(this, ResourceTypes.PROVENANCE); + if ("Questionnaire".equals(codeString)) + return new Enumeration(this, ResourceTypes.QUESTIONNAIRE); + if ("QuestionnaireResponse".equals(codeString)) + return new Enumeration(this, ResourceTypes.QUESTIONNAIRERESPONSE); + if ("RegulatedAuthorization".equals(codeString)) + return new Enumeration(this, ResourceTypes.REGULATEDAUTHORIZATION); + if ("RelatedPerson".equals(codeString)) + return new Enumeration(this, ResourceTypes.RELATEDPERSON); + if ("RequestOrchestration".equals(codeString)) + return new Enumeration(this, ResourceTypes.REQUESTORCHESTRATION); + if ("Requirements".equals(codeString)) + return new Enumeration(this, ResourceTypes.REQUIREMENTS); + if ("ResearchStudy".equals(codeString)) + return new Enumeration(this, ResourceTypes.RESEARCHSTUDY); + if ("ResearchSubject".equals(codeString)) + return new Enumeration(this, ResourceTypes.RESEARCHSUBJECT); + if ("RiskAssessment".equals(codeString)) + return new Enumeration(this, ResourceTypes.RISKASSESSMENT); + if ("Schedule".equals(codeString)) + return new Enumeration(this, ResourceTypes.SCHEDULE); + if ("SearchParameter".equals(codeString)) + return new Enumeration(this, ResourceTypes.SEARCHPARAMETER); + if ("ServiceRequest".equals(codeString)) + return new Enumeration(this, ResourceTypes.SERVICEREQUEST); + if ("Slot".equals(codeString)) + return new Enumeration(this, ResourceTypes.SLOT); + if ("Specimen".equals(codeString)) + return new Enumeration(this, ResourceTypes.SPECIMEN); + if ("SpecimenDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.SPECIMENDEFINITION); + if ("StructureDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.STRUCTUREDEFINITION); + if ("StructureMap".equals(codeString)) + return new Enumeration(this, ResourceTypes.STRUCTUREMAP); + if ("Subscription".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSCRIPTION); + if ("SubscriptionStatus".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSCRIPTIONSTATUS); + if ("SubscriptionTopic".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSCRIPTIONTOPIC); + if ("Substance".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCE); + if ("SubstanceDefinition".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCEDEFINITION); + if ("SubstanceNucleicAcid".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCENUCLEICACID); + if ("SubstancePolymer".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCEPOLYMER); + if ("SubstanceProtein".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCEPROTEIN); + if ("SubstanceReferenceInformation".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCEREFERENCEINFORMATION); + if ("SubstanceSourceMaterial".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUBSTANCESOURCEMATERIAL); + if ("SupplyDelivery".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUPPLYDELIVERY); + if ("SupplyRequest".equals(codeString)) + return new Enumeration(this, ResourceTypes.SUPPLYREQUEST); + if ("Task".equals(codeString)) + return new Enumeration(this, ResourceTypes.TASK); + if ("TerminologyCapabilities".equals(codeString)) + return new Enumeration(this, ResourceTypes.TERMINOLOGYCAPABILITIES); + if ("TestReport".equals(codeString)) + return new Enumeration(this, ResourceTypes.TESTREPORT); + if ("TestScript".equals(codeString)) + return new Enumeration(this, ResourceTypes.TESTSCRIPT); + if ("Transport".equals(codeString)) + return new Enumeration(this, ResourceTypes.TRANSPORT); + if ("ValueSet".equals(codeString)) + return new Enumeration(this, ResourceTypes.VALUESET); + if ("VerificationResult".equals(codeString)) + return new Enumeration(this, ResourceTypes.VERIFICATIONRESULT); + if ("VisionPrescription".equals(codeString)) + return new Enumeration(this, ResourceTypes.VISIONPRESCRIPTION); + throw new FHIRException("Unknown ResourceTypes code '"+codeString+"'"); } - public String toCode(ResourceTypeEnum code) { - if (code == ResourceTypeEnum.RESOURCE) - return "Resource"; - if (code == ResourceTypeEnum.BINARY) - return "Binary"; - if (code == ResourceTypeEnum.BUNDLE) - return "Bundle"; - if (code == ResourceTypeEnum.DOMAINRESOURCE) - return "DomainResource"; - if (code == ResourceTypeEnum.ACCOUNT) + public String toCode(ResourceTypes code) { + if (code == ResourceTypes.ACCOUNT) return "Account"; - if (code == ResourceTypeEnum.ADMINISTRABLEPRODUCTDEFINITION) - return "AdministrableProductDefinition"; - if (code == ResourceTypeEnum.ADVERSEEVENT) - return "AdverseEvent"; - if (code == ResourceTypeEnum.ALLERGYINTOLERANCE) - return "AllergyIntolerance"; - if (code == ResourceTypeEnum.APPOINTMENT) - return "Appointment"; - if (code == ResourceTypeEnum.APPOINTMENTRESPONSE) - return "AppointmentResponse"; - if (code == ResourceTypeEnum.ARTIFACTASSESSMENT) - return "ArtifactAssessment"; - if (code == ResourceTypeEnum.AUDITEVENT) - return "AuditEvent"; - if (code == ResourceTypeEnum.BASIC) - return "Basic"; - if (code == ResourceTypeEnum.BIOLOGICALLYDERIVEDPRODUCT) - return "BiologicallyDerivedProduct"; - if (code == ResourceTypeEnum.BODYSTRUCTURE) - return "BodyStructure"; - if (code == ResourceTypeEnum.CANONICALRESOURCE) - return "CanonicalResource"; - if (code == ResourceTypeEnum.CAPABILITYSTATEMENT) - return "CapabilityStatement"; - if (code == ResourceTypeEnum.CAPABILITYSTATEMENT2) - return "CapabilityStatement2"; - if (code == ResourceTypeEnum.CODESYSTEM) - return "CodeSystem"; - if (code == ResourceTypeEnum.COMPARTMENTDEFINITION) - return "CompartmentDefinition"; - if (code == ResourceTypeEnum.EXAMPLESCENARIO) - return "ExampleScenario"; - if (code == ResourceTypeEnum.GRAPHDEFINITION) - return "GraphDefinition"; - if (code == ResourceTypeEnum.IMPLEMENTATIONGUIDE) - return "ImplementationGuide"; - if (code == ResourceTypeEnum.MESSAGEDEFINITION) - return "MessageDefinition"; - if (code == ResourceTypeEnum.METADATARESOURCE) - return "MetadataResource"; - if (code == ResourceTypeEnum.ACTIVITYDEFINITION) + if (code == ResourceTypes.ACTIVITYDEFINITION) return "ActivityDefinition"; - if (code == ResourceTypeEnum.CHARGEITEMDEFINITION) - return "ChargeItemDefinition"; - if (code == ResourceTypeEnum.CITATION) - return "Citation"; - if (code == ResourceTypeEnum.CONCEPTMAP) - return "ConceptMap"; - if (code == ResourceTypeEnum.CONDITIONDEFINITION) - return "ConditionDefinition"; - if (code == ResourceTypeEnum.EVENTDEFINITION) - return "EventDefinition"; - if (code == ResourceTypeEnum.EVIDENCE) - return "Evidence"; - if (code == ResourceTypeEnum.EVIDENCEREPORT) - return "EvidenceReport"; - if (code == ResourceTypeEnum.EVIDENCEVARIABLE) - return "EvidenceVariable"; - if (code == ResourceTypeEnum.LIBRARY) - return "Library"; - if (code == ResourceTypeEnum.MEASURE) - return "Measure"; - if (code == ResourceTypeEnum.NAMINGSYSTEM) - return "NamingSystem"; - if (code == ResourceTypeEnum.PLANDEFINITION) - return "PlanDefinition"; - if (code == ResourceTypeEnum.QUESTIONNAIRE) - return "Questionnaire"; - if (code == ResourceTypeEnum.OPERATIONDEFINITION) - return "OperationDefinition"; - if (code == ResourceTypeEnum.SEARCHPARAMETER) - return "SearchParameter"; - if (code == ResourceTypeEnum.STRUCTUREDEFINITION) - return "StructureDefinition"; - if (code == ResourceTypeEnum.STRUCTUREMAP) - return "StructureMap"; - if (code == ResourceTypeEnum.SUBSCRIPTIONTOPIC) - return "SubscriptionTopic"; - if (code == ResourceTypeEnum.TERMINOLOGYCAPABILITIES) - return "TerminologyCapabilities"; - if (code == ResourceTypeEnum.TESTSCRIPT) - return "TestScript"; - if (code == ResourceTypeEnum.VALUESET) - return "ValueSet"; - if (code == ResourceTypeEnum.CAREPLAN) + if (code == ResourceTypes.ACTORDEFINITION) + return "ActorDefinition"; + if (code == ResourceTypes.ADMINISTRABLEPRODUCTDEFINITION) + return "AdministrableProductDefinition"; + if (code == ResourceTypes.ADVERSEEVENT) + return "AdverseEvent"; + if (code == ResourceTypes.ALLERGYINTOLERANCE) + return "AllergyIntolerance"; + if (code == ResourceTypes.APPOINTMENT) + return "Appointment"; + if (code == ResourceTypes.APPOINTMENTRESPONSE) + return "AppointmentResponse"; + if (code == ResourceTypes.ARTIFACTASSESSMENT) + return "ArtifactAssessment"; + if (code == ResourceTypes.AUDITEVENT) + return "AuditEvent"; + if (code == ResourceTypes.BASIC) + return "Basic"; + if (code == ResourceTypes.BINARY) + return "Binary"; + if (code == ResourceTypes.BIOLOGICALLYDERIVEDPRODUCT) + return "BiologicallyDerivedProduct"; + if (code == ResourceTypes.BODYSTRUCTURE) + return "BodyStructure"; + if (code == ResourceTypes.BUNDLE) + return "Bundle"; + if (code == ResourceTypes.CAPABILITYSTATEMENT) + return "CapabilityStatement"; + if (code == ResourceTypes.CAREPLAN) return "CarePlan"; - if (code == ResourceTypeEnum.CARETEAM) + if (code == ResourceTypes.CARETEAM) return "CareTeam"; - if (code == ResourceTypeEnum.CHARGEITEM) + if (code == ResourceTypes.CHARGEITEM) return "ChargeItem"; - if (code == ResourceTypeEnum.CLAIM) + if (code == ResourceTypes.CHARGEITEMDEFINITION) + return "ChargeItemDefinition"; + if (code == ResourceTypes.CITATION) + return "Citation"; + if (code == ResourceTypes.CLAIM) return "Claim"; - if (code == ResourceTypeEnum.CLAIMRESPONSE) + if (code == ResourceTypes.CLAIMRESPONSE) return "ClaimResponse"; - if (code == ResourceTypeEnum.CLINICALIMPRESSION) + if (code == ResourceTypes.CLINICALIMPRESSION) return "ClinicalImpression"; - if (code == ResourceTypeEnum.CLINICALUSEDEFINITION) + if (code == ResourceTypes.CLINICALUSEDEFINITION) return "ClinicalUseDefinition"; - if (code == ResourceTypeEnum.COMMUNICATION) + if (code == ResourceTypes.CODESYSTEM) + return "CodeSystem"; + if (code == ResourceTypes.COMMUNICATION) return "Communication"; - if (code == ResourceTypeEnum.COMMUNICATIONREQUEST) + if (code == ResourceTypes.COMMUNICATIONREQUEST) return "CommunicationRequest"; - if (code == ResourceTypeEnum.COMPOSITION) + if (code == ResourceTypes.COMPARTMENTDEFINITION) + return "CompartmentDefinition"; + if (code == ResourceTypes.COMPOSITION) return "Composition"; - if (code == ResourceTypeEnum.CONDITION) + if (code == ResourceTypes.CONCEPTMAP) + return "ConceptMap"; + if (code == ResourceTypes.CONDITION) return "Condition"; - if (code == ResourceTypeEnum.CONSENT) + if (code == ResourceTypes.CONDITIONDEFINITION) + return "ConditionDefinition"; + if (code == ResourceTypes.CONSENT) return "Consent"; - if (code == ResourceTypeEnum.CONTRACT) + if (code == ResourceTypes.CONTRACT) return "Contract"; - if (code == ResourceTypeEnum.COVERAGE) + if (code == ResourceTypes.COVERAGE) return "Coverage"; - if (code == ResourceTypeEnum.COVERAGEELIGIBILITYREQUEST) + if (code == ResourceTypes.COVERAGEELIGIBILITYREQUEST) return "CoverageEligibilityRequest"; - if (code == ResourceTypeEnum.COVERAGEELIGIBILITYRESPONSE) + if (code == ResourceTypes.COVERAGEELIGIBILITYRESPONSE) return "CoverageEligibilityResponse"; - if (code == ResourceTypeEnum.DETECTEDISSUE) + if (code == ResourceTypes.DETECTEDISSUE) return "DetectedIssue"; - if (code == ResourceTypeEnum.DEVICE) + if (code == ResourceTypes.DEVICE) return "Device"; - if (code == ResourceTypeEnum.DEVICEDEFINITION) + if (code == ResourceTypes.DEVICEDEFINITION) return "DeviceDefinition"; - if (code == ResourceTypeEnum.DEVICEDISPENSE) + if (code == ResourceTypes.DEVICEDISPENSE) return "DeviceDispense"; - if (code == ResourceTypeEnum.DEVICEMETRIC) + if (code == ResourceTypes.DEVICEMETRIC) return "DeviceMetric"; - if (code == ResourceTypeEnum.DEVICEREQUEST) + if (code == ResourceTypes.DEVICEREQUEST) return "DeviceRequest"; - if (code == ResourceTypeEnum.DEVICEUSAGE) + if (code == ResourceTypes.DEVICEUSAGE) return "DeviceUsage"; - if (code == ResourceTypeEnum.DIAGNOSTICREPORT) + if (code == ResourceTypes.DIAGNOSTICREPORT) return "DiagnosticReport"; - if (code == ResourceTypeEnum.DOCUMENTMANIFEST) + if (code == ResourceTypes.DOCUMENTMANIFEST) return "DocumentManifest"; - if (code == ResourceTypeEnum.DOCUMENTREFERENCE) + if (code == ResourceTypes.DOCUMENTREFERENCE) return "DocumentReference"; - if (code == ResourceTypeEnum.ENCOUNTER) + if (code == ResourceTypes.ENCOUNTER) return "Encounter"; - if (code == ResourceTypeEnum.ENDPOINT) + if (code == ResourceTypes.ENDPOINT) return "Endpoint"; - if (code == ResourceTypeEnum.ENROLLMENTREQUEST) + if (code == ResourceTypes.ENROLLMENTREQUEST) return "EnrollmentRequest"; - if (code == ResourceTypeEnum.ENROLLMENTRESPONSE) + if (code == ResourceTypes.ENROLLMENTRESPONSE) return "EnrollmentResponse"; - if (code == ResourceTypeEnum.EPISODEOFCARE) + if (code == ResourceTypes.EPISODEOFCARE) return "EpisodeOfCare"; - if (code == ResourceTypeEnum.EXPLANATIONOFBENEFIT) + if (code == ResourceTypes.EVENTDEFINITION) + return "EventDefinition"; + if (code == ResourceTypes.EVIDENCE) + return "Evidence"; + if (code == ResourceTypes.EVIDENCEREPORT) + return "EvidenceReport"; + if (code == ResourceTypes.EVIDENCEVARIABLE) + return "EvidenceVariable"; + if (code == ResourceTypes.EXAMPLESCENARIO) + return "ExampleScenario"; + if (code == ResourceTypes.EXPLANATIONOFBENEFIT) return "ExplanationOfBenefit"; - if (code == ResourceTypeEnum.FAMILYMEMBERHISTORY) + if (code == ResourceTypes.FAMILYMEMBERHISTORY) return "FamilyMemberHistory"; - if (code == ResourceTypeEnum.FLAG) + if (code == ResourceTypes.FLAG) return "Flag"; - if (code == ResourceTypeEnum.FORMULARYITEM) + if (code == ResourceTypes.FORMULARYITEM) return "FormularyItem"; - if (code == ResourceTypeEnum.GOAL) + if (code == ResourceTypes.GENOMICSTUDY) + return "GenomicStudy"; + if (code == ResourceTypes.GOAL) return "Goal"; - if (code == ResourceTypeEnum.GROUP) + if (code == ResourceTypes.GRAPHDEFINITION) + return "GraphDefinition"; + if (code == ResourceTypes.GROUP) return "Group"; - if (code == ResourceTypeEnum.GUIDANCERESPONSE) + if (code == ResourceTypes.GUIDANCERESPONSE) return "GuidanceResponse"; - if (code == ResourceTypeEnum.HEALTHCARESERVICE) + if (code == ResourceTypes.HEALTHCARESERVICE) return "HealthcareService"; - if (code == ResourceTypeEnum.IMAGINGSELECTION) + if (code == ResourceTypes.IMAGINGSELECTION) return "ImagingSelection"; - if (code == ResourceTypeEnum.IMAGINGSTUDY) + if (code == ResourceTypes.IMAGINGSTUDY) return "ImagingStudy"; - if (code == ResourceTypeEnum.IMMUNIZATION) + if (code == ResourceTypes.IMMUNIZATION) return "Immunization"; - if (code == ResourceTypeEnum.IMMUNIZATIONEVALUATION) + if (code == ResourceTypes.IMMUNIZATIONEVALUATION) return "ImmunizationEvaluation"; - if (code == ResourceTypeEnum.IMMUNIZATIONRECOMMENDATION) + if (code == ResourceTypes.IMMUNIZATIONRECOMMENDATION) return "ImmunizationRecommendation"; - if (code == ResourceTypeEnum.INGREDIENT) + if (code == ResourceTypes.IMPLEMENTATIONGUIDE) + return "ImplementationGuide"; + if (code == ResourceTypes.INGREDIENT) return "Ingredient"; - if (code == ResourceTypeEnum.INSURANCEPLAN) + if (code == ResourceTypes.INSURANCEPLAN) return "InsurancePlan"; - if (code == ResourceTypeEnum.INVENTORYREPORT) + if (code == ResourceTypes.INVENTORYREPORT) return "InventoryReport"; - if (code == ResourceTypeEnum.INVOICE) + if (code == ResourceTypes.INVOICE) return "Invoice"; - if (code == ResourceTypeEnum.LINKAGE) + if (code == ResourceTypes.LIBRARY) + return "Library"; + if (code == ResourceTypes.LINKAGE) return "Linkage"; - if (code == ResourceTypeEnum.LIST) + if (code == ResourceTypes.LIST) return "List"; - if (code == ResourceTypeEnum.LOCATION) + if (code == ResourceTypes.LOCATION) return "Location"; - if (code == ResourceTypeEnum.MANUFACTUREDITEMDEFINITION) + if (code == ResourceTypes.MANUFACTUREDITEMDEFINITION) return "ManufacturedItemDefinition"; - if (code == ResourceTypeEnum.MEASUREREPORT) + if (code == ResourceTypes.MEASURE) + return "Measure"; + if (code == ResourceTypes.MEASUREREPORT) return "MeasureReport"; - if (code == ResourceTypeEnum.MEDICATION) + if (code == ResourceTypes.MEDICATION) return "Medication"; - if (code == ResourceTypeEnum.MEDICATIONADMINISTRATION) + if (code == ResourceTypes.MEDICATIONADMINISTRATION) return "MedicationAdministration"; - if (code == ResourceTypeEnum.MEDICATIONDISPENSE) + if (code == ResourceTypes.MEDICATIONDISPENSE) return "MedicationDispense"; - if (code == ResourceTypeEnum.MEDICATIONKNOWLEDGE) + if (code == ResourceTypes.MEDICATIONKNOWLEDGE) return "MedicationKnowledge"; - if (code == ResourceTypeEnum.MEDICATIONREQUEST) + if (code == ResourceTypes.MEDICATIONREQUEST) return "MedicationRequest"; - if (code == ResourceTypeEnum.MEDICATIONUSAGE) + if (code == ResourceTypes.MEDICATIONUSAGE) return "MedicationUsage"; - if (code == ResourceTypeEnum.MEDICINALPRODUCTDEFINITION) + if (code == ResourceTypes.MEDICINALPRODUCTDEFINITION) return "MedicinalProductDefinition"; - if (code == ResourceTypeEnum.MESSAGEHEADER) + if (code == ResourceTypes.MESSAGEDEFINITION) + return "MessageDefinition"; + if (code == ResourceTypes.MESSAGEHEADER) return "MessageHeader"; - if (code == ResourceTypeEnum.MOLECULARSEQUENCE) + if (code == ResourceTypes.MOLECULARSEQUENCE) return "MolecularSequence"; - if (code == ResourceTypeEnum.NUTRITIONINTAKE) + if (code == ResourceTypes.NAMINGSYSTEM) + return "NamingSystem"; + if (code == ResourceTypes.NUTRITIONINTAKE) return "NutritionIntake"; - if (code == ResourceTypeEnum.NUTRITIONORDER) + if (code == ResourceTypes.NUTRITIONORDER) return "NutritionOrder"; - if (code == ResourceTypeEnum.NUTRITIONPRODUCT) + if (code == ResourceTypes.NUTRITIONPRODUCT) return "NutritionProduct"; - if (code == ResourceTypeEnum.OBSERVATION) + if (code == ResourceTypes.OBSERVATION) return "Observation"; - if (code == ResourceTypeEnum.OBSERVATIONDEFINITION) + if (code == ResourceTypes.OBSERVATIONDEFINITION) return "ObservationDefinition"; - if (code == ResourceTypeEnum.OPERATIONOUTCOME) + if (code == ResourceTypes.OPERATIONDEFINITION) + return "OperationDefinition"; + if (code == ResourceTypes.OPERATIONOUTCOME) return "OperationOutcome"; - if (code == ResourceTypeEnum.ORGANIZATION) + if (code == ResourceTypes.ORGANIZATION) return "Organization"; - if (code == ResourceTypeEnum.ORGANIZATIONAFFILIATION) + if (code == ResourceTypes.ORGANIZATIONAFFILIATION) return "OrganizationAffiliation"; - if (code == ResourceTypeEnum.PACKAGEDPRODUCTDEFINITION) + if (code == ResourceTypes.PACKAGEDPRODUCTDEFINITION) return "PackagedProductDefinition"; - if (code == ResourceTypeEnum.PATIENT) - return "Patient"; - if (code == ResourceTypeEnum.PAYMENTNOTICE) - return "PaymentNotice"; - if (code == ResourceTypeEnum.PAYMENTRECONCILIATION) - return "PaymentReconciliation"; - if (code == ResourceTypeEnum.PERMISSION) - return "Permission"; - if (code == ResourceTypeEnum.PERSON) - return "Person"; - if (code == ResourceTypeEnum.PRACTITIONER) - return "Practitioner"; - if (code == ResourceTypeEnum.PRACTITIONERROLE) - return "PractitionerRole"; - if (code == ResourceTypeEnum.PROCEDURE) - return "Procedure"; - if (code == ResourceTypeEnum.PROVENANCE) - return "Provenance"; - if (code == ResourceTypeEnum.QUESTIONNAIRERESPONSE) - return "QuestionnaireResponse"; - if (code == ResourceTypeEnum.REGULATEDAUTHORIZATION) - return "RegulatedAuthorization"; - if (code == ResourceTypeEnum.RELATEDPERSON) - return "RelatedPerson"; - if (code == ResourceTypeEnum.REQUESTGROUP) - return "RequestGroup"; - if (code == ResourceTypeEnum.RESEARCHSTUDY) - return "ResearchStudy"; - if (code == ResourceTypeEnum.RESEARCHSUBJECT) - return "ResearchSubject"; - if (code == ResourceTypeEnum.RISKASSESSMENT) - return "RiskAssessment"; - if (code == ResourceTypeEnum.SCHEDULE) - return "Schedule"; - if (code == ResourceTypeEnum.SERVICEREQUEST) - return "ServiceRequest"; - if (code == ResourceTypeEnum.SLOT) - return "Slot"; - if (code == ResourceTypeEnum.SPECIMEN) - return "Specimen"; - if (code == ResourceTypeEnum.SPECIMENDEFINITION) - return "SpecimenDefinition"; - if (code == ResourceTypeEnum.SUBSCRIPTION) - return "Subscription"; - if (code == ResourceTypeEnum.SUBSCRIPTIONSTATUS) - return "SubscriptionStatus"; - if (code == ResourceTypeEnum.SUBSTANCE) - return "Substance"; - if (code == ResourceTypeEnum.SUBSTANCEDEFINITION) - return "SubstanceDefinition"; - if (code == ResourceTypeEnum.SUBSTANCENUCLEICACID) - return "SubstanceNucleicAcid"; - if (code == ResourceTypeEnum.SUBSTANCEPOLYMER) - return "SubstancePolymer"; - if (code == ResourceTypeEnum.SUBSTANCEPROTEIN) - return "SubstanceProtein"; - if (code == ResourceTypeEnum.SUBSTANCEREFERENCEINFORMATION) - return "SubstanceReferenceInformation"; - if (code == ResourceTypeEnum.SUBSTANCESOURCEMATERIAL) - return "SubstanceSourceMaterial"; - if (code == ResourceTypeEnum.SUPPLYDELIVERY) - return "SupplyDelivery"; - if (code == ResourceTypeEnum.SUPPLYREQUEST) - return "SupplyRequest"; - if (code == ResourceTypeEnum.TASK) - return "Task"; - if (code == ResourceTypeEnum.TESTREPORT) - return "TestReport"; - if (code == ResourceTypeEnum.TRANSPORT) - return "Transport"; - if (code == ResourceTypeEnum.VERIFICATIONRESULT) - return "VerificationResult"; - if (code == ResourceTypeEnum.VISIONPRESCRIPTION) - return "VisionPrescription"; - if (code == ResourceTypeEnum.PARAMETERS) + if (code == ResourceTypes.PARAMETERS) return "Parameters"; + if (code == ResourceTypes.PATIENT) + return "Patient"; + if (code == ResourceTypes.PAYMENTNOTICE) + return "PaymentNotice"; + if (code == ResourceTypes.PAYMENTRECONCILIATION) + return "PaymentReconciliation"; + if (code == ResourceTypes.PERMISSION) + return "Permission"; + if (code == ResourceTypes.PERSON) + return "Person"; + if (code == ResourceTypes.PLANDEFINITION) + return "PlanDefinition"; + if (code == ResourceTypes.PRACTITIONER) + return "Practitioner"; + if (code == ResourceTypes.PRACTITIONERROLE) + return "PractitionerRole"; + if (code == ResourceTypes.PROCEDURE) + return "Procedure"; + if (code == ResourceTypes.PROVENANCE) + return "Provenance"; + if (code == ResourceTypes.QUESTIONNAIRE) + return "Questionnaire"; + if (code == ResourceTypes.QUESTIONNAIRERESPONSE) + return "QuestionnaireResponse"; + if (code == ResourceTypes.REGULATEDAUTHORIZATION) + return "RegulatedAuthorization"; + if (code == ResourceTypes.RELATEDPERSON) + return "RelatedPerson"; + if (code == ResourceTypes.REQUESTORCHESTRATION) + return "RequestOrchestration"; + if (code == ResourceTypes.REQUIREMENTS) + return "Requirements"; + if (code == ResourceTypes.RESEARCHSTUDY) + return "ResearchStudy"; + if (code == ResourceTypes.RESEARCHSUBJECT) + return "ResearchSubject"; + if (code == ResourceTypes.RISKASSESSMENT) + return "RiskAssessment"; + if (code == ResourceTypes.SCHEDULE) + return "Schedule"; + if (code == ResourceTypes.SEARCHPARAMETER) + return "SearchParameter"; + if (code == ResourceTypes.SERVICEREQUEST) + return "ServiceRequest"; + if (code == ResourceTypes.SLOT) + return "Slot"; + if (code == ResourceTypes.SPECIMEN) + return "Specimen"; + if (code == ResourceTypes.SPECIMENDEFINITION) + return "SpecimenDefinition"; + if (code == ResourceTypes.STRUCTUREDEFINITION) + return "StructureDefinition"; + if (code == ResourceTypes.STRUCTUREMAP) + return "StructureMap"; + if (code == ResourceTypes.SUBSCRIPTION) + return "Subscription"; + if (code == ResourceTypes.SUBSCRIPTIONSTATUS) + return "SubscriptionStatus"; + if (code == ResourceTypes.SUBSCRIPTIONTOPIC) + return "SubscriptionTopic"; + if (code == ResourceTypes.SUBSTANCE) + return "Substance"; + if (code == ResourceTypes.SUBSTANCEDEFINITION) + return "SubstanceDefinition"; + if (code == ResourceTypes.SUBSTANCENUCLEICACID) + return "SubstanceNucleicAcid"; + if (code == ResourceTypes.SUBSTANCEPOLYMER) + return "SubstancePolymer"; + if (code == ResourceTypes.SUBSTANCEPROTEIN) + return "SubstanceProtein"; + if (code == ResourceTypes.SUBSTANCEREFERENCEINFORMATION) + return "SubstanceReferenceInformation"; + if (code == ResourceTypes.SUBSTANCESOURCEMATERIAL) + return "SubstanceSourceMaterial"; + if (code == ResourceTypes.SUPPLYDELIVERY) + return "SupplyDelivery"; + if (code == ResourceTypes.SUPPLYREQUEST) + return "SupplyRequest"; + if (code == ResourceTypes.TASK) + return "Task"; + if (code == ResourceTypes.TERMINOLOGYCAPABILITIES) + return "TerminologyCapabilities"; + if (code == ResourceTypes.TESTREPORT) + return "TestReport"; + if (code == ResourceTypes.TESTSCRIPT) + return "TestScript"; + if (code == ResourceTypes.TRANSPORT) + return "Transport"; + if (code == ResourceTypes.VALUESET) + return "ValueSet"; + if (code == ResourceTypes.VERIFICATIONRESULT) + return "VerificationResult"; + if (code == ResourceTypes.VISIONPRESCRIPTION) + return "VisionPrescription"; return "?"; } - public String toSystem(ResourceTypeEnum code) { - return code.getSystem(); - } - } - - public enum RestfulCapabilityMode { - /** - * The application acts as a client for this resource. - */ - CLIENT, - /** - * The application acts as a server for this resource. - */ - SERVER, - /** - * added to help the parsers - */ - NULL; - public static RestfulCapabilityMode fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("client".equals(codeString)) - return CLIENT; - if ("server".equals(codeString)) - return SERVER; - throw new FHIRException("Unknown RestfulCapabilityMode code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case CLIENT: return "client"; - case SERVER: return "server"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case CLIENT: return "http://hl7.org/fhir/restful-capability-mode"; - case SERVER: return "http://hl7.org/fhir/restful-capability-mode"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case CLIENT: return "The application acts as a client for this resource."; - case SERVER: return "The application acts as a server for this resource."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case CLIENT: return "Client"; - case SERVER: return "Server"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class RestfulCapabilityModeEnumFactory implements EnumFactory { - public RestfulCapabilityMode fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("client".equals(codeString)) - return RestfulCapabilityMode.CLIENT; - if ("server".equals(codeString)) - return RestfulCapabilityMode.SERVER; - throw new IllegalArgumentException("Unknown RestfulCapabilityMode code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("client".equals(codeString)) - return new Enumeration(this, RestfulCapabilityMode.CLIENT); - if ("server".equals(codeString)) - return new Enumeration(this, RestfulCapabilityMode.SERVER); - throw new FHIRException("Unknown RestfulCapabilityMode code '"+codeString+"'"); - } - public String toCode(RestfulCapabilityMode code) { - if (code == RestfulCapabilityMode.CLIENT) - return "client"; - if (code == RestfulCapabilityMode.SERVER) - return "server"; - return "?"; - } - public String toSystem(RestfulCapabilityMode code) { + public String toSystem(ResourceTypes code) { return code.getSystem(); } } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EpisodeOfCare.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EpisodeOfCare.java index 032d19b1a..818dad98c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EpisodeOfCare.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EpisodeOfCare.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -467,9 +467,10 @@ public class EpisodeOfCare extends DomainResource { /** * A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for. */ - @Child(name = "condition", type = {Condition.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Child(name = "condition", type = {CodeableReference.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Conditions/problems/diagnoses this episode of care is for", formalDefinition="A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for." ) - protected Reference condition; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") + protected CodeableReference condition; /** * Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …). @@ -486,7 +487,7 @@ public class EpisodeOfCare extends DomainResource { @Description(shortDefinition="Ranking of the diagnosis (for each role type)", formalDefinition="Ranking of the diagnosis (for each role type)." ) protected PositiveIntType rank; - private static final long serialVersionUID = -294944963L; + private static final long serialVersionUID = 1545153316L; /** * Constructor @@ -498,7 +499,7 @@ public class EpisodeOfCare extends DomainResource { /** * Constructor */ - public DiagnosisComponent(Reference condition) { + public DiagnosisComponent(CodeableReference condition) { super(); this.setCondition(condition); } @@ -506,12 +507,12 @@ public class EpisodeOfCare extends DomainResource { /** * @return {@link #condition} (A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.) */ - public Reference getCondition() { + public CodeableReference getCondition() { if (this.condition == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create DiagnosisComponent.condition"); else if (Configuration.doAutoCreate()) - this.condition = new Reference(); // cc + this.condition = new CodeableReference(); // cc return this.condition; } @@ -522,7 +523,7 @@ public class EpisodeOfCare extends DomainResource { /** * @param value {@link #condition} (A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.) */ - public DiagnosisComponent setCondition(Reference value) { + public DiagnosisComponent setCondition(CodeableReference value) { this.condition = value; return this; } @@ -598,7 +599,7 @@ public class EpisodeOfCare extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("condition", "Reference(Condition)", "A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.", 0, 1, condition)); + children.add(new Property("condition", "CodeableReference(Condition)", "A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.", 0, 1, condition)); children.add(new Property("role", "CodeableConcept", "Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …).", 0, 1, role)); children.add(new Property("rank", "positiveInt", "Ranking of the diagnosis (for each role type).", 0, 1, rank)); } @@ -606,7 +607,7 @@ public class EpisodeOfCare extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -861311717: /*condition*/ return new Property("condition", "Reference(Condition)", "A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.", 0, 1, condition); + case -861311717: /*condition*/ return new Property("condition", "CodeableReference(Condition)", "A list of conditions/problems/diagnoses that this episode of care is intended to be providing care for.", 0, 1, condition); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Role that this diagnosis has within the episode of care (e.g. admission, billing, discharge …).", 0, 1, role); case 3492908: /*rank*/ return new Property("rank", "positiveInt", "Ranking of the diagnosis (for each role type).", 0, 1, rank); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -617,7 +618,7 @@ public class EpisodeOfCare extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // Reference + case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // CodeableReference case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept case 3492908: /*rank*/ return this.rank == null ? new Base[0] : new Base[] {this.rank}; // PositiveIntType default: return super.getProperty(hash, name, checkValid); @@ -629,7 +630,7 @@ public class EpisodeOfCare extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case -861311717: // condition - this.condition = TypeConvertor.castToReference(value); // Reference + this.condition = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; case 3506294: // role this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -645,7 +646,7 @@ public class EpisodeOfCare extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("condition")) { - this.condition = TypeConvertor.castToReference(value); // Reference + this.condition = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("role")) { this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("rank")) { @@ -669,7 +670,7 @@ public class EpisodeOfCare extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -861311717: /*condition*/ return new String[] {"Reference"}; + case -861311717: /*condition*/ return new String[] {"CodeableReference"}; case 3506294: /*role*/ return new String[] {"CodeableConcept"}; case 3492908: /*rank*/ return new String[] {"positiveInt"}; default: return super.getTypesForProperty(hash, name); @@ -680,7 +681,7 @@ public class EpisodeOfCare extends DomainResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("condition")) { - this.condition = new Reference(); + this.condition = new CodeableReference(); return this.condition; } else if (name.equals("role")) { @@ -784,10 +785,10 @@ public class EpisodeOfCare extends DomainResource { protected Reference patient; /** - * The organization that has assumed the specific responsibilities for the specified duration. + * The organization that has assumed the specific responsibilities for care coordination, care delivery, or other services for the specified duration. */ @Child(name = "managingOrganization", type = {Organization.class}, order=6, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Organization that assumes care", formalDefinition="The organization that has assumed the specific responsibilities for the specified duration." ) + @Description(shortDefinition="Organization that assumes responsibility for care coordination", formalDefinition="The organization that has assumed the specific responsibilities for care coordination, care delivery, or other services for the specified duration." ) protected Reference managingOrganization; /** @@ -814,9 +815,9 @@ public class EpisodeOfCare extends DomainResource { /** * The list of practitioners that may be facilitating this episode of care for specific purposes. */ - @Child(name = "team", type = {CareTeam.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "careTeam", type = {CareTeam.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Other practitioners facilitating this episode of care", formalDefinition="The list of practitioners that may be facilitating this episode of care for specific purposes." ) - protected List team; + protected List careTeam; /** * The set of accounts that may be used for billing for this EpisodeOfCare. @@ -825,7 +826,7 @@ public class EpisodeOfCare extends DomainResource { @Description(shortDefinition="The set of accounts that may be used for billing for this EpisodeOfCare", formalDefinition="The set of accounts that may be used for billing for this EpisodeOfCare." ) protected List account; - private static final long serialVersionUID = 202200834L; + private static final long serialVersionUID = -542167503L; /** * Constructor @@ -1125,7 +1126,7 @@ public class EpisodeOfCare extends DomainResource { } /** - * @return {@link #managingOrganization} (The organization that has assumed the specific responsibilities for the specified duration.) + * @return {@link #managingOrganization} (The organization that has assumed the specific responsibilities for care coordination, care delivery, or other services for the specified duration.) */ public Reference getManagingOrganization() { if (this.managingOrganization == null) @@ -1141,7 +1142,7 @@ public class EpisodeOfCare extends DomainResource { } /** - * @param value {@link #managingOrganization} (The organization that has assumed the specific responsibilities for the specified duration.) + * @param value {@link #managingOrganization} (The organization that has assumed the specific responsibilities for care coordination, care delivery, or other services for the specified duration.) */ public EpisodeOfCare setManagingOrganization(Reference value) { this.managingOrganization = value; @@ -1250,56 +1251,56 @@ public class EpisodeOfCare extends DomainResource { } /** - * @return {@link #team} (The list of practitioners that may be facilitating this episode of care for specific purposes.) + * @return {@link #careTeam} (The list of practitioners that may be facilitating this episode of care for specific purposes.) */ - public List getTeam() { - if (this.team == null) - this.team = new ArrayList(); - return this.team; + public List getCareTeam() { + if (this.careTeam == null) + this.careTeam = new ArrayList(); + return this.careTeam; } /** * @return Returns a reference to this for easy method chaining */ - public EpisodeOfCare setTeam(List theTeam) { - this.team = theTeam; + public EpisodeOfCare setCareTeam(List theCareTeam) { + this.careTeam = theCareTeam; return this; } - public boolean hasTeam() { - if (this.team == null) + public boolean hasCareTeam() { + if (this.careTeam == null) return false; - for (Reference item : this.team) + for (Reference item : this.careTeam) if (!item.isEmpty()) return true; return false; } - public Reference addTeam() { //3 + public Reference addCareTeam() { //3 Reference t = new Reference(); - if (this.team == null) - this.team = new ArrayList(); - this.team.add(t); + if (this.careTeam == null) + this.careTeam = new ArrayList(); + this.careTeam.add(t); return t; } - public EpisodeOfCare addTeam(Reference t) { //3 + public EpisodeOfCare addCareTeam(Reference t) { //3 if (t == null) return this; - if (this.team == null) - this.team = new ArrayList(); - this.team.add(t); + if (this.careTeam == null) + this.careTeam = new ArrayList(); + this.careTeam.add(t); return this; } /** - * @return The first repetition of repeating field {@link #team}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #careTeam}, creating it if it does not already exist {3} */ - public Reference getTeamFirstRep() { - if (getTeam().isEmpty()) { - addTeam(); + public Reference getCareTeamFirstRep() { + if (getCareTeam().isEmpty()) { + addCareTeam(); } - return getTeam().get(0); + return getCareTeam().get(0); } /** @@ -1363,11 +1364,11 @@ public class EpisodeOfCare extends DomainResource { children.add(new Property("type", "CodeableConcept", "A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("diagnosis", "", "The list of diagnosis relevant to this episode of care.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); children.add(new Property("patient", "Reference(Patient)", "The patient who is the focus of this episode of care.", 0, 1, patient)); - children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that has assumed the specific responsibilities for the specified duration.", 0, 1, managingOrganization)); + children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that has assumed the specific responsibilities for care coordination, care delivery, or other services for the specified duration.", 0, 1, managingOrganization)); children.add(new Property("period", "Period", "The interval during which the managing organization assumes the defined responsibility.", 0, 1, period)); children.add(new Property("referralRequest", "Reference(ServiceRequest)", "Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals.", 0, java.lang.Integer.MAX_VALUE, referralRequest)); children.add(new Property("careManager", "Reference(Practitioner|PractitionerRole)", "The practitioner that is the care manager/care coordinator for this patient.", 0, 1, careManager)); - children.add(new Property("team", "Reference(CareTeam)", "The list of practitioners that may be facilitating this episode of care for specific purposes.", 0, java.lang.Integer.MAX_VALUE, team)); + children.add(new Property("careTeam", "Reference(CareTeam)", "The list of practitioners that may be facilitating this episode of care for specific purposes.", 0, java.lang.Integer.MAX_VALUE, careTeam)); children.add(new Property("account", "Reference(Account)", "The set of accounts that may be used for billing for this EpisodeOfCare.", 0, java.lang.Integer.MAX_VALUE, account)); } @@ -1380,11 +1381,11 @@ public class EpisodeOfCare extends DomainResource { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A classification of the type of episode of care; e.g. specialist referral, disease management, type of funded care.", 0, java.lang.Integer.MAX_VALUE, type); case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "The list of diagnosis relevant to this episode of care.", 0, java.lang.Integer.MAX_VALUE, diagnosis); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The patient who is the focus of this episode of care.", 0, 1, patient); - case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that has assumed the specific responsibilities for the specified duration.", 0, 1, managingOrganization); + case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that has assumed the specific responsibilities for care coordination, care delivery, or other services for the specified duration.", 0, 1, managingOrganization); case -991726143: /*period*/ return new Property("period", "Period", "The interval during which the managing organization assumes the defined responsibility.", 0, 1, period); case -310299598: /*referralRequest*/ return new Property("referralRequest", "Reference(ServiceRequest)", "Referral Request(s) that are fulfilled by this EpisodeOfCare, incoming referrals.", 0, java.lang.Integer.MAX_VALUE, referralRequest); case -1147746468: /*careManager*/ return new Property("careManager", "Reference(Practitioner|PractitionerRole)", "The practitioner that is the care manager/care coordinator for this patient.", 0, 1, careManager); - case 3555933: /*team*/ return new Property("team", "Reference(CareTeam)", "The list of practitioners that may be facilitating this episode of care for specific purposes.", 0, java.lang.Integer.MAX_VALUE, team); + case -7323378: /*careTeam*/ return new Property("careTeam", "Reference(CareTeam)", "The list of practitioners that may be facilitating this episode of care for specific purposes.", 0, java.lang.Integer.MAX_VALUE, careTeam); case -1177318867: /*account*/ return new Property("account", "Reference(Account)", "The set of accounts that may be used for billing for this EpisodeOfCare.", 0, java.lang.Integer.MAX_VALUE, account); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1404,7 +1405,7 @@ public class EpisodeOfCare extends DomainResource { case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period case -310299598: /*referralRequest*/ return this.referralRequest == null ? new Base[0] : this.referralRequest.toArray(new Base[this.referralRequest.size()]); // Reference case -1147746468: /*careManager*/ return this.careManager == null ? new Base[0] : new Base[] {this.careManager}; // Reference - case 3555933: /*team*/ return this.team == null ? new Base[0] : this.team.toArray(new Base[this.team.size()]); // Reference + case -7323378: /*careTeam*/ return this.careTeam == null ? new Base[0] : this.careTeam.toArray(new Base[this.careTeam.size()]); // Reference case -1177318867: /*account*/ return this.account == null ? new Base[0] : this.account.toArray(new Base[this.account.size()]); // Reference default: return super.getProperty(hash, name, checkValid); } @@ -1445,8 +1446,8 @@ public class EpisodeOfCare extends DomainResource { case -1147746468: // careManager this.careManager = TypeConvertor.castToReference(value); // Reference return value; - case 3555933: // team - this.getTeam().add(TypeConvertor.castToReference(value)); // Reference + case -7323378: // careTeam + this.getCareTeam().add(TypeConvertor.castToReference(value)); // Reference return value; case -1177318867: // account this.getAccount().add(TypeConvertor.castToReference(value)); // Reference @@ -1479,8 +1480,8 @@ public class EpisodeOfCare extends DomainResource { this.getReferralRequest().add(TypeConvertor.castToReference(value)); } else if (name.equals("careManager")) { this.careManager = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("team")) { - this.getTeam().add(TypeConvertor.castToReference(value)); + } else if (name.equals("careTeam")) { + this.getCareTeam().add(TypeConvertor.castToReference(value)); } else if (name.equals("account")) { this.getAccount().add(TypeConvertor.castToReference(value)); } else @@ -1501,7 +1502,7 @@ public class EpisodeOfCare extends DomainResource { case -991726143: return getPeriod(); case -310299598: return addReferralRequest(); case -1147746468: return getCareManager(); - case 3555933: return addTeam(); + case -7323378: return addCareTeam(); case -1177318867: return addAccount(); default: return super.makeProperty(hash, name); } @@ -1521,7 +1522,7 @@ public class EpisodeOfCare extends DomainResource { case -991726143: /*period*/ return new String[] {"Period"}; case -310299598: /*referralRequest*/ return new String[] {"Reference"}; case -1147746468: /*careManager*/ return new String[] {"Reference"}; - case 3555933: /*team*/ return new String[] {"Reference"}; + case -7323378: /*careTeam*/ return new String[] {"Reference"}; case -1177318867: /*account*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -1564,8 +1565,8 @@ public class EpisodeOfCare extends DomainResource { this.careManager = new Reference(); return this.careManager; } - else if (name.equals("team")) { - return addTeam(); + else if (name.equals("careTeam")) { + return addCareTeam(); } else if (name.equals("account")) { return addAccount(); @@ -1617,10 +1618,10 @@ public class EpisodeOfCare extends DomainResource { dst.referralRequest.add(i.copy()); }; dst.careManager = careManager == null ? null : careManager.copy(); - if (team != null) { - dst.team = new ArrayList(); - for (Reference i : team) - dst.team.add(i.copy()); + if (careTeam != null) { + dst.careTeam = new ArrayList(); + for (Reference i : careTeam) + dst.careTeam.add(i.copy()); }; if (account != null) { dst.account = new ArrayList(); @@ -1644,7 +1645,7 @@ public class EpisodeOfCare extends DomainResource { && compareDeep(type, o.type, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(patient, o.patient, true) && compareDeep(managingOrganization, o.managingOrganization, true) && compareDeep(period, o.period, true) && compareDeep(referralRequest, o.referralRequest, true) && compareDeep(careManager, o.careManager, true) - && compareDeep(team, o.team, true) && compareDeep(account, o.account, true); + && compareDeep(careTeam, o.careTeam, true) && compareDeep(account, o.account, true); } @Override @@ -1660,7 +1661,7 @@ public class EpisodeOfCare extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, statusHistory , type, diagnosis, patient, managingOrganization, period, referralRequest, careManager - , team, account); + , careTeam, account); } @Override @@ -1695,21 +1696,67 @@ public class EpisodeOfCare extends DomainResource { public static final ca.uhn.fhir.model.api.Include INCLUDE_CARE_MANAGER = new ca.uhn.fhir.model.api.Include("EpisodeOfCare:care-manager").toLocked(); /** - * Search parameter: condition + * Search parameter: condition-concept *

- * Description: Conditions/problems/diagnoses this episode of care is for
- * Type: reference
- * Path: EpisodeOfCare.diagnosis.condition
+ * Description: Conditions/problems/diagnoses this episode of care is for (coded)
+ * Type: token
+ * Path: EpisodeOfCare.diagnosis.condition.concept
*

*/ - @SearchParamDefinition(name="condition", path="EpisodeOfCare.diagnosis.condition", description="Conditions/problems/diagnoses this episode of care is for", type="reference", target={Condition.class } ) + @SearchParamDefinition(name="condition-concept", path="EpisodeOfCare.diagnosis.condition.concept", description="Conditions/problems/diagnoses this episode of care is for (coded)", type="token" ) + public static final String SP_CONDITION_CONCEPT = "condition-concept"; + /** + * Fluent Client search parameter constant for condition-concept + *

+ * Description: Conditions/problems/diagnoses this episode of care is for (coded)
+ * Type: token
+ * Path: EpisodeOfCare.diagnosis.condition.concept
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONDITION_CONCEPT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONDITION_CONCEPT); + + /** + * Search parameter: condition-reference + *

+ * Description: Conditions/problems/diagnoses this episode of care is for (resource reference)
+ * Type: reference
+ * Path: EpisodeOfCare.diagnosis.condition.reference
+ *

+ */ + @SearchParamDefinition(name="condition-reference", path="EpisodeOfCare.diagnosis.condition.reference", description="Conditions/problems/diagnoses this episode of care is for (resource reference)", type="reference" ) + public static final String SP_CONDITION_REFERENCE = "condition-reference"; + /** + * Fluent Client search parameter constant for condition-reference + *

+ * Description: Conditions/problems/diagnoses this episode of care is for (resource reference)
+ * Type: reference
+ * Path: EpisodeOfCare.diagnosis.condition.reference
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONDITION_REFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONDITION_REFERENCE); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "EpisodeOfCare:condition-reference". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_CONDITION_REFERENCE = new ca.uhn.fhir.model.api.Include("EpisodeOfCare:condition-reference").toLocked(); + + /** + * Search parameter: condition + *

+ * Description: Conditions/problems/diagnoses this episode of care is for (legacy)
+ * Type: reference
+ * Path: EpisodeOfCare.diagnosis.condition.reference
+ *

+ */ + @SearchParamDefinition(name="condition", path="EpisodeOfCare.diagnosis.condition.reference", description="Conditions/problems/diagnoses this episode of care is for (legacy)", type="reference" ) public static final String SP_CONDITION = "condition"; /** * Fluent Client search parameter constant for condition *

- * Description: Conditions/problems/diagnoses this episode of care is for
+ * Description: Conditions/problems/diagnoses this episode of care is for (legacy)
* Type: reference
- * Path: EpisodeOfCare.diagnosis.condition
+ * Path: EpisodeOfCare.diagnosis.condition.reference
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CONDITION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CONDITION); @@ -1964,7 +2011,7 @@ public class EpisodeOfCare extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1973,10 +2020,10 @@ public class EpisodeOfCare extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2008,7 +2055,7 @@ public class EpisodeOfCare extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2017,7 +2064,7 @@ public class EpisodeOfCare extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EventDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EventDefinition.java index 213f5e58d..2e8e8ef41 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EventDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EventDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -54,10 +54,10 @@ import ca.uhn.fhir.model.api.annotation.Block; public class EventDefinition extends MetadataResource { /** - * An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers. + * An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this event definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this event definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers." ) protected UriType url; /** @@ -115,7 +115,7 @@ public class EventDefinition extends MetadataResource { */ @Child(name = "subject", type = {CodeableConcept.class, Group.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Type of individual the event definition is focused on", formalDefinition="A code or group definition that describes the intended subject of the event definition." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -126,10 +126,10 @@ public class EventDefinition extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the event definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the event definition. */ @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the event definition." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the event definition." ) protected StringType publisher; /** @@ -272,7 +272,7 @@ public class EventDefinition extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -292,7 +292,7 @@ public class EventDefinition extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public EventDefinition setUrlElement(UriType value) { this.url = value; @@ -300,14 +300,14 @@ public class EventDefinition extends MetadataResource { } /** - * @return An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers. + * @return An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers. + * @param value An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers. */ public EventDefinition setUrl(String value) { if (Utilities.noString(value)) @@ -760,7 +760,7 @@ public class EventDefinition extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the event definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the event definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -780,7 +780,7 @@ public class EventDefinition extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the event definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the event definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public EventDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -788,14 +788,14 @@ public class EventDefinition extends MetadataResource { } /** - * @return The name of the organization or individual that published the event definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the event definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the event definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the event definition. */ public EventDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -1656,9 +1656,86 @@ public class EventDefinition extends MetadataResource { return getTrigger().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public EventDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public EventDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public EventDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"EventDefinition\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -1668,7 +1745,7 @@ public class EventDefinition extends MetadataResource { children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this event definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the event definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the event definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the event definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the event definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the event definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -1691,7 +1768,7 @@ public class EventDefinition extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this event definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this event definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the event definition is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this event definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the event definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the event definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the event definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -1704,7 +1781,7 @@ public class EventDefinition extends MetadataResource { case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "A code or group definition that describes the intended subject of the event definition.", 0, 1, subject); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the event definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the event definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the event definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the event definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the event definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate event definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -2236,7 +2313,7 @@ public class EventDefinition extends MetadataResource { * Path: EventDefinition.relatedArtifact.where(type='composed-of').resource
*

*/ - @SearchParamDefinition(name="composed-of", path="EventDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="composed-of", path="EventDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_COMPOSED_OF = "composed-of"; /** * Fluent Client search parameter constant for composed-of @@ -2382,7 +2459,7 @@ public class EventDefinition extends MetadataResource { * Path: EventDefinition.relatedArtifact.where(type='depends-on').resource
*

*/ - @SearchParamDefinition(name="depends-on", path="EventDefinition.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="depends-on", path="EventDefinition.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DEPENDS_ON = "depends-on"; /** * Fluent Client search parameter constant for depends-on @@ -2408,7 +2485,7 @@ public class EventDefinition extends MetadataResource { * Path: EventDefinition.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="derived-from", path="EventDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="derived-from", path="EventDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -2534,7 +2611,7 @@ public class EventDefinition extends MetadataResource { * Path: EventDefinition.relatedArtifact.where(type='predecessor').resource
*

*/ - @SearchParamDefinition(name="predecessor", path="EventDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="predecessor", path="EventDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PREDECESSOR = "predecessor"; /** * Fluent Client search parameter constant for predecessor @@ -2600,7 +2677,7 @@ public class EventDefinition extends MetadataResource { * Path: EventDefinition.relatedArtifact.where(type='successor').resource
*

*/ - @SearchParamDefinition(name="successor", path="EventDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="successor", path="EventDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUCCESSOR = "successor"; /** * Fluent Client search parameter constant for successor diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Evidence.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Evidence.java index afd77301c..74932b081 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Evidence.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Evidence.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -3614,10 +3614,10 @@ public class Evidence extends MetadataResource { } /** - * An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this evidence, represented as a globally unique URI", formalDefinition="An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this evidence, represented as a globally unique URI", formalDefinition="An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers." ) protected UriType url; /** @@ -3699,10 +3699,10 @@ public class Evidence extends MetadataResource { protected DateType lastReviewDate; /** - * The name of the organization or individual that published the evidence. + * The name of the organization or individual responsible for the release and ongoing maintenance of the evidence. */ @Child(name = "publisher", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the evidence." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the evidence." ) protected StringType publisher; /** @@ -3784,12 +3784,12 @@ public class Evidence extends MetadataResource { protected CodeableConcept synthesisType; /** - * The type of study that produced this evidence. + * The design of the study that produced this evidence. The design is described with any number of study design characteristics. */ - @Child(name = "studyType", type = {CodeableConcept.class}, order=24, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The type of study that produced this evidence", formalDefinition="The type of study that produced this evidence." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/study-type") - protected CodeableConcept studyType; + @Child(name = "studyDesign", type = {CodeableConcept.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The design of the study that produced this evidence", formalDefinition="The design of the study that produced this evidence. The design is described with any number of study design characteristics." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/study-design") + protected List studyDesign; /** * Values and parameters for a single statistic. @@ -3805,7 +3805,7 @@ public class Evidence extends MetadataResource { @Description(shortDefinition="Certainty or quality of the evidence", formalDefinition="Assessment of certainty, confidence in the estimates, or quality of the evidence." ) protected List certainty; - private static final long serialVersionUID = 1922265062L; + private static final long serialVersionUID = 168184840L; /** * Constructor @@ -3824,7 +3824,7 @@ public class Evidence extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -3844,7 +3844,7 @@ public class Evidence extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public Evidence setUrlElement(UriType value) { this.url = value; @@ -3852,14 +3852,14 @@ public class Evidence extends MetadataResource { } /** - * @return An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * @return An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * @param value An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ public Evidence setUrl(String value) { if (Utilities.noString(value)) @@ -4414,7 +4414,7 @@ public class Evidence extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the evidence.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -4434,7 +4434,7 @@ public class Evidence extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the evidence.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public Evidence setPublisherElement(StringType value) { this.publisher = value; @@ -4442,14 +4442,14 @@ public class Evidence extends MetadataResource { } /** - * @return The name of the organization or individual that published the evidence. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the evidence. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the evidence. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the evidence. */ public Evidence setPublisher(String value) { if (Utilities.noString(value)) @@ -5009,29 +5009,58 @@ public class Evidence extends MetadataResource { } /** - * @return {@link #studyType} (The type of study that produced this evidence.) + * @return {@link #studyDesign} (The design of the study that produced this evidence. The design is described with any number of study design characteristics.) */ - public CodeableConcept getStudyType() { - if (this.studyType == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Evidence.studyType"); - else if (Configuration.doAutoCreate()) - this.studyType = new CodeableConcept(); // cc - return this.studyType; - } - - public boolean hasStudyType() { - return this.studyType != null && !this.studyType.isEmpty(); + public List getStudyDesign() { + if (this.studyDesign == null) + this.studyDesign = new ArrayList(); + return this.studyDesign; } /** - * @param value {@link #studyType} (The type of study that produced this evidence.) + * @return Returns a reference to this for easy method chaining */ - public Evidence setStudyType(CodeableConcept value) { - this.studyType = value; + public Evidence setStudyDesign(List theStudyDesign) { + this.studyDesign = theStudyDesign; return this; } + public boolean hasStudyDesign() { + if (this.studyDesign == null) + return false; + for (CodeableConcept item : this.studyDesign) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addStudyDesign() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.studyDesign == null) + this.studyDesign = new ArrayList(); + this.studyDesign.add(t); + return t; + } + + public Evidence addStudyDesign(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.studyDesign == null) + this.studyDesign = new ArrayList(); + this.studyDesign.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #studyDesign}, creating it if it does not already exist {3} + */ + public CodeableConcept getStudyDesignFirstRep() { + if (getStudyDesign().isEmpty()) { + addStudyDesign(); + } + return getStudyDesign().get(0); + } + /** * @return {@link #statistic} (Values and parameters for a single statistic.) */ @@ -5138,6 +5167,47 @@ public class Evidence extends MetadataResource { return getCertainty().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Evidence setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"Evidence\" does not implement the property \"versionAlgorithm[x]\""); + } + /** * not supported on this implementation */ @@ -5155,23 +5225,23 @@ public class Evidence extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public Evidence setJurisdiction(List theJurisdiction) { - throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); } public boolean hasJurisdiction() { return false; } public CodeableConcept addJurisdiction() { //3 - throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); } public Evidence addJurisdiction(CodeableConcept t) { //3 - throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); } /** * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2} */ public CodeableConcept getJurisdictionFirstRep() { - throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"jurisdiction\""); } /** * not supported on this implementation @@ -5198,16 +5268,16 @@ public class Evidence extends MetadataResource { * @param value {@link #purpose} (Explanation of why this evidence is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value */ public Evidence setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); } public String getPurpose() { - throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); } /** * @param value Explanation of why this evidence is needed and why it has been designed as it has. */ public Evidence setPurpose(String value) { - throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"purpose\""); } /** * not supported on this implementation @@ -5234,16 +5304,52 @@ public class Evidence extends MetadataResource { * @param value {@link #copyright} (A copyright statement relating to the evidence and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public Evidence setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); } public String getCopyright() { - throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); } /** * @param value A copyright statement relating to the evidence and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence. */ public Evidence setCopyright(String value) { - throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"copyright\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public Evidence setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public Evidence setCopyrightLabel(String value) { + throw new Error("The resource type \"Evidence\" does not implement the property \"copyrightLabel\""); } /** * not supported on this implementation @@ -5256,7 +5362,7 @@ public class Evidence extends MetadataResource { * @return {@link #effectivePeriod} (The period during which the evidence content was or is planned to be in active use.) */ public Period getEffectivePeriod() { - throw new Error("The resource type \"Evidence\" does not implement the property \"effectivePeriod\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"effectivePeriod\""); } public boolean hasEffectivePeriod() { return false; @@ -5265,7 +5371,7 @@ public class Evidence extends MetadataResource { * @param value {@link #effectivePeriod} (The period during which the evidence content was or is planned to be in active use.) */ public Evidence setEffectivePeriod(Period value) { - throw new Error("The resource type \"Evidence\" does not implement the property \"effectivePeriod\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"effectivePeriod\""); } /** @@ -5276,7 +5382,7 @@ public class Evidence extends MetadataResource { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the evidence. Topics provide a high-level categorization of the evidence that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the evidence. Topics provide a high-level categorization as well as keywords for the evidence that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -5285,27 +5391,27 @@ public class Evidence extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public Evidence setTopic(List theTopic) { - throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); } public Evidence addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); + throw new Error("The resource type \"Evidence\" does not implement the property \"topic\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this summary when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the summary when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the summary author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the evidence. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -5317,7 +5423,7 @@ public class Evidence extends MetadataResource { children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the evidence.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("author", "ContactDetail", "An individiual, organization, or device primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author)); children.add(new Property("editor", "ContactDetail", "An individiual, organization, or device primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor)); @@ -5329,7 +5435,7 @@ public class Evidence extends MetadataResource { children.add(new Property("note", "Annotation", "Footnotes and/or explanatory notes.", 0, java.lang.Integer.MAX_VALUE, note)); children.add(new Property("variableDefinition", "", "Evidence variable such as population, exposure, or outcome.", 0, java.lang.Integer.MAX_VALUE, variableDefinition)); children.add(new Property("synthesisType", "CodeableConcept", "The method to combine studies.", 0, 1, synthesisType)); - children.add(new Property("studyType", "CodeableConcept", "The type of study that produced this evidence.", 0, 1, studyType)); + children.add(new Property("studyDesign", "CodeableConcept", "The design of the study that produced this evidence. The design is described with any number of study design characteristics.", 0, java.lang.Integer.MAX_VALUE, studyDesign)); children.add(new Property("statistic", "", "Values and parameters for a single statistic.", 0, java.lang.Integer.MAX_VALUE, statistic)); children.add(new Property("certainty", "", "Assessment of certainty, confidence in the estimates, or quality of the evidence.", 0, java.lang.Integer.MAX_VALUE, certainty)); } @@ -5337,7 +5443,7 @@ public class Evidence extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this evidence when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this summary when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the summary when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the summary author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the evidence. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -5352,7 +5458,7 @@ public class Evidence extends MetadataResource { case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the evidence.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual, organization, or device primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author); case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individiual, organization, or device primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor); @@ -5364,7 +5470,7 @@ public class Evidence extends MetadataResource { case 3387378: /*note*/ return new Property("note", "Annotation", "Footnotes and/or explanatory notes.", 0, java.lang.Integer.MAX_VALUE, note); case -1807222545: /*variableDefinition*/ return new Property("variableDefinition", "", "Evidence variable such as population, exposure, or outcome.", 0, java.lang.Integer.MAX_VALUE, variableDefinition); case 672726254: /*synthesisType*/ return new Property("synthesisType", "CodeableConcept", "The method to combine studies.", 0, 1, synthesisType); - case -1955265373: /*studyType*/ return new Property("studyType", "CodeableConcept", "The type of study that produced this evidence.", 0, 1, studyType); + case 1709211879: /*studyDesign*/ return new Property("studyDesign", "CodeableConcept", "The design of the study that produced this evidence. The design is described with any number of study design characteristics.", 0, java.lang.Integer.MAX_VALUE, studyDesign); case -2081261232: /*statistic*/ return new Property("statistic", "", "Values and parameters for a single statistic.", 0, java.lang.Integer.MAX_VALUE, statistic); case -1404142937: /*certainty*/ return new Property("certainty", "", "Assessment of certainty, confidence in the estimates, or quality of the evidence.", 0, java.lang.Integer.MAX_VALUE, certainty); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -5399,7 +5505,7 @@ public class Evidence extends MetadataResource { case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation case -1807222545: /*variableDefinition*/ return this.variableDefinition == null ? new Base[0] : this.variableDefinition.toArray(new Base[this.variableDefinition.size()]); // EvidenceVariableDefinitionComponent case 672726254: /*synthesisType*/ return this.synthesisType == null ? new Base[0] : new Base[] {this.synthesisType}; // CodeableConcept - case -1955265373: /*studyType*/ return this.studyType == null ? new Base[0] : new Base[] {this.studyType}; // CodeableConcept + case 1709211879: /*studyDesign*/ return this.studyDesign == null ? new Base[0] : this.studyDesign.toArray(new Base[this.studyDesign.size()]); // CodeableConcept case -2081261232: /*statistic*/ return this.statistic == null ? new Base[0] : this.statistic.toArray(new Base[this.statistic.size()]); // EvidenceStatisticComponent case -1404142937: /*certainty*/ return this.certainty == null ? new Base[0] : this.certainty.toArray(new Base[this.certainty.size()]); // EvidenceCertaintyComponent default: return super.getProperty(hash, name, checkValid); @@ -5483,8 +5589,8 @@ public class Evidence extends MetadataResource { case 672726254: // synthesisType this.synthesisType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -1955265373: // studyType - this.studyType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 1709211879: // studyDesign + this.getStudyDesign().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case -2081261232: // statistic this.getStatistic().add((EvidenceStatisticComponent) value); // EvidenceStatisticComponent @@ -5548,8 +5654,8 @@ public class Evidence extends MetadataResource { this.getVariableDefinition().add((EvidenceVariableDefinitionComponent) value); } else if (name.equals("synthesisType")) { this.synthesisType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("studyType")) { - this.studyType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("studyDesign")) { + this.getStudyDesign().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("statistic")) { this.getStatistic().add((EvidenceStatisticComponent) value); } else if (name.equals("certainty")) { @@ -5587,7 +5693,7 @@ public class Evidence extends MetadataResource { case 3387378: return addNote(); case -1807222545: return addVariableDefinition(); case 672726254: return getSynthesisType(); - case -1955265373: return getStudyType(); + case 1709211879: return addStudyDesign(); case -2081261232: return addStatistic(); case -1404142937: return addCertainty(); default: return super.makeProperty(hash, name); @@ -5622,7 +5728,7 @@ public class Evidence extends MetadataResource { case 3387378: /*note*/ return new String[] {"Annotation"}; case -1807222545: /*variableDefinition*/ return new String[] {}; case 672726254: /*synthesisType*/ return new String[] {"CodeableConcept"}; - case -1955265373: /*studyType*/ return new String[] {"CodeableConcept"}; + case 1709211879: /*studyDesign*/ return new String[] {"CodeableConcept"}; case -2081261232: /*statistic*/ return new String[] {}; case -1404142937: /*certainty*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -5710,9 +5816,8 @@ public class Evidence extends MetadataResource { this.synthesisType = new CodeableConcept(); return this.synthesisType; } - else if (name.equals("studyType")) { - this.studyType = new CodeableConcept(); - return this.studyType; + else if (name.equals("studyDesign")) { + return addStudyDesign(); } else if (name.equals("statistic")) { return addStatistic(); @@ -5801,7 +5906,11 @@ public class Evidence extends MetadataResource { dst.variableDefinition.add(i.copy()); }; dst.synthesisType = synthesisType == null ? null : synthesisType.copy(); - dst.studyType = studyType == null ? null : studyType.copy(); + if (studyDesign != null) { + dst.studyDesign = new ArrayList(); + for (CodeableConcept i : studyDesign) + dst.studyDesign.add(i.copy()); + }; if (statistic != null) { dst.statistic = new ArrayList(); for (EvidenceStatisticComponent i : statistic) @@ -5834,7 +5943,7 @@ public class Evidence extends MetadataResource { && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(description, o.description, true) && compareDeep(assertion, o.assertion, true) && compareDeep(note, o.note, true) && compareDeep(variableDefinition, o.variableDefinition, true) && compareDeep(synthesisType, o.synthesisType, true) - && compareDeep(studyType, o.studyType, true) && compareDeep(statistic, o.statistic, true) && compareDeep(certainty, o.certainty, true) + && compareDeep(studyDesign, o.studyDesign, true) && compareDeep(statistic, o.statistic, true) && compareDeep(certainty, o.certainty, true) ; } @@ -5856,7 +5965,7 @@ public class Evidence extends MetadataResource { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , name, title, citeAs, status, experimental, date, useContext, approvalDate , lastReviewDate, publisher, contact, author, editor, reviewer, endorser, relatedArtifact - , description, assertion, note, variableDefinition, synthesisType, studyType, statistic + , description, assertion, note, variableDefinition, synthesisType, studyDesign, statistic , certainty); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceReport.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceReport.java index 02f0bfde6..c863dc02a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceReport.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceReport.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2389,10 +2389,10 @@ public class EvidenceReport extends MetadataResource { } /** - * An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this EvidenceReport, represented as a globally unique URI", formalDefinition="An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this EvidenceReport, represented as a globally unique URI", formalDefinition="An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers." ) protected UriType url; /** @@ -2461,10 +2461,10 @@ public class EvidenceReport extends MetadataResource { protected EvidenceReportSubjectComponent subject; /** - * The name of the organization or individual that published the evidence report. + * The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report. */ @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the evidence report." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report." ) protected StringType publisher; /** @@ -2535,7 +2535,7 @@ public class EvidenceReport extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -2555,7 +2555,7 @@ public class EvidenceReport extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public EvidenceReport setUrlElement(UriType value) { this.url = value; @@ -2563,14 +2563,14 @@ public class EvidenceReport extends MetadataResource { } /** - * @return An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * @return An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. + * @param value An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers. */ public EvidenceReport setUrl(String value) { if (Utilities.noString(value)) @@ -2993,7 +2993,7 @@ public class EvidenceReport extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the evidence report.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -3013,7 +3013,7 @@ public class EvidenceReport extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the evidence report.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public EvidenceReport setPublisherElement(StringType value) { this.publisher = value; @@ -3021,14 +3021,14 @@ public class EvidenceReport extends MetadataResource { } /** - * @return The name of the organization or individual that published the evidence report. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the evidence report. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report. */ public EvidenceReport setPublisher(String value) { if (Utilities.noString(value)) @@ -3437,17 +3437,58 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #version} (The identifier that is used to identify this version of the evidence report when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence report author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value */ public EvidenceReport setVersionElement(StringType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"version\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"version\""); } public String getVersion() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"version\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"version\""); } /** * @param value The identifier that is used to identify this version of the evidence report when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence report author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. */ public EvidenceReport setVersion(String value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"version\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"version\""); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public EvidenceReport setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"versionAlgorithm[x]\""); + } + /** * not supported on this implementation */ @@ -3473,16 +3514,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #name} (A natural language name identifying the evidence report. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public EvidenceReport setNameElement(StringType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"name\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"name\""); } public String getName() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"name\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"name\""); } /** * @param value A natural language name identifying the evidence report. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ public EvidenceReport setName(String value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"name\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"name\""); } /** * not supported on this implementation @@ -3509,16 +3550,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #title} (A short, descriptive, user-friendly title for the evidence report.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ public EvidenceReport setTitleElement(StringType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"title\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"title\""); } public String getTitle() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"title\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"title\""); } /** * @param value A short, descriptive, user-friendly title for the evidence report. */ public EvidenceReport setTitle(String value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"title\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"title\""); } /** * not supported on this implementation @@ -3545,16 +3586,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #experimental} (A Boolean value to indicate that this evidence report is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value */ public EvidenceReport setExperimentalElement(BooleanType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"experimental\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"experimental\""); } public boolean getExperimental() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"experimental\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"experimental\""); } /** * @param value A Boolean value to indicate that this evidence report is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ public EvidenceReport setExperimental(boolean value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"experimental\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"experimental\""); } /** * not supported on this implementation @@ -3581,16 +3622,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #date} (The date (and optionally time) when the evidence report was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence report changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ public EvidenceReport setDateElement(DateTimeType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"date\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"date\""); } public Date getDate() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"date\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"date\""); } /** * @param value The date (and optionally time) when the evidence report was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence report changes. */ public EvidenceReport setDate(Date value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"date\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"date\""); } /** * not supported on this implementation @@ -3617,16 +3658,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #description} (A free text natural language description of the evidence report from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public EvidenceReport setDescriptionElement(MarkdownType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"description\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"description\""); } public String getDescription() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"description\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"description\""); } /** * @param value A free text natural language description of the evidence report from a consumer's perspective. */ public EvidenceReport setDescription(String value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"description\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"description\""); } /** * not supported on this implementation @@ -3645,23 +3686,23 @@ public class EvidenceReport extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public EvidenceReport setJurisdiction(List theJurisdiction) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); } public boolean hasJurisdiction() { return false; } public CodeableConcept addJurisdiction() { //3 - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); } public EvidenceReport addJurisdiction(CodeableConcept t) { //3 - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); } /** * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2} */ public CodeableConcept getJurisdictionFirstRep() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"jurisdiction\""); } /** * not supported on this implementation @@ -3688,16 +3729,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #purpose} (Explanation of why this evidence report is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value */ public EvidenceReport setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"purpose\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"purpose\""); } public String getPurpose() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"purpose\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"purpose\""); } /** * @param value Explanation of why this evidence report is needed and why it has been designed as it has. */ public EvidenceReport setPurpose(String value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"purpose\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"purpose\""); } /** * not supported on this implementation @@ -3724,16 +3765,52 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #copyright} (A copyright statement relating to the evidence report and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence report.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public EvidenceReport setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyright\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyright\""); } public String getCopyright() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyright\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyright\""); } /** * @param value A copyright statement relating to the evidence report and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the evidence report. */ public EvidenceReport setCopyright(String value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyright\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyright\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public EvidenceReport setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public EvidenceReport setCopyrightLabel(String value) { + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"copyrightLabel\""); } /** * not supported on this implementation @@ -3760,16 +3837,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value */ public EvidenceReport setApprovalDateElement(DateType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"approvalDate\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"approvalDate\""); } public Date getApprovalDate() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"approvalDate\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"approvalDate\""); } /** * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. */ public EvidenceReport setApprovalDate(Date value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"approvalDate\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"approvalDate\""); } /** * not supported on this implementation @@ -3796,16 +3873,16 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value */ public EvidenceReport setLastReviewDateElement(DateType value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"lastReviewDate\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"lastReviewDate\""); } public Date getLastReviewDate() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"lastReviewDate\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"lastReviewDate\""); } /** * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. */ public EvidenceReport setLastReviewDate(Date value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"lastReviewDate\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"lastReviewDate\""); } /** * not supported on this implementation @@ -3818,7 +3895,7 @@ public class EvidenceReport extends MetadataResource { * @return {@link #effectivePeriod} (The period during which the evidence report content was or is planned to be in active use.) */ public Period getEffectivePeriod() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"effectivePeriod\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"effectivePeriod\""); } public boolean hasEffectivePeriod() { return false; @@ -3827,7 +3904,7 @@ public class EvidenceReport extends MetadataResource { * @param value {@link #effectivePeriod} (The period during which the evidence report content was or is planned to be in active use.) */ public EvidenceReport setEffectivePeriod(Period value) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"effectivePeriod\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"effectivePeriod\""); } /** @@ -3838,7 +3915,7 @@ public class EvidenceReport extends MetadataResource { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the evidence report. Topics provide a high-level categorization of the evidence report that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the evidence report. Topics provide a high-level categorization as well as keywords for the evidence report that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -3847,27 +3924,27 @@ public class EvidenceReport extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public EvidenceReport setTopic(List theTopic) { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); } public EvidenceReport addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceReport\" does not implement the property \"topic\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url)); children.add(new Property("status", "code", "The status of this summary. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence report instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this EvidenceReport when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); @@ -3877,7 +3954,7 @@ public class EvidenceReport extends MetadataResource { children.add(new Property("note", "Annotation", "Used for footnotes and annotations.", 0, java.lang.Integer.MAX_VALUE, note)); children.add(new Property("relatedArtifact", "RelatedArtifact", "Link, description or reference to artifact associated with the report.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); children.add(new Property("subject", "", "Specifies the subject or focus of the report. Answers \"What is this report about?\".", 0, 1, subject)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the evidence report.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("author", "ContactDetail", "An individiual, organization, or device primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author)); children.add(new Property("editor", "ContactDetail", "An individiual, organization, or device primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor)); @@ -3890,7 +3967,7 @@ public class EvidenceReport extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this EvidenceReport when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this summary is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the summary is stored on different servers.", 0, 1, url); case -892481550: /*status*/ return new Property("status", "code", "The status of this summary. Enables tracking the life-cycle of the content.", 0, 1, status); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate evidence report instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this EvidenceReport when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); @@ -3903,7 +3980,7 @@ public class EvidenceReport extends MetadataResource { case 3387378: /*note*/ return new Property("note", "Annotation", "Used for footnotes and annotations.", 0, java.lang.Integer.MAX_VALUE, note); case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Link, description or reference to artifact associated with the report.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); case -1867885268: /*subject*/ return new Property("subject", "", "Specifies the subject or focus of the report. Answers \"What is this report about?\".", 0, 1, subject); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the evidence report.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence report.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual, organization, or device primarily involved in the creation and maintenance of the content.", 0, java.lang.Integer.MAX_VALUE, author); case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individiual, organization, or device primarily responsible for internal coherence of the content.", 0, java.lang.Integer.MAX_VALUE, editor); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceVariable.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceVariable.java index c99c110d0..92269bfa4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceVariable.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/EvidenceVariable.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -229,166 +229,6 @@ public class EvidenceVariable extends MetadataResource { } } - public enum GroupMeasure { - /** - * Aggregated using Mean of participant values. - */ - MEAN, - /** - * Aggregated using Median of participant values. - */ - MEDIAN, - /** - * Aggregated using Mean of study mean values. - */ - MEANOFMEAN, - /** - * Aggregated using Mean of study median values. - */ - MEANOFMEDIAN, - /** - * Aggregated using Median of study mean values. - */ - MEDIANOFMEAN, - /** - * Aggregated using Median of study median values. - */ - MEDIANOFMEDIAN, - /** - * added to help the parsers with the generic types - */ - NULL; - public static GroupMeasure fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("mean".equals(codeString)) - return MEAN; - if ("median".equals(codeString)) - return MEDIAN; - if ("mean-of-mean".equals(codeString)) - return MEANOFMEAN; - if ("mean-of-median".equals(codeString)) - return MEANOFMEDIAN; - if ("median-of-mean".equals(codeString)) - return MEDIANOFMEAN; - if ("median-of-median".equals(codeString)) - return MEDIANOFMEDIAN; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown GroupMeasure code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case MEAN: return "mean"; - case MEDIAN: return "median"; - case MEANOFMEAN: return "mean-of-mean"; - case MEANOFMEDIAN: return "mean-of-median"; - case MEDIANOFMEAN: return "median-of-mean"; - case MEDIANOFMEDIAN: return "median-of-median"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case MEAN: return "http://hl7.org/fhir/group-measure"; - case MEDIAN: return "http://hl7.org/fhir/group-measure"; - case MEANOFMEAN: return "http://hl7.org/fhir/group-measure"; - case MEANOFMEDIAN: return "http://hl7.org/fhir/group-measure"; - case MEDIANOFMEAN: return "http://hl7.org/fhir/group-measure"; - case MEDIANOFMEDIAN: return "http://hl7.org/fhir/group-measure"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case MEAN: return "Aggregated using Mean of participant values."; - case MEDIAN: return "Aggregated using Median of participant values."; - case MEANOFMEAN: return "Aggregated using Mean of study mean values."; - case MEANOFMEDIAN: return "Aggregated using Mean of study median values."; - case MEDIANOFMEAN: return "Aggregated using Median of study mean values."; - case MEDIANOFMEDIAN: return "Aggregated using Median of study median values."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case MEAN: return "Mean"; - case MEDIAN: return "Median"; - case MEANOFMEAN: return "Mean of Study Means"; - case MEANOFMEDIAN: return "Mean of Study Medins"; - case MEDIANOFMEAN: return "Median of Study Means"; - case MEDIANOFMEDIAN: return "Median of Study Medians"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class GroupMeasureEnumFactory implements EnumFactory { - public GroupMeasure fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("mean".equals(codeString)) - return GroupMeasure.MEAN; - if ("median".equals(codeString)) - return GroupMeasure.MEDIAN; - if ("mean-of-mean".equals(codeString)) - return GroupMeasure.MEANOFMEAN; - if ("mean-of-median".equals(codeString)) - return GroupMeasure.MEANOFMEDIAN; - if ("median-of-mean".equals(codeString)) - return GroupMeasure.MEDIANOFMEAN; - if ("median-of-median".equals(codeString)) - return GroupMeasure.MEDIANOFMEDIAN; - throw new IllegalArgumentException("Unknown GroupMeasure code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("mean".equals(codeString)) - return new Enumeration(this, GroupMeasure.MEAN); - if ("median".equals(codeString)) - return new Enumeration(this, GroupMeasure.MEDIAN); - if ("mean-of-mean".equals(codeString)) - return new Enumeration(this, GroupMeasure.MEANOFMEAN); - if ("mean-of-median".equals(codeString)) - return new Enumeration(this, GroupMeasure.MEANOFMEDIAN); - if ("median-of-mean".equals(codeString)) - return new Enumeration(this, GroupMeasure.MEDIANOFMEAN); - if ("median-of-median".equals(codeString)) - return new Enumeration(this, GroupMeasure.MEDIANOFMEDIAN); - throw new FHIRException("Unknown GroupMeasure code '"+codeString+"'"); - } - public String toCode(GroupMeasure code) { - if (code == GroupMeasure.MEAN) - return "mean"; - if (code == GroupMeasure.MEDIAN) - return "median"; - if (code == GroupMeasure.MEANOFMEAN) - return "mean-of-mean"; - if (code == GroupMeasure.MEANOFMEDIAN) - return "mean-of-median"; - if (code == GroupMeasure.MEDIANOFMEAN) - return "median-of-mean"; - if (code == GroupMeasure.MEDIANOFMEDIAN) - return "median-of-median"; - return "?"; - } - public String toSystem(GroupMeasure code) { - return code.getSystem(); - } - } - @Block() public static class EvidenceVariableCharacteristicComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -413,10 +253,10 @@ public class EvidenceVariable extends MetadataResource { protected List note; /** - * When true, members with this characteristic are excluded from the element. + * When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion. */ @Child(name = "exclude", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Whether the characteristic includes or excludes members", formalDefinition="When true, members with this characteristic are excluded from the element." ) + @Description(shortDefinition="Whether the characteristic is an inclusion criterion or exclusion criterion", formalDefinition="When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion." ) protected BooleanType exclude; /** @@ -455,10 +295,10 @@ public class EvidenceVariable extends MetadataResource { protected IdType definitionId; /** - * Defines the characteristic using both a type[x] and value[x] elements. + * Defines the characteristic using both a type and value[x] elements. */ @Child(name = "definitionByTypeAndValue", type = {}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Defines the characteristic using type and value", formalDefinition="Defines the characteristic using both a type[x] and value[x] elements." ) + @Description(shortDefinition="Defines the characteristic using type and value", formalDefinition="Defines the characteristic using both a type and value[x] elements." ) protected EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent definitionByTypeAndValue; /** @@ -468,37 +308,14 @@ public class EvidenceVariable extends MetadataResource { @Description(shortDefinition="Used to specify how two or more characteristics are combined", formalDefinition="Defines the characteristic as a combination of two or more characteristics." ) protected EvidenceVariableCharacteristicDefinitionByCombinationComponent definitionByCombination; - /** - * Method used for describing characteristic. - */ - @Child(name = "method", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Method used for describing characteristic", formalDefinition="Method used for describing characteristic." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/characteristic-method") - protected List method; - - /** - * Device used for determining characteristic. - */ - @Child(name = "device", type = {Device.class, DeviceMetric.class}, order=13, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Device used for determining characteristic", formalDefinition="Device used for determining characteristic." ) - protected Reference device; - /** * Observation time from study specified event. */ - @Child(name = "timeFromEvent", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "timeFromEvent", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Observation time from study specified event", formalDefinition="Observation time from study specified event." ) protected List timeFromEvent; - /** - * Value or set of values that define the grouping. - */ - @Child(name = "groupMeasure", type = {CodeType.class}, order=15, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="mean | median | mean-of-mean | mean-of-median | median-of-mean | median-of-median", formalDefinition="Value or set of values that define the grouping." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/group-measure") - protected Enumeration groupMeasure; - - private static final long serialVersionUID = 2100589620L; + private static final long serialVersionUID = -172205544L; /** * Constructor @@ -659,7 +476,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #exclude} (When true, members with this characteristic are excluded from the element.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value + * @return {@link #exclude} (When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value */ public BooleanType getExcludeElement() { if (this.exclude == null) @@ -679,7 +496,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @param value {@link #exclude} (When true, members with this characteristic are excluded from the element.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value + * @param value {@link #exclude} (When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.). This is the underlying object with id, value and extensions. The accessor "getExclude" gives direct access to the value */ public EvidenceVariableCharacteristicComponent setExcludeElement(BooleanType value) { this.exclude = value; @@ -687,14 +504,14 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return When true, members with this characteristic are excluded from the element. + * @return When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion. */ public boolean getExclude() { return this.exclude == null || this.exclude.isEmpty() ? false : this.exclude.getValue(); } /** - * @param value When true, members with this characteristic are excluded from the element. + * @param value When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion. */ public EvidenceVariableCharacteristicComponent setExclude(boolean value) { if (this.exclude == null) @@ -874,7 +691,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #definitionByTypeAndValue} (Defines the characteristic using both a type[x] and value[x] elements.) + * @return {@link #definitionByTypeAndValue} (Defines the characteristic using both a type and value[x] elements.) */ public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent getDefinitionByTypeAndValue() { if (this.definitionByTypeAndValue == null) @@ -890,7 +707,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @param value {@link #definitionByTypeAndValue} (Defines the characteristic using both a type[x] and value[x] elements.) + * @param value {@link #definitionByTypeAndValue} (Defines the characteristic using both a type and value[x] elements.) */ public EvidenceVariableCharacteristicComponent setDefinitionByTypeAndValue(EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent value) { this.definitionByTypeAndValue = value; @@ -921,83 +738,6 @@ public class EvidenceVariable extends MetadataResource { return this; } - /** - * @return {@link #method} (Method used for describing characteristic.) - */ - public List getMethod() { - if (this.method == null) - this.method = new ArrayList(); - return this.method; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public EvidenceVariableCharacteristicComponent setMethod(List theMethod) { - this.method = theMethod; - return this; - } - - public boolean hasMethod() { - if (this.method == null) - return false; - for (CodeableConcept item : this.method) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addMethod() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.method == null) - this.method = new ArrayList(); - this.method.add(t); - return t; - } - - public EvidenceVariableCharacteristicComponent addMethod(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.method == null) - this.method = new ArrayList(); - this.method.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #method}, creating it if it does not already exist {3} - */ - public CodeableConcept getMethodFirstRep() { - if (getMethod().isEmpty()) { - addMethod(); - } - return getMethod().get(0); - } - - /** - * @return {@link #device} (Device used for determining characteristic.) - */ - public Reference getDevice() { - if (this.device == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.device"); - else if (Configuration.doAutoCreate()) - this.device = new Reference(); // cc - return this.device; - } - - public boolean hasDevice() { - return this.device != null && !this.device.isEmpty(); - } - - /** - * @param value {@link #device} (Device used for determining characteristic.) - */ - public EvidenceVariableCharacteristicComponent setDevice(Reference value) { - this.device = value; - return this; - } - /** * @return {@link #timeFromEvent} (Observation time from study specified event.) */ @@ -1051,72 +791,20 @@ public class EvidenceVariable extends MetadataResource { return getTimeFromEvent().get(0); } - /** - * @return {@link #groupMeasure} (Value or set of values that define the grouping.). This is the underlying object with id, value and extensions. The accessor "getGroupMeasure" gives direct access to the value - */ - public Enumeration getGroupMeasureElement() { - if (this.groupMeasure == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create EvidenceVariableCharacteristicComponent.groupMeasure"); - else if (Configuration.doAutoCreate()) - this.groupMeasure = new Enumeration(new GroupMeasureEnumFactory()); // bb - return this.groupMeasure; - } - - public boolean hasGroupMeasureElement() { - return this.groupMeasure != null && !this.groupMeasure.isEmpty(); - } - - public boolean hasGroupMeasure() { - return this.groupMeasure != null && !this.groupMeasure.isEmpty(); - } - - /** - * @param value {@link #groupMeasure} (Value or set of values that define the grouping.). This is the underlying object with id, value and extensions. The accessor "getGroupMeasure" gives direct access to the value - */ - public EvidenceVariableCharacteristicComponent setGroupMeasureElement(Enumeration value) { - this.groupMeasure = value; - return this; - } - - /** - * @return Value or set of values that define the grouping. - */ - public GroupMeasure getGroupMeasure() { - return this.groupMeasure == null ? null : this.groupMeasure.getValue(); - } - - /** - * @param value Value or set of values that define the grouping. - */ - public EvidenceVariableCharacteristicComponent setGroupMeasure(GroupMeasure value) { - if (value == null) - this.groupMeasure = null; - else { - if (this.groupMeasure == null) - this.groupMeasure = new Enumeration(new GroupMeasureEnumFactory()); - this.groupMeasure.setValue(value); - } - return this; - } - protected void listChildren(List children) { super.listChildren(children); children.add(new Property("linkId", "id", "Label used for when a characteristic refers to another characteristic.", 0, 1, linkId)); children.add(new Property("description", "string", "A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.", 0, 1, description)); children.add(new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the characteristic.", 0, java.lang.Integer.MAX_VALUE, note)); - children.add(new Property("exclude", "boolean", "When true, members with this characteristic are excluded from the element.", 0, 1, exclude)); + children.add(new Property("exclude", "boolean", "When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.", 0, 1, exclude)); children.add(new Property("definitionReference", "Reference(EvidenceVariable|Group|Evidence)", "Defines the characteristic using a Reference.", 0, 1, definitionReference)); - children.add(new Property("definitionCanonical", "canonical(EvidenceVariable|Group|Evidence)", "Defines the characteristic using Canonical.", 0, 1, definitionCanonical)); + children.add(new Property("definitionCanonical", "canonical(EvidenceVariable|Evidence)", "Defines the characteristic using Canonical.", 0, 1, definitionCanonical)); children.add(new Property("definitionCodeableConcept", "CodeableConcept", "Defines the characteristic using CodeableConcept.", 0, 1, definitionCodeableConcept)); children.add(new Property("definitionExpression", "Expression", "Defines the characteristic using Expression.", 0, 1, definitionExpression)); children.add(new Property("definitionId", "id", "Defines the characteristic using id.", 0, 1, definitionId)); - children.add(new Property("definitionByTypeAndValue", "", "Defines the characteristic using both a type[x] and value[x] elements.", 0, 1, definitionByTypeAndValue)); + children.add(new Property("definitionByTypeAndValue", "", "Defines the characteristic using both a type and value[x] elements.", 0, 1, definitionByTypeAndValue)); children.add(new Property("definitionByCombination", "", "Defines the characteristic as a combination of two or more characteristics.", 0, 1, definitionByCombination)); - children.add(new Property("method", "CodeableConcept", "Method used for describing characteristic.", 0, java.lang.Integer.MAX_VALUE, method)); - children.add(new Property("device", "Reference(Device|DeviceMetric)", "Device used for determining characteristic.", 0, 1, device)); children.add(new Property("timeFromEvent", "", "Observation time from study specified event.", 0, java.lang.Integer.MAX_VALUE, timeFromEvent)); - children.add(new Property("groupMeasure", "code", "Value or set of values that define the grouping.", 0, 1, groupMeasure)); } @Override @@ -1125,18 +813,15 @@ public class EvidenceVariable extends MetadataResource { case -1102667083: /*linkId*/ return new Property("linkId", "id", "Label used for when a characteristic refers to another characteristic.", 0, 1, linkId); case -1724546052: /*description*/ return new Property("description", "string", "A short, natural language description of the characteristic that could be used to communicate the criteria to an end-user.", 0, 1, description); case 3387378: /*note*/ return new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the characteristic.", 0, java.lang.Integer.MAX_VALUE, note); - case -1321148966: /*exclude*/ return new Property("exclude", "boolean", "When true, members with this characteristic are excluded from the element.", 0, 1, exclude); + case -1321148966: /*exclude*/ return new Property("exclude", "boolean", "When true, this characteristic is an exclusion criterion. In other words, not matching this characteristic definition is equivalent to meeting this criterion.", 0, 1, exclude); case -820021448: /*definitionReference*/ return new Property("definitionReference", "Reference(EvidenceVariable|Group|Evidence)", "Defines the characteristic using a Reference.", 0, 1, definitionReference); - case 933485793: /*definitionCanonical*/ return new Property("definitionCanonical", "canonical(EvidenceVariable|Group|Evidence)", "Defines the characteristic using Canonical.", 0, 1, definitionCanonical); + case 933485793: /*definitionCanonical*/ return new Property("definitionCanonical", "canonical(EvidenceVariable|Evidence)", "Defines the characteristic using Canonical.", 0, 1, definitionCanonical); case -1446002226: /*definitionCodeableConcept*/ return new Property("definitionCodeableConcept", "CodeableConcept", "Defines the characteristic using CodeableConcept.", 0, 1, definitionCodeableConcept); case 1463703627: /*definitionExpression*/ return new Property("definitionExpression", "Expression", "Defines the characteristic using Expression.", 0, 1, definitionExpression); case 101791182: /*definitionId*/ return new Property("definitionId", "id", "Defines the characteristic using id.", 0, 1, definitionId); - case -164357794: /*definitionByTypeAndValue*/ return new Property("definitionByTypeAndValue", "", "Defines the characteristic using both a type[x] and value[x] elements.", 0, 1, definitionByTypeAndValue); + case -164357794: /*definitionByTypeAndValue*/ return new Property("definitionByTypeAndValue", "", "Defines the characteristic using both a type and value[x] elements.", 0, 1, definitionByTypeAndValue); case -2043280539: /*definitionByCombination*/ return new Property("definitionByCombination", "", "Defines the characteristic as a combination of two or more characteristics.", 0, 1, definitionByCombination); - case -1077554975: /*method*/ return new Property("method", "CodeableConcept", "Method used for describing characteristic.", 0, java.lang.Integer.MAX_VALUE, method); - case -1335157162: /*device*/ return new Property("device", "Reference(Device|DeviceMetric)", "Device used for determining characteristic.", 0, 1, device); case 2087274691: /*timeFromEvent*/ return new Property("timeFromEvent", "", "Observation time from study specified event.", 0, java.lang.Integer.MAX_VALUE, timeFromEvent); - case 588892639: /*groupMeasure*/ return new Property("groupMeasure", "code", "Value or set of values that define the grouping.", 0, 1, groupMeasure); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1156,10 +841,7 @@ public class EvidenceVariable extends MetadataResource { case 101791182: /*definitionId*/ return this.definitionId == null ? new Base[0] : new Base[] {this.definitionId}; // IdType case -164357794: /*definitionByTypeAndValue*/ return this.definitionByTypeAndValue == null ? new Base[0] : new Base[] {this.definitionByTypeAndValue}; // EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent case -2043280539: /*definitionByCombination*/ return this.definitionByCombination == null ? new Base[0] : new Base[] {this.definitionByCombination}; // EvidenceVariableCharacteristicDefinitionByCombinationComponent - case -1077554975: /*method*/ return this.method == null ? new Base[0] : this.method.toArray(new Base[this.method.size()]); // CodeableConcept - case -1335157162: /*device*/ return this.device == null ? new Base[0] : new Base[] {this.device}; // Reference case 2087274691: /*timeFromEvent*/ return this.timeFromEvent == null ? new Base[0] : this.timeFromEvent.toArray(new Base[this.timeFromEvent.size()]); // EvidenceVariableCharacteristicTimeFromEventComponent - case 588892639: /*groupMeasure*/ return this.groupMeasure == null ? new Base[0] : new Base[] {this.groupMeasure}; // Enumeration default: return super.getProperty(hash, name, checkValid); } @@ -1201,19 +883,9 @@ public class EvidenceVariable extends MetadataResource { case -2043280539: // definitionByCombination this.definitionByCombination = (EvidenceVariableCharacteristicDefinitionByCombinationComponent) value; // EvidenceVariableCharacteristicDefinitionByCombinationComponent return value; - case -1077554975: // method - this.getMethod().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - case -1335157162: // device - this.device = TypeConvertor.castToReference(value); // Reference - return value; case 2087274691: // timeFromEvent this.getTimeFromEvent().add((EvidenceVariableCharacteristicTimeFromEventComponent) value); // EvidenceVariableCharacteristicTimeFromEventComponent return value; - case 588892639: // groupMeasure - value = new GroupMeasureEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.groupMeasure = (Enumeration) value; // Enumeration - return value; default: return super.setProperty(hash, name, value); } @@ -1243,15 +915,8 @@ public class EvidenceVariable extends MetadataResource { this.definitionByTypeAndValue = (EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent) value; // EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent } else if (name.equals("definitionByCombination")) { this.definitionByCombination = (EvidenceVariableCharacteristicDefinitionByCombinationComponent) value; // EvidenceVariableCharacteristicDefinitionByCombinationComponent - } else if (name.equals("method")) { - this.getMethod().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("device")) { - this.device = TypeConvertor.castToReference(value); // Reference } else if (name.equals("timeFromEvent")) { this.getTimeFromEvent().add((EvidenceVariableCharacteristicTimeFromEventComponent) value); - } else if (name.equals("groupMeasure")) { - value = new GroupMeasureEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.groupMeasure = (Enumeration) value; // Enumeration } else return super.setProperty(name, value); return value; @@ -1271,10 +936,7 @@ public class EvidenceVariable extends MetadataResource { case 101791182: return getDefinitionIdElement(); case -164357794: return getDefinitionByTypeAndValue(); case -2043280539: return getDefinitionByCombination(); - case -1077554975: return addMethod(); - case -1335157162: return getDevice(); case 2087274691: return addTimeFromEvent(); - case 588892639: return getGroupMeasureElement(); default: return super.makeProperty(hash, name); } @@ -1294,10 +956,7 @@ public class EvidenceVariable extends MetadataResource { case 101791182: /*definitionId*/ return new String[] {"id"}; case -164357794: /*definitionByTypeAndValue*/ return new String[] {}; case -2043280539: /*definitionByCombination*/ return new String[] {}; - case -1077554975: /*method*/ return new String[] {"CodeableConcept"}; - case -1335157162: /*device*/ return new String[] {"Reference"}; case 2087274691: /*timeFromEvent*/ return new String[] {}; - case 588892639: /*groupMeasure*/ return new String[] {"code"}; default: return super.getTypesForProperty(hash, name); } @@ -1343,19 +1002,9 @@ public class EvidenceVariable extends MetadataResource { this.definitionByCombination = new EvidenceVariableCharacteristicDefinitionByCombinationComponent(); return this.definitionByCombination; } - else if (name.equals("method")) { - return addMethod(); - } - else if (name.equals("device")) { - this.device = new Reference(); - return this.device; - } else if (name.equals("timeFromEvent")) { return addTimeFromEvent(); } - else if (name.equals("groupMeasure")) { - throw new FHIRException("Cannot call addChild on a primitive type EvidenceVariable.characteristic.groupMeasure"); - } else return super.addChild(name); } @@ -1383,18 +1032,11 @@ public class EvidenceVariable extends MetadataResource { dst.definitionId = definitionId == null ? null : definitionId.copy(); dst.definitionByTypeAndValue = definitionByTypeAndValue == null ? null : definitionByTypeAndValue.copy(); dst.definitionByCombination = definitionByCombination == null ? null : definitionByCombination.copy(); - if (method != null) { - dst.method = new ArrayList(); - for (CodeableConcept i : method) - dst.method.add(i.copy()); - }; - dst.device = device == null ? null : device.copy(); if (timeFromEvent != null) { dst.timeFromEvent = new ArrayList(); for (EvidenceVariableCharacteristicTimeFromEventComponent i : timeFromEvent) dst.timeFromEvent.add(i.copy()); }; - dst.groupMeasure = groupMeasure == null ? null : groupMeasure.copy(); } @Override @@ -1409,8 +1051,7 @@ public class EvidenceVariable extends MetadataResource { && compareDeep(definitionCanonical, o.definitionCanonical, true) && compareDeep(definitionCodeableConcept, o.definitionCodeableConcept, true) && compareDeep(definitionExpression, o.definitionExpression, true) && compareDeep(definitionId, o.definitionId, true) && compareDeep(definitionByTypeAndValue, o.definitionByTypeAndValue, true) && compareDeep(definitionByCombination, o.definitionByCombination, true) - && compareDeep(method, o.method, true) && compareDeep(device, o.device, true) && compareDeep(timeFromEvent, o.timeFromEvent, true) - && compareDeep(groupMeasure, o.groupMeasure, true); + && compareDeep(timeFromEvent, o.timeFromEvent, true); } @Override @@ -1422,14 +1063,13 @@ public class EvidenceVariable extends MetadataResource { EvidenceVariableCharacteristicComponent o = (EvidenceVariableCharacteristicComponent) other_; return compareValues(linkId, o.linkId, true) && compareValues(description, o.description, true) && compareValues(exclude, o.exclude, true) && compareValues(definitionCanonical, o.definitionCanonical, true) && compareValues(definitionId, o.definitionId, true) - && compareValues(groupMeasure, o.groupMeasure, true); + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(linkId, description, note , exclude, definitionReference, definitionCanonical, definitionCodeableConcept, definitionExpression - , definitionId, definitionByTypeAndValue, definitionByCombination, method, device - , timeFromEvent, groupMeasure); + , definitionId, definitionByTypeAndValue, definitionByCombination, timeFromEvent); } public String fhirType() { @@ -1444,27 +1084,42 @@ public class EvidenceVariable extends MetadataResource { /** * Used to express the type of characteristic. */ - @Child(name = "type", type = {CodeableConcept.class, EvidenceVariable.class, IdType.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Expresses the type of characteristic", formalDefinition="Used to express the type of characteristic." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/usage-context-type") - protected DataType type; + protected CodeableConcept type; /** - * Defines the characteristic when paired with characteristic.type[x]. + * Method for how the characteristic value was determined. */ - @Child(name = "value", type = {CodeableConcept.class, BooleanType.class, Quantity.class, Range.class, Reference.class, IdType.class}, order=2, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Defines the characteristic when coupled with characteristic.type[x]", formalDefinition="Defines the characteristic when paired with characteristic.type[x]." ) + @Child(name = "method", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Method for how the characteristic value was determined", formalDefinition="Method for how the characteristic value was determined." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-method") + protected List method; + + /** + * Device used for determining characteristic. + */ + @Child(name = "device", type = {Device.class, DeviceMetric.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Device used for determining characteristic", formalDefinition="Device used for determining characteristic." ) + protected Reference device; + + /** + * Defines the characteristic when paired with characteristic.type. + */ + @Child(name = "value", type = {CodeableConcept.class, BooleanType.class, Quantity.class, Range.class, Reference.class, IdType.class}, order=4, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Defines the characteristic when coupled with characteristic.type", formalDefinition="Defines the characteristic when paired with characteristic.type." ) protected DataType value; /** * Defines the reference point for comparison when valueQuantity is not compared to zero. */ - @Child(name = "offset", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "offset", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reference point for valueQuantity", formalDefinition="Defines the reference point for comparison when valueQuantity is not compared to zero." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/characteristic-offset") protected CodeableConcept offset; - private static final long serialVersionUID = 920507767L; + private static final long serialVersionUID = -498341653L; /** * Constructor @@ -1476,7 +1131,7 @@ public class EvidenceVariable extends MetadataResource { /** * Constructor */ - public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(DataType type, DataType value) { + public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent(CodeableConcept type, DataType value) { super(); this.setType(type); this.setValue(value); @@ -1485,55 +1140,15 @@ public class EvidenceVariable extends MetadataResource { /** * @return {@link #type} (Used to express the type of characteristic.) */ - public DataType getType() { + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc return this.type; } - /** - * @return {@link #type} (Used to express the type of characteristic.) - */ - public CodeableConcept getTypeCodeableConcept() throws FHIRException { - if (this.type == null) - this.type = new CodeableConcept(); - if (!(this.type instanceof CodeableConcept)) - throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.type.getClass().getName()+" was encountered"); - return (CodeableConcept) this.type; - } - - public boolean hasTypeCodeableConcept() { - return this != null && this.type instanceof CodeableConcept; - } - - /** - * @return {@link #type} (Used to express the type of characteristic.) - */ - public Reference getTypeReference() throws FHIRException { - if (this.type == null) - this.type = new Reference(); - if (!(this.type instanceof Reference)) - throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.type.getClass().getName()+" was encountered"); - return (Reference) this.type; - } - - public boolean hasTypeReference() { - return this != null && this.type instanceof Reference; - } - - /** - * @return {@link #type} (Used to express the type of characteristic.) - */ - public IdType getTypeIdType() throws FHIRException { - if (this.type == null) - this.type = new IdType(); - if (!(this.type instanceof IdType)) - throw new FHIRException("Type mismatch: the type IdType was expected, but "+this.type.getClass().getName()+" was encountered"); - return (IdType) this.type; - } - - public boolean hasTypeIdType() { - return this != null && this.type instanceof IdType; - } - public boolean hasType() { return this.type != null && !this.type.isEmpty(); } @@ -1541,22 +1156,97 @@ public class EvidenceVariable extends MetadataResource { /** * @param value {@link #type} (Used to express the type of characteristic.) */ - public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setType(DataType value) { - if (value != null && !(value instanceof CodeableConcept || value instanceof Reference || value instanceof IdType)) - throw new Error("Not the right type for EvidenceVariable.characteristic.definitionByTypeAndValue.type[x]: "+value.fhirType()); + public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setType(CodeableConcept value) { this.type = value; return this; } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #method} (Method for how the characteristic value was determined.) + */ + public List getMethod() { + if (this.method == null) + this.method = new ArrayList(); + return this.method; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setMethod(List theMethod) { + this.method = theMethod; + return this; + } + + public boolean hasMethod() { + if (this.method == null) + return false; + for (CodeableConcept item : this.method) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addMethod() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.method == null) + this.method = new ArrayList(); + this.method.add(t); + return t; + } + + public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent addMethod(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.method == null) + this.method = new ArrayList(); + this.method.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #method}, creating it if it does not already exist {3} + */ + public CodeableConcept getMethodFirstRep() { + if (getMethod().isEmpty()) { + addMethod(); + } + return getMethod().get(0); + } + + /** + * @return {@link #device} (Device used for determining characteristic.) + */ + public Reference getDevice() { + if (this.device == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent.device"); + else if (Configuration.doAutoCreate()) + this.device = new Reference(); // cc + return this.device; + } + + public boolean hasDevice() { + return this.device != null && !this.device.isEmpty(); + } + + /** + * @param value {@link #device} (Device used for determining characteristic.) + */ + public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setDevice(Reference value) { + this.device = value; + return this; + } + + /** + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public DataType getValue() { return this.value; } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public CodeableConcept getValueCodeableConcept() throws FHIRException { if (this.value == null) @@ -1571,7 +1261,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public BooleanType getValueBooleanType() throws FHIRException { if (this.value == null) @@ -1586,7 +1276,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public Quantity getValueQuantity() throws FHIRException { if (this.value == null) @@ -1601,7 +1291,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public Range getValueRange() throws FHIRException { if (this.value == null) @@ -1616,7 +1306,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public Reference getValueReference() throws FHIRException { if (this.value == null) @@ -1631,7 +1321,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @return {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public IdType getValueIdType() throws FHIRException { if (this.value == null) @@ -1650,7 +1340,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @param value {@link #value} (Defines the characteristic when paired with characteristic.type[x].) + * @param value {@link #value} (Defines the characteristic when paired with characteristic.type.) */ public EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent setValue(DataType value) { if (value != null && !(value instanceof CodeableConcept || value instanceof BooleanType || value instanceof Quantity || value instanceof Range || value instanceof Reference || value instanceof IdType)) @@ -1685,27 +1375,27 @@ public class EvidenceVariable extends MetadataResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("type[x]", "CodeableConcept|Reference(EvidenceVariable)|id", "Used to express the type of characteristic.", 0, 1, type)); - children.add(new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value)); + children.add(new Property("type", "CodeableConcept", "Used to express the type of characteristic.", 0, 1, type)); + children.add(new Property("method", "CodeableConcept", "Method for how the characteristic value was determined.", 0, java.lang.Integer.MAX_VALUE, method)); + children.add(new Property("device", "Reference(Device|DeviceMetric)", "Device used for determining characteristic.", 0, 1, device)); + children.add(new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value)); children.add(new Property("offset", "CodeableConcept", "Defines the reference point for comparison when valueQuantity is not compared to zero.", 0, 1, offset)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -853093626: /*type[x]*/ return new Property("type[x]", "CodeableConcept|Reference(EvidenceVariable)|id", "Used to express the type of characteristic.", 0, 1, type); - case 3575610: /*type*/ return new Property("type[x]", "CodeableConcept|Reference(EvidenceVariable)|id", "Used to express the type of characteristic.", 0, 1, type); - case 507804935: /*typeCodeableConcept*/ return new Property("type[x]", "CodeableConcept", "Used to express the type of characteristic.", 0, 1, type); - case 2074825009: /*typeReference*/ return new Property("type[x]", "Reference(EvidenceVariable)", "Used to express the type of characteristic.", 0, 1, type); - case -858803723: /*typeId*/ return new Property("type[x]", "id", "Used to express the type of characteristic.", 0, 1, type); - case -1410166417: /*value[x]*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case 924902896: /*valueCodeableConcept*/ return new Property("value[x]", "CodeableConcept", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case 2030761548: /*valueRange*/ return new Property("value[x]", "Range", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case 1755241690: /*valueReference*/ return new Property("value[x]", "Reference", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); - case 231604844: /*valueId*/ return new Property("value[x]", "id", "Defines the characteristic when paired with characteristic.type[x].", 0, 1, value); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Used to express the type of characteristic.", 0, 1, type); + case -1077554975: /*method*/ return new Property("method", "CodeableConcept", "Method for how the characteristic value was determined.", 0, java.lang.Integer.MAX_VALUE, method); + case -1335157162: /*device*/ return new Property("device", "Reference(Device|DeviceMetric)", "Device used for determining characteristic.", 0, 1, device); + case -1410166417: /*value[x]*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "CodeableConcept|boolean|Quantity|Range|Reference|id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case 924902896: /*valueCodeableConcept*/ return new Property("value[x]", "CodeableConcept", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case 2030761548: /*valueRange*/ return new Property("value[x]", "Range", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case 1755241690: /*valueReference*/ return new Property("value[x]", "Reference", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); + case 231604844: /*valueId*/ return new Property("value[x]", "id", "Defines the characteristic when paired with characteristic.type.", 0, 1, value); case -1019779949: /*offset*/ return new Property("offset", "CodeableConcept", "Defines the reference point for comparison when valueQuantity is not compared to zero.", 0, 1, offset); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1715,7 +1405,9 @@ public class EvidenceVariable extends MetadataResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // DataType + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case -1077554975: /*method*/ return this.method == null ? new Base[0] : this.method.toArray(new Base[this.method.size()]); // CodeableConcept + case -1335157162: /*device*/ return this.device == null ? new Base[0] : new Base[] {this.device}; // Reference case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); @@ -1727,7 +1419,13 @@ public class EvidenceVariable extends MetadataResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3575610: // type - this.type = TypeConvertor.castToType(value); // DataType + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1077554975: // method + this.getMethod().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1335157162: // device + this.device = TypeConvertor.castToReference(value); // Reference return value; case 111972721: // value this.value = TypeConvertor.castToType(value); // DataType @@ -1742,8 +1440,12 @@ public class EvidenceVariable extends MetadataResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("type[x]")) { - this.type = TypeConvertor.castToType(value); // DataType + if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("method")) { + this.getMethod().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("device")) { + this.device = TypeConvertor.castToReference(value); // Reference } else if (name.equals("value[x]")) { this.value = TypeConvertor.castToType(value); // DataType } else if (name.equals("offset")) { @@ -1756,8 +1458,9 @@ public class EvidenceVariable extends MetadataResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -853093626: return getType(); case 3575610: return getType(); + case -1077554975: return addMethod(); + case -1335157162: return getDevice(); case -1410166417: return getValue(); case 111972721: return getValue(); case -1019779949: return getOffset(); @@ -1769,7 +1472,9 @@ public class EvidenceVariable extends MetadataResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return new String[] {"CodeableConcept", "Reference", "id"}; + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case -1077554975: /*method*/ return new String[] {"CodeableConcept"}; + case -1335157162: /*device*/ return new String[] {"Reference"}; case 111972721: /*value*/ return new String[] {"CodeableConcept", "boolean", "Quantity", "Range", "Reference", "id"}; case -1019779949: /*offset*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); @@ -1779,17 +1484,16 @@ public class EvidenceVariable extends MetadataResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("typeCodeableConcept")) { + if (name.equals("type")) { this.type = new CodeableConcept(); return this.type; } - else if (name.equals("typeReference")) { - this.type = new Reference(); - return this.type; + else if (name.equals("method")) { + return addMethod(); } - else if (name.equals("typeId")) { - this.type = new IdType(); - return this.type; + else if (name.equals("device")) { + this.device = new Reference(); + return this.device; } else if (name.equals("valueCodeableConcept")) { this.value = new CodeableConcept(); @@ -1832,6 +1536,12 @@ public class EvidenceVariable extends MetadataResource { public void copyValues(EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent dst) { super.copyValues(dst); dst.type = type == null ? null : type.copy(); + if (method != null) { + dst.method = new ArrayList(); + for (CodeableConcept i : method) + dst.method.add(i.copy()); + }; + dst.device = device == null ? null : device.copy(); dst.value = value == null ? null : value.copy(); dst.offset = offset == null ? null : offset.copy(); } @@ -1843,8 +1553,8 @@ public class EvidenceVariable extends MetadataResource { if (!(other_ instanceof EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent)) return false; EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent o = (EvidenceVariableCharacteristicDefinitionByTypeAndValueComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(value, o.value, true) && compareDeep(offset, o.offset, true) - ; + return compareDeep(type, o.type, true) && compareDeep(method, o.method, true) && compareDeep(device, o.device, true) + && compareDeep(value, o.value, true) && compareDeep(offset, o.offset, true); } @Override @@ -1858,7 +1568,8 @@ public class EvidenceVariable extends MetadataResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, value, offset); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, method, device, value + , offset); } public String fhirType() { @@ -2955,10 +2666,10 @@ public class EvidenceVariable extends MetadataResource { } /** - * An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. + * An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this evidence variable, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this evidence variable, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers." ) protected UriType url; /** @@ -3026,10 +2737,10 @@ public class EvidenceVariable extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the evidence variable. + * The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable. */ @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the evidence variable." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable." ) protected StringType publisher; /** @@ -3170,7 +2881,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -3190,7 +2901,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public EvidenceVariable setUrlElement(UriType value) { this.url = value; @@ -3198,14 +2909,14 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. + * @return An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. + * @param value An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers. */ public EvidenceVariable setUrl(String value) { if (Utilities.noString(value)) @@ -3656,7 +3367,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -3676,7 +3387,7 @@ public class EvidenceVariable extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public EvidenceVariable setPublisherElement(StringType value) { this.publisher = value; @@ -3684,14 +3395,14 @@ public class EvidenceVariable extends MetadataResource { } /** - * @return The name of the organization or individual that published the evidence variable. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the evidence variable. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable. */ public EvidenceVariable setPublisher(String value) { if (Utilities.noString(value)) @@ -4548,6 +4259,47 @@ public class EvidenceVariable extends MetadataResource { return getCategory().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public EvidenceVariable setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"versionAlgorithm[x]\""); + } + /** * not supported on this implementation */ @@ -4565,23 +4317,23 @@ public class EvidenceVariable extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public EvidenceVariable setJurisdiction(List theJurisdiction) { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); } public boolean hasJurisdiction() { return false; } public CodeableConcept addJurisdiction() { //3 - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); } public EvidenceVariable addJurisdiction(CodeableConcept t) { //3 - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); } /** * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {2} */ public CodeableConcept getJurisdictionFirstRep() { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"jurisdiction\""); } /** * not supported on this implementation @@ -4608,16 +4360,52 @@ public class EvidenceVariable extends MetadataResource { * @param value {@link #purpose} (Explanation of why this evidence variable is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value */ public EvidenceVariable setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"purpose\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"purpose\""); } public String getPurpose() { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"purpose\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"purpose\""); } /** * @param value Explanation of why this evidence variable is needed and why it has been designed as it has. */ public EvidenceVariable setPurpose(String value) { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"purpose\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"purpose\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public EvidenceVariable setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public EvidenceVariable setCopyrightLabel(String value) { + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"copyrightLabel\""); } /** * not supported on this implementation @@ -4627,7 +4415,7 @@ public class EvidenceVariable extends MetadataResource { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the evidence variable. Topics provide a high-level categorization of the evidence variable that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the evidence variable. Topics provide a high-level categorization as well as keywords for the evidence variable that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -4636,27 +4424,27 @@ public class EvidenceVariable extends MetadataResource { * @return Returns a reference to this for easy method chaining */ public EvidenceVariable setTopic(List theTopic) { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); } public EvidenceVariable addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); + throw new Error("The resource type \"EvidenceVariable\" does not implement the property \"topic\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -4666,7 +4454,7 @@ public class EvidenceVariable extends MetadataResource { children.add(new Property("status", "code", "The status of this evidence variable. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the evidence variable.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the evidence variable from a consumer's perspective.", 0, 1, description)); children.add(new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the resource.", 0, java.lang.Integer.MAX_VALUE, note)); @@ -4689,7 +4477,7 @@ public class EvidenceVariable extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this evidence variable when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this evidence variable is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the evidence variable is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this evidence variable when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the evidence variable when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the evidence variable author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the evidence variable. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -4699,7 +4487,7 @@ public class EvidenceVariable extends MetadataResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this evidence variable. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this resource is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the evidence variable was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the evidence variable changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the evidence variable.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the evidence variable.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the evidence variable from a consumer's perspective.", 0, 1, description); case 3387378: /*note*/ return new Property("note", "Annotation", "A human-readable string to clarify or explain concepts about the resource.", 0, java.lang.Integer.MAX_VALUE, note); @@ -5227,7 +5015,7 @@ public class EvidenceVariable extends MetadataResource { * Path: EvidenceVariable.relatedArtifact.where(type='composed-of').resource
*

*/ - @SearchParamDefinition(name="composed-of", path="EvidenceVariable.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="composed-of", path="EvidenceVariable.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_COMPOSED_OF = "composed-of"; /** * Fluent Client search parameter constant for composed-of @@ -5373,7 +5161,7 @@ public class EvidenceVariable extends MetadataResource { * Path: EvidenceVariable.relatedArtifact.where(type='depends-on').resource
*

*/ - @SearchParamDefinition(name="depends-on", path="EvidenceVariable.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="depends-on", path="EvidenceVariable.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DEPENDS_ON = "depends-on"; /** * Fluent Client search parameter constant for depends-on @@ -5399,7 +5187,7 @@ public class EvidenceVariable extends MetadataResource { * Path: EvidenceVariable.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="derived-from", path="EvidenceVariable.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="derived-from", path="EvidenceVariable.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -5485,7 +5273,7 @@ public class EvidenceVariable extends MetadataResource { * Path: EvidenceVariable.relatedArtifact.where(type='predecessor').resource
*

*/ - @SearchParamDefinition(name="predecessor", path="EvidenceVariable.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="predecessor", path="EvidenceVariable.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PREDECESSOR = "predecessor"; /** * Fluent Client search parameter constant for predecessor @@ -5551,7 +5339,7 @@ public class EvidenceVariable extends MetadataResource { * Path: EvidenceVariable.relatedArtifact.where(type='successor').resource
*

*/ - @SearchParamDefinition(name="successor", path="EvidenceVariable.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="successor", path="EvidenceVariable.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUCCESSOR = "successor"; /** * Fluent Client search parameter constant for successor diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExampleScenario.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExampleScenario.java index 413582cd4..eb7aa22a5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExampleScenario.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExampleScenario.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,139 +48,43 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Example of workflow instance. + * A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time. */ @ResourceDef(name="ExampleScenario", profile="http://hl7.org/fhir/StructureDefinition/ExampleScenario") public class ExampleScenario extends CanonicalResource { - public enum ExampleScenarioActorType { - /** - * A person. - */ - PERSON, - /** - * A system. - */ - ENTITY, - /** - * added to help the parsers with the generic types - */ - NULL; - public static ExampleScenarioActorType fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("person".equals(codeString)) - return PERSON; - if ("entity".equals(codeString)) - return ENTITY; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case PERSON: return "person"; - case ENTITY: return "entity"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case PERSON: return "http://hl7.org/fhir/examplescenario-actor-type"; - case ENTITY: return "http://hl7.org/fhir/examplescenario-actor-type"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case PERSON: return "A person."; - case ENTITY: return "A system."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case PERSON: return "Person"; - case ENTITY: return "System"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class ExampleScenarioActorTypeEnumFactory implements EnumFactory { - public ExampleScenarioActorType fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("person".equals(codeString)) - return ExampleScenarioActorType.PERSON; - if ("entity".equals(codeString)) - return ExampleScenarioActorType.ENTITY; - throw new IllegalArgumentException("Unknown ExampleScenarioActorType code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("person".equals(codeString)) - return new Enumeration(this, ExampleScenarioActorType.PERSON); - if ("entity".equals(codeString)) - return new Enumeration(this, ExampleScenarioActorType.ENTITY); - throw new FHIRException("Unknown ExampleScenarioActorType code '"+codeString+"'"); - } - public String toCode(ExampleScenarioActorType code) { - if (code == ExampleScenarioActorType.PERSON) - return "person"; - if (code == ExampleScenarioActorType.ENTITY) - return "entity"; - return "?"; - } - public String toSystem(ExampleScenarioActorType code) { - return code.getSystem(); - } - } - @Block() public static class ExampleScenarioActorComponent extends BackboneElement implements IBaseBackboneElement { /** - * ID or acronym of actor. + * A unique string within the scenario that is used to reference the actor. */ - @Child(name = "actorId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="ID or acronym of the actor", formalDefinition="ID or acronym of actor." ) - protected StringType actorId; + @Child(name = "key", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="ID or acronym of the actor", formalDefinition="A unique string within the scenario that is used to reference the actor." ) + protected StringType key; /** - * The type of actor - person or system. + * The category of actor - person or system. */ @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="person | entity", formalDefinition="The type of actor - person or system." ) + @Description(shortDefinition="person | system", formalDefinition="The category of actor - person or system." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/examplescenario-actor-type") protected Enumeration type; /** - * The name of the actor as shown in the page. + * The human-readable name for the actor used when rendering the scenario. */ - @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The name of the actor as shown in the page", formalDefinition="The name of the actor as shown in the page." ) - protected StringType name; + @Child(name = "title", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Label for actor when rendering", formalDefinition="The human-readable name for the actor used when rendering the scenario." ) + protected StringType title; /** - * The description of the actor. + * An explanation of who/what the actor is and its role in the scenario. */ @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The description of the actor", formalDefinition="The description of the actor." ) + @Description(shortDefinition="Details about actor", formalDefinition="An explanation of who/what the actor is and its role in the scenario." ) protected MarkdownType description; - private static final long serialVersionUID = 1348364162L; + private static final long serialVersionUID = 267911906L; /** * Constructor @@ -192,59 +96,60 @@ public class ExampleScenario extends CanonicalResource { /** * Constructor */ - public ExampleScenarioActorComponent(String actorId, ExampleScenarioActorType type) { + public ExampleScenarioActorComponent(String key, ExampleScenarioActorType type, String title) { super(); - this.setActorId(actorId); + this.setKey(key); this.setType(type); + this.setTitle(title); } /** - * @return {@link #actorId} (ID or acronym of actor.). This is the underlying object with id, value and extensions. The accessor "getActorId" gives direct access to the value + * @return {@link #key} (A unique string within the scenario that is used to reference the actor.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value */ - public StringType getActorIdElement() { - if (this.actorId == null) + public StringType getKeyElement() { + if (this.key == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioActorComponent.actorId"); + throw new Error("Attempt to auto-create ExampleScenarioActorComponent.key"); else if (Configuration.doAutoCreate()) - this.actorId = new StringType(); // bb - return this.actorId; + this.key = new StringType(); // bb + return this.key; } - public boolean hasActorIdElement() { - return this.actorId != null && !this.actorId.isEmpty(); + public boolean hasKeyElement() { + return this.key != null && !this.key.isEmpty(); } - public boolean hasActorId() { - return this.actorId != null && !this.actorId.isEmpty(); + public boolean hasKey() { + return this.key != null && !this.key.isEmpty(); } /** - * @param value {@link #actorId} (ID or acronym of actor.). This is the underlying object with id, value and extensions. The accessor "getActorId" gives direct access to the value + * @param value {@link #key} (A unique string within the scenario that is used to reference the actor.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value */ - public ExampleScenarioActorComponent setActorIdElement(StringType value) { - this.actorId = value; + public ExampleScenarioActorComponent setKeyElement(StringType value) { + this.key = value; return this; } /** - * @return ID or acronym of actor. + * @return A unique string within the scenario that is used to reference the actor. */ - public String getActorId() { - return this.actorId == null ? null : this.actorId.getValue(); + public String getKey() { + return this.key == null ? null : this.key.getValue(); } /** - * @param value ID or acronym of actor. + * @param value A unique string within the scenario that is used to reference the actor. */ - public ExampleScenarioActorComponent setActorId(String value) { - if (this.actorId == null) - this.actorId = new StringType(); - this.actorId.setValue(value); + public ExampleScenarioActorComponent setKey(String value) { + if (this.key == null) + this.key = new StringType(); + this.key.setValue(value); return this; } /** - * @return {@link #type} (The type of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + * @return {@link #type} (The category of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ public Enumeration getTypeElement() { if (this.type == null) @@ -264,7 +169,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #type} (The type of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + * @param value {@link #type} (The category of actor - person or system.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ public ExampleScenarioActorComponent setTypeElement(Enumeration value) { this.type = value; @@ -272,14 +177,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return The type of actor - person or system. + * @return The category of actor - person or system. */ public ExampleScenarioActorType getType() { return this.type == null ? null : this.type.getValue(); } /** - * @param value The type of actor - person or system. + * @param value The category of actor - person or system. */ public ExampleScenarioActorComponent setType(ExampleScenarioActorType value) { if (this.type == null) @@ -289,56 +194,52 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #name} (The name of the actor as shown in the page.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @return {@link #title} (The human-readable name for the actor used when rendering the scenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ - public StringType getNameElement() { - if (this.name == null) + public StringType getTitleElement() { + if (this.title == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioActorComponent.name"); + throw new Error("Attempt to auto-create ExampleScenarioActorComponent.title"); else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; + this.title = new StringType(); // bb + return this.title; } - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); } - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); } /** - * @param value {@link #name} (The name of the actor as shown in the page.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #title} (The human-readable name for the actor used when rendering the scenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ - public ExampleScenarioActorComponent setNameElement(StringType value) { - this.name = value; + public ExampleScenarioActorComponent setTitleElement(StringType value) { + this.title = value; return this; } /** - * @return The name of the actor as shown in the page. + * @return The human-readable name for the actor used when rendering the scenario. */ - public String getName() { - return this.name == null ? null : this.name.getValue(); + public String getTitle() { + return this.title == null ? null : this.title.getValue(); } /** - * @param value The name of the actor as shown in the page. + * @param value The human-readable name for the actor used when rendering the scenario. */ - public ExampleScenarioActorComponent setName(String value) { - if (Utilities.noString(value)) - this.name = null; - else { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); - } + public ExampleScenarioActorComponent setTitle(String value) { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); return this; } /** - * @return {@link #description} (The description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #description} (An explanation of who/what the actor is and its role in the scenario.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public MarkdownType getDescriptionElement() { if (this.description == null) @@ -358,7 +259,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #description} (The description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #description} (An explanation of who/what the actor is and its role in the scenario.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public ExampleScenarioActorComponent setDescriptionElement(MarkdownType value) { this.description = value; @@ -366,14 +267,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return The description of the actor. + * @return An explanation of who/what the actor is and its role in the scenario. */ public String getDescription() { return this.description == null ? null : this.description.getValue(); } /** - * @param value The description of the actor. + * @param value An explanation of who/what the actor is and its role in the scenario. */ public ExampleScenarioActorComponent setDescription(String value) { if (value == null) @@ -388,19 +289,19 @@ public class ExampleScenario extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("actorId", "string", "ID or acronym of actor.", 0, 1, actorId)); - children.add(new Property("type", "code", "The type of actor - person or system.", 0, 1, type)); - children.add(new Property("name", "string", "The name of the actor as shown in the page.", 0, 1, name)); - children.add(new Property("description", "markdown", "The description of the actor.", 0, 1, description)); + children.add(new Property("key", "string", "A unique string within the scenario that is used to reference the actor.", 0, 1, key)); + children.add(new Property("type", "code", "The category of actor - person or system.", 0, 1, type)); + children.add(new Property("title", "string", "The human-readable name for the actor used when rendering the scenario.", 0, 1, title)); + children.add(new Property("description", "markdown", "An explanation of who/what the actor is and its role in the scenario.", 0, 1, description)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1161623056: /*actorId*/ return new Property("actorId", "string", "ID or acronym of actor.", 0, 1, actorId); - case 3575610: /*type*/ return new Property("type", "code", "The type of actor - person or system.", 0, 1, type); - case 3373707: /*name*/ return new Property("name", "string", "The name of the actor as shown in the page.", 0, 1, name); - case -1724546052: /*description*/ return new Property("description", "markdown", "The description of the actor.", 0, 1, description); + case 106079: /*key*/ return new Property("key", "string", "A unique string within the scenario that is used to reference the actor.", 0, 1, key); + case 3575610: /*type*/ return new Property("type", "code", "The category of actor - person or system.", 0, 1, type); + case 110371416: /*title*/ return new Property("title", "string", "The human-readable name for the actor used when rendering the scenario.", 0, 1, title); + case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of who/what the actor is and its role in the scenario.", 0, 1, description); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -409,9 +310,9 @@ public class ExampleScenario extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1161623056: /*actorId*/ return this.actorId == null ? new Base[0] : new Base[] {this.actorId}; // StringType + case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // StringType case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType default: return super.getProperty(hash, name, checkValid); } @@ -421,15 +322,15 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1161623056: // actorId - this.actorId = TypeConvertor.castToString(value); // StringType + case 106079: // key + this.key = TypeConvertor.castToString(value); // StringType return value; case 3575610: // type value = new ExampleScenarioActorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration return value; - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType return value; case -1724546052: // description this.description = TypeConvertor.castToMarkdown(value); // MarkdownType @@ -441,13 +342,13 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("actorId")) { - this.actorId = TypeConvertor.castToString(value); // StringType + if (name.equals("key")) { + this.key = TypeConvertor.castToString(value); // StringType } else if (name.equals("type")) { value = new ExampleScenarioActorTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration - } else if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("description")) { this.description = TypeConvertor.castToMarkdown(value); // MarkdownType } else @@ -458,9 +359,9 @@ public class ExampleScenario extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1161623056: return getActorIdElement(); + case 106079: return getKeyElement(); case 3575610: return getTypeElement(); - case 3373707: return getNameElement(); + case 110371416: return getTitleElement(); case -1724546052: return getDescriptionElement(); default: return super.makeProperty(hash, name); } @@ -470,9 +371,9 @@ public class ExampleScenario extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1161623056: /*actorId*/ return new String[] {"string"}; + case 106079: /*key*/ return new String[] {"string"}; case 3575610: /*type*/ return new String[] {"code"}; - case 3373707: /*name*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"markdown"}; default: return super.getTypesForProperty(hash, name); } @@ -481,14 +382,14 @@ public class ExampleScenario extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("actorId")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.actorId"); + if (name.equals("key")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.key"); } else if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.type"); } - else if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.name"); + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.title"); } else if (name.equals("description")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.actor.description"); @@ -505,9 +406,9 @@ public class ExampleScenario extends CanonicalResource { public void copyValues(ExampleScenarioActorComponent dst) { super.copyValues(dst); - dst.actorId = actorId == null ? null : actorId.copy(); + dst.key = key == null ? null : key.copy(); dst.type = type == null ? null : type.copy(); - dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); dst.description = description == null ? null : description.copy(); } @@ -518,7 +419,7 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioActorComponent)) return false; ExampleScenarioActorComponent o = (ExampleScenarioActorComponent) other_; - return compareDeep(actorId, o.actorId, true) && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) + return compareDeep(key, o.key, true) && compareDeep(type, o.type, true) && compareDeep(title, o.title, true) && compareDeep(description, o.description, true); } @@ -529,12 +430,12 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioActorComponent)) return false; ExampleScenarioActorComponent o = (ExampleScenarioActorComponent) other_; - return compareValues(actorId, o.actorId, true) && compareValues(type, o.type, true) && compareValues(name, o.name, true) + return compareValues(key, o.key, true) && compareValues(type, o.type, true) && compareValues(title, o.title, true) && compareValues(description, o.description, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actorId, type, name, description + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, type, title, description ); } @@ -548,49 +449,70 @@ public class ExampleScenario extends CanonicalResource { @Block() public static class ExampleScenarioInstanceComponent extends BackboneElement implements IBaseBackboneElement { /** - * The id of the resource for referencing. + * A unique string within the scenario that is used to reference the instance. */ - @Child(name = "resourceId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The id of the resource for referencing", formalDefinition="The id of the resource for referencing." ) - protected StringType resourceId; + @Child(name = "key", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="ID or acronym of the instance", formalDefinition="A unique string within the scenario that is used to reference the instance." ) + protected StringType key; /** - * The type of the resource. + * A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of. */ - @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The type of the resource", formalDefinition="The type of the resource." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") - protected CodeType type; + @Child(name = "structureType", type = {Coding.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Data structure for example", formalDefinition="A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/examplescenario-instance-type") + protected Coding structureType; /** - * A short name for the resource instance. + * Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with. */ - @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="A short name for the resource instance", formalDefinition="A short name for the resource instance." ) - protected StringType name; + @Child(name = "structureVersion", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="E.g. 4.0.1", formalDefinition="Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with." ) + protected StringType structureVersion; /** - * Human-friendly description of the resource instance. + * Refers to a profile, template or other ruleset the instance adheres to. */ - @Child(name = "description", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Human-friendly description of the resource instance", formalDefinition="Human-friendly description of the resource instance." ) + @Child(name = "structureProfile", type = {CanonicalType.class, UriType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Rules instance adheres to", formalDefinition="Refers to a profile, template or other ruleset the instance adheres to." ) + protected DataType structureProfile; + + /** + * A short descriptive label the instance to be used in tables or diagrams. + */ + @Child(name = "title", type = {StringType.class}, order=5, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Label for instance", formalDefinition="A short descriptive label the instance to be used in tables or diagrams." ) + protected StringType title; + + /** + * An explanation of what the instance contains and what it's for. + */ + @Child(name = "description", type = {MarkdownType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Human-friendly description of the instance", formalDefinition="An explanation of what the instance contains and what it's for." ) protected MarkdownType description; /** - * A specific version of the resource. + * Points to an instance (typically an example) that shows the data that would corespond to this instance. */ - @Child(name = "version", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="A specific version of the resource", formalDefinition="A specific version of the resource." ) + @Child(name = "content", type = {Reference.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Example instance data", formalDefinition="Points to an instance (typically an example) that shows the data that would corespond to this instance." ) + protected Reference content; + + /** + * Represents the instance as it was at a specific time-point. + */ + @Child(name = "version", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Snapshot of instance that changes", formalDefinition="Represents the instance as it was at a specific time-point." ) protected List version; /** - * Resources contained in the instance (e.g. the observations contained in a bundle). + * References to other instances that can be found within this instance (e.g. the observations contained in a bundle). */ - @Child(name = "containedInstance", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Resources contained in the instance", formalDefinition="Resources contained in the instance (e.g. the observations contained in a bundle)." ) + @Child(name = "containedInstance", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Resources contained in the instance", formalDefinition="References to other instances that can be found within this instance (e.g. the observations contained in a bundle)." ) protected List containedInstance; - private static final long serialVersionUID = 869705192L; + private static final long serialVersionUID = -1366610733L; /** * Constructor @@ -602,153 +524,229 @@ public class ExampleScenario extends CanonicalResource { /** * Constructor */ - public ExampleScenarioInstanceComponent(String resourceId, String type) { + public ExampleScenarioInstanceComponent(String key, Coding structureType, String title) { super(); - this.setResourceId(resourceId); - this.setType(type); + this.setKey(key); + this.setStructureType(structureType); + this.setTitle(title); } /** - * @return {@link #resourceId} (The id of the resource for referencing.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value + * @return {@link #key} (A unique string within the scenario that is used to reference the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value */ - public StringType getResourceIdElement() { - if (this.resourceId == null) + public StringType getKeyElement() { + if (this.key == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.resourceId"); + throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.key"); else if (Configuration.doAutoCreate()) - this.resourceId = new StringType(); // bb - return this.resourceId; + this.key = new StringType(); // bb + return this.key; } - public boolean hasResourceIdElement() { - return this.resourceId != null && !this.resourceId.isEmpty(); + public boolean hasKeyElement() { + return this.key != null && !this.key.isEmpty(); } - public boolean hasResourceId() { - return this.resourceId != null && !this.resourceId.isEmpty(); + public boolean hasKey() { + return this.key != null && !this.key.isEmpty(); } /** - * @param value {@link #resourceId} (The id of the resource for referencing.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value + * @param value {@link #key} (A unique string within the scenario that is used to reference the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value */ - public ExampleScenarioInstanceComponent setResourceIdElement(StringType value) { - this.resourceId = value; + public ExampleScenarioInstanceComponent setKeyElement(StringType value) { + this.key = value; return this; } /** - * @return The id of the resource for referencing. + * @return A unique string within the scenario that is used to reference the instance. */ - public String getResourceId() { - return this.resourceId == null ? null : this.resourceId.getValue(); + public String getKey() { + return this.key == null ? null : this.key.getValue(); } /** - * @param value The id of the resource for referencing. + * @param value A unique string within the scenario that is used to reference the instance. */ - public ExampleScenarioInstanceComponent setResourceId(String value) { - if (this.resourceId == null) - this.resourceId = new StringType(); - this.resourceId.setValue(value); + public ExampleScenarioInstanceComponent setKey(String value) { + if (this.key == null) + this.key = new StringType(); + this.key.setValue(value); return this; } /** - * @return {@link #type} (The type of the resource.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + * @return {@link #structureType} (A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.) */ - public CodeType getTypeElement() { - if (this.type == null) + public Coding getStructureType() { + if (this.structureType == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.type"); + throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.structureType"); else if (Configuration.doAutoCreate()) - this.type = new CodeType(); // bb - return this.type; + this.structureType = new Coding(); // cc + return this.structureType; } - public boolean hasTypeElement() { - return this.type != null && !this.type.isEmpty(); - } - - public boolean hasType() { - return this.type != null && !this.type.isEmpty(); + public boolean hasStructureType() { + return this.structureType != null && !this.structureType.isEmpty(); } /** - * @param value {@link #type} (The type of the resource.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + * @param value {@link #structureType} (A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.) */ - public ExampleScenarioInstanceComponent setTypeElement(CodeType value) { - this.type = value; + public ExampleScenarioInstanceComponent setStructureType(Coding value) { + this.structureType = value; return this; } /** - * @return The type of the resource. + * @return {@link #structureVersion} (Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.). This is the underlying object with id, value and extensions. The accessor "getStructureVersion" gives direct access to the value */ - public String getType() { - return this.type == null ? null : this.type.getValue(); - } - - /** - * @param value The type of the resource. - */ - public ExampleScenarioInstanceComponent setType(String value) { - if (this.type == null) - this.type = new CodeType(); - this.type.setValue(value); - return this; - } - - /** - * @return {@link #name} (A short name for the resource instance.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public StringType getNameElement() { - if (this.name == null) + public StringType getStructureVersionElement() { + if (this.structureVersion == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.name"); + throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.structureVersion"); else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; + this.structureVersion = new StringType(); // bb + return this.structureVersion; } - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); + public boolean hasStructureVersionElement() { + return this.structureVersion != null && !this.structureVersion.isEmpty(); } - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); + public boolean hasStructureVersion() { + return this.structureVersion != null && !this.structureVersion.isEmpty(); } /** - * @param value {@link #name} (A short name for the resource instance.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #structureVersion} (Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.). This is the underlying object with id, value and extensions. The accessor "getStructureVersion" gives direct access to the value */ - public ExampleScenarioInstanceComponent setNameElement(StringType value) { - this.name = value; + public ExampleScenarioInstanceComponent setStructureVersionElement(StringType value) { + this.structureVersion = value; return this; } /** - * @return A short name for the resource instance. + * @return Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with. */ - public String getName() { - return this.name == null ? null : this.name.getValue(); + public String getStructureVersion() { + return this.structureVersion == null ? null : this.structureVersion.getValue(); } /** - * @param value A short name for the resource instance. + * @param value Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with. */ - public ExampleScenarioInstanceComponent setName(String value) { + public ExampleScenarioInstanceComponent setStructureVersion(String value) { if (Utilities.noString(value)) - this.name = null; + this.structureVersion = null; else { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); + if (this.structureVersion == null) + this.structureVersion = new StringType(); + this.structureVersion.setValue(value); } return this; } /** - * @return {@link #description} (Human-friendly description of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) + */ + public DataType getStructureProfile() { + return this.structureProfile; + } + + /** + * @return {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) + */ + public CanonicalType getStructureProfileCanonicalType() throws FHIRException { + if (this.structureProfile == null) + this.structureProfile = new CanonicalType(); + if (!(this.structureProfile instanceof CanonicalType)) + throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.structureProfile.getClass().getName()+" was encountered"); + return (CanonicalType) this.structureProfile; + } + + public boolean hasStructureProfileCanonicalType() { + return this != null && this.structureProfile instanceof CanonicalType; + } + + /** + * @return {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) + */ + public UriType getStructureProfileUriType() throws FHIRException { + if (this.structureProfile == null) + this.structureProfile = new UriType(); + if (!(this.structureProfile instanceof UriType)) + throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.structureProfile.getClass().getName()+" was encountered"); + return (UriType) this.structureProfile; + } + + public boolean hasStructureProfileUriType() { + return this != null && this.structureProfile instanceof UriType; + } + + public boolean hasStructureProfile() { + return this.structureProfile != null && !this.structureProfile.isEmpty(); + } + + /** + * @param value {@link #structureProfile} (Refers to a profile, template or other ruleset the instance adheres to.) + */ + public ExampleScenarioInstanceComponent setStructureProfile(DataType value) { + if (value != null && !(value instanceof CanonicalType || value instanceof UriType)) + throw new Error("Not the right type for ExampleScenario.instance.structureProfile[x]: "+value.fhirType()); + this.structureProfile = value; + return this; + } + + /** + * @return {@link #title} (A short descriptive label the instance to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A short descriptive label the instance to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public ExampleScenarioInstanceComponent setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A short descriptive label the instance to be used in tables or diagrams. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A short descriptive label the instance to be used in tables or diagrams. + */ + public ExampleScenarioInstanceComponent setTitle(String value) { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + return this; + } + + /** + * @return {@link #description} (An explanation of what the instance contains and what it's for.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public MarkdownType getDescriptionElement() { if (this.description == null) @@ -768,7 +766,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #description} (Human-friendly description of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #description} (An explanation of what the instance contains and what it's for.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public ExampleScenarioInstanceComponent setDescriptionElement(MarkdownType value) { this.description = value; @@ -776,14 +774,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Human-friendly description of the resource instance. + * @return An explanation of what the instance contains and what it's for. */ public String getDescription() { return this.description == null ? null : this.description.getValue(); } /** - * @param value Human-friendly description of the resource instance. + * @param value An explanation of what the instance contains and what it's for. */ public ExampleScenarioInstanceComponent setDescription(String value) { if (value == null) @@ -797,7 +795,31 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #version} (A specific version of the resource.) + * @return {@link #content} (Points to an instance (typically an example) that shows the data that would corespond to this instance.) + */ + public Reference getContent() { + if (this.content == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenarioInstanceComponent.content"); + else if (Configuration.doAutoCreate()) + this.content = new Reference(); // cc + return this.content; + } + + public boolean hasContent() { + return this.content != null && !this.content.isEmpty(); + } + + /** + * @param value {@link #content} (Points to an instance (typically an example) that shows the data that would corespond to this instance.) + */ + public ExampleScenarioInstanceComponent setContent(Reference value) { + this.content = value; + return this; + } + + /** + * @return {@link #version} (Represents the instance as it was at a specific time-point.) */ public List getVersion() { if (this.version == null) @@ -850,7 +872,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #containedInstance} (Resources contained in the instance (e.g. the observations contained in a bundle).) + * @return {@link #containedInstance} (References to other instances that can be found within this instance (e.g. the observations contained in a bundle).) */ public List getContainedInstance() { if (this.containedInstance == null) @@ -904,23 +926,32 @@ public class ExampleScenario extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("resourceId", "string", "The id of the resource for referencing.", 0, 1, resourceId)); - children.add(new Property("type", "code", "The type of the resource.", 0, 1, type)); - children.add(new Property("name", "string", "A short name for the resource instance.", 0, 1, name)); - children.add(new Property("description", "markdown", "Human-friendly description of the resource instance.", 0, 1, description)); - children.add(new Property("version", "", "A specific version of the resource.", 0, java.lang.Integer.MAX_VALUE, version)); - children.add(new Property("containedInstance", "", "Resources contained in the instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance)); + children.add(new Property("key", "string", "A unique string within the scenario that is used to reference the instance.", 0, 1, key)); + children.add(new Property("structureType", "Coding", "A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.", 0, 1, structureType)); + children.add(new Property("structureVersion", "string", "Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.", 0, 1, structureVersion)); + children.add(new Property("structureProfile[x]", "canonical|uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile)); + children.add(new Property("title", "string", "A short descriptive label the instance to be used in tables or diagrams.", 0, 1, title)); + children.add(new Property("description", "markdown", "An explanation of what the instance contains and what it's for.", 0, 1, description)); + children.add(new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would corespond to this instance.", 0, 1, content)); + children.add(new Property("version", "", "Represents the instance as it was at a specific time-point.", 0, java.lang.Integer.MAX_VALUE, version)); + children.add(new Property("containedInstance", "", "References to other instances that can be found within this instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1345650231: /*resourceId*/ return new Property("resourceId", "string", "The id of the resource for referencing.", 0, 1, resourceId); - case 3575610: /*type*/ return new Property("type", "code", "The type of the resource.", 0, 1, type); - case 3373707: /*name*/ return new Property("name", "string", "A short name for the resource instance.", 0, 1, name); - case -1724546052: /*description*/ return new Property("description", "markdown", "Human-friendly description of the resource instance.", 0, 1, description); - case 351608024: /*version*/ return new Property("version", "", "A specific version of the resource.", 0, java.lang.Integer.MAX_VALUE, version); - case -417062360: /*containedInstance*/ return new Property("containedInstance", "", "Resources contained in the instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance); + case 106079: /*key*/ return new Property("key", "string", "A unique string within the scenario that is used to reference the instance.", 0, 1, key); + case -222609587: /*structureType*/ return new Property("structureType", "Coding", "A code indicating the kind of data structure (FHIR resource or some other standard) this is an instance of.", 0, 1, structureType); + case 872091621: /*structureVersion*/ return new Property("structureVersion", "string", "Conveys the version of the data structure instantiated. I.e. what release of FHIR, X12, OpenEHR, etc. is instance compliant with.", 0, 1, structureVersion); + case -207739894: /*structureProfile[x]*/ return new Property("structureProfile[x]", "canonical|uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); + case 211057846: /*structureProfile*/ return new Property("structureProfile[x]", "canonical|uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); + case -1044433698: /*structureProfileCanonical*/ return new Property("structureProfile[x]", "canonical", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); + case -207745834: /*structureProfileUri*/ return new Property("structureProfile[x]", "uri", "Refers to a profile, template or other ruleset the instance adheres to.", 0, 1, structureProfile); + case 110371416: /*title*/ return new Property("title", "string", "A short descriptive label the instance to be used in tables or diagrams.", 0, 1, title); + case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what the instance contains and what it's for.", 0, 1, description); + case 951530617: /*content*/ return new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would corespond to this instance.", 0, 1, content); + case 351608024: /*version*/ return new Property("version", "", "Represents the instance as it was at a specific time-point.", 0, java.lang.Integer.MAX_VALUE, version); + case -417062360: /*containedInstance*/ return new Property("containedInstance", "", "References to other instances that can be found within this instance (e.g. the observations contained in a bundle).", 0, java.lang.Integer.MAX_VALUE, containedInstance); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -929,10 +960,13 @@ public class ExampleScenario extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1345650231: /*resourceId*/ return this.resourceId == null ? new Base[0] : new Base[] {this.resourceId}; // StringType - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // StringType + case -222609587: /*structureType*/ return this.structureType == null ? new Base[0] : new Base[] {this.structureType}; // Coding + case 872091621: /*structureVersion*/ return this.structureVersion == null ? new Base[0] : new Base[] {this.structureVersion}; // StringType + case 211057846: /*structureProfile*/ return this.structureProfile == null ? new Base[0] : new Base[] {this.structureProfile}; // DataType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType + case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // Reference case 351608024: /*version*/ return this.version == null ? new Base[0] : this.version.toArray(new Base[this.version.size()]); // ExampleScenarioInstanceVersionComponent case -417062360: /*containedInstance*/ return this.containedInstance == null ? new Base[0] : this.containedInstance.toArray(new Base[this.containedInstance.size()]); // ExampleScenarioInstanceContainedInstanceComponent default: return super.getProperty(hash, name, checkValid); @@ -943,18 +977,27 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1345650231: // resourceId - this.resourceId = TypeConvertor.castToString(value); // StringType + case 106079: // key + this.key = TypeConvertor.castToString(value); // StringType return value; - case 3575610: // type - this.type = TypeConvertor.castToCode(value); // CodeType + case -222609587: // structureType + this.structureType = TypeConvertor.castToCoding(value); // Coding return value; - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType + case 872091621: // structureVersion + this.structureVersion = TypeConvertor.castToString(value); // StringType + return value; + case 211057846: // structureProfile + this.structureProfile = TypeConvertor.castToType(value); // DataType + return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType return value; case -1724546052: // description this.description = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 951530617: // content + this.content = TypeConvertor.castToReference(value); // Reference + return value; case 351608024: // version this.getVersion().add((ExampleScenarioInstanceVersionComponent) value); // ExampleScenarioInstanceVersionComponent return value; @@ -968,14 +1011,20 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("resourceId")) { - this.resourceId = TypeConvertor.castToString(value); // StringType - } else if (name.equals("type")) { - this.type = TypeConvertor.castToCode(value); // CodeType - } else if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType + if (name.equals("key")) { + this.key = TypeConvertor.castToString(value); // StringType + } else if (name.equals("structureType")) { + this.structureType = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("structureVersion")) { + this.structureVersion = TypeConvertor.castToString(value); // StringType + } else if (name.equals("structureProfile[x]")) { + this.structureProfile = TypeConvertor.castToType(value); // DataType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("description")) { this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("content")) { + this.content = TypeConvertor.castToReference(value); // Reference } else if (name.equals("version")) { this.getVersion().add((ExampleScenarioInstanceVersionComponent) value); } else if (name.equals("containedInstance")) { @@ -988,10 +1037,14 @@ public class ExampleScenario extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1345650231: return getResourceIdElement(); - case 3575610: return getTypeElement(); - case 3373707: return getNameElement(); + case 106079: return getKeyElement(); + case -222609587: return getStructureType(); + case 872091621: return getStructureVersionElement(); + case -207739894: return getStructureProfile(); + case 211057846: return getStructureProfile(); + case 110371416: return getTitleElement(); case -1724546052: return getDescriptionElement(); + case 951530617: return getContent(); case 351608024: return addVersion(); case -417062360: return addContainedInstance(); default: return super.makeProperty(hash, name); @@ -1002,10 +1055,13 @@ public class ExampleScenario extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1345650231: /*resourceId*/ return new String[] {"string"}; - case 3575610: /*type*/ return new String[] {"code"}; - case 3373707: /*name*/ return new String[] {"string"}; + case 106079: /*key*/ return new String[] {"string"}; + case -222609587: /*structureType*/ return new String[] {"Coding"}; + case 872091621: /*structureVersion*/ return new String[] {"string"}; + case 211057846: /*structureProfile*/ return new String[] {"canonical", "uri"}; + case 110371416: /*title*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"markdown"}; + case 951530617: /*content*/ return new String[] {"Reference"}; case 351608024: /*version*/ return new String[] {}; case -417062360: /*containedInstance*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -1015,18 +1071,34 @@ public class ExampleScenario extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("resourceId")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.resourceId"); + if (name.equals("key")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.key"); } - else if (name.equals("type")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.type"); + else if (name.equals("structureType")) { + this.structureType = new Coding(); + return this.structureType; } - else if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.name"); + else if (name.equals("structureVersion")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.structureVersion"); + } + else if (name.equals("structureProfileCanonical")) { + this.structureProfile = new CanonicalType(); + return this.structureProfile; + } + else if (name.equals("structureProfileUri")) { + this.structureProfile = new UriType(); + return this.structureProfile; + } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.title"); } else if (name.equals("description")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.description"); } + else if (name.equals("content")) { + this.content = new Reference(); + return this.content; + } else if (name.equals("version")) { return addVersion(); } @@ -1045,10 +1117,13 @@ public class ExampleScenario extends CanonicalResource { public void copyValues(ExampleScenarioInstanceComponent dst) { super.copyValues(dst); - dst.resourceId = resourceId == null ? null : resourceId.copy(); - dst.type = type == null ? null : type.copy(); - dst.name = name == null ? null : name.copy(); + dst.key = key == null ? null : key.copy(); + dst.structureType = structureType == null ? null : structureType.copy(); + dst.structureVersion = structureVersion == null ? null : structureVersion.copy(); + dst.structureProfile = structureProfile == null ? null : structureProfile.copy(); + dst.title = title == null ? null : title.copy(); dst.description = description == null ? null : description.copy(); + dst.content = content == null ? null : content.copy(); if (version != null) { dst.version = new ArrayList(); for (ExampleScenarioInstanceVersionComponent i : version) @@ -1068,9 +1143,10 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioInstanceComponent)) return false; ExampleScenarioInstanceComponent o = (ExampleScenarioInstanceComponent) other_; - return compareDeep(resourceId, o.resourceId, true) && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) - && compareDeep(description, o.description, true) && compareDeep(version, o.version, true) && compareDeep(containedInstance, o.containedInstance, true) - ; + return compareDeep(key, o.key, true) && compareDeep(structureType, o.structureType, true) && compareDeep(structureVersion, o.structureVersion, true) + && compareDeep(structureProfile, o.structureProfile, true) && compareDeep(title, o.title, true) + && compareDeep(description, o.description, true) && compareDeep(content, o.content, true) && compareDeep(version, o.version, true) + && compareDeep(containedInstance, o.containedInstance, true); } @Override @@ -1080,13 +1156,13 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioInstanceComponent)) return false; ExampleScenarioInstanceComponent o = (ExampleScenarioInstanceComponent) other_; - return compareValues(resourceId, o.resourceId, true) && compareValues(type, o.type, true) && compareValues(name, o.name, true) - && compareValues(description, o.description, true); + return compareValues(key, o.key, true) && compareValues(structureVersion, o.structureVersion, true) + && compareValues(title, o.title, true) && compareValues(description, o.description, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(resourceId, type, name, description - , version, containedInstance); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, structureType, structureVersion + , structureProfile, title, description, content, version, containedInstance); } public String fhirType() { @@ -1099,20 +1175,27 @@ public class ExampleScenario extends CanonicalResource { @Block() public static class ExampleScenarioInstanceVersionComponent extends BackboneElement implements IBaseBackboneElement { /** - * The identifier of a specific version of a resource. + * A unique string within the instance that is used to reference the version of the instance. */ - @Child(name = "versionId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The identifier of a specific version of a resource", formalDefinition="The identifier of a specific version of a resource." ) - protected StringType versionId; + @Child(name = "key", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="ID or acronym of the version", formalDefinition="A unique string within the instance that is used to reference the version of the instance." ) + protected StringType key; /** - * The description of the resource version. + * An explanation of what this specific version of the instance contains and represents. */ - @Child(name = "description", type = {MarkdownType.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The description of the resource version", formalDefinition="The description of the resource version." ) + @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Details about version", formalDefinition="An explanation of what this specific version of the instance contains and represents." ) protected MarkdownType description; - private static final long serialVersionUID = 960821913L; + /** + * Points to an instance (typically an example) that shows the data that would flow at this point in the scenario. + */ + @Child(name = "content", type = {Reference.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Example instance version data", formalDefinition="Points to an instance (typically an example) that shows the data that would flow at this point in the scenario." ) + protected Reference content; + + private static final long serialVersionUID = 1799372843L; /** * Constructor @@ -1124,59 +1207,58 @@ public class ExampleScenario extends CanonicalResource { /** * Constructor */ - public ExampleScenarioInstanceVersionComponent(String versionId, String description) { + public ExampleScenarioInstanceVersionComponent(String key) { super(); - this.setVersionId(versionId); - this.setDescription(description); + this.setKey(key); } /** - * @return {@link #versionId} (The identifier of a specific version of a resource.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value + * @return {@link #key} (A unique string within the instance that is used to reference the version of the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value */ - public StringType getVersionIdElement() { - if (this.versionId == null) + public StringType getKeyElement() { + if (this.key == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.versionId"); + throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.key"); else if (Configuration.doAutoCreate()) - this.versionId = new StringType(); // bb - return this.versionId; + this.key = new StringType(); // bb + return this.key; } - public boolean hasVersionIdElement() { - return this.versionId != null && !this.versionId.isEmpty(); + public boolean hasKeyElement() { + return this.key != null && !this.key.isEmpty(); } - public boolean hasVersionId() { - return this.versionId != null && !this.versionId.isEmpty(); + public boolean hasKey() { + return this.key != null && !this.key.isEmpty(); } /** - * @param value {@link #versionId} (The identifier of a specific version of a resource.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value + * @param value {@link #key} (A unique string within the instance that is used to reference the version of the instance.). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value */ - public ExampleScenarioInstanceVersionComponent setVersionIdElement(StringType value) { - this.versionId = value; + public ExampleScenarioInstanceVersionComponent setKeyElement(StringType value) { + this.key = value; return this; } /** - * @return The identifier of a specific version of a resource. + * @return A unique string within the instance that is used to reference the version of the instance. */ - public String getVersionId() { - return this.versionId == null ? null : this.versionId.getValue(); + public String getKey() { + return this.key == null ? null : this.key.getValue(); } /** - * @param value The identifier of a specific version of a resource. + * @param value A unique string within the instance that is used to reference the version of the instance. */ - public ExampleScenarioInstanceVersionComponent setVersionId(String value) { - if (this.versionId == null) - this.versionId = new StringType(); - this.versionId.setValue(value); + public ExampleScenarioInstanceVersionComponent setKey(String value) { + if (this.key == null) + this.key = new StringType(); + this.key.setValue(value); return this; } /** - * @return {@link #description} (The description of the resource version.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #description} (An explanation of what this specific version of the instance contains and represents.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public MarkdownType getDescriptionElement() { if (this.description == null) @@ -1196,7 +1278,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #description} (The description of the resource version.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #description} (An explanation of what this specific version of the instance contains and represents.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public ExampleScenarioInstanceVersionComponent setDescriptionElement(MarkdownType value) { this.description = value; @@ -1204,33 +1286,63 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return The description of the resource version. + * @return An explanation of what this specific version of the instance contains and represents. */ public String getDescription() { return this.description == null ? null : this.description.getValue(); } /** - * @param value The description of the resource version. + * @param value An explanation of what this specific version of the instance contains and represents. */ public ExampleScenarioInstanceVersionComponent setDescription(String value) { + if (value == null) + this.description = null; + else { if (this.description == null) this.description = new MarkdownType(); this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #content} (Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.) + */ + public Reference getContent() { + if (this.content == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenarioInstanceVersionComponent.content"); + else if (Configuration.doAutoCreate()) + this.content = new Reference(); // cc + return this.content; + } + + public boolean hasContent() { + return this.content != null && !this.content.isEmpty(); + } + + /** + * @param value {@link #content} (Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.) + */ + public ExampleScenarioInstanceVersionComponent setContent(Reference value) { + this.content = value; return this; } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("versionId", "string", "The identifier of a specific version of a resource.", 0, 1, versionId)); - children.add(new Property("description", "markdown", "The description of the resource version.", 0, 1, description)); + children.add(new Property("key", "string", "A unique string within the instance that is used to reference the version of the instance.", 0, 1, key)); + children.add(new Property("description", "markdown", "An explanation of what this specific version of the instance contains and represents.", 0, 1, description)); + children.add(new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.", 0, 1, content)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1407102957: /*versionId*/ return new Property("versionId", "string", "The identifier of a specific version of a resource.", 0, 1, versionId); - case -1724546052: /*description*/ return new Property("description", "markdown", "The description of the resource version.", 0, 1, description); + case 106079: /*key*/ return new Property("key", "string", "A unique string within the instance that is used to reference the version of the instance.", 0, 1, key); + case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what this specific version of the instance contains and represents.", 0, 1, description); + case 951530617: /*content*/ return new Property("content", "Reference", "Points to an instance (typically an example) that shows the data that would flow at this point in the scenario.", 0, 1, content); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1239,8 +1351,9 @@ public class ExampleScenario extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1407102957: /*versionId*/ return this.versionId == null ? new Base[0] : new Base[] {this.versionId}; // StringType + case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType + case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // Reference default: return super.getProperty(hash, name, checkValid); } @@ -1249,12 +1362,15 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1407102957: // versionId - this.versionId = TypeConvertor.castToString(value); // StringType + case 106079: // key + this.key = TypeConvertor.castToString(value); // StringType return value; case -1724546052: // description this.description = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 951530617: // content + this.content = TypeConvertor.castToReference(value); // Reference + return value; default: return super.setProperty(hash, name, value); } @@ -1262,10 +1378,12 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("versionId")) { - this.versionId = TypeConvertor.castToString(value); // StringType + if (name.equals("key")) { + this.key = TypeConvertor.castToString(value); // StringType } else if (name.equals("description")) { this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("content")) { + this.content = TypeConvertor.castToReference(value); // Reference } else return super.setProperty(name, value); return value; @@ -1274,8 +1392,9 @@ public class ExampleScenario extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1407102957: return getVersionIdElement(); + case 106079: return getKeyElement(); case -1724546052: return getDescriptionElement(); + case 951530617: return getContent(); default: return super.makeProperty(hash, name); } @@ -1284,8 +1403,9 @@ public class ExampleScenario extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1407102957: /*versionId*/ return new String[] {"string"}; + case 106079: /*key*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"markdown"}; + case 951530617: /*content*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -1293,12 +1413,16 @@ public class ExampleScenario extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("versionId")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.version.versionId"); + if (name.equals("key")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.version.key"); } else if (name.equals("description")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.version.description"); } + else if (name.equals("content")) { + this.content = new Reference(); + return this.content; + } else return super.addChild(name); } @@ -1311,8 +1435,9 @@ public class ExampleScenario extends CanonicalResource { public void copyValues(ExampleScenarioInstanceVersionComponent dst) { super.copyValues(dst); - dst.versionId = versionId == null ? null : versionId.copy(); + dst.key = key == null ? null : key.copy(); dst.description = description == null ? null : description.copy(); + dst.content = content == null ? null : content.copy(); } @Override @@ -1322,7 +1447,7 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioInstanceVersionComponent)) return false; ExampleScenarioInstanceVersionComponent o = (ExampleScenarioInstanceVersionComponent) other_; - return compareDeep(versionId, o.versionId, true) && compareDeep(description, o.description, true) + return compareDeep(key, o.key, true) && compareDeep(description, o.description, true) && compareDeep(content, o.content, true) ; } @@ -1333,12 +1458,12 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioInstanceVersionComponent)) return false; ExampleScenarioInstanceVersionComponent o = (ExampleScenarioInstanceVersionComponent) other_; - return compareValues(versionId, o.versionId, true) && compareValues(description, o.description, true) - ; + return compareValues(key, o.key, true) && compareValues(description, o.description, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(versionId, description); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, description, content + ); } public String fhirType() { @@ -1351,20 +1476,20 @@ public class ExampleScenario extends CanonicalResource { @Block() public static class ExampleScenarioInstanceContainedInstanceComponent extends BackboneElement implements IBaseBackboneElement { /** - * Each resource contained in the instance. + * A reference to the key of an instance found within this one. */ - @Child(name = "resourceId", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Each resource contained in the instance", formalDefinition="Each resource contained in the instance." ) - protected StringType resourceId; + @Child(name = "instanceReference", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Key of contained instance", formalDefinition="A reference to the key of an instance found within this one." ) + protected StringType instanceReference; /** - * A specific version of a resource contained in the instance. + * A reference to the key of a specific version of an instance in this instance. */ - @Child(name = "versionId", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="A specific version of a resource contained in the instance", formalDefinition="A specific version of a resource contained in the instance." ) - protected StringType versionId; + @Child(name = "versionReference", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Key of contained instance version", formalDefinition="A reference to the key of a specific version of an instance in this instance." ) + protected StringType versionReference; - private static final long serialVersionUID = 908084124L; + private static final long serialVersionUID = 520704935L; /** * Constructor @@ -1376,116 +1501,116 @@ public class ExampleScenario extends CanonicalResource { /** * Constructor */ - public ExampleScenarioInstanceContainedInstanceComponent(String resourceId) { + public ExampleScenarioInstanceContainedInstanceComponent(String instanceReference) { super(); - this.setResourceId(resourceId); + this.setInstanceReference(instanceReference); } /** - * @return {@link #resourceId} (Each resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value + * @return {@link #instanceReference} (A reference to the key of an instance found within this one.). This is the underlying object with id, value and extensions. The accessor "getInstanceReference" gives direct access to the value */ - public StringType getResourceIdElement() { - if (this.resourceId == null) + public StringType getInstanceReferenceElement() { + if (this.instanceReference == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.resourceId"); + throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.instanceReference"); else if (Configuration.doAutoCreate()) - this.resourceId = new StringType(); // bb - return this.resourceId; + this.instanceReference = new StringType(); // bb + return this.instanceReference; } - public boolean hasResourceIdElement() { - return this.resourceId != null && !this.resourceId.isEmpty(); + public boolean hasInstanceReferenceElement() { + return this.instanceReference != null && !this.instanceReference.isEmpty(); } - public boolean hasResourceId() { - return this.resourceId != null && !this.resourceId.isEmpty(); + public boolean hasInstanceReference() { + return this.instanceReference != null && !this.instanceReference.isEmpty(); } /** - * @param value {@link #resourceId} (Each resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getResourceId" gives direct access to the value + * @param value {@link #instanceReference} (A reference to the key of an instance found within this one.). This is the underlying object with id, value and extensions. The accessor "getInstanceReference" gives direct access to the value */ - public ExampleScenarioInstanceContainedInstanceComponent setResourceIdElement(StringType value) { - this.resourceId = value; + public ExampleScenarioInstanceContainedInstanceComponent setInstanceReferenceElement(StringType value) { + this.instanceReference = value; return this; } /** - * @return Each resource contained in the instance. + * @return A reference to the key of an instance found within this one. */ - public String getResourceId() { - return this.resourceId == null ? null : this.resourceId.getValue(); + public String getInstanceReference() { + return this.instanceReference == null ? null : this.instanceReference.getValue(); } /** - * @param value Each resource contained in the instance. + * @param value A reference to the key of an instance found within this one. */ - public ExampleScenarioInstanceContainedInstanceComponent setResourceId(String value) { - if (this.resourceId == null) - this.resourceId = new StringType(); - this.resourceId.setValue(value); + public ExampleScenarioInstanceContainedInstanceComponent setInstanceReference(String value) { + if (this.instanceReference == null) + this.instanceReference = new StringType(); + this.instanceReference.setValue(value); return this; } /** - * @return {@link #versionId} (A specific version of a resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value + * @return {@link #versionReference} (A reference to the key of a specific version of an instance in this instance.). This is the underlying object with id, value and extensions. The accessor "getVersionReference" gives direct access to the value */ - public StringType getVersionIdElement() { - if (this.versionId == null) + public StringType getVersionReferenceElement() { + if (this.versionReference == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.versionId"); + throw new Error("Attempt to auto-create ExampleScenarioInstanceContainedInstanceComponent.versionReference"); else if (Configuration.doAutoCreate()) - this.versionId = new StringType(); // bb - return this.versionId; + this.versionReference = new StringType(); // bb + return this.versionReference; } - public boolean hasVersionIdElement() { - return this.versionId != null && !this.versionId.isEmpty(); + public boolean hasVersionReferenceElement() { + return this.versionReference != null && !this.versionReference.isEmpty(); } - public boolean hasVersionId() { - return this.versionId != null && !this.versionId.isEmpty(); + public boolean hasVersionReference() { + return this.versionReference != null && !this.versionReference.isEmpty(); } /** - * @param value {@link #versionId} (A specific version of a resource contained in the instance.). This is the underlying object with id, value and extensions. The accessor "getVersionId" gives direct access to the value + * @param value {@link #versionReference} (A reference to the key of a specific version of an instance in this instance.). This is the underlying object with id, value and extensions. The accessor "getVersionReference" gives direct access to the value */ - public ExampleScenarioInstanceContainedInstanceComponent setVersionIdElement(StringType value) { - this.versionId = value; + public ExampleScenarioInstanceContainedInstanceComponent setVersionReferenceElement(StringType value) { + this.versionReference = value; return this; } /** - * @return A specific version of a resource contained in the instance. + * @return A reference to the key of a specific version of an instance in this instance. */ - public String getVersionId() { - return this.versionId == null ? null : this.versionId.getValue(); + public String getVersionReference() { + return this.versionReference == null ? null : this.versionReference.getValue(); } /** - * @param value A specific version of a resource contained in the instance. + * @param value A reference to the key of a specific version of an instance in this instance. */ - public ExampleScenarioInstanceContainedInstanceComponent setVersionId(String value) { + public ExampleScenarioInstanceContainedInstanceComponent setVersionReference(String value) { if (Utilities.noString(value)) - this.versionId = null; + this.versionReference = null; else { - if (this.versionId == null) - this.versionId = new StringType(); - this.versionId.setValue(value); + if (this.versionReference == null) + this.versionReference = new StringType(); + this.versionReference.setValue(value); } return this; } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("resourceId", "string", "Each resource contained in the instance.", 0, 1, resourceId)); - children.add(new Property("versionId", "string", "A specific version of a resource contained in the instance.", 0, 1, versionId)); + children.add(new Property("instanceReference", "string", "A reference to the key of an instance found within this one.", 0, 1, instanceReference)); + children.add(new Property("versionReference", "string", "A reference to the key of a specific version of an instance in this instance.", 0, 1, versionReference)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1345650231: /*resourceId*/ return new Property("resourceId", "string", "Each resource contained in the instance.", 0, 1, resourceId); - case -1407102957: /*versionId*/ return new Property("versionId", "string", "A specific version of a resource contained in the instance.", 0, 1, versionId); + case -1675877834: /*instanceReference*/ return new Property("instanceReference", "string", "A reference to the key of an instance found within this one.", 0, 1, instanceReference); + case 357512531: /*versionReference*/ return new Property("versionReference", "string", "A reference to the key of a specific version of an instance in this instance.", 0, 1, versionReference); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1494,8 +1619,8 @@ public class ExampleScenario extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1345650231: /*resourceId*/ return this.resourceId == null ? new Base[0] : new Base[] {this.resourceId}; // StringType - case -1407102957: /*versionId*/ return this.versionId == null ? new Base[0] : new Base[] {this.versionId}; // StringType + case -1675877834: /*instanceReference*/ return this.instanceReference == null ? new Base[0] : new Base[] {this.instanceReference}; // StringType + case 357512531: /*versionReference*/ return this.versionReference == null ? new Base[0] : new Base[] {this.versionReference}; // StringType default: return super.getProperty(hash, name, checkValid); } @@ -1504,11 +1629,11 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1345650231: // resourceId - this.resourceId = TypeConvertor.castToString(value); // StringType + case -1675877834: // instanceReference + this.instanceReference = TypeConvertor.castToString(value); // StringType return value; - case -1407102957: // versionId - this.versionId = TypeConvertor.castToString(value); // StringType + case 357512531: // versionReference + this.versionReference = TypeConvertor.castToString(value); // StringType return value; default: return super.setProperty(hash, name, value); } @@ -1517,10 +1642,10 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("resourceId")) { - this.resourceId = TypeConvertor.castToString(value); // StringType - } else if (name.equals("versionId")) { - this.versionId = TypeConvertor.castToString(value); // StringType + if (name.equals("instanceReference")) { + this.instanceReference = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionReference")) { + this.versionReference = TypeConvertor.castToString(value); // StringType } else return super.setProperty(name, value); return value; @@ -1529,8 +1654,8 @@ public class ExampleScenario extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1345650231: return getResourceIdElement(); - case -1407102957: return getVersionIdElement(); + case -1675877834: return getInstanceReferenceElement(); + case 357512531: return getVersionReferenceElement(); default: return super.makeProperty(hash, name); } @@ -1539,8 +1664,8 @@ public class ExampleScenario extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1345650231: /*resourceId*/ return new String[] {"string"}; - case -1407102957: /*versionId*/ return new String[] {"string"}; + case -1675877834: /*instanceReference*/ return new String[] {"string"}; + case 357512531: /*versionReference*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); } @@ -1548,11 +1673,11 @@ public class ExampleScenario extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("resourceId")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.containedInstance.resourceId"); + if (name.equals("instanceReference")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.containedInstance.instanceReference"); } - else if (name.equals("versionId")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.containedInstance.versionId"); + else if (name.equals("versionReference")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.instance.containedInstance.versionReference"); } else return super.addChild(name); @@ -1566,8 +1691,8 @@ public class ExampleScenario extends CanonicalResource { public void copyValues(ExampleScenarioInstanceContainedInstanceComponent dst) { super.copyValues(dst); - dst.resourceId = resourceId == null ? null : resourceId.copy(); - dst.versionId = versionId == null ? null : versionId.copy(); + dst.instanceReference = instanceReference == null ? null : instanceReference.copy(); + dst.versionReference = versionReference == null ? null : versionReference.copy(); } @Override @@ -1577,7 +1702,7 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioInstanceContainedInstanceComponent)) return false; ExampleScenarioInstanceContainedInstanceComponent o = (ExampleScenarioInstanceContainedInstanceComponent) other_; - return compareDeep(resourceId, o.resourceId, true) && compareDeep(versionId, o.versionId, true) + return compareDeep(instanceReference, o.instanceReference, true) && compareDeep(versionReference, o.versionReference, true) ; } @@ -1588,12 +1713,13 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioInstanceContainedInstanceComponent)) return false; ExampleScenarioInstanceContainedInstanceComponent o = (ExampleScenarioInstanceContainedInstanceComponent) other_; - return compareValues(resourceId, o.resourceId, true) && compareValues(versionId, o.versionId, true) + return compareValues(instanceReference, o.instanceReference, true) && compareValues(versionReference, o.versionReference, true) ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(resourceId, versionId); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(instanceReference, versionReference + ); } public String fhirType() { @@ -1606,38 +1732,38 @@ public class ExampleScenario extends CanonicalResource { @Block() public static class ExampleScenarioProcessComponent extends BackboneElement implements IBaseBackboneElement { /** - * The diagram title of the group of operations. + * A short descriptive label the process to be used in tables or diagrams. */ @Child(name = "title", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="The diagram title of the group of operations", formalDefinition="The diagram title of the group of operations." ) + @Description(shortDefinition="Label for procss", formalDefinition="A short descriptive label the process to be used in tables or diagrams." ) protected StringType title; /** - * A longer description of the group of operations. + * An explanation of what the process represents and what it does. */ @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="A longer description of the group of operations", formalDefinition="A longer description of the group of operations." ) + @Description(shortDefinition="Human-friendly description of the process", formalDefinition="An explanation of what the process represents and what it does." ) protected MarkdownType description; /** - * Description of initial status before the process starts. + * Description of the initial state of the actors, environment and data before the process starts. */ @Child(name = "preConditions", type = {MarkdownType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Description of initial status before the process starts", formalDefinition="Description of initial status before the process starts." ) + @Description(shortDefinition="Status before process starts", formalDefinition="Description of the initial state of the actors, environment and data before the process starts." ) protected MarkdownType preConditions; /** - * Description of final status after the process ends. + * Description of the final state of the actors, environment and data after the process has been successfully completed. */ @Child(name = "postConditions", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Description of final status after the process ends", formalDefinition="Description of final status after the process ends." ) + @Description(shortDefinition="Status after successful completion", formalDefinition="Description of the final state of the actors, environment and data after the process has been successfully completed." ) protected MarkdownType postConditions; /** - * Each step of the process. + * A significant action that occurs as part of the process. */ @Child(name = "step", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Each step of the process", formalDefinition="Each step of the process." ) + @Description(shortDefinition="Event within of the process", formalDefinition="A significant action that occurs as part of the process." ) protected List step; private static final long serialVersionUID = 325578043L; @@ -1658,7 +1784,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #title} (The diagram title of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + * @return {@link #title} (A short descriptive label the process to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ public StringType getTitleElement() { if (this.title == null) @@ -1678,7 +1804,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #title} (The diagram title of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + * @param value {@link #title} (A short descriptive label the process to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ public ExampleScenarioProcessComponent setTitleElement(StringType value) { this.title = value; @@ -1686,14 +1812,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return The diagram title of the group of operations. + * @return A short descriptive label the process to be used in tables or diagrams. */ public String getTitle() { return this.title == null ? null : this.title.getValue(); } /** - * @param value The diagram title of the group of operations. + * @param value A short descriptive label the process to be used in tables or diagrams. */ public ExampleScenarioProcessComponent setTitle(String value) { if (this.title == null) @@ -1703,7 +1829,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #description} (A longer description of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #description} (An explanation of what the process represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public MarkdownType getDescriptionElement() { if (this.description == null) @@ -1723,7 +1849,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #description} (A longer description of the group of operations.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #description} (An explanation of what the process represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public ExampleScenarioProcessComponent setDescriptionElement(MarkdownType value) { this.description = value; @@ -1731,14 +1857,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return A longer description of the group of operations. + * @return An explanation of what the process represents and what it does. */ public String getDescription() { return this.description == null ? null : this.description.getValue(); } /** - * @param value A longer description of the group of operations. + * @param value An explanation of what the process represents and what it does. */ public ExampleScenarioProcessComponent setDescription(String value) { if (value == null) @@ -1752,7 +1878,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #preConditions} (Description of initial status before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value + * @return {@link #preConditions} (Description of the initial state of the actors, environment and data before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value */ public MarkdownType getPreConditionsElement() { if (this.preConditions == null) @@ -1772,7 +1898,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #preConditions} (Description of initial status before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value + * @param value {@link #preConditions} (Description of the initial state of the actors, environment and data before the process starts.). This is the underlying object with id, value and extensions. The accessor "getPreConditions" gives direct access to the value */ public ExampleScenarioProcessComponent setPreConditionsElement(MarkdownType value) { this.preConditions = value; @@ -1780,14 +1906,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Description of initial status before the process starts. + * @return Description of the initial state of the actors, environment and data before the process starts. */ public String getPreConditions() { return this.preConditions == null ? null : this.preConditions.getValue(); } /** - * @param value Description of initial status before the process starts. + * @param value Description of the initial state of the actors, environment and data before the process starts. */ public ExampleScenarioProcessComponent setPreConditions(String value) { if (value == null) @@ -1801,7 +1927,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #postConditions} (Description of final status after the process ends.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value + * @return {@link #postConditions} (Description of the final state of the actors, environment and data after the process has been successfully completed.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value */ public MarkdownType getPostConditionsElement() { if (this.postConditions == null) @@ -1821,7 +1947,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #postConditions} (Description of final status after the process ends.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value + * @param value {@link #postConditions} (Description of the final state of the actors, environment and data after the process has been successfully completed.). This is the underlying object with id, value and extensions. The accessor "getPostConditions" gives direct access to the value */ public ExampleScenarioProcessComponent setPostConditionsElement(MarkdownType value) { this.postConditions = value; @@ -1829,14 +1955,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Description of final status after the process ends. + * @return Description of the final state of the actors, environment and data after the process has been successfully completed. */ public String getPostConditions() { return this.postConditions == null ? null : this.postConditions.getValue(); } /** - * @param value Description of final status after the process ends. + * @param value Description of the final state of the actors, environment and data after the process has been successfully completed. */ public ExampleScenarioProcessComponent setPostConditions(String value) { if (value == null) @@ -1850,7 +1976,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #step} (Each step of the process.) + * @return {@link #step} (A significant action that occurs as part of the process.) */ public List getStep() { if (this.step == null) @@ -1904,21 +2030,21 @@ public class ExampleScenario extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("title", "string", "The diagram title of the group of operations.", 0, 1, title)); - children.add(new Property("description", "markdown", "A longer description of the group of operations.", 0, 1, description)); - children.add(new Property("preConditions", "markdown", "Description of initial status before the process starts.", 0, 1, preConditions)); - children.add(new Property("postConditions", "markdown", "Description of final status after the process ends.", 0, 1, postConditions)); - children.add(new Property("step", "", "Each step of the process.", 0, java.lang.Integer.MAX_VALUE, step)); + children.add(new Property("title", "string", "A short descriptive label the process to be used in tables or diagrams.", 0, 1, title)); + children.add(new Property("description", "markdown", "An explanation of what the process represents and what it does.", 0, 1, description)); + children.add(new Property("preConditions", "markdown", "Description of the initial state of the actors, environment and data before the process starts.", 0, 1, preConditions)); + children.add(new Property("postConditions", "markdown", "Description of the final state of the actors, environment and data after the process has been successfully completed.", 0, 1, postConditions)); + children.add(new Property("step", "", "A significant action that occurs as part of the process.", 0, java.lang.Integer.MAX_VALUE, step)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 110371416: /*title*/ return new Property("title", "string", "The diagram title of the group of operations.", 0, 1, title); - case -1724546052: /*description*/ return new Property("description", "markdown", "A longer description of the group of operations.", 0, 1, description); - case -1006692933: /*preConditions*/ return new Property("preConditions", "markdown", "Description of initial status before the process starts.", 0, 1, preConditions); - case 1738302328: /*postConditions*/ return new Property("postConditions", "markdown", "Description of final status after the process ends.", 0, 1, postConditions); - case 3540684: /*step*/ return new Property("step", "", "Each step of the process.", 0, java.lang.Integer.MAX_VALUE, step); + case 110371416: /*title*/ return new Property("title", "string", "A short descriptive label the process to be used in tables or diagrams.", 0, 1, title); + case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what the process represents and what it does.", 0, 1, description); + case -1006692933: /*preConditions*/ return new Property("preConditions", "markdown", "Description of the initial state of the actors, environment and data before the process starts.", 0, 1, preConditions); + case 1738302328: /*postConditions*/ return new Property("postConditions", "markdown", "Description of the final state of the actors, environment and data after the process has been successfully completed.", 0, 1, postConditions); + case 3540684: /*step*/ return new Property("step", "", "A significant action that occurs as part of the process.", 0, java.lang.Integer.MAX_VALUE, step); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2080,34 +2206,48 @@ public class ExampleScenario extends CanonicalResource { @Block() public static class ExampleScenarioProcessStepComponent extends BackboneElement implements IBaseBackboneElement { /** - * Nested process. + * The sequential number of the step, e.g. 1.2.5. */ - @Child(name = "process", type = {ExampleScenarioProcessComponent.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Nested process", formalDefinition="Nested process." ) - protected List process; + @Child(name = "number", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Sequential number of the step", formalDefinition="The sequential number of the step, e.g. 1.2.5." ) + protected StringType number; /** - * If there is a pause in the flow. + * Indicates that the step is a complex sub-process with its own steps. */ - @Child(name = "pause", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="If there is a pause in the flow", formalDefinition="If there is a pause in the flow." ) - protected BooleanType pause; + @Child(name = "process", type = {ExampleScenarioProcessComponent.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Step is nested process", formalDefinition="Indicates that the step is a complex sub-process with its own steps." ) + protected ExampleScenarioProcessComponent process; /** - * Each interaction or action. + * Indicates that the step is defined by a seaparate scenario instance. */ - @Child(name = "operation", type = {}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Each interaction or action", formalDefinition="Each interaction or action." ) + @Child(name = "workflow", type = {CanonicalType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Step is nested workflow", formalDefinition="Indicates that the step is defined by a seaparate scenario instance." ) + protected CanonicalType workflow; + + /** + * The step represents a single operation invoked on receiver by sender. + */ + @Child(name = "operation", type = {}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Step is simple action", formalDefinition="The step represents a single operation invoked on receiver by sender." ) protected ExampleScenarioProcessStepOperationComponent operation; /** - * Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances. + * Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances. */ - @Child(name = "alternative", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Alternate non-typical step action", formalDefinition="Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances." ) + @Child(name = "alternative", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Alternate non-typical step action", formalDefinition="Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances." ) protected List alternative; - private static final long serialVersionUID = -894029605L; + /** + * If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event). + */ + @Child(name = "pause", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Pause in the flow?", formalDefinition="If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event)." ) + protected BooleanType pause; + + private static final long serialVersionUID = 674607242L; /** * Constructor @@ -2117,105 +2257,129 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #process} (Nested process.) + * @return {@link #number} (The sequential number of the step, e.g. 1.2.5.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value */ - public List getProcess() { + public StringType getNumberElement() { + if (this.number == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.number"); + else if (Configuration.doAutoCreate()) + this.number = new StringType(); // bb + return this.number; + } + + public boolean hasNumberElement() { + return this.number != null && !this.number.isEmpty(); + } + + public boolean hasNumber() { + return this.number != null && !this.number.isEmpty(); + } + + /** + * @param value {@link #number} (The sequential number of the step, e.g. 1.2.5.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value + */ + public ExampleScenarioProcessStepComponent setNumberElement(StringType value) { + this.number = value; + return this; + } + + /** + * @return The sequential number of the step, e.g. 1.2.5. + */ + public String getNumber() { + return this.number == null ? null : this.number.getValue(); + } + + /** + * @param value The sequential number of the step, e.g. 1.2.5. + */ + public ExampleScenarioProcessStepComponent setNumber(String value) { + if (Utilities.noString(value)) + this.number = null; + else { + if (this.number == null) + this.number = new StringType(); + this.number.setValue(value); + } + return this; + } + + /** + * @return {@link #process} (Indicates that the step is a complex sub-process with its own steps.) + */ + public ExampleScenarioProcessComponent getProcess() { if (this.process == null) - this.process = new ArrayList(); + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.process"); + else if (Configuration.doAutoCreate()) + this.process = new ExampleScenarioProcessComponent(); // cc return this.process; } - /** - * @return Returns a reference to this for easy method chaining - */ - public ExampleScenarioProcessStepComponent setProcess(List theProcess) { - this.process = theProcess; - return this; - } - public boolean hasProcess() { - if (this.process == null) - return false; - for (ExampleScenarioProcessComponent item : this.process) - if (!item.isEmpty()) - return true; - return false; + return this.process != null && !this.process.isEmpty(); } - public ExampleScenarioProcessComponent addProcess() { //3 - ExampleScenarioProcessComponent t = new ExampleScenarioProcessComponent(); - if (this.process == null) - this.process = new ArrayList(); - this.process.add(t); - return t; - } - - public ExampleScenarioProcessStepComponent addProcess(ExampleScenarioProcessComponent t) { //3 - if (t == null) - return this; - if (this.process == null) - this.process = new ArrayList(); - this.process.add(t); + /** + * @param value {@link #process} (Indicates that the step is a complex sub-process with its own steps.) + */ + public ExampleScenarioProcessStepComponent setProcess(ExampleScenarioProcessComponent value) { + this.process = value; return this; } /** - * @return The first repetition of repeating field {@link #process}, creating it if it does not already exist {3} + * @return {@link #workflow} (Indicates that the step is defined by a seaparate scenario instance.). This is the underlying object with id, value and extensions. The accessor "getWorkflow" gives direct access to the value */ - public ExampleScenarioProcessComponent getProcessFirstRep() { - if (getProcess().isEmpty()) { - addProcess(); - } - return getProcess().get(0); - } - - /** - * @return {@link #pause} (If there is a pause in the flow.). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value - */ - public BooleanType getPauseElement() { - if (this.pause == null) + public CanonicalType getWorkflowElement() { + if (this.workflow == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.pause"); + throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.workflow"); else if (Configuration.doAutoCreate()) - this.pause = new BooleanType(); // bb - return this.pause; + this.workflow = new CanonicalType(); // bb + return this.workflow; } - public boolean hasPauseElement() { - return this.pause != null && !this.pause.isEmpty(); + public boolean hasWorkflowElement() { + return this.workflow != null && !this.workflow.isEmpty(); } - public boolean hasPause() { - return this.pause != null && !this.pause.isEmpty(); + public boolean hasWorkflow() { + return this.workflow != null && !this.workflow.isEmpty(); } /** - * @param value {@link #pause} (If there is a pause in the flow.). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value + * @param value {@link #workflow} (Indicates that the step is defined by a seaparate scenario instance.). This is the underlying object with id, value and extensions. The accessor "getWorkflow" gives direct access to the value */ - public ExampleScenarioProcessStepComponent setPauseElement(BooleanType value) { - this.pause = value; + public ExampleScenarioProcessStepComponent setWorkflowElement(CanonicalType value) { + this.workflow = value; return this; } /** - * @return If there is a pause in the flow. + * @return Indicates that the step is defined by a seaparate scenario instance. */ - public boolean getPause() { - return this.pause == null || this.pause.isEmpty() ? false : this.pause.getValue(); + public String getWorkflow() { + return this.workflow == null ? null : this.workflow.getValue(); } /** - * @param value If there is a pause in the flow. + * @param value Indicates that the step is defined by a seaparate scenario instance. */ - public ExampleScenarioProcessStepComponent setPause(boolean value) { - if (this.pause == null) - this.pause = new BooleanType(); - this.pause.setValue(value); + public ExampleScenarioProcessStepComponent setWorkflow(String value) { + if (Utilities.noString(value)) + this.workflow = null; + else { + if (this.workflow == null) + this.workflow = new CanonicalType(); + this.workflow.setValue(value); + } return this; } /** - * @return {@link #operation} (Each interaction or action.) + * @return {@link #operation} (The step represents a single operation invoked on receiver by sender.) */ public ExampleScenarioProcessStepOperationComponent getOperation() { if (this.operation == null) @@ -2231,7 +2395,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #operation} (Each interaction or action.) + * @param value {@link #operation} (The step represents a single operation invoked on receiver by sender.) */ public ExampleScenarioProcessStepComponent setOperation(ExampleScenarioProcessStepOperationComponent value) { this.operation = value; @@ -2239,7 +2403,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #alternative} (Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.) + * @return {@link #alternative} (Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances.) */ public List getAlternative() { if (this.alternative == null) @@ -2291,21 +2455,70 @@ public class ExampleScenario extends CanonicalResource { return getAlternative().get(0); } + /** + * @return {@link #pause} (If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value + */ + public BooleanType getPauseElement() { + if (this.pause == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenarioProcessStepComponent.pause"); + else if (Configuration.doAutoCreate()) + this.pause = new BooleanType(); // bb + return this.pause; + } + + public boolean hasPauseElement() { + return this.pause != null && !this.pause.isEmpty(); + } + + public boolean hasPause() { + return this.pause != null && !this.pause.isEmpty(); + } + + /** + * @param value {@link #pause} (If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).). This is the underlying object with id, value and extensions. The accessor "getPause" gives direct access to the value + */ + public ExampleScenarioProcessStepComponent setPauseElement(BooleanType value) { + this.pause = value; + return this; + } + + /** + * @return If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event). + */ + public boolean getPause() { + return this.pause == null || this.pause.isEmpty() ? false : this.pause.getValue(); + } + + /** + * @param value If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event). + */ + public ExampleScenarioProcessStepComponent setPause(boolean value) { + if (this.pause == null) + this.pause = new BooleanType(); + this.pause.setValue(value); + return this; + } + protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("process", "@ExampleScenario.process", "Nested process.", 0, java.lang.Integer.MAX_VALUE, process)); - children.add(new Property("pause", "boolean", "If there is a pause in the flow.", 0, 1, pause)); - children.add(new Property("operation", "", "Each interaction or action.", 0, 1, operation)); - children.add(new Property("alternative", "", "Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.", 0, java.lang.Integer.MAX_VALUE, alternative)); + children.add(new Property("number", "string", "The sequential number of the step, e.g. 1.2.5.", 0, 1, number)); + children.add(new Property("process", "@ExampleScenario.process", "Indicates that the step is a complex sub-process with its own steps.", 0, 1, process)); + children.add(new Property("workflow", "canonical(ExampleScenario)", "Indicates that the step is defined by a seaparate scenario instance.", 0, 1, workflow)); + children.add(new Property("operation", "", "The step represents a single operation invoked on receiver by sender.", 0, 1, operation)); + children.add(new Property("alternative", "", "Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances.", 0, java.lang.Integer.MAX_VALUE, alternative)); + children.add(new Property("pause", "boolean", "If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).", 0, 1, pause)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -309518737: /*process*/ return new Property("process", "@ExampleScenario.process", "Nested process.", 0, java.lang.Integer.MAX_VALUE, process); - case 106440182: /*pause*/ return new Property("pause", "boolean", "If there is a pause in the flow.", 0, 1, pause); - case 1662702951: /*operation*/ return new Property("operation", "", "Each interaction or action.", 0, 1, operation); - case -196794451: /*alternative*/ return new Property("alternative", "", "Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstances.", 0, java.lang.Integer.MAX_VALUE, alternative); + case -1034364087: /*number*/ return new Property("number", "string", "The sequential number of the step, e.g. 1.2.5.", 0, 1, number); + case -309518737: /*process*/ return new Property("process", "@ExampleScenario.process", "Indicates that the step is a complex sub-process with its own steps.", 0, 1, process); + case 35379135: /*workflow*/ return new Property("workflow", "canonical(ExampleScenario)", "Indicates that the step is defined by a seaparate scenario instance.", 0, 1, workflow); + case 1662702951: /*operation*/ return new Property("operation", "", "The step represents a single operation invoked on receiver by sender.", 0, 1, operation); + case -196794451: /*alternative*/ return new Property("alternative", "", "Indicates an alternative step that can be taken instead of the sub-process, scenario or operation. E.g. to represent non-happy-path/exceptional/atypical circumstances.", 0, java.lang.Integer.MAX_VALUE, alternative); + case 106440182: /*pause*/ return new Property("pause", "boolean", "If true, indicates that, following this step, there is a pause in the flow and the subsequent step will occur at some later time (triggered by some event).", 0, 1, pause); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2314,10 +2527,12 @@ public class ExampleScenario extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -309518737: /*process*/ return this.process == null ? new Base[0] : this.process.toArray(new Base[this.process.size()]); // ExampleScenarioProcessComponent - case 106440182: /*pause*/ return this.pause == null ? new Base[0] : new Base[] {this.pause}; // BooleanType + case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // StringType + case -309518737: /*process*/ return this.process == null ? new Base[0] : new Base[] {this.process}; // ExampleScenarioProcessComponent + case 35379135: /*workflow*/ return this.workflow == null ? new Base[0] : new Base[] {this.workflow}; // CanonicalType case 1662702951: /*operation*/ return this.operation == null ? new Base[0] : new Base[] {this.operation}; // ExampleScenarioProcessStepOperationComponent case -196794451: /*alternative*/ return this.alternative == null ? new Base[0] : this.alternative.toArray(new Base[this.alternative.size()]); // ExampleScenarioProcessStepAlternativeComponent + case 106440182: /*pause*/ return this.pause == null ? new Base[0] : new Base[] {this.pause}; // BooleanType default: return super.getProperty(hash, name, checkValid); } @@ -2326,11 +2541,14 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -309518737: // process - this.getProcess().add((ExampleScenarioProcessComponent) value); // ExampleScenarioProcessComponent + case -1034364087: // number + this.number = TypeConvertor.castToString(value); // StringType return value; - case 106440182: // pause - this.pause = TypeConvertor.castToBoolean(value); // BooleanType + case -309518737: // process + this.process = (ExampleScenarioProcessComponent) value; // ExampleScenarioProcessComponent + return value; + case 35379135: // workflow + this.workflow = TypeConvertor.castToCanonical(value); // CanonicalType return value; case 1662702951: // operation this.operation = (ExampleScenarioProcessStepOperationComponent) value; // ExampleScenarioProcessStepOperationComponent @@ -2338,6 +2556,9 @@ public class ExampleScenario extends CanonicalResource { case -196794451: // alternative this.getAlternative().add((ExampleScenarioProcessStepAlternativeComponent) value); // ExampleScenarioProcessStepAlternativeComponent return value; + case 106440182: // pause + this.pause = TypeConvertor.castToBoolean(value); // BooleanType + return value; default: return super.setProperty(hash, name, value); } @@ -2345,14 +2566,18 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("process")) { - this.getProcess().add((ExampleScenarioProcessComponent) value); - } else if (name.equals("pause")) { - this.pause = TypeConvertor.castToBoolean(value); // BooleanType + if (name.equals("number")) { + this.number = TypeConvertor.castToString(value); // StringType + } else if (name.equals("process")) { + this.process = (ExampleScenarioProcessComponent) value; // ExampleScenarioProcessComponent + } else if (name.equals("workflow")) { + this.workflow = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("operation")) { this.operation = (ExampleScenarioProcessStepOperationComponent) value; // ExampleScenarioProcessStepOperationComponent } else if (name.equals("alternative")) { this.getAlternative().add((ExampleScenarioProcessStepAlternativeComponent) value); + } else if (name.equals("pause")) { + this.pause = TypeConvertor.castToBoolean(value); // BooleanType } else return super.setProperty(name, value); return value; @@ -2361,10 +2586,12 @@ public class ExampleScenario extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -309518737: return addProcess(); - case 106440182: return getPauseElement(); + case -1034364087: return getNumberElement(); + case -309518737: return getProcess(); + case 35379135: return getWorkflowElement(); case 1662702951: return getOperation(); case -196794451: return addAlternative(); + case 106440182: return getPauseElement(); default: return super.makeProperty(hash, name); } @@ -2373,10 +2600,12 @@ public class ExampleScenario extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { + case -1034364087: /*number*/ return new String[] {"string"}; case -309518737: /*process*/ return new String[] {"@ExampleScenario.process"}; - case 106440182: /*pause*/ return new String[] {"boolean"}; + case 35379135: /*workflow*/ return new String[] {"canonical"}; case 1662702951: /*operation*/ return new String[] {}; case -196794451: /*alternative*/ return new String[] {}; + case 106440182: /*pause*/ return new String[] {"boolean"}; default: return super.getTypesForProperty(hash, name); } @@ -2384,11 +2613,15 @@ public class ExampleScenario extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("process")) { - return addProcess(); + if (name.equals("number")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.number"); } - else if (name.equals("pause")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.pause"); + else if (name.equals("process")) { + this.process = new ExampleScenarioProcessComponent(); + return this.process; + } + else if (name.equals("workflow")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.workflow"); } else if (name.equals("operation")) { this.operation = new ExampleScenarioProcessStepOperationComponent(); @@ -2397,6 +2630,9 @@ public class ExampleScenario extends CanonicalResource { else if (name.equals("alternative")) { return addAlternative(); } + else if (name.equals("pause")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.pause"); + } else return super.addChild(name); } @@ -2409,18 +2645,16 @@ public class ExampleScenario extends CanonicalResource { public void copyValues(ExampleScenarioProcessStepComponent dst) { super.copyValues(dst); - if (process != null) { - dst.process = new ArrayList(); - for (ExampleScenarioProcessComponent i : process) - dst.process.add(i.copy()); - }; - dst.pause = pause == null ? null : pause.copy(); + dst.number = number == null ? null : number.copy(); + dst.process = process == null ? null : process.copy(); + dst.workflow = workflow == null ? null : workflow.copy(); dst.operation = operation == null ? null : operation.copy(); if (alternative != null) { dst.alternative = new ArrayList(); for (ExampleScenarioProcessStepAlternativeComponent i : alternative) dst.alternative.add(i.copy()); }; + dst.pause = pause == null ? null : pause.copy(); } @Override @@ -2430,8 +2664,9 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioProcessStepComponent)) return false; ExampleScenarioProcessStepComponent o = (ExampleScenarioProcessStepComponent) other_; - return compareDeep(process, o.process, true) && compareDeep(pause, o.pause, true) && compareDeep(operation, o.operation, true) - && compareDeep(alternative, o.alternative, true); + return compareDeep(number, o.number, true) && compareDeep(process, o.process, true) && compareDeep(workflow, o.workflow, true) + && compareDeep(operation, o.operation, true) && compareDeep(alternative, o.alternative, true) && compareDeep(pause, o.pause, true) + ; } @Override @@ -2441,12 +2676,13 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioProcessStepComponent)) return false; ExampleScenarioProcessStepComponent o = (ExampleScenarioProcessStepComponent) other_; - return compareValues(pause, o.pause, true); + return compareValues(number, o.number, true) && compareValues(workflow, o.workflow, true) && compareValues(pause, o.pause, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(process, pause, operation - , alternative); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(number, process, workflow + , operation, alternative, pause); } public String fhirType() { @@ -2459,76 +2695,70 @@ public class ExampleScenario extends CanonicalResource { @Block() public static class ExampleScenarioProcessStepOperationComponent extends BackboneElement implements IBaseBackboneElement { /** - * The sequential number of the interaction, e.g. 1.2.5. + * The standardized type of action (FHIR or otherwise). */ - @Child(name = "number", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The sequential number of the interaction", formalDefinition="The sequential number of the interaction, e.g. 1.2.5." ) - protected StringType number; + @Child(name = "type", type = {Coding.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Kind of action", formalDefinition="The standardized type of action (FHIR or otherwise)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/testscript-operation-codes") + protected Coding type; /** - * The type of operation - CRUD. + * A short descriptive label the step to be used in tables or diagrams. */ - @Child(name = "type", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The type of operation - CRUD", formalDefinition="The type of operation - CRUD." ) - protected StringType type; + @Child(name = "title", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Label for step", formalDefinition="A short descriptive label the step to be used in tables or diagrams." ) + protected StringType title; /** - * The human-friendly name of the interaction. + * The system that invokes the action/transmits the data. */ - @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="The human-friendly name of the interaction", formalDefinition="The human-friendly name of the interaction." ) - protected StringType name; - - /** - * Who starts the transaction. - */ - @Child(name = "initiator", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Who starts the transaction", formalDefinition="Who starts the transaction." ) + @Child(name = "initiator", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who starts the operation", formalDefinition="The system that invokes the action/transmits the data." ) protected StringType initiator; /** - * Who receives the transaction. + * The system on which the action is invoked/receives the data. */ - @Child(name = "receiver", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Who receives the transaction", formalDefinition="Who receives the transaction." ) + @Child(name = "receiver", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who receives the operation", formalDefinition="The system on which the action is invoked/receives the data." ) protected StringType receiver; /** - * A comment to be inserted in the diagram. + * An explanation of what the operation represents and what it does. */ - @Child(name = "description", type = {MarkdownType.class}, order=6, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="A comment to be inserted in the diagram", formalDefinition="A comment to be inserted in the diagram." ) + @Child(name = "description", type = {MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Human-friendly description of the operation", formalDefinition="An explanation of what the operation represents and what it does." ) protected MarkdownType description; /** - * Whether the initiator is deactivated right after the transaction. + * If false, the initiator is deactivated right after the operation. */ - @Child(name = "initiatorActive", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Whether the initiator is deactivated right after the transaction", formalDefinition="Whether the initiator is deactivated right after the transaction." ) + @Child(name = "initiatorActive", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Initiator stays active?", formalDefinition="If false, the initiator is deactivated right after the operation." ) protected BooleanType initiatorActive; /** - * Whether the receiver is deactivated right after the transaction. + * If false, the receiver is deactivated right after the operation. */ - @Child(name = "receiverActive", type = {BooleanType.class}, order=8, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Whether the receiver is deactivated right after the transaction", formalDefinition="Whether the receiver is deactivated right after the transaction." ) + @Child(name = "receiverActive", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Receiver stays active?", formalDefinition="If false, the receiver is deactivated right after the operation." ) protected BooleanType receiverActive; /** - * Each resource instance used by the initiator. + * A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation. */ - @Child(name = "request", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=9, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Each resource instance used by the initiator", formalDefinition="Each resource instance used by the initiator." ) + @Child(name = "request", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Instance transmitted on invocation", formalDefinition="A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation." ) protected ExampleScenarioInstanceContainedInstanceComponent request; /** - * Each resource instance used by the responder. + * A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any). */ - @Child(name = "response", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=10, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Each resource instance used by the responder", formalDefinition="Each resource instance used by the responder." ) + @Child(name = "response", type = {ExampleScenarioInstanceContainedInstanceComponent.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Instance transmitted on invocation response", formalDefinition="A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any)." ) protected ExampleScenarioInstanceContainedInstanceComponent response; - private static final long serialVersionUID = 911241906L; + private static final long serialVersionUID = -252586646L; /** * Constructor @@ -2540,156 +2770,82 @@ public class ExampleScenario extends CanonicalResource { /** * Constructor */ - public ExampleScenarioProcessStepOperationComponent(String number) { + public ExampleScenarioProcessStepOperationComponent(String title) { super(); - this.setNumber(number); + this.setTitle(title); } /** - * @return {@link #number} (The sequential number of the interaction, e.g. 1.2.5.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value + * @return {@link #type} (The standardized type of action (FHIR or otherwise).) */ - public StringType getNumberElement() { - if (this.number == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.number"); - else if (Configuration.doAutoCreate()) - this.number = new StringType(); // bb - return this.number; - } - - public boolean hasNumberElement() { - return this.number != null && !this.number.isEmpty(); - } - - public boolean hasNumber() { - return this.number != null && !this.number.isEmpty(); - } - - /** - * @param value {@link #number} (The sequential number of the interaction, e.g. 1.2.5.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value - */ - public ExampleScenarioProcessStepOperationComponent setNumberElement(StringType value) { - this.number = value; - return this; - } - - /** - * @return The sequential number of the interaction, e.g. 1.2.5. - */ - public String getNumber() { - return this.number == null ? null : this.number.getValue(); - } - - /** - * @param value The sequential number of the interaction, e.g. 1.2.5. - */ - public ExampleScenarioProcessStepOperationComponent setNumber(String value) { - if (this.number == null) - this.number = new StringType(); - this.number.setValue(value); - return this; - } - - /** - * @return {@link #type} (The type of operation - CRUD.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public StringType getTypeElement() { + public Coding getType() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.type"); else if (Configuration.doAutoCreate()) - this.type = new StringType(); // bb + this.type = new Coding(); // cc return this.type; } - public boolean hasTypeElement() { - return this.type != null && !this.type.isEmpty(); - } - public boolean hasType() { return this.type != null && !this.type.isEmpty(); } /** - * @param value {@link #type} (The type of operation - CRUD.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + * @param value {@link #type} (The standardized type of action (FHIR or otherwise).) */ - public ExampleScenarioProcessStepOperationComponent setTypeElement(StringType value) { + public ExampleScenarioProcessStepOperationComponent setType(Coding value) { this.type = value; return this; } /** - * @return The type of operation - CRUD. + * @return {@link #title} (A short descriptive label the step to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ - public String getType() { - return this.type == null ? null : this.type.getValue(); - } - - /** - * @param value The type of operation - CRUD. - */ - public ExampleScenarioProcessStepOperationComponent setType(String value) { - if (Utilities.noString(value)) - this.type = null; - else { - if (this.type == null) - this.type = new StringType(); - this.type.setValue(value); - } - return this; - } - - /** - * @return {@link #name} (The human-friendly name of the interaction.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value - */ - public StringType getNameElement() { - if (this.name == null) + public StringType getTitleElement() { + if (this.title == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.name"); + throw new Error("Attempt to auto-create ExampleScenarioProcessStepOperationComponent.title"); else if (Configuration.doAutoCreate()) - this.name = new StringType(); // bb - return this.name; + this.title = new StringType(); // bb + return this.title; } - public boolean hasNameElement() { - return this.name != null && !this.name.isEmpty(); + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); } - public boolean hasName() { - return this.name != null && !this.name.isEmpty(); + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); } /** - * @param value {@link #name} (The human-friendly name of the interaction.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #title} (A short descriptive label the step to be used in tables or diagrams.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ - public ExampleScenarioProcessStepOperationComponent setNameElement(StringType value) { - this.name = value; + public ExampleScenarioProcessStepOperationComponent setTitleElement(StringType value) { + this.title = value; return this; } /** - * @return The human-friendly name of the interaction. + * @return A short descriptive label the step to be used in tables or diagrams. */ - public String getName() { - return this.name == null ? null : this.name.getValue(); + public String getTitle() { + return this.title == null ? null : this.title.getValue(); } /** - * @param value The human-friendly name of the interaction. + * @param value A short descriptive label the step to be used in tables or diagrams. */ - public ExampleScenarioProcessStepOperationComponent setName(String value) { - if (Utilities.noString(value)) - this.name = null; - else { - if (this.name == null) - this.name = new StringType(); - this.name.setValue(value); - } + public ExampleScenarioProcessStepOperationComponent setTitle(String value) { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); return this; } /** - * @return {@link #initiator} (Who starts the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value + * @return {@link #initiator} (The system that invokes the action/transmits the data.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value */ public StringType getInitiatorElement() { if (this.initiator == null) @@ -2709,7 +2865,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #initiator} (Who starts the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value + * @param value {@link #initiator} (The system that invokes the action/transmits the data.). This is the underlying object with id, value and extensions. The accessor "getInitiator" gives direct access to the value */ public ExampleScenarioProcessStepOperationComponent setInitiatorElement(StringType value) { this.initiator = value; @@ -2717,14 +2873,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Who starts the transaction. + * @return The system that invokes the action/transmits the data. */ public String getInitiator() { return this.initiator == null ? null : this.initiator.getValue(); } /** - * @param value Who starts the transaction. + * @param value The system that invokes the action/transmits the data. */ public ExampleScenarioProcessStepOperationComponent setInitiator(String value) { if (Utilities.noString(value)) @@ -2738,7 +2894,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #receiver} (Who receives the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value + * @return {@link #receiver} (The system on which the action is invoked/receives the data.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value */ public StringType getReceiverElement() { if (this.receiver == null) @@ -2758,7 +2914,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #receiver} (Who receives the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value + * @param value {@link #receiver} (The system on which the action is invoked/receives the data.). This is the underlying object with id, value and extensions. The accessor "getReceiver" gives direct access to the value */ public ExampleScenarioProcessStepOperationComponent setReceiverElement(StringType value) { this.receiver = value; @@ -2766,14 +2922,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Who receives the transaction. + * @return The system on which the action is invoked/receives the data. */ public String getReceiver() { return this.receiver == null ? null : this.receiver.getValue(); } /** - * @param value Who receives the transaction. + * @param value The system on which the action is invoked/receives the data. */ public ExampleScenarioProcessStepOperationComponent setReceiver(String value) { if (Utilities.noString(value)) @@ -2787,7 +2943,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #description} (A comment to be inserted in the diagram.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #description} (An explanation of what the operation represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public MarkdownType getDescriptionElement() { if (this.description == null) @@ -2807,7 +2963,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #description} (A comment to be inserted in the diagram.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #description} (An explanation of what the operation represents and what it does.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public ExampleScenarioProcessStepOperationComponent setDescriptionElement(MarkdownType value) { this.description = value; @@ -2815,14 +2971,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return A comment to be inserted in the diagram. + * @return An explanation of what the operation represents and what it does. */ public String getDescription() { return this.description == null ? null : this.description.getValue(); } /** - * @param value A comment to be inserted in the diagram. + * @param value An explanation of what the operation represents and what it does. */ public ExampleScenarioProcessStepOperationComponent setDescription(String value) { if (value == null) @@ -2836,7 +2992,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #initiatorActive} (Whether the initiator is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value + * @return {@link #initiatorActive} (If false, the initiator is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value */ public BooleanType getInitiatorActiveElement() { if (this.initiatorActive == null) @@ -2856,7 +3012,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #initiatorActive} (Whether the initiator is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value + * @param value {@link #initiatorActive} (If false, the initiator is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getInitiatorActive" gives direct access to the value */ public ExampleScenarioProcessStepOperationComponent setInitiatorActiveElement(BooleanType value) { this.initiatorActive = value; @@ -2864,14 +3020,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Whether the initiator is deactivated right after the transaction. + * @return If false, the initiator is deactivated right after the operation. */ public boolean getInitiatorActive() { return this.initiatorActive == null || this.initiatorActive.isEmpty() ? false : this.initiatorActive.getValue(); } /** - * @param value Whether the initiator is deactivated right after the transaction. + * @param value If false, the initiator is deactivated right after the operation. */ public ExampleScenarioProcessStepOperationComponent setInitiatorActive(boolean value) { if (this.initiatorActive == null) @@ -2881,7 +3037,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #receiverActive} (Whether the receiver is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value + * @return {@link #receiverActive} (If false, the receiver is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value */ public BooleanType getReceiverActiveElement() { if (this.receiverActive == null) @@ -2901,7 +3057,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #receiverActive} (Whether the receiver is deactivated right after the transaction.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value + * @param value {@link #receiverActive} (If false, the receiver is deactivated right after the operation.). This is the underlying object with id, value and extensions. The accessor "getReceiverActive" gives direct access to the value */ public ExampleScenarioProcessStepOperationComponent setReceiverActiveElement(BooleanType value) { this.receiverActive = value; @@ -2909,14 +3065,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return Whether the receiver is deactivated right after the transaction. + * @return If false, the receiver is deactivated right after the operation. */ public boolean getReceiverActive() { return this.receiverActive == null || this.receiverActive.isEmpty() ? false : this.receiverActive.getValue(); } /** - * @param value Whether the receiver is deactivated right after the transaction. + * @param value If false, the receiver is deactivated right after the operation. */ public ExampleScenarioProcessStepOperationComponent setReceiverActive(boolean value) { if (this.receiverActive == null) @@ -2926,7 +3082,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #request} (Each resource instance used by the initiator.) + * @return {@link #request} (A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.) */ public ExampleScenarioInstanceContainedInstanceComponent getRequest() { if (this.request == null) @@ -2942,7 +3098,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #request} (Each resource instance used by the initiator.) + * @param value {@link #request} (A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.) */ public ExampleScenarioProcessStepOperationComponent setRequest(ExampleScenarioInstanceContainedInstanceComponent value) { this.request = value; @@ -2950,7 +3106,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #response} (Each resource instance used by the responder.) + * @return {@link #response} (A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).) */ public ExampleScenarioInstanceContainedInstanceComponent getResponse() { if (this.response == null) @@ -2966,7 +3122,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #response} (Each resource instance used by the responder.) + * @param value {@link #response} (A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).) */ public ExampleScenarioProcessStepOperationComponent setResponse(ExampleScenarioInstanceContainedInstanceComponent value) { this.response = value; @@ -2975,31 +3131,29 @@ public class ExampleScenario extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("number", "string", "The sequential number of the interaction, e.g. 1.2.5.", 0, 1, number)); - children.add(new Property("type", "string", "The type of operation - CRUD.", 0, 1, type)); - children.add(new Property("name", "string", "The human-friendly name of the interaction.", 0, 1, name)); - children.add(new Property("initiator", "string", "Who starts the transaction.", 0, 1, initiator)); - children.add(new Property("receiver", "string", "Who receives the transaction.", 0, 1, receiver)); - children.add(new Property("description", "markdown", "A comment to be inserted in the diagram.", 0, 1, description)); - children.add(new Property("initiatorActive", "boolean", "Whether the initiator is deactivated right after the transaction.", 0, 1, initiatorActive)); - children.add(new Property("receiverActive", "boolean", "Whether the receiver is deactivated right after the transaction.", 0, 1, receiverActive)); - children.add(new Property("request", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the initiator.", 0, 1, request)); - children.add(new Property("response", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the responder.", 0, 1, response)); + children.add(new Property("type", "Coding", "The standardized type of action (FHIR or otherwise).", 0, 1, type)); + children.add(new Property("title", "string", "A short descriptive label the step to be used in tables or diagrams.", 0, 1, title)); + children.add(new Property("initiator", "string", "The system that invokes the action/transmits the data.", 0, 1, initiator)); + children.add(new Property("receiver", "string", "The system on which the action is invoked/receives the data.", 0, 1, receiver)); + children.add(new Property("description", "markdown", "An explanation of what the operation represents and what it does.", 0, 1, description)); + children.add(new Property("initiatorActive", "boolean", "If false, the initiator is deactivated right after the operation.", 0, 1, initiatorActive)); + children.add(new Property("receiverActive", "boolean", "If false, the receiver is deactivated right after the operation.", 0, 1, receiverActive)); + children.add(new Property("request", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.", 0, 1, request)); + children.add(new Property("response", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).", 0, 1, response)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1034364087: /*number*/ return new Property("number", "string", "The sequential number of the interaction, e.g. 1.2.5.", 0, 1, number); - case 3575610: /*type*/ return new Property("type", "string", "The type of operation - CRUD.", 0, 1, type); - case 3373707: /*name*/ return new Property("name", "string", "The human-friendly name of the interaction.", 0, 1, name); - case -248987089: /*initiator*/ return new Property("initiator", "string", "Who starts the transaction.", 0, 1, initiator); - case -808719889: /*receiver*/ return new Property("receiver", "string", "Who receives the transaction.", 0, 1, receiver); - case -1724546052: /*description*/ return new Property("description", "markdown", "A comment to be inserted in the diagram.", 0, 1, description); - case 384339477: /*initiatorActive*/ return new Property("initiatorActive", "boolean", "Whether the initiator is deactivated right after the transaction.", 0, 1, initiatorActive); - case -285284907: /*receiverActive*/ return new Property("receiverActive", "boolean", "Whether the receiver is deactivated right after the transaction.", 0, 1, receiverActive); - case 1095692943: /*request*/ return new Property("request", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the initiator.", 0, 1, request); - case -340323263: /*response*/ return new Property("response", "@ExampleScenario.instance.containedInstance", "Each resource instance used by the responder.", 0, 1, response); + case 3575610: /*type*/ return new Property("type", "Coding", "The standardized type of action (FHIR or otherwise).", 0, 1, type); + case 110371416: /*title*/ return new Property("title", "string", "A short descriptive label the step to be used in tables or diagrams.", 0, 1, title); + case -248987089: /*initiator*/ return new Property("initiator", "string", "The system that invokes the action/transmits the data.", 0, 1, initiator); + case -808719889: /*receiver*/ return new Property("receiver", "string", "The system on which the action is invoked/receives the data.", 0, 1, receiver); + case -1724546052: /*description*/ return new Property("description", "markdown", "An explanation of what the operation represents and what it does.", 0, 1, description); + case 384339477: /*initiatorActive*/ return new Property("initiatorActive", "boolean", "If false, the initiator is deactivated right after the operation.", 0, 1, initiatorActive); + case -285284907: /*receiverActive*/ return new Property("receiverActive", "boolean", "If false, the receiver is deactivated right after the operation.", 0, 1, receiverActive); + case 1095692943: /*request*/ return new Property("request", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from requester to receiver as part of the invocation of the operation.", 0, 1, request); + case -340323263: /*response*/ return new Property("response", "@ExampleScenario.instance.containedInstance", "A reference to the instance that is transmitted from receiver to requester as part of the operation's synchronous response (if any).", 0, 1, response); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -3008,9 +3162,8 @@ public class ExampleScenario extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // StringType - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // StringType - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Coding + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -248987089: /*initiator*/ return this.initiator == null ? new Base[0] : new Base[] {this.initiator}; // StringType case -808719889: /*receiver*/ return this.receiver == null ? new Base[0] : new Base[] {this.receiver}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType @@ -3026,14 +3179,11 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1034364087: // number - this.number = TypeConvertor.castToString(value); // StringType - return value; case 3575610: // type - this.type = TypeConvertor.castToString(value); // StringType + this.type = TypeConvertor.castToCoding(value); // Coding return value; - case 3373707: // name - this.name = TypeConvertor.castToString(value); // StringType + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType return value; case -248987089: // initiator this.initiator = TypeConvertor.castToString(value); // StringType @@ -3063,12 +3213,10 @@ public class ExampleScenario extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("number")) { - this.number = TypeConvertor.castToString(value); // StringType - } else if (name.equals("type")) { - this.type = TypeConvertor.castToString(value); // StringType - } else if (name.equals("name")) { - this.name = TypeConvertor.castToString(value); // StringType + if (name.equals("type")) { + this.type = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("initiator")) { this.initiator = TypeConvertor.castToString(value); // StringType } else if (name.equals("receiver")) { @@ -3091,9 +3239,8 @@ public class ExampleScenario extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1034364087: return getNumberElement(); - case 3575610: return getTypeElement(); - case 3373707: return getNameElement(); + case 3575610: return getType(); + case 110371416: return getTitleElement(); case -248987089: return getInitiatorElement(); case -808719889: return getReceiverElement(); case -1724546052: return getDescriptionElement(); @@ -3109,9 +3256,8 @@ public class ExampleScenario extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1034364087: /*number*/ return new String[] {"string"}; - case 3575610: /*type*/ return new String[] {"string"}; - case 3373707: /*name*/ return new String[] {"string"}; + case 3575610: /*type*/ return new String[] {"Coding"}; + case 110371416: /*title*/ return new String[] {"string"}; case -248987089: /*initiator*/ return new String[] {"string"}; case -808719889: /*receiver*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"markdown"}; @@ -3126,14 +3272,12 @@ public class ExampleScenario extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("number")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.number"); + if (name.equals("type")) { + this.type = new Coding(); + return this.type; } - else if (name.equals("type")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.type"); - } - else if (name.equals("name")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.name"); + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.title"); } else if (name.equals("initiator")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.process.step.operation.initiator"); @@ -3170,9 +3314,8 @@ public class ExampleScenario extends CanonicalResource { public void copyValues(ExampleScenarioProcessStepOperationComponent dst) { super.copyValues(dst); - dst.number = number == null ? null : number.copy(); dst.type = type == null ? null : type.copy(); - dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); dst.initiator = initiator == null ? null : initiator.copy(); dst.receiver = receiver == null ? null : receiver.copy(); dst.description = description == null ? null : description.copy(); @@ -3189,10 +3332,10 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioProcessStepOperationComponent)) return false; ExampleScenarioProcessStepOperationComponent o = (ExampleScenarioProcessStepOperationComponent) other_; - return compareDeep(number, o.number, true) && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) - && compareDeep(initiator, o.initiator, true) && compareDeep(receiver, o.receiver, true) && compareDeep(description, o.description, true) - && compareDeep(initiatorActive, o.initiatorActive, true) && compareDeep(receiverActive, o.receiverActive, true) - && compareDeep(request, o.request, true) && compareDeep(response, o.response, true); + return compareDeep(type, o.type, true) && compareDeep(title, o.title, true) && compareDeep(initiator, o.initiator, true) + && compareDeep(receiver, o.receiver, true) && compareDeep(description, o.description, true) && compareDeep(initiatorActive, o.initiatorActive, true) + && compareDeep(receiverActive, o.receiverActive, true) && compareDeep(request, o.request, true) + && compareDeep(response, o.response, true); } @Override @@ -3202,15 +3345,14 @@ public class ExampleScenario extends CanonicalResource { if (!(other_ instanceof ExampleScenarioProcessStepOperationComponent)) return false; ExampleScenarioProcessStepOperationComponent o = (ExampleScenarioProcessStepOperationComponent) other_; - return compareValues(number, o.number, true) && compareValues(type, o.type, true) && compareValues(name, o.name, true) - && compareValues(initiator, o.initiator, true) && compareValues(receiver, o.receiver, true) && compareValues(description, o.description, true) - && compareValues(initiatorActive, o.initiatorActive, true) && compareValues(receiverActive, o.receiverActive, true) - ; + return compareValues(title, o.title, true) && compareValues(initiator, o.initiator, true) && compareValues(receiver, o.receiver, true) + && compareValues(description, o.description, true) && compareValues(initiatorActive, o.initiatorActive, true) + && compareValues(receiverActive, o.receiverActive, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(number, type, name, initiator - , receiver, description, initiatorActive, receiverActive, request, response); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, title, initiator, receiver + , description, initiatorActive, receiverActive, request, response); } public String fhirType() { @@ -3233,14 +3375,14 @@ public class ExampleScenario extends CanonicalResource { * A human-readable description of the alternative explaining when the alternative should occur rather than the base step. */ @Child(name = "description", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="A human-readable description of each option", formalDefinition="A human-readable description of the alternative explaining when the alternative should occur rather than the base step." ) + @Description(shortDefinition="Human-readable description of option", formalDefinition="A human-readable description of the alternative explaining when the alternative should occur rather than the base step." ) protected MarkdownType description; /** - * What happens in each alternative option. + * Indicates the operation, sub-process or scenario that happens if the alternative option is selected. */ @Child(name = "step", type = {ExampleScenarioProcessStepComponent.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="What happens in each alternative option", formalDefinition="What happens in each alternative option." ) + @Description(shortDefinition="Alternative action(s)", formalDefinition="Indicates the operation, sub-process or scenario that happens if the alternative option is selected." ) protected List step; private static final long serialVersionUID = -254687460L; @@ -3355,7 +3497,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #step} (What happens in each alternative option.) + * @return {@link #step} (Indicates the operation, sub-process or scenario that happens if the alternative option is selected.) */ public List getStep() { if (this.step == null) @@ -3411,7 +3553,7 @@ public class ExampleScenario extends CanonicalResource { super.listChildren(children); children.add(new Property("title", "string", "The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.", 0, 1, title)); children.add(new Property("description", "markdown", "A human-readable description of the alternative explaining when the alternative should occur rather than the base step.", 0, 1, description)); - children.add(new Property("step", "@ExampleScenario.process.step", "What happens in each alternative option.", 0, java.lang.Integer.MAX_VALUE, step)); + children.add(new Property("step", "@ExampleScenario.process.step", "Indicates the operation, sub-process or scenario that happens if the alternative option is selected.", 0, java.lang.Integer.MAX_VALUE, step)); } @Override @@ -3419,7 +3561,7 @@ public class ExampleScenario extends CanonicalResource { switch (_hash) { case 110371416: /*title*/ return new Property("title", "string", "The label to display for the alternative that gives a sense of the circumstance in which the alternative should be invoked.", 0, 1, title); case -1724546052: /*description*/ return new Property("description", "markdown", "A human-readable description of the alternative explaining when the alternative should occur rather than the base step.", 0, 1, description); - case 3540684: /*step*/ return new Property("step", "@ExampleScenario.process.step", "What happens in each alternative option.", 0, java.lang.Integer.MAX_VALUE, step); + case 3540684: /*step*/ return new Property("step", "@ExampleScenario.process.step", "Indicates the operation, sub-process or scenario that happens if the alternative option is selected.", 0, java.lang.Integer.MAX_VALUE, step); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -3554,10 +3696,10 @@ public class ExampleScenario extends CanonicalResource { } /** - * An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. + * An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this example scenario, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this example scenario, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers." ) protected UriType url; /** @@ -3575,16 +3717,31 @@ public class ExampleScenario extends CanonicalResource { protected StringType version; /** - * A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation. + * Indicates the mechanism used to compare versions to determine which is more current. */ - @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name for this example scenario (computer friendly)", formalDefinition="A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + + /** + * Temporarily retained for tooling purposes. + */ + @Child(name = "name", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="To be removed?", formalDefinition="Temporarily retained for tooling purposes." ) protected StringType name; + /** + * A short, descriptive, user-friendly title for the ExampleScenario. + */ + @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this example scenario (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the ExampleScenario." ) + protected StringType title; + /** * The status of this example scenario. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this example scenario. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -3592,42 +3749,49 @@ public class ExampleScenario extends CanonicalResource { /** * A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition'). */ - @Child(name = "date", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition')." ) protected DateTimeType date; /** - * The name of the organization or individual that published the example scenario. + * The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario. */ - @Child(name = "publisher", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the example scenario." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; + /** + * A free text natural language description of the ExampleScenario from a consumer's perspective. + */ + @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Natural language description of the ExampleScenario", formalDefinition="A free text natural language description of the ExampleScenario from a consumer's perspective." ) + protected MarkdownType description; + /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instances." ) protected List useContext; /** * A legal or geographic region in which the example scenario is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for example scenario (if applicable)", formalDefinition="A legal or geographic region in which the example scenario is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -3635,46 +3799,46 @@ public class ExampleScenario extends CanonicalResource { /** * What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The purpose of the example, e.g. to illustrate a scenario", formalDefinition="What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario." ) protected MarkdownType purpose; /** * A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario." ) protected MarkdownType copyright; /** - * Actor participating in the resource. + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). */ - @Child(name = "actor", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Actor participating in the resource", formalDefinition="Actor participating in the resource." ) + @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + + /** + * A system or person who shares or receives an instance within the scenario. + */ + @Child(name = "actor", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Individual involved in exchange", formalDefinition="A system or person who shares or receives an instance within the scenario." ) protected List actor; /** - * Each resource and each version that is present in the workflow. + * A single data collection that is shared as part of the scenario. */ - @Child(name = "instance", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Each resource and each version that is present in the workflow", formalDefinition="Each resource and each version that is present in the workflow." ) + @Child(name = "instance", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Data used in the scenario", formalDefinition="A single data collection that is shared as part of the scenario." ) protected List instance; /** - * Each major process - a group of operations. + * A group of operations that represents a significant step within a scenario. */ - @Child(name = "process", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Each major process - a group of operations", formalDefinition="Each major process - a group of operations." ) + @Child(name = "process", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Major process within scenario", formalDefinition="A group of operations that represents a significant step within a scenario." ) protected List process; - /** - * Another nested workflow. - */ - @Child(name = "workflow", type = {CanonicalType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Another nested workflow", formalDefinition="Another nested workflow." ) - protected List workflow; - - private static final long serialVersionUID = 1725952195L; + private static final long serialVersionUID = 292494233L; /** * Constructor @@ -3692,7 +3856,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -3712,7 +3876,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public ExampleScenario setUrlElement(UriType value) { this.url = value; @@ -3720,14 +3884,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. + * @return An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. + * @param value An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers. */ public ExampleScenario setUrl(String value) { if (Utilities.noString(value)) @@ -3843,7 +4007,58 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #name} (A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ExampleScenario setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for ExampleScenario.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + + /** + * @return {@link #name} (Temporarily retained for tooling purposes.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public StringType getNameElement() { if (this.name == null) @@ -3863,7 +4078,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #name} (A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + * @param value {@link #name} (Temporarily retained for tooling purposes.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public ExampleScenario setNameElement(StringType value) { this.name = value; @@ -3871,14 +4086,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation. + * @return Temporarily retained for tooling purposes. */ public String getName() { return this.name == null ? null : this.name.getValue(); } /** - * @param value A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation. + * @param value Temporarily retained for tooling purposes. */ public ExampleScenario setName(String value) { if (Utilities.noString(value)) @@ -3891,6 +4106,55 @@ public class ExampleScenario extends CanonicalResource { return this; } + /** + * @return {@link #title} (A short, descriptive, user-friendly title for the ExampleScenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenario.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A short, descriptive, user-friendly title for the ExampleScenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public ExampleScenario setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A short, descriptive, user-friendly title for the ExampleScenario. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A short, descriptive, user-friendly title for the ExampleScenario. + */ + public ExampleScenario setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + /** * @return {@link #status} (The status of this example scenario. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ @@ -4031,7 +4295,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -4051,7 +4315,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ExampleScenario setPublisherElement(StringType value) { this.publisher = value; @@ -4059,14 +4323,14 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return The name of the organization or individual that published the example scenario. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the example scenario. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario. */ public ExampleScenario setPublisher(String value) { if (Utilities.noString(value)) @@ -4132,6 +4396,55 @@ public class ExampleScenario extends CanonicalResource { return getContact().get(0); } + /** + * @return {@link #description} (A free text natural language description of the ExampleScenario from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public MarkdownType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenario.description"); + else if (Configuration.doAutoCreate()) + this.description = new MarkdownType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (A free text natural language description of the ExampleScenario from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public ExampleScenario setDescriptionElement(MarkdownType value) { + this.description = value; + return this; + } + + /** + * @return A free text natural language description of the ExampleScenario from a consumer's perspective. + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value A free text natural language description of the ExampleScenario from a consumer's perspective. + */ + public ExampleScenario setDescription(String value) { + if (value == null) + this.description = null; + else { + if (this.description == null) + this.description = new MarkdownType(); + this.description.setValue(value); + } + return this; + } + /** * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instances.) */ @@ -4337,7 +4650,56 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #actor} (Actor participating in the resource.) + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExampleScenario.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ExampleScenario setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public ExampleScenario setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + + /** + * @return {@link #actor} (A system or person who shares or receives an instance within the scenario.) */ public List getActor() { if (this.actor == null) @@ -4390,7 +4752,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #instance} (Each resource and each version that is present in the workflow.) + * @return {@link #instance} (A single data collection that is shared as part of the scenario.) */ public List getInstance() { if (this.instance == null) @@ -4443,7 +4805,7 @@ public class ExampleScenario extends CanonicalResource { } /** - * @return {@link #process} (Each major process - a group of operations.) + * @return {@link #process} (A group of operations that represents a significant step within a scenario.) */ public List getProcess() { if (this.process == null) @@ -4495,180 +4857,56 @@ public class ExampleScenario extends CanonicalResource { return getProcess().get(0); } - /** - * @return {@link #workflow} (Another nested workflow.) - */ - public List getWorkflow() { - if (this.workflow == null) - this.workflow = new ArrayList(); - return this.workflow; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ExampleScenario setWorkflow(List theWorkflow) { - this.workflow = theWorkflow; - return this; - } - - public boolean hasWorkflow() { - if (this.workflow == null) - return false; - for (CanonicalType item : this.workflow) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #workflow} (Another nested workflow.) - */ - public CanonicalType addWorkflowElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.workflow == null) - this.workflow = new ArrayList(); - this.workflow.add(t); - return t; - } - - /** - * @param value {@link #workflow} (Another nested workflow.) - */ - public ExampleScenario addWorkflow(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.workflow == null) - this.workflow = new ArrayList(); - this.workflow.add(t); - return this; - } - - /** - * @param value {@link #workflow} (Another nested workflow.) - */ - public boolean hasWorkflow(String value) { - if (this.workflow == null) - return false; - for (CanonicalType v : this.workflow) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * not supported on this implementation - */ - @Override - public int getTitleMax() { - return 0; - } - /** - * @return {@link #title} (A short, descriptive, user-friendly title for the example scenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public StringType getTitleElement() { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"title\""); - } - - public boolean hasTitleElement() { - return false; - } - public boolean hasTitle() { - return false; - } - - /** - * @param value {@link #title} (A short, descriptive, user-friendly title for the example scenario.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public ExampleScenario setTitleElement(StringType value) { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"title\""); - } - public String getTitle() { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"title\""); - } - /** - * @param value A short, descriptive, user-friendly title for the example scenario. - */ - public ExampleScenario setTitle(String value) { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"title\""); - } - /** - * not supported on this implementation - */ - @Override - public int getDescriptionMax() { - return 0; - } - /** - * @return {@link #description} (A free text natural language description of the example scenario from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public MarkdownType getDescriptionElement() { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"description\""); - } - - public boolean hasDescriptionElement() { - return false; - } - public boolean hasDescription() { - return false; - } - - /** - * @param value {@link #description} (A free text natural language description of the example scenario from a consumer's perspective.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public ExampleScenario setDescriptionElement(MarkdownType value) { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"description\""); - } - public String getDescription() { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"description\""); - } - /** - * @param value A free text natural language description of the example scenario from a consumer's perspective. - */ - public ExampleScenario setDescription(String value) { - throw new Error("The resource type \"ExampleScenario\" does not implement the property \"description\""); - } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); - children.add(new Property("name", "string", "A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); + children.add(new Property("name", "string", "Temporarily retained for tooling purposes.", 0, 1, name)); + children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the ExampleScenario.", 0, 1, title)); children.add(new Property("status", "code", "The status of this example scenario. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the example scenario.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); + children.add(new Property("description", "markdown", "A free text natural language description of the ExampleScenario from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the example scenario is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.", 0, 1, copyright)); - children.add(new Property("actor", "", "Actor participating in the resource.", 0, java.lang.Integer.MAX_VALUE, actor)); - children.add(new Property("instance", "", "Each resource and each version that is present in the workflow.", 0, java.lang.Integer.MAX_VALUE, instance)); - children.add(new Property("process", "", "Each major process - a group of operations.", 0, java.lang.Integer.MAX_VALUE, process)); - children.add(new Property("workflow", "canonical(ExampleScenario)", "Another nested workflow.", 0, java.lang.Integer.MAX_VALUE, workflow)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); + children.add(new Property("actor", "", "A system or person who shares or receives an instance within the scenario.", 0, java.lang.Integer.MAX_VALUE, actor)); + children.add(new Property("instance", "", "A single data collection that is shared as part of the scenario.", 0, java.lang.Integer.MAX_VALUE, instance)); + children.add(new Property("process", "", "A group of operations that represents a significant step within a scenario.", 0, java.lang.Integer.MAX_VALUE, process)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); - case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 3373707: /*name*/ return new Property("name", "string", "Temporarily retained for tooling purposes.", 0, 1, name); + case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the ExampleScenario.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this example scenario. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition').", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the example scenario.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the example scenario.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); + case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the ExampleScenario from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the example scenario is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenario.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenario.", 0, 1, copyright); - case 92645877: /*actor*/ return new Property("actor", "", "Actor participating in the resource.", 0, java.lang.Integer.MAX_VALUE, actor); - case 555127957: /*instance*/ return new Property("instance", "", "Each resource and each version that is present in the workflow.", 0, java.lang.Integer.MAX_VALUE, instance); - case -309518737: /*process*/ return new Property("process", "", "Each major process - a group of operations.", 0, java.lang.Integer.MAX_VALUE, process); - case 35379135: /*workflow*/ return new Property("workflow", "canonical(ExampleScenario)", "Another nested workflow.", 0, java.lang.Integer.MAX_VALUE, workflow); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); + case 92645877: /*actor*/ return new Property("actor", "", "A system or person who shares or receives an instance within the scenario.", 0, java.lang.Integer.MAX_VALUE, actor); + case 555127957: /*instance*/ return new Property("instance", "", "A single data collection that is shared as part of the scenario.", 0, java.lang.Integer.MAX_VALUE, instance); + case -309518737: /*process*/ return new Property("process", "", "A group of operations that represents a significant step within a scenario.", 0, java.lang.Integer.MAX_VALUE, process); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4680,20 +4918,23 @@ public class ExampleScenario extends CanonicalResource { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // ExampleScenarioActorComponent case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // ExampleScenarioInstanceComponent case -309518737: /*process*/ return this.process == null ? new Base[0] : this.process.toArray(new Base[this.process.size()]); // ExampleScenarioProcessComponent - case 35379135: /*workflow*/ return this.workflow == null ? new Base[0] : this.workflow.toArray(new Base[this.workflow.size()]); // CanonicalType default: return super.getProperty(hash, name, checkValid); } @@ -4711,9 +4952,15 @@ public class ExampleScenario extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; case -892481550: // status value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -4730,6 +4977,9 @@ public class ExampleScenario extends CanonicalResource { case 951526432: // contact this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail return value; + case -1724546052: // description + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; case -669707736: // useContext this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext return value; @@ -4742,6 +4992,9 @@ public class ExampleScenario extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case 92645877: // actor this.getActor().add((ExampleScenarioActorComponent) value); // ExampleScenarioActorComponent return value; @@ -4751,9 +5004,6 @@ public class ExampleScenario extends CanonicalResource { case -309518737: // process this.getProcess().add((ExampleScenarioProcessComponent) value); // ExampleScenarioProcessComponent return value; - case 35379135: // workflow - this.getWorkflow().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; default: return super.setProperty(hash, name, value); } @@ -4767,8 +5017,12 @@ public class ExampleScenario extends CanonicalResource { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("status")) { value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -4780,6 +5034,8 @@ public class ExampleScenario extends CanonicalResource { this.publisher = TypeConvertor.castToString(value); // StringType } else if (name.equals("contact")) { this.getContact().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("description")) { + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("useContext")) { this.getUseContext().add(TypeConvertor.castToUsageContext(value)); } else if (name.equals("jurisdiction")) { @@ -4788,14 +5044,14 @@ public class ExampleScenario extends CanonicalResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("actor")) { this.getActor().add((ExampleScenarioActorComponent) value); } else if (name.equals("instance")) { this.getInstance().add((ExampleScenarioInstanceComponent) value); } else if (name.equals("process")) { this.getProcess().add((ExampleScenarioProcessComponent) value); - } else if (name.equals("workflow")) { - this.getWorkflow().add(TypeConvertor.castToCanonical(value)); } else return super.setProperty(name, value); return value; @@ -4807,20 +5063,24 @@ public class ExampleScenario extends CanonicalResource { case 116079: return getUrlElement(); case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); + case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); case -404562712: return getExperimentalElement(); case 3076014: return getDateElement(); case 1447404028: return getPublisherElement(); case 951526432: return addContact(); + case -1724546052: return getDescriptionElement(); case -669707736: return addUseContext(); case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case 92645877: return addActor(); case 555127957: return addInstance(); case -309518737: return addProcess(); - case 35379135: return addWorkflowElement(); default: return super.makeProperty(hash, name); } @@ -4832,20 +5092,23 @@ public class ExampleScenario extends CanonicalResource { case 116079: /*url*/ return new String[] {"uri"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; case -404562712: /*experimental*/ return new String[] {"boolean"}; case 3076014: /*date*/ return new String[] {"dateTime"}; case 1447404028: /*publisher*/ return new String[] {"string"}; case 951526432: /*contact*/ return new String[] {"ContactDetail"}; + case -1724546052: /*description*/ return new String[] {"markdown"}; case -669707736: /*useContext*/ return new String[] {"UsageContext"}; case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case 92645877: /*actor*/ return new String[] {}; case 555127957: /*instance*/ return new String[] {}; case -309518737: /*process*/ return new String[] {}; - case 35379135: /*workflow*/ return new String[] {"canonical"}; default: return super.getTypesForProperty(hash, name); } @@ -4862,9 +5125,20 @@ public class ExampleScenario extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.name"); } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.title"); + } else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.status"); } @@ -4880,6 +5154,9 @@ public class ExampleScenario extends CanonicalResource { else if (name.equals("contact")) { return addContact(); } + else if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.description"); + } else if (name.equals("useContext")) { return addUseContext(); } @@ -4892,6 +5169,9 @@ public class ExampleScenario extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.copyrightLabel"); + } else if (name.equals("actor")) { return addActor(); } @@ -4901,9 +5181,6 @@ public class ExampleScenario extends CanonicalResource { else if (name.equals("process")) { return addProcess(); } - else if (name.equals("workflow")) { - throw new FHIRException("Cannot call addChild on a primitive type ExampleScenario.workflow"); - } else return super.addChild(name); } @@ -4928,7 +5205,9 @@ public class ExampleScenario extends CanonicalResource { dst.identifier.add(i.copy()); }; dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); dst.experimental = experimental == null ? null : experimental.copy(); dst.date = date == null ? null : date.copy(); @@ -4938,6 +5217,7 @@ public class ExampleScenario extends CanonicalResource { for (ContactDetail i : contact) dst.contact.add(i.copy()); }; + dst.description = description == null ? null : description.copy(); if (useContext != null) { dst.useContext = new ArrayList(); for (UsageContext i : useContext) @@ -4950,6 +5230,7 @@ public class ExampleScenario extends CanonicalResource { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); if (actor != null) { dst.actor = new ArrayList(); for (ExampleScenarioActorComponent i : actor) @@ -4965,11 +5246,6 @@ public class ExampleScenario extends CanonicalResource { for (ExampleScenarioProcessComponent i : process) dst.process.add(i.copy()); }; - if (workflow != null) { - dst.workflow = new ArrayList(); - for (CanonicalType i : workflow) - dst.workflow.add(i.copy()); - }; } protected ExampleScenario typedCopy() { @@ -4984,11 +5260,12 @@ public class ExampleScenario extends CanonicalResource { return false; ExampleScenario o = (ExampleScenario) other_; return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) - && compareDeep(name, o.name, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) + && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) + && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) - && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(actor, o.actor, true) - && compareDeep(instance, o.instance, true) && compareDeep(process, o.process, true) && compareDeep(workflow, o.workflow, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) + && compareDeep(actor, o.actor, true) && compareDeep(instance, o.instance, true) && compareDeep(process, o.process, true) ; } @@ -5000,15 +5277,17 @@ public class ExampleScenario extends CanonicalResource { return false; ExampleScenario o = (ExampleScenario) other_; return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) - && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) - && compareValues(publisher, o.publisher, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) - && compareValues(workflow, o.workflow, true); + && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) + && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version - , name, status, experimental, date, publisher, contact, useContext, jurisdiction - , purpose, copyright, actor, instance, process, workflow); + , versionAlgorithm, name, title, status, experimental, date, publisher, contact + , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, actor + , instance, process); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExplanationOfBenefit.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExplanationOfBenefit.java index 7d45dd6f0..66eb474ad 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExplanationOfBenefit.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExplanationOfBenefit.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -666,14 +666,14 @@ public class ExplanationOfBenefit extends DomainResource { protected CodeableConcept role; /** - * The qualification of the practitioner which is applicable for this service. + * The specialization of the practitioner or provider which is applicable for this service. */ - @Child(name = "qualification", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Practitioner credential or specialization", formalDefinition="The qualification of the practitioner which is applicable for this service." ) + @Child(name = "specialty", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Practitioner or provider specialization", formalDefinition="The specialization of the practitioner or provider which is applicable for this service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/provider-qualification") - protected CodeableConcept qualification; + protected CodeableConcept specialty; - private static final long serialVersionUID = 1479624238L; + private static final long serialVersionUID = 1238813503L; /** * Constructor @@ -830,26 +830,26 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #qualification} (The qualification of the practitioner which is applicable for this service.) + * @return {@link #specialty} (The specialization of the practitioner or provider which is applicable for this service.) */ - public CodeableConcept getQualification() { - if (this.qualification == null) + public CodeableConcept getSpecialty() { + if (this.specialty == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create CareTeamComponent.qualification"); + throw new Error("Attempt to auto-create CareTeamComponent.specialty"); else if (Configuration.doAutoCreate()) - this.qualification = new CodeableConcept(); // cc - return this.qualification; + this.specialty = new CodeableConcept(); // cc + return this.specialty; } - public boolean hasQualification() { - return this.qualification != null && !this.qualification.isEmpty(); + public boolean hasSpecialty() { + return this.specialty != null && !this.specialty.isEmpty(); } /** - * @param value {@link #qualification} (The qualification of the practitioner which is applicable for this service.) + * @param value {@link #specialty} (The specialization of the practitioner or provider which is applicable for this service.) */ - public CareTeamComponent setQualification(CodeableConcept value) { - this.qualification = value; + public CareTeamComponent setSpecialty(CodeableConcept value) { + this.specialty = value; return this; } @@ -859,7 +859,7 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "Member of the team who provided the product or service.", 0, 1, provider)); children.add(new Property("responsible", "boolean", "The party who is billing and/or responsible for the claimed products or services.", 0, 1, responsible)); children.add(new Property("role", "CodeableConcept", "The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.", 0, 1, role)); - children.add(new Property("qualification", "CodeableConcept", "The qualification of the practitioner which is applicable for this service.", 0, 1, qualification)); + children.add(new Property("specialty", "CodeableConcept", "The specialization of the practitioner or provider which is applicable for this service.", 0, 1, specialty)); } @Override @@ -869,7 +869,7 @@ public class ExplanationOfBenefit extends DomainResource { case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "Member of the team who provided the product or service.", 0, 1, provider); case 1847674614: /*responsible*/ return new Property("responsible", "boolean", "The party who is billing and/or responsible for the claimed products or services.", 0, 1, responsible); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The lead, assisting or supervising practitioner and their discipline if a multidisciplinary team.", 0, 1, role); - case -631333393: /*qualification*/ return new Property("qualification", "CodeableConcept", "The qualification of the practitioner which is applicable for this service.", 0, 1, qualification); + case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "The specialization of the practitioner or provider which is applicable for this service.", 0, 1, specialty); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -882,7 +882,7 @@ public class ExplanationOfBenefit extends DomainResource { case -987494927: /*provider*/ return this.provider == null ? new Base[0] : new Base[] {this.provider}; // Reference case 1847674614: /*responsible*/ return this.responsible == null ? new Base[0] : new Base[] {this.responsible}; // BooleanType case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept - case -631333393: /*qualification*/ return this.qualification == null ? new Base[0] : new Base[] {this.qualification}; // CodeableConcept + case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : new Base[] {this.specialty}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); } @@ -903,8 +903,8 @@ public class ExplanationOfBenefit extends DomainResource { case 3506294: // role this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -631333393: // qualification - this.qualification = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case -1694759682: // specialty + this.specialty = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; default: return super.setProperty(hash, name, value); } @@ -921,8 +921,8 @@ public class ExplanationOfBenefit extends DomainResource { this.responsible = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("role")) { this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("qualification")) { - this.qualification = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("specialty")) { + this.specialty = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else return super.setProperty(name, value); return value; @@ -935,7 +935,7 @@ public class ExplanationOfBenefit extends DomainResource { case -987494927: return getProvider(); case 1847674614: return getResponsibleElement(); case 3506294: return getRole(); - case -631333393: return getQualification(); + case -1694759682: return getSpecialty(); default: return super.makeProperty(hash, name); } @@ -948,7 +948,7 @@ public class ExplanationOfBenefit extends DomainResource { case -987494927: /*provider*/ return new String[] {"Reference"}; case 1847674614: /*responsible*/ return new String[] {"boolean"}; case 3506294: /*role*/ return new String[] {"CodeableConcept"}; - case -631333393: /*qualification*/ return new String[] {"CodeableConcept"}; + case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -970,9 +970,9 @@ public class ExplanationOfBenefit extends DomainResource { this.role = new CodeableConcept(); return this.role; } - else if (name.equals("qualification")) { - this.qualification = new CodeableConcept(); - return this.qualification; + else if (name.equals("specialty")) { + this.specialty = new CodeableConcept(); + return this.specialty; } else return super.addChild(name); @@ -990,7 +990,7 @@ public class ExplanationOfBenefit extends DomainResource { dst.provider = provider == null ? null : provider.copy(); dst.responsible = responsible == null ? null : responsible.copy(); dst.role = role == null ? null : role.copy(); - dst.qualification = qualification == null ? null : qualification.copy(); + dst.specialty = specialty == null ? null : specialty.copy(); } @Override @@ -1001,7 +1001,7 @@ public class ExplanationOfBenefit extends DomainResource { return false; CareTeamComponent o = (CareTeamComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(provider, o.provider, true) && compareDeep(responsible, o.responsible, true) - && compareDeep(role, o.role, true) && compareDeep(qualification, o.qualification, true); + && compareDeep(role, o.role, true) && compareDeep(specialty, o.specialty, true); } @Override @@ -1017,7 +1017,7 @@ public class ExplanationOfBenefit extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, provider, responsible - , role, qualification); + , role, specialty); } public String fhirType() { @@ -1062,7 +1062,7 @@ public class ExplanationOfBenefit extends DomainResource { /** * Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data. */ - @Child(name = "value", type = {BooleanType.class, StringType.class, Quantity.class, Attachment.class, Reference.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "value", type = {BooleanType.class, StringType.class, Quantity.class, Attachment.class, Reference.class, Identifier.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Data to be provided", formalDefinition="Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data." ) protected DataType value; @@ -1318,6 +1318,21 @@ public class ExplanationOfBenefit extends DomainResource { return this != null && this.value instanceof Reference; } + /** + * @return {@link #value} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) + */ + public Identifier getValueIdentifier() throws FHIRException { + if (this.value == null) + this.value = new Identifier(); + if (!(this.value instanceof Identifier)) + throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Identifier) this.value; + } + + public boolean hasValueIdentifier() { + return this != null && this.value instanceof Identifier; + } + public boolean hasValue() { return this.value != null && !this.value.isEmpty(); } @@ -1326,7 +1341,7 @@ public class ExplanationOfBenefit extends DomainResource { * @param value {@link #value} (Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.) */ public SupportingInformationComponent setValue(DataType value) { - if (value != null && !(value instanceof BooleanType || value instanceof StringType || value instanceof Quantity || value instanceof Attachment || value instanceof Reference)) + if (value != null && !(value instanceof BooleanType || value instanceof StringType || value instanceof Quantity || value instanceof Attachment || value instanceof Reference || value instanceof Identifier)) throw new Error("Not the right type for ExplanationOfBenefit.supportingInfo.value[x]: "+value.fhirType()); this.value = value; return this; @@ -1362,7 +1377,7 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("category", "CodeableConcept", "The general class of the information supplied: information; exception; accident, employment; onset, etc.", 0, 1, category)); children.add(new Property("code", "CodeableConcept", "System and code pertaining to the specific information regarding special conditions relating to the setting, treatment or patient for which care is sought.", 0, 1, code)); children.add(new Property("timing[x]", "date|Period", "The date when or period to which this information refers.", 0, 1, timing)); - children.add(new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value)); + children.add(new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)|Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value)); children.add(new Property("reason", "Coding", "Provides the reason in the situation where a reason code is required in addition to the content.", 0, 1, reason)); } @@ -1376,13 +1391,14 @@ public class ExplanationOfBenefit extends DomainResource { case -873664438: /*timing*/ return new Property("timing[x]", "date|Period", "The date when or period to which this information refers.", 0, 1, timing); case 807935768: /*timingDate*/ return new Property("timing[x]", "date", "The date when or period to which this information refers.", 0, 1, timing); case -615615829: /*timingPeriod*/ return new Property("timing[x]", "Period", "The date when or period to which this information refers.", 0, 1, timing); - case -1410166417: /*value[x]*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)|Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "boolean|string|Quantity|Attachment|Reference(Any)|Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -1424603934: /*valueString*/ return new Property("value[x]", "string", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -2029823716: /*valueQuantity*/ return new Property("value[x]", "Quantity", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -475566732: /*valueAttachment*/ return new Property("value[x]", "Attachment", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case 1755241690: /*valueReference*/ return new Property("value[x]", "Reference(Any)", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); + case -130498310: /*valueIdentifier*/ return new Property("value[x]", "Identifier", "Additional data or information such as resources, documents, images etc. including references to the data or the actual inclusion of the data.", 0, 1, value); case -934964668: /*reason*/ return new Property("reason", "Coding", "Provides the reason in the situation where a reason code is required in addition to the content.", 0, 1, reason); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1471,7 +1487,7 @@ public class ExplanationOfBenefit extends DomainResource { case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case -873664438: /*timing*/ return new String[] {"date", "Period"}; - case 111972721: /*value*/ return new String[] {"boolean", "string", "Quantity", "Attachment", "Reference"}; + case 111972721: /*value*/ return new String[] {"boolean", "string", "Quantity", "Attachment", "Reference", "Identifier"}; case -934964668: /*reason*/ return new String[] {"Coding"}; default: return super.getTypesForProperty(hash, name); } @@ -1519,6 +1535,10 @@ public class ExplanationOfBenefit extends DomainResource { this.value = new Reference(); return this.value; } + else if (name.equals("valueIdentifier")) { + this.value = new Identifier(); + return this.value; + } else if (name.equals("reason")) { this.reason = new Coding(); return this.reason; @@ -1610,15 +1630,7 @@ public class ExplanationOfBenefit extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosis-on-admission") protected CodeableConcept onAdmission; - /** - * A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system. - */ - @Child(name = "packageCode", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Package billing code", formalDefinition="A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup") - protected CodeableConcept packageCode; - - private static final long serialVersionUID = 550515328L; + private static final long serialVersionUID = -320261526L; /** * Constructor @@ -1809,37 +1821,12 @@ public class ExplanationOfBenefit extends DomainResource { return this; } - /** - * @return {@link #packageCode} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) - */ - public CodeableConcept getPackageCode() { - if (this.packageCode == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DiagnosisComponent.packageCode"); - else if (Configuration.doAutoCreate()) - this.packageCode = new CodeableConcept(); // cc - return this.packageCode; - } - - public boolean hasPackageCode() { - return this.packageCode != null && !this.packageCode.isEmpty(); - } - - /** - * @param value {@link #packageCode} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) - */ - public DiagnosisComponent setPackageCode(CodeableConcept value) { - this.packageCode = value; - return this; - } - protected void listChildren(List children) { super.listChildren(children); children.add(new Property("sequence", "positiveInt", "A number to uniquely identify diagnosis entries.", 0, 1, sequence)); children.add(new Property("diagnosis[x]", "CodeableConcept|Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis)); children.add(new Property("type", "CodeableConcept", "When the condition was observed or the relative ranking.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("onAdmission", "CodeableConcept", "Indication of whether the diagnosis was present on admission to a facility.", 0, 1, onAdmission)); - children.add(new Property("packageCode", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, packageCode)); } @Override @@ -1852,7 +1839,6 @@ public class ExplanationOfBenefit extends DomainResource { case 2050454362: /*diagnosisReference*/ return new Property("diagnosis[x]", "Reference(Condition)", "The nature of illness or problem in a coded form or as a reference to an external defined Condition.", 0, 1, diagnosis); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "When the condition was observed or the relative ranking.", 0, java.lang.Integer.MAX_VALUE, type); case -3386134: /*onAdmission*/ return new Property("onAdmission", "CodeableConcept", "Indication of whether the diagnosis was present on admission to a facility.", 0, 1, onAdmission); - case 908444499: /*packageCode*/ return new Property("packageCode", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, packageCode); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1865,7 +1851,6 @@ public class ExplanationOfBenefit extends DomainResource { case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : new Base[] {this.diagnosis}; // DataType case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept case -3386134: /*onAdmission*/ return this.onAdmission == null ? new Base[0] : new Base[] {this.onAdmission}; // CodeableConcept - case 908444499: /*packageCode*/ return this.packageCode == null ? new Base[0] : new Base[] {this.packageCode}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); } @@ -1886,9 +1871,6 @@ public class ExplanationOfBenefit extends DomainResource { case -3386134: // onAdmission this.onAdmission = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case 908444499: // packageCode - this.packageCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; default: return super.setProperty(hash, name, value); } @@ -1904,8 +1886,6 @@ public class ExplanationOfBenefit extends DomainResource { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("onAdmission")) { this.onAdmission = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("packageCode")) { - this.packageCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else return super.setProperty(name, value); return value; @@ -1919,7 +1899,6 @@ public class ExplanationOfBenefit extends DomainResource { case 1196993265: return getDiagnosis(); case 3575610: return addType(); case -3386134: return getOnAdmission(); - case 908444499: return getPackageCode(); default: return super.makeProperty(hash, name); } @@ -1932,7 +1911,6 @@ public class ExplanationOfBenefit extends DomainResource { case 1196993265: /*diagnosis*/ return new String[] {"CodeableConcept", "Reference"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case -3386134: /*onAdmission*/ return new String[] {"CodeableConcept"}; - case 908444499: /*packageCode*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -1958,10 +1936,6 @@ public class ExplanationOfBenefit extends DomainResource { this.onAdmission = new CodeableConcept(); return this.onAdmission; } - else if (name.equals("packageCode")) { - this.packageCode = new CodeableConcept(); - return this.packageCode; - } else return super.addChild(name); } @@ -1982,7 +1956,6 @@ public class ExplanationOfBenefit extends DomainResource { dst.type.add(i.copy()); }; dst.onAdmission = onAdmission == null ? null : onAdmission.copy(); - dst.packageCode = packageCode == null ? null : packageCode.copy(); } @Override @@ -1993,8 +1966,7 @@ public class ExplanationOfBenefit extends DomainResource { return false; DiagnosisComponent o = (DiagnosisComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(type, o.type, true) - && compareDeep(onAdmission, o.onAdmission, true) && compareDeep(packageCode, o.packageCode, true) - ; + && compareDeep(onAdmission, o.onAdmission, true); } @Override @@ -2009,7 +1981,7 @@ public class ExplanationOfBenefit extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, diagnosis, type - , onAdmission, packageCode); + , onAdmission); } public String fhirType() { @@ -3194,17 +3166,25 @@ public class ExplanationOfBenefit extends DomainResource { protected CodeableConcept category; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=8, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "productOrService", type = {CodeableConcept.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Product or service billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -3212,7 +3192,7 @@ public class ExplanationOfBenefit extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; @@ -3220,98 +3200,111 @@ public class ExplanationOfBenefit extends DomainResource { /** * The date or dates when the service or product was supplied, performed or completed. */ - @Child(name = "serviced", type = {DateType.class, Period.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "serviced", type = {DateType.class, Period.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date or dates of service or product delivery", formalDefinition="The date or dates when the service or product was supplied, performed or completed." ) protected DataType serviced; /** * Where the product or service was provided. */ - @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Place of service or where product was supplied", formalDefinition="Where the product or service was provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-place") protected DataType location; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * Unique Device Identifiers associated with this line item. */ - @Child(name = "udi", type = {Device.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udi", type = {Device.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique device identifier", formalDefinition="Unique Device Identifiers associated with this line item." ) protected List udi; /** - * Physical service site on the patient (limb, tooth, etc.). + * Physical location where the service is performed or applies. */ - @Child(name = "bodySite", type = {CodeableConcept.class}, order=18, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Anatomical location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") - protected CodeableConcept bodySite; - - /** - * A region or surface of the bodySite, e.g. limb region or tooth surface(s). - */ - @Child(name = "subSite", type = {CodeableConcept.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Anatomical sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") - protected List subSite; + @Child(name = "bodySite", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Anatomical location", formalDefinition="Physical location where the service is performed or applies." ) + protected List bodySite; /** * A billed item may include goods or services provided in multiple encounters. */ - @Child(name = "encounter", type = {Encounter.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "encounter", type = {Encounter.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Encounters related to this billed item", formalDefinition="A billed item may include goods or services provided in multiple encounters." ) protected List encounter; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=24, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item. */ - @Child(name = "adjudication", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Adjudication details", formalDefinition="If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item." ) protected List adjudication; /** * Second-tier of goods and services. */ - @Child(name = "detail", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "detail", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional items", formalDefinition="Second-tier of goods and services." ) protected List detail; - private static final long serialVersionUID = -1350957145L; + private static final long serialVersionUID = -1358223284L; /** * Constructor @@ -3323,10 +3316,9 @@ public class ExplanationOfBenefit extends DomainResource { /** * Constructor */ - public ItemComponent(int sequence, CodeableConcept productOrService) { + public ItemComponent(int sequence) { super(); this.setSequence(sequence); - this.setProductOrService(productOrService); } /** @@ -3667,7 +3659,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -3683,13 +3675,37 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public ItemComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public ItemComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -3913,6 +3929,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public ItemComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -4028,6 +4068,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public ItemComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -4106,80 +4170,56 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) + * @return {@link #bodySite} (Physical location where the service is performed or applies.) */ - public CodeableConcept getBodySite() { + public List getBodySite() { if (this.bodySite == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ItemComponent.bodySite"); - else if (Configuration.doAutoCreate()) - this.bodySite = new CodeableConcept(); // cc + this.bodySite = new ArrayList(); return this.bodySite; } - public boolean hasBodySite() { - return this.bodySite != null && !this.bodySite.isEmpty(); - } - - /** - * @param value {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) - */ - public ItemComponent setBodySite(CodeableConcept value) { - this.bodySite = value; - return this; - } - - /** - * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) - */ - public List getSubSite() { - if (this.subSite == null) - this.subSite = new ArrayList(); - return this.subSite; - } - /** * @return Returns a reference to this for easy method chaining */ - public ItemComponent setSubSite(List theSubSite) { - this.subSite = theSubSite; + public ItemComponent setBodySite(List theBodySite) { + this.bodySite = theBodySite; return this; } - public boolean hasSubSite() { - if (this.subSite == null) + public boolean hasBodySite() { + if (this.bodySite == null) return false; - for (CodeableConcept item : this.subSite) + for (BodySiteComponent item : this.bodySite) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addSubSite() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + public BodySiteComponent addBodySite() { //3 + BodySiteComponent t = new BodySiteComponent(); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return t; } - public ItemComponent addSubSite(CodeableConcept t) { //3 + public ItemComponent addBodySite(BodySiteComponent t) { //3 if (t == null) return this; - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return this; } /** - * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} */ - public CodeableConcept getSubSiteFirstRep() { - if (getSubSite().isEmpty()) { - addSubSite(); + public BodySiteComponent getBodySiteFirstRep() { + if (getBodySite().isEmpty()) { + addBodySite(); } - return getSubSite().get(0); + return getBodySite().get(0); } /** @@ -4296,6 +4336,30 @@ public class ExplanationOfBenefit extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ItemComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public ItemComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.) */ @@ -4411,20 +4475,23 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("informationSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product.", 0, java.lang.Integer.MAX_VALUE, informationSequence)); children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); children.add(new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced)); children.add(new Property("location[x]", "CodeableConcept|Address|Reference(Location)", "Where the product or service was provided.", 0, 1, location)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi)); - children.add(new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite)); - children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + children.add(new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite)); children.add(new Property("encounter", "Reference(Encounter)", "A billed item may include goods or services provided in multiple encounters.", 0, java.lang.Integer.MAX_VALUE, encounter)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "", "If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("detail", "", "Second-tier of goods and services.", 0, java.lang.Integer.MAX_VALUE, detail)); } @@ -4439,7 +4506,8 @@ public class ExplanationOfBenefit extends DomainResource { case -702585587: /*informationSequence*/ return new Property("informationSequence", "positiveInt", "Exceptions, special conditions and supporting information applicable for this service or product.", 0, java.lang.Integer.MAX_VALUE, informationSequence); case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced); @@ -4451,15 +4519,17 @@ public class ExplanationOfBenefit extends DomainResource { case -1224800468: /*locationCodeableConcept*/ return new Property("location[x]", "CodeableConcept", "Where the product or service was provided.", 0, 1, location); case -1280020865: /*locationAddress*/ return new Property("location[x]", "Address", "Where the product or service was provided.", 0, 1, location); case 755866390: /*locationReference*/ return new Property("location[x]", "Reference(Location)", "Where the product or service was provided.", 0, 1, location); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case 115642: /*udi*/ return new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi); - case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite); - case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + case 1702620169: /*bodySite*/ return new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "A billed item may include goods or services provided in multiple encounters.", 0, java.lang.Integer.MAX_VALUE, encounter); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "", "If this item is a group then the values here are a summary of the adjudication of the detail items. If this item is a simple product or service then this is the result of the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -1335224239: /*detail*/ return new Property("detail", "", "Second-tier of goods and services.", 0, java.lang.Integer.MAX_VALUE, detail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -4478,19 +4548,22 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // DataType + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case 115642: /*udi*/ return this.udi == null ? new Base[0] : this.udi.toArray(new Base[this.udi.size()]); // Reference - case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableConcept - case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // BodySiteComponent case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : this.encounter.toArray(new Base[this.encounter.size()]); // Reference case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // DetailComponent default: return super.getProperty(hash, name, checkValid); @@ -4525,6 +4598,9 @@ public class ExplanationOfBenefit extends DomainResource { case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -4537,6 +4613,9 @@ public class ExplanationOfBenefit extends DomainResource { case 1901043637: // location this.location = TypeConvertor.castToType(value); // DataType return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -4546,6 +4625,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; @@ -4553,10 +4635,7 @@ public class ExplanationOfBenefit extends DomainResource { this.getUdi().add(TypeConvertor.castToReference(value)); // Reference return value; case 1702620169: // bodySite - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1868566105: // subSite - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + this.getBodySite().add((BodySiteComponent) value); // BodySiteComponent return value; case 1524132147: // encounter this.getEncounter().add(TypeConvertor.castToReference(value)); // Reference @@ -4564,6 +4643,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -4593,6 +4675,8 @@ public class ExplanationOfBenefit extends DomainResource { this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { @@ -4601,24 +4685,28 @@ public class ExplanationOfBenefit extends DomainResource { this.serviced = TypeConvertor.castToType(value); // DataType } else if (name.equals("location[x]")) { this.location = TypeConvertor.castToType(value); // DataType + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("udi")) { this.getUdi().add(TypeConvertor.castToReference(value)); } else if (name.equals("bodySite")) { - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("subSite")) { - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + this.getBodySite().add((BodySiteComponent) value); } else if (name.equals("encounter")) { this.getEncounter().add(TypeConvertor.castToReference(value)); } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("detail")) { @@ -4639,21 +4727,24 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: return getRevenue(); case 50511102: return getCategory(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); case -1927922223: return getServiced(); case 1379209295: return getServiced(); case 552316075: return getLocation(); case 1901043637: return getLocation(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case 115642: return addUdi(); - case 1702620169: return getBodySite(); - case -1868566105: return addSubSite(); + case 1702620169: return addBodySite(); case 1524132147: return addEncounter(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -1335224239: return addDetail(); default: return super.makeProperty(hash, name); @@ -4672,19 +4763,22 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; case 1901043637: /*location*/ return new String[] {"CodeableConcept", "Address", "Reference"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case 115642: /*udi*/ return new String[] {"Reference"}; - case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; - case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + case 1702620169: /*bodySite*/ return new String[] {}; case 1524132147: /*encounter*/ return new String[] {"Reference"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {}; case -1335224239: /*detail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -4721,6 +4815,10 @@ public class ExplanationOfBenefit extends DomainResource { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } @@ -4747,6 +4845,10 @@ public class ExplanationOfBenefit extends DomainResource { this.location = new Reference(); return this.location; } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -4758,6 +4860,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.item.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -4766,11 +4872,7 @@ public class ExplanationOfBenefit extends DomainResource { return addUdi(); } else if (name.equals("bodySite")) { - this.bodySite = new CodeableConcept(); - return this.bodySite; - } - else if (name.equals("subSite")) { - return addSubSite(); + return addBodySite(); } else if (name.equals("encounter")) { return addEncounter(); @@ -4778,6 +4880,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.item.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -4820,6 +4926,7 @@ public class ExplanationOfBenefit extends DomainResource { dst.revenue = revenue == null ? null : revenue.copy(); dst.category = category == null ? null : category.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -4832,20 +4939,21 @@ public class ExplanationOfBenefit extends DomainResource { }; dst.serviced = serviced == null ? null : serviced.copy(); dst.location = location == null ? null : location.copy(); + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (udi != null) { dst.udi = new ArrayList(); for (Reference i : udi) dst.udi.add(i.copy()); }; - dst.bodySite = bodySite == null ? null : bodySite.copy(); - if (subSite != null) { - dst.subSite = new ArrayList(); - for (CodeableConcept i : subSite) - dst.subSite.add(i.copy()); + if (bodySite != null) { + dst.bodySite = new ArrayList(); + for (BodySiteComponent i : bodySite) + dst.bodySite.add(i.copy()); }; if (encounter != null) { dst.encounter = new ArrayList(); @@ -4857,6 +4965,7 @@ public class ExplanationOfBenefit extends DomainResource { for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -4880,11 +4989,12 @@ public class ExplanationOfBenefit extends DomainResource { && compareDeep(diagnosisSequence, o.diagnosisSequence, true) && compareDeep(procedureSequence, o.procedureSequence, true) && compareDeep(informationSequence, o.informationSequence, true) && compareDeep(revenue, o.revenue, true) && compareDeep(category, o.category, true) && compareDeep(productOrService, o.productOrService, true) - && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(serviced, o.serviced, true) - && compareDeep(location, o.location, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) - && compareDeep(factor, o.factor, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) - && compareDeep(bodySite, o.bodySite, true) && compareDeep(subSite, o.subSite, true) && compareDeep(encounter, o.encounter, true) - && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) + && compareDeep(programCode, o.programCode, true) && compareDeep(serviced, o.serviced, true) && compareDeep(location, o.location, true) + && compareDeep(patientPaid, o.patientPaid, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) + && compareDeep(factor, o.factor, true) && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) + && compareDeep(udi, o.udi, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(detail, o.detail, true); } @@ -4904,8 +5014,9 @@ public class ExplanationOfBenefit extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, careTeamSequence , diagnosisSequence, procedureSequence, informationSequence, revenue, category, productOrService - , modifier, programCode, serviced, location, quantity, unitPrice, factor, net - , udi, bodySite, subSite, encounter, noteNumber, adjudication, detail); + , productOrServiceEnd, modifier, programCode, serviced, location, patientPaid, quantity + , unitPrice, factor, tax, net, udi, bodySite, encounter, noteNumber, decision + , adjudication, detail); } public String fhirType() { @@ -4913,6 +5024,281 @@ public class ExplanationOfBenefit extends DomainResource { } + } + + @Block() + public static class BodySiteComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Physical service site on the patient (limb, tooth, etc.). + */ + @Child(name = "site", type = {CodeableReference.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") + protected List site; + + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + @Child(name = "subSite", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") + protected List subSite; + + private static final long serialVersionUID = 1190632415L; + + /** + * Constructor + */ + public BodySiteComponent() { + super(); + } + + /** + * Constructor + */ + public BodySiteComponent(CodeableReference site) { + super(); + this.addSite(site); + } + + /** + * @return {@link #site} (Physical service site on the patient (limb, tooth, etc.).) + */ + public List getSite() { + if (this.site == null) + this.site = new ArrayList(); + return this.site; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponent setSite(List theSite) { + this.site = theSite; + return this; + } + + public boolean hasSite() { + if (this.site == null) + return false; + for (CodeableReference item : this.site) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addSite() { //3 + CodeableReference t = new CodeableReference(); + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return t; + } + + public BodySiteComponent addSite(CodeableReference t) { //3 + if (t == null) + return this; + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #site}, creating it if it does not already exist {3} + */ + public CodeableReference getSiteFirstRep() { + if (getSite().isEmpty()) { + addSite(); + } + return getSite().get(0); + } + + /** + * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) + */ + public List getSubSite() { + if (this.subSite == null) + this.subSite = new ArrayList(); + return this.subSite; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponent setSubSite(List theSubSite) { + this.subSite = theSubSite; + return this; + } + + public boolean hasSubSite() { + if (this.subSite == null) + return false; + for (CodeableConcept item : this.subSite) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addSubSite() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return t; + } + + public BodySiteComponent addSubSite(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + */ + public CodeableConcept getSubSiteFirstRep() { + if (getSubSite().isEmpty()) { + addSubSite(); + } + return getSubSite().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site)); + children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3530567: /*site*/ return new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site); + case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return this.site == null ? new Base[0] : this.site.toArray(new Base[this.site.size()]); // CodeableReference + case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3530567: // site + this.getSite().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + case -1868566105: // subSite + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("site")) { + this.getSite().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("subSite")) { + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: return addSite(); + case -1868566105: return addSubSite(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return new String[] {"CodeableReference"}; + case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("site")) { + return addSite(); + } + else if (name.equals("subSite")) { + return addSubSite(); + } + else + return super.addChild(name); + } + + public BodySiteComponent copy() { + BodySiteComponent dst = new BodySiteComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(BodySiteComponent dst) { + super.copyValues(dst); + if (site != null) { + dst.site = new ArrayList(); + for (CodeableReference i : site) + dst.site.add(i.copy()); + }; + if (subSite != null) { + dst.subSite = new ArrayList(); + for (CodeableConcept i : subSite) + dst.subSite.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof BodySiteComponent)) + return false; + BodySiteComponent o = (BodySiteComponent) other_; + return compareDeep(site, o.site, true) && compareDeep(subSite, o.subSite, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof BodySiteComponent)) + return false; + BodySiteComponent o = (BodySiteComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(site, subSite); + } + + public String fhirType() { + return "ExplanationOfBenefit.item.bodySite"; + + } + } @Block() @@ -5288,17 +5674,25 @@ public class ExplanationOfBenefit extends DomainResource { protected CodeableConcept category; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -5306,68 +5700,90 @@ public class ExplanationOfBenefit extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * Unique Device Identifiers associated with this line item. */ - @Child(name = "udi", type = {Device.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udi", type = {Device.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique device identifier", formalDefinition="Unique Device Identifiers associated with this line item." ) protected List udi; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Detail level adjudication details", formalDefinition="The adjudication results." ) protected List adjudication; /** * Third-tier of goods and services. */ - @Child(name = "subDetail", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subDetail", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional items", formalDefinition="Third-tier of goods and services." ) protected List subDetail; - private static final long serialVersionUID = -318460001L; + private static final long serialVersionUID = -1135131173L; /** * Constructor @@ -5379,10 +5795,9 @@ public class ExplanationOfBenefit extends DomainResource { /** * Constructor */ - public DetailComponent(int sequence, CodeableConcept productOrService) { + public DetailComponent(int sequence) { super(); this.setSequence(sequence); - this.setProductOrService(productOrService); } /** @@ -5479,7 +5894,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -5495,13 +5910,37 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public DetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public DetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -5608,6 +6047,30 @@ public class ExplanationOfBenefit extends DomainResource { return getProgramCode().get(0); } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public DetailComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -5723,6 +6186,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public DetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -5861,6 +6348,30 @@ public class ExplanationOfBenefit extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create DetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public DetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -5972,15 +6483,19 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("sequence", "positiveInt", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, 1, sequence)); children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("subDetail", "", "Third-tier of goods and services.", 0, java.lang.Integer.MAX_VALUE, subDetail)); } @@ -5991,15 +6506,19 @@ public class ExplanationOfBenefit extends DomainResource { case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, 1, sequence); case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case 115642: /*udi*/ return new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -828829007: /*subDetail*/ return new Property("subDetail", "", "Third-tier of goods and services.", 0, java.lang.Integer.MAX_VALUE, subDetail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -6014,14 +6533,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case 115642: /*udi*/ return this.udi == null ? new Base[0] : this.udi.toArray(new Base[this.udi.size()]); // Reference case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -828829007: /*subDetail*/ return this.subDetail == null ? new Base[0] : this.subDetail.toArray(new Base[this.subDetail.size()]); // SubDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -6044,12 +6567,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 1010065041: // programCode this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -6059,6 +6588,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; @@ -6068,6 +6600,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -6089,22 +6624,30 @@ public class ExplanationOfBenefit extends DomainResource { this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("udi")) { this.getUdi().add(TypeConvertor.castToReference(value)); } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("subDetail")) { @@ -6121,14 +6664,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: return getRevenue(); case 50511102: return getCategory(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case 115642: return addUdi(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -828829007: return addSubDetail(); default: return super.makeProperty(hash, name); @@ -6143,14 +6690,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case 115642: /*udi*/ return new String[] {"Reference"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ExplanationOfBenefit.item.adjudication"}; case -828829007: /*subDetail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -6175,12 +6726,20 @@ public class ExplanationOfBenefit extends DomainResource { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } else if (name.equals("programCode")) { return addProgramCode(); } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -6192,6 +6751,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.item.detail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -6202,6 +6765,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.item.detail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -6224,6 +6791,7 @@ public class ExplanationOfBenefit extends DomainResource { dst.revenue = revenue == null ? null : revenue.copy(); dst.category = category == null ? null : category.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -6234,9 +6802,11 @@ public class ExplanationOfBenefit extends DomainResource { for (CodeableConcept i : programCode) dst.programCode.add(i.copy()); }; + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (udi != null) { dst.udi = new ArrayList(); @@ -6248,6 +6818,7 @@ public class ExplanationOfBenefit extends DomainResource { for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -6268,10 +6839,11 @@ public class ExplanationOfBenefit extends DomainResource { return false; DetailComponent o = (DetailComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(revenue, o.revenue, true) && compareDeep(category, o.category, true) - && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) - && compareDeep(programCode, o.programCode, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) - && compareDeep(factor, o.factor, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) - && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) + && compareDeep(productOrService, o.productOrService, true) && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) + && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(patientPaid, o.patientPaid, true) + && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) + && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(subDetail, o.subDetail, true); } @@ -6288,8 +6860,9 @@ public class ExplanationOfBenefit extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, revenue, category - , productOrService, modifier, programCode, quantity, unitPrice, factor, net, udi - , noteNumber, adjudication, subDetail); + , productOrService, productOrServiceEnd, modifier, programCode, patientPaid, quantity + , unitPrice, factor, tax, net, udi, noteNumber, decision, adjudication, subDetail + ); } public String fhirType() { @@ -6325,17 +6898,25 @@ public class ExplanationOfBenefit extends DomainResource { protected CodeableConcept category; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "productOrService", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -6343,61 +6924,83 @@ public class ExplanationOfBenefit extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * Unique Device Identifiers associated with this line item. */ - @Child(name = "udi", type = {Device.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "udi", type = {Device.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Unique device identifier", formalDefinition="Unique Device Identifiers associated with this line item." ) protected List udi; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Subdetail level adjudication details", formalDefinition="The adjudication results." ) protected List adjudication; - private static final long serialVersionUID = -579551678L; + private static final long serialVersionUID = 971869062L; /** * Constructor @@ -6409,10 +7012,9 @@ public class ExplanationOfBenefit extends DomainResource { /** * Constructor */ - public SubDetailComponent(int sequence, CodeableConcept productOrService) { + public SubDetailComponent(int sequence) { super(); this.setSequence(sequence); - this.setProductOrService(productOrService); } /** @@ -6509,7 +7111,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -6525,13 +7127,37 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public SubDetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public SubDetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -6638,6 +7264,30 @@ public class ExplanationOfBenefit extends DomainResource { return getProgramCode().get(0); } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public SubDetailComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -6753,6 +7403,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public SubDetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -6891,6 +7565,30 @@ public class ExplanationOfBenefit extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public SubDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -6949,15 +7647,19 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("sequence", "positiveInt", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, 1, sequence)); children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); children.add(new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); } @@ -6967,15 +7669,19 @@ public class ExplanationOfBenefit extends DomainResource { case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "A claim detail line. Either a simple (a product or service) or a 'group' of sub-details which are simple items.", 0, 1, sequence); case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Code to identify the general type of benefits under which products and services are provided.", 0, 1, category); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case 115642: /*udi*/ return new Property("udi", "Reference(Device)", "Unique Device Identifiers associated with this line item.", 0, java.lang.Integer.MAX_VALUE, udi); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -6989,14 +7695,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 50511102: /*category*/ return this.category == null ? new Base[0] : new Base[] {this.category}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case 115642: /*udi*/ return this.udi == null ? new Base[0] : this.udi.toArray(new Base[this.udi.size()]); // Reference case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent default: return super.getProperty(hash, name, checkValid); } @@ -7018,12 +7728,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 1010065041: // programCode this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -7033,6 +7749,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; @@ -7042,6 +7761,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -7060,22 +7782,30 @@ public class ExplanationOfBenefit extends DomainResource { this.category = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { this.getProgramCode().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("udi")) { this.getUdi().add(TypeConvertor.castToReference(value)); } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else @@ -7090,14 +7820,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: return getRevenue(); case 50511102: return getCategory(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case 115642: return addUdi(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); default: return super.makeProperty(hash, name); } @@ -7111,14 +7845,18 @@ public class ExplanationOfBenefit extends DomainResource { case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case 115642: /*udi*/ return new String[] {"Reference"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ExplanationOfBenefit.item.adjudication"}; default: return super.getTypesForProperty(hash, name); } @@ -7142,12 +7880,20 @@ public class ExplanationOfBenefit extends DomainResource { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } else if (name.equals("programCode")) { return addProgramCode(); } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -7159,6 +7905,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.item.detail.subDetail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -7169,6 +7919,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.item.detail.subDetail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -7188,6 +7942,7 @@ public class ExplanationOfBenefit extends DomainResource { dst.revenue = revenue == null ? null : revenue.copy(); dst.category = category == null ? null : category.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -7198,9 +7953,11 @@ public class ExplanationOfBenefit extends DomainResource { for (CodeableConcept i : programCode) dst.programCode.add(i.copy()); }; + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (udi != null) { dst.udi = new ArrayList(); @@ -7212,6 +7969,7 @@ public class ExplanationOfBenefit extends DomainResource { for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -7227,10 +7985,11 @@ public class ExplanationOfBenefit extends DomainResource { return false; SubDetailComponent o = (SubDetailComponent) other_; return compareDeep(sequence, o.sequence, true) && compareDeep(revenue, o.revenue, true) && compareDeep(category, o.category, true) - && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) - && compareDeep(programCode, o.programCode, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) - && compareDeep(factor, o.factor, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) - && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) + && compareDeep(productOrService, o.productOrService, true) && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) + && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(patientPaid, o.patientPaid, true) + && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) + && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) && compareDeep(udi, o.udi, true) + && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) ; } @@ -7247,8 +8006,8 @@ public class ExplanationOfBenefit extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, revenue, category - , productOrService, modifier, programCode, quantity, unitPrice, factor, net, udi - , noteNumber, adjudication); + , productOrService, productOrServiceEnd, modifier, programCode, patientPaid, quantity + , unitPrice, factor, tax, net, udi, noteNumber, decision, adjudication); } public String fhirType() { @@ -7289,17 +8048,33 @@ public class ExplanationOfBenefit extends DomainResource { protected List provider; /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * The type of revenue or cost center providing the product and/or service. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=5, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "revenue", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Revenue or cost center code", formalDefinition="The type of revenue or cost center providing the product and/or service." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-revenue-center") + protected CodeableConcept revenue; + + /** + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. + */ + @Child(name = "productOrService", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; @@ -7307,7 +8082,7 @@ public class ExplanationOfBenefit extends DomainResource { /** * Identifies the program under which this may be recovered. */ - @Child(name = "programCode", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "programCode", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Program the product or service is provided under", formalDefinition="Identifies the program under which this may be recovered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-program-code") protected List programCode; @@ -7315,84 +8090,97 @@ public class ExplanationOfBenefit extends DomainResource { /** * The date or dates when the service or product was supplied, performed or completed. */ - @Child(name = "serviced", type = {DateType.class, Period.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "serviced", type = {DateType.class, Period.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date or dates of service or product delivery", formalDefinition="The date or dates when the service or product was supplied, performed or completed." ) protected DataType serviced; /** * Where the product or service was provided. */ - @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "location", type = {CodeableConcept.class, Address.class, Location.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Place of service or where product was supplied", formalDefinition="Where the product or service was provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-place") protected DataType location; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** - * Physical service site on the patient (limb, tooth, etc.). + * Physical location where the service is performed or applies. */ - @Child(name = "bodySite", type = {CodeableConcept.class}, order=14, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Anatomical location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") - protected CodeableConcept bodySite; - - /** - * A region or surface of the bodySite, e.g. limb region or tooth surface(s). - */ - @Child(name = "subSite", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Anatomical sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") - protected List subSite; + @Child(name = "bodySite", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Anatomical location", formalDefinition="Physical location where the service is performed or applies." ) + protected List bodySite; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Added items adjudication", formalDefinition="The adjudication results." ) protected List adjudication; /** * The second-tier service adjudications for payor added services. */ - @Child(name = "detail", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "detail", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Insurer added line items", formalDefinition="The second-tier service adjudications for payor added services." ) protected List detail; - private static final long serialVersionUID = 2055842184L; + private static final long serialVersionUID = -256167577L; /** * Constructor @@ -7401,14 +8189,6 @@ public class ExplanationOfBenefit extends DomainResource { super(); } - /** - * Constructor - */ - public AddedItemComponent(CodeableConcept productOrService) { - super(); - this.setProductOrService(productOrService); - } - /** * @return {@link #itemSequence} (Claim items which this service line is intended to replace.) */ @@ -7646,7 +8426,31 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @return {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public CodeableConcept getRevenue() { + if (this.revenue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.revenue"); + else if (Configuration.doAutoCreate()) + this.revenue = new CodeableConcept(); // cc + return this.revenue; + } + + public boolean hasRevenue() { + return this.revenue != null && !this.revenue.isEmpty(); + } + + /** + * @param value {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public AddedItemComponent setRevenue(CodeableConcept value) { + this.revenue = value; + return this; + } + + /** + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -7662,13 +8466,37 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public AddedItemComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public AddedItemComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -7892,6 +8720,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public AddedItemComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -8007,6 +8859,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public AddedItemComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -8032,80 +8908,56 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) + * @return {@link #bodySite} (Physical location where the service is performed or applies.) */ - public CodeableConcept getBodySite() { + public List getBodySite() { if (this.bodySite == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create AddedItemComponent.bodySite"); - else if (Configuration.doAutoCreate()) - this.bodySite = new CodeableConcept(); // cc + this.bodySite = new ArrayList(); return this.bodySite; } - public boolean hasBodySite() { - return this.bodySite != null && !this.bodySite.isEmpty(); - } - - /** - * @param value {@link #bodySite} (Physical service site on the patient (limb, tooth, etc.).) - */ - public AddedItemComponent setBodySite(CodeableConcept value) { - this.bodySite = value; - return this; - } - - /** - * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) - */ - public List getSubSite() { - if (this.subSite == null) - this.subSite = new ArrayList(); - return this.subSite; - } - /** * @return Returns a reference to this for easy method chaining */ - public AddedItemComponent setSubSite(List theSubSite) { - this.subSite = theSubSite; + public AddedItemComponent setBodySite(List theBodySite) { + this.bodySite = theBodySite; return this; } - public boolean hasSubSite() { - if (this.subSite == null) + public boolean hasBodySite() { + if (this.bodySite == null) return false; - for (CodeableConcept item : this.subSite) + for (BodySiteComponentA item : this.bodySite) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addSubSite() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + public BodySiteComponentA addBodySite() { //3 + BodySiteComponentA t = new BodySiteComponentA(); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return t; } - public AddedItemComponent addSubSite(CodeableConcept t) { //3 + public AddedItemComponent addBodySite(BodySiteComponentA t) { //3 if (t == null) return this; - if (this.subSite == null) - this.subSite = new ArrayList(); - this.subSite.add(t); + if (this.bodySite == null) + this.bodySite = new ArrayList(); + this.bodySite.add(t); return this; } /** - * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #bodySite}, creating it if it does not already exist {3} */ - public CodeableConcept getSubSiteFirstRep() { - if (getSubSite().isEmpty()) { - addSubSite(); + public BodySiteComponentA getBodySiteFirstRep() { + if (getBodySite().isEmpty()) { + addBodySite(); } - return getSubSite().get(0); + return getBodySite().get(0); } /** @@ -8169,6 +9021,30 @@ public class ExplanationOfBenefit extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public AddedItemComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -8281,18 +9157,22 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("detailSequence", "positiveInt", "The sequence number of the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, detailSequence)); children.add(new Property("subDetailSequence", "positiveInt", "The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, subDetailSequence)); children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The providers who are authorized for the services rendered to the patient.", 0, java.lang.Integer.MAX_VALUE, provider)); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); children.add(new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode)); children.add(new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced)); children.add(new Property("location[x]", "CodeableConcept|Address|Reference(Location)", "Where the product or service was provided.", 0, 1, location)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); - children.add(new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite)); - children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + children.add(new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("detail", "", "The second-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, detail)); } @@ -8304,7 +9184,9 @@ public class ExplanationOfBenefit extends DomainResource { case 1321472818: /*detailSequence*/ return new Property("detailSequence", "positiveInt", "The sequence number of the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, detailSequence); case -855462510: /*subDetailSequence*/ return new Property("subDetailSequence", "positiveInt", "The sequence number of the sub-details woithin the details within the claim item which this line is intended to replace.", 0, java.lang.Integer.MAX_VALUE, subDetailSequence); case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The providers who are authorized for the services rendered to the patient.", 0, java.lang.Integer.MAX_VALUE, provider); - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); case 1010065041: /*programCode*/ return new Property("programCode", "CodeableConcept", "Identifies the program under which this may be recovered.", 0, java.lang.Integer.MAX_VALUE, programCode); case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "The date or dates when the service or product was supplied, performed or completed.", 0, 1, serviced); @@ -8316,13 +9198,15 @@ public class ExplanationOfBenefit extends DomainResource { case -1224800468: /*locationCodeableConcept*/ return new Property("location[x]", "CodeableConcept", "Where the product or service was provided.", 0, 1, location); case -1280020865: /*locationAddress*/ return new Property("location[x]", "Address", "Where the product or service was provided.", 0, 1, location); case 755866390: /*locationReference*/ return new Property("location[x]", "Reference(Location)", "Where the product or service was provided.", 0, 1, location); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); - case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Physical service site on the patient (limb, tooth, etc.).", 0, 1, bodySite); - case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + case 1702620169: /*bodySite*/ return new Property("bodySite", "", "Physical location where the service is performed or applies.", 0, java.lang.Integer.MAX_VALUE, bodySite); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -1335224239: /*detail*/ return new Property("detail", "", "The second-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, detail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -8337,18 +9221,22 @@ public class ExplanationOfBenefit extends DomainResource { case 1321472818: /*detailSequence*/ return this.detailSequence == null ? new Base[0] : this.detailSequence.toArray(new Base[this.detailSequence.size()]); // PositiveIntType case -855462510: /*subDetailSequence*/ return this.subDetailSequence == null ? new Base[0] : this.subDetailSequence.toArray(new Base[this.subDetailSequence.size()]); // PositiveIntType case -987494927: /*provider*/ return this.provider == null ? new Base[0] : this.provider.toArray(new Base[this.provider.size()]); // Reference + case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept case 1010065041: /*programCode*/ return this.programCode == null ? new Base[0] : this.programCode.toArray(new Base[this.programCode.size()]); // CodeableConcept case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // DataType + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money - case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableConcept - case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : this.bodySite.toArray(new Base[this.bodySite.size()]); // BodySiteComponentA case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // AddedItemDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -8371,9 +9259,15 @@ public class ExplanationOfBenefit extends DomainResource { case -987494927: // provider this.getProvider().add(TypeConvertor.castToReference(value)); // Reference return value; + case 1099842588: // revenue + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -8386,6 +9280,9 @@ public class ExplanationOfBenefit extends DomainResource { case 1901043637: // location this.location = TypeConvertor.castToType(value); // DataType return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -8395,18 +9292,21 @@ public class ExplanationOfBenefit extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; case 1702620169: // bodySite - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1868566105: // subSite - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + this.getBodySite().add((BodySiteComponentA) value); // BodySiteComponentA return value; case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -8428,8 +9328,12 @@ public class ExplanationOfBenefit extends DomainResource { this.getSubDetailSequence().add(TypeConvertor.castToPositiveInt(value)); } else if (name.equals("provider")) { this.getProvider().add(TypeConvertor.castToReference(value)); + } else if (name.equals("revenue")) { + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("programCode")) { @@ -8438,20 +9342,24 @@ public class ExplanationOfBenefit extends DomainResource { this.serviced = TypeConvertor.castToType(value); // DataType } else if (name.equals("location[x]")) { this.location = TypeConvertor.castToType(value); // DataType + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("bodySite")) { - this.bodySite = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("subSite")) { - this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + this.getBodySite().add((BodySiteComponentA) value); } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("detail")) { @@ -8468,20 +9376,24 @@ public class ExplanationOfBenefit extends DomainResource { case 1321472818: return addDetailSequenceElement(); case -855462510: return addSubDetailSequenceElement(); case -987494927: return addProvider(); + case 1099842588: return getRevenue(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); case 1010065041: return addProgramCode(); case -1927922223: return getServiced(); case 1379209295: return getServiced(); case 552316075: return getLocation(); case 1901043637: return getLocation(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); - case 1702620169: return getBodySite(); - case -1868566105: return addSubSite(); + case 1702620169: return addBodySite(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -1335224239: return addDetail(); default: return super.makeProperty(hash, name); @@ -8496,18 +9408,22 @@ public class ExplanationOfBenefit extends DomainResource { case 1321472818: /*detailSequence*/ return new String[] {"positiveInt"}; case -855462510: /*subDetailSequence*/ return new String[] {"positiveInt"}; case -987494927: /*provider*/ return new String[] {"Reference"}; + case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; case 1010065041: /*programCode*/ return new String[] {"CodeableConcept"}; case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; case 1901043637: /*location*/ return new String[] {"CodeableConcept", "Address", "Reference"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; - case 1702620169: /*bodySite*/ return new String[] {"CodeableConcept"}; - case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + case 1702620169: /*bodySite*/ return new String[] {}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ExplanationOfBenefit.item.adjudication"}; case -1335224239: /*detail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -8529,10 +9445,18 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("provider")) { return addProvider(); } + else if (name.equals("revenue")) { + this.revenue = new CodeableConcept(); + return this.revenue; + } else if (name.equals("productOrService")) { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } @@ -8559,6 +9483,10 @@ public class ExplanationOfBenefit extends DomainResource { this.location = new Reference(); return this.location; } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -8570,20 +9498,24 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.addItem.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; } else if (name.equals("bodySite")) { - this.bodySite = new CodeableConcept(); - return this.bodySite; - } - else if (name.equals("subSite")) { - return addSubSite(); + return addBodySite(); } else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.addItem.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -8622,7 +9554,9 @@ public class ExplanationOfBenefit extends DomainResource { for (Reference i : provider) dst.provider.add(i.copy()); }; + dst.revenue = revenue == null ? null : revenue.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) @@ -8635,21 +9569,23 @@ public class ExplanationOfBenefit extends DomainResource { }; dst.serviced = serviced == null ? null : serviced.copy(); dst.location = location == null ? null : location.copy(); + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); - dst.bodySite = bodySite == null ? null : bodySite.copy(); - if (subSite != null) { - dst.subSite = new ArrayList(); - for (CodeableConcept i : subSite) - dst.subSite.add(i.copy()); + if (bodySite != null) { + dst.bodySite = new ArrayList(); + for (BodySiteComponentA i : bodySite) + dst.bodySite.add(i.copy()); }; if (noteNumber != null) { dst.noteNumber = new ArrayList(); for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -8671,12 +9607,13 @@ public class ExplanationOfBenefit extends DomainResource { AddedItemComponent o = (AddedItemComponent) other_; return compareDeep(itemSequence, o.itemSequence, true) && compareDeep(detailSequence, o.detailSequence, true) && compareDeep(subDetailSequence, o.subDetailSequence, true) && compareDeep(provider, o.provider, true) - && compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) + && compareDeep(revenue, o.revenue, true) && compareDeep(productOrService, o.productOrService, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) && compareDeep(programCode, o.programCode, true) && compareDeep(serviced, o.serviced, true) && compareDeep(location, o.location, true) - && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) - && compareDeep(net, o.net, true) && compareDeep(bodySite, o.bodySite, true) && compareDeep(subSite, o.subSite, true) - && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) - && compareDeep(detail, o.detail, true); + && compareDeep(patientPaid, o.patientPaid, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) + && compareDeep(factor, o.factor, true) && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) + && compareDeep(bodySite, o.bodySite, true) && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) + && compareDeep(adjudication, o.adjudication, true) && compareDeep(detail, o.detail, true); } @Override @@ -8693,9 +9630,9 @@ public class ExplanationOfBenefit extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(itemSequence, detailSequence - , subDetailSequence, provider, productOrService, modifier, programCode, serviced - , location, quantity, unitPrice, factor, net, bodySite, subSite, noteNumber - , adjudication, detail); + , subDetailSequence, provider, revenue, productOrService, productOrServiceEnd, modifier + , programCode, serviced, location, patientPaid, quantity, unitPrice, factor, tax + , net, bodySite, noteNumber, decision, adjudication, detail); } public String fhirType() { @@ -8703,76 +9640,389 @@ public class ExplanationOfBenefit extends DomainResource { } + } + + @Block() + public static class BodySiteComponentA extends BackboneElement implements IBaseBackboneElement { + /** + * Physical service site on the patient (limb, tooth, etc.). + */ + @Child(name = "site", type = {CodeableReference.class}, order=1, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Location", formalDefinition="Physical service site on the patient (limb, tooth, etc.)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/tooth") + protected List site; + + /** + * A region or surface of the bodySite, e.g. limb region or tooth surface(s). + */ + @Child(name = "subSite", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Sub-location", formalDefinition="A region or surface of the bodySite, e.g. limb region or tooth surface(s)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/surface") + protected List subSite; + + private static final long serialVersionUID = 1190632415L; + + /** + * Constructor + */ + public BodySiteComponentA() { + super(); + } + + /** + * Constructor + */ + public BodySiteComponentA(CodeableReference site) { + super(); + this.addSite(site); + } + + /** + * @return {@link #site} (Physical service site on the patient (limb, tooth, etc.).) + */ + public List getSite() { + if (this.site == null) + this.site = new ArrayList(); + return this.site; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponentA setSite(List theSite) { + this.site = theSite; + return this; + } + + public boolean hasSite() { + if (this.site == null) + return false; + for (CodeableReference item : this.site) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addSite() { //3 + CodeableReference t = new CodeableReference(); + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return t; + } + + public BodySiteComponentA addSite(CodeableReference t) { //3 + if (t == null) + return this; + if (this.site == null) + this.site = new ArrayList(); + this.site.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #site}, creating it if it does not already exist {3} + */ + public CodeableReference getSiteFirstRep() { + if (getSite().isEmpty()) { + addSite(); + } + return getSite().get(0); + } + + /** + * @return {@link #subSite} (A region or surface of the bodySite, e.g. limb region or tooth surface(s).) + */ + public List getSubSite() { + if (this.subSite == null) + this.subSite = new ArrayList(); + return this.subSite; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public BodySiteComponentA setSubSite(List theSubSite) { + this.subSite = theSubSite; + return this; + } + + public boolean hasSubSite() { + if (this.subSite == null) + return false; + for (CodeableConcept item : this.subSite) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addSubSite() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return t; + } + + public BodySiteComponentA addSubSite(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.subSite == null) + this.subSite = new ArrayList(); + this.subSite.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #subSite}, creating it if it does not already exist {3} + */ + public CodeableConcept getSubSiteFirstRep() { + if (getSubSite().isEmpty()) { + addSubSite(); + } + return getSubSite().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site)); + children.add(new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3530567: /*site*/ return new Property("site", "CodeableReference(BodyStructure)", "Physical service site on the patient (limb, tooth, etc.).", 0, java.lang.Integer.MAX_VALUE, site); + case -1868566105: /*subSite*/ return new Property("subSite", "CodeableConcept", "A region or surface of the bodySite, e.g. limb region or tooth surface(s).", 0, java.lang.Integer.MAX_VALUE, subSite); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return this.site == null ? new Base[0] : this.site.toArray(new Base[this.site.size()]); // CodeableReference + case -1868566105: /*subSite*/ return this.subSite == null ? new Base[0] : this.subSite.toArray(new Base[this.subSite.size()]); // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3530567: // site + this.getSite().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + case -1868566105: // subSite + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("site")) { + this.getSite().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("subSite")) { + this.getSubSite().add(TypeConvertor.castToCodeableConcept(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: return addSite(); + case -1868566105: return addSubSite(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3530567: /*site*/ return new String[] {"CodeableReference"}; + case -1868566105: /*subSite*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("site")) { + return addSite(); + } + else if (name.equals("subSite")) { + return addSubSite(); + } + else + return super.addChild(name); + } + + public BodySiteComponentA copy() { + BodySiteComponentA dst = new BodySiteComponentA(); + copyValues(dst); + return dst; + } + + public void copyValues(BodySiteComponentA dst) { + super.copyValues(dst); + if (site != null) { + dst.site = new ArrayList(); + for (CodeableReference i : site) + dst.site.add(i.copy()); + }; + if (subSite != null) { + dst.subSite = new ArrayList(); + for (CodeableConcept i : subSite) + dst.subSite.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof BodySiteComponentA)) + return false; + BodySiteComponentA o = (BodySiteComponentA) other_; + return compareDeep(site, o.site, true) && compareDeep(subSite, o.subSite, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof BodySiteComponentA)) + return false; + BodySiteComponentA o = (BodySiteComponentA) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(site, subSite); + } + + public String fhirType() { + return "ExplanationOfBenefit.addItem.bodySite"; + + } + } @Block() public static class AddedItemDetailComponent extends BackboneElement implements IBaseBackboneElement { /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * The type of revenue or cost center providing the product and/or service. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "revenue", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Revenue or cost center code", formalDefinition="The type of revenue or cost center providing the product and/or service." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-revenue-center") + protected CodeableConcept revenue; + + /** + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. + */ + @Child(name = "productOrService", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Added items adjudication", formalDefinition="The adjudication results." ) protected List adjudication; /** * The third-tier service adjudications for payor added services. */ - @Child(name = "subDetail", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subDetail", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Insurer added line items", formalDefinition="The third-tier service adjudications for payor added services." ) protected List subDetail; - private static final long serialVersionUID = 295910869L; + private static final long serialVersionUID = 1514057274L; /** * Constructor @@ -8781,16 +10031,32 @@ public class ExplanationOfBenefit extends DomainResource { super(); } - /** - * Constructor - */ - public AddedItemDetailComponent(CodeableConcept productOrService) { - super(); - this.setProductOrService(productOrService); - } + /** + * @return {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public CodeableConcept getRevenue() { + if (this.revenue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.revenue"); + else if (Configuration.doAutoCreate()) + this.revenue = new CodeableConcept(); // cc + return this.revenue; + } + + public boolean hasRevenue() { + return this.revenue != null && !this.revenue.isEmpty(); + } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public AddedItemDetailComponent setRevenue(CodeableConcept value) { + this.revenue = value; + return this; + } + + /** + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -8806,13 +10072,37 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public AddedItemDetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public AddedItemDetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -8866,6 +10156,30 @@ public class ExplanationOfBenefit extends DomainResource { return getModifier().get(0); } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public AddedItemDetailComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -8981,6 +10295,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public AddedItemDetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -9066,6 +10404,30 @@ public class ExplanationOfBenefit extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public AddedItemDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -9174,13 +10536,18 @@ public class ExplanationOfBenefit extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); children.add(new Property("subDetail", "", "The third-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, subDetail)); } @@ -9188,13 +10555,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); case -828829007: /*subDetail*/ return new Property("subDetail", "", "The third-tier service adjudications for payor added services.", 0, java.lang.Integer.MAX_VALUE, subDetail); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -9205,13 +10577,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent case -828829007: /*subDetail*/ return this.subDetail == null ? new Base[0] : this.subDetail.toArray(new Base[this.subDetail.size()]); // AddedItemDetailSubDetailComponent default: return super.getProperty(hash, name, checkValid); @@ -9222,12 +10599,21 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { + case 1099842588: // revenue + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -9237,12 +10623,18 @@ public class ExplanationOfBenefit extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -9256,20 +10648,30 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else if (name.equals("subDetail")) { @@ -9282,13 +10684,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: return getRevenue(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); case -828829007: return addSubDetail(); default: return super.makeProperty(hash, name); @@ -9299,13 +10706,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ExplanationOfBenefit.item.adjudication"}; case -828829007: /*subDetail*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -9315,13 +10727,25 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = new CodeableConcept(); + return this.revenue; + } + else if (name.equals("productOrService")) { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -9333,6 +10757,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.addItem.detail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -9340,6 +10768,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.addItem.detail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -9358,21 +10790,26 @@ public class ExplanationOfBenefit extends DomainResource { public void copyValues(AddedItemDetailComponent dst) { super.copyValues(dst); + dst.revenue = revenue == null ? null : revenue.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) dst.modifier.add(i.copy()); }; + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (noteNumber != null) { dst.noteNumber = new ArrayList(); for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -9392,9 +10829,11 @@ public class ExplanationOfBenefit extends DomainResource { if (!(other_ instanceof AddedItemDetailComponent)) return false; AddedItemDetailComponent o = (AddedItemDetailComponent) other_; - return compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) - && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) - && compareDeep(net, o.net, true) && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) + return compareDeep(revenue, o.revenue, true) && compareDeep(productOrService, o.productOrService, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) + && compareDeep(patientPaid, o.patientPaid, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) + && compareDeep(factor, o.factor, true) && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) + && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(subDetail, o.subDetail, true); } @@ -9409,8 +10848,9 @@ public class ExplanationOfBenefit extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(productOrService, modifier - , quantity, unitPrice, factor, net, noteNumber, adjudication, subDetail); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(revenue, productOrService + , productOrServiceEnd, modifier, patientPaid, quantity, unitPrice, factor, tax + , net, noteNumber, decision, adjudication, subDetail); } public String fhirType() { @@ -9423,64 +10863,102 @@ public class ExplanationOfBenefit extends DomainResource { @Block() public static class AddedItemDetailSubDetailComponent extends BackboneElement implements IBaseBackboneElement { /** - * When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item. + * The type of revenue or cost center providing the product and/or service. */ - @Child(name = "productOrService", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item." ) + @Child(name = "revenue", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Revenue or cost center code", formalDefinition="The type of revenue or cost center providing the product and/or service." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-revenue-center") + protected CodeableConcept revenue; + + /** + * When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used. + */ + @Child(name = "productOrService", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Billing, service, product, or drug code", formalDefinition="When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") protected CodeableConcept productOrService; + /** + * This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims. + */ + @Child(name = "productOrServiceEnd", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="End of a range of codes", formalDefinition="This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-uscls") + protected CodeableConcept productOrServiceEnd; + /** * Item typification or modifiers codes to convey additional context for the product or service. */ - @Child(name = "modifier", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "modifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Service/Product billing modifiers", formalDefinition="Item typification or modifiers codes to convey additional context for the product or service." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-modifiers") protected List modifier; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * The number of repetitions of a service or product. */ - @Child(name = "quantity", type = {Quantity.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "quantity", type = {Quantity.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Count of products or services", formalDefinition="The number of repetitions of a service or product." ) protected Quantity quantity; /** * If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group. */ - @Child(name = "unitPrice", type = {Money.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "unitPrice", type = {Money.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Fee, charge or cost per item", formalDefinition="If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group." ) protected Money unitPrice; /** * A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount. */ - @Child(name = "factor", type = {DecimalType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "factor", type = {DecimalType.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Price scaling factor", formalDefinition="A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount." ) protected DecimalType factor; + /** + * The total of taxes applicable for this product or service. + */ + @Child(name = "tax", type = {Money.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Total tax", formalDefinition="The total of taxes applicable for this product or service." ) + protected Money tax; + /** * The quantity times the unit price for an additional service or product or charge. */ - @Child(name = "net", type = {Money.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "net", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total item cost", formalDefinition="The quantity times the unit price for an additional service or product or charge." ) protected Money net; /** * The numbers associated with notes below which apply to the adjudication of this item. */ - @Child(name = "noteNumber", type = {PositiveIntType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "noteNumber", type = {PositiveIntType.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Applicable note numbers", formalDefinition="The numbers associated with notes below which apply to the adjudication of this item." ) protected List noteNumber; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * The adjudication results. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Added items adjudication", formalDefinition="The adjudication results." ) protected List adjudication; - private static final long serialVersionUID = 1301363592L; + private static final long serialVersionUID = 1436664749L; /** * Constructor @@ -9489,16 +10967,32 @@ public class ExplanationOfBenefit extends DomainResource { super(); } - /** - * Constructor - */ - public AddedItemDetailSubDetailComponent(CodeableConcept productOrService) { - super(); - this.setProductOrService(productOrService); - } + /** + * @return {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public CodeableConcept getRevenue() { + if (this.revenue == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailSubDetailComponent.revenue"); + else if (Configuration.doAutoCreate()) + this.revenue = new CodeableConcept(); // cc + return this.revenue; + } + + public boolean hasRevenue() { + return this.revenue != null && !this.revenue.isEmpty(); + } /** - * @return {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #revenue} (The type of revenue or cost center providing the product and/or service.) + */ + public AddedItemDetailSubDetailComponent setRevenue(CodeableConcept value) { + this.revenue = value; + return this; + } + + /** + * @return {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public CodeableConcept getProductOrService() { if (this.productOrService == null) @@ -9514,13 +11008,37 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.) + * @param value {@link #productOrService} (When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.) */ public AddedItemDetailSubDetailComponent setProductOrService(CodeableConcept value) { this.productOrService = value; return this; } + /** + * @return {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public CodeableConcept getProductOrServiceEnd() { + if (this.productOrServiceEnd == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailSubDetailComponent.productOrServiceEnd"); + else if (Configuration.doAutoCreate()) + this.productOrServiceEnd = new CodeableConcept(); // cc + return this.productOrServiceEnd; + } + + public boolean hasProductOrServiceEnd() { + return this.productOrServiceEnd != null && !this.productOrServiceEnd.isEmpty(); + } + + /** + * @param value {@link #productOrServiceEnd} (This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.) + */ + public AddedItemDetailSubDetailComponent setProductOrServiceEnd(CodeableConcept value) { + this.productOrServiceEnd = value; + return this; + } + /** * @return {@link #modifier} (Item typification or modifiers codes to convey additional context for the product or service.) */ @@ -9574,6 +11092,30 @@ public class ExplanationOfBenefit extends DomainResource { return getModifier().get(0); } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailSubDetailComponent.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public AddedItemDetailSubDetailComponent setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #quantity} (The number of repetitions of a service or product.) */ @@ -9689,6 +11231,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #tax} (The total of taxes applicable for this product or service.) + */ + public Money getTax() { + if (this.tax == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailSubDetailComponent.tax"); + else if (Configuration.doAutoCreate()) + this.tax = new Money(); // cc + return this.tax; + } + + public boolean hasTax() { + return this.tax != null && !this.tax.isEmpty(); + } + + /** + * @param value {@link #tax} (The total of taxes applicable for this product or service.) + */ + public AddedItemDetailSubDetailComponent setTax(Money value) { + this.tax = value; + return this; + } + /** * @return {@link #net} (The quantity times the unit price for an additional service or product or charge.) */ @@ -9774,6 +11340,30 @@ public class ExplanationOfBenefit extends DomainResource { return false; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create AddedItemDetailSubDetailComponent.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public AddedItemDetailSubDetailComponent setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #adjudication} (The adjudication results.) */ @@ -9829,26 +11419,36 @@ public class ExplanationOfBenefit extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService)); + children.add(new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue)); + children.add(new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService)); + children.add(new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd)); children.add(new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity)); children.add(new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice)); children.add(new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor)); + children.add(new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax)); children.add(new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net)); children.add(new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related claim details, otherwise this contains the product, service, drug or other billing code for the item.", 0, 1, productOrService); + case 1099842588: /*revenue*/ return new Property("revenue", "CodeableConcept", "The type of revenue or cost center providing the product and/or service.", 0, 1, revenue); + case 1957227299: /*productOrService*/ return new Property("productOrService", "CodeableConcept", "When the value is a group code then this item collects a set of related item details, otherwise this contains the product, service, drug or other billing code for the item. This element may be the start of a range of .productOrService codes used in conjunction with .productOrServiceEnd or it may be a solo element where .productOrServiceEnd is not used.", 0, 1, productOrService); + case -717476168: /*productOrServiceEnd*/ return new Property("productOrServiceEnd", "CodeableConcept", "This contains the end of a range of product, service, drug or other billing codes for the item. This element is not used when the .productOrService is a group code. This value may only be present when a .productOfService code has been provided to convey the start of the range. Typically this value may be used only with preauthorizations and not with claims.", 0, 1, productOrServiceEnd); case -615513385: /*modifier*/ return new Property("modifier", "CodeableConcept", "Item typification or modifiers codes to convey additional context for the product or service.", 0, java.lang.Integer.MAX_VALUE, modifier); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The number of repetitions of a service or product.", 0, 1, quantity); case -486196699: /*unitPrice*/ return new Property("unitPrice", "Money", "If the item is not a group then this is the fee for the product or service, otherwise this is the total of the fees for the details of the group.", 0, 1, unitPrice); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A real number that represents a multiplier used in determining the overall value of services delivered and/or goods received. The concept of a Factor allows for a discount or surcharge multiplier to be applied to a monetary amount.", 0, 1, factor); + case 114603: /*tax*/ return new Property("tax", "Money", "The total of taxes applicable for this product or service.", 0, 1, tax); case 108957: /*net*/ return new Property("net", "Money", "The quantity times the unit price for an additional service or product or charge.", 0, 1, net); case -1110033957: /*noteNumber*/ return new Property("noteNumber", "positiveInt", "The numbers associated with notes below which apply to the adjudication of this item.", 0, java.lang.Integer.MAX_VALUE, noteNumber); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case -231349275: /*adjudication*/ return new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results.", 0, java.lang.Integer.MAX_VALUE, adjudication); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -9858,13 +11458,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return this.revenue == null ? new Base[0] : new Base[] {this.revenue}; // CodeableConcept case 1957227299: /*productOrService*/ return this.productOrService == null ? new Base[0] : new Base[] {this.productOrService}; // CodeableConcept + case -717476168: /*productOrServiceEnd*/ return this.productOrServiceEnd == null ? new Base[0] : new Base[] {this.productOrServiceEnd}; // CodeableConcept case -615513385: /*modifier*/ return this.modifier == null ? new Base[0] : this.modifier.toArray(new Base[this.modifier.size()]); // CodeableConcept + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case -486196699: /*unitPrice*/ return this.unitPrice == null ? new Base[0] : new Base[] {this.unitPrice}; // Money case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case 114603: /*tax*/ return this.tax == null ? new Base[0] : new Base[] {this.tax}; // Money case 108957: /*net*/ return this.net == null ? new Base[0] : new Base[] {this.net}; // Money case -1110033957: /*noteNumber*/ return this.noteNumber == null ? new Base[0] : this.noteNumber.toArray(new Base[this.noteNumber.size()]); // PositiveIntType + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent default: return super.getProperty(hash, name, checkValid); } @@ -9874,12 +11479,21 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { + case 1099842588: // revenue + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1957227299: // productOrService this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case -717476168: // productOrServiceEnd + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -615513385: // modifier this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity return value; @@ -9889,12 +11503,18 @@ public class ExplanationOfBenefit extends DomainResource { case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType return value; + case 114603: // tax + this.tax = TypeConvertor.castToMoney(value); // Money + return value; case 108957: // net this.net = TypeConvertor.castToMoney(value); // Money return value; case -1110033957: // noteNumber this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); // PositiveIntType return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -231349275: // adjudication this.getAdjudication().add((AdjudicationComponent) value); // AdjudicationComponent return value; @@ -9905,20 +11525,30 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrService")) { this.productOrService = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("modifier")) { this.getModifier().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("unitPrice")) { this.unitPrice = TypeConvertor.castToMoney(value); // Money } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("tax")) { + this.tax = TypeConvertor.castToMoney(value); // Money } else if (name.equals("net")) { this.net = TypeConvertor.castToMoney(value); // Money } else if (name.equals("noteNumber")) { this.getNoteNumber().add(TypeConvertor.castToPositiveInt(value)); + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("adjudication")) { this.getAdjudication().add((AdjudicationComponent) value); } else @@ -9929,13 +11559,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: return getRevenue(); case 1957227299: return getProductOrService(); + case -717476168: return getProductOrServiceEnd(); case -615513385: return addModifier(); + case 525514609: return getPatientPaid(); case -1285004149: return getQuantity(); case -486196699: return getUnitPrice(); case -1282148017: return getFactorElement(); + case 114603: return getTax(); case 108957: return getNet(); case -1110033957: return addNoteNumberElement(); + case 565719004: return getDecision(); case -231349275: return addAdjudication(); default: return super.makeProperty(hash, name); } @@ -9945,13 +11580,18 @@ public class ExplanationOfBenefit extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { + case 1099842588: /*revenue*/ return new String[] {"CodeableConcept"}; case 1957227299: /*productOrService*/ return new String[] {"CodeableConcept"}; + case -717476168: /*productOrServiceEnd*/ return new String[] {"CodeableConcept"}; case -615513385: /*modifier*/ return new String[] {"CodeableConcept"}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case -486196699: /*unitPrice*/ return new String[] {"Money"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; + case 114603: /*tax*/ return new String[] {"Money"}; case 108957: /*net*/ return new String[] {"Money"}; case -1110033957: /*noteNumber*/ return new String[] {"positiveInt"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case -231349275: /*adjudication*/ return new String[] {"@ExplanationOfBenefit.item.adjudication"}; default: return super.getTypesForProperty(hash, name); } @@ -9960,13 +11600,25 @@ public class ExplanationOfBenefit extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("productOrService")) { + if (name.equals("revenue")) { + this.revenue = new CodeableConcept(); + return this.revenue; + } + else if (name.equals("productOrService")) { this.productOrService = new CodeableConcept(); return this.productOrService; } + else if (name.equals("productOrServiceEnd")) { + this.productOrServiceEnd = new CodeableConcept(); + return this.productOrServiceEnd; + } else if (name.equals("modifier")) { return addModifier(); } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("quantity")) { this.quantity = new Quantity(); return this.quantity; @@ -9978,6 +11630,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.addItem.detail.subDetail.factor"); } + else if (name.equals("tax")) { + this.tax = new Money(); + return this.tax; + } else if (name.equals("net")) { this.net = new Money(); return this.net; @@ -9985,6 +11641,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("noteNumber")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.addItem.detail.subDetail.noteNumber"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("adjudication")) { return addAdjudication(); } @@ -10000,21 +11660,26 @@ public class ExplanationOfBenefit extends DomainResource { public void copyValues(AddedItemDetailSubDetailComponent dst) { super.copyValues(dst); + dst.revenue = revenue == null ? null : revenue.copy(); dst.productOrService = productOrService == null ? null : productOrService.copy(); + dst.productOrServiceEnd = productOrServiceEnd == null ? null : productOrServiceEnd.copy(); if (modifier != null) { dst.modifier = new ArrayList(); for (CodeableConcept i : modifier) dst.modifier.add(i.copy()); }; + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.unitPrice = unitPrice == null ? null : unitPrice.copy(); dst.factor = factor == null ? null : factor.copy(); + dst.tax = tax == null ? null : tax.copy(); dst.net = net == null ? null : net.copy(); if (noteNumber != null) { dst.noteNumber = new ArrayList(); for (PositiveIntType i : noteNumber) dst.noteNumber.add(i.copy()); }; + dst.decision = decision == null ? null : decision.copy(); if (adjudication != null) { dst.adjudication = new ArrayList(); for (AdjudicationComponent i : adjudication) @@ -10029,9 +11694,11 @@ public class ExplanationOfBenefit extends DomainResource { if (!(other_ instanceof AddedItemDetailSubDetailComponent)) return false; AddedItemDetailSubDetailComponent o = (AddedItemDetailSubDetailComponent) other_; - return compareDeep(productOrService, o.productOrService, true) && compareDeep(modifier, o.modifier, true) - && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) && compareDeep(factor, o.factor, true) - && compareDeep(net, o.net, true) && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(adjudication, o.adjudication, true) + return compareDeep(revenue, o.revenue, true) && compareDeep(productOrService, o.productOrService, true) + && compareDeep(productOrServiceEnd, o.productOrServiceEnd, true) && compareDeep(modifier, o.modifier, true) + && compareDeep(patientPaid, o.patientPaid, true) && compareDeep(quantity, o.quantity, true) && compareDeep(unitPrice, o.unitPrice, true) + && compareDeep(factor, o.factor, true) && compareDeep(tax, o.tax, true) && compareDeep(net, o.net, true) + && compareDeep(noteNumber, o.noteNumber, true) && compareDeep(decision, o.decision, true) && compareDeep(adjudication, o.adjudication, true) ; } @@ -10046,8 +11713,9 @@ public class ExplanationOfBenefit extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(productOrService, modifier - , quantity, unitPrice, factor, net, noteNumber, adjudication); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(revenue, productOrService + , productOrServiceEnd, modifier, patientPaid, quantity, unitPrice, factor, tax + , net, noteNumber, decision, adjudication); } public String fhirType() { @@ -12022,10 +13690,10 @@ public class ExplanationOfBenefit extends DomainResource { protected CodeableConcept subType; /** - * A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ @Child(name = "use", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="claim | preauthorization | predetermination", formalDefinition="A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future." ) + @Description(shortDefinition="claim | preauthorization | predetermination", formalDefinition="A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-use") protected Enumeration use; @@ -12053,29 +13721,29 @@ public class ExplanationOfBenefit extends DomainResource { /** * Individual who created the claim, predetermination or preauthorization. */ - @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class, Patient.class, RelatedPerson.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Author of the claim", formalDefinition="Individual who created the claim, predetermination or preauthorization." ) protected Reference enterer; /** * The party responsible for authorization, adjudication and reimbursement. */ - @Child(name = "insurer", type = {Organization.class}, order=9, min=1, max=1, modifier=false, summary=true) + @Child(name = "insurer", type = {Organization.class}, order=9, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Party responsible for reimbursement", formalDefinition="The party responsible for authorization, adjudication and reimbursement." ) protected Reference insurer; /** * The provider which is responsible for the claim, predetermination or preauthorization. */ - @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=10, min=1, max=1, modifier=false, summary=true) + @Child(name = "provider", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=10, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Party responsible for the claim", formalDefinition="The provider which is responsible for the claim, predetermination or preauthorization." ) protected Reference provider; /** - * The provider-required urgency of processing the request. Typical values include: stat, routine deferred. + * The provider-required urgency of processing the request. Typical values include: stat, normal deferred. */ @Child(name = "priority", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Desired processing urgency", formalDefinition="The provider-required urgency of processing the request. Typical values include: stat, routine deferred." ) + @Description(shortDefinition="Desired processing urgency", formalDefinition="The provider-required urgency of processing the request. Typical values include: stat, normal deferred." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/process-priority") protected CodeableConcept priority; @@ -12103,10 +13771,10 @@ public class ExplanationOfBenefit extends DomainResource { protected List related; /** - * Prescription to support the dispensing of pharmacy, device or vision products. + * Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments. */ @Child(name = "prescription", type = {MedicationRequest.class, VisionPrescription.class}, order=15, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Prescription authorizing services or products", formalDefinition="Prescription to support the dispensing of pharmacy, device or vision products." ) + @Description(shortDefinition="Prescription authorizing services or products", formalDefinition="Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments." ) protected Reference prescription; /** @@ -12124,150 +13792,180 @@ public class ExplanationOfBenefit extends DomainResource { protected PayeeComponent payee; /** - * A reference to a referral resource. + * The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services. */ @Child(name = "referral", type = {ServiceRequest.class}, order=18, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Treatment Referral", formalDefinition="A reference to a referral resource." ) + @Description(shortDefinition="Treatment Referral", formalDefinition="The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services." ) protected Reference referral; + /** + * A billed item may include goods or services provided in multiple encounters. + */ + @Child(name = "encounter", type = {Encounter.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Encounters related to this billed item", formalDefinition="A billed item may include goods or services provided in multiple encounters." ) + protected List encounter; + /** * Facility where the services were provided. */ - @Child(name = "facility", type = {Location.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Child(name = "facility", type = {Location.class, Organization.class}, order=20, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Servicing Facility", formalDefinition="Facility where the services were provided." ) protected Reference facility; /** * The business identifier for the instance of the adjudication request: claim predetermination or preauthorization. */ - @Child(name = "claim", type = {Claim.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Child(name = "claim", type = {Claim.class}, order=21, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Claim reference", formalDefinition="The business identifier for the instance of the adjudication request: claim predetermination or preauthorization." ) protected Reference claim; /** * The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response. */ - @Child(name = "claimResponse", type = {ClaimResponse.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Child(name = "claimResponse", type = {ClaimResponse.class}, order=22, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Claim response reference", formalDefinition="The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response." ) protected Reference claimResponse; /** * The outcome of the claim, predetermination, or preauthorization processing. */ - @Child(name = "outcome", type = {CodeType.class}, order=22, min=1, max=1, modifier=false, summary=true) + @Child(name = "outcome", type = {CodeType.class}, order=23, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="queued | complete | error | partial", formalDefinition="The outcome of the claim, predetermination, or preauthorization processing." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-outcome") protected Enumeration outcome; + /** + * The result of the claim, predetermination, or preauthorization adjudication. + */ + @Child(name = "decision", type = {CodeableConcept.class}, order=24, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Result of the adjudication", formalDefinition="The result of the claim, predetermination, or preauthorization adjudication." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/claim-decision") + protected CodeableConcept decision; + /** * A human readable description of the status of the adjudication. */ - @Child(name = "disposition", type = {StringType.class}, order=23, min=0, max=1, modifier=false, summary=false) + @Child(name = "disposition", type = {StringType.class}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Disposition Message", formalDefinition="A human readable description of the status of the adjudication." ) protected StringType disposition; /** * Reference from the Insurer which is used in later communications which refers to this adjudication. */ - @Child(name = "preAuthRef", type = {StringType.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "preAuthRef", type = {StringType.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Preauthorization reference", formalDefinition="Reference from the Insurer which is used in later communications which refers to this adjudication." ) protected List preAuthRef; /** * The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided. */ - @Child(name = "preAuthRefPeriod", type = {Period.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "preAuthRefPeriod", type = {Period.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Preauthorization in-effect period", formalDefinition="The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided." ) protected List preAuthRefPeriod; + /** + * A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system. + */ + @Child(name = "diagnosisRelatedGroup", type = {CodeableConcept.class}, order=28, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Package billing code", formalDefinition="A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ex-diagnosisrelatedgroup") + protected CodeableConcept diagnosisRelatedGroup; + /** * The members of the team who provided the products and services. */ - @Child(name = "careTeam", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "careTeam", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Care Team members", formalDefinition="The members of the team who provided the products and services." ) protected List careTeam; /** * Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues. */ - @Child(name = "supportingInfo", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInfo", type = {}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Supporting information", formalDefinition="Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues." ) protected List supportingInfo; /** * Information about diagnoses relevant to the claim items. */ - @Child(name = "diagnosis", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "diagnosis", type = {}, order=31, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Pertinent diagnosis information", formalDefinition="Information about diagnoses relevant to the claim items." ) protected List diagnosis; /** * Procedures performed on the patient relevant to the billing items with the claim. */ - @Child(name = "procedure", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "procedure", type = {}, order=32, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Clinical procedures performed", formalDefinition="Procedures performed on the patient relevant to the billing items with the claim." ) protected List procedure; /** * This indicates the relative order of a series of EOBs related to different coverages for the same suite of services. */ - @Child(name = "precedence", type = {PositiveIntType.class}, order=30, min=0, max=1, modifier=false, summary=false) + @Child(name = "precedence", type = {PositiveIntType.class}, order=33, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Precedence (primary, secondary, etc.)", formalDefinition="This indicates the relative order of a series of EOBs related to different coverages for the same suite of services." ) protected PositiveIntType precedence; /** * Financial instruments for reimbursement for the health care products and services specified on the claim. */ - @Child(name = "insurance", type = {}, order=31, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "insurance", type = {}, order=34, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Patient insurance information", formalDefinition="Financial instruments for reimbursement for the health care products and services specified on the claim." ) protected List insurance; /** * Details of a accident which resulted in injuries which required the products and services listed in the claim. */ - @Child(name = "accident", type = {}, order=32, min=0, max=1, modifier=false, summary=false) + @Child(name = "accident", type = {}, order=35, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Details of the event", formalDefinition="Details of a accident which resulted in injuries which required the products and services listed in the claim." ) protected AccidentComponent accident; + /** + * The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services. + */ + @Child(name = "patientPaid", type = {Money.class}, order=36, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Paid by the patient", formalDefinition="The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services." ) + protected Money patientPaid; + /** * A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details. */ - @Child(name = "item", type = {}, order=33, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "item", type = {}, order=37, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Product or service provided", formalDefinition="A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details." ) protected List item; /** * The first-tier service adjudications for payor added product or service lines. */ - @Child(name = "addItem", type = {}, order=34, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "addItem", type = {}, order=38, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Insurer added line items", formalDefinition="The first-tier service adjudications for payor added product or service lines." ) protected List addItem; /** * The adjudication results which are presented at the header level rather than at the line-item or add-item levels. */ - @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=35, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "adjudication", type = {AdjudicationComponent.class}, order=39, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Header-level adjudication", formalDefinition="The adjudication results which are presented at the header level rather than at the line-item or add-item levels." ) protected List adjudication; /** * Categorized monetary totals for the adjudication. */ - @Child(name = "total", type = {}, order=36, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "total", type = {}, order=40, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Adjudication totals", formalDefinition="Categorized monetary totals for the adjudication." ) protected List total; /** * Payment details for the adjudication of the claim. */ - @Child(name = "payment", type = {}, order=37, min=0, max=1, modifier=false, summary=false) + @Child(name = "payment", type = {}, order=41, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Payment Details", formalDefinition="Payment details for the adjudication of the claim." ) protected PaymentComponent payment; /** * A code for the form to be used for printing the content. */ - @Child(name = "formCode", type = {CodeableConcept.class}, order=38, min=0, max=1, modifier=false, summary=false) + @Child(name = "formCode", type = {CodeableConcept.class}, order=42, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Printed form identifier", formalDefinition="A code for the form to be used for printing the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/forms") protected CodeableConcept formCode; @@ -12275,32 +13973,32 @@ public class ExplanationOfBenefit extends DomainResource { /** * The actual form, by reference or inclusion, for printing the content or an EOB. */ - @Child(name = "form", type = {Attachment.class}, order=39, min=0, max=1, modifier=false, summary=false) + @Child(name = "form", type = {Attachment.class}, order=43, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Printed reference or actual form", formalDefinition="The actual form, by reference or inclusion, for printing the content or an EOB." ) protected Attachment form; /** * A note that describes or explains adjudication results in a human readable form. */ - @Child(name = "processNote", type = {}, order=40, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "processNote", type = {}, order=44, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Note concerning adjudication", formalDefinition="A note that describes or explains adjudication results in a human readable form." ) protected List processNote; /** * The term of the benefits documented in this response. */ - @Child(name = "benefitPeriod", type = {Period.class}, order=41, min=0, max=1, modifier=false, summary=false) + @Child(name = "benefitPeriod", type = {Period.class}, order=45, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When the benefits are applicable", formalDefinition="The term of the benefits documented in this response." ) protected Period benefitPeriod; /** * Balance by Benefit Category. */ - @Child(name = "benefitBalance", type = {}, order=42, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "benefitBalance", type = {}, order=46, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Balance by Benefit Category", formalDefinition="Balance by Benefit Category." ) protected List benefitBalance; - private static final long serialVersionUID = -1934679453L; + private static final long serialVersionUID = 934384125L; /** * Constructor @@ -12312,17 +14010,14 @@ public class ExplanationOfBenefit extends DomainResource { /** * Constructor */ - public ExplanationOfBenefit(ExplanationOfBenefitStatus status, CodeableConcept type, Use use, Reference patient, Date created, Reference insurer, Reference provider, ClaimProcessingCodes outcome, InsuranceComponent insurance) { + public ExplanationOfBenefit(ExplanationOfBenefitStatus status, CodeableConcept type, Use use, Reference patient, Date created, ClaimProcessingCodes outcome) { super(); this.setStatus(status); this.setType(type); this.setUse(use); this.setPatient(patient); this.setCreated(created); - this.setInsurer(insurer); - this.setProvider(provider); this.setOutcome(outcome); - this.addInsurance(insurance); } /** @@ -12472,7 +14167,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #use} (A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value + * @return {@link #use} (A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value */ public Enumeration getUseElement() { if (this.use == null) @@ -12492,7 +14187,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #use} (A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value + * @param value {@link #use} (A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.). This is the underlying object with id, value and extensions. The accessor "getUse" gives direct access to the value */ public ExplanationOfBenefit setUseElement(Enumeration value) { this.use = value; @@ -12500,14 +14195,14 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * @return A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ public Use getUse() { return this.use == null ? null : this.use.getValue(); } /** - * @param value A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future. + * @param value A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided. */ public ExplanationOfBenefit setUse(Use value) { if (this.use == null) @@ -12682,7 +14377,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, routine deferred.) + * @return {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, normal deferred.) */ public CodeableConcept getPriority() { if (this.priority == null) @@ -12698,7 +14393,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, routine deferred.) + * @param value {@link #priority} (The provider-required urgency of processing the request. Typical values include: stat, normal deferred.) */ public ExplanationOfBenefit setPriority(CodeableConcept value) { this.priority = value; @@ -12807,7 +14502,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #prescription} (Prescription to support the dispensing of pharmacy, device or vision products.) + * @return {@link #prescription} (Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.) */ public Reference getPrescription() { if (this.prescription == null) @@ -12823,7 +14518,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #prescription} (Prescription to support the dispensing of pharmacy, device or vision products.) + * @param value {@link #prescription} (Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.) */ public ExplanationOfBenefit setPrescription(Reference value) { this.prescription = value; @@ -12879,7 +14574,7 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @return {@link #referral} (A reference to a referral resource.) + * @return {@link #referral} (The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.) */ public Reference getReferral() { if (this.referral == null) @@ -12895,13 +14590,66 @@ public class ExplanationOfBenefit extends DomainResource { } /** - * @param value {@link #referral} (A reference to a referral resource.) + * @param value {@link #referral} (The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.) */ public ExplanationOfBenefit setReferral(Reference value) { this.referral = value; return this; } + /** + * @return {@link #encounter} (A billed item may include goods or services provided in multiple encounters.) + */ + public List getEncounter() { + if (this.encounter == null) + this.encounter = new ArrayList(); + return this.encounter; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ExplanationOfBenefit setEncounter(List theEncounter) { + this.encounter = theEncounter; + return this; + } + + public boolean hasEncounter() { + if (this.encounter == null) + return false; + for (Reference item : this.encounter) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addEncounter() { //3 + Reference t = new Reference(); + if (this.encounter == null) + this.encounter = new ArrayList(); + this.encounter.add(t); + return t; + } + + public ExplanationOfBenefit addEncounter(Reference t) { //3 + if (t == null) + return this; + if (this.encounter == null) + this.encounter = new ArrayList(); + this.encounter.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #encounter}, creating it if it does not already exist {3} + */ + public Reference getEncounterFirstRep() { + if (getEncounter().isEmpty()) { + addEncounter(); + } + return getEncounter().get(0); + } + /** * @return {@link #facility} (Facility where the services were provided.) */ @@ -13019,6 +14767,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public CodeableConcept getDecision() { + if (this.decision == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExplanationOfBenefit.decision"); + else if (Configuration.doAutoCreate()) + this.decision = new CodeableConcept(); // cc + return this.decision; + } + + public boolean hasDecision() { + return this.decision != null && !this.decision.isEmpty(); + } + + /** + * @param value {@link #decision} (The result of the claim, predetermination, or preauthorization adjudication.) + */ + public ExplanationOfBenefit setDecision(CodeableConcept value) { + this.decision = value; + return this; + } + /** * @return {@link #disposition} (A human readable description of the status of the adjudication.). This is the underlying object with id, value and extensions. The accessor "getDisposition" gives direct access to the value */ @@ -13182,6 +14954,30 @@ public class ExplanationOfBenefit extends DomainResource { return getPreAuthRefPeriod().get(0); } + /** + * @return {@link #diagnosisRelatedGroup} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) + */ + public CodeableConcept getDiagnosisRelatedGroup() { + if (this.diagnosisRelatedGroup == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExplanationOfBenefit.diagnosisRelatedGroup"); + else if (Configuration.doAutoCreate()) + this.diagnosisRelatedGroup = new CodeableConcept(); // cc + return this.diagnosisRelatedGroup; + } + + public boolean hasDiagnosisRelatedGroup() { + return this.diagnosisRelatedGroup != null && !this.diagnosisRelatedGroup.isEmpty(); + } + + /** + * @param value {@link #diagnosisRelatedGroup} (A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.) + */ + public ExplanationOfBenefit setDiagnosisRelatedGroup(CodeableConcept value) { + this.diagnosisRelatedGroup = value; + return this; + } + /** * @return {@link #careTeam} (The members of the team who provided the products and services.) */ @@ -13516,6 +15312,30 @@ public class ExplanationOfBenefit extends DomainResource { return this; } + /** + * @return {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public Money getPatientPaid() { + if (this.patientPaid == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ExplanationOfBenefit.patientPaid"); + else if (Configuration.doAutoCreate()) + this.patientPaid = new Money(); // cc + return this.patientPaid; + } + + public boolean hasPatientPaid() { + return this.patientPaid != null && !this.patientPaid.isEmpty(); + } + + /** + * @param value {@link #patientPaid} (The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.) + */ + public ExplanationOfBenefit setPatientPaid(Money value) { + this.patientPaid = value; + return this; + } + /** * @return {@link #item} (A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.) */ @@ -13936,28 +15756,31 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); children.add(new Property("type", "CodeableConcept", "The category of claim, e.g. oral, pharmacy, vision, institutional, professional.", 0, 1, type)); children.add(new Property("subType", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, subType)); - children.add(new Property("use", "code", "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.", 0, 1, use)); + children.add(new Property("use", "code", "A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.", 0, 1, use)); children.add(new Property("patient", "Reference(Patient)", "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought.", 0, 1, patient)); children.add(new Property("billablePeriod", "Period", "The period for which charges are being submitted.", 0, 1, billablePeriod)); children.add(new Property("created", "dateTime", "The date this resource was created.", 0, 1, created)); - children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer)); + children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer)); children.add(new Property("insurer", "Reference(Organization)", "The party responsible for authorization, adjudication and reimbursement.", 0, 1, insurer)); children.add(new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the claim, predetermination or preauthorization.", 0, 1, provider)); - children.add(new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, routine deferred.", 0, 1, priority)); + children.add(new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, normal deferred.", 0, 1, priority)); children.add(new Property("fundsReserveRequested", "CodeableConcept", "A code to indicate whether and for whom funds are to be reserved for future claims.", 0, 1, fundsReserveRequested)); children.add(new Property("fundsReserve", "CodeableConcept", "A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom.", 0, 1, fundsReserve)); children.add(new Property("related", "", "Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.", 0, java.lang.Integer.MAX_VALUE, related)); - children.add(new Property("prescription", "Reference(MedicationRequest|VisionPrescription)", "Prescription to support the dispensing of pharmacy, device or vision products.", 0, 1, prescription)); + children.add(new Property("prescription", "Reference(MedicationRequest|VisionPrescription)", "Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.", 0, 1, prescription)); children.add(new Property("originalPrescription", "Reference(MedicationRequest)", "Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.", 0, 1, originalPrescription)); children.add(new Property("payee", "", "The party to be reimbursed for cost of the products and services according to the terms of the policy.", 0, 1, payee)); - children.add(new Property("referral", "Reference(ServiceRequest)", "A reference to a referral resource.", 0, 1, referral)); - children.add(new Property("facility", "Reference(Location)", "Facility where the services were provided.", 0, 1, facility)); + children.add(new Property("referral", "Reference(ServiceRequest)", "The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.", 0, 1, referral)); + children.add(new Property("encounter", "Reference(Encounter)", "A billed item may include goods or services provided in multiple encounters.", 0, java.lang.Integer.MAX_VALUE, encounter)); + children.add(new Property("facility", "Reference(Location|Organization)", "Facility where the services were provided.", 0, 1, facility)); children.add(new Property("claim", "Reference(Claim)", "The business identifier for the instance of the adjudication request: claim predetermination or preauthorization.", 0, 1, claim)); children.add(new Property("claimResponse", "Reference(ClaimResponse)", "The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response.", 0, 1, claimResponse)); children.add(new Property("outcome", "code", "The outcome of the claim, predetermination, or preauthorization processing.", 0, 1, outcome)); + children.add(new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision)); children.add(new Property("disposition", "string", "A human readable description of the status of the adjudication.", 0, 1, disposition)); children.add(new Property("preAuthRef", "string", "Reference from the Insurer which is used in later communications which refers to this adjudication.", 0, java.lang.Integer.MAX_VALUE, preAuthRef)); children.add(new Property("preAuthRefPeriod", "Period", "The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided.", 0, java.lang.Integer.MAX_VALUE, preAuthRefPeriod)); + children.add(new Property("diagnosisRelatedGroup", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, diagnosisRelatedGroup)); children.add(new Property("careTeam", "", "The members of the team who provided the products and services.", 0, java.lang.Integer.MAX_VALUE, careTeam)); children.add(new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo)); children.add(new Property("diagnosis", "", "Information about diagnoses relevant to the claim items.", 0, java.lang.Integer.MAX_VALUE, diagnosis)); @@ -13965,6 +15788,7 @@ public class ExplanationOfBenefit extends DomainResource { children.add(new Property("precedence", "positiveInt", "This indicates the relative order of a series of EOBs related to different coverages for the same suite of services.", 0, 1, precedence)); children.add(new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services specified on the claim.", 0, java.lang.Integer.MAX_VALUE, insurance)); children.add(new Property("accident", "", "Details of a accident which resulted in injuries which required the products and services listed in the claim.", 0, 1, accident)); + children.add(new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid)); children.add(new Property("item", "", "A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.", 0, java.lang.Integer.MAX_VALUE, item)); children.add(new Property("addItem", "", "The first-tier service adjudications for payor added product or service lines.", 0, java.lang.Integer.MAX_VALUE, addItem)); children.add(new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results which are presented at the header level rather than at the line-item or add-item levels.", 0, java.lang.Integer.MAX_VALUE, adjudication)); @@ -13984,28 +15808,31 @@ public class ExplanationOfBenefit extends DomainResource { case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The category of claim, e.g. oral, pharmacy, vision, institutional, professional.", 0, 1, type); case -1868521062: /*subType*/ return new Property("subType", "CodeableConcept", "A finer grained suite of claim type codes which may convey additional information such as Inpatient vs Outpatient and/or a specialty service.", 0, 1, subType); - case 116103: /*use*/ return new Property("use", "code", "A code to indicate whether the nature of the request is: to request adjudication of products and services previously rendered; or requesting authorization and adjudication for provision in the future; or requesting the non-binding adjudication of the listed products and services which could be provided in the future.", 0, 1, use); + case 116103: /*use*/ return new Property("use", "code", "A code to indicate whether the nature of the request is: Claim - A request to an Insurer to adjudicate the supplied charges for health care goods and services under the identified policy and to pay the determined Benefit amount, if any; Preauthorization - A request to an Insurer to adjudicate the supplied proposed future charges for health care goods and services under the identified policy and to approve the services and provide the expected benefit amounts and potentially to reserve funds to pay the benefits when Claims for the indicated services are later submitted; or, Pre-determination - A request to an Insurer to adjudicate the supplied 'what if' charges for health care goods and services under the identified policy and report back what the Benefit payable would be had the services actually been provided.", 0, 1, use); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The party to whom the professional services and/or products have been supplied or are being considered and for whom actual for forecast reimbursement is sought.", 0, 1, patient); case -332066046: /*billablePeriod*/ return new Property("billablePeriod", "Period", "The period for which charges are being submitted.", 0, 1, billablePeriod); case 1028554472: /*created*/ return new Property("created", "dateTime", "The date this resource was created.", 0, 1, created); - case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer); + case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole|Patient|RelatedPerson)", "Individual who created the claim, predetermination or preauthorization.", 0, 1, enterer); case 1957615864: /*insurer*/ return new Property("insurer", "Reference(Organization)", "The party responsible for authorization, adjudication and reimbursement.", 0, 1, insurer); case -987494927: /*provider*/ return new Property("provider", "Reference(Practitioner|PractitionerRole|Organization)", "The provider which is responsible for the claim, predetermination or preauthorization.", 0, 1, provider); - case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, routine deferred.", 0, 1, priority); + case -1165461084: /*priority*/ return new Property("priority", "CodeableConcept", "The provider-required urgency of processing the request. Typical values include: stat, normal deferred.", 0, 1, priority); case -1688904576: /*fundsReserveRequested*/ return new Property("fundsReserveRequested", "CodeableConcept", "A code to indicate whether and for whom funds are to be reserved for future claims.", 0, 1, fundsReserveRequested); case 1314609806: /*fundsReserve*/ return new Property("fundsReserve", "CodeableConcept", "A code, used only on a response to a preauthorization, to indicate whether the benefits payable have been reserved and for whom.", 0, 1, fundsReserve); case 1090493483: /*related*/ return new Property("related", "", "Other claims which are related to this claim such as prior submissions or claims for related services or for the same event.", 0, java.lang.Integer.MAX_VALUE, related); - case 460301338: /*prescription*/ return new Property("prescription", "Reference(MedicationRequest|VisionPrescription)", "Prescription to support the dispensing of pharmacy, device or vision products.", 0, 1, prescription); + case 460301338: /*prescription*/ return new Property("prescription", "Reference(MedicationRequest|VisionPrescription)", "Prescription is the document/authorization given to the claim author for them to provide products and services for which consideration (reimbursement) is sought. Could be a RX for medications, an 'order' for oxygen or wheelchair or physiotherapy treatments.", 0, 1, prescription); case -1814015861: /*originalPrescription*/ return new Property("originalPrescription", "Reference(MedicationRequest)", "Original prescription which has been superseded by this prescription to support the dispensing of pharmacy services, medications or products.", 0, 1, originalPrescription); case 106443592: /*payee*/ return new Property("payee", "", "The party to be reimbursed for cost of the products and services according to the terms of the policy.", 0, 1, payee); - case -722568291: /*referral*/ return new Property("referral", "Reference(ServiceRequest)", "A reference to a referral resource.", 0, 1, referral); - case 501116579: /*facility*/ return new Property("facility", "Reference(Location)", "Facility where the services were provided.", 0, 1, facility); + case -722568291: /*referral*/ return new Property("referral", "Reference(ServiceRequest)", "The referral information received by the claim author, it is not to be used when the author generates a referral for a patient. A copy of that referral may be provided as supporting information. Some insurers require proof of referral to pay for services or to pay specialist rates for services.", 0, 1, referral); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "A billed item may include goods or services provided in multiple encounters.", 0, java.lang.Integer.MAX_VALUE, encounter); + case 501116579: /*facility*/ return new Property("facility", "Reference(Location|Organization)", "Facility where the services were provided.", 0, 1, facility); case 94742588: /*claim*/ return new Property("claim", "Reference(Claim)", "The business identifier for the instance of the adjudication request: claim predetermination or preauthorization.", 0, 1, claim); case 689513629: /*claimResponse*/ return new Property("claimResponse", "Reference(ClaimResponse)", "The business identifier for the instance of the adjudication response: claim, predetermination or preauthorization response.", 0, 1, claimResponse); case -1106507950: /*outcome*/ return new Property("outcome", "code", "The outcome of the claim, predetermination, or preauthorization processing.", 0, 1, outcome); + case 565719004: /*decision*/ return new Property("decision", "CodeableConcept", "The result of the claim, predetermination, or preauthorization adjudication.", 0, 1, decision); case 583380919: /*disposition*/ return new Property("disposition", "string", "A human readable description of the status of the adjudication.", 0, 1, disposition); case 522246568: /*preAuthRef*/ return new Property("preAuthRef", "string", "Reference from the Insurer which is used in later communications which refers to this adjudication.", 0, java.lang.Integer.MAX_VALUE, preAuthRef); case -1262920311: /*preAuthRefPeriod*/ return new Property("preAuthRefPeriod", "Period", "The timeframe during which the supplied preauthorization reference may be quoted on claims to obtain the adjudication as provided.", 0, java.lang.Integer.MAX_VALUE, preAuthRefPeriod); + case -1599182171: /*diagnosisRelatedGroup*/ return new Property("diagnosisRelatedGroup", "CodeableConcept", "A package billing code or bundle code used to group products and services to a particular health condition (such as heart attack) which is based on a predetermined grouping code system.", 0, 1, diagnosisRelatedGroup); case -7323378: /*careTeam*/ return new Property("careTeam", "", "The members of the team who provided the products and services.", 0, java.lang.Integer.MAX_VALUE, careTeam); case 1922406657: /*supportingInfo*/ return new Property("supportingInfo", "", "Additional information codes regarding exceptions, special considerations, the condition, situation, prior or concurrent issues.", 0, java.lang.Integer.MAX_VALUE, supportingInfo); case 1196993265: /*diagnosis*/ return new Property("diagnosis", "", "Information about diagnoses relevant to the claim items.", 0, java.lang.Integer.MAX_VALUE, diagnosis); @@ -14013,6 +15840,7 @@ public class ExplanationOfBenefit extends DomainResource { case 159695370: /*precedence*/ return new Property("precedence", "positiveInt", "This indicates the relative order of a series of EOBs related to different coverages for the same suite of services.", 0, 1, precedence); case 73049818: /*insurance*/ return new Property("insurance", "", "Financial instruments for reimbursement for the health care products and services specified on the claim.", 0, java.lang.Integer.MAX_VALUE, insurance); case -2143202801: /*accident*/ return new Property("accident", "", "Details of a accident which resulted in injuries which required the products and services listed in the claim.", 0, 1, accident); + case 525514609: /*patientPaid*/ return new Property("patientPaid", "Money", "The amount paid by the patient, in total at the claim claim level or specifically for the item and detail level, to the provider for goods and services.", 0, 1, patientPaid); case 3242771: /*item*/ return new Property("item", "", "A claim line. Either a simple (a product or service) or a 'group' of details which can also be a simple items or groups of sub-details.", 0, java.lang.Integer.MAX_VALUE, item); case -1148899500: /*addItem*/ return new Property("addItem", "", "The first-tier service adjudications for payor added product or service lines.", 0, java.lang.Integer.MAX_VALUE, addItem); case -231349275: /*adjudication*/ return new Property("adjudication", "@ExplanationOfBenefit.item.adjudication", "The adjudication results which are presented at the header level rather than at the line-item or add-item levels.", 0, java.lang.Integer.MAX_VALUE, adjudication); @@ -14050,13 +15878,16 @@ public class ExplanationOfBenefit extends DomainResource { case -1814015861: /*originalPrescription*/ return this.originalPrescription == null ? new Base[0] : new Base[] {this.originalPrescription}; // Reference case 106443592: /*payee*/ return this.payee == null ? new Base[0] : new Base[] {this.payee}; // PayeeComponent case -722568291: /*referral*/ return this.referral == null ? new Base[0] : new Base[] {this.referral}; // Reference + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : this.encounter.toArray(new Base[this.encounter.size()]); // Reference case 501116579: /*facility*/ return this.facility == null ? new Base[0] : new Base[] {this.facility}; // Reference case 94742588: /*claim*/ return this.claim == null ? new Base[0] : new Base[] {this.claim}; // Reference case 689513629: /*claimResponse*/ return this.claimResponse == null ? new Base[0] : new Base[] {this.claimResponse}; // Reference case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // Enumeration + case 565719004: /*decision*/ return this.decision == null ? new Base[0] : new Base[] {this.decision}; // CodeableConcept case 583380919: /*disposition*/ return this.disposition == null ? new Base[0] : new Base[] {this.disposition}; // StringType case 522246568: /*preAuthRef*/ return this.preAuthRef == null ? new Base[0] : this.preAuthRef.toArray(new Base[this.preAuthRef.size()]); // StringType case -1262920311: /*preAuthRefPeriod*/ return this.preAuthRefPeriod == null ? new Base[0] : this.preAuthRefPeriod.toArray(new Base[this.preAuthRefPeriod.size()]); // Period + case -1599182171: /*diagnosisRelatedGroup*/ return this.diagnosisRelatedGroup == null ? new Base[0] : new Base[] {this.diagnosisRelatedGroup}; // CodeableConcept case -7323378: /*careTeam*/ return this.careTeam == null ? new Base[0] : this.careTeam.toArray(new Base[this.careTeam.size()]); // CareTeamComponent case 1922406657: /*supportingInfo*/ return this.supportingInfo == null ? new Base[0] : this.supportingInfo.toArray(new Base[this.supportingInfo.size()]); // SupportingInformationComponent case 1196993265: /*diagnosis*/ return this.diagnosis == null ? new Base[0] : this.diagnosis.toArray(new Base[this.diagnosis.size()]); // DiagnosisComponent @@ -14064,6 +15895,7 @@ public class ExplanationOfBenefit extends DomainResource { case 159695370: /*precedence*/ return this.precedence == null ? new Base[0] : new Base[] {this.precedence}; // PositiveIntType case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // InsuranceComponent case -2143202801: /*accident*/ return this.accident == null ? new Base[0] : new Base[] {this.accident}; // AccidentComponent + case 525514609: /*patientPaid*/ return this.patientPaid == null ? new Base[0] : new Base[] {this.patientPaid}; // Money case 3242771: /*item*/ return this.item == null ? new Base[0] : this.item.toArray(new Base[this.item.size()]); // ItemComponent case -1148899500: /*addItem*/ return this.addItem == null ? new Base[0] : this.addItem.toArray(new Base[this.addItem.size()]); // AddedItemComponent case -231349275: /*adjudication*/ return this.adjudication == null ? new Base[0] : this.adjudication.toArray(new Base[this.adjudication.size()]); // AdjudicationComponent @@ -14141,6 +15973,9 @@ public class ExplanationOfBenefit extends DomainResource { case -722568291: // referral this.referral = TypeConvertor.castToReference(value); // Reference return value; + case 1524132147: // encounter + this.getEncounter().add(TypeConvertor.castToReference(value)); // Reference + return value; case 501116579: // facility this.facility = TypeConvertor.castToReference(value); // Reference return value; @@ -14154,6 +15989,9 @@ public class ExplanationOfBenefit extends DomainResource { value = new ClaimProcessingCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.outcome = (Enumeration) value; // Enumeration return value; + case 565719004: // decision + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 583380919: // disposition this.disposition = TypeConvertor.castToString(value); // StringType return value; @@ -14163,6 +16001,9 @@ public class ExplanationOfBenefit extends DomainResource { case -1262920311: // preAuthRefPeriod this.getPreAuthRefPeriod().add(TypeConvertor.castToPeriod(value)); // Period return value; + case -1599182171: // diagnosisRelatedGroup + this.diagnosisRelatedGroup = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -7323378: // careTeam this.getCareTeam().add((CareTeamComponent) value); // CareTeamComponent return value; @@ -14184,6 +16025,9 @@ public class ExplanationOfBenefit extends DomainResource { case -2143202801: // accident this.accident = (AccidentComponent) value; // AccidentComponent return value; + case 525514609: // patientPaid + this.patientPaid = TypeConvertor.castToMoney(value); // Money + return value; case 3242771: // item this.getItem().add((ItemComponent) value); // ItemComponent return value; @@ -14261,6 +16105,8 @@ public class ExplanationOfBenefit extends DomainResource { this.payee = (PayeeComponent) value; // PayeeComponent } else if (name.equals("referral")) { this.referral = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("encounter")) { + this.getEncounter().add(TypeConvertor.castToReference(value)); } else if (name.equals("facility")) { this.facility = TypeConvertor.castToReference(value); // Reference } else if (name.equals("claim")) { @@ -14270,12 +16116,16 @@ public class ExplanationOfBenefit extends DomainResource { } else if (name.equals("outcome")) { value = new ClaimProcessingCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.outcome = (Enumeration) value; // Enumeration + } else if (name.equals("decision")) { + this.decision = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("disposition")) { this.disposition = TypeConvertor.castToString(value); // StringType } else if (name.equals("preAuthRef")) { this.getPreAuthRef().add(TypeConvertor.castToString(value)); } else if (name.equals("preAuthRefPeriod")) { this.getPreAuthRefPeriod().add(TypeConvertor.castToPeriod(value)); + } else if (name.equals("diagnosisRelatedGroup")) { + this.diagnosisRelatedGroup = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("careTeam")) { this.getCareTeam().add((CareTeamComponent) value); } else if (name.equals("supportingInfo")) { @@ -14290,6 +16140,8 @@ public class ExplanationOfBenefit extends DomainResource { this.getInsurance().add((InsuranceComponent) value); } else if (name.equals("accident")) { this.accident = (AccidentComponent) value; // AccidentComponent + } else if (name.equals("patientPaid")) { + this.patientPaid = TypeConvertor.castToMoney(value); // Money } else if (name.equals("item")) { this.getItem().add((ItemComponent) value); } else if (name.equals("addItem")) { @@ -14337,13 +16189,16 @@ public class ExplanationOfBenefit extends DomainResource { case -1814015861: return getOriginalPrescription(); case 106443592: return getPayee(); case -722568291: return getReferral(); + case 1524132147: return addEncounter(); case 501116579: return getFacility(); case 94742588: return getClaim(); case 689513629: return getClaimResponse(); case -1106507950: return getOutcomeElement(); + case 565719004: return getDecision(); case 583380919: return getDispositionElement(); case 522246568: return addPreAuthRefElement(); case -1262920311: return addPreAuthRefPeriod(); + case -1599182171: return getDiagnosisRelatedGroup(); case -7323378: return addCareTeam(); case 1922406657: return addSupportingInfo(); case 1196993265: return addDiagnosis(); @@ -14351,6 +16206,7 @@ public class ExplanationOfBenefit extends DomainResource { case 159695370: return getPrecedenceElement(); case 73049818: return addInsurance(); case -2143202801: return getAccident(); + case 525514609: return getPatientPaid(); case 3242771: return addItem(); case -1148899500: return addAddItem(); case -231349275: return addAdjudication(); @@ -14388,13 +16244,16 @@ public class ExplanationOfBenefit extends DomainResource { case -1814015861: /*originalPrescription*/ return new String[] {"Reference"}; case 106443592: /*payee*/ return new String[] {}; case -722568291: /*referral*/ return new String[] {"Reference"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; case 501116579: /*facility*/ return new String[] {"Reference"}; case 94742588: /*claim*/ return new String[] {"Reference"}; case 689513629: /*claimResponse*/ return new String[] {"Reference"}; case -1106507950: /*outcome*/ return new String[] {"code"}; + case 565719004: /*decision*/ return new String[] {"CodeableConcept"}; case 583380919: /*disposition*/ return new String[] {"string"}; case 522246568: /*preAuthRef*/ return new String[] {"string"}; case -1262920311: /*preAuthRefPeriod*/ return new String[] {"Period"}; + case -1599182171: /*diagnosisRelatedGroup*/ return new String[] {"CodeableConcept"}; case -7323378: /*careTeam*/ return new String[] {}; case 1922406657: /*supportingInfo*/ return new String[] {}; case 1196993265: /*diagnosis*/ return new String[] {}; @@ -14402,6 +16261,7 @@ public class ExplanationOfBenefit extends DomainResource { case 159695370: /*precedence*/ return new String[] {"positiveInt"}; case 73049818: /*insurance*/ return new String[] {}; case -2143202801: /*accident*/ return new String[] {}; + case 525514609: /*patientPaid*/ return new String[] {"Money"}; case 3242771: /*item*/ return new String[] {}; case -1148899500: /*addItem*/ return new String[] {}; case -231349275: /*adjudication*/ return new String[] {"@ExplanationOfBenefit.item.adjudication"}; @@ -14490,6 +16350,9 @@ public class ExplanationOfBenefit extends DomainResource { this.referral = new Reference(); return this.referral; } + else if (name.equals("encounter")) { + return addEncounter(); + } else if (name.equals("facility")) { this.facility = new Reference(); return this.facility; @@ -14505,6 +16368,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("outcome")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.outcome"); } + else if (name.equals("decision")) { + this.decision = new CodeableConcept(); + return this.decision; + } else if (name.equals("disposition")) { throw new FHIRException("Cannot call addChild on a primitive type ExplanationOfBenefit.disposition"); } @@ -14514,6 +16381,10 @@ public class ExplanationOfBenefit extends DomainResource { else if (name.equals("preAuthRefPeriod")) { return addPreAuthRefPeriod(); } + else if (name.equals("diagnosisRelatedGroup")) { + this.diagnosisRelatedGroup = new CodeableConcept(); + return this.diagnosisRelatedGroup; + } else if (name.equals("careTeam")) { return addCareTeam(); } @@ -14536,6 +16407,10 @@ public class ExplanationOfBenefit extends DomainResource { this.accident = new AccidentComponent(); return this.accident; } + else if (name.equals("patientPaid")) { + this.patientPaid = new Money(); + return this.patientPaid; + } else if (name.equals("item")) { return addItem(); } @@ -14614,10 +16489,16 @@ public class ExplanationOfBenefit extends DomainResource { dst.originalPrescription = originalPrescription == null ? null : originalPrescription.copy(); dst.payee = payee == null ? null : payee.copy(); dst.referral = referral == null ? null : referral.copy(); + if (encounter != null) { + dst.encounter = new ArrayList(); + for (Reference i : encounter) + dst.encounter.add(i.copy()); + }; dst.facility = facility == null ? null : facility.copy(); dst.claim = claim == null ? null : claim.copy(); dst.claimResponse = claimResponse == null ? null : claimResponse.copy(); dst.outcome = outcome == null ? null : outcome.copy(); + dst.decision = decision == null ? null : decision.copy(); dst.disposition = disposition == null ? null : disposition.copy(); if (preAuthRef != null) { dst.preAuthRef = new ArrayList(); @@ -14629,6 +16510,7 @@ public class ExplanationOfBenefit extends DomainResource { for (Period i : preAuthRefPeriod) dst.preAuthRefPeriod.add(i.copy()); }; + dst.diagnosisRelatedGroup = diagnosisRelatedGroup == null ? null : diagnosisRelatedGroup.copy(); if (careTeam != null) { dst.careTeam = new ArrayList(); for (CareTeamComponent i : careTeam) @@ -14656,6 +16538,7 @@ public class ExplanationOfBenefit extends DomainResource { dst.insurance.add(i.copy()); }; dst.accident = accident == null ? null : accident.copy(); + dst.patientPaid = patientPaid == null ? null : patientPaid.copy(); if (item != null) { dst.item = new ArrayList(); for (ItemComponent i : item) @@ -14710,15 +16593,16 @@ public class ExplanationOfBenefit extends DomainResource { && compareDeep(priority, o.priority, true) && compareDeep(fundsReserveRequested, o.fundsReserveRequested, true) && compareDeep(fundsReserve, o.fundsReserve, true) && compareDeep(related, o.related, true) && compareDeep(prescription, o.prescription, true) && compareDeep(originalPrescription, o.originalPrescription, true) && compareDeep(payee, o.payee, true) - && compareDeep(referral, o.referral, true) && compareDeep(facility, o.facility, true) && compareDeep(claim, o.claim, true) - && compareDeep(claimResponse, o.claimResponse, true) && compareDeep(outcome, o.outcome, true) && compareDeep(disposition, o.disposition, true) - && compareDeep(preAuthRef, o.preAuthRef, true) && compareDeep(preAuthRefPeriod, o.preAuthRefPeriod, true) + && compareDeep(referral, o.referral, true) && compareDeep(encounter, o.encounter, true) && compareDeep(facility, o.facility, true) + && compareDeep(claim, o.claim, true) && compareDeep(claimResponse, o.claimResponse, true) && compareDeep(outcome, o.outcome, true) + && compareDeep(decision, o.decision, true) && compareDeep(disposition, o.disposition, true) && compareDeep(preAuthRef, o.preAuthRef, true) + && compareDeep(preAuthRefPeriod, o.preAuthRefPeriod, true) && compareDeep(diagnosisRelatedGroup, o.diagnosisRelatedGroup, true) && compareDeep(careTeam, o.careTeam, true) && compareDeep(supportingInfo, o.supportingInfo, true) && compareDeep(diagnosis, o.diagnosis, true) && compareDeep(procedure, o.procedure, true) && compareDeep(precedence, o.precedence, true) - && compareDeep(insurance, o.insurance, true) && compareDeep(accident, o.accident, true) && compareDeep(item, o.item, true) - && compareDeep(addItem, o.addItem, true) && compareDeep(adjudication, o.adjudication, true) && compareDeep(total, o.total, true) - && compareDeep(payment, o.payment, true) && compareDeep(formCode, o.formCode, true) && compareDeep(form, o.form, true) - && compareDeep(processNote, o.processNote, true) && compareDeep(benefitPeriod, o.benefitPeriod, true) + && compareDeep(insurance, o.insurance, true) && compareDeep(accident, o.accident, true) && compareDeep(patientPaid, o.patientPaid, true) + && compareDeep(item, o.item, true) && compareDeep(addItem, o.addItem, true) && compareDeep(adjudication, o.adjudication, true) + && compareDeep(total, o.total, true) && compareDeep(payment, o.payment, true) && compareDeep(formCode, o.formCode, true) + && compareDeep(form, o.form, true) && compareDeep(processNote, o.processNote, true) && compareDeep(benefitPeriod, o.benefitPeriod, true) && compareDeep(benefitBalance, o.benefitBalance, true); } @@ -14738,10 +16622,11 @@ public class ExplanationOfBenefit extends DomainResource { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type , subType, use, patient, billablePeriod, created, enterer, insurer, provider , priority, fundsReserveRequested, fundsReserve, related, prescription, originalPrescription - , payee, referral, facility, claim, claimResponse, outcome, disposition, preAuthRef - , preAuthRefPeriod, careTeam, supportingInfo, diagnosis, procedure, precedence, insurance - , accident, item, addItem, adjudication, total, payment, formCode, form, processNote - , benefitPeriod, benefitBalance); + , payee, referral, encounter, facility, claim, claimResponse, outcome, decision + , disposition, preAuthRef, preAuthRefPeriod, diagnosisRelatedGroup, careTeam, supportingInfo + , diagnosis, procedure, precedence, insurance, accident, patientPaid, item, addItem + , adjudication, total, payment, formCode, form, processNote, benefitPeriod, benefitBalance + ); } @Override @@ -14927,7 +16812,7 @@ public class ExplanationOfBenefit extends DomainResource { * Path: ExplanationOfBenefit.enterer
*

*/ - @SearchParamDefinition(name="enterer", path="ExplanationOfBenefit.enterer", description="The party responsible for the entry of the Claim", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) + @SearchParamDefinition(name="enterer", path="ExplanationOfBenefit.enterer", description="The party responsible for the entry of the Claim", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) public static final String SP_ENTERER = "enterer"; /** * Fluent Client search parameter constant for enterer @@ -14953,7 +16838,7 @@ public class ExplanationOfBenefit extends DomainResource { * Path: ExplanationOfBenefit.facility
*

*/ - @SearchParamDefinition(name="facility", path="ExplanationOfBenefit.facility", description="Facility responsible for the goods and services", type="reference", target={Location.class } ) + @SearchParamDefinition(name="facility", path="ExplanationOfBenefit.facility", description="Facility responsible for the goods and services", type="reference", target={Location.class, Organization.class } ) public static final String SP_FACILITY = "facility"; /** * Fluent Client search parameter constant for facility diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Expression.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Expression.java index 56965312f..1a798fe23 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Expression.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Expression.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. + * Expression Type: A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. */ @DatatypeDef(name="Expression") public class Expression extends DataType implements ICompositeType { @@ -68,7 +68,7 @@ public class Expression extends DataType implements ICompositeType { /** * The media type of the language for the expression. */ - @Child(name = "language", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "language", type = {CodeType.class}, order=2, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="text/cql | text/fhirpath | application/x-fhir-query | etc.", formalDefinition="The media type of the language for the expression." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/expression-language") protected CodeType language; @@ -96,14 +96,6 @@ public class Expression extends DataType implements ICompositeType { super(); } - /** - * Constructor - */ - public Expression(String language) { - super(); - this.setLanguage(language); - } - /** * @return {@link #description} (A brief, natural language description of the condition that effectively communicates the intended semantics.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ @@ -241,9 +233,13 @@ public class Expression extends DataType implements ICompositeType { * @param value The media type of the language for the expression. */ public Expression setLanguage(String value) { + if (Utilities.noString(value)) + this.language = null; + else { if (this.language == null) this.language = new CodeType(); this.language.setValue(value); + } return this; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExtendedContactDetail.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExtendedContactDetail.java index 9958a99e5..7a2ce5164 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExtendedContactDetail.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ExtendedContactDetail.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for ExtendedContactDetail Type: Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization. + * ExtendedContactDetail Type: Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization. */ @DatatypeDef(name="ExtendedContactDetail") public class ExtendedContactDetail extends DataType implements ICompositeType { @@ -55,14 +55,15 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { */ @Child(name = "purpose", type = {CodeableConcept.class}, order=0, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The type of contact", formalDefinition="The purpose/type of contact." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/contactentity-type") protected CodeableConcept purpose; /** * The name of an individual to contact, some types of contact detail are usually blank. */ - @Child(name = "name", type = {HumanName.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Child(name = "name", type = {HumanName.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Name of an individual to contact", formalDefinition="The name of an individual to contact, some types of contact detail are usually blank." ) - protected HumanName name; + protected List name; /** * The contact details application for the purpose defined. @@ -79,10 +80,10 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { protected Address address; /** - * This contact detail is handled/monitored by a specific organization. + * This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization. */ @Child(name = "organization", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Organization", formalDefinition="This contact detail is handled/monitored by a specific organization." ) + @Description(shortDefinition="This contact detail is handled/monitored by a specific organization", formalDefinition="This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization." ) protected Reference organization; /** @@ -92,7 +93,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { @Description(shortDefinition="Period that this contact was valid for usage", formalDefinition="Period that this contact was valid for usage." ) protected Period period; - private static final long serialVersionUID = -763470577L; + private static final long serialVersionUID = 154672475L; /** * Constructor @@ -128,25 +129,54 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { /** * @return {@link #name} (The name of an individual to contact, some types of contact detail are usually blank.) */ - public HumanName getName() { + public List getName() { if (this.name == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ExtendedContactDetail.name"); - else if (Configuration.doAutoCreate()) - this.name = new HumanName(); // cc + this.name = new ArrayList(); return this.name; } + /** + * @return Returns a reference to this for easy method chaining + */ + public ExtendedContactDetail setName(List theName) { + this.name = theName; + return this; + } + public boolean hasName() { - return this.name != null && !this.name.isEmpty(); + if (this.name == null) + return false; + for (HumanName item : this.name) + if (!item.isEmpty()) + return true; + return false; + } + + public HumanName addName() { //3 + HumanName t = new HumanName(); + if (this.name == null) + this.name = new ArrayList(); + this.name.add(t); + return t; + } + + public ExtendedContactDetail addName(HumanName t) { //3 + if (t == null) + return this; + if (this.name == null) + this.name = new ArrayList(); + this.name.add(t); + return this; } /** - * @param value {@link #name} (The name of an individual to contact, some types of contact detail are usually blank.) + * @return The first repetition of repeating field {@link #name}, creating it if it does not already exist {3} */ - public ExtendedContactDetail setName(HumanName value) { - this.name = value; - return this; + public HumanName getNameFirstRep() { + if (getName().isEmpty()) { + addName(); + } + return getName().get(0); } /** @@ -227,7 +257,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { } /** - * @return {@link #organization} (This contact detail is handled/monitored by a specific organization.) + * @return {@link #organization} (This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization.) */ public Reference getOrganization() { if (this.organization == null) @@ -243,7 +273,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { } /** - * @param value {@link #organization} (This contact detail is handled/monitored by a specific organization.) + * @param value {@link #organization} (This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization.) */ public ExtendedContactDetail setOrganization(Reference value) { this.organization = value; @@ -277,10 +307,10 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("purpose", "CodeableConcept", "The purpose/type of contact.", 0, 1, purpose)); - children.add(new Property("name", "HumanName", "The name of an individual to contact, some types of contact detail are usually blank.", 0, 1, name)); + children.add(new Property("name", "HumanName", "The name of an individual to contact, some types of contact detail are usually blank.", 0, java.lang.Integer.MAX_VALUE, name)); children.add(new Property("telecom", "ContactPoint", "The contact details application for the purpose defined.", 0, java.lang.Integer.MAX_VALUE, telecom)); children.add(new Property("address", "Address", "Address for the contact.", 0, 1, address)); - children.add(new Property("organization", "Reference(Organization)", "This contact detail is handled/monitored by a specific organization.", 0, 1, organization)); + children.add(new Property("organization", "Reference(Organization)", "This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization.", 0, 1, organization)); children.add(new Property("period", "Period", "Period that this contact was valid for usage.", 0, 1, period)); } @@ -288,10 +318,10 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -220463842: /*purpose*/ return new Property("purpose", "CodeableConcept", "The purpose/type of contact.", 0, 1, purpose); - case 3373707: /*name*/ return new Property("name", "HumanName", "The name of an individual to contact, some types of contact detail are usually blank.", 0, 1, name); + case 3373707: /*name*/ return new Property("name", "HumanName", "The name of an individual to contact, some types of contact detail are usually blank.", 0, java.lang.Integer.MAX_VALUE, name); case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "The contact details application for the purpose defined.", 0, java.lang.Integer.MAX_VALUE, telecom); case -1147692044: /*address*/ return new Property("address", "Address", "Address for the contact.", 0, 1, address); - case 1178922291: /*organization*/ return new Property("organization", "Reference(Organization)", "This contact detail is handled/monitored by a specific organization.", 0, 1, organization); + case 1178922291: /*organization*/ return new Property("organization", "Reference(Organization)", "This contact detail is handled/monitored by a specific organization. If the name is provided in the contact, then it is referring to the named individual within this organization.", 0, 1, organization); case -991726143: /*period*/ return new Property("period", "Period", "Period that this contact was valid for usage.", 0, 1, period); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -302,7 +332,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // CodeableConcept - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // HumanName + case 3373707: /*name*/ return this.name == null ? new Base[0] : this.name.toArray(new Base[this.name.size()]); // HumanName case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint case -1147692044: /*address*/ return this.address == null ? new Base[0] : new Base[] {this.address}; // Address case 1178922291: /*organization*/ return this.organization == null ? new Base[0] : new Base[] {this.organization}; // Reference @@ -319,7 +349,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { this.purpose = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case 3373707: // name - this.name = TypeConvertor.castToHumanName(value); // HumanName + this.getName().add(TypeConvertor.castToHumanName(value)); // HumanName return value; case -1429363305: // telecom this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint @@ -343,7 +373,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { if (name.equals("purpose")) { this.purpose = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("name")) { - this.name = TypeConvertor.castToHumanName(value); // HumanName + this.getName().add(TypeConvertor.castToHumanName(value)); } else if (name.equals("telecom")) { this.getTelecom().add(TypeConvertor.castToContactPoint(value)); } else if (name.equals("address")) { @@ -361,7 +391,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -220463842: return getPurpose(); - case 3373707: return getName(); + case 3373707: return addName(); case -1429363305: return addTelecom(); case -1147692044: return getAddress(); case 1178922291: return getOrganization(); @@ -392,8 +422,7 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { return this.purpose; } else if (name.equals("name")) { - this.name = new HumanName(); - return this.name; + return addName(); } else if (name.equals("telecom")) { return addTelecom(); @@ -428,7 +457,11 @@ public class ExtendedContactDetail extends DataType implements ICompositeType { public void copyValues(ExtendedContactDetail dst) { super.copyValues(dst); dst.purpose = purpose == null ? null : purpose.copy(); - dst.name = name == null ? null : name.copy(); + if (name != null) { + dst.name = new ArrayList(); + for (HumanName i : name) + dst.name.add(i.copy()); + }; if (telecom != null) { dst.telecom = new ArrayList(); for (ContactPoint i : telecom) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Extension.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Extension.java index d4c466d08..eb3d27b37 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Extension.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Extension.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -49,7 +49,7 @@ import org.hl7.fhir.instance.model.api.IBaseExtension; import org.hl7.fhir.instance.model.api.IBaseDatatype; import org.hl7.fhir.instance.model.api.IBaseHasExtensions; /** - * Base StructureDefinition for Extension Type: Optional Extension Element - found in all resources. + * Extension Type: Optional Extension Element - found in all resources. */ @DatatypeDef(name="Extension") public class Extension extends BaseExtension implements IBaseExtension, IBaseHasExtensions { @@ -64,7 +64,7 @@ public class Extension extends BaseExtension implements IBaseExtension children) { super.listChildren(children); children.add(new Property("url", "uri", "Source of the definition for the extension code - a logical name or a URL.", 0, 1, url)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 116079: /*url*/ return new Property("url", "uri", "Source of the definition for the extension code - a logical name or a URL.", 0, 1, url); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "Value of extension - must be one of a constrained set of the data types (see [Extensibility](extensibility.html) for a list).", 0, 1, value); @@ -1010,13 +1025,14 @@ public class Extension extends BaseExtension implements IBaseExtension
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -2811,10 +2810,9 @@ public class FamilyMemberHistory extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -2991,7 +2989,7 @@ public class FamilyMemberHistory extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3000,10 +2998,10 @@ public class FamilyMemberHistory extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3035,7 +3033,7 @@ public class FamilyMemberHistory extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3044,7 +3042,7 @@ public class FamilyMemberHistory extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Flag.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Flag.java index eedc21504..cec08687d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Flag.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Flag.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -981,7 +981,7 @@ public class Flag extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -990,10 +990,10 @@ public class Flag extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1025,7 +1025,7 @@ public class Flag extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1034,7 +1034,7 @@ public class Flag extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/FormularyItem.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/FormularyItem.java index 141fe3de6..feaf677cb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/FormularyItem.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/FormularyItem.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GenomicStudy.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GenomicStudy.java new file mode 100644 index 000000000..ab7f5daf8 --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GenomicStudy.java @@ -0,0 +1,3634 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * A Genomic Study is a set of analysis performed to analyze and generate genomic data. + */ +@ResourceDef(name="GenomicStudy", profile="http://hl7.org/fhir/StructureDefinition/GenomicStudy") +public class GenomicStudy extends DomainResource { + + @Block() + public static class GenomicStudyAnalysisComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Identifiers for the analysis event. + */ + @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Identifiers for the analysis event", formalDefinition="Identifiers for the analysis event." ) + protected List identifier; + + /** + * Type of the methods used in the analysis, e.g., Fluorescence in situ hybridization (FISH), Karyotyping, or Microsatellite instability testing (MSI). + */ + @Child(name = "methodType", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Type of the methods used in the analysis (e.g., FISH, Karyotyping, MSI)", formalDefinition="Type of the methods used in the analysis, e.g., Fluorescence in situ hybridization (FISH), Karyotyping, or Microsatellite instability testing (MSI)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/genomicstudy-methodtype") + protected List methodType; + + /** + * Type of the genomic changes studied in the analysis, e.g., DNA, RNA, or amino acid change. + */ + @Child(name = "changeType", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Type of the genomic changes studied in the analysis (e.g., DNA, RNA, or AA change)", formalDefinition="Type of the genomic changes studied in the analysis, e.g., DNA, RNA, or amino acid change." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/genomicstudy-changetype") + protected List changeType; + + /** + * The reference genome build that is used in this analysis. + */ + @Child(name = "genomeBuild", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Genome build that is used in this analysis", formalDefinition="The reference genome build that is used in this analysis." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://loinc.org/vs/LL1040-6") + protected CodeableConcept genomeBuild; + + /** + * The defined protocol that describes the analysis. + */ + @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The defined protocol that describes the analysis", formalDefinition="The defined protocol that describes the analysis." ) + protected CanonicalType instantiatesCanonical; + + /** + * The URL pointing to an externally maintained protocol that describes the analysis. + */ + @Child(name = "instantiatesUri", type = {UriType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The URL pointing to an externally maintained protocol that describes the analysis", formalDefinition="The URL pointing to an externally maintained protocol that describes the analysis." ) + protected UriType instantiatesUri; + + /** + * Name of the analysis event (human friendly). + */ + @Child(name = "title", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Name of the analysis event (human friendly)", formalDefinition="Name of the analysis event (human friendly)." ) + protected StringType title; + + /** + * The subject of the analysis event. + */ + @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Procedure.class, Practitioner.class, Medication.class, Substance.class, BiologicallyDerivedProduct.class, NutritionProduct.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The subject of the analysis event", formalDefinition="The subject of the analysis event." ) + protected Reference subject; + + /** + * The specimen used in the analysis event. + */ + @Child(name = "specimen", type = {Specimen.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The specimen used in the analysis event", formalDefinition="The specimen used in the analysis event." ) + protected List specimen; + + /** + * The date of the analysis event. + */ + @Child(name = "date", type = {DateTimeType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The date of the analysis event", formalDefinition="The date of the analysis event." ) + protected DateTimeType date; + + /** + * Any notes capture with the analysis event. + */ + @Child(name = "note", type = {Annotation.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Any notes capture with the analysis event", formalDefinition="Any notes capture with the analysis event." ) + protected List note; + + /** + * The protocol that was performed for the analysis event. + */ + @Child(name = "protocolPerformed", type = {Procedure.class, Task.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The protocol that was performed for the analysis event", formalDefinition="The protocol that was performed for the analysis event." ) + protected Reference protocolPerformed; + + /** + * The genomic regions to be studied in the analysis (BED file). + */ + @Child(name = "regionsStudied", type = {DocumentReference.class, Observation.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The genomic regions to be studied in the analysis (BED file)", formalDefinition="The genomic regions to be studied in the analysis (BED file)." ) + protected List regionsStudied; + + /** + * Genomic regions actually called in the analysis event (BED file). + */ + @Child(name = "regionsCalled", type = {DocumentReference.class, Observation.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Genomic regions actually called in the analysis event (BED file)", formalDefinition="Genomic regions actually called in the analysis event (BED file)." ) + protected List regionsCalled; + + /** + * Inputs for the analysis event. + */ + @Child(name = "input", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Inputs for the analysis event", formalDefinition="Inputs for the analysis event." ) + protected List input; + + /** + * Outputs for the analysis event. + */ + @Child(name = "output", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Outputs for the analysis event", formalDefinition="Outputs for the analysis event." ) + protected List output; + + /** + * Performer for the analysis event. + */ + @Child(name = "performer", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Performer for the analysis event", formalDefinition="Performer for the analysis event." ) + protected List performer; + + /** + * Devices used for the analysis (e.g., instruments, software), with settings and parameters. + */ + @Child(name = "device", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Devices used for the analysis (e.g., instruments, software), with settings and parameters", formalDefinition="Devices used for the analysis (e.g., instruments, software), with settings and parameters." ) + protected List device; + + private static final long serialVersionUID = 400268376L; + + /** + * Constructor + */ + public GenomicStudyAnalysisComponent() { + super(); + } + + /** + * @return {@link #identifier} (Identifiers for the analysis event.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + + /** + * @return {@link #methodType} (Type of the methods used in the analysis, e.g., Fluorescence in situ hybridization (FISH), Karyotyping, or Microsatellite instability testing (MSI).) + */ + public List getMethodType() { + if (this.methodType == null) + this.methodType = new ArrayList(); + return this.methodType; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setMethodType(List theMethodType) { + this.methodType = theMethodType; + return this; + } + + public boolean hasMethodType() { + if (this.methodType == null) + return false; + for (CodeableConcept item : this.methodType) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addMethodType() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.methodType == null) + this.methodType = new ArrayList(); + this.methodType.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addMethodType(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.methodType == null) + this.methodType = new ArrayList(); + this.methodType.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #methodType}, creating it if it does not already exist {3} + */ + public CodeableConcept getMethodTypeFirstRep() { + if (getMethodType().isEmpty()) { + addMethodType(); + } + return getMethodType().get(0); + } + + /** + * @return {@link #changeType} (Type of the genomic changes studied in the analysis, e.g., DNA, RNA, or amino acid change.) + */ + public List getChangeType() { + if (this.changeType == null) + this.changeType = new ArrayList(); + return this.changeType; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setChangeType(List theChangeType) { + this.changeType = theChangeType; + return this; + } + + public boolean hasChangeType() { + if (this.changeType == null) + return false; + for (CodeableConcept item : this.changeType) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addChangeType() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.changeType == null) + this.changeType = new ArrayList(); + this.changeType.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addChangeType(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.changeType == null) + this.changeType = new ArrayList(); + this.changeType.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #changeType}, creating it if it does not already exist {3} + */ + public CodeableConcept getChangeTypeFirstRep() { + if (getChangeType().isEmpty()) { + addChangeType(); + } + return getChangeType().get(0); + } + + /** + * @return {@link #genomeBuild} (The reference genome build that is used in this analysis.) + */ + public CodeableConcept getGenomeBuild() { + if (this.genomeBuild == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.genomeBuild"); + else if (Configuration.doAutoCreate()) + this.genomeBuild = new CodeableConcept(); // cc + return this.genomeBuild; + } + + public boolean hasGenomeBuild() { + return this.genomeBuild != null && !this.genomeBuild.isEmpty(); + } + + /** + * @param value {@link #genomeBuild} (The reference genome build that is used in this analysis.) + */ + public GenomicStudyAnalysisComponent setGenomeBuild(CodeableConcept value) { + this.genomeBuild = value; + return this; + } + + /** + * @return {@link #instantiatesCanonical} (The defined protocol that describes the analysis.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesCanonical" gives direct access to the value + */ + public CanonicalType getInstantiatesCanonicalElement() { + if (this.instantiatesCanonical == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.instantiatesCanonical"); + else if (Configuration.doAutoCreate()) + this.instantiatesCanonical = new CanonicalType(); // bb + return this.instantiatesCanonical; + } + + public boolean hasInstantiatesCanonicalElement() { + return this.instantiatesCanonical != null && !this.instantiatesCanonical.isEmpty(); + } + + public boolean hasInstantiatesCanonical() { + return this.instantiatesCanonical != null && !this.instantiatesCanonical.isEmpty(); + } + + /** + * @param value {@link #instantiatesCanonical} (The defined protocol that describes the analysis.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesCanonical" gives direct access to the value + */ + public GenomicStudyAnalysisComponent setInstantiatesCanonicalElement(CanonicalType value) { + this.instantiatesCanonical = value; + return this; + } + + /** + * @return The defined protocol that describes the analysis. + */ + public String getInstantiatesCanonical() { + return this.instantiatesCanonical == null ? null : this.instantiatesCanonical.getValue(); + } + + /** + * @param value The defined protocol that describes the analysis. + */ + public GenomicStudyAnalysisComponent setInstantiatesCanonical(String value) { + if (Utilities.noString(value)) + this.instantiatesCanonical = null; + else { + if (this.instantiatesCanonical == null) + this.instantiatesCanonical = new CanonicalType(); + this.instantiatesCanonical.setValue(value); + } + return this; + } + + /** + * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol that describes the analysis.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesUri" gives direct access to the value + */ + public UriType getInstantiatesUriElement() { + if (this.instantiatesUri == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.instantiatesUri"); + else if (Configuration.doAutoCreate()) + this.instantiatesUri = new UriType(); // bb + return this.instantiatesUri; + } + + public boolean hasInstantiatesUriElement() { + return this.instantiatesUri != null && !this.instantiatesUri.isEmpty(); + } + + public boolean hasInstantiatesUri() { + return this.instantiatesUri != null && !this.instantiatesUri.isEmpty(); + } + + /** + * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol that describes the analysis.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesUri" gives direct access to the value + */ + public GenomicStudyAnalysisComponent setInstantiatesUriElement(UriType value) { + this.instantiatesUri = value; + return this; + } + + /** + * @return The URL pointing to an externally maintained protocol that describes the analysis. + */ + public String getInstantiatesUri() { + return this.instantiatesUri == null ? null : this.instantiatesUri.getValue(); + } + + /** + * @param value The URL pointing to an externally maintained protocol that describes the analysis. + */ + public GenomicStudyAnalysisComponent setInstantiatesUri(String value) { + if (Utilities.noString(value)) + this.instantiatesUri = null; + else { + if (this.instantiatesUri == null) + this.instantiatesUri = new UriType(); + this.instantiatesUri.setValue(value); + } + return this; + } + + /** + * @return {@link #title} (Name of the analysis event (human friendly).). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (Name of the analysis event (human friendly).). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public GenomicStudyAnalysisComponent setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return Name of the analysis event (human friendly). + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value Name of the analysis event (human friendly). + */ + public GenomicStudyAnalysisComponent setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + + /** + * @return {@link #subject} (The subject of the analysis event.) + */ + public Reference getSubject() { + if (this.subject == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.subject"); + else if (Configuration.doAutoCreate()) + this.subject = new Reference(); // cc + return this.subject; + } + + public boolean hasSubject() { + return this.subject != null && !this.subject.isEmpty(); + } + + /** + * @param value {@link #subject} (The subject of the analysis event.) + */ + public GenomicStudyAnalysisComponent setSubject(Reference value) { + this.subject = value; + return this; + } + + /** + * @return {@link #specimen} (The specimen used in the analysis event.) + */ + public List getSpecimen() { + if (this.specimen == null) + this.specimen = new ArrayList(); + return this.specimen; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setSpecimen(List theSpecimen) { + this.specimen = theSpecimen; + return this; + } + + public boolean hasSpecimen() { + if (this.specimen == null) + return false; + for (Reference item : this.specimen) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addSpecimen() { //3 + Reference t = new Reference(); + if (this.specimen == null) + this.specimen = new ArrayList(); + this.specimen.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addSpecimen(Reference t) { //3 + if (t == null) + return this; + if (this.specimen == null) + this.specimen = new ArrayList(); + this.specimen.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #specimen}, creating it if it does not already exist {3} + */ + public Reference getSpecimenFirstRep() { + if (getSpecimen().isEmpty()) { + addSpecimen(); + } + return getSpecimen().get(0); + } + + /** + * @return {@link #date} (The date of the analysis event.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + */ + public DateTimeType getDateElement() { + if (this.date == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.date"); + else if (Configuration.doAutoCreate()) + this.date = new DateTimeType(); // bb + return this.date; + } + + public boolean hasDateElement() { + return this.date != null && !this.date.isEmpty(); + } + + public boolean hasDate() { + return this.date != null && !this.date.isEmpty(); + } + + /** + * @param value {@link #date} (The date of the analysis event.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + */ + public GenomicStudyAnalysisComponent setDateElement(DateTimeType value) { + this.date = value; + return this; + } + + /** + * @return The date of the analysis event. + */ + public Date getDate() { + return this.date == null ? null : this.date.getValue(); + } + + /** + * @param value The date of the analysis event. + */ + public GenomicStudyAnalysisComponent setDate(Date value) { + if (value == null) + this.date = null; + else { + if (this.date == null) + this.date = new DateTimeType(); + this.date.setValue(value); + } + return this; + } + + /** + * @return {@link #note} (Any notes capture with the analysis event.) + */ + public List getNote() { + if (this.note == null) + this.note = new ArrayList(); + return this.note; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setNote(List theNote) { + this.note = theNote; + return this; + } + + public boolean hasNote() { + if (this.note == null) + return false; + for (Annotation item : this.note) + if (!item.isEmpty()) + return true; + return false; + } + + public Annotation addNote() { //3 + Annotation t = new Annotation(); + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addNote(Annotation t) { //3 + if (t == null) + return this; + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} + */ + public Annotation getNoteFirstRep() { + if (getNote().isEmpty()) { + addNote(); + } + return getNote().get(0); + } + + /** + * @return {@link #protocolPerformed} (The protocol that was performed for the analysis event.) + */ + public Reference getProtocolPerformed() { + if (this.protocolPerformed == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisComponent.protocolPerformed"); + else if (Configuration.doAutoCreate()) + this.protocolPerformed = new Reference(); // cc + return this.protocolPerformed; + } + + public boolean hasProtocolPerformed() { + return this.protocolPerformed != null && !this.protocolPerformed.isEmpty(); + } + + /** + * @param value {@link #protocolPerformed} (The protocol that was performed for the analysis event.) + */ + public GenomicStudyAnalysisComponent setProtocolPerformed(Reference value) { + this.protocolPerformed = value; + return this; + } + + /** + * @return {@link #regionsStudied} (The genomic regions to be studied in the analysis (BED file).) + */ + public List getRegionsStudied() { + if (this.regionsStudied == null) + this.regionsStudied = new ArrayList(); + return this.regionsStudied; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setRegionsStudied(List theRegionsStudied) { + this.regionsStudied = theRegionsStudied; + return this; + } + + public boolean hasRegionsStudied() { + if (this.regionsStudied == null) + return false; + for (Reference item : this.regionsStudied) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addRegionsStudied() { //3 + Reference t = new Reference(); + if (this.regionsStudied == null) + this.regionsStudied = new ArrayList(); + this.regionsStudied.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addRegionsStudied(Reference t) { //3 + if (t == null) + return this; + if (this.regionsStudied == null) + this.regionsStudied = new ArrayList(); + this.regionsStudied.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #regionsStudied}, creating it if it does not already exist {3} + */ + public Reference getRegionsStudiedFirstRep() { + if (getRegionsStudied().isEmpty()) { + addRegionsStudied(); + } + return getRegionsStudied().get(0); + } + + /** + * @return {@link #regionsCalled} (Genomic regions actually called in the analysis event (BED file).) + */ + public List getRegionsCalled() { + if (this.regionsCalled == null) + this.regionsCalled = new ArrayList(); + return this.regionsCalled; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setRegionsCalled(List theRegionsCalled) { + this.regionsCalled = theRegionsCalled; + return this; + } + + public boolean hasRegionsCalled() { + if (this.regionsCalled == null) + return false; + for (Reference item : this.regionsCalled) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addRegionsCalled() { //3 + Reference t = new Reference(); + if (this.regionsCalled == null) + this.regionsCalled = new ArrayList(); + this.regionsCalled.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addRegionsCalled(Reference t) { //3 + if (t == null) + return this; + if (this.regionsCalled == null) + this.regionsCalled = new ArrayList(); + this.regionsCalled.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #regionsCalled}, creating it if it does not already exist {3} + */ + public Reference getRegionsCalledFirstRep() { + if (getRegionsCalled().isEmpty()) { + addRegionsCalled(); + } + return getRegionsCalled().get(0); + } + + /** + * @return {@link #input} (Inputs for the analysis event.) + */ + public List getInput() { + if (this.input == null) + this.input = new ArrayList(); + return this.input; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setInput(List theInput) { + this.input = theInput; + return this; + } + + public boolean hasInput() { + if (this.input == null) + return false; + for (GenomicStudyAnalysisInputComponent item : this.input) + if (!item.isEmpty()) + return true; + return false; + } + + public GenomicStudyAnalysisInputComponent addInput() { //3 + GenomicStudyAnalysisInputComponent t = new GenomicStudyAnalysisInputComponent(); + if (this.input == null) + this.input = new ArrayList(); + this.input.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addInput(GenomicStudyAnalysisInputComponent t) { //3 + if (t == null) + return this; + if (this.input == null) + this.input = new ArrayList(); + this.input.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #input}, creating it if it does not already exist {3} + */ + public GenomicStudyAnalysisInputComponent getInputFirstRep() { + if (getInput().isEmpty()) { + addInput(); + } + return getInput().get(0); + } + + /** + * @return {@link #output} (Outputs for the analysis event.) + */ + public List getOutput() { + if (this.output == null) + this.output = new ArrayList(); + return this.output; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setOutput(List theOutput) { + this.output = theOutput; + return this; + } + + public boolean hasOutput() { + if (this.output == null) + return false; + for (GenomicStudyAnalysisOutputComponent item : this.output) + if (!item.isEmpty()) + return true; + return false; + } + + public GenomicStudyAnalysisOutputComponent addOutput() { //3 + GenomicStudyAnalysisOutputComponent t = new GenomicStudyAnalysisOutputComponent(); + if (this.output == null) + this.output = new ArrayList(); + this.output.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addOutput(GenomicStudyAnalysisOutputComponent t) { //3 + if (t == null) + return this; + if (this.output == null) + this.output = new ArrayList(); + this.output.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #output}, creating it if it does not already exist {3} + */ + public GenomicStudyAnalysisOutputComponent getOutputFirstRep() { + if (getOutput().isEmpty()) { + addOutput(); + } + return getOutput().get(0); + } + + /** + * @return {@link #performer} (Performer for the analysis event.) + */ + public List getPerformer() { + if (this.performer == null) + this.performer = new ArrayList(); + return this.performer; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setPerformer(List thePerformer) { + this.performer = thePerformer; + return this; + } + + public boolean hasPerformer() { + if (this.performer == null) + return false; + for (GenomicStudyAnalysisPerformerComponent item : this.performer) + if (!item.isEmpty()) + return true; + return false; + } + + public GenomicStudyAnalysisPerformerComponent addPerformer() { //3 + GenomicStudyAnalysisPerformerComponent t = new GenomicStudyAnalysisPerformerComponent(); + if (this.performer == null) + this.performer = new ArrayList(); + this.performer.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addPerformer(GenomicStudyAnalysisPerformerComponent t) { //3 + if (t == null) + return this; + if (this.performer == null) + this.performer = new ArrayList(); + this.performer.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #performer}, creating it if it does not already exist {3} + */ + public GenomicStudyAnalysisPerformerComponent getPerformerFirstRep() { + if (getPerformer().isEmpty()) { + addPerformer(); + } + return getPerformer().get(0); + } + + /** + * @return {@link #device} (Devices used for the analysis (e.g., instruments, software), with settings and parameters.) + */ + public List getDevice() { + if (this.device == null) + this.device = new ArrayList(); + return this.device; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudyAnalysisComponent setDevice(List theDevice) { + this.device = theDevice; + return this; + } + + public boolean hasDevice() { + if (this.device == null) + return false; + for (GenomicStudyAnalysisDeviceComponent item : this.device) + if (!item.isEmpty()) + return true; + return false; + } + + public GenomicStudyAnalysisDeviceComponent addDevice() { //3 + GenomicStudyAnalysisDeviceComponent t = new GenomicStudyAnalysisDeviceComponent(); + if (this.device == null) + this.device = new ArrayList(); + this.device.add(t); + return t; + } + + public GenomicStudyAnalysisComponent addDevice(GenomicStudyAnalysisDeviceComponent t) { //3 + if (t == null) + return this; + if (this.device == null) + this.device = new ArrayList(); + this.device.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #device}, creating it if it does not already exist {3} + */ + public GenomicStudyAnalysisDeviceComponent getDeviceFirstRep() { + if (getDevice().isEmpty()) { + addDevice(); + } + return getDevice().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("identifier", "Identifier", "Identifiers for the analysis event.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("methodType", "CodeableConcept", "Type of the methods used in the analysis, e.g., Fluorescence in situ hybridization (FISH), Karyotyping, or Microsatellite instability testing (MSI).", 0, java.lang.Integer.MAX_VALUE, methodType)); + children.add(new Property("changeType", "CodeableConcept", "Type of the genomic changes studied in the analysis, e.g., DNA, RNA, or amino acid change.", 0, java.lang.Integer.MAX_VALUE, changeType)); + children.add(new Property("genomeBuild", "CodeableConcept", "The reference genome build that is used in this analysis.", 0, 1, genomeBuild)); + children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition)", "The defined protocol that describes the analysis.", 0, 1, instantiatesCanonical)); + children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol that describes the analysis.", 0, 1, instantiatesUri)); + children.add(new Property("title", "string", "Name of the analysis event (human friendly).", 0, 1, title)); + children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "The subject of the analysis event.", 0, 1, subject)); + children.add(new Property("specimen", "Reference(Specimen)", "The specimen used in the analysis event.", 0, java.lang.Integer.MAX_VALUE, specimen)); + children.add(new Property("date", "dateTime", "The date of the analysis event.", 0, 1, date)); + children.add(new Property("note", "Annotation", "Any notes capture with the analysis event.", 0, java.lang.Integer.MAX_VALUE, note)); + children.add(new Property("protocolPerformed", "Reference(Procedure|Task)", "The protocol that was performed for the analysis event.", 0, 1, protocolPerformed)); + children.add(new Property("regionsStudied", "Reference(DocumentReference|Observation)", "The genomic regions to be studied in the analysis (BED file).", 0, java.lang.Integer.MAX_VALUE, regionsStudied)); + children.add(new Property("regionsCalled", "Reference(DocumentReference|Observation)", "Genomic regions actually called in the analysis event (BED file).", 0, java.lang.Integer.MAX_VALUE, regionsCalled)); + children.add(new Property("input", "", "Inputs for the analysis event.", 0, java.lang.Integer.MAX_VALUE, input)); + children.add(new Property("output", "", "Outputs for the analysis event.", 0, java.lang.Integer.MAX_VALUE, output)); + children.add(new Property("performer", "", "Performer for the analysis event.", 0, java.lang.Integer.MAX_VALUE, performer)); + children.add(new Property("device", "", "Devices used for the analysis (e.g., instruments, software), with settings and parameters.", 0, java.lang.Integer.MAX_VALUE, device)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers for the analysis event.", 0, java.lang.Integer.MAX_VALUE, identifier); + case -722961477: /*methodType*/ return new Property("methodType", "CodeableConcept", "Type of the methods used in the analysis, e.g., Fluorescence in situ hybridization (FISH), Karyotyping, or Microsatellite instability testing (MSI).", 0, java.lang.Integer.MAX_VALUE, methodType); + case -2131902710: /*changeType*/ return new Property("changeType", "CodeableConcept", "Type of the genomic changes studied in the analysis, e.g., DNA, RNA, or amino acid change.", 0, java.lang.Integer.MAX_VALUE, changeType); + case 1061239735: /*genomeBuild*/ return new Property("genomeBuild", "CodeableConcept", "The reference genome build that is used in this analysis.", 0, 1, genomeBuild); + case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition)", "The defined protocol that describes the analysis.", 0, 1, instantiatesCanonical); + case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol that describes the analysis.", 0, 1, instantiatesUri); + case 110371416: /*title*/ return new Property("title", "string", "Name of the analysis event (human friendly).", 0, 1, title); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "The subject of the analysis event.", 0, 1, subject); + case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "The specimen used in the analysis event.", 0, java.lang.Integer.MAX_VALUE, specimen); + case 3076014: /*date*/ return new Property("date", "dateTime", "The date of the analysis event.", 0, 1, date); + case 3387378: /*note*/ return new Property("note", "Annotation", "Any notes capture with the analysis event.", 0, java.lang.Integer.MAX_VALUE, note); + case -1565516792: /*protocolPerformed*/ return new Property("protocolPerformed", "Reference(Procedure|Task)", "The protocol that was performed for the analysis event.", 0, 1, protocolPerformed); + case 391791385: /*regionsStudied*/ return new Property("regionsStudied", "Reference(DocumentReference|Observation)", "The genomic regions to be studied in the analysis (BED file).", 0, java.lang.Integer.MAX_VALUE, regionsStudied); + case -2125803428: /*regionsCalled*/ return new Property("regionsCalled", "Reference(DocumentReference|Observation)", "Genomic regions actually called in the analysis event (BED file).", 0, java.lang.Integer.MAX_VALUE, regionsCalled); + case 100358090: /*input*/ return new Property("input", "", "Inputs for the analysis event.", 0, java.lang.Integer.MAX_VALUE, input); + case -1005512447: /*output*/ return new Property("output", "", "Outputs for the analysis event.", 0, java.lang.Integer.MAX_VALUE, output); + case 481140686: /*performer*/ return new Property("performer", "", "Performer for the analysis event.", 0, java.lang.Integer.MAX_VALUE, performer); + case -1335157162: /*device*/ return new Property("device", "", "Devices used for the analysis (e.g., instruments, software), with settings and parameters.", 0, java.lang.Integer.MAX_VALUE, device); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case -722961477: /*methodType*/ return this.methodType == null ? new Base[0] : this.methodType.toArray(new Base[this.methodType.size()]); // CodeableConcept + case -2131902710: /*changeType*/ return this.changeType == null ? new Base[0] : this.changeType.toArray(new Base[this.changeType.size()]); // CodeableConcept + case 1061239735: /*genomeBuild*/ return this.genomeBuild == null ? new Base[0] : new Base[] {this.genomeBuild}; // CodeableConcept + case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : new Base[] {this.instantiatesCanonical}; // CanonicalType + case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : new Base[] {this.instantiatesUri}; // UriType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference + case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : this.specimen.toArray(new Base[this.specimen.size()]); // Reference + case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType + case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation + case -1565516792: /*protocolPerformed*/ return this.protocolPerformed == null ? new Base[0] : new Base[] {this.protocolPerformed}; // Reference + case 391791385: /*regionsStudied*/ return this.regionsStudied == null ? new Base[0] : this.regionsStudied.toArray(new Base[this.regionsStudied.size()]); // Reference + case -2125803428: /*regionsCalled*/ return this.regionsCalled == null ? new Base[0] : this.regionsCalled.toArray(new Base[this.regionsCalled.size()]); // Reference + case 100358090: /*input*/ return this.input == null ? new Base[0] : this.input.toArray(new Base[this.input.size()]); // GenomicStudyAnalysisInputComponent + case -1005512447: /*output*/ return this.output == null ? new Base[0] : this.output.toArray(new Base[this.output.size()]); // GenomicStudyAnalysisOutputComponent + case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // GenomicStudyAnalysisPerformerComponent + case -1335157162: /*device*/ return this.device == null ? new Base[0] : this.device.toArray(new Base[this.device.size()]); // GenomicStudyAnalysisDeviceComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; + case -722961477: // methodType + this.getMethodType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -2131902710: // changeType + this.getChangeType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case 1061239735: // genomeBuild + this.genomeBuild = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 8911915: // instantiatesCanonical + this.instantiatesCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + return value; + case -1926393373: // instantiatesUri + this.instantiatesUri = TypeConvertor.castToUri(value); // UriType + return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; + case -1867885268: // subject + this.subject = TypeConvertor.castToReference(value); // Reference + return value; + case -2132868344: // specimen + this.getSpecimen().add(TypeConvertor.castToReference(value)); // Reference + return value; + case 3076014: // date + this.date = TypeConvertor.castToDateTime(value); // DateTimeType + return value; + case 3387378: // note + this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation + return value; + case -1565516792: // protocolPerformed + this.protocolPerformed = TypeConvertor.castToReference(value); // Reference + return value; + case 391791385: // regionsStudied + this.getRegionsStudied().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -2125803428: // regionsCalled + this.getRegionsCalled().add(TypeConvertor.castToReference(value)); // Reference + return value; + case 100358090: // input + this.getInput().add((GenomicStudyAnalysisInputComponent) value); // GenomicStudyAnalysisInputComponent + return value; + case -1005512447: // output + this.getOutput().add((GenomicStudyAnalysisOutputComponent) value); // GenomicStudyAnalysisOutputComponent + return value; + case 481140686: // performer + this.getPerformer().add((GenomicStudyAnalysisPerformerComponent) value); // GenomicStudyAnalysisPerformerComponent + return value; + case -1335157162: // device + this.getDevice().add((GenomicStudyAnalysisDeviceComponent) value); // GenomicStudyAnalysisDeviceComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("methodType")) { + this.getMethodType().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("changeType")) { + this.getChangeType().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("genomeBuild")) { + this.genomeBuild = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("instantiatesCanonical")) { + this.instantiatesCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + } else if (name.equals("instantiatesUri")) { + this.instantiatesUri = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType + } else if (name.equals("subject")) { + this.subject = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("specimen")) { + this.getSpecimen().add(TypeConvertor.castToReference(value)); + } else if (name.equals("date")) { + this.date = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("note")) { + this.getNote().add(TypeConvertor.castToAnnotation(value)); + } else if (name.equals("protocolPerformed")) { + this.protocolPerformed = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("regionsStudied")) { + this.getRegionsStudied().add(TypeConvertor.castToReference(value)); + } else if (name.equals("regionsCalled")) { + this.getRegionsCalled().add(TypeConvertor.castToReference(value)); + } else if (name.equals("input")) { + this.getInput().add((GenomicStudyAnalysisInputComponent) value); + } else if (name.equals("output")) { + this.getOutput().add((GenomicStudyAnalysisOutputComponent) value); + } else if (name.equals("performer")) { + this.getPerformer().add((GenomicStudyAnalysisPerformerComponent) value); + } else if (name.equals("device")) { + this.getDevice().add((GenomicStudyAnalysisDeviceComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: return addIdentifier(); + case -722961477: return addMethodType(); + case -2131902710: return addChangeType(); + case 1061239735: return getGenomeBuild(); + case 8911915: return getInstantiatesCanonicalElement(); + case -1926393373: return getInstantiatesUriElement(); + case 110371416: return getTitleElement(); + case -1867885268: return getSubject(); + case -2132868344: return addSpecimen(); + case 3076014: return getDateElement(); + case 3387378: return addNote(); + case -1565516792: return getProtocolPerformed(); + case 391791385: return addRegionsStudied(); + case -2125803428: return addRegionsCalled(); + case 100358090: return addInput(); + case -1005512447: return addOutput(); + case 481140686: return addPerformer(); + case -1335157162: return addDevice(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case -722961477: /*methodType*/ return new String[] {"CodeableConcept"}; + case -2131902710: /*changeType*/ return new String[] {"CodeableConcept"}; + case 1061239735: /*genomeBuild*/ return new String[] {"CodeableConcept"}; + case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; + case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; + case 110371416: /*title*/ return new String[] {"string"}; + case -1867885268: /*subject*/ return new String[] {"Reference"}; + case -2132868344: /*specimen*/ return new String[] {"Reference"}; + case 3076014: /*date*/ return new String[] {"dateTime"}; + case 3387378: /*note*/ return new String[] {"Annotation"}; + case -1565516792: /*protocolPerformed*/ return new String[] {"Reference"}; + case 391791385: /*regionsStudied*/ return new String[] {"Reference"}; + case -2125803428: /*regionsCalled*/ return new String[] {"Reference"}; + case 100358090: /*input*/ return new String[] {}; + case -1005512447: /*output*/ return new String[] {}; + case 481140686: /*performer*/ return new String[] {}; + case -1335157162: /*device*/ return new String[] {}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("identifier")) { + return addIdentifier(); + } + else if (name.equals("methodType")) { + return addMethodType(); + } + else if (name.equals("changeType")) { + return addChangeType(); + } + else if (name.equals("genomeBuild")) { + this.genomeBuild = new CodeableConcept(); + return this.genomeBuild; + } + else if (name.equals("instantiatesCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.analysis.instantiatesCanonical"); + } + else if (name.equals("instantiatesUri")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.analysis.instantiatesUri"); + } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.analysis.title"); + } + else if (name.equals("subject")) { + this.subject = new Reference(); + return this.subject; + } + else if (name.equals("specimen")) { + return addSpecimen(); + } + else if (name.equals("date")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.analysis.date"); + } + else if (name.equals("note")) { + return addNote(); + } + else if (name.equals("protocolPerformed")) { + this.protocolPerformed = new Reference(); + return this.protocolPerformed; + } + else if (name.equals("regionsStudied")) { + return addRegionsStudied(); + } + else if (name.equals("regionsCalled")) { + return addRegionsCalled(); + } + else if (name.equals("input")) { + return addInput(); + } + else if (name.equals("output")) { + return addOutput(); + } + else if (name.equals("performer")) { + return addPerformer(); + } + else if (name.equals("device")) { + return addDevice(); + } + else + return super.addChild(name); + } + + public GenomicStudyAnalysisComponent copy() { + GenomicStudyAnalysisComponent dst = new GenomicStudyAnalysisComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(GenomicStudyAnalysisComponent dst) { + super.copyValues(dst); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; + if (methodType != null) { + dst.methodType = new ArrayList(); + for (CodeableConcept i : methodType) + dst.methodType.add(i.copy()); + }; + if (changeType != null) { + dst.changeType = new ArrayList(); + for (CodeableConcept i : changeType) + dst.changeType.add(i.copy()); + }; + dst.genomeBuild = genomeBuild == null ? null : genomeBuild.copy(); + dst.instantiatesCanonical = instantiatesCanonical == null ? null : instantiatesCanonical.copy(); + dst.instantiatesUri = instantiatesUri == null ? null : instantiatesUri.copy(); + dst.title = title == null ? null : title.copy(); + dst.subject = subject == null ? null : subject.copy(); + if (specimen != null) { + dst.specimen = new ArrayList(); + for (Reference i : specimen) + dst.specimen.add(i.copy()); + }; + dst.date = date == null ? null : date.copy(); + if (note != null) { + dst.note = new ArrayList(); + for (Annotation i : note) + dst.note.add(i.copy()); + }; + dst.protocolPerformed = protocolPerformed == null ? null : protocolPerformed.copy(); + if (regionsStudied != null) { + dst.regionsStudied = new ArrayList(); + for (Reference i : regionsStudied) + dst.regionsStudied.add(i.copy()); + }; + if (regionsCalled != null) { + dst.regionsCalled = new ArrayList(); + for (Reference i : regionsCalled) + dst.regionsCalled.add(i.copy()); + }; + if (input != null) { + dst.input = new ArrayList(); + for (GenomicStudyAnalysisInputComponent i : input) + dst.input.add(i.copy()); + }; + if (output != null) { + dst.output = new ArrayList(); + for (GenomicStudyAnalysisOutputComponent i : output) + dst.output.add(i.copy()); + }; + if (performer != null) { + dst.performer = new ArrayList(); + for (GenomicStudyAnalysisPerformerComponent i : performer) + dst.performer.add(i.copy()); + }; + if (device != null) { + dst.device = new ArrayList(); + for (GenomicStudyAnalysisDeviceComponent i : device) + dst.device.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisComponent)) + return false; + GenomicStudyAnalysisComponent o = (GenomicStudyAnalysisComponent) other_; + return compareDeep(identifier, o.identifier, true) && compareDeep(methodType, o.methodType, true) + && compareDeep(changeType, o.changeType, true) && compareDeep(genomeBuild, o.genomeBuild, true) + && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) && compareDeep(instantiatesUri, o.instantiatesUri, true) + && compareDeep(title, o.title, true) && compareDeep(subject, o.subject, true) && compareDeep(specimen, o.specimen, true) + && compareDeep(date, o.date, true) && compareDeep(note, o.note, true) && compareDeep(protocolPerformed, o.protocolPerformed, true) + && compareDeep(regionsStudied, o.regionsStudied, true) && compareDeep(regionsCalled, o.regionsCalled, true) + && compareDeep(input, o.input, true) && compareDeep(output, o.output, true) && compareDeep(performer, o.performer, true) + && compareDeep(device, o.device, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisComponent)) + return false; + GenomicStudyAnalysisComponent o = (GenomicStudyAnalysisComponent) other_; + return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) + && compareValues(title, o.title, true) && compareValues(date, o.date, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, methodType, changeType + , genomeBuild, instantiatesCanonical, instantiatesUri, title, subject, specimen + , date, note, protocolPerformed, regionsStudied, regionsCalled, input, output + , performer, device); + } + + public String fhirType() { + return "GenomicStudy.analysis"; + + } + + } + + @Block() + public static class GenomicStudyAnalysisInputComponent extends BackboneElement implements IBaseBackboneElement { + /** + * File containing input data. + */ + @Child(name = "file", type = {DocumentReference.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="File containing input data", formalDefinition="File containing input data." ) + protected Reference file; + + /** + * Type of input data, e.g., BAM, CRAM, or FASTA. + */ + @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Type of input data (e.g., BAM, CRAM, or FASTA)", formalDefinition="Type of input data, e.g., BAM, CRAM, or FASTA." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/genomicstudy-dataformat") + protected CodeableConcept type; + + /** + * The analysis event or other GenomicStudy that generated this input file. + */ + @Child(name = "generatedBy", type = {Identifier.class, GenomicStudy.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The analysis event or other GenomicStudy that generated this input file", formalDefinition="The analysis event or other GenomicStudy that generated this input file." ) + protected DataType generatedBy; + + private static final long serialVersionUID = -650883036L; + + /** + * Constructor + */ + public GenomicStudyAnalysisInputComponent() { + super(); + } + + /** + * @return {@link #file} (File containing input data.) + */ + public Reference getFile() { + if (this.file == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisInputComponent.file"); + else if (Configuration.doAutoCreate()) + this.file = new Reference(); // cc + return this.file; + } + + public boolean hasFile() { + return this.file != null && !this.file.isEmpty(); + } + + /** + * @param value {@link #file} (File containing input data.) + */ + public GenomicStudyAnalysisInputComponent setFile(Reference value) { + this.file = value; + return this; + } + + /** + * @return {@link #type} (Type of input data, e.g., BAM, CRAM, or FASTA.) + */ + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisInputComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (Type of input data, e.g., BAM, CRAM, or FASTA.) + */ + public GenomicStudyAnalysisInputComponent setType(CodeableConcept value) { + this.type = value; + return this; + } + + /** + * @return {@link #generatedBy} (The analysis event or other GenomicStudy that generated this input file.) + */ + public DataType getGeneratedBy() { + return this.generatedBy; + } + + /** + * @return {@link #generatedBy} (The analysis event or other GenomicStudy that generated this input file.) + */ + public Identifier getGeneratedByIdentifier() throws FHIRException { + if (this.generatedBy == null) + this.generatedBy = new Identifier(); + if (!(this.generatedBy instanceof Identifier)) + throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.generatedBy.getClass().getName()+" was encountered"); + return (Identifier) this.generatedBy; + } + + public boolean hasGeneratedByIdentifier() { + return this != null && this.generatedBy instanceof Identifier; + } + + /** + * @return {@link #generatedBy} (The analysis event or other GenomicStudy that generated this input file.) + */ + public Reference getGeneratedByReference() throws FHIRException { + if (this.generatedBy == null) + this.generatedBy = new Reference(); + if (!(this.generatedBy instanceof Reference)) + throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.generatedBy.getClass().getName()+" was encountered"); + return (Reference) this.generatedBy; + } + + public boolean hasGeneratedByReference() { + return this != null && this.generatedBy instanceof Reference; + } + + public boolean hasGeneratedBy() { + return this.generatedBy != null && !this.generatedBy.isEmpty(); + } + + /** + * @param value {@link #generatedBy} (The analysis event or other GenomicStudy that generated this input file.) + */ + public GenomicStudyAnalysisInputComponent setGeneratedBy(DataType value) { + if (value != null && !(value instanceof Identifier || value instanceof Reference)) + throw new Error("Not the right type for GenomicStudy.analysis.input.generatedBy[x]: "+value.fhirType()); + this.generatedBy = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("file", "Reference(DocumentReference)", "File containing input data.", 0, 1, file)); + children.add(new Property("type", "CodeableConcept", "Type of input data, e.g., BAM, CRAM, or FASTA.", 0, 1, type)); + children.add(new Property("generatedBy[x]", "Identifier|Reference(GenomicStudy)", "The analysis event or other GenomicStudy that generated this input file.", 0, 1, generatedBy)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3143036: /*file*/ return new Property("file", "Reference(DocumentReference)", "File containing input data.", 0, 1, file); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of input data, e.g., BAM, CRAM, or FASTA.", 0, 1, type); + case -1669563270: /*generatedBy[x]*/ return new Property("generatedBy[x]", "Identifier|Reference(GenomicStudy)", "The analysis event or other GenomicStudy that generated this input file.", 0, 1, generatedBy); + case 886733382: /*generatedBy*/ return new Property("generatedBy[x]", "Identifier|Reference(GenomicStudy)", "The analysis event or other GenomicStudy that generated this input file.", 0, 1, generatedBy); + case 913138575: /*generatedByIdentifier*/ return new Property("generatedBy[x]", "Identifier", "The analysis event or other GenomicStudy that generated this input file.", 0, 1, generatedBy); + case -1397681243: /*generatedByReference*/ return new Property("generatedBy[x]", "Reference(GenomicStudy)", "The analysis event or other GenomicStudy that generated this input file.", 0, 1, generatedBy); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3143036: /*file*/ return this.file == null ? new Base[0] : new Base[] {this.file}; // Reference + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case 886733382: /*generatedBy*/ return this.generatedBy == null ? new Base[0] : new Base[] {this.generatedBy}; // DataType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3143036: // file + this.file = TypeConvertor.castToReference(value); // Reference + return value; + case 3575610: // type + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 886733382: // generatedBy + this.generatedBy = TypeConvertor.castToType(value); // DataType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("file")) { + this.file = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("generatedBy[x]")) { + this.generatedBy = TypeConvertor.castToType(value); // DataType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3143036: return getFile(); + case 3575610: return getType(); + case -1669563270: return getGeneratedBy(); + case 886733382: return getGeneratedBy(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3143036: /*file*/ return new String[] {"Reference"}; + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case 886733382: /*generatedBy*/ return new String[] {"Identifier", "Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("file")) { + this.file = new Reference(); + return this.file; + } + else if (name.equals("type")) { + this.type = new CodeableConcept(); + return this.type; + } + else if (name.equals("generatedByIdentifier")) { + this.generatedBy = new Identifier(); + return this.generatedBy; + } + else if (name.equals("generatedByReference")) { + this.generatedBy = new Reference(); + return this.generatedBy; + } + else + return super.addChild(name); + } + + public GenomicStudyAnalysisInputComponent copy() { + GenomicStudyAnalysisInputComponent dst = new GenomicStudyAnalysisInputComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(GenomicStudyAnalysisInputComponent dst) { + super.copyValues(dst); + dst.file = file == null ? null : file.copy(); + dst.type = type == null ? null : type.copy(); + dst.generatedBy = generatedBy == null ? null : generatedBy.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisInputComponent)) + return false; + GenomicStudyAnalysisInputComponent o = (GenomicStudyAnalysisInputComponent) other_; + return compareDeep(file, o.file, true) && compareDeep(type, o.type, true) && compareDeep(generatedBy, o.generatedBy, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisInputComponent)) + return false; + GenomicStudyAnalysisInputComponent o = (GenomicStudyAnalysisInputComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(file, type, generatedBy + ); + } + + public String fhirType() { + return "GenomicStudy.analysis.input"; + + } + + } + + @Block() + public static class GenomicStudyAnalysisOutputComponent extends BackboneElement implements IBaseBackboneElement { + /** + * File containing output data. + */ + @Child(name = "file", type = {DocumentReference.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="File containing output data", formalDefinition="File containing output data." ) + protected Reference file; + + /** + * Type of output data, e.g., VCF, MAF, or BAM. + */ + @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Type of output data (e.g., VCF, MAF, or BAM)", formalDefinition="Type of output data, e.g., VCF, MAF, or BAM." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/genomicstudy-dataformat") + protected CodeableConcept type; + + private static final long serialVersionUID = -2075265800L; + + /** + * Constructor + */ + public GenomicStudyAnalysisOutputComponent() { + super(); + } + + /** + * @return {@link #file} (File containing output data.) + */ + public Reference getFile() { + if (this.file == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisOutputComponent.file"); + else if (Configuration.doAutoCreate()) + this.file = new Reference(); // cc + return this.file; + } + + public boolean hasFile() { + return this.file != null && !this.file.isEmpty(); + } + + /** + * @param value {@link #file} (File containing output data.) + */ + public GenomicStudyAnalysisOutputComponent setFile(Reference value) { + this.file = value; + return this; + } + + /** + * @return {@link #type} (Type of output data, e.g., VCF, MAF, or BAM.) + */ + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisOutputComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (Type of output data, e.g., VCF, MAF, or BAM.) + */ + public GenomicStudyAnalysisOutputComponent setType(CodeableConcept value) { + this.type = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("file", "Reference(DocumentReference)", "File containing output data.", 0, 1, file)); + children.add(new Property("type", "CodeableConcept", "Type of output data, e.g., VCF, MAF, or BAM.", 0, 1, type)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3143036: /*file*/ return new Property("file", "Reference(DocumentReference)", "File containing output data.", 0, 1, file); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of output data, e.g., VCF, MAF, or BAM.", 0, 1, type); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3143036: /*file*/ return this.file == null ? new Base[0] : new Base[] {this.file}; // Reference + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3143036: // file + this.file = TypeConvertor.castToReference(value); // Reference + return value; + case 3575610: // type + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("file")) { + this.file = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3143036: return getFile(); + case 3575610: return getType(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3143036: /*file*/ return new String[] {"Reference"}; + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("file")) { + this.file = new Reference(); + return this.file; + } + else if (name.equals("type")) { + this.type = new CodeableConcept(); + return this.type; + } + else + return super.addChild(name); + } + + public GenomicStudyAnalysisOutputComponent copy() { + GenomicStudyAnalysisOutputComponent dst = new GenomicStudyAnalysisOutputComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(GenomicStudyAnalysisOutputComponent dst) { + super.copyValues(dst); + dst.file = file == null ? null : file.copy(); + dst.type = type == null ? null : type.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisOutputComponent)) + return false; + GenomicStudyAnalysisOutputComponent o = (GenomicStudyAnalysisOutputComponent) other_; + return compareDeep(file, o.file, true) && compareDeep(type, o.type, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisOutputComponent)) + return false; + GenomicStudyAnalysisOutputComponent o = (GenomicStudyAnalysisOutputComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(file, type); + } + + public String fhirType() { + return "GenomicStudy.analysis.output"; + + } + + } + + @Block() + public static class GenomicStudyAnalysisPerformerComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The organization, healthcare professional, or others who participated in performing this analysis. + */ + @Child(name = "actor", type = {Practitioner.class, PractitionerRole.class, Organization.class, Device.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The organization, healthcare professional, or others who participated in performing this analysis", formalDefinition="The organization, healthcare professional, or others who participated in performing this analysis." ) + protected Reference actor; + + /** + * Role of the actor for this analysis. + */ + @Child(name = "role", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Role of the actor for this analysis", formalDefinition="Role of the actor for this analysis." ) + protected CodeableConcept role; + + private static final long serialVersionUID = 827444743L; + + /** + * Constructor + */ + public GenomicStudyAnalysisPerformerComponent() { + super(); + } + + /** + * @return {@link #actor} (The organization, healthcare professional, or others who participated in performing this analysis.) + */ + public Reference getActor() { + if (this.actor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisPerformerComponent.actor"); + else if (Configuration.doAutoCreate()) + this.actor = new Reference(); // cc + return this.actor; + } + + public boolean hasActor() { + return this.actor != null && !this.actor.isEmpty(); + } + + /** + * @param value {@link #actor} (The organization, healthcare professional, or others who participated in performing this analysis.) + */ + public GenomicStudyAnalysisPerformerComponent setActor(Reference value) { + this.actor = value; + return this; + } + + /** + * @return {@link #role} (Role of the actor for this analysis.) + */ + public CodeableConcept getRole() { + if (this.role == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisPerformerComponent.role"); + else if (Configuration.doAutoCreate()) + this.role = new CodeableConcept(); // cc + return this.role; + } + + public boolean hasRole() { + return this.role != null && !this.role.isEmpty(); + } + + /** + * @param value {@link #role} (Role of the actor for this analysis.) + */ + public GenomicStudyAnalysisPerformerComponent setRole(CodeableConcept value) { + this.role = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|Device)", "The organization, healthcare professional, or others who participated in performing this analysis.", 0, 1, actor)); + children.add(new Property("role", "CodeableConcept", "Role of the actor for this analysis.", 0, 1, role)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|Device)", "The organization, healthcare professional, or others who participated in performing this analysis.", 0, 1, actor); + case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Role of the actor for this analysis.", 0, 1, role); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference + case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 92645877: // actor + this.actor = TypeConvertor.castToReference(value); // Reference + return value; + case 3506294: // role + this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("actor")) { + this.actor = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("role")) { + this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 92645877: return getActor(); + case 3506294: return getRole(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 92645877: /*actor*/ return new String[] {"Reference"}; + case 3506294: /*role*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("actor")) { + this.actor = new Reference(); + return this.actor; + } + else if (name.equals("role")) { + this.role = new CodeableConcept(); + return this.role; + } + else + return super.addChild(name); + } + + public GenomicStudyAnalysisPerformerComponent copy() { + GenomicStudyAnalysisPerformerComponent dst = new GenomicStudyAnalysisPerformerComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(GenomicStudyAnalysisPerformerComponent dst) { + super.copyValues(dst); + dst.actor = actor == null ? null : actor.copy(); + dst.role = role == null ? null : role.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisPerformerComponent)) + return false; + GenomicStudyAnalysisPerformerComponent o = (GenomicStudyAnalysisPerformerComponent) other_; + return compareDeep(actor, o.actor, true) && compareDeep(role, o.role, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisPerformerComponent)) + return false; + GenomicStudyAnalysisPerformerComponent o = (GenomicStudyAnalysisPerformerComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actor, role); + } + + public String fhirType() { + return "GenomicStudy.analysis.performer"; + + } + + } + + @Block() + public static class GenomicStudyAnalysisDeviceComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Device used for the analysis. + */ + @Child(name = "device", type = {Device.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Device used for the analysis", formalDefinition="Device used for the analysis." ) + protected Reference device; + + /** + * Specific function for the device used for the analysis. + */ + @Child(name = "function", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Specific function for the device used for the analysis", formalDefinition="Specific function for the device used for the analysis." ) + protected CodeableConcept function; + + private static final long serialVersionUID = 1643933108L; + + /** + * Constructor + */ + public GenomicStudyAnalysisDeviceComponent() { + super(); + } + + /** + * @return {@link #device} (Device used for the analysis.) + */ + public Reference getDevice() { + if (this.device == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisDeviceComponent.device"); + else if (Configuration.doAutoCreate()) + this.device = new Reference(); // cc + return this.device; + } + + public boolean hasDevice() { + return this.device != null && !this.device.isEmpty(); + } + + /** + * @param value {@link #device} (Device used for the analysis.) + */ + public GenomicStudyAnalysisDeviceComponent setDevice(Reference value) { + this.device = value; + return this; + } + + /** + * @return {@link #function} (Specific function for the device used for the analysis.) + */ + public CodeableConcept getFunction() { + if (this.function == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudyAnalysisDeviceComponent.function"); + else if (Configuration.doAutoCreate()) + this.function = new CodeableConcept(); // cc + return this.function; + } + + public boolean hasFunction() { + return this.function != null && !this.function.isEmpty(); + } + + /** + * @param value {@link #function} (Specific function for the device used for the analysis.) + */ + public GenomicStudyAnalysisDeviceComponent setFunction(CodeableConcept value) { + this.function = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("device", "Reference(Device)", "Device used for the analysis.", 0, 1, device)); + children.add(new Property("function", "CodeableConcept", "Specific function for the device used for the analysis.", 0, 1, function)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1335157162: /*device*/ return new Property("device", "Reference(Device)", "Device used for the analysis.", 0, 1, device); + case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Specific function for the device used for the analysis.", 0, 1, function); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1335157162: /*device*/ return this.device == null ? new Base[0] : new Base[] {this.device}; // Reference + case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1335157162: // device + this.device = TypeConvertor.castToReference(value); // Reference + return value; + case 1380938712: // function + this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("device")) { + this.device = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("function")) { + this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1335157162: return getDevice(); + case 1380938712: return getFunction(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1335157162: /*device*/ return new String[] {"Reference"}; + case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("device")) { + this.device = new Reference(); + return this.device; + } + else if (name.equals("function")) { + this.function = new CodeableConcept(); + return this.function; + } + else + return super.addChild(name); + } + + public GenomicStudyAnalysisDeviceComponent copy() { + GenomicStudyAnalysisDeviceComponent dst = new GenomicStudyAnalysisDeviceComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(GenomicStudyAnalysisDeviceComponent dst) { + super.copyValues(dst); + dst.device = device == null ? null : device.copy(); + dst.function = function == null ? null : function.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisDeviceComponent)) + return false; + GenomicStudyAnalysisDeviceComponent o = (GenomicStudyAnalysisDeviceComponent) other_; + return compareDeep(device, o.device, true) && compareDeep(function, o.function, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof GenomicStudyAnalysisDeviceComponent)) + return false; + GenomicStudyAnalysisDeviceComponent o = (GenomicStudyAnalysisDeviceComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(device, function); + } + + public String fhirType() { + return "GenomicStudy.analysis.device"; + + } + + } + + /** + * Identifiers for this genomic study. + */ + @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Identifiers for this genomic study", formalDefinition="Identifiers for this genomic study." ) + protected List identifier; + + /** + * The status of the genomic study. + */ + @Child(name = "status", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=true, summary=true) + @Description(shortDefinition="The status of the genomic study", formalDefinition="The status of the genomic study." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/genomicstudy-status") + protected CodeableConcept status; + + /** + * The type of the study, e.g., Familial variant segregation, Functional variation detection, or Gene expression profiling. + */ + @Child(name = "type", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The type of the study (e.g., Familial variant segregation, Functional variation detection, or Gene expression profiling)", formalDefinition="The type of the study, e.g., Familial variant segregation, Functional variation detection, or Gene expression profiling." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/genomicstudy-type") + protected List type; + + /** + * The primary subject of the genomic study. + */ + @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Procedure.class, Practitioner.class, Medication.class, Substance.class, BiologicallyDerivedProduct.class, NutritionProduct.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="The primary subject of the genomic study", formalDefinition="The primary subject of the genomic study." ) + protected Reference subject; + + /** + * The healthcare event with which this genomics study is associated. + */ + @Child(name = "encounter", type = {Encounter.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The healthcare event with which this genomics study is associated", formalDefinition="The healthcare event with which this genomics study is associated." ) + protected Reference encounter; + + /** + * When the genomic study was started. + */ + @Child(name = "startDate", type = {DateTimeType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the genomic study was started", formalDefinition="When the genomic study was started." ) + protected DateTimeType startDate; + + /** + * Event resources that the genomic study is based on. + */ + @Child(name = "basedOn", type = {ServiceRequest.class, Task.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Event resources that the genomic study is based on", formalDefinition="Event resources that the genomic study is based on." ) + protected List basedOn; + + /** + * Healthcare professional who requested or referred the genomic study. + */ + @Child(name = "referrer", type = {Practitioner.class, PractitionerRole.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Healthcare professional who requested or referred the genomic study", formalDefinition="Healthcare professional who requested or referred the genomic study." ) + protected Reference referrer; + + /** + * Healthcare professionals who interpreted the genomic study. + */ + @Child(name = "interpreter", type = {Practitioner.class, PractitionerRole.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Healthcare professionals who interpreted the genomic study", formalDefinition="Healthcare professionals who interpreted the genomic study." ) + protected List interpreter; + + /** + * Why the genomic study was performed. + */ + @Child(name = "reason", type = {CodeableReference.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Why the genomic study was performed", formalDefinition="Why the genomic study was performed." ) + protected List reason; + + /** + * The defined protocol that describes the study. + */ + @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The defined protocol that describes the study", formalDefinition="The defined protocol that describes the study." ) + protected CanonicalType instantiatesCanonical; + + /** + * The URL pointing to an externally maintained protocol that describes the study. + */ + @Child(name = "instantiatesUri", type = {UriType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The URL pointing to an externally maintained protocol that describes the study", formalDefinition="The URL pointing to an externally maintained protocol that describes the study." ) + protected UriType instantiatesUri; + + /** + * Comments related to the genomic study. + */ + @Child(name = "note", type = {Annotation.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Comments related to the genomic study", formalDefinition="Comments related to the genomic study." ) + protected List note; + + /** + * Description of the genomic study. + */ + @Child(name = "description", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Description of the genomic study", formalDefinition="Description of the genomic study." ) + protected StringType description; + + /** + * The details about a specific analysis that was performed in this GenomicStudy. + */ + @Child(name = "analysis", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Genomic Analysis Event", formalDefinition="The details about a specific analysis that was performed in this GenomicStudy." ) + protected List analysis; + + private static final long serialVersionUID = -345111606L; + + /** + * Constructor + */ + public GenomicStudy() { + super(); + } + + /** + * Constructor + */ + public GenomicStudy(CodeableConcept status, Reference subject) { + super(); + this.setStatus(status); + this.setSubject(subject); + } + + /** + * @return {@link #identifier} (Identifiers for this genomic study.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public GenomicStudy addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + + /** + * @return {@link #status} (The status of the genomic study.) + */ + public CodeableConcept getStatus() { + if (this.status == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.status"); + else if (Configuration.doAutoCreate()) + this.status = new CodeableConcept(); // cc + return this.status; + } + + public boolean hasStatus() { + return this.status != null && !this.status.isEmpty(); + } + + /** + * @param value {@link #status} (The status of the genomic study.) + */ + public GenomicStudy setStatus(CodeableConcept value) { + this.status = value; + return this; + } + + /** + * @return {@link #type} (The type of the study, e.g., Familial variant segregation, Functional variation detection, or Gene expression profiling.) + */ + public List getType() { + if (this.type == null) + this.type = new ArrayList(); + return this.type; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setType(List theType) { + this.type = theType; + return this; + } + + public boolean hasType() { + if (this.type == null) + return false; + for (CodeableConcept item : this.type) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addType() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.type == null) + this.type = new ArrayList(); + this.type.add(t); + return t; + } + + public GenomicStudy addType(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.type == null) + this.type = new ArrayList(); + this.type.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #type}, creating it if it does not already exist {3} + */ + public CodeableConcept getTypeFirstRep() { + if (getType().isEmpty()) { + addType(); + } + return getType().get(0); + } + + /** + * @return {@link #subject} (The primary subject of the genomic study.) + */ + public Reference getSubject() { + if (this.subject == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.subject"); + else if (Configuration.doAutoCreate()) + this.subject = new Reference(); // cc + return this.subject; + } + + public boolean hasSubject() { + return this.subject != null && !this.subject.isEmpty(); + } + + /** + * @param value {@link #subject} (The primary subject of the genomic study.) + */ + public GenomicStudy setSubject(Reference value) { + this.subject = value; + return this; + } + + /** + * @return {@link #encounter} (The healthcare event with which this genomics study is associated.) + */ + public Reference getEncounter() { + if (this.encounter == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.encounter"); + else if (Configuration.doAutoCreate()) + this.encounter = new Reference(); // cc + return this.encounter; + } + + public boolean hasEncounter() { + return this.encounter != null && !this.encounter.isEmpty(); + } + + /** + * @param value {@link #encounter} (The healthcare event with which this genomics study is associated.) + */ + public GenomicStudy setEncounter(Reference value) { + this.encounter = value; + return this; + } + + /** + * @return {@link #startDate} (When the genomic study was started.). This is the underlying object with id, value and extensions. The accessor "getStartDate" gives direct access to the value + */ + public DateTimeType getStartDateElement() { + if (this.startDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.startDate"); + else if (Configuration.doAutoCreate()) + this.startDate = new DateTimeType(); // bb + return this.startDate; + } + + public boolean hasStartDateElement() { + return this.startDate != null && !this.startDate.isEmpty(); + } + + public boolean hasStartDate() { + return this.startDate != null && !this.startDate.isEmpty(); + } + + /** + * @param value {@link #startDate} (When the genomic study was started.). This is the underlying object with id, value and extensions. The accessor "getStartDate" gives direct access to the value + */ + public GenomicStudy setStartDateElement(DateTimeType value) { + this.startDate = value; + return this; + } + + /** + * @return When the genomic study was started. + */ + public Date getStartDate() { + return this.startDate == null ? null : this.startDate.getValue(); + } + + /** + * @param value When the genomic study was started. + */ + public GenomicStudy setStartDate(Date value) { + if (value == null) + this.startDate = null; + else { + if (this.startDate == null) + this.startDate = new DateTimeType(); + this.startDate.setValue(value); + } + return this; + } + + /** + * @return {@link #basedOn} (Event resources that the genomic study is based on.) + */ + public List getBasedOn() { + if (this.basedOn == null) + this.basedOn = new ArrayList(); + return this.basedOn; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setBasedOn(List theBasedOn) { + this.basedOn = theBasedOn; + return this; + } + + public boolean hasBasedOn() { + if (this.basedOn == null) + return false; + for (Reference item : this.basedOn) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addBasedOn() { //3 + Reference t = new Reference(); + if (this.basedOn == null) + this.basedOn = new ArrayList(); + this.basedOn.add(t); + return t; + } + + public GenomicStudy addBasedOn(Reference t) { //3 + if (t == null) + return this; + if (this.basedOn == null) + this.basedOn = new ArrayList(); + this.basedOn.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} + */ + public Reference getBasedOnFirstRep() { + if (getBasedOn().isEmpty()) { + addBasedOn(); + } + return getBasedOn().get(0); + } + + /** + * @return {@link #referrer} (Healthcare professional who requested or referred the genomic study.) + */ + public Reference getReferrer() { + if (this.referrer == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.referrer"); + else if (Configuration.doAutoCreate()) + this.referrer = new Reference(); // cc + return this.referrer; + } + + public boolean hasReferrer() { + return this.referrer != null && !this.referrer.isEmpty(); + } + + /** + * @param value {@link #referrer} (Healthcare professional who requested or referred the genomic study.) + */ + public GenomicStudy setReferrer(Reference value) { + this.referrer = value; + return this; + } + + /** + * @return {@link #interpreter} (Healthcare professionals who interpreted the genomic study.) + */ + public List getInterpreter() { + if (this.interpreter == null) + this.interpreter = new ArrayList(); + return this.interpreter; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setInterpreter(List theInterpreter) { + this.interpreter = theInterpreter; + return this; + } + + public boolean hasInterpreter() { + if (this.interpreter == null) + return false; + for (Reference item : this.interpreter) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addInterpreter() { //3 + Reference t = new Reference(); + if (this.interpreter == null) + this.interpreter = new ArrayList(); + this.interpreter.add(t); + return t; + } + + public GenomicStudy addInterpreter(Reference t) { //3 + if (t == null) + return this; + if (this.interpreter == null) + this.interpreter = new ArrayList(); + this.interpreter.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #interpreter}, creating it if it does not already exist {3} + */ + public Reference getInterpreterFirstRep() { + if (getInterpreter().isEmpty()) { + addInterpreter(); + } + return getInterpreter().get(0); + } + + /** + * @return {@link #reason} (Why the genomic study was performed.) + */ + public List getReason() { + if (this.reason == null) + this.reason = new ArrayList(); + return this.reason; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setReason(List theReason) { + this.reason = theReason; + return this; + } + + public boolean hasReason() { + if (this.reason == null) + return false; + for (CodeableReference item : this.reason) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addReason() { //3 + CodeableReference t = new CodeableReference(); + if (this.reason == null) + this.reason = new ArrayList(); + this.reason.add(t); + return t; + } + + public GenomicStudy addReason(CodeableReference t) { //3 + if (t == null) + return this; + if (this.reason == null) + this.reason = new ArrayList(); + this.reason.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} + */ + public CodeableReference getReasonFirstRep() { + if (getReason().isEmpty()) { + addReason(); + } + return getReason().get(0); + } + + /** + * @return {@link #instantiatesCanonical} (The defined protocol that describes the study.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesCanonical" gives direct access to the value + */ + public CanonicalType getInstantiatesCanonicalElement() { + if (this.instantiatesCanonical == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.instantiatesCanonical"); + else if (Configuration.doAutoCreate()) + this.instantiatesCanonical = new CanonicalType(); // bb + return this.instantiatesCanonical; + } + + public boolean hasInstantiatesCanonicalElement() { + return this.instantiatesCanonical != null && !this.instantiatesCanonical.isEmpty(); + } + + public boolean hasInstantiatesCanonical() { + return this.instantiatesCanonical != null && !this.instantiatesCanonical.isEmpty(); + } + + /** + * @param value {@link #instantiatesCanonical} (The defined protocol that describes the study.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesCanonical" gives direct access to the value + */ + public GenomicStudy setInstantiatesCanonicalElement(CanonicalType value) { + this.instantiatesCanonical = value; + return this; + } + + /** + * @return The defined protocol that describes the study. + */ + public String getInstantiatesCanonical() { + return this.instantiatesCanonical == null ? null : this.instantiatesCanonical.getValue(); + } + + /** + * @param value The defined protocol that describes the study. + */ + public GenomicStudy setInstantiatesCanonical(String value) { + if (Utilities.noString(value)) + this.instantiatesCanonical = null; + else { + if (this.instantiatesCanonical == null) + this.instantiatesCanonical = new CanonicalType(); + this.instantiatesCanonical.setValue(value); + } + return this; + } + + /** + * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol that describes the study.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesUri" gives direct access to the value + */ + public UriType getInstantiatesUriElement() { + if (this.instantiatesUri == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.instantiatesUri"); + else if (Configuration.doAutoCreate()) + this.instantiatesUri = new UriType(); // bb + return this.instantiatesUri; + } + + public boolean hasInstantiatesUriElement() { + return this.instantiatesUri != null && !this.instantiatesUri.isEmpty(); + } + + public boolean hasInstantiatesUri() { + return this.instantiatesUri != null && !this.instantiatesUri.isEmpty(); + } + + /** + * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol that describes the study.). This is the underlying object with id, value and extensions. The accessor "getInstantiatesUri" gives direct access to the value + */ + public GenomicStudy setInstantiatesUriElement(UriType value) { + this.instantiatesUri = value; + return this; + } + + /** + * @return The URL pointing to an externally maintained protocol that describes the study. + */ + public String getInstantiatesUri() { + return this.instantiatesUri == null ? null : this.instantiatesUri.getValue(); + } + + /** + * @param value The URL pointing to an externally maintained protocol that describes the study. + */ + public GenomicStudy setInstantiatesUri(String value) { + if (Utilities.noString(value)) + this.instantiatesUri = null; + else { + if (this.instantiatesUri == null) + this.instantiatesUri = new UriType(); + this.instantiatesUri.setValue(value); + } + return this; + } + + /** + * @return {@link #note} (Comments related to the genomic study.) + */ + public List getNote() { + if (this.note == null) + this.note = new ArrayList(); + return this.note; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setNote(List theNote) { + this.note = theNote; + return this; + } + + public boolean hasNote() { + if (this.note == null) + return false; + for (Annotation item : this.note) + if (!item.isEmpty()) + return true; + return false; + } + + public Annotation addNote() { //3 + Annotation t = new Annotation(); + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); + return t; + } + + public GenomicStudy addNote(Annotation t) { //3 + if (t == null) + return this; + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} + */ + public Annotation getNoteFirstRep() { + if (getNote().isEmpty()) { + addNote(); + } + return getNote().get(0); + } + + /** + * @return {@link #description} (Description of the genomic study.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public StringType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GenomicStudy.description"); + else if (Configuration.doAutoCreate()) + this.description = new StringType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (Description of the genomic study.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public GenomicStudy setDescriptionElement(StringType value) { + this.description = value; + return this; + } + + /** + * @return Description of the genomic study. + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value Description of the genomic study. + */ + public GenomicStudy setDescription(String value) { + if (Utilities.noString(value)) + this.description = null; + else { + if (this.description == null) + this.description = new StringType(); + this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #analysis} (The details about a specific analysis that was performed in this GenomicStudy.) + */ + public List getAnalysis() { + if (this.analysis == null) + this.analysis = new ArrayList(); + return this.analysis; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public GenomicStudy setAnalysis(List theAnalysis) { + this.analysis = theAnalysis; + return this; + } + + public boolean hasAnalysis() { + if (this.analysis == null) + return false; + for (GenomicStudyAnalysisComponent item : this.analysis) + if (!item.isEmpty()) + return true; + return false; + } + + public GenomicStudyAnalysisComponent addAnalysis() { //3 + GenomicStudyAnalysisComponent t = new GenomicStudyAnalysisComponent(); + if (this.analysis == null) + this.analysis = new ArrayList(); + this.analysis.add(t); + return t; + } + + public GenomicStudy addAnalysis(GenomicStudyAnalysisComponent t) { //3 + if (t == null) + return this; + if (this.analysis == null) + this.analysis = new ArrayList(); + this.analysis.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #analysis}, creating it if it does not already exist {3} + */ + public GenomicStudyAnalysisComponent getAnalysisFirstRep() { + if (getAnalysis().isEmpty()) { + addAnalysis(); + } + return getAnalysis().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("identifier", "Identifier", "Identifiers for this genomic study.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("status", "CodeableConcept", "The status of the genomic study.", 0, 1, status)); + children.add(new Property("type", "CodeableConcept", "The type of the study, e.g., Familial variant segregation, Functional variation detection, or Gene expression profiling.", 0, java.lang.Integer.MAX_VALUE, type)); + children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "The primary subject of the genomic study.", 0, 1, subject)); + children.add(new Property("encounter", "Reference(Encounter)", "The healthcare event with which this genomics study is associated.", 0, 1, encounter)); + children.add(new Property("startDate", "dateTime", "When the genomic study was started.", 0, 1, startDate)); + children.add(new Property("basedOn", "Reference(ServiceRequest|Task)", "Event resources that the genomic study is based on.", 0, java.lang.Integer.MAX_VALUE, basedOn)); + children.add(new Property("referrer", "Reference(Practitioner|PractitionerRole)", "Healthcare professional who requested or referred the genomic study.", 0, 1, referrer)); + children.add(new Property("interpreter", "Reference(Practitioner|PractitionerRole)", "Healthcare professionals who interpreted the genomic study.", 0, java.lang.Integer.MAX_VALUE, interpreter)); + children.add(new Property("reason", "CodeableReference(Condition|Observation)", "Why the genomic study was performed.", 0, java.lang.Integer.MAX_VALUE, reason)); + children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition)", "The defined protocol that describes the study.", 0, 1, instantiatesCanonical)); + children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol that describes the study.", 0, 1, instantiatesUri)); + children.add(new Property("note", "Annotation", "Comments related to the genomic study.", 0, java.lang.Integer.MAX_VALUE, note)); + children.add(new Property("description", "string", "Description of the genomic study.", 0, 1, description)); + children.add(new Property("analysis", "", "The details about a specific analysis that was performed in this GenomicStudy.", 0, java.lang.Integer.MAX_VALUE, analysis)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers for this genomic study.", 0, java.lang.Integer.MAX_VALUE, identifier); + case -892481550: /*status*/ return new Property("status", "CodeableConcept", "The status of the genomic study.", 0, 1, status); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of the study, e.g., Familial variant segregation, Functional variation detection, or Gene expression profiling.", 0, java.lang.Integer.MAX_VALUE, type); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "The primary subject of the genomic study.", 0, 1, subject); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The healthcare event with which this genomics study is associated.", 0, 1, encounter); + case -2129778896: /*startDate*/ return new Property("startDate", "dateTime", "When the genomic study was started.", 0, 1, startDate); + case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(ServiceRequest|Task)", "Event resources that the genomic study is based on.", 0, java.lang.Integer.MAX_VALUE, basedOn); + case -722568161: /*referrer*/ return new Property("referrer", "Reference(Practitioner|PractitionerRole)", "Healthcare professional who requested or referred the genomic study.", 0, 1, referrer); + case -2008009094: /*interpreter*/ return new Property("interpreter", "Reference(Practitioner|PractitionerRole)", "Healthcare professionals who interpreted the genomic study.", 0, java.lang.Integer.MAX_VALUE, interpreter); + case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation)", "Why the genomic study was performed.", 0, java.lang.Integer.MAX_VALUE, reason); + case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition)", "The defined protocol that describes the study.", 0, 1, instantiatesCanonical); + case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol that describes the study.", 0, 1, instantiatesUri); + case 3387378: /*note*/ return new Property("note", "Annotation", "Comments related to the genomic study.", 0, java.lang.Integer.MAX_VALUE, note); + case -1724546052: /*description*/ return new Property("description", "string", "Description of the genomic study.", 0, 1, description); + case -1024445732: /*analysis*/ return new Property("analysis", "", "The details about a specific analysis that was performed in this GenomicStudy.", 0, java.lang.Integer.MAX_VALUE, analysis); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeableConcept + case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference + case -2129778896: /*startDate*/ return this.startDate == null ? new Base[0] : new Base[] {this.startDate}; // DateTimeType + case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference + case -722568161: /*referrer*/ return this.referrer == null ? new Base[0] : new Base[] {this.referrer}; // Reference + case -2008009094: /*interpreter*/ return this.interpreter == null ? new Base[0] : this.interpreter.toArray(new Base[this.interpreter.size()]); // Reference + case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference + case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : new Base[] {this.instantiatesCanonical}; // CanonicalType + case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : new Base[] {this.instantiatesUri}; // UriType + case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType + case -1024445732: /*analysis*/ return this.analysis == null ? new Base[0] : this.analysis.toArray(new Base[this.analysis.size()]); // GenomicStudyAnalysisComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; + case -892481550: // status + this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 3575610: // type + this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1867885268: // subject + this.subject = TypeConvertor.castToReference(value); // Reference + return value; + case 1524132147: // encounter + this.encounter = TypeConvertor.castToReference(value); // Reference + return value; + case -2129778896: // startDate + this.startDate = TypeConvertor.castToDateTime(value); // DateTimeType + return value; + case -332612366: // basedOn + this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -722568161: // referrer + this.referrer = TypeConvertor.castToReference(value); // Reference + return value; + case -2008009094: // interpreter + this.getInterpreter().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -934964668: // reason + this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + case 8911915: // instantiatesCanonical + this.instantiatesCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + return value; + case -1926393373: // instantiatesUri + this.instantiatesUri = TypeConvertor.castToUri(value); // UriType + return value; + case 3387378: // note + this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation + return value; + case -1724546052: // description + this.description = TypeConvertor.castToString(value); // StringType + return value; + case -1024445732: // analysis + this.getAnalysis().add((GenomicStudyAnalysisComponent) value); // GenomicStudyAnalysisComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("status")) { + this.status = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("type")) { + this.getType().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("subject")) { + this.subject = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("encounter")) { + this.encounter = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("startDate")) { + this.startDate = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("basedOn")) { + this.getBasedOn().add(TypeConvertor.castToReference(value)); + } else if (name.equals("referrer")) { + this.referrer = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("interpreter")) { + this.getInterpreter().add(TypeConvertor.castToReference(value)); + } else if (name.equals("reason")) { + this.getReason().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("instantiatesCanonical")) { + this.instantiatesCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + } else if (name.equals("instantiatesUri")) { + this.instantiatesUri = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("note")) { + this.getNote().add(TypeConvertor.castToAnnotation(value)); + } else if (name.equals("description")) { + this.description = TypeConvertor.castToString(value); // StringType + } else if (name.equals("analysis")) { + this.getAnalysis().add((GenomicStudyAnalysisComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: return addIdentifier(); + case -892481550: return getStatus(); + case 3575610: return addType(); + case -1867885268: return getSubject(); + case 1524132147: return getEncounter(); + case -2129778896: return getStartDateElement(); + case -332612366: return addBasedOn(); + case -722568161: return getReferrer(); + case -2008009094: return addInterpreter(); + case -934964668: return addReason(); + case 8911915: return getInstantiatesCanonicalElement(); + case -1926393373: return getInstantiatesUriElement(); + case 3387378: return addNote(); + case -1724546052: return getDescriptionElement(); + case -1024445732: return addAnalysis(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case -892481550: /*status*/ return new String[] {"CodeableConcept"}; + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case -1867885268: /*subject*/ return new String[] {"Reference"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -2129778896: /*startDate*/ return new String[] {"dateTime"}; + case -332612366: /*basedOn*/ return new String[] {"Reference"}; + case -722568161: /*referrer*/ return new String[] {"Reference"}; + case -2008009094: /*interpreter*/ return new String[] {"Reference"}; + case -934964668: /*reason*/ return new String[] {"CodeableReference"}; + case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; + case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; + case 3387378: /*note*/ return new String[] {"Annotation"}; + case -1724546052: /*description*/ return new String[] {"string"}; + case -1024445732: /*analysis*/ return new String[] {}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("identifier")) { + return addIdentifier(); + } + else if (name.equals("status")) { + this.status = new CodeableConcept(); + return this.status; + } + else if (name.equals("type")) { + return addType(); + } + else if (name.equals("subject")) { + this.subject = new Reference(); + return this.subject; + } + else if (name.equals("encounter")) { + this.encounter = new Reference(); + return this.encounter; + } + else if (name.equals("startDate")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.startDate"); + } + else if (name.equals("basedOn")) { + return addBasedOn(); + } + else if (name.equals("referrer")) { + this.referrer = new Reference(); + return this.referrer; + } + else if (name.equals("interpreter")) { + return addInterpreter(); + } + else if (name.equals("reason")) { + return addReason(); + } + else if (name.equals("instantiatesCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.instantiatesCanonical"); + } + else if (name.equals("instantiatesUri")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.instantiatesUri"); + } + else if (name.equals("note")) { + return addNote(); + } + else if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type GenomicStudy.description"); + } + else if (name.equals("analysis")) { + return addAnalysis(); + } + else + return super.addChild(name); + } + + public String fhirType() { + return "GenomicStudy"; + + } + + public GenomicStudy copy() { + GenomicStudy dst = new GenomicStudy(); + copyValues(dst); + return dst; + } + + public void copyValues(GenomicStudy dst) { + super.copyValues(dst); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; + dst.status = status == null ? null : status.copy(); + if (type != null) { + dst.type = new ArrayList(); + for (CodeableConcept i : type) + dst.type.add(i.copy()); + }; + dst.subject = subject == null ? null : subject.copy(); + dst.encounter = encounter == null ? null : encounter.copy(); + dst.startDate = startDate == null ? null : startDate.copy(); + if (basedOn != null) { + dst.basedOn = new ArrayList(); + for (Reference i : basedOn) + dst.basedOn.add(i.copy()); + }; + dst.referrer = referrer == null ? null : referrer.copy(); + if (interpreter != null) { + dst.interpreter = new ArrayList(); + for (Reference i : interpreter) + dst.interpreter.add(i.copy()); + }; + if (reason != null) { + dst.reason = new ArrayList(); + for (CodeableReference i : reason) + dst.reason.add(i.copy()); + }; + dst.instantiatesCanonical = instantiatesCanonical == null ? null : instantiatesCanonical.copy(); + dst.instantiatesUri = instantiatesUri == null ? null : instantiatesUri.copy(); + if (note != null) { + dst.note = new ArrayList(); + for (Annotation i : note) + dst.note.add(i.copy()); + }; + dst.description = description == null ? null : description.copy(); + if (analysis != null) { + dst.analysis = new ArrayList(); + for (GenomicStudyAnalysisComponent i : analysis) + dst.analysis.add(i.copy()); + }; + } + + protected GenomicStudy typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof GenomicStudy)) + return false; + GenomicStudy o = (GenomicStudy) other_; + return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) + && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) && compareDeep(startDate, o.startDate, true) + && compareDeep(basedOn, o.basedOn, true) && compareDeep(referrer, o.referrer, true) && compareDeep(interpreter, o.interpreter, true) + && compareDeep(reason, o.reason, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) + && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(note, o.note, true) && compareDeep(description, o.description, true) + && compareDeep(analysis, o.analysis, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof GenomicStudy)) + return false; + GenomicStudy o = (GenomicStudy) other_; + return compareValues(startDate, o.startDate, true) && compareValues(instantiatesCanonical, o.instantiatesCanonical, true) + && compareValues(instantiatesUri, o.instantiatesUri, true) && compareValues(description, o.description, true) + ; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type + , subject, encounter, startDate, basedOn, referrer, interpreter, reason, instantiatesCanonical + , instantiatesUri, note, description, analysis); + } + + @Override + public ResourceType getResourceType() { + return ResourceType.GenomicStudy; + } + + /** + * Search parameter: analysis-patient + *

+ * Description: Who the analysis is about
+ * Type: reference
+ * Path: GenomicStudy.analysis.subject.where(resolve() is Patient)
+ *

+ */ + @SearchParamDefinition(name="analysis-patient", path="GenomicStudy.analysis.subject.where(resolve() is Patient)", description="Who the analysis is about", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) + public static final String SP_ANALYSIS_PATIENT = "analysis-patient"; + /** + * Fluent Client search parameter constant for analysis-patient + *

+ * Description: Who the analysis is about
+ * Type: reference
+ * Path: GenomicStudy.analysis.subject.where(resolve() is Patient)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ANALYSIS_PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ANALYSIS_PATIENT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "GenomicStudy:analysis-patient". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_ANALYSIS_PATIENT = new ca.uhn.fhir.model.api.Include("GenomicStudy:analysis-patient").toLocked(); + + /** + * Search parameter: analysis-subject + *

+ * Description: Who the analysis is about
+ * Type: reference
+ * Path: GenomicStudy.analysis.subject
+ *

+ */ + @SearchParamDefinition(name="analysis-subject", path="GenomicStudy.analysis.subject", description="Who the analysis is about", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) + public static final String SP_ANALYSIS_SUBJECT = "analysis-subject"; + /** + * Fluent Client search parameter constant for analysis-subject + *

+ * Description: Who the analysis is about
+ * Type: reference
+ * Path: GenomicStudy.analysis.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ANALYSIS_SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ANALYSIS_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "GenomicStudy:analysis-subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_ANALYSIS_SUBJECT = new ca.uhn.fhir.model.api.Include("GenomicStudy:analysis-subject").toLocked(); + + /** + * Search parameter: identifier + *

+ * Description: Identifiers for the Study
+ * Type: token
+ * Path: GenomicStudy.identifier
+ *

+ */ + @SearchParamDefinition(name="identifier", path="GenomicStudy.identifier", description="Identifiers for the Study", type="token" ) + public static final String SP_IDENTIFIER = "identifier"; + /** + * Fluent Client search parameter constant for identifier + *

+ * Description: Identifiers for the Study
+ * Type: token
+ * Path: GenomicStudy.identifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + + /** + * Search parameter: patient + *

+ * Description: Who the study is about
+ * Type: reference
+ * Path: GenomicStudy.subject.where(resolve() is Patient)
+ *

+ */ + @SearchParamDefinition(name="patient", path="GenomicStudy.subject.where(resolve() is Patient)", description="Who the study is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) + public static final String SP_PATIENT = "patient"; + /** + * Fluent Client search parameter constant for patient + *

+ * Description: Who the study is about
+ * Type: reference
+ * Path: GenomicStudy.subject.where(resolve() is Patient)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "GenomicStudy:patient". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("GenomicStudy:patient").toLocked(); + + /** + * Search parameter: status + *

+ * Description: The status of the study
+ * Type: token
+ * Path: GenomicStudy.status
+ *

+ */ + @SearchParamDefinition(name="status", path="GenomicStudy.status", description="The status of the study", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The status of the study
+ * Type: token
+ * Path: GenomicStudy.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + + /** + * Search parameter: subject + *

+ * Description: Who the study is about
+ * Type: reference
+ * Path: GenomicStudy.subject
+ *

+ */ + @SearchParamDefinition(name="subject", path="GenomicStudy.subject", description="Who the study is about", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) + public static final String SP_SUBJECT = "subject"; + /** + * Fluent Client search parameter constant for subject + *

+ * Description: Who the study is about
+ * Type: reference
+ * Path: GenomicStudy.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "GenomicStudy:subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("GenomicStudy:subject").toLocked(); + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Goal.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Goal.java index 5285a28f0..afdc780ad 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Goal.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Goal.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2140,7 +2140,7 @@ public class Goal extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2149,10 +2149,10 @@ public class Goal extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2184,7 +2184,7 @@ public class Goal extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2193,7 +2193,7 @@ public class Goal extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GraphDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GraphDefinition.java index c1dca3dcf..a75313f45 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GraphDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GraphDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -280,10 +280,10 @@ public class GraphDefinition extends CanonicalResource { @Block() public static class GraphDefinitionLinkComponent extends BackboneElement implements IBaseBackboneElement { /** - * A FHIR expression that identifies one of FHIR References to other resources. + * A FHIRPath expression that identifies one of FHIR References to other resources. */ @Child(name = "path", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Path in the resource that contains the link", formalDefinition="A FHIR expression that identifies one of FHIR References to other resources." ) + @Description(shortDefinition="Path in the resource that contains the link", formalDefinition="A FHIRPath expression that identifies one of FHIR References to other resources." ) protected StringType path; /** @@ -331,7 +331,7 @@ public class GraphDefinition extends CanonicalResource { } /** - * @return {@link #path} (A FHIR expression that identifies one of FHIR References to other resources.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value + * @return {@link #path} (A FHIRPath expression that identifies one of FHIR References to other resources.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value */ public StringType getPathElement() { if (this.path == null) @@ -351,7 +351,7 @@ public class GraphDefinition extends CanonicalResource { } /** - * @param value {@link #path} (A FHIR expression that identifies one of FHIR References to other resources.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value + * @param value {@link #path} (A FHIRPath expression that identifies one of FHIR References to other resources.). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value */ public GraphDefinitionLinkComponent setPathElement(StringType value) { this.path = value; @@ -359,14 +359,14 @@ public class GraphDefinition extends CanonicalResource { } /** - * @return A FHIR expression that identifies one of FHIR References to other resources. + * @return A FHIRPath expression that identifies one of FHIR References to other resources. */ public String getPath() { return this.path == null ? null : this.path.getValue(); } /** - * @param value A FHIR expression that identifies one of FHIR References to other resources. + * @param value A FHIRPath expression that identifies one of FHIR References to other resources. */ public GraphDefinitionLinkComponent setPath(String value) { if (Utilities.noString(value)) @@ -626,7 +626,7 @@ public class GraphDefinition extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("path", "string", "A FHIR expression that identifies one of FHIR References to other resources.", 0, 1, path)); + children.add(new Property("path", "string", "A FHIRPath expression that identifies one of FHIR References to other resources.", 0, 1, path)); children.add(new Property("sliceName", "string", "Which slice (if profiled).", 0, 1, sliceName)); children.add(new Property("min", "integer", "Minimum occurrences for this link.", 0, 1, min)); children.add(new Property("max", "string", "Maximum occurrences for this link.", 0, 1, max)); @@ -637,7 +637,7 @@ public class GraphDefinition extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3433509: /*path*/ return new Property("path", "string", "A FHIR expression that identifies one of FHIR References to other resources.", 0, 1, path); + case 3433509: /*path*/ return new Property("path", "string", "A FHIRPath expression that identifies one of FHIR References to other resources.", 0, 1, path); case -825289923: /*sliceName*/ return new Property("sliceName", "string", "Which slice (if profiled).", 0, 1, sliceName); case 108114: /*min*/ return new Property("min", "integer", "Minimum occurrences for this link.", 0, 1, min); case 107876: /*max*/ return new Property("max", "string", "Maximum occurrences for this link.", 0, 1, max); @@ -821,8 +821,8 @@ public class GraphDefinition extends CanonicalResource { */ @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Type of resource this link refers to", formalDefinition="Type of resource this link refers to." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") - protected CodeType type; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-resource-types") + protected Enumeration type; /** * A set of parameters to look up. @@ -852,7 +852,7 @@ public class GraphDefinition extends CanonicalResource { @Description(shortDefinition="Additional links from target resource", formalDefinition="Additional links from target resource." ) protected List link; - private static final long serialVersionUID = -35248998L; + private static final long serialVersionUID = 1399881390L; /** * Constructor @@ -864,7 +864,7 @@ public class GraphDefinition extends CanonicalResource { /** * Constructor */ - public GraphDefinitionLinkTargetComponent(String type) { + public GraphDefinitionLinkTargetComponent(AllResourceTypes type) { super(); this.setType(type); } @@ -872,12 +872,12 @@ public class GraphDefinition extends CanonicalResource { /** * @return {@link #type} (Type of resource this link refers to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public CodeType getTypeElement() { + public Enumeration getTypeElement() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create GraphDefinitionLinkTargetComponent.type"); else if (Configuration.doAutoCreate()) - this.type = new CodeType(); // bb + this.type = new Enumeration(new AllResourceTypesEnumFactory()); // bb return this.type; } @@ -892,7 +892,7 @@ public class GraphDefinition extends CanonicalResource { /** * @param value {@link #type} (Type of resource this link refers to.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public GraphDefinitionLinkTargetComponent setTypeElement(CodeType value) { + public GraphDefinitionLinkTargetComponent setTypeElement(Enumeration value) { this.type = value; return this; } @@ -900,16 +900,16 @@ public class GraphDefinition extends CanonicalResource { /** * @return Type of resource this link refers to. */ - public String getType() { + public AllResourceTypes getType() { return this.type == null ? null : this.type.getValue(); } /** * @param value Type of resource this link refers to. */ - public GraphDefinitionLinkTargetComponent setType(String value) { + public GraphDefinitionLinkTargetComponent setType(AllResourceTypes value) { if (this.type == null) - this.type = new CodeType(); + this.type = new Enumeration(new AllResourceTypesEnumFactory()); this.type.setValue(value); return this; } @@ -1143,7 +1143,7 @@ public class GraphDefinition extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration case -995427962: /*params*/ return this.params == null ? new Base[0] : new Base[] {this.params}; // StringType case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType case -397756334: /*compartment*/ return this.compartment == null ? new Base[0] : this.compartment.toArray(new Base[this.compartment.size()]); // GraphDefinitionLinkTargetCompartmentComponent @@ -1157,7 +1157,8 @@ public class GraphDefinition extends CanonicalResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3575610: // type - this.type = TypeConvertor.castToCode(value); // CodeType + value = new AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration return value; case -995427962: // params this.params = TypeConvertor.castToString(value); // StringType @@ -1179,7 +1180,8 @@ public class GraphDefinition extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("type")) { - this.type = TypeConvertor.castToCode(value); // CodeType + value = new AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration } else if (name.equals("params")) { this.params = TypeConvertor.castToString(value); // StringType } else if (name.equals("profile")) { @@ -1769,10 +1771,10 @@ public class GraphDefinition extends CanonicalResource { } /** - * An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers. + * An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this graph definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this graph definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers." ) protected UriType url; /** @@ -1782,17 +1784,32 @@ public class GraphDefinition extends CanonicalResource { @Description(shortDefinition="Business version of the graph definition", formalDefinition="The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this graph definition (computer friendly)", formalDefinition="A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; + /** + * A short, descriptive, user-friendly title for the capability statement. + */ + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this graph definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the capability statement." ) + protected StringType title; + /** * The status of this graph definition. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this graph definition. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -1800,49 +1817,49 @@ public class GraphDefinition extends CanonicalResource { /** * A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the graph definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the graph definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the graph definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition. */ - @Child(name = "publisher", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the graph definition." ) + @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the graph definition from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the graph definition", formalDefinition="A free text natural language description of the graph definition from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate graph definition instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate graph definition instances." ) protected List useContext; /** * A legal or geographic region in which the graph definition is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for graph definition (if applicable)", formalDefinition="A legal or geographic region in which the graph definition is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -1850,14 +1867,14 @@ public class GraphDefinition extends CanonicalResource { /** * Explanation of why this graph definition is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this graph definition is defined", formalDefinition="Explanation of why this graph definition is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** * The type of FHIR resource at which instances of this graph start. */ - @Child(name = "start", type = {CodeType.class}, order=12, min=1, max=1, modifier=false, summary=true) + @Child(name = "start", type = {CodeType.class}, order=14, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Type of resource at which the graph starts", formalDefinition="The type of FHIR resource at which instances of this graph start." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") protected CodeType start; @@ -1865,18 +1882,18 @@ public class GraphDefinition extends CanonicalResource { /** * The profile that describes the use of the base resource. */ - @Child(name = "profile", type = {CanonicalType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "profile", type = {CanonicalType.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Profile on base resource", formalDefinition="The profile that describes the use of the base resource." ) protected CanonicalType profile; /** * Links this graph makes rules about. */ - @Child(name = "link", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "link", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Links this graph makes rules about", formalDefinition="Links this graph makes rules about." ) protected List link; - private static final long serialVersionUID = -1567569412L; + private static final long serialVersionUID = -805640264L; /** * Constructor @@ -1896,7 +1913,7 @@ public class GraphDefinition extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1916,7 +1933,7 @@ public class GraphDefinition extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public GraphDefinition setUrlElement(UriType value) { this.url = value; @@ -1924,14 +1941,14 @@ public class GraphDefinition extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers. + * @return An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers. + * @param value An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers. */ public GraphDefinition setUrl(String value) { if (Utilities.noString(value)) @@ -1993,6 +2010,57 @@ public class GraphDefinition extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public GraphDefinition setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for GraphDefinition.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -2038,6 +2106,55 @@ public class GraphDefinition extends CanonicalResource { return this; } + /** + * @return {@link #title} (A short, descriptive, user-friendly title for the capability statement.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create GraphDefinition.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A short, descriptive, user-friendly title for the capability statement.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public GraphDefinition setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A short, descriptive, user-friendly title for the capability statement. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A short, descriptive, user-friendly title for the capability statement. + */ + public GraphDefinition setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + /** * @return {@link #status} (The status of this graph definition. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ @@ -2178,7 +2295,7 @@ public class GraphDefinition extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -2198,7 +2315,7 @@ public class GraphDefinition extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public GraphDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -2206,14 +2323,14 @@ public class GraphDefinition extends CanonicalResource { } /** - * @return The name of the organization or individual that published the graph definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the graph definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition. */ public GraphDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -2647,59 +2764,23 @@ public class GraphDefinition extends CanonicalResource { * @return Returns a reference to this for easy method chaining */ public GraphDefinition setIdentifier(List theIdentifier) { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); } public boolean hasIdentifier() { return false; } public Identifier addIdentifier() { //3 - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); } public GraphDefinition addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); } /** * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} */ public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); - } - /** - * not supported on this implementation - */ - @Override - public int getTitleMax() { - return 0; - } - /** - * @return {@link #title} (A short, descriptive, user-friendly title for the graph definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public StringType getTitleElement() { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"title\""); - } - - public boolean hasTitleElement() { - return false; - } - public boolean hasTitle() { - return false; - } - - /** - * @param value {@link #title} (A short, descriptive, user-friendly title for the graph definition.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value - */ - public GraphDefinition setTitleElement(StringType value) { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"title\""); - } - public String getTitle() { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"title\""); - } - /** - * @param value A short, descriptive, user-friendly title for the graph definition. - */ - public GraphDefinition setTitle(String value) { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"title\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"identifier\""); } /** * not supported on this implementation @@ -2726,26 +2807,64 @@ public class GraphDefinition extends CanonicalResource { * @param value {@link #copyright} (A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public GraphDefinition setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); } public String getCopyright() { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); } /** * @param value A copyright statement relating to the graph definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the graph definition. */ public GraphDefinition setCopyright(String value) { - throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyright\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public GraphDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public GraphDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"GraphDefinition\" does not implement the property \"copyrightLabel\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.", 0, 1, url)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); + children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title)); children.add(new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the graph definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the graph definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate graph definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -2759,13 +2878,18 @@ public class GraphDefinition extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this graph definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this graph definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the graph definition is stored on different servers.", 0, 1, url); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the graph definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the graph definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the graph definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); + case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the capability statement.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this graph definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this graph definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the graph definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the graph definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the graph definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the graph definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the graph definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate graph definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -2784,7 +2908,9 @@ public class GraphDefinition extends CanonicalResource { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType @@ -2811,9 +2937,15 @@ public class GraphDefinition extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; case -892481550: // status value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -2862,8 +2994,12 @@ public class GraphDefinition extends CanonicalResource { this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("status")) { value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -2899,7 +3035,10 @@ public class GraphDefinition extends CanonicalResource { switch (hash) { case 116079: return getUrlElement(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); + case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); case -404562712: return getExperimentalElement(); case 3076014: return getDateElement(); @@ -2922,7 +3061,9 @@ public class GraphDefinition extends CanonicalResource { switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; case -404562712: /*experimental*/ return new String[] {"boolean"}; case 3076014: /*date*/ return new String[] {"dateTime"}; @@ -2948,9 +3089,20 @@ public class GraphDefinition extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.name"); } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.title"); + } else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type GraphDefinition.status"); } @@ -3006,7 +3158,9 @@ public class GraphDefinition extends CanonicalResource { super.copyValues(dst); dst.url = url == null ? null : url.copy(); dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); dst.experimental = experimental == null ? null : experimental.copy(); dst.date = date == null ? null : date.copy(); @@ -3048,12 +3202,12 @@ public class GraphDefinition extends CanonicalResource { if (!(other_ instanceof GraphDefinition)) return false; GraphDefinition o = (GraphDefinition) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) - && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) - && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) - && compareDeep(purpose, o.purpose, true) && compareDeep(start, o.start, true) && compareDeep(profile, o.profile, true) - && compareDeep(link, o.link, true); + return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(start, o.start, true) + && compareDeep(profile, o.profile, true) && compareDeep(link, o.link, true); } @Override @@ -3064,15 +3218,16 @@ public class GraphDefinition extends CanonicalResource { return false; GraphDefinition o = (GraphDefinition) other_; return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) - && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) - && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) - && compareValues(start, o.start, true) && compareValues(profile, o.profile, true); + && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) + && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(start, o.start, true) && compareValues(profile, o.profile, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, status - , experimental, date, publisher, contact, description, useContext, jurisdiction - , purpose, start, profile, link); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm + , name, title, status, experimental, date, publisher, contact, description, useContext + , jurisdiction, purpose, start, profile, link); } @Override @@ -3678,7 +3833,7 @@ public class GraphDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -3694,7 +3849,7 @@ public class GraphDefinition extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -3704,7 +3859,7 @@ public class GraphDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Group.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Group.java index fbcd0bd4e..ffe5b6a57 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Group.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Group.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,6 +53,102 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="Group", profile="http://hl7.org/fhir/StructureDefinition/Group") public class Group extends DomainResource { + public enum GroupMembershipBasis { + /** + * The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete. + */ + DEFINITIONAL, + /** + * The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member. + */ + ENUMERATED, + /** + * added to help the parsers with the generic types + */ + NULL; + public static GroupMembershipBasis fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("definitional".equals(codeString)) + return DEFINITIONAL; + if ("enumerated".equals(codeString)) + return ENUMERATED; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown GroupMembershipBasis code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case DEFINITIONAL: return "definitional"; + case ENUMERATED: return "enumerated"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case DEFINITIONAL: return "http://hl7.org/fhir/group-membership-basis"; + case ENUMERATED: return "http://hl7.org/fhir/group-membership-basis"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case DEFINITIONAL: return "The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete."; + case ENUMERATED: return "The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case DEFINITIONAL: return "Definitional"; + case ENUMERATED: return "Enumerated"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class GroupMembershipBasisEnumFactory implements EnumFactory { + public GroupMembershipBasis fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("definitional".equals(codeString)) + return GroupMembershipBasis.DEFINITIONAL; + if ("enumerated".equals(codeString)) + return GroupMembershipBasis.ENUMERATED; + throw new IllegalArgumentException("Unknown GroupMembershipBasis code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("definitional".equals(codeString)) + return new Enumeration(this, GroupMembershipBasis.DEFINITIONAL); + if ("enumerated".equals(codeString)) + return new Enumeration(this, GroupMembershipBasis.ENUMERATED); + throw new FHIRException("Unknown GroupMembershipBasis code '"+codeString+"'"); + } + public String toCode(GroupMembershipBasis code) { + if (code == GroupMembershipBasis.DEFINITIONAL) + return "definitional"; + if (code == GroupMembershipBasis.ENUMERATED) + return "enumerated"; + return "?"; + } + public String toSystem(GroupMembershipBasis code) { + return code.getSystem(); + } + } + public enum GroupType { /** * Group contains \"person\" Patient resources. @@ -71,13 +167,29 @@ public class Group extends DomainResource { */ DEVICE, /** - * Group contains Medication resources. + * Group contains CareTeam resources. */ - MEDICATION, + CARETEAM, /** - * Group contains Substance resources. + * Group contains HealthcareService resources. */ - SUBSTANCE, + HEALTHCARESERVICE, + /** + * Group contains Location resources. + */ + LOCATION, + /** + * Group contains Organization resources. + */ + ORGANIZATION, + /** + * Group contains RelatedPerson resources. + */ + RELATEDPERSON, + /** + * Group contains Specimen resources. + */ + SPECIMEN, /** * added to help the parsers with the generic types */ @@ -93,10 +205,18 @@ public class Group extends DomainResource { return PRACTITIONER; if ("device".equals(codeString)) return DEVICE; - if ("medication".equals(codeString)) - return MEDICATION; - if ("substance".equals(codeString)) - return SUBSTANCE; + if ("careteam".equals(codeString)) + return CARETEAM; + if ("healthcareservice".equals(codeString)) + return HEALTHCARESERVICE; + if ("location".equals(codeString)) + return LOCATION; + if ("organization".equals(codeString)) + return ORGANIZATION; + if ("relatedperson".equals(codeString)) + return RELATEDPERSON; + if ("specimen".equals(codeString)) + return SPECIMEN; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -108,8 +228,12 @@ public class Group extends DomainResource { case ANIMAL: return "animal"; case PRACTITIONER: return "practitioner"; case DEVICE: return "device"; - case MEDICATION: return "medication"; - case SUBSTANCE: return "substance"; + case CARETEAM: return "careteam"; + case HEALTHCARESERVICE: return "healthcareservice"; + case LOCATION: return "location"; + case ORGANIZATION: return "organization"; + case RELATEDPERSON: return "relatedperson"; + case SPECIMEN: return "specimen"; case NULL: return null; default: return "?"; } @@ -120,8 +244,12 @@ public class Group extends DomainResource { case ANIMAL: return "http://hl7.org/fhir/group-type"; case PRACTITIONER: return "http://hl7.org/fhir/group-type"; case DEVICE: return "http://hl7.org/fhir/group-type"; - case MEDICATION: return "http://hl7.org/fhir/group-type"; - case SUBSTANCE: return "http://hl7.org/fhir/group-type"; + case CARETEAM: return "http://hl7.org/fhir/group-type"; + case HEALTHCARESERVICE: return "http://hl7.org/fhir/group-type"; + case LOCATION: return "http://hl7.org/fhir/group-type"; + case ORGANIZATION: return "http://hl7.org/fhir/group-type"; + case RELATEDPERSON: return "http://hl7.org/fhir/group-type"; + case SPECIMEN: return "http://hl7.org/fhir/group-type"; case NULL: return null; default: return "?"; } @@ -132,8 +260,12 @@ public class Group extends DomainResource { case ANIMAL: return "Group contains \"animal\" Patient resources."; case PRACTITIONER: return "Group contains healthcare practitioner resources (Practitioner or PractitionerRole)."; case DEVICE: return "Group contains Device resources."; - case MEDICATION: return "Group contains Medication resources."; - case SUBSTANCE: return "Group contains Substance resources."; + case CARETEAM: return "Group contains CareTeam resources."; + case HEALTHCARESERVICE: return "Group contains HealthcareService resources."; + case LOCATION: return "Group contains Location resources."; + case ORGANIZATION: return "Group contains Organization resources."; + case RELATEDPERSON: return "Group contains RelatedPerson resources."; + case SPECIMEN: return "Group contains Specimen resources."; case NULL: return null; default: return "?"; } @@ -144,8 +276,12 @@ public class Group extends DomainResource { case ANIMAL: return "Animal"; case PRACTITIONER: return "Practitioner"; case DEVICE: return "Device"; - case MEDICATION: return "Medication"; - case SUBSTANCE: return "Substance"; + case CARETEAM: return "CareTeam"; + case HEALTHCARESERVICE: return "HealthcareService"; + case LOCATION: return "Location"; + case ORGANIZATION: return "Organization"; + case RELATEDPERSON: return "RelatedPerson"; + case SPECIMEN: return "Specimen"; case NULL: return null; default: return "?"; } @@ -165,10 +301,18 @@ public class Group extends DomainResource { return GroupType.PRACTITIONER; if ("device".equals(codeString)) return GroupType.DEVICE; - if ("medication".equals(codeString)) - return GroupType.MEDICATION; - if ("substance".equals(codeString)) - return GroupType.SUBSTANCE; + if ("careteam".equals(codeString)) + return GroupType.CARETEAM; + if ("healthcareservice".equals(codeString)) + return GroupType.HEALTHCARESERVICE; + if ("location".equals(codeString)) + return GroupType.LOCATION; + if ("organization".equals(codeString)) + return GroupType.ORGANIZATION; + if ("relatedperson".equals(codeString)) + return GroupType.RELATEDPERSON; + if ("specimen".equals(codeString)) + return GroupType.SPECIMEN; throw new IllegalArgumentException("Unknown GroupType code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -187,10 +331,18 @@ public class Group extends DomainResource { return new Enumeration(this, GroupType.PRACTITIONER); if ("device".equals(codeString)) return new Enumeration(this, GroupType.DEVICE); - if ("medication".equals(codeString)) - return new Enumeration(this, GroupType.MEDICATION); - if ("substance".equals(codeString)) - return new Enumeration(this, GroupType.SUBSTANCE); + if ("careteam".equals(codeString)) + return new Enumeration(this, GroupType.CARETEAM); + if ("healthcareservice".equals(codeString)) + return new Enumeration(this, GroupType.HEALTHCARESERVICE); + if ("location".equals(codeString)) + return new Enumeration(this, GroupType.LOCATION); + if ("organization".equals(codeString)) + return new Enumeration(this, GroupType.ORGANIZATION); + if ("relatedperson".equals(codeString)) + return new Enumeration(this, GroupType.RELATEDPERSON); + if ("specimen".equals(codeString)) + return new Enumeration(this, GroupType.SPECIMEN); throw new FHIRException("Unknown GroupType code '"+codeString+"'"); } public String toCode(GroupType code) { @@ -202,10 +354,18 @@ public class Group extends DomainResource { return "practitioner"; if (code == GroupType.DEVICE) return "device"; - if (code == GroupType.MEDICATION) - return "medication"; - if (code == GroupType.SUBSTANCE) - return "substance"; + if (code == GroupType.CARETEAM) + return "careteam"; + if (code == GroupType.HEALTHCARESERVICE) + return "healthcareservice"; + if (code == GroupType.LOCATION) + return "location"; + if (code == GroupType.ORGANIZATION) + return "organization"; + if (code == GroupType.RELATEDPERSON) + return "relatedperson"; + if (code == GroupType.SPECIMEN) + return "specimen"; return "?"; } public String toSystem(GroupType code) { @@ -638,7 +798,7 @@ public class Group extends DomainResource { /** * A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same. */ - @Child(name = "entity", type = {Patient.class, Practitioner.class, PractitionerRole.class, Device.class, Group.class, RelatedPerson.class, Specimen.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Child(name = "entity", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Specimen.class}, order=1, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Reference to the group member", formalDefinition="A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same." ) protected Reference entity; @@ -768,7 +928,7 @@ public class Group extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("entity", "Reference(Patient|Practitioner|PractitionerRole|Device|Group|RelatedPerson|Specimen)", "A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same.", 0, 1, entity)); + children.add(new Property("entity", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen)", "A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same.", 0, 1, entity)); children.add(new Property("period", "Period", "The period that the member was in the group, if known.", 0, 1, period)); children.add(new Property("inactive", "boolean", "A flag to indicate that the member is no longer in the group, but previously may have been a member.", 0, 1, inactive)); } @@ -776,7 +936,7 @@ public class Group extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1298275357: /*entity*/ return new Property("entity", "Reference(Patient|Practitioner|PractitionerRole|Device|Group|RelatedPerson|Specimen)", "A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same.", 0, 1, entity); + case -1298275357: /*entity*/ return new Property("entity", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson|Specimen)", "A reference to the entity that is a member of the group. Must be consistent with Group.type. If the entity is another group, then the type must be the same.", 0, 1, entity); case -991726143: /*period*/ return new Property("period", "Period", "The period that the member was in the group, if known.", 0, 1, period); case 24665195: /*inactive*/ return new Property("inactive", "boolean", "A flag to indicate that the member is no longer in the group, but previously may have been a member.", 0, 1, inactive); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -928,16 +1088,20 @@ public class Group extends DomainResource { * Identifies the broad classification of the kind of resources the group includes. */ @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="person | animal | practitioner | device | medication | substance", formalDefinition="Identifies the broad classification of the kind of resources the group includes." ) + @Description(shortDefinition="person | animal | practitioner | device | careteam | healthcareservice | location | organization | relatedperson | specimen", formalDefinition="Identifies the broad classification of the kind of resources the group includes." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/group-type") protected Enumeration type; /** - * If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. + * Basis for membership in the Group: + +* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete. +* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member. */ - @Child(name = "actual", type = {BooleanType.class}, order=3, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Descriptive or actual", formalDefinition="If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals." ) - protected BooleanType actual; + @Child(name = "membership", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="definitional | enumerated", formalDefinition="Basis for membership in the Group:\n\n* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete.\n* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/group-membership-basis") + protected Enumeration membership; /** * Provides a specific type of resource the group includes; e.g. "cow", "syringe", etc. @@ -988,7 +1152,7 @@ public class Group extends DomainResource { @Description(shortDefinition="Who or what is in group", formalDefinition="Identifies the resource instances that are members of the group." ) protected List member; - private static final long serialVersionUID = -1476844328L; + private static final long serialVersionUID = -39542514L; /** * Constructor @@ -1000,10 +1164,10 @@ public class Group extends DomainResource { /** * Constructor */ - public Group(GroupType type, boolean actual) { + public Group(GroupType type, GroupMembershipBasis membership) { super(); this.setType(type); - this.setActual(actual); + this.setMembership(membership); } /** @@ -1150,47 +1314,59 @@ public class Group extends DomainResource { } /** - * @return {@link #actual} (If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value + * @return {@link #membership} (Basis for membership in the Group: + +* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete. +* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member.). This is the underlying object with id, value and extensions. The accessor "getMembership" gives direct access to the value */ - public BooleanType getActualElement() { - if (this.actual == null) + public Enumeration getMembershipElement() { + if (this.membership == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Group.actual"); + throw new Error("Attempt to auto-create Group.membership"); else if (Configuration.doAutoCreate()) - this.actual = new BooleanType(); // bb - return this.actual; + this.membership = new Enumeration(new GroupMembershipBasisEnumFactory()); // bb + return this.membership; } - public boolean hasActualElement() { - return this.actual != null && !this.actual.isEmpty(); + public boolean hasMembershipElement() { + return this.membership != null && !this.membership.isEmpty(); } - public boolean hasActual() { - return this.actual != null && !this.actual.isEmpty(); + public boolean hasMembership() { + return this.membership != null && !this.membership.isEmpty(); } /** - * @param value {@link #actual} (If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value + * @param value {@link #membership} (Basis for membership in the Group: + +* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete. +* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member.). This is the underlying object with id, value and extensions. The accessor "getMembership" gives direct access to the value */ - public Group setActualElement(BooleanType value) { - this.actual = value; + public Group setMembershipElement(Enumeration value) { + this.membership = value; return this; } /** - * @return If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. + * @return Basis for membership in the Group: + +* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete. +* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member. */ - public boolean getActual() { - return this.actual == null || this.actual.isEmpty() ? false : this.actual.getValue(); + public GroupMembershipBasis getMembership() { + return this.membership == null ? null : this.membership.getValue(); } /** - * @param value If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals. + * @param value Basis for membership in the Group: + +* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete. +* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member. */ - public Group setActual(boolean value) { - if (this.actual == null) - this.actual = new BooleanType(); - this.actual.setValue(value); + public Group setMembership(GroupMembershipBasis value) { + if (this.membership == null) + this.membership = new Enumeration(new GroupMembershipBasisEnumFactory()); + this.membership.setValue(value); return this; } @@ -1496,7 +1672,7 @@ public class Group extends DomainResource { children.add(new Property("identifier", "Identifier", "A unique business identifier for this group.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("active", "boolean", "Indicates whether the record for the group is available for use or is merely being retained for historical purposes.", 0, 1, active)); children.add(new Property("type", "code", "Identifies the broad classification of the kind of resources the group includes.", 0, 1, type)); - children.add(new Property("actual", "boolean", "If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.", 0, 1, actual)); + children.add(new Property("membership", "code", "Basis for membership in the Group:\n\n* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete.\n* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member.", 0, 1, membership)); children.add(new Property("code", "CodeableConcept", "Provides a specific type of resource the group includes; e.g. \"cow\", \"syringe\", etc.", 0, 1, code)); children.add(new Property("name", "string", "A label assigned to the group for human identification and communication.", 0, 1, name)); children.add(new Property("description", "markdown", "Explanation of what the group represents and how it is intended to be used.", 0, 1, description)); @@ -1512,7 +1688,7 @@ public class Group extends DomainResource { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique business identifier for this group.", 0, java.lang.Integer.MAX_VALUE, identifier); case -1422950650: /*active*/ return new Property("active", "boolean", "Indicates whether the record for the group is available for use or is merely being retained for historical purposes.", 0, 1, active); case 3575610: /*type*/ return new Property("type", "code", "Identifies the broad classification of the kind of resources the group includes.", 0, 1, type); - case -1422939762: /*actual*/ return new Property("actual", "boolean", "If true, indicates that the resource refers to a specific group of real individuals. If false, the group defines a set of intended individuals.", 0, 1, actual); + case -1340241962: /*membership*/ return new Property("membership", "code", "Basis for membership in the Group:\n\n* 'definitional': The Group.characteristics specified are both necessary and sufficient to determine membership. All entities that meet the criteria are considered to be members of the group, whether referenced by the group or not. If members are present, they are individuals that happen to be known as meeting the Group.characteristics. The list cannot be presumed to be complete.\n* 'enumerated': The Group.characteristics are necessary but not sufficient to determine membership. Membership is determined by being listed as one of the Group.member.", 0, 1, membership); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Provides a specific type of resource the group includes; e.g. \"cow\", \"syringe\", etc.", 0, 1, code); case 3373707: /*name*/ return new Property("name", "string", "A label assigned to the group for human identification and communication.", 0, 1, name); case -1724546052: /*description*/ return new Property("description", "markdown", "Explanation of what the group represents and how it is intended to be used.", 0, 1, description); @@ -1531,7 +1707,7 @@ public class Group extends DomainResource { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration - case -1422939762: /*actual*/ return this.actual == null ? new Base[0] : new Base[] {this.actual}; // BooleanType + case -1340241962: /*membership*/ return this.membership == null ? new Base[0] : new Base[] {this.membership}; // Enumeration case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType @@ -1557,8 +1733,9 @@ public class Group extends DomainResource { value = new GroupTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration return value; - case -1422939762: // actual - this.actual = TypeConvertor.castToBoolean(value); // BooleanType + case -1340241962: // membership + value = new GroupMembershipBasisEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.membership = (Enumeration) value; // Enumeration return value; case 3059181: // code this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -1595,8 +1772,9 @@ public class Group extends DomainResource { } else if (name.equals("type")) { value = new GroupTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration - } else if (name.equals("actual")) { - this.actual = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("membership")) { + value = new GroupMembershipBasisEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.membership = (Enumeration) value; // Enumeration } else if (name.equals("code")) { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("name")) { @@ -1622,7 +1800,7 @@ public class Group extends DomainResource { case -1618432855: return addIdentifier(); case -1422950650: return getActiveElement(); case 3575610: return getTypeElement(); - case -1422939762: return getActualElement(); + case -1340241962: return getMembershipElement(); case 3059181: return getCode(); case 3373707: return getNameElement(); case -1724546052: return getDescriptionElement(); @@ -1641,7 +1819,7 @@ public class Group extends DomainResource { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -1422950650: /*active*/ return new String[] {"boolean"}; case 3575610: /*type*/ return new String[] {"code"}; - case -1422939762: /*actual*/ return new String[] {"boolean"}; + case -1340241962: /*membership*/ return new String[] {"code"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case 3373707: /*name*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"markdown"}; @@ -1665,8 +1843,8 @@ public class Group extends DomainResource { else if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type Group.type"); } - else if (name.equals("actual")) { - throw new FHIRException("Cannot call addChild on a primitive type Group.actual"); + else if (name.equals("membership")) { + throw new FHIRException("Cannot call addChild on a primitive type Group.membership"); } else if (name.equals("code")) { this.code = new CodeableConcept(); @@ -1715,7 +1893,7 @@ public class Group extends DomainResource { }; dst.active = active == null ? null : active.copy(); dst.type = type == null ? null : type.copy(); - dst.actual = actual == null ? null : actual.copy(); + dst.membership = membership == null ? null : membership.copy(); dst.code = code == null ? null : code.copy(); dst.name = name == null ? null : name.copy(); dst.description = description == null ? null : description.copy(); @@ -1745,7 +1923,7 @@ public class Group extends DomainResource { return false; Group o = (Group) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(type, o.type, true) - && compareDeep(actual, o.actual, true) && compareDeep(code, o.code, true) && compareDeep(name, o.name, true) + && compareDeep(membership, o.membership, true) && compareDeep(code, o.code, true) && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(quantity, o.quantity, true) && compareDeep(managingEntity, o.managingEntity, true) && compareDeep(characteristic, o.characteristic, true) && compareDeep(member, o.member, true); } @@ -1757,15 +1935,15 @@ public class Group extends DomainResource { if (!(other_ instanceof Group)) return false; Group o = (Group) other_; - return compareValues(active, o.active, true) && compareValues(type, o.type, true) && compareValues(actual, o.actual, true) + return compareValues(active, o.active, true) && compareValues(type, o.type, true) && compareValues(membership, o.membership, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true) && compareValues(quantity, o.quantity, true) ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, type - , actual, code, name, description, quantity, managingEntity, characteristic, member - ); + , membership, code, name, description, quantity, managingEntity, characteristic + , member); } @Override @@ -1774,24 +1952,30 @@ public class Group extends DomainResource { } /** - * Search parameter: actual + * Search parameter: characteristic-reference *

- * Description: Descriptive or actual
- * Type: token
- * Path: Group.actual
+ * Description: An entity referenced in a characteristic
+ * Type: reference
+ * Path: (Group.characteristic.value as Reference)
*

*/ - @SearchParamDefinition(name="actual", path="Group.actual", description="Descriptive or actual", type="token" ) - public static final String SP_ACTUAL = "actual"; + @SearchParamDefinition(name="characteristic-reference", path="(Group.characteristic.value as Reference)", description="An entity referenced in a characteristic", type="reference" ) + public static final String SP_CHARACTERISTIC_REFERENCE = "characteristic-reference"; /** - * Fluent Client search parameter constant for actual + * Fluent Client search parameter constant for characteristic-reference *

- * Description: Descriptive or actual
- * Type: token
- * Path: Group.actual
+ * Description: An entity referenced in a characteristic
+ * Type: reference
+ * Path: (Group.characteristic.value as Reference)
*

*/ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam ACTUAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ACTUAL); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CHARACTERISTIC_REFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CHARACTERISTIC_REFERENCE); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Group:characteristic-reference". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_CHARACTERISTIC_REFERENCE = new ca.uhn.fhir.model.api.Include("Group:characteristic-reference").toLocked(); /** * Search parameter: characteristic-value @@ -1927,7 +2111,7 @@ public class Group extends DomainResource { * Path: Group.member.entity
*

*/ - @SearchParamDefinition(name="member", path="Group.member.entity", description="Reference to the group member", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Group.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Specimen.class } ) + @SearchParamDefinition(name="member", path="Group.member.entity", description="Reference to the group member", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Specimen.class } ) public static final String SP_MEMBER = "member"; /** * Fluent Client search parameter constant for member @@ -1945,6 +2129,46 @@ public class Group extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_MEMBER = new ca.uhn.fhir.model.api.Include("Group:member").toLocked(); + /** + * Search parameter: membership + *

+ * Description: Definitional or enumerated group
+ * Type: token
+ * Path: Group.membership
+ *

+ */ + @SearchParamDefinition(name="membership", path="Group.membership", description="Definitional or enumerated group", type="token" ) + public static final String SP_MEMBERSHIP = "membership"; + /** + * Fluent Client search parameter constant for membership + *

+ * Description: Definitional or enumerated group
+ * Type: token
+ * Path: Group.membership
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam MEMBERSHIP = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_MEMBERSHIP); + + /** + * Search parameter: name + *

+ * Description: A portion of the Group's name
+ * Type: string
+ * Path: Group.name
+ *

+ */ + @SearchParamDefinition(name="name", path="Group.name", description="A portion of the Group's name", type="string" ) + public static final String SP_NAME = "name"; + /** + * Fluent Client search parameter constant for name + *

+ * Description: A portion of the Group's name
+ * Type: string
+ * Path: Group.name
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); + /** * Search parameter: type *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GuidanceResponse.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GuidanceResponse.java index 8e3486a68..f0fb2f1b0 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GuidanceResponse.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/GuidanceResponse.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -302,7 +302,7 @@ public class GuidanceResponse extends DomainResource { /** * The actions, if any, produced by the evaluation of the artifact. */ - @Child(name = "result", type = {CarePlan.class, RequestGroup.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "result", type = {CarePlan.class, RequestOrchestration.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) protected Reference result; @@ -910,11 +910,11 @@ public class GuidanceResponse extends DomainResource { children.add(new Property("encounter", "Reference(Encounter)", "The encounter during which this response was created or to which the creation of this record is tightly associated.", 0, 1, encounter)); children.add(new Property("occurrenceDateTime", "dateTime", "Indicates when the guidance response was processed.", 0, 1, occurrenceDateTime)); children.add(new Property("performer", "Reference(Device)", "Provides a reference to the device that performed the guidance.", 0, 1, performer)); - children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the guidance response in coded or textual form, or Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.", 0, java.lang.Integer.MAX_VALUE, reason)); + children.add(new Property("reason", "CodeableReference", "Describes the reason for the guidance response in coded or textual form, or Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.", 0, java.lang.Integer.MAX_VALUE, reason)); children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); children.add(new Property("evaluationMessage", "Reference(OperationOutcome)", "Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.", 0, java.lang.Integer.MAX_VALUE, evaluationMessage)); children.add(new Property("outputParameters", "Reference(Parameters)", "The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.", 0, 1, outputParameters)); - children.add(new Property("result", "Reference(CarePlan|RequestGroup)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result)); + children.add(new Property("result", "Reference(CarePlan|RequestOrchestration)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result)); children.add(new Property("dataRequirement", "DataRequirement", "If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.", 0, java.lang.Integer.MAX_VALUE, dataRequirement)); } @@ -933,11 +933,11 @@ public class GuidanceResponse extends DomainResource { case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The encounter during which this response was created or to which the creation of this record is tightly associated.", 0, 1, encounter); case -298443636: /*occurrenceDateTime*/ return new Property("occurrenceDateTime", "dateTime", "Indicates when the guidance response was processed.", 0, 1, occurrenceDateTime); case 481140686: /*performer*/ return new Property("performer", "Reference(Device)", "Provides a reference to the device that performed the guidance.", 0, 1, performer); - case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the guidance response in coded or textual form, or Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.", 0, java.lang.Integer.MAX_VALUE, reason); + case -934964668: /*reason*/ return new Property("reason", "CodeableReference", "Describes the reason for the guidance response in coded or textual form, or Indicates the reason the request was initiated. This is typically provided as a parameter to the evaluation and echoed by the service, although for some use cases, such as subscription- or event-based scenarios, it may provide an indication of the cause for the response.", 0, java.lang.Integer.MAX_VALUE, reason); case 3387378: /*note*/ return new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note); case 1081619755: /*evaluationMessage*/ return new Property("evaluationMessage", "Reference(OperationOutcome)", "Messages resulting from the evaluation of the artifact or artifacts. As part of evaluating the request, the engine may produce informational or warning messages. These messages will be provided by this element.", 0, java.lang.Integer.MAX_VALUE, evaluationMessage); case 525609419: /*outputParameters*/ return new Property("outputParameters", "Reference(Parameters)", "The output parameters of the evaluation, if any. Many modules will result in the return of specific resources such as procedure or communication requests that are returned as part of the operation result. However, modules may define specific outputs that would be returned as the result of the evaluation, and these would be returned in this element.", 0, 1, outputParameters); - case -934426595: /*result*/ return new Property("result", "Reference(CarePlan|RequestGroup)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result); + case -934426595: /*result*/ return new Property("result", "Reference(CarePlan|RequestOrchestration)", "The actions, if any, produced by the evaluation of the artifact.", 0, 1, result); case 629147193: /*dataRequirement*/ return new Property("dataRequirement", "DataRequirement", "If the evaluation could not be completed due to lack of information, or additional information would potentially result in a more accurate response, this element will a description of the data required in order to proceed with the evaluation. A subsequent request to the service should include this data.", 0, java.lang.Integer.MAX_VALUE, dataRequirement); default: return super.getNamedProperty(_hash, _name, _checkValid); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HealthcareService.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HealthcareService.java index bf34faf02..cda823a50 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HealthcareService.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HealthcareService.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * The details of a healthcare service available at a location. + * The details of a healthcare service available at a location or in a catalog. In the case where there is a hierarchy of services (for example, Lab -> Pathology -> Wound Cultures), this can be represented using a set of linked HealthcareServices. */ @ResourceDef(name="HealthcareService", profile="http://hl7.org/fhir/StructureDefinition/HealthcareService") public class HealthcareService extends DomainResource { @@ -276,642 +276,6 @@ public class HealthcareService extends DomainResource { } - } - - @Block() - public static class HealthcareServiceAvailableTimeComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Indicates which days of the week are available between the start and end Times. - */ - @Child(name = "daysOfWeek", type = {CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="mon | tue | wed | thu | fri | sat | sun", formalDefinition="Indicates which days of the week are available between the start and end Times." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/days-of-week") - protected List> daysOfWeek; - - /** - * Is this always available? (hence times are irrelevant) i.e. 24 hour service. - */ - @Child(name = "allDay", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Always available? i.e. 24 hour service", formalDefinition="Is this always available? (hence times are irrelevant) i.e. 24 hour service." ) - protected BooleanType allDay; - - /** - * The opening time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - @Child(name = "availableStartTime", type = {TimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Opening time of day (ignored if allDay = true)", formalDefinition="The opening time of day. Note: If the AllDay flag is set, then this time is ignored." ) - protected TimeType availableStartTime; - - /** - * The closing time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - @Child(name = "availableEndTime", type = {TimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Closing time of day (ignored if allDay = true)", formalDefinition="The closing time of day. Note: If the AllDay flag is set, then this time is ignored." ) - protected TimeType availableEndTime; - - private static final long serialVersionUID = -2139510127L; - - /** - * Constructor - */ - public HealthcareServiceAvailableTimeComponent() { - super(); - } - - /** - * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public List> getDaysOfWeek() { - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - return this.daysOfWeek; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public HealthcareServiceAvailableTimeComponent setDaysOfWeek(List> theDaysOfWeek) { - this.daysOfWeek = theDaysOfWeek; - return this; - } - - public boolean hasDaysOfWeek() { - if (this.daysOfWeek == null) - return false; - for (Enumeration item : this.daysOfWeek) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public Enumeration addDaysOfWeekElement() {//2 - Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - this.daysOfWeek.add(t); - return t; - } - - /** - * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public HealthcareServiceAvailableTimeComponent addDaysOfWeek(DaysOfWeek value) { //1 - Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); - t.setValue(value); - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - this.daysOfWeek.add(t); - return this; - } - - /** - * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public boolean hasDaysOfWeek(DaysOfWeek value) { - if (this.daysOfWeek == null) - return false; - for (Enumeration v : this.daysOfWeek) - if (v.getValue().equals(value)) // code - return true; - return false; - } - - /** - * @return {@link #allDay} (Is this always available? (hence times are irrelevant) i.e. 24 hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value - */ - public BooleanType getAllDayElement() { - if (this.allDay == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create HealthcareServiceAvailableTimeComponent.allDay"); - else if (Configuration.doAutoCreate()) - this.allDay = new BooleanType(); // bb - return this.allDay; - } - - public boolean hasAllDayElement() { - return this.allDay != null && !this.allDay.isEmpty(); - } - - public boolean hasAllDay() { - return this.allDay != null && !this.allDay.isEmpty(); - } - - /** - * @param value {@link #allDay} (Is this always available? (hence times are irrelevant) i.e. 24 hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value - */ - public HealthcareServiceAvailableTimeComponent setAllDayElement(BooleanType value) { - this.allDay = value; - return this; - } - - /** - * @return Is this always available? (hence times are irrelevant) i.e. 24 hour service. - */ - public boolean getAllDay() { - return this.allDay == null || this.allDay.isEmpty() ? false : this.allDay.getValue(); - } - - /** - * @param value Is this always available? (hence times are irrelevant) i.e. 24 hour service. - */ - public HealthcareServiceAvailableTimeComponent setAllDay(boolean value) { - if (this.allDay == null) - this.allDay = new BooleanType(); - this.allDay.setValue(value); - return this; - } - - /** - * @return {@link #availableStartTime} (The opening time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value - */ - public TimeType getAvailableStartTimeElement() { - if (this.availableStartTime == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create HealthcareServiceAvailableTimeComponent.availableStartTime"); - else if (Configuration.doAutoCreate()) - this.availableStartTime = new TimeType(); // bb - return this.availableStartTime; - } - - public boolean hasAvailableStartTimeElement() { - return this.availableStartTime != null && !this.availableStartTime.isEmpty(); - } - - public boolean hasAvailableStartTime() { - return this.availableStartTime != null && !this.availableStartTime.isEmpty(); - } - - /** - * @param value {@link #availableStartTime} (The opening time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value - */ - public HealthcareServiceAvailableTimeComponent setAvailableStartTimeElement(TimeType value) { - this.availableStartTime = value; - return this; - } - - /** - * @return The opening time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public String getAvailableStartTime() { - return this.availableStartTime == null ? null : this.availableStartTime.getValue(); - } - - /** - * @param value The opening time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public HealthcareServiceAvailableTimeComponent setAvailableStartTime(String value) { - if (value == null) - this.availableStartTime = null; - else { - if (this.availableStartTime == null) - this.availableStartTime = new TimeType(); - this.availableStartTime.setValue(value); - } - return this; - } - - /** - * @return {@link #availableEndTime} (The closing time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value - */ - public TimeType getAvailableEndTimeElement() { - if (this.availableEndTime == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create HealthcareServiceAvailableTimeComponent.availableEndTime"); - else if (Configuration.doAutoCreate()) - this.availableEndTime = new TimeType(); // bb - return this.availableEndTime; - } - - public boolean hasAvailableEndTimeElement() { - return this.availableEndTime != null && !this.availableEndTime.isEmpty(); - } - - public boolean hasAvailableEndTime() { - return this.availableEndTime != null && !this.availableEndTime.isEmpty(); - } - - /** - * @param value {@link #availableEndTime} (The closing time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value - */ - public HealthcareServiceAvailableTimeComponent setAvailableEndTimeElement(TimeType value) { - this.availableEndTime = value; - return this; - } - - /** - * @return The closing time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public String getAvailableEndTime() { - return this.availableEndTime == null ? null : this.availableEndTime.getValue(); - } - - /** - * @param value The closing time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public HealthcareServiceAvailableTimeComponent setAvailableEndTime(String value) { - if (value == null) - this.availableEndTime = null; - else { - if (this.availableEndTime == null) - this.availableEndTime = new TimeType(); - this.availableEndTime.setValue(value); - } - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end Times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek)); - children.add(new Property("allDay", "boolean", "Is this always available? (hence times are irrelevant) i.e. 24 hour service.", 0, 1, allDay)); - children.add(new Property("availableStartTime", "time", "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableStartTime)); - children.add(new Property("availableEndTime", "time", "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableEndTime)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 68050338: /*daysOfWeek*/ return new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end Times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek); - case -1414913477: /*allDay*/ return new Property("allDay", "boolean", "Is this always available? (hence times are irrelevant) i.e. 24 hour service.", 0, 1, allDay); - case -1039453818: /*availableStartTime*/ return new Property("availableStartTime", "time", "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableStartTime); - case 101151551: /*availableEndTime*/ return new Property("availableEndTime", "time", "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableEndTime); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 68050338: /*daysOfWeek*/ return this.daysOfWeek == null ? new Base[0] : this.daysOfWeek.toArray(new Base[this.daysOfWeek.size()]); // Enumeration - case -1414913477: /*allDay*/ return this.allDay == null ? new Base[0] : new Base[] {this.allDay}; // BooleanType - case -1039453818: /*availableStartTime*/ return this.availableStartTime == null ? new Base[0] : new Base[] {this.availableStartTime}; // TimeType - case 101151551: /*availableEndTime*/ return this.availableEndTime == null ? new Base[0] : new Base[] {this.availableEndTime}; // TimeType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 68050338: // daysOfWeek - value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getDaysOfWeek().add((Enumeration) value); // Enumeration - return value; - case -1414913477: // allDay - this.allDay = TypeConvertor.castToBoolean(value); // BooleanType - return value; - case -1039453818: // availableStartTime - this.availableStartTime = TypeConvertor.castToTime(value); // TimeType - return value; - case 101151551: // availableEndTime - this.availableEndTime = TypeConvertor.castToTime(value); // TimeType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("daysOfWeek")) { - value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getDaysOfWeek().add((Enumeration) value); - } else if (name.equals("allDay")) { - this.allDay = TypeConvertor.castToBoolean(value); // BooleanType - } else if (name.equals("availableStartTime")) { - this.availableStartTime = TypeConvertor.castToTime(value); // TimeType - } else if (name.equals("availableEndTime")) { - this.availableEndTime = TypeConvertor.castToTime(value); // TimeType - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 68050338: return addDaysOfWeekElement(); - case -1414913477: return getAllDayElement(); - case -1039453818: return getAvailableStartTimeElement(); - case 101151551: return getAvailableEndTimeElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 68050338: /*daysOfWeek*/ return new String[] {"code"}; - case -1414913477: /*allDay*/ return new String[] {"boolean"}; - case -1039453818: /*availableStartTime*/ return new String[] {"time"}; - case 101151551: /*availableEndTime*/ return new String[] {"time"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("daysOfWeek")) { - throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.availableTime.daysOfWeek"); - } - else if (name.equals("allDay")) { - throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.availableTime.allDay"); - } - else if (name.equals("availableStartTime")) { - throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.availableTime.availableStartTime"); - } - else if (name.equals("availableEndTime")) { - throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.availableTime.availableEndTime"); - } - else - return super.addChild(name); - } - - public HealthcareServiceAvailableTimeComponent copy() { - HealthcareServiceAvailableTimeComponent dst = new HealthcareServiceAvailableTimeComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(HealthcareServiceAvailableTimeComponent dst) { - super.copyValues(dst); - if (daysOfWeek != null) { - dst.daysOfWeek = new ArrayList>(); - for (Enumeration i : daysOfWeek) - dst.daysOfWeek.add(i.copy()); - }; - dst.allDay = allDay == null ? null : allDay.copy(); - dst.availableStartTime = availableStartTime == null ? null : availableStartTime.copy(); - dst.availableEndTime = availableEndTime == null ? null : availableEndTime.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof HealthcareServiceAvailableTimeComponent)) - return false; - HealthcareServiceAvailableTimeComponent o = (HealthcareServiceAvailableTimeComponent) other_; - return compareDeep(daysOfWeek, o.daysOfWeek, true) && compareDeep(allDay, o.allDay, true) && compareDeep(availableStartTime, o.availableStartTime, true) - && compareDeep(availableEndTime, o.availableEndTime, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof HealthcareServiceAvailableTimeComponent)) - return false; - HealthcareServiceAvailableTimeComponent o = (HealthcareServiceAvailableTimeComponent) other_; - return compareValues(daysOfWeek, o.daysOfWeek, true) && compareValues(allDay, o.allDay, true) && compareValues(availableStartTime, o.availableStartTime, true) - && compareValues(availableEndTime, o.availableEndTime, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(daysOfWeek, allDay, availableStartTime - , availableEndTime); - } - - public String fhirType() { - return "HealthcareService.availableTime"; - - } - - } - - @Block() - public static class HealthcareServiceNotAvailableComponent extends BackboneElement implements IBaseBackboneElement { - /** - * The reason that can be presented to the user as to why this time is not available. - */ - @Child(name = "description", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Reason presented to the user explaining why time not available", formalDefinition="The reason that can be presented to the user as to why this time is not available." ) - protected StringType description; - - /** - * Service is not available (seasonally or for a public holiday) from this date. - */ - @Child(name = "during", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Service not available from this date", formalDefinition="Service is not available (seasonally or for a public holiday) from this date." ) - protected Period during; - - private static final long serialVersionUID = 310849929L; - - /** - * Constructor - */ - public HealthcareServiceNotAvailableComponent() { - super(); - } - - /** - * Constructor - */ - public HealthcareServiceNotAvailableComponent(String description) { - super(); - this.setDescription(description); - } - - /** - * @return {@link #description} (The reason that can be presented to the user as to why this time is not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public StringType getDescriptionElement() { - if (this.description == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create HealthcareServiceNotAvailableComponent.description"); - else if (Configuration.doAutoCreate()) - this.description = new StringType(); // bb - return this.description; - } - - public boolean hasDescriptionElement() { - return this.description != null && !this.description.isEmpty(); - } - - public boolean hasDescription() { - return this.description != null && !this.description.isEmpty(); - } - - /** - * @param value {@link #description} (The reason that can be presented to the user as to why this time is not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public HealthcareServiceNotAvailableComponent setDescriptionElement(StringType value) { - this.description = value; - return this; - } - - /** - * @return The reason that can be presented to the user as to why this time is not available. - */ - public String getDescription() { - return this.description == null ? null : this.description.getValue(); - } - - /** - * @param value The reason that can be presented to the user as to why this time is not available. - */ - public HealthcareServiceNotAvailableComponent setDescription(String value) { - if (this.description == null) - this.description = new StringType(); - this.description.setValue(value); - return this; - } - - /** - * @return {@link #during} (Service is not available (seasonally or for a public holiday) from this date.) - */ - public Period getDuring() { - if (this.during == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create HealthcareServiceNotAvailableComponent.during"); - else if (Configuration.doAutoCreate()) - this.during = new Period(); // cc - return this.during; - } - - public boolean hasDuring() { - return this.during != null && !this.during.isEmpty(); - } - - /** - * @param value {@link #during} (Service is not available (seasonally or for a public holiday) from this date.) - */ - public HealthcareServiceNotAvailableComponent setDuring(Period value) { - this.during = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("description", "string", "The reason that can be presented to the user as to why this time is not available.", 0, 1, description)); - children.add(new Property("during", "Period", "Service is not available (seasonally or for a public holiday) from this date.", 0, 1, during)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case -1724546052: /*description*/ return new Property("description", "string", "The reason that can be presented to the user as to why this time is not available.", 0, 1, description); - case -1320499647: /*during*/ return new Property("during", "Period", "Service is not available (seasonally or for a public holiday) from this date.", 0, 1, during); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType - case -1320499647: /*during*/ return this.during == null ? new Base[0] : new Base[] {this.during}; // Period - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case -1724546052: // description - this.description = TypeConvertor.castToString(value); // StringType - return value; - case -1320499647: // during - this.during = TypeConvertor.castToPeriod(value); // Period - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("description")) { - this.description = TypeConvertor.castToString(value); // StringType - } else if (name.equals("during")) { - this.during = TypeConvertor.castToPeriod(value); // Period - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -1724546052: return getDescriptionElement(); - case -1320499647: return getDuring(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -1724546052: /*description*/ return new String[] {"string"}; - case -1320499647: /*during*/ return new String[] {"Period"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("description")) { - throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.notAvailable.description"); - } - else if (name.equals("during")) { - this.during = new Period(); - return this.during; - } - else - return super.addChild(name); - } - - public HealthcareServiceNotAvailableComponent copy() { - HealthcareServiceNotAvailableComponent dst = new HealthcareServiceNotAvailableComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(HealthcareServiceNotAvailableComponent dst) { - super.copyValues(dst); - dst.description = description == null ? null : description.copy(); - dst.during = during == null ? null : during.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof HealthcareServiceNotAvailableComponent)) - return false; - HealthcareServiceNotAvailableComponent o = (HealthcareServiceNotAvailableComponent) other_; - return compareDeep(description, o.description, true) && compareDeep(during, o.during, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof HealthcareServiceNotAvailableComponent)) - return false; - HealthcareServiceNotAvailableComponent o = (HealthcareServiceNotAvailableComponent) other_; - return compareValues(description, o.description, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, during); - } - - public String fhirType() { - return "HealthcareService.notAvailable"; - - } - } /** @@ -935,10 +299,17 @@ public class HealthcareService extends DomainResource { @Description(shortDefinition="Organization that provides this service", formalDefinition="The organization that provides this healthcare service." ) protected Reference providedBy; + /** + * When the HealthcareService is representing a specific, schedulable service, the availableIn property can refer to a generic service. + */ + @Child(name = "offeredIn", type = {HealthcareService.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The service within which this service is offered", formalDefinition="When the HealthcareService is representing a specific, schedulable service, the availableIn property can refer to a generic service." ) + protected List offeredIn; + /** * Identifies the broad category of service being performed or delivered. */ - @Child(name = "category", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "category", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Broad category of service being performed or delivered", formalDefinition="Identifies the broad category of service being performed or delivered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-category") protected List category; @@ -946,68 +317,61 @@ public class HealthcareService extends DomainResource { /** * The specific type of service that may be delivered or performed. */ - @Child(name = "type", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "type", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Type of service that may be delivered or performed", formalDefinition="The specific type of service that may be delivered or performed." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/service-type") protected List type; /** - * Collection of specialties handled by the service site. This is more of a medical term. + * Collection of specialties handled by the Healthcare service. This is more of a medical term. */ - @Child(name = "specialty", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Specialties handled by the HealthcareService", formalDefinition="Collection of specialties handled by the service site. This is more of a medical term." ) + @Child(name = "specialty", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Specialties handled by the HealthcareService", formalDefinition="Collection of specialties handled by the Healthcare service. This is more of a medical term." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-practice-codes") protected List specialty; /** * The location(s) where this healthcare service may be provided. */ - @Child(name = "location", type = {Location.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "location", type = {Location.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Location(s) where service may be provided", formalDefinition="The location(s) where this healthcare service may be provided." ) protected List location; /** * Further description of the service as it would be presented to a consumer while searching. */ - @Child(name = "name", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Description of service as presented to a consumer while searching", formalDefinition="Further description of the service as it would be presented to a consumer while searching." ) protected StringType name; /** * Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName. */ - @Child(name = "comment", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Child(name = "comment", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Additional description and/or any specific issues not covered elsewhere", formalDefinition="Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName." ) protected StringType comment; /** * Extra details about the service that can't be placed in the other fields. */ - @Child(name = "extraDetails", type = {MarkdownType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "extraDetails", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Extra details about the service that can't be placed in the other fields", formalDefinition="Extra details about the service that can't be placed in the other fields." ) protected MarkdownType extraDetails; /** * If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list. */ - @Child(name = "photo", type = {Attachment.class}, order=10, min=0, max=1, modifier=false, summary=true) + @Child(name = "photo", type = {Attachment.class}, order=11, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Facilitates quick identification of the service", formalDefinition="If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list." ) protected Attachment photo; /** * The contact details of communication devices available relevant to the specific HealthcareService. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites. */ - @Child(name = "contact", type = {ExtendedContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "contact", type = {ExtendedContactDetail.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Official contact details for the HealthcareService", formalDefinition="The contact details of communication devices available relevant to the specific HealthcareService. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites." ) protected List contact; - /** - * List of contacts related to this specific healthcare service. - */ - @Child(name = "telecom", type = {ContactPoint.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Deprecated - use contact.telecom", formalDefinition="List of contacts related to this specific healthcare service." ) - protected List telecom; - /** * The location(s) that this service is available to (not where the service is provided). */ @@ -1069,34 +433,20 @@ public class HealthcareService extends DomainResource { protected BooleanType appointmentRequired; /** - * A collection of times that the Service Site is available. + * A collection of times that the healthcare service is available. */ - @Child(name = "availableTime", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Times the Service Site is available", formalDefinition="A collection of times that the Service Site is available." ) - protected List availableTime; - - /** - * The HealthcareService is not available during this period of time due to the provided reason. - */ - @Child(name = "notAvailable", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Not available during this time due to provided reason", formalDefinition="The HealthcareService is not available during this period of time due to the provided reason." ) - protected List notAvailable; - - /** - * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. - */ - @Child(name = "availabilityExceptions", type = {StringType.class}, order=23, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Description of availability exceptions", formalDefinition="A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times." ) - protected StringType availabilityExceptions; + @Child(name = "availability", type = {Availability.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Times the healthcare service is available (including exceptions)", formalDefinition="A collection of times that the healthcare service is available." ) + protected List availability; /** * Technical endpoints providing access to services operated for the specific healthcare services defined at this resource. */ - @Child(name = "endpoint", type = {Endpoint.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "endpoint", type = {Endpoint.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Technical endpoints providing access to electronic services operated for the healthcare service", formalDefinition="Technical endpoints providing access to services operated for the specific healthcare services defined at this resource." ) protected List endpoint; - private static final long serialVersionUID = 1153384657L; + private static final long serialVersionUID = -1321795105L; /** * Constructor @@ -1227,6 +577,59 @@ public class HealthcareService extends DomainResource { return this; } + /** + * @return {@link #offeredIn} (When the HealthcareService is representing a specific, schedulable service, the availableIn property can refer to a generic service.) + */ + public List getOfferedIn() { + if (this.offeredIn == null) + this.offeredIn = new ArrayList(); + return this.offeredIn; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public HealthcareService setOfferedIn(List theOfferedIn) { + this.offeredIn = theOfferedIn; + return this; + } + + public boolean hasOfferedIn() { + if (this.offeredIn == null) + return false; + for (Reference item : this.offeredIn) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addOfferedIn() { //3 + Reference t = new Reference(); + if (this.offeredIn == null) + this.offeredIn = new ArrayList(); + this.offeredIn.add(t); + return t; + } + + public HealthcareService addOfferedIn(Reference t) { //3 + if (t == null) + return this; + if (this.offeredIn == null) + this.offeredIn = new ArrayList(); + this.offeredIn.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #offeredIn}, creating it if it does not already exist {3} + */ + public Reference getOfferedInFirstRep() { + if (getOfferedIn().isEmpty()) { + addOfferedIn(); + } + return getOfferedIn().get(0); + } + /** * @return {@link #category} (Identifies the broad category of service being performed or delivered.) */ @@ -1334,7 +737,7 @@ public class HealthcareService extends DomainResource { } /** - * @return {@link #specialty} (Collection of specialties handled by the service site. This is more of a medical term.) + * @return {@link #specialty} (Collection of specialties handled by the Healthcare service. This is more of a medical term.) */ public List getSpecialty() { if (this.specialty == null) @@ -1663,59 +1066,6 @@ public class HealthcareService extends DomainResource { return getContact().get(0); } - /** - * @return {@link #telecom} (List of contacts related to this specific healthcare service.) - */ - public List getTelecom() { - if (this.telecom == null) - this.telecom = new ArrayList(); - return this.telecom; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public HealthcareService setTelecom(List theTelecom) { - this.telecom = theTelecom; - return this; - } - - public boolean hasTelecom() { - if (this.telecom == null) - return false; - for (ContactPoint item : this.telecom) - if (!item.isEmpty()) - return true; - return false; - } - - public ContactPoint addTelecom() { //3 - ContactPoint t = new ContactPoint(); - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); - return t; - } - - public HealthcareService addTelecom(ContactPoint t) { //3 - if (t == null) - return this; - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} - */ - public ContactPoint getTelecomFirstRep() { - if (getTelecom().isEmpty()) { - addTelecom(); - } - return getTelecom().get(0); - } - /** * @return {@link #coverageArea} (The location(s) that this service is available to (not where the service is provided).) */ @@ -2133,158 +1483,56 @@ public class HealthcareService extends DomainResource { } /** - * @return {@link #availableTime} (A collection of times that the Service Site is available.) + * @return {@link #availability} (A collection of times that the healthcare service is available.) */ - public List getAvailableTime() { - if (this.availableTime == null) - this.availableTime = new ArrayList(); - return this.availableTime; + public List getAvailability() { + if (this.availability == null) + this.availability = new ArrayList(); + return this.availability; } /** * @return Returns a reference to this for easy method chaining */ - public HealthcareService setAvailableTime(List theAvailableTime) { - this.availableTime = theAvailableTime; + public HealthcareService setAvailability(List theAvailability) { + this.availability = theAvailability; return this; } - public boolean hasAvailableTime() { - if (this.availableTime == null) + public boolean hasAvailability() { + if (this.availability == null) return false; - for (HealthcareServiceAvailableTimeComponent item : this.availableTime) + for (Availability item : this.availability) if (!item.isEmpty()) return true; return false; } - public HealthcareServiceAvailableTimeComponent addAvailableTime() { //3 - HealthcareServiceAvailableTimeComponent t = new HealthcareServiceAvailableTimeComponent(); - if (this.availableTime == null) - this.availableTime = new ArrayList(); - this.availableTime.add(t); + public Availability addAvailability() { //3 + Availability t = new Availability(); + if (this.availability == null) + this.availability = new ArrayList(); + this.availability.add(t); return t; } - public HealthcareService addAvailableTime(HealthcareServiceAvailableTimeComponent t) { //3 + public HealthcareService addAvailability(Availability t) { //3 if (t == null) return this; - if (this.availableTime == null) - this.availableTime = new ArrayList(); - this.availableTime.add(t); + if (this.availability == null) + this.availability = new ArrayList(); + this.availability.add(t); return this; } /** - * @return The first repetition of repeating field {@link #availableTime}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #availability}, creating it if it does not already exist {3} */ - public HealthcareServiceAvailableTimeComponent getAvailableTimeFirstRep() { - if (getAvailableTime().isEmpty()) { - addAvailableTime(); + public Availability getAvailabilityFirstRep() { + if (getAvailability().isEmpty()) { + addAvailability(); } - return getAvailableTime().get(0); - } - - /** - * @return {@link #notAvailable} (The HealthcareService is not available during this period of time due to the provided reason.) - */ - public List getNotAvailable() { - if (this.notAvailable == null) - this.notAvailable = new ArrayList(); - return this.notAvailable; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public HealthcareService setNotAvailable(List theNotAvailable) { - this.notAvailable = theNotAvailable; - return this; - } - - public boolean hasNotAvailable() { - if (this.notAvailable == null) - return false; - for (HealthcareServiceNotAvailableComponent item : this.notAvailable) - if (!item.isEmpty()) - return true; - return false; - } - - public HealthcareServiceNotAvailableComponent addNotAvailable() { //3 - HealthcareServiceNotAvailableComponent t = new HealthcareServiceNotAvailableComponent(); - if (this.notAvailable == null) - this.notAvailable = new ArrayList(); - this.notAvailable.add(t); - return t; - } - - public HealthcareService addNotAvailable(HealthcareServiceNotAvailableComponent t) { //3 - if (t == null) - return this; - if (this.notAvailable == null) - this.notAvailable = new ArrayList(); - this.notAvailable.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #notAvailable}, creating it if it does not already exist {3} - */ - public HealthcareServiceNotAvailableComponent getNotAvailableFirstRep() { - if (getNotAvailable().isEmpty()) { - addNotAvailable(); - } - return getNotAvailable().get(0); - } - - /** - * @return {@link #availabilityExceptions} (A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value - */ - public StringType getAvailabilityExceptionsElement() { - if (this.availabilityExceptions == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create HealthcareService.availabilityExceptions"); - else if (Configuration.doAutoCreate()) - this.availabilityExceptions = new StringType(); // bb - return this.availabilityExceptions; - } - - public boolean hasAvailabilityExceptionsElement() { - return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); - } - - public boolean hasAvailabilityExceptions() { - return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); - } - - /** - * @param value {@link #availabilityExceptions} (A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value - */ - public HealthcareService setAvailabilityExceptionsElement(StringType value) { - this.availabilityExceptions = value; - return this; - } - - /** - * @return A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. - */ - public String getAvailabilityExceptions() { - return this.availabilityExceptions == null ? null : this.availabilityExceptions.getValue(); - } - - /** - * @param value A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. - */ - public HealthcareService setAvailabilityExceptions(String value) { - if (Utilities.noString(value)) - this.availabilityExceptions = null; - else { - if (this.availabilityExceptions == null) - this.availabilityExceptions = new StringType(); - this.availabilityExceptions.setValue(value); - } - return this; + return getAvailability().get(0); } /** @@ -2345,16 +1593,16 @@ public class HealthcareService extends DomainResource { children.add(new Property("identifier", "Identifier", "External identifiers for this item.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("active", "boolean", "This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this.", 0, 1, active)); children.add(new Property("providedBy", "Reference(Organization)", "The organization that provides this healthcare service.", 0, 1, providedBy)); + children.add(new Property("offeredIn", "Reference(HealthcareService)", "When the HealthcareService is representing a specific, schedulable service, the availableIn property can refer to a generic service.", 0, java.lang.Integer.MAX_VALUE, offeredIn)); children.add(new Property("category", "CodeableConcept", "Identifies the broad category of service being performed or delivered.", 0, java.lang.Integer.MAX_VALUE, category)); children.add(new Property("type", "CodeableConcept", "The specific type of service that may be delivered or performed.", 0, java.lang.Integer.MAX_VALUE, type)); - children.add(new Property("specialty", "CodeableConcept", "Collection of specialties handled by the service site. This is more of a medical term.", 0, java.lang.Integer.MAX_VALUE, specialty)); + children.add(new Property("specialty", "CodeableConcept", "Collection of specialties handled by the Healthcare service. This is more of a medical term.", 0, java.lang.Integer.MAX_VALUE, specialty)); children.add(new Property("location", "Reference(Location)", "The location(s) where this healthcare service may be provided.", 0, java.lang.Integer.MAX_VALUE, location)); children.add(new Property("name", "string", "Further description of the service as it would be presented to a consumer while searching.", 0, 1, name)); children.add(new Property("comment", "string", "Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.", 0, 1, comment)); children.add(new Property("extraDetails", "markdown", "Extra details about the service that can't be placed in the other fields.", 0, 1, extraDetails)); children.add(new Property("photo", "Attachment", "If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.", 0, 1, photo)); children.add(new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available relevant to the specific HealthcareService. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact)); - children.add(new Property("telecom", "ContactPoint", "List of contacts related to this specific healthcare service.", 0, java.lang.Integer.MAX_VALUE, telecom)); children.add(new Property("coverageArea", "Reference(Location)", "The location(s) that this service is available to (not where the service is provided).", 0, java.lang.Integer.MAX_VALUE, coverageArea)); children.add(new Property("serviceProvisionCode", "CodeableConcept", "The code(s) that detail the conditions under which the healthcare service is available/offered.", 0, java.lang.Integer.MAX_VALUE, serviceProvisionCode)); children.add(new Property("eligibility", "", "Does this service have specific eligibility requirements that need to be met in order to use the service?", 0, java.lang.Integer.MAX_VALUE, eligibility)); @@ -2363,9 +1611,7 @@ public class HealthcareService extends DomainResource { children.add(new Property("communication", "CodeableConcept", "Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used.", 0, java.lang.Integer.MAX_VALUE, communication)); children.add(new Property("referralMethod", "CodeableConcept", "Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.", 0, java.lang.Integer.MAX_VALUE, referralMethod)); children.add(new Property("appointmentRequired", "boolean", "Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.", 0, 1, appointmentRequired)); - children.add(new Property("availableTime", "", "A collection of times that the Service Site is available.", 0, java.lang.Integer.MAX_VALUE, availableTime)); - children.add(new Property("notAvailable", "", "The HealthcareService is not available during this period of time due to the provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailable)); - children.add(new Property("availabilityExceptions", "string", "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.", 0, 1, availabilityExceptions)); + children.add(new Property("availability", "Availability", "A collection of times that the healthcare service is available.", 0, java.lang.Integer.MAX_VALUE, availability)); children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.", 0, java.lang.Integer.MAX_VALUE, endpoint)); } @@ -2375,16 +1621,16 @@ public class HealthcareService extends DomainResource { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "External identifiers for this item.", 0, java.lang.Integer.MAX_VALUE, identifier); case -1422950650: /*active*/ return new Property("active", "boolean", "This flag is used to mark the record to not be used. This is not used when a center is closed for maintenance, or for holidays, the notAvailable period is to be used for this.", 0, 1, active); case 205136282: /*providedBy*/ return new Property("providedBy", "Reference(Organization)", "The organization that provides this healthcare service.", 0, 1, providedBy); + case 1945040512: /*offeredIn*/ return new Property("offeredIn", "Reference(HealthcareService)", "When the HealthcareService is representing a specific, schedulable service, the availableIn property can refer to a generic service.", 0, java.lang.Integer.MAX_VALUE, offeredIn); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Identifies the broad category of service being performed or delivered.", 0, java.lang.Integer.MAX_VALUE, category); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The specific type of service that may be delivered or performed.", 0, java.lang.Integer.MAX_VALUE, type); - case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "Collection of specialties handled by the service site. This is more of a medical term.", 0, java.lang.Integer.MAX_VALUE, specialty); + case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "Collection of specialties handled by the Healthcare service. This is more of a medical term.", 0, java.lang.Integer.MAX_VALUE, specialty); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location(s) where this healthcare service may be provided.", 0, java.lang.Integer.MAX_VALUE, location); case 3373707: /*name*/ return new Property("name", "string", "Further description of the service as it would be presented to a consumer while searching.", 0, 1, name); case 950398559: /*comment*/ return new Property("comment", "string", "Any additional description of the service and/or any specific issues not covered by the other attributes, which can be displayed as further detail under the serviceName.", 0, 1, comment); case -1469168622: /*extraDetails*/ return new Property("extraDetails", "markdown", "Extra details about the service that can't be placed in the other fields.", 0, 1, extraDetails); case 106642994: /*photo*/ return new Property("photo", "Attachment", "If there is a photo/symbol associated with this HealthcareService, it may be included here to facilitate quick identification of the service in a list.", 0, 1, photo); case 951526432: /*contact*/ return new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available relevant to the specific HealthcareService. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact); - case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "List of contacts related to this specific healthcare service.", 0, java.lang.Integer.MAX_VALUE, telecom); case -1532328299: /*coverageArea*/ return new Property("coverageArea", "Reference(Location)", "The location(s) that this service is available to (not where the service is provided).", 0, java.lang.Integer.MAX_VALUE, coverageArea); case 1504575405: /*serviceProvisionCode*/ return new Property("serviceProvisionCode", "CodeableConcept", "The code(s) that detail the conditions under which the healthcare service is available/offered.", 0, java.lang.Integer.MAX_VALUE, serviceProvisionCode); case -930847859: /*eligibility*/ return new Property("eligibility", "", "Does this service have specific eligibility requirements that need to be met in order to use the service?", 0, java.lang.Integer.MAX_VALUE, eligibility); @@ -2393,9 +1639,7 @@ public class HealthcareService extends DomainResource { case -1035284522: /*communication*/ return new Property("communication", "CodeableConcept", "Some services are specifically made available in multiple languages, this property permits a directory to declare the languages this is offered in. Typically this is only provided where a service operates in communities with mixed languages used.", 0, java.lang.Integer.MAX_VALUE, communication); case -2092740898: /*referralMethod*/ return new Property("referralMethod", "CodeableConcept", "Ways that the service accepts referrals, if this is not provided then it is implied that no referral is required.", 0, java.lang.Integer.MAX_VALUE, referralMethod); case 427220062: /*appointmentRequired*/ return new Property("appointmentRequired", "boolean", "Indicates whether or not a prospective consumer will require an appointment for a particular service at a site to be provided by the Organization. Indicates if an appointment is required for access to this service.", 0, 1, appointmentRequired); - case 1873069366: /*availableTime*/ return new Property("availableTime", "", "A collection of times that the Service Site is available.", 0, java.lang.Integer.MAX_VALUE, availableTime); - case -629572298: /*notAvailable*/ return new Property("notAvailable", "", "The HealthcareService is not available during this period of time due to the provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailable); - case -1149143617: /*availabilityExceptions*/ return new Property("availabilityExceptions", "string", "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.", 0, 1, availabilityExceptions); + case 1997542747: /*availability*/ return new Property("availability", "Availability", "A collection of times that the healthcare service is available.", 0, java.lang.Integer.MAX_VALUE, availability); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the specific healthcare services defined at this resource.", 0, java.lang.Integer.MAX_VALUE, endpoint); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2408,6 +1652,7 @@ public class HealthcareService extends DomainResource { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType case 205136282: /*providedBy*/ return this.providedBy == null ? new Base[0] : new Base[] {this.providedBy}; // Reference + case 1945040512: /*offeredIn*/ return this.offeredIn == null ? new Base[0] : this.offeredIn.toArray(new Base[this.offeredIn.size()]); // Reference case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : this.specialty.toArray(new Base[this.specialty.size()]); // CodeableConcept @@ -2417,7 +1662,6 @@ public class HealthcareService extends DomainResource { case -1469168622: /*extraDetails*/ return this.extraDetails == null ? new Base[0] : new Base[] {this.extraDetails}; // MarkdownType case 106642994: /*photo*/ return this.photo == null ? new Base[0] : new Base[] {this.photo}; // Attachment case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ExtendedContactDetail - case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint case -1532328299: /*coverageArea*/ return this.coverageArea == null ? new Base[0] : this.coverageArea.toArray(new Base[this.coverageArea.size()]); // Reference case 1504575405: /*serviceProvisionCode*/ return this.serviceProvisionCode == null ? new Base[0] : this.serviceProvisionCode.toArray(new Base[this.serviceProvisionCode.size()]); // CodeableConcept case -930847859: /*eligibility*/ return this.eligibility == null ? new Base[0] : this.eligibility.toArray(new Base[this.eligibility.size()]); // HealthcareServiceEligibilityComponent @@ -2426,9 +1670,7 @@ public class HealthcareService extends DomainResource { case -1035284522: /*communication*/ return this.communication == null ? new Base[0] : this.communication.toArray(new Base[this.communication.size()]); // CodeableConcept case -2092740898: /*referralMethod*/ return this.referralMethod == null ? new Base[0] : this.referralMethod.toArray(new Base[this.referralMethod.size()]); // CodeableConcept case 427220062: /*appointmentRequired*/ return this.appointmentRequired == null ? new Base[0] : new Base[] {this.appointmentRequired}; // BooleanType - case 1873069366: /*availableTime*/ return this.availableTime == null ? new Base[0] : this.availableTime.toArray(new Base[this.availableTime.size()]); // HealthcareServiceAvailableTimeComponent - case -629572298: /*notAvailable*/ return this.notAvailable == null ? new Base[0] : this.notAvailable.toArray(new Base[this.notAvailable.size()]); // HealthcareServiceNotAvailableComponent - case -1149143617: /*availabilityExceptions*/ return this.availabilityExceptions == null ? new Base[0] : new Base[] {this.availabilityExceptions}; // StringType + case 1997542747: /*availability*/ return this.availability == null ? new Base[0] : this.availability.toArray(new Base[this.availability.size()]); // Availability case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference default: return super.getProperty(hash, name, checkValid); } @@ -2447,6 +1689,9 @@ public class HealthcareService extends DomainResource { case 205136282: // providedBy this.providedBy = TypeConvertor.castToReference(value); // Reference return value; + case 1945040512: // offeredIn + this.getOfferedIn().add(TypeConvertor.castToReference(value)); // Reference + return value; case 50511102: // category this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; @@ -2474,9 +1719,6 @@ public class HealthcareService extends DomainResource { case 951526432: // contact this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); // ExtendedContactDetail return value; - case -1429363305: // telecom - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint - return value; case -1532328299: // coverageArea this.getCoverageArea().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -2501,14 +1743,8 @@ public class HealthcareService extends DomainResource { case 427220062: // appointmentRequired this.appointmentRequired = TypeConvertor.castToBoolean(value); // BooleanType return value; - case 1873069366: // availableTime - this.getAvailableTime().add((HealthcareServiceAvailableTimeComponent) value); // HealthcareServiceAvailableTimeComponent - return value; - case -629572298: // notAvailable - this.getNotAvailable().add((HealthcareServiceNotAvailableComponent) value); // HealthcareServiceNotAvailableComponent - return value; - case -1149143617: // availabilityExceptions - this.availabilityExceptions = TypeConvertor.castToString(value); // StringType + case 1997542747: // availability + this.getAvailability().add(TypeConvertor.castToAvailability(value)); // Availability return value; case 1741102485: // endpoint this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference @@ -2526,6 +1762,8 @@ public class HealthcareService extends DomainResource { this.active = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("providedBy")) { this.providedBy = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("offeredIn")) { + this.getOfferedIn().add(TypeConvertor.castToReference(value)); } else if (name.equals("category")) { this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("type")) { @@ -2544,8 +1782,6 @@ public class HealthcareService extends DomainResource { this.photo = TypeConvertor.castToAttachment(value); // Attachment } else if (name.equals("contact")) { this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); - } else if (name.equals("telecom")) { - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); } else if (name.equals("coverageArea")) { this.getCoverageArea().add(TypeConvertor.castToReference(value)); } else if (name.equals("serviceProvisionCode")) { @@ -2562,12 +1798,8 @@ public class HealthcareService extends DomainResource { this.getReferralMethod().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("appointmentRequired")) { this.appointmentRequired = TypeConvertor.castToBoolean(value); // BooleanType - } else if (name.equals("availableTime")) { - this.getAvailableTime().add((HealthcareServiceAvailableTimeComponent) value); - } else if (name.equals("notAvailable")) { - this.getNotAvailable().add((HealthcareServiceNotAvailableComponent) value); - } else if (name.equals("availabilityExceptions")) { - this.availabilityExceptions = TypeConvertor.castToString(value); // StringType + } else if (name.equals("availability")) { + this.getAvailability().add(TypeConvertor.castToAvailability(value)); } else if (name.equals("endpoint")) { this.getEndpoint().add(TypeConvertor.castToReference(value)); } else @@ -2581,6 +1813,7 @@ public class HealthcareService extends DomainResource { case -1618432855: return addIdentifier(); case -1422950650: return getActiveElement(); case 205136282: return getProvidedBy(); + case 1945040512: return addOfferedIn(); case 50511102: return addCategory(); case 3575610: return addType(); case -1694759682: return addSpecialty(); @@ -2590,7 +1823,6 @@ public class HealthcareService extends DomainResource { case -1469168622: return getExtraDetailsElement(); case 106642994: return getPhoto(); case 951526432: return addContact(); - case -1429363305: return addTelecom(); case -1532328299: return addCoverageArea(); case 1504575405: return addServiceProvisionCode(); case -930847859: return addEligibility(); @@ -2599,9 +1831,7 @@ public class HealthcareService extends DomainResource { case -1035284522: return addCommunication(); case -2092740898: return addReferralMethod(); case 427220062: return getAppointmentRequiredElement(); - case 1873069366: return addAvailableTime(); - case -629572298: return addNotAvailable(); - case -1149143617: return getAvailabilityExceptionsElement(); + case 1997542747: return addAvailability(); case 1741102485: return addEndpoint(); default: return super.makeProperty(hash, name); } @@ -2614,6 +1844,7 @@ public class HealthcareService extends DomainResource { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -1422950650: /*active*/ return new String[] {"boolean"}; case 205136282: /*providedBy*/ return new String[] {"Reference"}; + case 1945040512: /*offeredIn*/ return new String[] {"Reference"}; case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; @@ -2623,7 +1854,6 @@ public class HealthcareService extends DomainResource { case -1469168622: /*extraDetails*/ return new String[] {"markdown"}; case 106642994: /*photo*/ return new String[] {"Attachment"}; case 951526432: /*contact*/ return new String[] {"ExtendedContactDetail"}; - case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; case -1532328299: /*coverageArea*/ return new String[] {"Reference"}; case 1504575405: /*serviceProvisionCode*/ return new String[] {"CodeableConcept"}; case -930847859: /*eligibility*/ return new String[] {}; @@ -2632,9 +1862,7 @@ public class HealthcareService extends DomainResource { case -1035284522: /*communication*/ return new String[] {"CodeableConcept"}; case -2092740898: /*referralMethod*/ return new String[] {"CodeableConcept"}; case 427220062: /*appointmentRequired*/ return new String[] {"boolean"}; - case 1873069366: /*availableTime*/ return new String[] {}; - case -629572298: /*notAvailable*/ return new String[] {}; - case -1149143617: /*availabilityExceptions*/ return new String[] {"string"}; + case 1997542747: /*availability*/ return new String[] {"Availability"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -2653,6 +1881,9 @@ public class HealthcareService extends DomainResource { this.providedBy = new Reference(); return this.providedBy; } + else if (name.equals("offeredIn")) { + return addOfferedIn(); + } else if (name.equals("category")) { return addCategory(); } @@ -2681,9 +1912,6 @@ public class HealthcareService extends DomainResource { else if (name.equals("contact")) { return addContact(); } - else if (name.equals("telecom")) { - return addTelecom(); - } else if (name.equals("coverageArea")) { return addCoverageArea(); } @@ -2708,14 +1936,8 @@ public class HealthcareService extends DomainResource { else if (name.equals("appointmentRequired")) { throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.appointmentRequired"); } - else if (name.equals("availableTime")) { - return addAvailableTime(); - } - else if (name.equals("notAvailable")) { - return addNotAvailable(); - } - else if (name.equals("availabilityExceptions")) { - throw new FHIRException("Cannot call addChild on a primitive type HealthcareService.availabilityExceptions"); + else if (name.equals("availability")) { + return addAvailability(); } else if (name.equals("endpoint")) { return addEndpoint(); @@ -2744,6 +1966,11 @@ public class HealthcareService extends DomainResource { }; dst.active = active == null ? null : active.copy(); dst.providedBy = providedBy == null ? null : providedBy.copy(); + if (offeredIn != null) { + dst.offeredIn = new ArrayList(); + for (Reference i : offeredIn) + dst.offeredIn.add(i.copy()); + }; if (category != null) { dst.category = new ArrayList(); for (CodeableConcept i : category) @@ -2773,11 +2000,6 @@ public class HealthcareService extends DomainResource { for (ExtendedContactDetail i : contact) dst.contact.add(i.copy()); }; - if (telecom != null) { - dst.telecom = new ArrayList(); - for (ContactPoint i : telecom) - dst.telecom.add(i.copy()); - }; if (coverageArea != null) { dst.coverageArea = new ArrayList(); for (Reference i : coverageArea) @@ -2814,17 +2036,11 @@ public class HealthcareService extends DomainResource { dst.referralMethod.add(i.copy()); }; dst.appointmentRequired = appointmentRequired == null ? null : appointmentRequired.copy(); - if (availableTime != null) { - dst.availableTime = new ArrayList(); - for (HealthcareServiceAvailableTimeComponent i : availableTime) - dst.availableTime.add(i.copy()); + if (availability != null) { + dst.availability = new ArrayList(); + for (Availability i : availability) + dst.availability.add(i.copy()); }; - if (notAvailable != null) { - dst.notAvailable = new ArrayList(); - for (HealthcareServiceNotAvailableComponent i : notAvailable) - dst.notAvailable.add(i.copy()); - }; - dst.availabilityExceptions = availabilityExceptions == null ? null : availabilityExceptions.copy(); if (endpoint != null) { dst.endpoint = new ArrayList(); for (Reference i : endpoint) @@ -2844,14 +2060,13 @@ public class HealthcareService extends DomainResource { return false; HealthcareService o = (HealthcareService) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(providedBy, o.providedBy, true) - && compareDeep(category, o.category, true) && compareDeep(type, o.type, true) && compareDeep(specialty, o.specialty, true) - && compareDeep(location, o.location, true) && compareDeep(name, o.name, true) && compareDeep(comment, o.comment, true) - && compareDeep(extraDetails, o.extraDetails, true) && compareDeep(photo, o.photo, true) && compareDeep(contact, o.contact, true) - && compareDeep(telecom, o.telecom, true) && compareDeep(coverageArea, o.coverageArea, true) && compareDeep(serviceProvisionCode, o.serviceProvisionCode, true) + && compareDeep(offeredIn, o.offeredIn, true) && compareDeep(category, o.category, true) && compareDeep(type, o.type, true) + && compareDeep(specialty, o.specialty, true) && compareDeep(location, o.location, true) && compareDeep(name, o.name, true) + && compareDeep(comment, o.comment, true) && compareDeep(extraDetails, o.extraDetails, true) && compareDeep(photo, o.photo, true) + && compareDeep(contact, o.contact, true) && compareDeep(coverageArea, o.coverageArea, true) && compareDeep(serviceProvisionCode, o.serviceProvisionCode, true) && compareDeep(eligibility, o.eligibility, true) && compareDeep(program, o.program, true) && compareDeep(characteristic, o.characteristic, true) && compareDeep(communication, o.communication, true) && compareDeep(referralMethod, o.referralMethod, true) - && compareDeep(appointmentRequired, o.appointmentRequired, true) && compareDeep(availableTime, o.availableTime, true) - && compareDeep(notAvailable, o.notAvailable, true) && compareDeep(availabilityExceptions, o.availabilityExceptions, true) + && compareDeep(appointmentRequired, o.appointmentRequired, true) && compareDeep(availability, o.availability, true) && compareDeep(endpoint, o.endpoint, true); } @@ -2864,15 +2079,14 @@ public class HealthcareService extends DomainResource { HealthcareService o = (HealthcareService) other_; return compareValues(active, o.active, true) && compareValues(name, o.name, true) && compareValues(comment, o.comment, true) && compareValues(extraDetails, o.extraDetails, true) && compareValues(appointmentRequired, o.appointmentRequired, true) - && compareValues(availabilityExceptions, o.availabilityExceptions, true); + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, providedBy - , category, type, specialty, location, name, comment, extraDetails, photo, contact - , telecom, coverageArea, serviceProvisionCode, eligibility, program, characteristic - , communication, referralMethod, appointmentRequired, availableTime, notAvailable - , availabilityExceptions, endpoint); + , offeredIn, category, type, specialty, location, name, comment, extraDetails + , photo, contact, coverageArea, serviceProvisionCode, eligibility, program, characteristic + , communication, referralMethod, appointmentRequired, availability, endpoint); } @Override @@ -3038,6 +2252,32 @@ public class HealthcareService extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); + /** + * Search parameter: offered-in + *

+ * Description: The service within which this service is offered
+ * Type: reference
+ * Path: HealthcareService.offeredIn
+ *

+ */ + @SearchParamDefinition(name="offered-in", path="HealthcareService.offeredIn", description="The service within which this service is offered", type="reference", target={HealthcareService.class } ) + public static final String SP_OFFERED_IN = "offered-in"; + /** + * Fluent Client search parameter constant for offered-in + *

+ * Description: The service within which this service is offered
+ * Type: reference
+ * Path: HealthcareService.offeredIn
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OFFERED_IN = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OFFERED_IN); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "HealthcareService:offered-in". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_OFFERED_IN = new ca.uhn.fhir.model.api.Include("HealthcareService:offered-in").toLocked(); + /** * Search parameter: organization *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HumanName.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HumanName.java index 092b84087..02f8b9ebc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HumanName.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/HumanName.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import ca.uhn.fhir.util.DatatypeUtil; import org.hl7.fhir.instance.model.api.IPrimitiveType; /** - * Base StructureDefinition for HumanName Type: A human's name with the ability to identify parts and usage. + * HumanName Type: A name, normally of a human, that can be used for other living entities (eg. animals but not organizations) that have been assigned names by a human and may need the use of name parts or the need for usage information. */ @DatatypeDef(name="HumanName") public class HumanName extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Identifier.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Identifier.java index cdcdb9eaf..50311d160 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Identifier.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Identifier.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,14 +46,14 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. + * Identifier Type: An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. */ @DatatypeDef(name="Identifier") public class Identifier extends DataType implements ICompositeType { public enum IdentifierUse { /** - * The identifier recommended for display and use in real-world interactions. + * The identifier recommended for display and use in real-world interactions which should be used when such identifier is different from the \"official\" identifier. */ USUAL, /** @@ -118,7 +118,7 @@ public class Identifier extends DataType implements ICompositeType { } public String getDefinition() { switch (this) { - case USUAL: return "The identifier recommended for display and use in real-world interactions."; + case USUAL: return "The identifier recommended for display and use in real-world interactions which should be used when such identifier is different from the \"official\" identifier."; case OFFICIAL: return "The identifier considered to be most trusted for the identification of this item. Sometimes also known as \"primary\" and \"main\". The determination of \"official\" is subjective and implementation guides often provide additional guidelines for use."; case TEMP: return "A temporary identifier."; case SECONDARY: return "An identifier that was assigned in secondary use - it serves to identify the object in a relative context, but cannot be consistently assigned to the same object again in a different context."; @@ -212,10 +212,10 @@ public class Identifier extends DataType implements ICompositeType { protected CodeableConcept type; /** - * Establishes the namespace for the value - that is, a URL that describes a set values that are unique. + * Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique. */ @Child(name = "system", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="The namespace for the identifier value", formalDefinition="Establishes the namespace for the value - that is, a URL that describes a set values that are unique." ) + @Description(shortDefinition="The namespace for the identifier value", formalDefinition="Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique." ) protected UriType system; /** @@ -322,7 +322,7 @@ public class Identifier extends DataType implements ICompositeType { } /** - * @return {@link #system} (Establishes the namespace for the value - that is, a URL that describes a set values that are unique.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value + * @return {@link #system} (Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value */ public UriType getSystemElement() { if (this.system == null) @@ -342,7 +342,7 @@ public class Identifier extends DataType implements ICompositeType { } /** - * @param value {@link #system} (Establishes the namespace for the value - that is, a URL that describes a set values that are unique.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value + * @param value {@link #system} (Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique.). This is the underlying object with id, value and extensions. The accessor "getSystem" gives direct access to the value */ public Identifier setSystemElement(UriType value) { this.system = value; @@ -350,14 +350,14 @@ public class Identifier extends DataType implements ICompositeType { } /** - * @return Establishes the namespace for the value - that is, a URL that describes a set values that are unique. + * @return Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique. */ public String getSystem() { return this.system == null ? null : this.system.getValue(); } /** - * @param value Establishes the namespace for the value - that is, a URL that describes a set values that are unique. + * @param value Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique. */ public Identifier setSystem(String value) { if (Utilities.noString(value)) @@ -471,7 +471,7 @@ public class Identifier extends DataType implements ICompositeType { super.listChildren(children); children.add(new Property("use", "code", "The purpose of this identifier.", 0, 1, use)); children.add(new Property("type", "CodeableConcept", "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.", 0, 1, type)); - children.add(new Property("system", "uri", "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.", 0, 1, system)); + children.add(new Property("system", "uri", "Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique.", 0, 1, system)); children.add(new Property("value", "string", "The portion of the identifier typically relevant to the user and which is unique within the context of the system.", 0, 1, value)); children.add(new Property("period", "Period", "Time period during which identifier is/was valid for use.", 0, 1, period)); children.add(new Property("assigner", "Reference(Organization)", "Organization that issued/manages the identifier.", 0, 1, assigner)); @@ -482,7 +482,7 @@ public class Identifier extends DataType implements ICompositeType { switch (_hash) { case 116103: /*use*/ return new Property("use", "code", "The purpose of this identifier.", 0, 1, use); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A coded type for the identifier that can be used to determine which identifier to use for a specific purpose.", 0, 1, type); - case -887328209: /*system*/ return new Property("system", "uri", "Establishes the namespace for the value - that is, a URL that describes a set values that are unique.", 0, 1, system); + case -887328209: /*system*/ return new Property("system", "uri", "Establishes the namespace for the value - that is, a absolute URL that describes a set values that are unique.", 0, 1, system); case 111972721: /*value*/ return new Property("value", "string", "The portion of the identifier typically relevant to the user and which is unique within the context of the system.", 0, 1, value); case -991726143: /*period*/ return new Property("period", "Period", "Time period during which identifier is/was valid for use.", 0, 1, period); case -369881636: /*assigner*/ return new Property("assigner", "Reference(Organization)", "Organization that issued/manages the identifier.", 0, 1, assigner); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingSelection.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingSelection.java index 17739f88a..42ab1f36b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingSelection.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingSelection.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -82,15 +82,15 @@ public class ImagingSelection extends DomainResource { public static ImagingSelection2DGraphicType fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; - if ("POINT".equals(codeString)) + if ("point".equals(codeString)) return POINT; - if ("POLYLINE".equals(codeString)) + if ("polyline".equals(codeString)) return POLYLINE; - if ("INTERPOLATED".equals(codeString)) + if ("interpolated".equals(codeString)) return INTERPOLATED; - if ("CIRCLE".equals(codeString)) + if ("circle".equals(codeString)) return CIRCLE; - if ("ELLIPSE".equals(codeString)) + if ("ellipse".equals(codeString)) return ELLIPSE; if (Configuration.isAcceptInvalidEnums()) return null; @@ -99,11 +99,11 @@ public class ImagingSelection extends DomainResource { } public String toCode() { switch (this) { - case POINT: return "POINT"; - case POLYLINE: return "POLYLINE"; - case INTERPOLATED: return "INTERPOLATED"; - case CIRCLE: return "CIRCLE"; - case ELLIPSE: return "ELLIPSE"; + case POINT: return "point"; + case POLYLINE: return "polyline"; + case INTERPOLATED: return "interpolated"; + case CIRCLE: return "circle"; + case ELLIPSE: return "ellipse"; case NULL: return null; default: return "?"; } @@ -148,15 +148,15 @@ public class ImagingSelection extends DomainResource { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; - if ("POINT".equals(codeString)) + if ("point".equals(codeString)) return ImagingSelection2DGraphicType.POINT; - if ("POLYLINE".equals(codeString)) + if ("polyline".equals(codeString)) return ImagingSelection2DGraphicType.POLYLINE; - if ("INTERPOLATED".equals(codeString)) + if ("interpolated".equals(codeString)) return ImagingSelection2DGraphicType.INTERPOLATED; - if ("CIRCLE".equals(codeString)) + if ("circle".equals(codeString)) return ImagingSelection2DGraphicType.CIRCLE; - if ("ELLIPSE".equals(codeString)) + if ("ellipse".equals(codeString)) return ImagingSelection2DGraphicType.ELLIPSE; throw new IllegalArgumentException("Unknown ImagingSelection2DGraphicType code '"+codeString+"'"); } @@ -168,29 +168,29 @@ public class ImagingSelection extends DomainResource { String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; - if ("POINT".equals(codeString)) + if ("point".equals(codeString)) return new Enumeration(this, ImagingSelection2DGraphicType.POINT); - if ("POLYLINE".equals(codeString)) + if ("polyline".equals(codeString)) return new Enumeration(this, ImagingSelection2DGraphicType.POLYLINE); - if ("INTERPOLATED".equals(codeString)) + if ("interpolated".equals(codeString)) return new Enumeration(this, ImagingSelection2DGraphicType.INTERPOLATED); - if ("CIRCLE".equals(codeString)) + if ("circle".equals(codeString)) return new Enumeration(this, ImagingSelection2DGraphicType.CIRCLE); - if ("ELLIPSE".equals(codeString)) + if ("ellipse".equals(codeString)) return new Enumeration(this, ImagingSelection2DGraphicType.ELLIPSE); throw new FHIRException("Unknown ImagingSelection2DGraphicType code '"+codeString+"'"); } public String toCode(ImagingSelection2DGraphicType code) { if (code == ImagingSelection2DGraphicType.POINT) - return "POINT"; + return "point"; if (code == ImagingSelection2DGraphicType.POLYLINE) - return "POLYLINE"; + return "polyline"; if (code == ImagingSelection2DGraphicType.INTERPOLATED) - return "INTERPOLATED"; + return "interpolated"; if (code == ImagingSelection2DGraphicType.CIRCLE) - return "CIRCLE"; + return "circle"; if (code == ImagingSelection2DGraphicType.ELLIPSE) - return "ELLIPSE"; + return "ellipse"; return "?"; } public String toSystem(ImagingSelection2DGraphicType code) { @@ -230,17 +230,17 @@ public class ImagingSelection extends DomainResource { public static ImagingSelection3DGraphicType fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; - if ("POINT".equals(codeString)) + if ("point".equals(codeString)) return POINT; - if ("MULTIPOINT".equals(codeString)) + if ("multipoint".equals(codeString)) return MULTIPOINT; - if ("POLYLINE".equals(codeString)) + if ("polyline".equals(codeString)) return POLYLINE; - if ("POLYGON".equals(codeString)) + if ("polygon".equals(codeString)) return POLYGON; - if ("ELLIPSE".equals(codeString)) + if ("ellipse".equals(codeString)) return ELLIPSE; - if ("ELLIPSOID".equals(codeString)) + if ("ellipsoid".equals(codeString)) return ELLIPSOID; if (Configuration.isAcceptInvalidEnums()) return null; @@ -249,12 +249,12 @@ public class ImagingSelection extends DomainResource { } public String toCode() { switch (this) { - case POINT: return "POINT"; - case MULTIPOINT: return "MULTIPOINT"; - case POLYLINE: return "POLYLINE"; - case POLYGON: return "POLYGON"; - case ELLIPSE: return "ELLIPSE"; - case ELLIPSOID: return "ELLIPSOID"; + case POINT: return "point"; + case MULTIPOINT: return "multipoint"; + case POLYLINE: return "polyline"; + case POLYGON: return "polygon"; + case ELLIPSE: return "ellipse"; + case ELLIPSOID: return "ellipsoid"; case NULL: return null; default: return "?"; } @@ -302,17 +302,17 @@ public class ImagingSelection extends DomainResource { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; - if ("POINT".equals(codeString)) + if ("point".equals(codeString)) return ImagingSelection3DGraphicType.POINT; - if ("MULTIPOINT".equals(codeString)) + if ("multipoint".equals(codeString)) return ImagingSelection3DGraphicType.MULTIPOINT; - if ("POLYLINE".equals(codeString)) + if ("polyline".equals(codeString)) return ImagingSelection3DGraphicType.POLYLINE; - if ("POLYGON".equals(codeString)) + if ("polygon".equals(codeString)) return ImagingSelection3DGraphicType.POLYGON; - if ("ELLIPSE".equals(codeString)) + if ("ellipse".equals(codeString)) return ImagingSelection3DGraphicType.ELLIPSE; - if ("ELLIPSOID".equals(codeString)) + if ("ellipsoid".equals(codeString)) return ImagingSelection3DGraphicType.ELLIPSOID; throw new IllegalArgumentException("Unknown ImagingSelection3DGraphicType code '"+codeString+"'"); } @@ -324,33 +324,33 @@ public class ImagingSelection extends DomainResource { String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; - if ("POINT".equals(codeString)) + if ("point".equals(codeString)) return new Enumeration(this, ImagingSelection3DGraphicType.POINT); - if ("MULTIPOINT".equals(codeString)) + if ("multipoint".equals(codeString)) return new Enumeration(this, ImagingSelection3DGraphicType.MULTIPOINT); - if ("POLYLINE".equals(codeString)) + if ("polyline".equals(codeString)) return new Enumeration(this, ImagingSelection3DGraphicType.POLYLINE); - if ("POLYGON".equals(codeString)) + if ("polygon".equals(codeString)) return new Enumeration(this, ImagingSelection3DGraphicType.POLYGON); - if ("ELLIPSE".equals(codeString)) + if ("ellipse".equals(codeString)) return new Enumeration(this, ImagingSelection3DGraphicType.ELLIPSE); - if ("ELLIPSOID".equals(codeString)) + if ("ellipsoid".equals(codeString)) return new Enumeration(this, ImagingSelection3DGraphicType.ELLIPSOID); throw new FHIRException("Unknown ImagingSelection3DGraphicType code '"+codeString+"'"); } public String toCode(ImagingSelection3DGraphicType code) { if (code == ImagingSelection3DGraphicType.POINT) - return "POINT"; + return "point"; if (code == ImagingSelection3DGraphicType.MULTIPOINT) - return "MULTIPOINT"; + return "multipoint"; if (code == ImagingSelection3DGraphicType.POLYLINE) - return "POLYLINE"; + return "polyline"; if (code == ImagingSelection3DGraphicType.POLYGON) - return "POLYGON"; + return "polygon"; if (code == ImagingSelection3DGraphicType.ELLIPSE) - return "ELLIPSE"; + return "ellipse"; if (code == ImagingSelection3DGraphicType.ELLIPSOID) - return "ELLIPSOID"; + return "ellipsoid"; return "?"; } public String toSystem(ImagingSelection3DGraphicType code) { @@ -681,10 +681,17 @@ public class ImagingSelection extends DomainResource { @Description(shortDefinition="DICOM SOP Instance UID", formalDefinition="The SOP Instance UID for the selected DICOM instance." ) protected IdType uid; + /** + * The Instance Number for the selected DICOM instance. + */ + @Child(name = "number", type = {UnsignedIntType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="DICOM Instance Number", formalDefinition="The Instance Number for the selected DICOM instance." ) + protected UnsignedIntType number; + /** * The SOP Class UID for the selected DICOM instance. */ - @Child(name = "sopClass", type = {Coding.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Child(name = "sopClass", type = {Coding.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="DICOM SOP Class UID", formalDefinition="The SOP Class UID for the selected DICOM instance." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html#table_B.5-1") protected Coding sopClass; @@ -697,7 +704,7 @@ public class ImagingSelection extends DomainResource { - A list of segment numbers selected from a segmentation SOP Instance. - A list of Region of Interest (ROI) numbers selected from a radiotherapy structure set SOP Instance. */ - @Child(name = "subset", type = {StringType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subset", type = {StringType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The selected subset of the SOP Instance", formalDefinition="Selected subset of the SOP Instance. The content and format of the subset item is determined by the SOP Class of the selected instance.\n May be one of:\n - A list of frame numbers selected from a multiframe SOP Instance.\n - A list of Content Item Observation UID values selected from a DICOM SR or other structured document SOP Instance.\n - A list of segment numbers selected from a segmentation SOP Instance.\n - A list of Region of Interest (ROI) numbers selected from a radiotherapy structure set SOP Instance." ) protected List subset; @@ -705,11 +712,11 @@ public class ImagingSelection extends DomainResource { * Each imaging selection instance or frame list might includes an image region, specified by a region type and a set of 2D coordinates. If the parent imagingSelection.instance contains a subset element of type frame, the image region applies to all frames in the subset list. */ - @Child(name = "imageRegion", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "imageRegion", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A specific 2D region in a DICOM image / frame", formalDefinition="Each imaging selection instance or frame list might includes an image region, specified by a region type and a set of 2D coordinates.\n If the parent imagingSelection.instance contains a subset element of type frame, the image region applies to all frames in the subset list." ) protected List imageRegion; - private static final long serialVersionUID = 445509632L; + private static final long serialVersionUID = -1933369423L; /** * Constructor @@ -771,6 +778,51 @@ public class ImagingSelection extends DomainResource { return this; } + /** + * @return {@link #number} (The Instance Number for the selected DICOM instance.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value + */ + public UnsignedIntType getNumberElement() { + if (this.number == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ImagingSelectionInstanceComponent.number"); + else if (Configuration.doAutoCreate()) + this.number = new UnsignedIntType(); // bb + return this.number; + } + + public boolean hasNumberElement() { + return this.number != null && !this.number.isEmpty(); + } + + public boolean hasNumber() { + return this.number != null && !this.number.isEmpty(); + } + + /** + * @param value {@link #number} (The Instance Number for the selected DICOM instance.). This is the underlying object with id, value and extensions. The accessor "getNumber" gives direct access to the value + */ + public ImagingSelectionInstanceComponent setNumberElement(UnsignedIntType value) { + this.number = value; + return this; + } + + /** + * @return The Instance Number for the selected DICOM instance. + */ + public int getNumber() { + return this.number == null || this.number.isEmpty() ? 0 : this.number.getValue(); + } + + /** + * @param value The Instance Number for the selected DICOM instance. + */ + public ImagingSelectionInstanceComponent setNumber(int value) { + if (this.number == null) + this.number = new UnsignedIntType(); + this.number.setValue(value); + return this; + } + /** * @return {@link #sopClass} (The SOP Class UID for the selected DICOM instance.) */ @@ -933,6 +985,7 @@ public class ImagingSelection extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("uid", "id", "The SOP Instance UID for the selected DICOM instance.", 0, 1, uid)); + children.add(new Property("number", "unsignedInt", "The Instance Number for the selected DICOM instance.", 0, 1, number)); children.add(new Property("sopClass", "Coding", "The SOP Class UID for the selected DICOM instance.", 0, 1, sopClass)); children.add(new Property("subset", "string", "Selected subset of the SOP Instance. The content and format of the subset item is determined by the SOP Class of the selected instance.\n May be one of:\n - A list of frame numbers selected from a multiframe SOP Instance.\n - A list of Content Item Observation UID values selected from a DICOM SR or other structured document SOP Instance.\n - A list of segment numbers selected from a segmentation SOP Instance.\n - A list of Region of Interest (ROI) numbers selected from a radiotherapy structure set SOP Instance.", 0, java.lang.Integer.MAX_VALUE, subset)); children.add(new Property("imageRegion", "", "Each imaging selection instance or frame list might includes an image region, specified by a region type and a set of 2D coordinates.\n If the parent imagingSelection.instance contains a subset element of type frame, the image region applies to all frames in the subset list.", 0, java.lang.Integer.MAX_VALUE, imageRegion)); @@ -942,6 +995,7 @@ public class ImagingSelection extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 115792: /*uid*/ return new Property("uid", "id", "The SOP Instance UID for the selected DICOM instance.", 0, 1, uid); + case -1034364087: /*number*/ return new Property("number", "unsignedInt", "The Instance Number for the selected DICOM instance.", 0, 1, number); case 1560041540: /*sopClass*/ return new Property("sopClass", "Coding", "The SOP Class UID for the selected DICOM instance.", 0, 1, sopClass); case -891529694: /*subset*/ return new Property("subset", "string", "Selected subset of the SOP Instance. The content and format of the subset item is determined by the SOP Class of the selected instance.\n May be one of:\n - A list of frame numbers selected from a multiframe SOP Instance.\n - A list of Content Item Observation UID values selected from a DICOM SR or other structured document SOP Instance.\n - A list of segment numbers selected from a segmentation SOP Instance.\n - A list of Region of Interest (ROI) numbers selected from a radiotherapy structure set SOP Instance.", 0, java.lang.Integer.MAX_VALUE, subset); case 2132544559: /*imageRegion*/ return new Property("imageRegion", "", "Each imaging selection instance or frame list might includes an image region, specified by a region type and a set of 2D coordinates.\n If the parent imagingSelection.instance contains a subset element of type frame, the image region applies to all frames in the subset list.", 0, java.lang.Integer.MAX_VALUE, imageRegion); @@ -954,6 +1008,7 @@ public class ImagingSelection extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 115792: /*uid*/ return this.uid == null ? new Base[0] : new Base[] {this.uid}; // IdType + case -1034364087: /*number*/ return this.number == null ? new Base[0] : new Base[] {this.number}; // UnsignedIntType case 1560041540: /*sopClass*/ return this.sopClass == null ? new Base[0] : new Base[] {this.sopClass}; // Coding case -891529694: /*subset*/ return this.subset == null ? new Base[0] : this.subset.toArray(new Base[this.subset.size()]); // StringType case 2132544559: /*imageRegion*/ return this.imageRegion == null ? new Base[0] : this.imageRegion.toArray(new Base[this.imageRegion.size()]); // ImagingSelectionInstanceImageRegionComponent @@ -968,6 +1023,9 @@ public class ImagingSelection extends DomainResource { case 115792: // uid this.uid = TypeConvertor.castToId(value); // IdType return value; + case -1034364087: // number + this.number = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType + return value; case 1560041540: // sopClass this.sopClass = TypeConvertor.castToCoding(value); // Coding return value; @@ -986,6 +1044,8 @@ public class ImagingSelection extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("uid")) { this.uid = TypeConvertor.castToId(value); // IdType + } else if (name.equals("number")) { + this.number = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType } else if (name.equals("sopClass")) { this.sopClass = TypeConvertor.castToCoding(value); // Coding } else if (name.equals("subset")) { @@ -1001,6 +1061,7 @@ public class ImagingSelection extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 115792: return getUidElement(); + case -1034364087: return getNumberElement(); case 1560041540: return getSopClass(); case -891529694: return addSubsetElement(); case 2132544559: return addImageRegion(); @@ -1013,6 +1074,7 @@ public class ImagingSelection extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 115792: /*uid*/ return new String[] {"id"}; + case -1034364087: /*number*/ return new String[] {"unsignedInt"}; case 1560041540: /*sopClass*/ return new String[] {"Coding"}; case -891529694: /*subset*/ return new String[] {"string"}; case 2132544559: /*imageRegion*/ return new String[] {}; @@ -1026,6 +1088,9 @@ public class ImagingSelection extends DomainResource { if (name.equals("uid")) { throw new FHIRException("Cannot call addChild on a primitive type ImagingSelection.instance.uid"); } + else if (name.equals("number")) { + throw new FHIRException("Cannot call addChild on a primitive type ImagingSelection.instance.number"); + } else if (name.equals("sopClass")) { this.sopClass = new Coding(); return this.sopClass; @@ -1049,6 +1114,7 @@ public class ImagingSelection extends DomainResource { public void copyValues(ImagingSelectionInstanceComponent dst) { super.copyValues(dst); dst.uid = uid == null ? null : uid.copy(); + dst.number = number == null ? null : number.copy(); dst.sopClass = sopClass == null ? null : sopClass.copy(); if (subset != null) { dst.subset = new ArrayList(); @@ -1069,8 +1135,8 @@ public class ImagingSelection extends DomainResource { if (!(other_ instanceof ImagingSelectionInstanceComponent)) return false; ImagingSelectionInstanceComponent o = (ImagingSelectionInstanceComponent) other_; - return compareDeep(uid, o.uid, true) && compareDeep(sopClass, o.sopClass, true) && compareDeep(subset, o.subset, true) - && compareDeep(imageRegion, o.imageRegion, true); + return compareDeep(uid, o.uid, true) && compareDeep(number, o.number, true) && compareDeep(sopClass, o.sopClass, true) + && compareDeep(subset, o.subset, true) && compareDeep(imageRegion, o.imageRegion, true); } @Override @@ -1080,12 +1146,13 @@ public class ImagingSelection extends DomainResource { if (!(other_ instanceof ImagingSelectionInstanceComponent)) return false; ImagingSelectionInstanceComponent o = (ImagingSelectionInstanceComponent) other_; - return compareValues(uid, o.uid, true) && compareValues(subset, o.subset, true); + return compareValues(uid, o.uid, true) && compareValues(number, o.number, true) && compareValues(subset, o.subset, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uid, sopClass, subset, imageRegion - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uid, number, sopClass, subset + , imageRegion); } public String fhirType() { @@ -1101,7 +1168,7 @@ public class ImagingSelection extends DomainResource { * Specifies the type of image region. */ @Child(name = "regionType", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="POINT | POLYLINE | INTERPOLATED | CIRCLE | ELLIPSE", formalDefinition="Specifies the type of image region." ) + @Description(shortDefinition="point | polyline | interpolated | circle | ellipse", formalDefinition="Specifies the type of image region." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/imagingselection-2dgraphictype") protected Enumeration regionType; @@ -1376,12 +1443,12 @@ public class ImagingSelection extends DomainResource { } @Block() - public static class ImagingSelectionImageRegionComponent extends BackboneElement implements IBaseBackboneElement { + public static class ImageRegionComponent extends BackboneElement implements IBaseBackboneElement { /** * Specifies the type of image region. */ @Child(name = "regionType", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="POINT | MULTIPOINT | POLYLINE | POLYGON | ELLIPSE | ELLIPSOID", formalDefinition="Specifies the type of image region." ) + @Description(shortDefinition="point | multipoint | polyline | polygon | ellipse | ellipsoid", formalDefinition="Specifies the type of image region." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/imagingselection-3dgraphictype") protected Enumeration regionType; @@ -1397,14 +1464,14 @@ public class ImagingSelection extends DomainResource { /** * Constructor */ - public ImagingSelectionImageRegionComponent() { + public ImageRegionComponent() { super(); } /** * Constructor */ - public ImagingSelectionImageRegionComponent(ImagingSelection3DGraphicType regionType, BigDecimal coordinate) { + public ImageRegionComponent(ImagingSelection3DGraphicType regionType, BigDecimal coordinate) { super(); this.setRegionType(regionType); this.addCoordinate(coordinate); @@ -1416,7 +1483,7 @@ public class ImagingSelection extends DomainResource { public Enumeration getRegionTypeElement() { if (this.regionType == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ImagingSelectionImageRegionComponent.regionType"); + throw new Error("Attempt to auto-create ImageRegionComponent.regionType"); else if (Configuration.doAutoCreate()) this.regionType = new Enumeration(new ImagingSelection3DGraphicTypeEnumFactory()); // bb return this.regionType; @@ -1433,7 +1500,7 @@ public class ImagingSelection extends DomainResource { /** * @param value {@link #regionType} (Specifies the type of image region.). This is the underlying object with id, value and extensions. The accessor "getRegionType" gives direct access to the value */ - public ImagingSelectionImageRegionComponent setRegionTypeElement(Enumeration value) { + public ImageRegionComponent setRegionTypeElement(Enumeration value) { this.regionType = value; return this; } @@ -1448,7 +1515,7 @@ public class ImagingSelection extends DomainResource { /** * @param value Specifies the type of image region. */ - public ImagingSelectionImageRegionComponent setRegionType(ImagingSelection3DGraphicType value) { + public ImageRegionComponent setRegionType(ImagingSelection3DGraphicType value) { if (this.regionType == null) this.regionType = new Enumeration(new ImagingSelection3DGraphicTypeEnumFactory()); this.regionType.setValue(value); @@ -1467,7 +1534,7 @@ public class ImagingSelection extends DomainResource { /** * @return Returns a reference to this for easy method chaining */ - public ImagingSelectionImageRegionComponent setCoordinate(List theCoordinate) { + public ImageRegionComponent setCoordinate(List theCoordinate) { this.coordinate = theCoordinate; return this; } @@ -1495,7 +1562,7 @@ public class ImagingSelection extends DomainResource { /** * @param value {@link #coordinate} (The coordinates describing the image region. Encoded as an ordered set of (x,y,z) triplets (in mm and may be negative) that define a region of interest in the patient-relative Reference Coordinate System defined by ImagingSelection.frameOfReferenceUid element.) */ - public ImagingSelectionImageRegionComponent addCoordinate(BigDecimal value) { //1 + public ImageRegionComponent addCoordinate(BigDecimal value) { //1 DecimalType t = new DecimalType(); t.setValue(value); if (this.coordinate == null) @@ -1601,13 +1668,13 @@ public class ImagingSelection extends DomainResource { return super.addChild(name); } - public ImagingSelectionImageRegionComponent copy() { - ImagingSelectionImageRegionComponent dst = new ImagingSelectionImageRegionComponent(); + public ImageRegionComponent copy() { + ImageRegionComponent dst = new ImageRegionComponent(); copyValues(dst); return dst; } - public void copyValues(ImagingSelectionImageRegionComponent dst) { + public void copyValues(ImageRegionComponent dst) { super.copyValues(dst); dst.regionType = regionType == null ? null : regionType.copy(); if (coordinate != null) { @@ -1621,9 +1688,9 @@ public class ImagingSelection extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof ImagingSelectionImageRegionComponent)) + if (!(other_ instanceof ImageRegionComponent)) return false; - ImagingSelectionImageRegionComponent o = (ImagingSelectionImageRegionComponent) other_; + ImageRegionComponent o = (ImageRegionComponent) other_; return compareDeep(regionType, o.regionType, true) && compareDeep(coordinate, o.coordinate, true) ; } @@ -1632,9 +1699,9 @@ public class ImagingSelection extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof ImagingSelectionImageRegionComponent)) + if (!(other_ instanceof ImageRegionComponent)) return false; - ImagingSelectionImageRegionComponent o = (ImagingSelectionImageRegionComponent) other_; + ImageRegionComponent o = (ImageRegionComponent) other_; return compareValues(regionType, o.regionType, true) && compareValues(coordinate, o.coordinate, true) ; } @@ -1737,36 +1804,50 @@ public class ImagingSelection extends DomainResource { @Description(shortDefinition="DICOM Series Instance UID", formalDefinition="The Series Instance UID for the DICOM Series from which the images were selected." ) protected IdType seriesUid; + /** + * The Series Number for the DICOM Series from which the images were selected. + */ + @Child(name = "seriesNumber", type = {UnsignedIntType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="DICOM Series Number", formalDefinition="The Series Number for the DICOM Series from which the images were selected." ) + protected UnsignedIntType seriesNumber; + /** * The Frame of Reference UID identifying the coordinate system that conveys spatial and/or temporal information for the selected images or frames. */ - @Child(name = "frameOfReferenceUid", type = {IdType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "frameOfReferenceUid", type = {IdType.class}, order=13, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The Frame of Reference UID for the selected images", formalDefinition="The Frame of Reference UID identifying the coordinate system that conveys spatial and/or temporal information for the selected images or frames." ) protected IdType frameOfReferenceUid; /** * The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings. */ - @Child(name = "bodySite", type = {CodeableReference.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "bodySite", type = {CodeableReference.class}, order=14, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Body part examined", formalDefinition="The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") protected CodeableReference bodySite; + /** + * The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus. + */ + @Child(name = "focus", type = {ImagingSelection.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Related resource that is the focus for the imaging selection", formalDefinition="The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus." ) + protected List focus; + /** * Each imaging selection includes one or more selected DICOM SOP instances. */ - @Child(name = "instance", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "instance", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The selected instances", formalDefinition="Each imaging selection includes one or more selected DICOM SOP instances." ) protected List instance; /** * Each imaging selection might includes a 3D image region, specified by a region type and a set of 3D coordinates. */ - @Child(name = "imageRegion", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "imageRegion", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A specific 3D region in a DICOM frame of reference", formalDefinition="Each imaging selection might includes a 3D image region, specified by a region type and a set of 3D coordinates." ) - protected List imageRegion; + protected List imageRegion; - private static final long serialVersionUID = 1828736494L; + private static final long serialVersionUID = -347117045L; /** * Constructor @@ -2342,6 +2423,51 @@ public class ImagingSelection extends DomainResource { return this; } + /** + * @return {@link #seriesNumber} (The Series Number for the DICOM Series from which the images were selected.). This is the underlying object with id, value and extensions. The accessor "getSeriesNumber" gives direct access to the value + */ + public UnsignedIntType getSeriesNumberElement() { + if (this.seriesNumber == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ImagingSelection.seriesNumber"); + else if (Configuration.doAutoCreate()) + this.seriesNumber = new UnsignedIntType(); // bb + return this.seriesNumber; + } + + public boolean hasSeriesNumberElement() { + return this.seriesNumber != null && !this.seriesNumber.isEmpty(); + } + + public boolean hasSeriesNumber() { + return this.seriesNumber != null && !this.seriesNumber.isEmpty(); + } + + /** + * @param value {@link #seriesNumber} (The Series Number for the DICOM Series from which the images were selected.). This is the underlying object with id, value and extensions. The accessor "getSeriesNumber" gives direct access to the value + */ + public ImagingSelection setSeriesNumberElement(UnsignedIntType value) { + this.seriesNumber = value; + return this; + } + + /** + * @return The Series Number for the DICOM Series from which the images were selected. + */ + public int getSeriesNumber() { + return this.seriesNumber == null || this.seriesNumber.isEmpty() ? 0 : this.seriesNumber.getValue(); + } + + /** + * @param value The Series Number for the DICOM Series from which the images were selected. + */ + public ImagingSelection setSeriesNumber(int value) { + if (this.seriesNumber == null) + this.seriesNumber = new UnsignedIntType(); + this.seriesNumber.setValue(value); + return this; + } + /** * @return {@link #frameOfReferenceUid} (The Frame of Reference UID identifying the coordinate system that conveys spatial and/or temporal information for the selected images or frames.). This is the underlying object with id, value and extensions. The accessor "getFrameOfReferenceUid" gives direct access to the value */ @@ -2415,6 +2541,59 @@ public class ImagingSelection extends DomainResource { return this; } + /** + * @return {@link #focus} (The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.) + */ + public List getFocus() { + if (this.focus == null) + this.focus = new ArrayList(); + return this.focus; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ImagingSelection setFocus(List theFocus) { + this.focus = theFocus; + return this; + } + + public boolean hasFocus() { + if (this.focus == null) + return false; + for (Reference item : this.focus) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addFocus() { //3 + Reference t = new Reference(); + if (this.focus == null) + this.focus = new ArrayList(); + this.focus.add(t); + return t; + } + + public ImagingSelection addFocus(Reference t) { //3 + if (t == null) + return this; + if (this.focus == null) + this.focus = new ArrayList(); + this.focus.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #focus}, creating it if it does not already exist {3} + */ + public Reference getFocusFirstRep() { + if (getFocus().isEmpty()) { + addFocus(); + } + return getFocus().get(0); + } + /** * @return {@link #instance} (Each imaging selection includes one or more selected DICOM SOP instances.) */ @@ -2471,16 +2650,16 @@ public class ImagingSelection extends DomainResource { /** * @return {@link #imageRegion} (Each imaging selection might includes a 3D image region, specified by a region type and a set of 3D coordinates.) */ - public List getImageRegion() { + public List getImageRegion() { if (this.imageRegion == null) - this.imageRegion = new ArrayList(); + this.imageRegion = new ArrayList(); return this.imageRegion; } /** * @return Returns a reference to this for easy method chaining */ - public ImagingSelection setImageRegion(List theImageRegion) { + public ImagingSelection setImageRegion(List theImageRegion) { this.imageRegion = theImageRegion; return this; } @@ -2488,25 +2667,25 @@ public class ImagingSelection extends DomainResource { public boolean hasImageRegion() { if (this.imageRegion == null) return false; - for (ImagingSelectionImageRegionComponent item : this.imageRegion) + for (ImageRegionComponent item : this.imageRegion) if (!item.isEmpty()) return true; return false; } - public ImagingSelectionImageRegionComponent addImageRegion() { //3 - ImagingSelectionImageRegionComponent t = new ImagingSelectionImageRegionComponent(); + public ImageRegionComponent addImageRegion() { //3 + ImageRegionComponent t = new ImageRegionComponent(); if (this.imageRegion == null) - this.imageRegion = new ArrayList(); + this.imageRegion = new ArrayList(); this.imageRegion.add(t); return t; } - public ImagingSelection addImageRegion(ImagingSelectionImageRegionComponent t) { //3 + public ImagingSelection addImageRegion(ImageRegionComponent t) { //3 if (t == null) return this; if (this.imageRegion == null) - this.imageRegion = new ArrayList(); + this.imageRegion = new ArrayList(); this.imageRegion.add(t); return this; } @@ -2514,7 +2693,7 @@ public class ImagingSelection extends DomainResource { /** * @return The first repetition of repeating field {@link #imageRegion}, creating it if it does not already exist {3} */ - public ImagingSelectionImageRegionComponent getImageRegionFirstRep() { + public ImageRegionComponent getImageRegionFirstRep() { if (getImageRegion().isEmpty()) { addImageRegion(); } @@ -2535,8 +2714,10 @@ public class ImagingSelection extends DomainResource { children.add(new Property("derivedFrom", "Reference(ImagingStudy)", "The imaging study from which the imaging selection is made.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); children.add(new Property("endpoint", "Reference(Endpoint)", "The network service providing retrieval access to the selected images, frames, etc. See implementation notes for information about using DICOM endpoints.", 0, java.lang.Integer.MAX_VALUE, endpoint)); children.add(new Property("seriesUid", "id", "The Series Instance UID for the DICOM Series from which the images were selected.", 0, 1, seriesUid)); + children.add(new Property("seriesNumber", "unsignedInt", "The Series Number for the DICOM Series from which the images were selected.", 0, 1, seriesNumber)); children.add(new Property("frameOfReferenceUid", "id", "The Frame of Reference UID identifying the coordinate system that conveys spatial and/or temporal information for the selected images or frames.", 0, 1, frameOfReferenceUid)); children.add(new Property("bodySite", "CodeableReference(BodyStructure)", "The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings.", 0, 1, bodySite)); + children.add(new Property("focus", "Reference(ImagingSelection)", "The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.", 0, java.lang.Integer.MAX_VALUE, focus)); children.add(new Property("instance", "", "Each imaging selection includes one or more selected DICOM SOP instances.", 0, java.lang.Integer.MAX_VALUE, instance)); children.add(new Property("imageRegion", "", "Each imaging selection might includes a 3D image region, specified by a region type and a set of 3D coordinates.", 0, java.lang.Integer.MAX_VALUE, imageRegion)); } @@ -2556,8 +2737,10 @@ public class ImagingSelection extends DomainResource { case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "Reference(ImagingStudy)", "The imaging study from which the imaging selection is made.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "The network service providing retrieval access to the selected images, frames, etc. See implementation notes for information about using DICOM endpoints.", 0, java.lang.Integer.MAX_VALUE, endpoint); case -569596327: /*seriesUid*/ return new Property("seriesUid", "id", "The Series Instance UID for the DICOM Series from which the images were selected.", 0, 1, seriesUid); + case 382652576: /*seriesNumber*/ return new Property("seriesNumber", "unsignedInt", "The Series Number for the DICOM Series from which the images were selected.", 0, 1, seriesNumber); case 828378953: /*frameOfReferenceUid*/ return new Property("frameOfReferenceUid", "id", "The Frame of Reference UID identifying the coordinate system that conveys spatial and/or temporal information for the selected images or frames.", 0, 1, frameOfReferenceUid); case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableReference(BodyStructure)", "The anatomic structures examined. See DICOM Part 16 Annex L (http://dicom.nema.org/medical/dicom/current/output/chtml/part16/chapter_L.html) for DICOM to SNOMED-CT mappings.", 0, 1, bodySite); + case 97604824: /*focus*/ return new Property("focus", "Reference(ImagingSelection)", "The actual focus of an observation when it is not the patient of record representing something or someone associated with the patient such as a spouse, parent, fetus, or donor. For example, fetus observations in a mother's record. The focus of an observation could also be an existing condition, an intervention, the subject's diet, another observation of the subject, or a body structure such as tumor or implanted device. An example use case would be using the Observation resource to capture whether the mother is trained to change her child's tracheostomy tube. In this example, the child is the patient of record and the mother is the focus.", 0, java.lang.Integer.MAX_VALUE, focus); case 555127957: /*instance*/ return new Property("instance", "", "Each imaging selection includes one or more selected DICOM SOP instances.", 0, java.lang.Integer.MAX_VALUE, instance); case 2132544559: /*imageRegion*/ return new Property("imageRegion", "", "Each imaging selection might includes a 3D image region, specified by a region type and a set of 3D coordinates.", 0, java.lang.Integer.MAX_VALUE, imageRegion); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -2580,10 +2763,12 @@ public class ImagingSelection extends DomainResource { case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : this.derivedFrom.toArray(new Base[this.derivedFrom.size()]); // Reference case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference case -569596327: /*seriesUid*/ return this.seriesUid == null ? new Base[0] : new Base[] {this.seriesUid}; // IdType + case 382652576: /*seriesNumber*/ return this.seriesNumber == null ? new Base[0] : new Base[] {this.seriesNumber}; // UnsignedIntType case 828378953: /*frameOfReferenceUid*/ return this.frameOfReferenceUid == null ? new Base[0] : new Base[] {this.frameOfReferenceUid}; // IdType case 1702620169: /*bodySite*/ return this.bodySite == null ? new Base[0] : new Base[] {this.bodySite}; // CodeableReference + case 97604824: /*focus*/ return this.focus == null ? new Base[0] : this.focus.toArray(new Base[this.focus.size()]); // Reference case 555127957: /*instance*/ return this.instance == null ? new Base[0] : this.instance.toArray(new Base[this.instance.size()]); // ImagingSelectionInstanceComponent - case 2132544559: /*imageRegion*/ return this.imageRegion == null ? new Base[0] : this.imageRegion.toArray(new Base[this.imageRegion.size()]); // ImagingSelectionImageRegionComponent + case 2132544559: /*imageRegion*/ return this.imageRegion == null ? new Base[0] : this.imageRegion.toArray(new Base[this.imageRegion.size()]); // ImageRegionComponent default: return super.getProperty(hash, name, checkValid); } @@ -2629,17 +2814,23 @@ public class ImagingSelection extends DomainResource { case -569596327: // seriesUid this.seriesUid = TypeConvertor.castToId(value); // IdType return value; + case 382652576: // seriesNumber + this.seriesNumber = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType + return value; case 828378953: // frameOfReferenceUid this.frameOfReferenceUid = TypeConvertor.castToId(value); // IdType return value; case 1702620169: // bodySite this.bodySite = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; + case 97604824: // focus + this.getFocus().add(TypeConvertor.castToReference(value)); // Reference + return value; case 555127957: // instance this.getInstance().add((ImagingSelectionInstanceComponent) value); // ImagingSelectionInstanceComponent return value; case 2132544559: // imageRegion - this.getImageRegion().add((ImagingSelectionImageRegionComponent) value); // ImagingSelectionImageRegionComponent + this.getImageRegion().add((ImageRegionComponent) value); // ImageRegionComponent return value; default: return super.setProperty(hash, name, value); } @@ -2673,14 +2864,18 @@ public class ImagingSelection extends DomainResource { this.getEndpoint().add(TypeConvertor.castToReference(value)); } else if (name.equals("seriesUid")) { this.seriesUid = TypeConvertor.castToId(value); // IdType + } else if (name.equals("seriesNumber")) { + this.seriesNumber = TypeConvertor.castToUnsignedInt(value); // UnsignedIntType } else if (name.equals("frameOfReferenceUid")) { this.frameOfReferenceUid = TypeConvertor.castToId(value); // IdType } else if (name.equals("bodySite")) { this.bodySite = TypeConvertor.castToCodeableReference(value); // CodeableReference + } else if (name.equals("focus")) { + this.getFocus().add(TypeConvertor.castToReference(value)); } else if (name.equals("instance")) { this.getInstance().add((ImagingSelectionInstanceComponent) value); } else if (name.equals("imageRegion")) { - this.getImageRegion().add((ImagingSelectionImageRegionComponent) value); + this.getImageRegion().add((ImageRegionComponent) value); } else return super.setProperty(name, value); return value; @@ -2701,8 +2896,10 @@ public class ImagingSelection extends DomainResource { case 1077922663: return addDerivedFrom(); case 1741102485: return addEndpoint(); case -569596327: return getSeriesUidElement(); + case 382652576: return getSeriesNumberElement(); case 828378953: return getFrameOfReferenceUidElement(); case 1702620169: return getBodySite(); + case 97604824: return addFocus(); case 555127957: return addInstance(); case 2132544559: return addImageRegion(); default: return super.makeProperty(hash, name); @@ -2725,8 +2922,10 @@ public class ImagingSelection extends DomainResource { case 1077922663: /*derivedFrom*/ return new String[] {"Reference"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; case -569596327: /*seriesUid*/ return new String[] {"id"}; + case 382652576: /*seriesNumber*/ return new String[] {"unsignedInt"}; case 828378953: /*frameOfReferenceUid*/ return new String[] {"id"}; case 1702620169: /*bodySite*/ return new String[] {"CodeableReference"}; + case 97604824: /*focus*/ return new String[] {"Reference"}; case 555127957: /*instance*/ return new String[] {}; case 2132544559: /*imageRegion*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -2774,6 +2973,9 @@ public class ImagingSelection extends DomainResource { else if (name.equals("seriesUid")) { throw new FHIRException("Cannot call addChild on a primitive type ImagingSelection.seriesUid"); } + else if (name.equals("seriesNumber")) { + throw new FHIRException("Cannot call addChild on a primitive type ImagingSelection.seriesNumber"); + } else if (name.equals("frameOfReferenceUid")) { throw new FHIRException("Cannot call addChild on a primitive type ImagingSelection.frameOfReferenceUid"); } @@ -2781,6 +2983,9 @@ public class ImagingSelection extends DomainResource { this.bodySite = new CodeableReference(); return this.bodySite; } + else if (name.equals("focus")) { + return addFocus(); + } else if (name.equals("instance")) { return addInstance(); } @@ -2840,16 +3045,22 @@ public class ImagingSelection extends DomainResource { dst.endpoint.add(i.copy()); }; dst.seriesUid = seriesUid == null ? null : seriesUid.copy(); + dst.seriesNumber = seriesNumber == null ? null : seriesNumber.copy(); dst.frameOfReferenceUid = frameOfReferenceUid == null ? null : frameOfReferenceUid.copy(); dst.bodySite = bodySite == null ? null : bodySite.copy(); + if (focus != null) { + dst.focus = new ArrayList(); + for (Reference i : focus) + dst.focus.add(i.copy()); + }; if (instance != null) { dst.instance = new ArrayList(); for (ImagingSelectionInstanceComponent i : instance) dst.instance.add(i.copy()); }; if (imageRegion != null) { - dst.imageRegion = new ArrayList(); - for (ImagingSelectionImageRegionComponent i : imageRegion) + dst.imageRegion = new ArrayList(); + for (ImageRegionComponent i : imageRegion) dst.imageRegion.add(i.copy()); }; } @@ -2869,8 +3080,9 @@ public class ImagingSelection extends DomainResource { && compareDeep(issued, o.issued, true) && compareDeep(performer, o.performer, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(category, o.category, true) && compareDeep(code, o.code, true) && compareDeep(studyUid, o.studyUid, true) && compareDeep(derivedFrom, o.derivedFrom, true) && compareDeep(endpoint, o.endpoint, true) && compareDeep(seriesUid, o.seriesUid, true) - && compareDeep(frameOfReferenceUid, o.frameOfReferenceUid, true) && compareDeep(bodySite, o.bodySite, true) - && compareDeep(instance, o.instance, true) && compareDeep(imageRegion, o.imageRegion, true); + && compareDeep(seriesNumber, o.seriesNumber, true) && compareDeep(frameOfReferenceUid, o.frameOfReferenceUid, true) + && compareDeep(bodySite, o.bodySite, true) && compareDeep(focus, o.focus, true) && compareDeep(instance, o.instance, true) + && compareDeep(imageRegion, o.imageRegion, true); } @Override @@ -2881,14 +3093,15 @@ public class ImagingSelection extends DomainResource { return false; ImagingSelection o = (ImagingSelection) other_; return compareValues(status, o.status, true) && compareValues(issued, o.issued, true) && compareValues(studyUid, o.studyUid, true) - && compareValues(seriesUid, o.seriesUid, true) && compareValues(frameOfReferenceUid, o.frameOfReferenceUid, true) - ; + && compareValues(seriesUid, o.seriesUid, true) && compareValues(seriesNumber, o.seriesNumber, true) + && compareValues(frameOfReferenceUid, o.frameOfReferenceUid, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, subject , issued, performer, basedOn, category, code, studyUid, derivedFrom, endpoint - , seriesUid, frameOfReferenceUid, bodySite, instance, imageRegion); + , seriesUid, seriesNumber, frameOfReferenceUid, bodySite, focus, instance, imageRegion + ); } @Override @@ -2945,19 +3158,19 @@ public class ImagingSelection extends DomainResource { /** * Search parameter: code *

- * Description: The imaging selection description text or code
+ * Description: The imaging selection status
* Type: token
- * Path: ImagingSelection.code
+ * Path: ImagingSelection.status
*

*/ - @SearchParamDefinition(name="code", path="ImagingSelection.code", description="The imaging selection description text or code", type="token" ) + @SearchParamDefinition(name="code", path="ImagingSelection.status", description="The imaging selection status", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code *

- * Description: The imaging selection description text or code
+ * Description: The imaging selection status
* Type: token
- * Path: ImagingSelection.code
+ * Path: ImagingSelection.status
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingStudy.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingStudy.java index e834d49a2..36d5bbefc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingStudy.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImagingStudy.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1785,7 +1785,7 @@ public class ImagingStudy extends DomainResource { */ @Child(name = "procedure", type = {CodeableReference.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The performed procedure or code", formalDefinition="The procedure or code from which this ImagingStudy was part of." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://loinc.org/download/loincrsna-radiology-playbook-file/") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://loinc.org/vs/loinc-rsna-radiology-playbook") protected List procedure; /** @@ -3513,7 +3513,7 @@ public class ImagingStudy extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3522,10 +3522,10 @@ public class ImagingStudy extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3557,7 +3557,7 @@ public class ImagingStudy extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3566,7 +3566,7 @@ public class ImagingStudy extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Immunization.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Immunization.java index f2d176c80..359951a22 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Immunization.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Immunization.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -376,255 +376,100 @@ public class Immunization extends DomainResource { } @Block() - public static class ImmunizationEducationComponent extends BackboneElement implements IBaseBackboneElement { + public static class ImmunizationProgramEligibilityComponent extends BackboneElement implements IBaseBackboneElement { /** - * Identifier of the material presented to the patient. + * Indicates which program the patient had their eligility evaluated for. */ - @Child(name = "documentType", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Educational material document identifier", formalDefinition="Identifier of the material presented to the patient." ) - protected StringType documentType; + @Child(name = "program", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The program that eligibility is declared for", formalDefinition="Indicates which program the patient had their eligility evaluated for." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-vaccine-funding-program") + protected CodeableConcept program; /** - * Reference pointer to the educational material given to the patient if the information was on line. + * Indicates the patient's eligility status for for a specific payment program. */ - @Child(name = "reference", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Educational material reference pointer", formalDefinition="Reference pointer to the educational material given to the patient if the information was on line." ) - protected UriType reference; + @Child(name = "programStatus", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The patient's eligibility status for the program", formalDefinition="Indicates the patient's eligility status for for a specific payment program." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-program-eligibility") + protected CodeableConcept programStatus; - /** - * Date the educational material was published. - */ - @Child(name = "publicationDate", type = {DateTimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Educational material publication date", formalDefinition="Date the educational material was published." ) - protected DateTimeType publicationDate; - - /** - * Date the educational material was given to the patient. - */ - @Child(name = "presentationDate", type = {DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Educational material presentation date", formalDefinition="Date the educational material was given to the patient." ) - protected DateTimeType presentationDate; - - private static final long serialVersionUID = -1277654827L; + private static final long serialVersionUID = -442289864L; /** * Constructor */ - public ImmunizationEducationComponent() { + public ImmunizationProgramEligibilityComponent() { super(); } + /** + * Constructor + */ + public ImmunizationProgramEligibilityComponent(CodeableConcept program, CodeableConcept programStatus) { + super(); + this.setProgram(program); + this.setProgramStatus(programStatus); + } + /** - * @return {@link #documentType} (Identifier of the material presented to the patient.). This is the underlying object with id, value and extensions. The accessor "getDocumentType" gives direct access to the value + * @return {@link #program} (Indicates which program the patient had their eligility evaluated for.) */ - public StringType getDocumentTypeElement() { - if (this.documentType == null) + public CodeableConcept getProgram() { + if (this.program == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ImmunizationEducationComponent.documentType"); + throw new Error("Attempt to auto-create ImmunizationProgramEligibilityComponent.program"); else if (Configuration.doAutoCreate()) - this.documentType = new StringType(); // bb - return this.documentType; + this.program = new CodeableConcept(); // cc + return this.program; } - public boolean hasDocumentTypeElement() { - return this.documentType != null && !this.documentType.isEmpty(); - } - - public boolean hasDocumentType() { - return this.documentType != null && !this.documentType.isEmpty(); + public boolean hasProgram() { + return this.program != null && !this.program.isEmpty(); } /** - * @param value {@link #documentType} (Identifier of the material presented to the patient.). This is the underlying object with id, value and extensions. The accessor "getDocumentType" gives direct access to the value + * @param value {@link #program} (Indicates which program the patient had their eligility evaluated for.) */ - public ImmunizationEducationComponent setDocumentTypeElement(StringType value) { - this.documentType = value; + public ImmunizationProgramEligibilityComponent setProgram(CodeableConcept value) { + this.program = value; return this; } /** - * @return Identifier of the material presented to the patient. + * @return {@link #programStatus} (Indicates the patient's eligility status for for a specific payment program.) */ - public String getDocumentType() { - return this.documentType == null ? null : this.documentType.getValue(); - } - - /** - * @param value Identifier of the material presented to the patient. - */ - public ImmunizationEducationComponent setDocumentType(String value) { - if (Utilities.noString(value)) - this.documentType = null; - else { - if (this.documentType == null) - this.documentType = new StringType(); - this.documentType.setValue(value); - } - return this; - } - - /** - * @return {@link #reference} (Reference pointer to the educational material given to the patient if the information was on line.). This is the underlying object with id, value and extensions. The accessor "getReference" gives direct access to the value - */ - public UriType getReferenceElement() { - if (this.reference == null) + public CodeableConcept getProgramStatus() { + if (this.programStatus == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ImmunizationEducationComponent.reference"); + throw new Error("Attempt to auto-create ImmunizationProgramEligibilityComponent.programStatus"); else if (Configuration.doAutoCreate()) - this.reference = new UriType(); // bb - return this.reference; + this.programStatus = new CodeableConcept(); // cc + return this.programStatus; } - public boolean hasReferenceElement() { - return this.reference != null && !this.reference.isEmpty(); - } - - public boolean hasReference() { - return this.reference != null && !this.reference.isEmpty(); + public boolean hasProgramStatus() { + return this.programStatus != null && !this.programStatus.isEmpty(); } /** - * @param value {@link #reference} (Reference pointer to the educational material given to the patient if the information was on line.). This is the underlying object with id, value and extensions. The accessor "getReference" gives direct access to the value + * @param value {@link #programStatus} (Indicates the patient's eligility status for for a specific payment program.) */ - public ImmunizationEducationComponent setReferenceElement(UriType value) { - this.reference = value; - return this; - } - - /** - * @return Reference pointer to the educational material given to the patient if the information was on line. - */ - public String getReference() { - return this.reference == null ? null : this.reference.getValue(); - } - - /** - * @param value Reference pointer to the educational material given to the patient if the information was on line. - */ - public ImmunizationEducationComponent setReference(String value) { - if (Utilities.noString(value)) - this.reference = null; - else { - if (this.reference == null) - this.reference = new UriType(); - this.reference.setValue(value); - } - return this; - } - - /** - * @return {@link #publicationDate} (Date the educational material was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDate" gives direct access to the value - */ - public DateTimeType getPublicationDateElement() { - if (this.publicationDate == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ImmunizationEducationComponent.publicationDate"); - else if (Configuration.doAutoCreate()) - this.publicationDate = new DateTimeType(); // bb - return this.publicationDate; - } - - public boolean hasPublicationDateElement() { - return this.publicationDate != null && !this.publicationDate.isEmpty(); - } - - public boolean hasPublicationDate() { - return this.publicationDate != null && !this.publicationDate.isEmpty(); - } - - /** - * @param value {@link #publicationDate} (Date the educational material was published.). This is the underlying object with id, value and extensions. The accessor "getPublicationDate" gives direct access to the value - */ - public ImmunizationEducationComponent setPublicationDateElement(DateTimeType value) { - this.publicationDate = value; - return this; - } - - /** - * @return Date the educational material was published. - */ - public Date getPublicationDate() { - return this.publicationDate == null ? null : this.publicationDate.getValue(); - } - - /** - * @param value Date the educational material was published. - */ - public ImmunizationEducationComponent setPublicationDate(Date value) { - if (value == null) - this.publicationDate = null; - else { - if (this.publicationDate == null) - this.publicationDate = new DateTimeType(); - this.publicationDate.setValue(value); - } - return this; - } - - /** - * @return {@link #presentationDate} (Date the educational material was given to the patient.). This is the underlying object with id, value and extensions. The accessor "getPresentationDate" gives direct access to the value - */ - public DateTimeType getPresentationDateElement() { - if (this.presentationDate == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ImmunizationEducationComponent.presentationDate"); - else if (Configuration.doAutoCreate()) - this.presentationDate = new DateTimeType(); // bb - return this.presentationDate; - } - - public boolean hasPresentationDateElement() { - return this.presentationDate != null && !this.presentationDate.isEmpty(); - } - - public boolean hasPresentationDate() { - return this.presentationDate != null && !this.presentationDate.isEmpty(); - } - - /** - * @param value {@link #presentationDate} (Date the educational material was given to the patient.). This is the underlying object with id, value and extensions. The accessor "getPresentationDate" gives direct access to the value - */ - public ImmunizationEducationComponent setPresentationDateElement(DateTimeType value) { - this.presentationDate = value; - return this; - } - - /** - * @return Date the educational material was given to the patient. - */ - public Date getPresentationDate() { - return this.presentationDate == null ? null : this.presentationDate.getValue(); - } - - /** - * @param value Date the educational material was given to the patient. - */ - public ImmunizationEducationComponent setPresentationDate(Date value) { - if (value == null) - this.presentationDate = null; - else { - if (this.presentationDate == null) - this.presentationDate = new DateTimeType(); - this.presentationDate.setValue(value); - } + public ImmunizationProgramEligibilityComponent setProgramStatus(CodeableConcept value) { + this.programStatus = value; return this; } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("documentType", "string", "Identifier of the material presented to the patient.", 0, 1, documentType)); - children.add(new Property("reference", "uri", "Reference pointer to the educational material given to the patient if the information was on line.", 0, 1, reference)); - children.add(new Property("publicationDate", "dateTime", "Date the educational material was published.", 0, 1, publicationDate)); - children.add(new Property("presentationDate", "dateTime", "Date the educational material was given to the patient.", 0, 1, presentationDate)); + children.add(new Property("program", "CodeableConcept", "Indicates which program the patient had their eligility evaluated for.", 0, 1, program)); + children.add(new Property("programStatus", "CodeableConcept", "Indicates the patient's eligility status for for a specific payment program.", 0, 1, programStatus)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1473196299: /*documentType*/ return new Property("documentType", "string", "Identifier of the material presented to the patient.", 0, 1, documentType); - case -925155509: /*reference*/ return new Property("reference", "uri", "Reference pointer to the educational material given to the patient if the information was on line.", 0, 1, reference); - case 1470566394: /*publicationDate*/ return new Property("publicationDate", "dateTime", "Date the educational material was published.", 0, 1, publicationDate); - case 1602373096: /*presentationDate*/ return new Property("presentationDate", "dateTime", "Date the educational material was given to the patient.", 0, 1, presentationDate); + case -309387644: /*program*/ return new Property("program", "CodeableConcept", "Indicates which program the patient had their eligility evaluated for.", 0, 1, program); + case 472508310: /*programStatus*/ return new Property("programStatus", "CodeableConcept", "Indicates the patient's eligility status for for a specific payment program.", 0, 1, programStatus); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -633,10 +478,8 @@ public class Immunization extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1473196299: /*documentType*/ return this.documentType == null ? new Base[0] : new Base[] {this.documentType}; // StringType - case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // UriType - case 1470566394: /*publicationDate*/ return this.publicationDate == null ? new Base[0] : new Base[] {this.publicationDate}; // DateTimeType - case 1602373096: /*presentationDate*/ return this.presentationDate == null ? new Base[0] : new Base[] {this.presentationDate}; // DateTimeType + case -309387644: /*program*/ return this.program == null ? new Base[0] : new Base[] {this.program}; // CodeableConcept + case 472508310: /*programStatus*/ return this.programStatus == null ? new Base[0] : new Base[] {this.programStatus}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); } @@ -645,17 +488,11 @@ public class Immunization extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1473196299: // documentType - this.documentType = TypeConvertor.castToString(value); // StringType + case -309387644: // program + this.program = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -925155509: // reference - this.reference = TypeConvertor.castToUri(value); // UriType - return value; - case 1470566394: // publicationDate - this.publicationDate = TypeConvertor.castToDateTime(value); // DateTimeType - return value; - case 1602373096: // presentationDate - this.presentationDate = TypeConvertor.castToDateTime(value); // DateTimeType + case 472508310: // programStatus + this.programStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; default: return super.setProperty(hash, name, value); } @@ -664,14 +501,10 @@ public class Immunization extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("documentType")) { - this.documentType = TypeConvertor.castToString(value); // StringType - } else if (name.equals("reference")) { - this.reference = TypeConvertor.castToUri(value); // UriType - } else if (name.equals("publicationDate")) { - this.publicationDate = TypeConvertor.castToDateTime(value); // DateTimeType - } else if (name.equals("presentationDate")) { - this.presentationDate = TypeConvertor.castToDateTime(value); // DateTimeType + if (name.equals("program")) { + this.program = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("programStatus")) { + this.programStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else return super.setProperty(name, value); return value; @@ -680,10 +513,8 @@ public class Immunization extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1473196299: return getDocumentTypeElement(); - case -925155509: return getReferenceElement(); - case 1470566394: return getPublicationDateElement(); - case 1602373096: return getPresentationDateElement(); + case -309387644: return getProgram(); + case 472508310: return getProgramStatus(); default: return super.makeProperty(hash, name); } @@ -692,10 +523,8 @@ public class Immunization extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1473196299: /*documentType*/ return new String[] {"string"}; - case -925155509: /*reference*/ return new String[] {"uri"}; - case 1470566394: /*publicationDate*/ return new String[] {"dateTime"}; - case 1602373096: /*presentationDate*/ return new String[] {"dateTime"}; + case -309387644: /*program*/ return new String[] {"CodeableConcept"}; + case 472508310: /*programStatus*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -703,45 +532,38 @@ public class Immunization extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("documentType")) { - throw new FHIRException("Cannot call addChild on a primitive type Immunization.education.documentType"); + if (name.equals("program")) { + this.program = new CodeableConcept(); + return this.program; } - else if (name.equals("reference")) { - throw new FHIRException("Cannot call addChild on a primitive type Immunization.education.reference"); - } - else if (name.equals("publicationDate")) { - throw new FHIRException("Cannot call addChild on a primitive type Immunization.education.publicationDate"); - } - else if (name.equals("presentationDate")) { - throw new FHIRException("Cannot call addChild on a primitive type Immunization.education.presentationDate"); + else if (name.equals("programStatus")) { + this.programStatus = new CodeableConcept(); + return this.programStatus; } else return super.addChild(name); } - public ImmunizationEducationComponent copy() { - ImmunizationEducationComponent dst = new ImmunizationEducationComponent(); + public ImmunizationProgramEligibilityComponent copy() { + ImmunizationProgramEligibilityComponent dst = new ImmunizationProgramEligibilityComponent(); copyValues(dst); return dst; } - public void copyValues(ImmunizationEducationComponent dst) { + public void copyValues(ImmunizationProgramEligibilityComponent dst) { super.copyValues(dst); - dst.documentType = documentType == null ? null : documentType.copy(); - dst.reference = reference == null ? null : reference.copy(); - dst.publicationDate = publicationDate == null ? null : publicationDate.copy(); - dst.presentationDate = presentationDate == null ? null : presentationDate.copy(); + dst.program = program == null ? null : program.copy(); + dst.programStatus = programStatus == null ? null : programStatus.copy(); } @Override public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof ImmunizationEducationComponent)) + if (!(other_ instanceof ImmunizationProgramEligibilityComponent)) return false; - ImmunizationEducationComponent o = (ImmunizationEducationComponent) other_; - return compareDeep(documentType, o.documentType, true) && compareDeep(reference, o.reference, true) - && compareDeep(publicationDate, o.publicationDate, true) && compareDeep(presentationDate, o.presentationDate, true) + ImmunizationProgramEligibilityComponent o = (ImmunizationProgramEligibilityComponent) other_; + return compareDeep(program, o.program, true) && compareDeep(programStatus, o.programStatus, true) ; } @@ -749,21 +571,18 @@ public class Immunization extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof ImmunizationEducationComponent)) + if (!(other_ instanceof ImmunizationProgramEligibilityComponent)) return false; - ImmunizationEducationComponent o = (ImmunizationEducationComponent) other_; - return compareValues(documentType, o.documentType, true) && compareValues(reference, o.reference, true) - && compareValues(publicationDate, o.publicationDate, true) && compareValues(presentationDate, o.presentationDate, true) - ; + ImmunizationProgramEligibilityComponent o = (ImmunizationProgramEligibilityComponent) other_; + return true; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(documentType, reference, publicationDate - , presentationDate); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(program, programStatus); } public String fhirType() { - return "Immunization.education"; + return "Immunization.programEligibility"; } @@ -1082,7 +901,7 @@ public class Immunization extends DomainResource { * The vaccine preventable disease the dose is being administered against. */ @Child(name = "targetDisease", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Vaccine preventatable disease being targetted", formalDefinition="The vaccine preventable disease the dose is being administered against." ) + @Description(shortDefinition="Vaccine preventatable disease being targeted", formalDefinition="The vaccine preventable disease the dose is being administered against." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-target-disease") protected List targetDisease; @@ -1521,31 +1340,17 @@ public class Immunization extends DomainResource { @Description(shortDefinition="Business identifier", formalDefinition="A unique identifier assigned to this immunization record." ) protected List identifier; - /** - * The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization. - */ - @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates FHIR protocol or definition for the immunization event", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization." ) - protected List instantiatesCanonical; - - /** - * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization. - */ - @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates external protocol or definition for the immunization event", formalDefinition="The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization." ) - protected List instantiatesUri; - /** * A plan, order or recommendation fulfilled in whole or in part by this immunization. */ - @Child(name = "basedOn", type = {CarePlan.class, MedicationRequest.class, ServiceRequest.class, ImmunizationRecommendation.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "basedOn", type = {CarePlan.class, MedicationRequest.class, ServiceRequest.class, ImmunizationRecommendation.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Authority that the immunization event is based on", formalDefinition="A plan, order or recommendation fulfilled in whole or in part by this immunization." ) protected List basedOn; /** * Indicates the current status of the immunization event. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="completed | entered-in-error | not-done", formalDefinition="Indicates the current status of the immunization event." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-status") protected Enumeration status; @@ -1553,7 +1358,7 @@ public class Immunization extends DomainResource { /** * Indicates the reason the immunization event was not performed. */ - @Child(name = "statusReason", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "statusReason", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reason for current status", formalDefinition="Indicates the reason the immunization event was not performed." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-status-reason") protected CodeableConcept statusReason; @@ -1561,46 +1366,60 @@ public class Immunization extends DomainResource { /** * Vaccine that was administered or was to be administered. */ - @Child(name = "vaccineCode", type = {CodeableConcept.class}, order=6, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Vaccine product administered", formalDefinition="Vaccine that was administered or was to be administered." ) + @Child(name = "vaccineCode", type = {CodeableConcept.class}, order=4, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Vaccine administered", formalDefinition="Vaccine that was administered or was to be administered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/vaccine-code") protected CodeableConcept vaccineCode; + /** + * An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource. + */ + @Child(name = "administeredProduct", type = {CodeableReference.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Product that was administered", formalDefinition="An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource." ) + protected CodeableReference administeredProduct; + /** * Name of vaccine manufacturer. */ - @Child(name = "manufacturer", type = {Organization.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "manufacturer", type = {CodeableReference.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Vaccine manufacturer", formalDefinition="Name of vaccine manufacturer." ) - protected Reference manufacturer; + protected CodeableReference manufacturer; /** * Lot number of the vaccine product. */ - @Child(name = "lotNumber", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "lotNumber", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Vaccine lot number", formalDefinition="Lot number of the vaccine product." ) protected StringType lotNumber; /** * Date vaccine batch expires. */ - @Child(name = "expirationDate", type = {DateType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "expirationDate", type = {DateType.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Vaccine expiration date", formalDefinition="Date vaccine batch expires." ) protected DateType expirationDate; /** * The patient who either received or did not receive the immunization. */ - @Child(name = "patient", type = {Patient.class}, order=10, min=1, max=1, modifier=false, summary=true) + @Child(name = "patient", type = {Patient.class}, order=9, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Who was immunized", formalDefinition="The patient who either received or did not receive the immunization." ) protected Reference patient; /** * The visit or admission or other contact between patient and health care provider the immunization was performed as part of. */ - @Child(name = "encounter", type = {Encounter.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "encounter", type = {Encounter.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Encounter immunization was part of", formalDefinition="The visit or admission or other contact between patient and health care provider the immunization was performed as part of." ) protected Reference encounter; + /** + * Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information. + */ + @Child(name = "supportingInformation", type = {Reference.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional information in support of the immunization", formalDefinition="Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information." ) + protected List supportingInformation; + /** * Date vaccine administered or was to be administered. */ @@ -1609,10 +1428,10 @@ public class Immunization extends DomainResource { protected DataType occurrence; /** - * Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value "true" means this is a primary record of the immunization. + * Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine. */ @Child(name = "primarySource", type = {BooleanType.class}, order=13, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Indicates context the data was recorded in", formalDefinition="Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value \"true\" means this is a primary record of the immunization." ) + @Description(shortDefinition="Indicates context the data was captured in", formalDefinition="Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine." ) protected BooleanType primarySource; /** @@ -1690,25 +1509,17 @@ public class Immunization extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-subpotent-reason") protected List subpotentReason; - /** - * Educational material presented to the patient (or guardian) at the time of vaccine administration. - */ - @Child(name = "education", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Educational material presented to patient", formalDefinition="Educational material presented to the patient (or guardian) at the time of vaccine administration." ) - protected List education; - /** * Indicates a patient's eligibility for a funding program. */ - @Child(name = "programEligibility", type = {CodeableConcept.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Patient eligibility for a vaccination program", formalDefinition="Indicates a patient's eligibility for a funding program." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-program-eligibility") - protected List programEligibility; + @Child(name = "programEligibility", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Patient eligibility for a specific vaccination program", formalDefinition="Indicates a patient's eligibility for a funding program." ) + protected List programEligibility; /** * Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered). */ - @Child(name = "fundingSource", type = {CodeableConcept.class}, order=26, min=0, max=1, modifier=false, summary=false) + @Child(name = "fundingSource", type = {CodeableConcept.class}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Funding source for the vaccine", formalDefinition="Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/immunization-funding-source") protected CodeableConcept fundingSource; @@ -1716,18 +1527,18 @@ public class Immunization extends DomainResource { /** * Categorical data indicating that an adverse event is associated in time to an immunization. */ - @Child(name = "reaction", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "reaction", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Details of a reaction that follows immunization", formalDefinition="Categorical data indicating that an adverse event is associated in time to an immunization." ) protected List reaction; /** * The protocol (set of recommendations) being followed by the provider who administered the dose. */ - @Child(name = "protocolApplied", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "protocolApplied", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Protocol followed by the provider", formalDefinition="The protocol (set of recommendations) being followed by the provider who administered the dose." ) protected List protocolApplied; - private static final long serialVersionUID = 1990638195L; + private static final long serialVersionUID = 425193818L; /** * Constructor @@ -1800,128 +1611,6 @@ public class Immunization extends DomainResource { return getIdentifier().get(0); } - /** - * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public List getInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - return this.instantiatesCanonical; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Immunization setInstantiatesCanonical(List theInstantiatesCanonical) { - this.instantiatesCanonical = theInstantiatesCanonical; - return this; - } - - public boolean hasInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType item : this.instantiatesCanonical) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public CanonicalType addInstantiatesCanonicalElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return t; - } - - /** - * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public Immunization addInstantiatesCanonical(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return this; - } - - /** - * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public boolean hasInstantiatesCanonical(String value) { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType v : this.instantiatesCanonical) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public List getInstantiatesUri() { - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - return this.instantiatesUri; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Immunization setInstantiatesUri(List theInstantiatesUri) { - this.instantiatesUri = theInstantiatesUri; - return this; - } - - public boolean hasInstantiatesUri() { - if (this.instantiatesUri == null) - return false; - for (UriType item : this.instantiatesUri) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public UriType addInstantiatesUriElement() {//2 - UriType t = new UriType(); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return t; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public Immunization addInstantiatesUri(String value) { //1 - UriType t = new UriType(); - t.setValue(value); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return this; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.) - */ - public boolean hasInstantiatesUri(String value) { - if (this.instantiatesUri == null) - return false; - for (UriType v : this.instantiatesUri) - if (v.getValue().equals(value)) // uri - return true; - return false; - } - /** * @return {@link #basedOn} (A plan, order or recommendation fulfilled in whole or in part by this immunization.) */ @@ -2068,15 +1757,39 @@ public class Immunization extends DomainResource { return this; } + /** + * @return {@link #administeredProduct} (An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource.) + */ + public CodeableReference getAdministeredProduct() { + if (this.administeredProduct == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Immunization.administeredProduct"); + else if (Configuration.doAutoCreate()) + this.administeredProduct = new CodeableReference(); // cc + return this.administeredProduct; + } + + public boolean hasAdministeredProduct() { + return this.administeredProduct != null && !this.administeredProduct.isEmpty(); + } + + /** + * @param value {@link #administeredProduct} (An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource.) + */ + public Immunization setAdministeredProduct(CodeableReference value) { + this.administeredProduct = value; + return this; + } + /** * @return {@link #manufacturer} (Name of vaccine manufacturer.) */ - public Reference getManufacturer() { + public CodeableReference getManufacturer() { if (this.manufacturer == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create Immunization.manufacturer"); else if (Configuration.doAutoCreate()) - this.manufacturer = new Reference(); // cc + this.manufacturer = new CodeableReference(); // cc return this.manufacturer; } @@ -2087,7 +1800,7 @@ public class Immunization extends DomainResource { /** * @param value {@link #manufacturer} (Name of vaccine manufacturer.) */ - public Immunization setManufacturer(Reference value) { + public Immunization setManufacturer(CodeableReference value) { this.manufacturer = value; return this; } @@ -2238,6 +1951,59 @@ public class Immunization extends DomainResource { return this; } + /** + * @return {@link #supportingInformation} (Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information.) + */ + public List getSupportingInformation() { + if (this.supportingInformation == null) + this.supportingInformation = new ArrayList(); + return this.supportingInformation; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Immunization setSupportingInformation(List theSupportingInformation) { + this.supportingInformation = theSupportingInformation; + return this; + } + + public boolean hasSupportingInformation() { + if (this.supportingInformation == null) + return false; + for (Reference item : this.supportingInformation) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addSupportingInformation() { //3 + Reference t = new Reference(); + if (this.supportingInformation == null) + this.supportingInformation = new ArrayList(); + this.supportingInformation.add(t); + return t; + } + + public Immunization addSupportingInformation(Reference t) { //3 + if (t == null) + return this; + if (this.supportingInformation == null) + this.supportingInformation = new ArrayList(); + this.supportingInformation.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #supportingInformation}, creating it if it does not already exist {3} + */ + public Reference getSupportingInformationFirstRep() { + if (getSupportingInformation().isEmpty()) { + addSupportingInformation(); + } + return getSupportingInformation().get(0); + } + /** * @return {@link #occurrence} (Date vaccine administered or was to be administered.) */ @@ -2290,7 +2056,7 @@ public class Immunization extends DomainResource { } /** - * @return {@link #primarySource} (Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value "true" means this is a primary record of the immunization.). This is the underlying object with id, value and extensions. The accessor "getPrimarySource" gives direct access to the value + * @return {@link #primarySource} (Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine.). This is the underlying object with id, value and extensions. The accessor "getPrimarySource" gives direct access to the value */ public BooleanType getPrimarySourceElement() { if (this.primarySource == null) @@ -2310,7 +2076,7 @@ public class Immunization extends DomainResource { } /** - * @param value {@link #primarySource} (Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value "true" means this is a primary record of the immunization.). This is the underlying object with id, value and extensions. The accessor "getPrimarySource" gives direct access to the value + * @param value {@link #primarySource} (Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine.). This is the underlying object with id, value and extensions. The accessor "getPrimarySource" gives direct access to the value */ public Immunization setPrimarySourceElement(BooleanType value) { this.primarySource = value; @@ -2318,14 +2084,14 @@ public class Immunization extends DomainResource { } /** - * @return Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value "true" means this is a primary record of the immunization. + * @return Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine. */ public boolean getPrimarySource() { return this.primarySource == null || this.primarySource.isEmpty() ? false : this.primarySource.getValue(); } /** - * @param value Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value "true" means this is a primary record of the immunization. + * @param value Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine. */ public Immunization setPrimarySource(boolean value) { if (this.primarySource == null) @@ -2711,72 +2477,19 @@ public class Immunization extends DomainResource { return getSubpotentReason().get(0); } - /** - * @return {@link #education} (Educational material presented to the patient (or guardian) at the time of vaccine administration.) - */ - public List getEducation() { - if (this.education == null) - this.education = new ArrayList(); - return this.education; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Immunization setEducation(List theEducation) { - this.education = theEducation; - return this; - } - - public boolean hasEducation() { - if (this.education == null) - return false; - for (ImmunizationEducationComponent item : this.education) - if (!item.isEmpty()) - return true; - return false; - } - - public ImmunizationEducationComponent addEducation() { //3 - ImmunizationEducationComponent t = new ImmunizationEducationComponent(); - if (this.education == null) - this.education = new ArrayList(); - this.education.add(t); - return t; - } - - public Immunization addEducation(ImmunizationEducationComponent t) { //3 - if (t == null) - return this; - if (this.education == null) - this.education = new ArrayList(); - this.education.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #education}, creating it if it does not already exist {3} - */ - public ImmunizationEducationComponent getEducationFirstRep() { - if (getEducation().isEmpty()) { - addEducation(); - } - return getEducation().get(0); - } - /** * @return {@link #programEligibility} (Indicates a patient's eligibility for a funding program.) */ - public List getProgramEligibility() { + public List getProgramEligibility() { if (this.programEligibility == null) - this.programEligibility = new ArrayList(); + this.programEligibility = new ArrayList(); return this.programEligibility; } /** * @return Returns a reference to this for easy method chaining */ - public Immunization setProgramEligibility(List theProgramEligibility) { + public Immunization setProgramEligibility(List theProgramEligibility) { this.programEligibility = theProgramEligibility; return this; } @@ -2784,25 +2497,25 @@ public class Immunization extends DomainResource { public boolean hasProgramEligibility() { if (this.programEligibility == null) return false; - for (CodeableConcept item : this.programEligibility) + for (ImmunizationProgramEligibilityComponent item : this.programEligibility) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addProgramEligibility() { //3 - CodeableConcept t = new CodeableConcept(); + public ImmunizationProgramEligibilityComponent addProgramEligibility() { //3 + ImmunizationProgramEligibilityComponent t = new ImmunizationProgramEligibilityComponent(); if (this.programEligibility == null) - this.programEligibility = new ArrayList(); + this.programEligibility = new ArrayList(); this.programEligibility.add(t); return t; } - public Immunization addProgramEligibility(CodeableConcept t) { //3 + public Immunization addProgramEligibility(ImmunizationProgramEligibilityComponent t) { //3 if (t == null) return this; if (this.programEligibility == null) - this.programEligibility = new ArrayList(); + this.programEligibility = new ArrayList(); this.programEligibility.add(t); return this; } @@ -2810,7 +2523,7 @@ public class Immunization extends DomainResource { /** * @return The first repetition of repeating field {@link #programEligibility}, creating it if it does not already exist {3} */ - public CodeableConcept getProgramEligibilityFirstRep() { + public ImmunizationProgramEligibilityComponent getProgramEligibilityFirstRep() { if (getProgramEligibility().isEmpty()) { addProgramEligibility(); } @@ -2950,19 +2663,19 @@ public class Immunization extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this immunization record.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition|ArtifactAssessment|EventDefinition|EvidenceVariable|Measure|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); - children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); children.add(new Property("basedOn", "Reference(CarePlan|MedicationRequest|ServiceRequest|ImmunizationRecommendation)", "A plan, order or recommendation fulfilled in whole or in part by this immunization.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("status", "code", "Indicates the current status of the immunization event.", 0, 1, status)); children.add(new Property("statusReason", "CodeableConcept", "Indicates the reason the immunization event was not performed.", 0, 1, statusReason)); children.add(new Property("vaccineCode", "CodeableConcept", "Vaccine that was administered or was to be administered.", 0, 1, vaccineCode)); - children.add(new Property("manufacturer", "Reference(Organization)", "Name of vaccine manufacturer.", 0, 1, manufacturer)); + children.add(new Property("administeredProduct", "CodeableReference(Medication)", "An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource.", 0, 1, administeredProduct)); + children.add(new Property("manufacturer", "CodeableReference(Organization)", "Name of vaccine manufacturer.", 0, 1, manufacturer)); children.add(new Property("lotNumber", "string", "Lot number of the vaccine product.", 0, 1, lotNumber)); children.add(new Property("expirationDate", "date", "Date vaccine batch expires.", 0, 1, expirationDate)); children.add(new Property("patient", "Reference(Patient)", "The patient who either received or did not receive the immunization.", 0, 1, patient)); children.add(new Property("encounter", "Reference(Encounter)", "The visit or admission or other contact between patient and health care provider the immunization was performed as part of.", 0, 1, encounter)); + children.add(new Property("supportingInformation", "Reference(Any)", "Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information.", 0, java.lang.Integer.MAX_VALUE, supportingInformation)); children.add(new Property("occurrence[x]", "dateTime|string", "Date vaccine administered or was to be administered.", 0, 1, occurrence)); - children.add(new Property("primarySource", "boolean", "Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value \"true\" means this is a primary record of the immunization.", 0, 1, primarySource)); + children.add(new Property("primarySource", "boolean", "Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine.", 0, 1, primarySource)); children.add(new Property("informationSource", "CodeableReference(Patient|Practitioner|PractitionerRole|RelatedPerson|Organization)", "Typically the source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.", 0, 1, informationSource)); children.add(new Property("location", "Reference(Location)", "The service delivery location where the vaccine administration occurred.", 0, 1, location)); children.add(new Property("site", "CodeableConcept", "Body site where vaccine was administered.", 0, 1, site)); @@ -2973,8 +2686,7 @@ public class Immunization extends DomainResource { children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport)", "Describes why the immunization occurred in coded or textual form, or Indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunization.", 0, java.lang.Integer.MAX_VALUE, reason)); children.add(new Property("isSubpotent", "boolean", "Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent.", 0, 1, isSubpotent)); children.add(new Property("subpotentReason", "CodeableConcept", "Reason why a dose is considered to be subpotent.", 0, java.lang.Integer.MAX_VALUE, subpotentReason)); - children.add(new Property("education", "", "Educational material presented to the patient (or guardian) at the time of vaccine administration.", 0, java.lang.Integer.MAX_VALUE, education)); - children.add(new Property("programEligibility", "CodeableConcept", "Indicates a patient's eligibility for a funding program.", 0, java.lang.Integer.MAX_VALUE, programEligibility)); + children.add(new Property("programEligibility", "", "Indicates a patient's eligibility for a funding program.", 0, java.lang.Integer.MAX_VALUE, programEligibility)); children.add(new Property("fundingSource", "CodeableConcept", "Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered).", 0, 1, fundingSource)); children.add(new Property("reaction", "", "Categorical data indicating that an adverse event is associated in time to an immunization.", 0, java.lang.Integer.MAX_VALUE, reaction)); children.add(new Property("protocolApplied", "", "The protocol (set of recommendations) being followed by the provider who administered the dose.", 0, java.lang.Integer.MAX_VALUE, protocolApplied)); @@ -2984,22 +2696,22 @@ public class Immunization extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this immunization record.", 0, java.lang.Integer.MAX_VALUE, identifier); - case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition|ArtifactAssessment|EventDefinition|EvidenceVariable|Measure|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); - case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Immunization.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|MedicationRequest|ServiceRequest|ImmunizationRecommendation)", "A plan, order or recommendation fulfilled in whole or in part by this immunization.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -892481550: /*status*/ return new Property("status", "code", "Indicates the current status of the immunization event.", 0, 1, status); case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "Indicates the reason the immunization event was not performed.", 0, 1, statusReason); case 664556354: /*vaccineCode*/ return new Property("vaccineCode", "CodeableConcept", "Vaccine that was administered or was to be administered.", 0, 1, vaccineCode); - case -1969347631: /*manufacturer*/ return new Property("manufacturer", "Reference(Organization)", "Name of vaccine manufacturer.", 0, 1, manufacturer); + case 1610069896: /*administeredProduct*/ return new Property("administeredProduct", "CodeableReference(Medication)", "An indication of which product was administered to the patient. This is typically a more detailed representation of the concept conveyed by the vaccineCode data element. If a Medication resource is referenced, it may be to a stand-alone resource or a contained resource within the Immunization resource.", 0, 1, administeredProduct); + case -1969347631: /*manufacturer*/ return new Property("manufacturer", "CodeableReference(Organization)", "Name of vaccine manufacturer.", 0, 1, manufacturer); case 462547450: /*lotNumber*/ return new Property("lotNumber", "string", "Lot number of the vaccine product.", 0, 1, lotNumber); case -668811523: /*expirationDate*/ return new Property("expirationDate", "date", "Date vaccine batch expires.", 0, 1, expirationDate); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The patient who either received or did not receive the immunization.", 0, 1, patient); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The visit or admission or other contact between patient and health care provider the immunization was performed as part of.", 0, 1, encounter); + case -1248768647: /*supportingInformation*/ return new Property("supportingInformation", "Reference(Any)", "Additional information that is relevant to the immunization (e.g. for a vaccine recipient who is pregnant, the gestational age of the fetus). The reason why a vaccine was given (e.g. occupation, underlying medical condition) should be conveyed in Immunization.reason, not as supporting information. The reason why a vaccine was not given (e.g. contraindication) should be conveyed in Immunization.statusReason, not as supporting information.", 0, java.lang.Integer.MAX_VALUE, supportingInformation); case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|string", "Date vaccine administered or was to be administered.", 0, 1, occurrence); case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|string", "Date vaccine administered or was to be administered.", 0, 1, occurrence); case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime", "Date vaccine administered or was to be administered.", 0, 1, occurrence); case 1496896834: /*occurrenceString*/ return new Property("occurrence[x]", "string", "Date vaccine administered or was to be administered.", 0, 1, occurrence); - case -528721731: /*primarySource*/ return new Property("primarySource", "boolean", "Indicates whether this record was captured as an original primary source-of-truth record rather than a secondary 'reported' record. A value \"true\" means this is a primary record of the immunization.", 0, 1, primarySource); + case -528721731: /*primarySource*/ return new Property("primarySource", "boolean", "Indicates whether the data contained in the resource was captured by the individual/organization which was responsible for the administration of the vaccine rather than as 'secondary reported' data documented by a third party. A value of 'true' means this data originated with the individual/organization which was responsible for the administration of the vaccine.", 0, 1, primarySource); case -2123220889: /*informationSource*/ return new Property("informationSource", "CodeableReference(Patient|Practitioner|PractitionerRole|RelatedPerson|Organization)", "Typically the source of the data when the report of the immunization event is not based on information from the person who administered the vaccine.", 0, 1, informationSource); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The service delivery location where the vaccine administration occurred.", 0, 1, location); case 3530567: /*site*/ return new Property("site", "CodeableConcept", "Body site where vaccine was administered.", 0, 1, site); @@ -3010,8 +2722,7 @@ public class Immunization extends DomainResource { case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport)", "Describes why the immunization occurred in coded or textual form, or Indicates another resource (Condition, Observation or DiagnosticReport) whose existence justifies this immunization.", 0, java.lang.Integer.MAX_VALUE, reason); case 1618512556: /*isSubpotent*/ return new Property("isSubpotent", "boolean", "Indication if a dose is considered to be subpotent. By default, a dose should be considered to be potent.", 0, 1, isSubpotent); case 805168794: /*subpotentReason*/ return new Property("subpotentReason", "CodeableConcept", "Reason why a dose is considered to be subpotent.", 0, java.lang.Integer.MAX_VALUE, subpotentReason); - case -290756696: /*education*/ return new Property("education", "", "Educational material presented to the patient (or guardian) at the time of vaccine administration.", 0, java.lang.Integer.MAX_VALUE, education); - case 1207530089: /*programEligibility*/ return new Property("programEligibility", "CodeableConcept", "Indicates a patient's eligibility for a funding program.", 0, java.lang.Integer.MAX_VALUE, programEligibility); + case 1207530089: /*programEligibility*/ return new Property("programEligibility", "", "Indicates a patient's eligibility for a funding program.", 0, java.lang.Integer.MAX_VALUE, programEligibility); case 1120150904: /*fundingSource*/ return new Property("fundingSource", "CodeableConcept", "Indicates the source of the vaccine actually administered. This may be different than the patient eligibility (e.g. the patient may be eligible for a publically purchased vaccine but due to inventory issues, vaccine purchased with private funds was actually administered).", 0, 1, fundingSource); case -867509719: /*reaction*/ return new Property("reaction", "", "Categorical data indicating that an adverse event is associated in time to an immunization.", 0, java.lang.Integer.MAX_VALUE, reaction); case 607985349: /*protocolApplied*/ return new Property("protocolApplied", "", "The protocol (set of recommendations) being followed by the provider who administered the dose.", 0, java.lang.Integer.MAX_VALUE, protocolApplied); @@ -3024,17 +2735,17 @@ public class Immunization extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier - case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType - case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // CodeableConcept case 664556354: /*vaccineCode*/ return this.vaccineCode == null ? new Base[0] : new Base[] {this.vaccineCode}; // CodeableConcept - case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : new Base[] {this.manufacturer}; // Reference + case 1610069896: /*administeredProduct*/ return this.administeredProduct == null ? new Base[0] : new Base[] {this.administeredProduct}; // CodeableReference + case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : new Base[] {this.manufacturer}; // CodeableReference case 462547450: /*lotNumber*/ return this.lotNumber == null ? new Base[0] : new Base[] {this.lotNumber}; // StringType case -668811523: /*expirationDate*/ return this.expirationDate == null ? new Base[0] : new Base[] {this.expirationDate}; // DateType case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference + case -1248768647: /*supportingInformation*/ return this.supportingInformation == null ? new Base[0] : this.supportingInformation.toArray(new Base[this.supportingInformation.size()]); // Reference case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType case -528721731: /*primarySource*/ return this.primarySource == null ? new Base[0] : new Base[] {this.primarySource}; // BooleanType case -2123220889: /*informationSource*/ return this.informationSource == null ? new Base[0] : new Base[] {this.informationSource}; // CodeableReference @@ -3047,8 +2758,7 @@ public class Immunization extends DomainResource { case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference case 1618512556: /*isSubpotent*/ return this.isSubpotent == null ? new Base[0] : new Base[] {this.isSubpotent}; // BooleanType case 805168794: /*subpotentReason*/ return this.subpotentReason == null ? new Base[0] : this.subpotentReason.toArray(new Base[this.subpotentReason.size()]); // CodeableConcept - case -290756696: /*education*/ return this.education == null ? new Base[0] : this.education.toArray(new Base[this.education.size()]); // ImmunizationEducationComponent - case 1207530089: /*programEligibility*/ return this.programEligibility == null ? new Base[0] : this.programEligibility.toArray(new Base[this.programEligibility.size()]); // CodeableConcept + case 1207530089: /*programEligibility*/ return this.programEligibility == null ? new Base[0] : this.programEligibility.toArray(new Base[this.programEligibility.size()]); // ImmunizationProgramEligibilityComponent case 1120150904: /*fundingSource*/ return this.fundingSource == null ? new Base[0] : new Base[] {this.fundingSource}; // CodeableConcept case -867509719: /*reaction*/ return this.reaction == null ? new Base[0] : this.reaction.toArray(new Base[this.reaction.size()]); // ImmunizationReactionComponent case 607985349: /*protocolApplied*/ return this.protocolApplied == null ? new Base[0] : this.protocolApplied.toArray(new Base[this.protocolApplied.size()]); // ImmunizationProtocolAppliedComponent @@ -3063,12 +2773,6 @@ public class Immunization extends DomainResource { case -1618432855: // identifier this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; - case 8911915: // instantiatesCanonical - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case -1926393373: // instantiatesUri - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType - return value; case -332612366: // basedOn this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -3082,8 +2786,11 @@ public class Immunization extends DomainResource { case 664556354: // vaccineCode this.vaccineCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; + case 1610069896: // administeredProduct + this.administeredProduct = TypeConvertor.castToCodeableReference(value); // CodeableReference + return value; case -1969347631: // manufacturer - this.manufacturer = TypeConvertor.castToReference(value); // Reference + this.manufacturer = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; case 462547450: // lotNumber this.lotNumber = TypeConvertor.castToString(value); // StringType @@ -3097,6 +2804,9 @@ public class Immunization extends DomainResource { case 1524132147: // encounter this.encounter = TypeConvertor.castToReference(value); // Reference return value; + case -1248768647: // supportingInformation + this.getSupportingInformation().add(TypeConvertor.castToReference(value)); // Reference + return value; case 1687874001: // occurrence this.occurrence = TypeConvertor.castToType(value); // DataType return value; @@ -3133,11 +2843,8 @@ public class Immunization extends DomainResource { case 805168794: // subpotentReason this.getSubpotentReason().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; - case -290756696: // education - this.getEducation().add((ImmunizationEducationComponent) value); // ImmunizationEducationComponent - return value; case 1207530089: // programEligibility - this.getProgramEligibility().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + this.getProgramEligibility().add((ImmunizationProgramEligibilityComponent) value); // ImmunizationProgramEligibilityComponent return value; case 1120150904: // fundingSource this.fundingSource = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -3157,10 +2864,6 @@ public class Immunization extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("identifier")) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); - } else if (name.equals("instantiatesCanonical")) { - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("instantiatesUri")) { - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); } else if (name.equals("basedOn")) { this.getBasedOn().add(TypeConvertor.castToReference(value)); } else if (name.equals("status")) { @@ -3170,8 +2873,10 @@ public class Immunization extends DomainResource { this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("vaccineCode")) { this.vaccineCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("administeredProduct")) { + this.administeredProduct = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("manufacturer")) { - this.manufacturer = TypeConvertor.castToReference(value); // Reference + this.manufacturer = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("lotNumber")) { this.lotNumber = TypeConvertor.castToString(value); // StringType } else if (name.equals("expirationDate")) { @@ -3180,6 +2885,8 @@ public class Immunization extends DomainResource { this.patient = TypeConvertor.castToReference(value); // Reference } else if (name.equals("encounter")) { this.encounter = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("supportingInformation")) { + this.getSupportingInformation().add(TypeConvertor.castToReference(value)); } else if (name.equals("occurrence[x]")) { this.occurrence = TypeConvertor.castToType(value); // DataType } else if (name.equals("primarySource")) { @@ -3204,10 +2911,8 @@ public class Immunization extends DomainResource { this.isSubpotent = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("subpotentReason")) { this.getSubpotentReason().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("education")) { - this.getEducation().add((ImmunizationEducationComponent) value); } else if (name.equals("programEligibility")) { - this.getProgramEligibility().add(TypeConvertor.castToCodeableConcept(value)); + this.getProgramEligibility().add((ImmunizationProgramEligibilityComponent) value); } else if (name.equals("fundingSource")) { this.fundingSource = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("reaction")) { @@ -3223,17 +2928,17 @@ public class Immunization extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: return addIdentifier(); - case 8911915: return addInstantiatesCanonicalElement(); - case -1926393373: return addInstantiatesUriElement(); case -332612366: return addBasedOn(); case -892481550: return getStatusElement(); case 2051346646: return getStatusReason(); case 664556354: return getVaccineCode(); + case 1610069896: return getAdministeredProduct(); case -1969347631: return getManufacturer(); case 462547450: return getLotNumberElement(); case -668811523: return getExpirationDateElement(); case -791418107: return getPatient(); case 1524132147: return getEncounter(); + case -1248768647: return addSupportingInformation(); case -2022646513: return getOccurrence(); case 1687874001: return getOccurrence(); case -528721731: return getPrimarySourceElement(); @@ -3247,7 +2952,6 @@ public class Immunization extends DomainResource { case -934964668: return addReason(); case 1618512556: return getIsSubpotentElement(); case 805168794: return addSubpotentReason(); - case -290756696: return addEducation(); case 1207530089: return addProgramEligibility(); case 1120150904: return getFundingSource(); case -867509719: return addReaction(); @@ -3261,17 +2965,17 @@ public class Immunization extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; - case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; - case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; case -332612366: /*basedOn*/ return new String[] {"Reference"}; case -892481550: /*status*/ return new String[] {"code"}; case 2051346646: /*statusReason*/ return new String[] {"CodeableConcept"}; case 664556354: /*vaccineCode*/ return new String[] {"CodeableConcept"}; - case -1969347631: /*manufacturer*/ return new String[] {"Reference"}; + case 1610069896: /*administeredProduct*/ return new String[] {"CodeableReference"}; + case -1969347631: /*manufacturer*/ return new String[] {"CodeableReference"}; case 462547450: /*lotNumber*/ return new String[] {"string"}; case -668811523: /*expirationDate*/ return new String[] {"date"}; case -791418107: /*patient*/ return new String[] {"Reference"}; case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -1248768647: /*supportingInformation*/ return new String[] {"Reference"}; case 1687874001: /*occurrence*/ return new String[] {"dateTime", "string"}; case -528721731: /*primarySource*/ return new String[] {"boolean"}; case -2123220889: /*informationSource*/ return new String[] {"CodeableReference"}; @@ -3284,8 +2988,7 @@ public class Immunization extends DomainResource { case -934964668: /*reason*/ return new String[] {"CodeableReference"}; case 1618512556: /*isSubpotent*/ return new String[] {"boolean"}; case 805168794: /*subpotentReason*/ return new String[] {"CodeableConcept"}; - case -290756696: /*education*/ return new String[] {}; - case 1207530089: /*programEligibility*/ return new String[] {"CodeableConcept"}; + case 1207530089: /*programEligibility*/ return new String[] {}; case 1120150904: /*fundingSource*/ return new String[] {"CodeableConcept"}; case -867509719: /*reaction*/ return new String[] {}; case 607985349: /*protocolApplied*/ return new String[] {}; @@ -3299,12 +3002,6 @@ public class Immunization extends DomainResource { if (name.equals("identifier")) { return addIdentifier(); } - else if (name.equals("instantiatesCanonical")) { - throw new FHIRException("Cannot call addChild on a primitive type Immunization.instantiatesCanonical"); - } - else if (name.equals("instantiatesUri")) { - throw new FHIRException("Cannot call addChild on a primitive type Immunization.instantiatesUri"); - } else if (name.equals("basedOn")) { return addBasedOn(); } @@ -3319,8 +3016,12 @@ public class Immunization extends DomainResource { this.vaccineCode = new CodeableConcept(); return this.vaccineCode; } + else if (name.equals("administeredProduct")) { + this.administeredProduct = new CodeableReference(); + return this.administeredProduct; + } else if (name.equals("manufacturer")) { - this.manufacturer = new Reference(); + this.manufacturer = new CodeableReference(); return this.manufacturer; } else if (name.equals("lotNumber")) { @@ -3337,6 +3038,9 @@ public class Immunization extends DomainResource { this.encounter = new Reference(); return this.encounter; } + else if (name.equals("supportingInformation")) { + return addSupportingInformation(); + } else if (name.equals("occurrenceDateTime")) { this.occurrence = new DateTimeType(); return this.occurrence; @@ -3383,9 +3087,6 @@ public class Immunization extends DomainResource { else if (name.equals("subpotentReason")) { return addSubpotentReason(); } - else if (name.equals("education")) { - return addEducation(); - } else if (name.equals("programEligibility")) { return addProgramEligibility(); } @@ -3421,16 +3122,6 @@ public class Immunization extends DomainResource { for (Identifier i : identifier) dst.identifier.add(i.copy()); }; - if (instantiatesCanonical != null) { - dst.instantiatesCanonical = new ArrayList(); - for (CanonicalType i : instantiatesCanonical) - dst.instantiatesCanonical.add(i.copy()); - }; - if (instantiatesUri != null) { - dst.instantiatesUri = new ArrayList(); - for (UriType i : instantiatesUri) - dst.instantiatesUri.add(i.copy()); - }; if (basedOn != null) { dst.basedOn = new ArrayList(); for (Reference i : basedOn) @@ -3439,11 +3130,17 @@ public class Immunization extends DomainResource { dst.status = status == null ? null : status.copy(); dst.statusReason = statusReason == null ? null : statusReason.copy(); dst.vaccineCode = vaccineCode == null ? null : vaccineCode.copy(); + dst.administeredProduct = administeredProduct == null ? null : administeredProduct.copy(); dst.manufacturer = manufacturer == null ? null : manufacturer.copy(); dst.lotNumber = lotNumber == null ? null : lotNumber.copy(); dst.expirationDate = expirationDate == null ? null : expirationDate.copy(); dst.patient = patient == null ? null : patient.copy(); dst.encounter = encounter == null ? null : encounter.copy(); + if (supportingInformation != null) { + dst.supportingInformation = new ArrayList(); + for (Reference i : supportingInformation) + dst.supportingInformation.add(i.copy()); + }; dst.occurrence = occurrence == null ? null : occurrence.copy(); dst.primarySource = primarySource == null ? null : primarySource.copy(); dst.informationSource = informationSource == null ? null : informationSource.copy(); @@ -3472,14 +3169,9 @@ public class Immunization extends DomainResource { for (CodeableConcept i : subpotentReason) dst.subpotentReason.add(i.copy()); }; - if (education != null) { - dst.education = new ArrayList(); - for (ImmunizationEducationComponent i : education) - dst.education.add(i.copy()); - }; if (programEligibility != null) { - dst.programEligibility = new ArrayList(); - for (CodeableConcept i : programEligibility) + dst.programEligibility = new ArrayList(); + for (ImmunizationProgramEligibilityComponent i : programEligibility) dst.programEligibility.add(i.copy()); }; dst.fundingSource = fundingSource == null ? null : fundingSource.copy(); @@ -3506,19 +3198,19 @@ public class Immunization extends DomainResource { if (!(other_ instanceof Immunization)) return false; Immunization o = (Immunization) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) - && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) - && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(vaccineCode, o.vaccineCode, true) - && compareDeep(manufacturer, o.manufacturer, true) && compareDeep(lotNumber, o.lotNumber, true) - && compareDeep(expirationDate, o.expirationDate, true) && compareDeep(patient, o.patient, true) - && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(primarySource, o.primarySource, true) + return compareDeep(identifier, o.identifier, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(status, o.status, true) + && compareDeep(statusReason, o.statusReason, true) && compareDeep(vaccineCode, o.vaccineCode, true) + && compareDeep(administeredProduct, o.administeredProduct, true) && compareDeep(manufacturer, o.manufacturer, true) + && compareDeep(lotNumber, o.lotNumber, true) && compareDeep(expirationDate, o.expirationDate, true) + && compareDeep(patient, o.patient, true) && compareDeep(encounter, o.encounter, true) && compareDeep(supportingInformation, o.supportingInformation, true) + && compareDeep(occurrence, o.occurrence, true) && compareDeep(primarySource, o.primarySource, true) && compareDeep(informationSource, o.informationSource, true) && compareDeep(location, o.location, true) && compareDeep(site, o.site, true) && compareDeep(route, o.route, true) && compareDeep(doseQuantity, o.doseQuantity, true) && compareDeep(performer, o.performer, true) && compareDeep(note, o.note, true) && compareDeep(reason, o.reason, true) && compareDeep(isSubpotent, o.isSubpotent, true) && compareDeep(subpotentReason, o.subpotentReason, true) - && compareDeep(education, o.education, true) && compareDeep(programEligibility, o.programEligibility, true) - && compareDeep(fundingSource, o.fundingSource, true) && compareDeep(reaction, o.reaction, true) - && compareDeep(protocolApplied, o.protocolApplied, true); + && compareDeep(programEligibility, o.programEligibility, true) && compareDeep(fundingSource, o.fundingSource, true) + && compareDeep(reaction, o.reaction, true) && compareDeep(protocolApplied, o.protocolApplied, true) + ; } @Override @@ -3528,19 +3220,17 @@ public class Immunization extends DomainResource { if (!(other_ instanceof Immunization)) return false; Immunization o = (Immunization) other_; - return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) - && compareValues(status, o.status, true) && compareValues(lotNumber, o.lotNumber, true) && compareValues(expirationDate, o.expirationDate, true) + return compareValues(status, o.status, true) && compareValues(lotNumber, o.lotNumber, true) && compareValues(expirationDate, o.expirationDate, true) && compareValues(primarySource, o.primarySource, true) && compareValues(isSubpotent, o.isSubpotent, true) ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical - , instantiatesUri, basedOn, status, statusReason, vaccineCode, manufacturer, lotNumber - , expirationDate, patient, encounter, occurrence, primarySource, informationSource + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, status + , statusReason, vaccineCode, administeredProduct, manufacturer, lotNumber, expirationDate + , patient, encounter, supportingInformation, occurrence, primarySource, informationSource , location, site, route, doseQuantity, performer, note, reason, isSubpotent - , subpotentReason, education, programEligibility, fundingSource, reaction, protocolApplied - ); + , subpotentReason, programEligibility, fundingSource, reaction, protocolApplied); } @Override @@ -3599,17 +3289,17 @@ public class Immunization extends DomainResource { *

* Description: Vaccine Manufacturer
* Type: reference
- * Path: Immunization.manufacturer
+ * Path: Immunization.manufacturer.reference
*

*/ - @SearchParamDefinition(name="manufacturer", path="Immunization.manufacturer", description="Vaccine Manufacturer", type="reference", target={Organization.class } ) + @SearchParamDefinition(name="manufacturer", path="Immunization.manufacturer.reference", description="Vaccine Manufacturer", type="reference" ) public static final String SP_MANUFACTURER = "manufacturer"; /** * Fluent Client search parameter constant for manufacturer *

* Description: Vaccine Manufacturer
* Type: reference
- * Path: Immunization.manufacturer
+ * Path: Immunization.manufacturer.reference
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam MANUFACTURER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_MANUFACTURER); @@ -4010,7 +3700,7 @@ public class Immunization extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4019,10 +3709,10 @@ public class Immunization extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4054,7 +3744,7 @@ public class Immunization extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4063,7 +3753,7 @@ public class Immunization extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationEvaluation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationEvaluation.java index bc4084c7a..a74d87ac2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationEvaluation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationEvaluation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationRecommendation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationRecommendation.java index cbe7b7d6e..174c30e92 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationRecommendation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImmunizationRecommendation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1294,49 +1294,35 @@ public class ImmunizationRecommendation extends DomainResource { @Description(shortDefinition="Business identifier", formalDefinition="A unique identifier assigned to this particular recommendation record." ) protected List identifier; - /** - * The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation. - */ - @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates FHIR protocol or definition for the immunization recommendation", formalDefinition="The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation." ) - protected List instantiatesCanonical; - - /** - * The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation. - */ - @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates external protocol or definition for the immunization recommendation", formalDefinition="The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation." ) - protected List instantiatesUri; - /** * The patient the recommendation(s) are for. */ - @Child(name = "patient", type = {Patient.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Child(name = "patient", type = {Patient.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Who this profile is for", formalDefinition="The patient the recommendation(s) are for." ) protected Reference patient; /** * The date the immunization recommendation(s) were created. */ - @Child(name = "date", type = {DateTimeType.class}, order=4, min=1, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Date recommendation(s) created", formalDefinition="The date the immunization recommendation(s) were created." ) protected DateTimeType date; /** * Indicates the authority who published the protocol (e.g. ACIP). */ - @Child(name = "authority", type = {Organization.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "authority", type = {Organization.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Who is responsible for protocol", formalDefinition="Indicates the authority who published the protocol (e.g. ACIP)." ) protected Reference authority; /** * Vaccine administration recommendations. */ - @Child(name = "recommendation", type = {}, order=6, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "recommendation", type = {}, order=4, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Vaccine administration recommendations", formalDefinition="Vaccine administration recommendations." ) protected List recommendation; - private static final long serialVersionUID = -1997592129L; + private static final long serialVersionUID = 534427937L; /** * Constructor @@ -1408,128 +1394,6 @@ public class ImmunizationRecommendation extends DomainResource { return getIdentifier().get(0); } - /** - * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public List getInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - return this.instantiatesCanonical; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ImmunizationRecommendation setInstantiatesCanonical(List theInstantiatesCanonical) { - this.instantiatesCanonical = theInstantiatesCanonical; - return this; - } - - public boolean hasInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType item : this.instantiatesCanonical) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public CanonicalType addInstantiatesCanonicalElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return t; - } - - /** - * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public ImmunizationRecommendation addInstantiatesCanonical(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return this; - } - - /** - * @param value {@link #instantiatesCanonical} (The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public boolean hasInstantiatesCanonical(String value) { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType v : this.instantiatesCanonical) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public List getInstantiatesUri() { - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - return this.instantiatesUri; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ImmunizationRecommendation setInstantiatesUri(List theInstantiatesUri) { - this.instantiatesUri = theInstantiatesUri; - return this; - } - - public boolean hasInstantiatesUri() { - if (this.instantiatesUri == null) - return false; - for (UriType item : this.instantiatesUri) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public UriType addInstantiatesUriElement() {//2 - UriType t = new UriType(); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return t; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public ImmunizationRecommendation addInstantiatesUri(String value) { //1 - UriType t = new UriType(); - t.setValue(value); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return this; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.) - */ - public boolean hasInstantiatesUri(String value) { - if (this.instantiatesUri == null) - return false; - for (UriType v : this.instantiatesUri) - if (v.getValue().equals(value)) // uri - return true; - return false; - } - /** * @return {@link #patient} (The patient the recommendation(s) are for.) */ @@ -1679,8 +1543,6 @@ public class ImmunizationRecommendation extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this particular recommendation record.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition|ArtifactAssessment|EventDefinition|EvidenceVariable|Measure|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic)", "The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); - children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); children.add(new Property("patient", "Reference(Patient)", "The patient the recommendation(s) are for.", 0, 1, patient)); children.add(new Property("date", "dateTime", "The date the immunization recommendation(s) were created.", 0, 1, date)); children.add(new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol (e.g. ACIP).", 0, 1, authority)); @@ -1691,8 +1553,6 @@ public class ImmunizationRecommendation extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this particular recommendation record.", 0, java.lang.Integer.MAX_VALUE, identifier); - case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition|ArtifactAssessment|EventDefinition|EvidenceVariable|Measure|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic)", "The URL pointing to a FHIR-defined protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); - case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline or other definition that is adhered to in whole or in part by this ImmunizationRecommendation.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The patient the recommendation(s) are for.", 0, 1, patient); case 3076014: /*date*/ return new Property("date", "dateTime", "The date the immunization recommendation(s) were created.", 0, 1, date); case 1475610435: /*authority*/ return new Property("authority", "Reference(Organization)", "Indicates the authority who published the protocol (e.g. ACIP).", 0, 1, authority); @@ -1706,8 +1566,6 @@ public class ImmunizationRecommendation extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier - case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType - case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType case 1475610435: /*authority*/ return this.authority == null ? new Base[0] : new Base[] {this.authority}; // Reference @@ -1723,12 +1581,6 @@ public class ImmunizationRecommendation extends DomainResource { case -1618432855: // identifier this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; - case 8911915: // instantiatesCanonical - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case -1926393373: // instantiatesUri - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType - return value; case -791418107: // patient this.patient = TypeConvertor.castToReference(value); // Reference return value; @@ -1750,10 +1602,6 @@ public class ImmunizationRecommendation extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("identifier")) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); - } else if (name.equals("instantiatesCanonical")) { - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("instantiatesUri")) { - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); } else if (name.equals("patient")) { this.patient = TypeConvertor.castToReference(value); // Reference } else if (name.equals("date")) { @@ -1771,8 +1619,6 @@ public class ImmunizationRecommendation extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: return addIdentifier(); - case 8911915: return addInstantiatesCanonicalElement(); - case -1926393373: return addInstantiatesUriElement(); case -791418107: return getPatient(); case 3076014: return getDateElement(); case 1475610435: return getAuthority(); @@ -1786,8 +1632,6 @@ public class ImmunizationRecommendation extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; - case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; - case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; case -791418107: /*patient*/ return new String[] {"Reference"}; case 3076014: /*date*/ return new String[] {"dateTime"}; case 1475610435: /*authority*/ return new String[] {"Reference"}; @@ -1802,12 +1646,6 @@ public class ImmunizationRecommendation extends DomainResource { if (name.equals("identifier")) { return addIdentifier(); } - else if (name.equals("instantiatesCanonical")) { - throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.instantiatesCanonical"); - } - else if (name.equals("instantiatesUri")) { - throw new FHIRException("Cannot call addChild on a primitive type ImmunizationRecommendation.instantiatesUri"); - } else if (name.equals("patient")) { this.patient = new Reference(); return this.patient; @@ -1844,16 +1682,6 @@ public class ImmunizationRecommendation extends DomainResource { for (Identifier i : identifier) dst.identifier.add(i.copy()); }; - if (instantiatesCanonical != null) { - dst.instantiatesCanonical = new ArrayList(); - for (CanonicalType i : instantiatesCanonical) - dst.instantiatesCanonical.add(i.copy()); - }; - if (instantiatesUri != null) { - dst.instantiatesUri = new ArrayList(); - for (UriType i : instantiatesUri) - dst.instantiatesUri.add(i.copy()); - }; dst.patient = patient == null ? null : patient.copy(); dst.date = date == null ? null : date.copy(); dst.authority = authority == null ? null : authority.copy(); @@ -1875,9 +1703,8 @@ public class ImmunizationRecommendation extends DomainResource { if (!(other_ instanceof ImmunizationRecommendation)) return false; ImmunizationRecommendation o = (ImmunizationRecommendation) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) - && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(patient, o.patient, true) - && compareDeep(date, o.date, true) && compareDeep(authority, o.authority, true) && compareDeep(recommendation, o.recommendation, true) + return compareDeep(identifier, o.identifier, true) && compareDeep(patient, o.patient, true) && compareDeep(date, o.date, true) + && compareDeep(authority, o.authority, true) && compareDeep(recommendation, o.recommendation, true) ; } @@ -1888,13 +1715,12 @@ public class ImmunizationRecommendation extends DomainResource { if (!(other_ instanceof ImmunizationRecommendation)) return false; ImmunizationRecommendation o = (ImmunizationRecommendation) other_; - return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) - && compareValues(date, o.date, true); + return compareValues(date, o.date, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical - , instantiatesUri, patient, date, authority, recommendation); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, patient, date + , authority, recommendation); } @Override @@ -1950,7 +1776,7 @@ public class ImmunizationRecommendation extends DomainResource { * Path: ImmunizationRecommendation.recommendation.supportingPatientInformation
*

*/ - @SearchParamDefinition(name="information", path="ImmunizationRecommendation.recommendation.supportingPatientInformation", description="Patient observations supporting recommendation", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="information", path="ImmunizationRecommendation.recommendation.supportingPatientInformation", description="Patient observations supporting recommendation", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_INFORMATION = "information"; /** * Fluent Client search parameter constant for information diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImplementationGuide.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImplementationGuide.java index 764076744..c013a9712 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImplementationGuide.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ImplementationGuide.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -5804,7 +5804,14 @@ public class ImplementationGuide extends CanonicalResource { @Description(shortDefinition="Version of the IG", formalDefinition="The version of the IG that is depended on, when the correct version is required to understand the IG correctly." ) protected StringType version; - private static final long serialVersionUID = -215808797L; + /** + * A description explaining the nature of the dependency on the listed IG. + */ + @Child(name = "reason", type = {MarkdownType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Why dependency exists", formalDefinition="A description explaining the nature of the dependency on the listed IG." ) + protected MarkdownType reason; + + private static final long serialVersionUID = 487374450L; /** * Constructor @@ -5964,11 +5971,61 @@ public class ImplementationGuide extends CanonicalResource { return this; } + /** + * @return {@link #reason} (A description explaining the nature of the dependency on the listed IG.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value + */ + public MarkdownType getReasonElement() { + if (this.reason == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ImplementationGuideDependsOnComponent.reason"); + else if (Configuration.doAutoCreate()) + this.reason = new MarkdownType(); // bb + return this.reason; + } + + public boolean hasReasonElement() { + return this.reason != null && !this.reason.isEmpty(); + } + + public boolean hasReason() { + return this.reason != null && !this.reason.isEmpty(); + } + + /** + * @param value {@link #reason} (A description explaining the nature of the dependency on the listed IG.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value + */ + public ImplementationGuideDependsOnComponent setReasonElement(MarkdownType value) { + this.reason = value; + return this; + } + + /** + * @return A description explaining the nature of the dependency on the listed IG. + */ + public String getReason() { + return this.reason == null ? null : this.reason.getValue(); + } + + /** + * @param value A description explaining the nature of the dependency on the listed IG. + */ + public ImplementationGuideDependsOnComponent setReason(String value) { + if (value == null) + this.reason = null; + else { + if (this.reason == null) + this.reason = new MarkdownType(); + this.reason.setValue(value); + } + return this; + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("uri", "canonical(ImplementationGuide)", "A canonical reference to the Implementation guide for the dependency.", 0, 1, uri)); children.add(new Property("packageId", "id", "The NPM package name for the Implementation Guide that this IG depends on.", 0, 1, packageId)); children.add(new Property("version", "string", "The version of the IG that is depended on, when the correct version is required to understand the IG correctly.", 0, 1, version)); + children.add(new Property("reason", "markdown", "A description explaining the nature of the dependency on the listed IG.", 0, 1, reason)); } @Override @@ -5977,6 +6034,7 @@ public class ImplementationGuide extends CanonicalResource { case 116076: /*uri*/ return new Property("uri", "canonical(ImplementationGuide)", "A canonical reference to the Implementation guide for the dependency.", 0, 1, uri); case 1802060801: /*packageId*/ return new Property("packageId", "id", "The NPM package name for the Implementation Guide that this IG depends on.", 0, 1, packageId); case 351608024: /*version*/ return new Property("version", "string", "The version of the IG that is depended on, when the correct version is required to understand the IG correctly.", 0, 1, version); + case -934964668: /*reason*/ return new Property("reason", "markdown", "A description explaining the nature of the dependency on the listed IG.", 0, 1, reason); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -5988,6 +6046,7 @@ public class ImplementationGuide extends CanonicalResource { case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // CanonicalType case 1802060801: /*packageId*/ return this.packageId == null ? new Base[0] : new Base[] {this.packageId}; // IdType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // MarkdownType default: return super.getProperty(hash, name, checkValid); } @@ -6005,6 +6064,9 @@ public class ImplementationGuide extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case -934964668: // reason + this.reason = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; default: return super.setProperty(hash, name, value); } @@ -6018,6 +6080,8 @@ public class ImplementationGuide extends CanonicalResource { this.packageId = TypeConvertor.castToId(value); // IdType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("reason")) { + this.reason = TypeConvertor.castToMarkdown(value); // MarkdownType } else return super.setProperty(name, value); return value; @@ -6029,6 +6093,7 @@ public class ImplementationGuide extends CanonicalResource { case 116076: return getUriElement(); case 1802060801: return getPackageIdElement(); case 351608024: return getVersionElement(); + case -934964668: return getReasonElement(); default: return super.makeProperty(hash, name); } @@ -6040,6 +6105,7 @@ public class ImplementationGuide extends CanonicalResource { case 116076: /*uri*/ return new String[] {"canonical"}; case 1802060801: /*packageId*/ return new String[] {"id"}; case 351608024: /*version*/ return new String[] {"string"}; + case -934964668: /*reason*/ return new String[] {"markdown"}; default: return super.getTypesForProperty(hash, name); } @@ -6056,6 +6122,9 @@ public class ImplementationGuide extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.dependsOn.version"); } + else if (name.equals("reason")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.dependsOn.reason"); + } else return super.addChild(name); } @@ -6071,6 +6140,7 @@ public class ImplementationGuide extends CanonicalResource { dst.uri = uri == null ? null : uri.copy(); dst.packageId = packageId == null ? null : packageId.copy(); dst.version = version == null ? null : version.copy(); + dst.reason = reason == null ? null : reason.copy(); } @Override @@ -6081,7 +6151,7 @@ public class ImplementationGuide extends CanonicalResource { return false; ImplementationGuideDependsOnComponent o = (ImplementationGuideDependsOnComponent) other_; return compareDeep(uri, o.uri, true) && compareDeep(packageId, o.packageId, true) && compareDeep(version, o.version, true) - ; + && compareDeep(reason, o.reason, true); } @Override @@ -6092,12 +6162,12 @@ public class ImplementationGuide extends CanonicalResource { return false; ImplementationGuideDependsOnComponent o = (ImplementationGuideDependsOnComponent) other_; return compareValues(uri, o.uri, true) && compareValues(packageId, o.packageId, true) && compareValues(version, o.version, true) - ; + && compareValues(reason, o.reason, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uri, packageId, version - ); + , reason); } public String fhirType() { @@ -7112,20 +7182,27 @@ public class ImplementationGuide extends CanonicalResource { protected MarkdownType description; /** - * If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile. + * If true, indicates the resource is an example instance. */ - @Child(name = "example", type = {BooleanType.class, CanonicalType.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Is an example/What is this an example of?", formalDefinition="If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile." ) - protected DataType example; + @Child(name = "isExample", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Is this an example", formalDefinition="If true, indicates the resource is an example instance." ) + protected BooleanType isExample; + + /** + * If present, indicates profile(s) the instance is valid against. + */ + @Child(name = "profile", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Profile(s) this is an example of", formalDefinition="If present, indicates profile(s) the instance is valid against." ) + protected List profile; /** * Reference to the id of the grouping this resource appears in. */ - @Child(name = "groupingId", type = {IdType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "groupingId", type = {IdType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Grouping this is part of", formalDefinition="Reference to the id of the grouping this resource appears in." ) protected IdType groupingId; - private static final long serialVersionUID = -954310515L; + private static final long serialVersionUID = 804050536L; /** * Constructor @@ -7326,56 +7403,111 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) + * @return {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value */ - public DataType getExample() { - return this.example; + public BooleanType getIsExampleElement() { + if (this.isExample == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ImplementationGuideDefinitionResourceComponent.isExample"); + else if (Configuration.doAutoCreate()) + this.isExample = new BooleanType(); // bb + return this.isExample; + } + + public boolean hasIsExampleElement() { + return this.isExample != null && !this.isExample.isEmpty(); + } + + public boolean hasIsExample() { + return this.isExample != null && !this.isExample.isEmpty(); } /** - * @return {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) + * @param value {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value */ - public BooleanType getExampleBooleanType() throws FHIRException { - if (this.example == null) - this.example = new BooleanType(); - if (!(this.example instanceof BooleanType)) - throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.example.getClass().getName()+" was encountered"); - return (BooleanType) this.example; - } - - public boolean hasExampleBooleanType() { - return this != null && this.example instanceof BooleanType; - } - - /** - * @return {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) - */ - public CanonicalType getExampleCanonicalType() throws FHIRException { - if (this.example == null) - this.example = new CanonicalType(); - if (!(this.example instanceof CanonicalType)) - throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.example.getClass().getName()+" was encountered"); - return (CanonicalType) this.example; - } - - public boolean hasExampleCanonicalType() { - return this != null && this.example instanceof CanonicalType; - } - - public boolean hasExample() { - return this.example != null && !this.example.isEmpty(); - } - - /** - * @param value {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) - */ - public ImplementationGuideDefinitionResourceComponent setExample(DataType value) { - if (value != null && !(value instanceof BooleanType || value instanceof CanonicalType)) - throw new Error("Not the right type for ImplementationGuide.definition.resource.example[x]: "+value.fhirType()); - this.example = value; + public ImplementationGuideDefinitionResourceComponent setIsExampleElement(BooleanType value) { + this.isExample = value; return this; } + /** + * @return If true, indicates the resource is an example instance. + */ + public boolean getIsExample() { + return this.isExample == null || this.isExample.isEmpty() ? false : this.isExample.getValue(); + } + + /** + * @param value If true, indicates the resource is an example instance. + */ + public ImplementationGuideDefinitionResourceComponent setIsExample(boolean value) { + if (this.isExample == null) + this.isExample = new BooleanType(); + this.isExample.setValue(value); + return this; + } + + /** + * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public List getProfile() { + if (this.profile == null) + this.profile = new ArrayList(); + return this.profile; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ImplementationGuideDefinitionResourceComponent setProfile(List theProfile) { + this.profile = theProfile; + return this; + } + + public boolean hasProfile() { + if (this.profile == null) + return false; + for (CanonicalType item : this.profile) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public CanonicalType addProfileElement() {//2 + CanonicalType t = new CanonicalType(); + if (this.profile == null) + this.profile = new ArrayList(); + this.profile.add(t); + return t; + } + + /** + * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public ImplementationGuideDefinitionResourceComponent addProfile(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); + if (this.profile == null) + this.profile = new ArrayList(); + this.profile.add(t); + return this; + } + + /** + * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public boolean hasProfile(String value) { + if (this.profile == null) + return false; + for (CanonicalType v : this.profile) + if (v.getValue().equals(value)) // canonical + return true; + return false; + } + /** * @return {@link #groupingId} (Reference to the id of the grouping this resource appears in.). This is the underlying object with id, value and extensions. The accessor "getGroupingId" gives direct access to the value */ @@ -7431,7 +7563,8 @@ public class ImplementationGuide extends CanonicalResource { children.add(new Property("fhirVersion", "code", "Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.", 0, java.lang.Integer.MAX_VALUE, fhirVersion)); children.add(new Property("name", "string", "A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).", 0, 1, name)); children.add(new Property("description", "markdown", "A description of the reason that a resource has been included in the implementation guide.", 0, 1, description)); - children.add(new Property("example[x]", "boolean|canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example)); + children.add(new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample)); + children.add(new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile)); children.add(new Property("groupingId", "id", "Reference to the id of the grouping this resource appears in.", 0, 1, groupingId)); } @@ -7442,10 +7575,8 @@ public class ImplementationGuide extends CanonicalResource { case 461006061: /*fhirVersion*/ return new Property("fhirVersion", "code", "Indicates the FHIR Version(s) this artifact is intended to apply to. If no versions are specified, the resource is assumed to apply to all the versions stated in ImplementationGuide.fhirVersion.", 0, java.lang.Integer.MAX_VALUE, fhirVersion); case 3373707: /*name*/ return new Property("name", "string", "A human assigned name for the resource. All resources SHOULD have a name, but the name may be extracted from the resource (e.g. ValueSet.name).", 0, 1, name); case -1724546052: /*description*/ return new Property("description", "markdown", "A description of the reason that a resource has been included in the implementation guide.", 0, 1, description); - case -2002328874: /*example[x]*/ return new Property("example[x]", "boolean|canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); - case -1322970774: /*example*/ return new Property("example[x]", "boolean|canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); - case 159803230: /*exampleBoolean*/ return new Property("example[x]", "boolean", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); - case 2016979626: /*exampleCanonical*/ return new Property("example[x]", "canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); + case -1902749472: /*isExample*/ return new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample); + case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile); case 1291547006: /*groupingId*/ return new Property("groupingId", "id", "Reference to the id of the grouping this resource appears in.", 0, 1, groupingId); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -7459,7 +7590,8 @@ public class ImplementationGuide extends CanonicalResource { case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : this.fhirVersion.toArray(new Base[this.fhirVersion.size()]); // Enumeration case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType - case -1322970774: /*example*/ return this.example == null ? new Base[0] : new Base[] {this.example}; // DataType + case -1902749472: /*isExample*/ return this.isExample == null ? new Base[0] : new Base[] {this.isExample}; // BooleanType + case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType case 1291547006: /*groupingId*/ return this.groupingId == null ? new Base[0] : new Base[] {this.groupingId}; // IdType default: return super.getProperty(hash, name, checkValid); } @@ -7482,8 +7614,11 @@ public class ImplementationGuide extends CanonicalResource { case -1724546052: // description this.description = TypeConvertor.castToMarkdown(value); // MarkdownType return value; - case -1322970774: // example - this.example = TypeConvertor.castToType(value); // DataType + case -1902749472: // isExample + this.isExample = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -309425751: // profile + this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; case 1291547006: // groupingId this.groupingId = TypeConvertor.castToId(value); // IdType @@ -7504,8 +7639,10 @@ public class ImplementationGuide extends CanonicalResource { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("description")) { this.description = TypeConvertor.castToMarkdown(value); // MarkdownType - } else if (name.equals("example[x]")) { - this.example = TypeConvertor.castToType(value); // DataType + } else if (name.equals("isExample")) { + this.isExample = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("profile")) { + this.getProfile().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("groupingId")) { this.groupingId = TypeConvertor.castToId(value); // IdType } else @@ -7520,8 +7657,8 @@ public class ImplementationGuide extends CanonicalResource { case 461006061: return addFhirVersionElement(); case 3373707: return getNameElement(); case -1724546052: return getDescriptionElement(); - case -2002328874: return getExample(); - case -1322970774: return getExample(); + case -1902749472: return getIsExampleElement(); + case -309425751: return addProfileElement(); case 1291547006: return getGroupingIdElement(); default: return super.makeProperty(hash, name); } @@ -7535,7 +7672,8 @@ public class ImplementationGuide extends CanonicalResource { case 461006061: /*fhirVersion*/ return new String[] {"code"}; case 3373707: /*name*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"markdown"}; - case -1322970774: /*example*/ return new String[] {"boolean", "canonical"}; + case -1902749472: /*isExample*/ return new String[] {"boolean"}; + case -309425751: /*profile*/ return new String[] {"canonical"}; case 1291547006: /*groupingId*/ return new String[] {"id"}; default: return super.getTypesForProperty(hash, name); } @@ -7557,13 +7695,11 @@ public class ImplementationGuide extends CanonicalResource { else if (name.equals("description")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.resource.description"); } - else if (name.equals("exampleBoolean")) { - this.example = new BooleanType(); - return this.example; + else if (name.equals("isExample")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.resource.isExample"); } - else if (name.equals("exampleCanonical")) { - this.example = new CanonicalType(); - return this.example; + else if (name.equals("profile")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.resource.profile"); } else if (name.equals("groupingId")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.resource.groupingId"); @@ -7588,7 +7724,12 @@ public class ImplementationGuide extends CanonicalResource { }; dst.name = name == null ? null : name.copy(); dst.description = description == null ? null : description.copy(); - dst.example = example == null ? null : example.copy(); + dst.isExample = isExample == null ? null : isExample.copy(); + if (profile != null) { + dst.profile = new ArrayList(); + for (CanonicalType i : profile) + dst.profile.add(i.copy()); + }; dst.groupingId = groupingId == null ? null : groupingId.copy(); } @@ -7600,8 +7741,8 @@ public class ImplementationGuide extends CanonicalResource { return false; ImplementationGuideDefinitionResourceComponent o = (ImplementationGuideDefinitionResourceComponent) other_; return compareDeep(reference, o.reference, true) && compareDeep(fhirVersion, o.fhirVersion, true) - && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(example, o.example, true) - && compareDeep(groupingId, o.groupingId, true); + && compareDeep(name, o.name, true) && compareDeep(description, o.description, true) && compareDeep(isExample, o.isExample, true) + && compareDeep(profile, o.profile, true) && compareDeep(groupingId, o.groupingId, true); } @Override @@ -7612,12 +7753,13 @@ public class ImplementationGuide extends CanonicalResource { return false; ImplementationGuideDefinitionResourceComponent o = (ImplementationGuideDefinitionResourceComponent) other_; return compareValues(fhirVersion, o.fhirVersion, true) && compareValues(name, o.name, true) && compareValues(description, o.description, true) - && compareValues(groupingId, o.groupingId, true); + && compareValues(isExample, o.isExample, true) && compareValues(profile, o.profile, true) && compareValues(groupingId, o.groupingId, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, fhirVersion, name - , description, example, groupingId); + , description, isExample, profile, groupingId); } public String fhirType() { @@ -7633,23 +7775,30 @@ public class ImplementationGuide extends CanonicalResource { @Block() public static class ImplementationGuideDefinitionPageComponent extends BackboneElement implements IBaseBackboneElement { /** - * The source address for the page. + * Indicates the URL or the actual content to provide for the page. */ - @Child(name = "name", type = {UrlType.class, Binary.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Where to find that page", formalDefinition="The source address for the page." ) - protected DataType name; + @Child(name = "source", type = {UrlType.class, StringType.class, MarkdownType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Source for page", formalDefinition="Indicates the URL or the actual content to provide for the page." ) + protected DataType source; + + /** + * The url by which the page should be known when published. + */ + @Child(name = "name", type = {UrlType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Name of the page when published", formalDefinition="The url by which the page should be known when published." ) + protected UrlType name; /** * A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc. */ - @Child(name = "title", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "title", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Short title shown for navigational assistance", formalDefinition="A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc." ) protected StringType title; /** * A code that indicates how the page is generated. */ - @Child(name = "generation", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Child(name = "generation", type = {CodeType.class}, order=4, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="html | markdown | xml | generated", formalDefinition="A code that indicates how the page is generated." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guide-page-generation") protected Enumeration generation; @@ -7657,11 +7806,11 @@ public class ImplementationGuide extends CanonicalResource { /** * Nested Pages/Sections under this page. */ - @Child(name = "page", type = {ImplementationGuideDefinitionPageComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "page", type = {ImplementationGuideDefinitionPageComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Nested Pages / Sections", formalDefinition="Nested Pages/Sections under this page." ) protected List page; - private static final long serialVersionUID = -2100991860L; + private static final long serialVersionUID = 57473246L; /** * Constructor @@ -7673,7 +7822,7 @@ public class ImplementationGuide extends CanonicalResource { /** * Constructor */ - public ImplementationGuideDefinitionPageComponent(DataType name, String title, GuidePageGeneration generation) { + public ImplementationGuideDefinitionPageComponent(String name, String title, GuidePageGeneration generation) { super(); this.setName(name); this.setTitle(title); @@ -7681,40 +7830,85 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return {@link #name} (The source address for the page.) + * @return {@link #source} (Indicates the URL or the actual content to provide for the page.) */ - public DataType getName() { + public DataType getSource() { + return this.source; + } + + /** + * @return {@link #source} (Indicates the URL or the actual content to provide for the page.) + */ + public UrlType getSourceUrlType() throws FHIRException { + if (this.source == null) + this.source = new UrlType(); + if (!(this.source instanceof UrlType)) + throw new FHIRException("Type mismatch: the type UrlType was expected, but "+this.source.getClass().getName()+" was encountered"); + return (UrlType) this.source; + } + + public boolean hasSourceUrlType() { + return this != null && this.source instanceof UrlType; + } + + /** + * @return {@link #source} (Indicates the URL or the actual content to provide for the page.) + */ + public StringType getSourceStringType() throws FHIRException { + if (this.source == null) + this.source = new StringType(); + if (!(this.source instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.source.getClass().getName()+" was encountered"); + return (StringType) this.source; + } + + public boolean hasSourceStringType() { + return this != null && this.source instanceof StringType; + } + + /** + * @return {@link #source} (Indicates the URL or the actual content to provide for the page.) + */ + public MarkdownType getSourceMarkdownType() throws FHIRException { + if (this.source == null) + this.source = new MarkdownType(); + if (!(this.source instanceof MarkdownType)) + throw new FHIRException("Type mismatch: the type MarkdownType was expected, but "+this.source.getClass().getName()+" was encountered"); + return (MarkdownType) this.source; + } + + public boolean hasSourceMarkdownType() { + return this != null && this.source instanceof MarkdownType; + } + + public boolean hasSource() { + return this.source != null && !this.source.isEmpty(); + } + + /** + * @param value {@link #source} (Indicates the URL or the actual content to provide for the page.) + */ + public ImplementationGuideDefinitionPageComponent setSource(DataType value) { + if (value != null && !(value instanceof UrlType || value instanceof StringType || value instanceof MarkdownType)) + throw new Error("Not the right type for ImplementationGuide.definition.page.source[x]: "+value.fhirType()); + this.source = value; + return this; + } + + /** + * @return {@link #name} (The url by which the page should be known when published.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public UrlType getNameElement() { + if (this.name == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ImplementationGuideDefinitionPageComponent.name"); + else if (Configuration.doAutoCreate()) + this.name = new UrlType(); // bb return this.name; } - /** - * @return {@link #name} (The source address for the page.) - */ - public UrlType getNameUrlType() throws FHIRException { - if (this.name == null) - this.name = new UrlType(); - if (!(this.name instanceof UrlType)) - throw new FHIRException("Type mismatch: the type UrlType was expected, but "+this.name.getClass().getName()+" was encountered"); - return (UrlType) this.name; - } - - public boolean hasNameUrlType() { - return this != null && this.name instanceof UrlType; - } - - /** - * @return {@link #name} (The source address for the page.) - */ - public Reference getNameReference() throws FHIRException { - if (this.name == null) - this.name = new Reference(); - if (!(this.name instanceof Reference)) - throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.name.getClass().getName()+" was encountered"); - return (Reference) this.name; - } - - public boolean hasNameReference() { - return this != null && this.name instanceof Reference; + public boolean hasNameElement() { + return this.name != null && !this.name.isEmpty(); } public boolean hasName() { @@ -7722,15 +7916,30 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @param value {@link #name} (The source address for the page.) + * @param value {@link #name} (The url by which the page should be known when published.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ - public ImplementationGuideDefinitionPageComponent setName(DataType value) { - if (value != null && !(value instanceof UrlType || value instanceof Reference)) - throw new Error("Not the right type for ImplementationGuide.definition.page.name[x]: "+value.fhirType()); + public ImplementationGuideDefinitionPageComponent setNameElement(UrlType value) { this.name = value; return this; } + /** + * @return The url by which the page should be known when published. + */ + public String getName() { + return this.name == null ? null : this.name.getValue(); + } + + /** + * @param value The url by which the page should be known when published. + */ + public ImplementationGuideDefinitionPageComponent setName(String value) { + if (this.name == null) + this.name = new UrlType(); + this.name.setValue(value); + return this; + } + /** * @return {@link #title} (A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value */ @@ -7876,7 +8085,8 @@ public class ImplementationGuide extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("name[x]", "url|Reference(Binary)", "The source address for the page.", 0, 1, name)); + children.add(new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source)); + children.add(new Property("name", "url", "The url by which the page should be known when published.", 0, 1, name)); children.add(new Property("title", "string", "A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.", 0, 1, title)); children.add(new Property("generation", "code", "A code that indicates how the page is generated.", 0, 1, generation)); children.add(new Property("page", "@ImplementationGuide.definition.page", "Nested Pages/Sections under this page.", 0, java.lang.Integer.MAX_VALUE, page)); @@ -7885,10 +8095,12 @@ public class ImplementationGuide extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 1721948693: /*name[x]*/ return new Property("name[x]", "url|Reference(Binary)", "The source address for the page.", 0, 1, name); - case 3373707: /*name*/ return new Property("name[x]", "url|Reference(Binary)", "The source address for the page.", 0, 1, name); - case 1721942756: /*nameUrl*/ return new Property("name[x]", "url", "The source address for the page.", 0, 1, name); - case 1833144576: /*nameReference*/ return new Property("name[x]", "Reference(Binary)", "The source address for the page.", 0, 1, name); + case -1698413947: /*source[x]*/ return new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source); + case -896505829: /*source*/ return new Property("source[x]", "url|string|markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source); + case -1698419884: /*sourceUrl*/ return new Property("source[x]", "url", "Indicates the URL or the actual content to provide for the page.", 0, 1, source); + case 1327821836: /*sourceString*/ return new Property("source[x]", "string", "Indicates the URL or the actual content to provide for the page.", 0, 1, source); + case -1116570070: /*sourceMarkdown*/ return new Property("source[x]", "markdown", "Indicates the URL or the actual content to provide for the page.", 0, 1, source); + case 3373707: /*name*/ return new Property("name", "url", "The url by which the page should be known when published.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short title used to represent this page in navigational structures such as table of contents, bread crumbs, etc.", 0, 1, title); case 305703192: /*generation*/ return new Property("generation", "code", "A code that indicates how the page is generated.", 0, 1, generation); case 3433103: /*page*/ return new Property("page", "@ImplementationGuide.definition.page", "Nested Pages/Sections under this page.", 0, java.lang.Integer.MAX_VALUE, page); @@ -7900,7 +8112,8 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // DataType + case -896505829: /*source*/ return this.source == null ? new Base[0] : new Base[] {this.source}; // DataType + case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // UrlType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case 305703192: /*generation*/ return this.generation == null ? new Base[0] : new Base[] {this.generation}; // Enumeration case 3433103: /*page*/ return this.page == null ? new Base[0] : this.page.toArray(new Base[this.page.size()]); // ImplementationGuideDefinitionPageComponent @@ -7912,8 +8125,11 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { + case -896505829: // source + this.source = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name - this.name = TypeConvertor.castToType(value); // DataType + this.name = TypeConvertor.castToUrl(value); // UrlType return value; case 110371416: // title this.title = TypeConvertor.castToString(value); // StringType @@ -7932,8 +8148,10 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("name[x]")) { - this.name = TypeConvertor.castToType(value); // DataType + if (name.equals("source[x]")) { + this.source = TypeConvertor.castToType(value); // DataType + } else if (name.equals("name")) { + this.name = TypeConvertor.castToUrl(value); // UrlType } else if (name.equals("title")) { this.title = TypeConvertor.castToString(value); // StringType } else if (name.equals("generation")) { @@ -7949,8 +8167,9 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case 1721948693: return getName(); - case 3373707: return getName(); + case -1698413947: return getSource(); + case -896505829: return getSource(); + case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case 305703192: return getGenerationElement(); case 3433103: return addPage(); @@ -7962,7 +8181,8 @@ public class ImplementationGuide extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3373707: /*name*/ return new String[] {"url", "Reference"}; + case -896505829: /*source*/ return new String[] {"url", "string", "markdown"}; + case 3373707: /*name*/ return new String[] {"url"}; case 110371416: /*title*/ return new String[] {"string"}; case 305703192: /*generation*/ return new String[] {"code"}; case 3433103: /*page*/ return new String[] {"@ImplementationGuide.definition.page"}; @@ -7973,13 +8193,20 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("nameUrl")) { - this.name = new UrlType(); - return this.name; + if (name.equals("sourceUrl")) { + this.source = new UrlType(); + return this.source; } - else if (name.equals("nameReference")) { - this.name = new Reference(); - return this.name; + else if (name.equals("sourceString")) { + this.source = new StringType(); + return this.source; + } + else if (name.equals("sourceMarkdown")) { + this.source = new MarkdownType(); + return this.source; + } + else if (name.equals("name")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.page.name"); } else if (name.equals("title")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.page.title"); @@ -8002,6 +8229,7 @@ public class ImplementationGuide extends CanonicalResource { public void copyValues(ImplementationGuideDefinitionPageComponent dst) { super.copyValues(dst); + dst.source = source == null ? null : source.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.generation = generation == null ? null : generation.copy(); @@ -8019,8 +8247,8 @@ public class ImplementationGuide extends CanonicalResource { if (!(other_ instanceof ImplementationGuideDefinitionPageComponent)) return false; ImplementationGuideDefinitionPageComponent o = (ImplementationGuideDefinitionPageComponent) other_; - return compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(generation, o.generation, true) - && compareDeep(page, o.page, true); + return compareDeep(source, o.source, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) + && compareDeep(generation, o.generation, true) && compareDeep(page, o.page, true); } @Override @@ -8030,11 +8258,12 @@ public class ImplementationGuide extends CanonicalResource { if (!(other_ instanceof ImplementationGuideDefinitionPageComponent)) return false; ImplementationGuideDefinitionPageComponent o = (ImplementationGuideDefinitionPageComponent) other_; - return compareValues(title, o.title, true) && compareValues(generation, o.generation, true); + return compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(generation, o.generation, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, title, generation + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(source, name, title, generation , page); } @@ -8048,11 +8277,12 @@ public class ImplementationGuide extends CanonicalResource { @Block() public static class ImplementationGuideDefinitionParameterComponent extends BackboneElement implements IBaseBackboneElement { /** - * Code that identifies parameter. + * A tool-specific code that defines the parameter. */ - @Child(name = "code", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Code that identifies parameter", formalDefinition="Code that identifies parameter." ) - protected StringType code; + @Child(name = "code", type = {Coding.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Code that identifies parameter", formalDefinition="A tool-specific code that defines the parameter." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/guide-parameter-code") + protected Coding code; /** * Value for named type. @@ -8061,7 +8291,7 @@ public class ImplementationGuide extends CanonicalResource { @Description(shortDefinition="Value for named type", formalDefinition="Value for named type." ) protected StringType value; - private static final long serialVersionUID = -26486942L; + private static final long serialVersionUID = -1728909245L; /** * Constructor @@ -8073,57 +8303,36 @@ public class ImplementationGuide extends CanonicalResource { /** * Constructor */ - public ImplementationGuideDefinitionParameterComponent(String code, String value) { + public ImplementationGuideDefinitionParameterComponent(Coding code, String value) { super(); this.setCode(code); this.setValue(value); } /** - * @return {@link #code} (Code that identifies parameter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + * @return {@link #code} (A tool-specific code that defines the parameter.) */ - public StringType getCodeElement() { + public Coding getCode() { if (this.code == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ImplementationGuideDefinitionParameterComponent.code"); else if (Configuration.doAutoCreate()) - this.code = new StringType(); // bb + this.code = new Coding(); // cc return this.code; } - public boolean hasCodeElement() { - return this.code != null && !this.code.isEmpty(); - } - public boolean hasCode() { return this.code != null && !this.code.isEmpty(); } /** - * @param value {@link #code} (Code that identifies parameter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + * @param value {@link #code} (A tool-specific code that defines the parameter.) */ - public ImplementationGuideDefinitionParameterComponent setCodeElement(StringType value) { + public ImplementationGuideDefinitionParameterComponent setCode(Coding value) { this.code = value; return this; } - /** - * @return Code that identifies parameter. - */ - public String getCode() { - return this.code == null ? null : this.code.getValue(); - } - - /** - * @param value Code that identifies parameter. - */ - public ImplementationGuideDefinitionParameterComponent setCode(String value) { - if (this.code == null) - this.code = new StringType(); - this.code.setValue(value); - return this; - } - /** * @return {@link #value} (Value for named type.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value */ @@ -8171,14 +8380,14 @@ public class ImplementationGuide extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("code", "string", "Code that identifies parameter.", 0, 1, code)); + children.add(new Property("code", "Coding", "A tool-specific code that defines the parameter.", 0, 1, code)); children.add(new Property("value", "string", "Value for named type.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3059181: /*code*/ return new Property("code", "string", "Code that identifies parameter.", 0, 1, code); + case 3059181: /*code*/ return new Property("code", "Coding", "A tool-specific code that defines the parameter.", 0, 1, code); case 111972721: /*value*/ return new Property("value", "string", "Value for named type.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -8188,7 +8397,7 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // StringType + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // Coding case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType default: return super.getProperty(hash, name, checkValid); } @@ -8199,7 +8408,7 @@ public class ImplementationGuide extends CanonicalResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3059181: // code - this.code = TypeConvertor.castToString(value); // StringType + this.code = TypeConvertor.castToCoding(value); // Coding return value; case 111972721: // value this.value = TypeConvertor.castToString(value); // StringType @@ -8212,7 +8421,7 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("code")) { - this.code = TypeConvertor.castToString(value); // StringType + this.code = TypeConvertor.castToCoding(value); // Coding } else if (name.equals("value")) { this.value = TypeConvertor.castToString(value); // StringType } else @@ -8223,7 +8432,7 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3059181: return getCodeElement(); + case 3059181: return getCode(); case 111972721: return getValueElement(); default: return super.makeProperty(hash, name); } @@ -8233,7 +8442,7 @@ public class ImplementationGuide extends CanonicalResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3059181: /*code*/ return new String[] {"string"}; + case 3059181: /*code*/ return new String[] {"Coding"}; case 111972721: /*value*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); } @@ -8243,7 +8452,8 @@ public class ImplementationGuide extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("code")) { - throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.parameter.code"); + this.code = new Coding(); + return this.code; } else if (name.equals("value")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.definition.parameter.value"); @@ -8281,7 +8491,7 @@ public class ImplementationGuide extends CanonicalResource { if (!(other_ instanceof ImplementationGuideDefinitionParameterComponent)) return false; ImplementationGuideDefinitionParameterComponent o = (ImplementationGuideDefinitionParameterComponent) other_; - return compareValues(code, o.code, true) && compareValues(value, o.value, true); + return compareValues(value, o.value, true); } public boolean isEmpty() { @@ -9145,20 +9355,27 @@ public class ImplementationGuide extends CanonicalResource { protected Reference reference; /** - * If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile. + * If true, indicates the resource is an example instance. */ - @Child(name = "example", type = {BooleanType.class, CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Is an example/What is this an example of?", formalDefinition="If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile." ) - protected DataType example; + @Child(name = "isExample", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Is this an example", formalDefinition="If true, indicates the resource is an example instance." ) + protected BooleanType isExample; + + /** + * If present, indicates profile(s) the instance is valid against. + */ + @Child(name = "profile", type = {CanonicalType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Profile(s) this is an example of", formalDefinition="If present, indicates profile(s) the instance is valid against." ) + protected List profile; /** * The relative path for primary page for this resource within the IG. */ - @Child(name = "relativePath", type = {UrlType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "relativePath", type = {UrlType.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Relative path for page in IG", formalDefinition="The relative path for primary page for this resource within the IG." ) protected UrlType relativePath; - private static final long serialVersionUID = 956753658L; + private static final long serialVersionUID = 66726063L; /** * Constructor @@ -9200,56 +9417,111 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) + * @return {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value */ - public DataType getExample() { - return this.example; + public BooleanType getIsExampleElement() { + if (this.isExample == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ManifestResourceComponent.isExample"); + else if (Configuration.doAutoCreate()) + this.isExample = new BooleanType(); // bb + return this.isExample; + } + + public boolean hasIsExampleElement() { + return this.isExample != null && !this.isExample.isEmpty(); + } + + public boolean hasIsExample() { + return this.isExample != null && !this.isExample.isEmpty(); } /** - * @return {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) + * @param value {@link #isExample} (If true, indicates the resource is an example instance.). This is the underlying object with id, value and extensions. The accessor "getIsExample" gives direct access to the value */ - public BooleanType getExampleBooleanType() throws FHIRException { - if (this.example == null) - this.example = new BooleanType(); - if (!(this.example instanceof BooleanType)) - throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.example.getClass().getName()+" was encountered"); - return (BooleanType) this.example; - } - - public boolean hasExampleBooleanType() { - return this != null && this.example instanceof BooleanType; - } - - /** - * @return {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) - */ - public CanonicalType getExampleCanonicalType() throws FHIRException { - if (this.example == null) - this.example = new CanonicalType(); - if (!(this.example instanceof CanonicalType)) - throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.example.getClass().getName()+" was encountered"); - return (CanonicalType) this.example; - } - - public boolean hasExampleCanonicalType() { - return this != null && this.example instanceof CanonicalType; - } - - public boolean hasExample() { - return this.example != null && !this.example.isEmpty(); - } - - /** - * @param value {@link #example} (If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.) - */ - public ManifestResourceComponent setExample(DataType value) { - if (value != null && !(value instanceof BooleanType || value instanceof CanonicalType)) - throw new Error("Not the right type for ImplementationGuide.manifest.resource.example[x]: "+value.fhirType()); - this.example = value; + public ManifestResourceComponent setIsExampleElement(BooleanType value) { + this.isExample = value; return this; } + /** + * @return If true, indicates the resource is an example instance. + */ + public boolean getIsExample() { + return this.isExample == null || this.isExample.isEmpty() ? false : this.isExample.getValue(); + } + + /** + * @param value If true, indicates the resource is an example instance. + */ + public ManifestResourceComponent setIsExample(boolean value) { + if (this.isExample == null) + this.isExample = new BooleanType(); + this.isExample.setValue(value); + return this; + } + + /** + * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public List getProfile() { + if (this.profile == null) + this.profile = new ArrayList(); + return this.profile; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManifestResourceComponent setProfile(List theProfile) { + this.profile = theProfile; + return this; + } + + public boolean hasProfile() { + if (this.profile == null) + return false; + for (CanonicalType item : this.profile) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public CanonicalType addProfileElement() {//2 + CanonicalType t = new CanonicalType(); + if (this.profile == null) + this.profile = new ArrayList(); + this.profile.add(t); + return t; + } + + /** + * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public ManifestResourceComponent addProfile(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); + if (this.profile == null) + this.profile = new ArrayList(); + this.profile.add(t); + return this; + } + + /** + * @param value {@link #profile} (If present, indicates profile(s) the instance is valid against.) + */ + public boolean hasProfile(String value) { + if (this.profile == null) + return false; + for (CanonicalType v : this.profile) + if (v.getValue().equals(value)) // canonical + return true; + return false; + } + /** * @return {@link #relativePath} (The relative path for primary page for this resource within the IG.). This is the underlying object with id, value and extensions. The accessor "getRelativePath" gives direct access to the value */ @@ -9302,7 +9574,8 @@ public class ImplementationGuide extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference)); - children.add(new Property("example[x]", "boolean|canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example)); + children.add(new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample)); + children.add(new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile)); children.add(new Property("relativePath", "url", "The relative path for primary page for this resource within the IG.", 0, 1, relativePath)); } @@ -9310,10 +9583,8 @@ public class ImplementationGuide extends CanonicalResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -925155509: /*reference*/ return new Property("reference", "Reference(Any)", "Where this resource is found.", 0, 1, reference); - case -2002328874: /*example[x]*/ return new Property("example[x]", "boolean|canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); - case -1322970774: /*example*/ return new Property("example[x]", "boolean|canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); - case 159803230: /*exampleBoolean*/ return new Property("example[x]", "boolean", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); - case 2016979626: /*exampleCanonical*/ return new Property("example[x]", "canonical(StructureDefinition)", "If true or a reference, indicates the resource is an example instance. If a reference is present, indicates that the example is an example of the specified profile.", 0, 1, example); + case -1902749472: /*isExample*/ return new Property("isExample", "boolean", "If true, indicates the resource is an example instance.", 0, 1, isExample); + case -309425751: /*profile*/ return new Property("profile", "canonical(StructureDefinition)", "If present, indicates profile(s) the instance is valid against.", 0, java.lang.Integer.MAX_VALUE, profile); case -70808303: /*relativePath*/ return new Property("relativePath", "url", "The relative path for primary page for this resource within the IG.", 0, 1, relativePath); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -9324,7 +9595,8 @@ public class ImplementationGuide extends CanonicalResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference - case -1322970774: /*example*/ return this.example == null ? new Base[0] : new Base[] {this.example}; // DataType + case -1902749472: /*isExample*/ return this.isExample == null ? new Base[0] : new Base[] {this.isExample}; // BooleanType + case -309425751: /*profile*/ return this.profile == null ? new Base[0] : this.profile.toArray(new Base[this.profile.size()]); // CanonicalType case -70808303: /*relativePath*/ return this.relativePath == null ? new Base[0] : new Base[] {this.relativePath}; // UrlType default: return super.getProperty(hash, name, checkValid); } @@ -9337,8 +9609,11 @@ public class ImplementationGuide extends CanonicalResource { case -925155509: // reference this.reference = TypeConvertor.castToReference(value); // Reference return value; - case -1322970774: // example - this.example = TypeConvertor.castToType(value); // DataType + case -1902749472: // isExample + this.isExample = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -309425751: // profile + this.getProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType return value; case -70808303: // relativePath this.relativePath = TypeConvertor.castToUrl(value); // UrlType @@ -9352,8 +9627,10 @@ public class ImplementationGuide extends CanonicalResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("reference")) { this.reference = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("example[x]")) { - this.example = TypeConvertor.castToType(value); // DataType + } else if (name.equals("isExample")) { + this.isExample = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("profile")) { + this.getProfile().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("relativePath")) { this.relativePath = TypeConvertor.castToUrl(value); // UrlType } else @@ -9365,8 +9642,8 @@ public class ImplementationGuide extends CanonicalResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -925155509: return getReference(); - case -2002328874: return getExample(); - case -1322970774: return getExample(); + case -1902749472: return getIsExampleElement(); + case -309425751: return addProfileElement(); case -70808303: return getRelativePathElement(); default: return super.makeProperty(hash, name); } @@ -9377,7 +9654,8 @@ public class ImplementationGuide extends CanonicalResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -925155509: /*reference*/ return new String[] {"Reference"}; - case -1322970774: /*example*/ return new String[] {"boolean", "canonical"}; + case -1902749472: /*isExample*/ return new String[] {"boolean"}; + case -309425751: /*profile*/ return new String[] {"canonical"}; case -70808303: /*relativePath*/ return new String[] {"url"}; default: return super.getTypesForProperty(hash, name); } @@ -9390,13 +9668,11 @@ public class ImplementationGuide extends CanonicalResource { this.reference = new Reference(); return this.reference; } - else if (name.equals("exampleBoolean")) { - this.example = new BooleanType(); - return this.example; + else if (name.equals("isExample")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.manifest.resource.isExample"); } - else if (name.equals("exampleCanonical")) { - this.example = new CanonicalType(); - return this.example; + else if (name.equals("profile")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.manifest.resource.profile"); } else if (name.equals("relativePath")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.manifest.resource.relativePath"); @@ -9414,7 +9690,12 @@ public class ImplementationGuide extends CanonicalResource { public void copyValues(ManifestResourceComponent dst) { super.copyValues(dst); dst.reference = reference == null ? null : reference.copy(); - dst.example = example == null ? null : example.copy(); + dst.isExample = isExample == null ? null : isExample.copy(); + if (profile != null) { + dst.profile = new ArrayList(); + for (CanonicalType i : profile) + dst.profile.add(i.copy()); + }; dst.relativePath = relativePath == null ? null : relativePath.copy(); } @@ -9425,8 +9706,8 @@ public class ImplementationGuide extends CanonicalResource { if (!(other_ instanceof ManifestResourceComponent)) return false; ManifestResourceComponent o = (ManifestResourceComponent) other_; - return compareDeep(reference, o.reference, true) && compareDeep(example, o.example, true) && compareDeep(relativePath, o.relativePath, true) - ; + return compareDeep(reference, o.reference, true) && compareDeep(isExample, o.isExample, true) && compareDeep(profile, o.profile, true) + && compareDeep(relativePath, o.relativePath, true); } @Override @@ -9436,12 +9717,13 @@ public class ImplementationGuide extends CanonicalResource { if (!(other_ instanceof ManifestResourceComponent)) return false; ManifestResourceComponent o = (ManifestResourceComponent) other_; - return compareValues(relativePath, o.relativePath, true); + return compareValues(isExample, o.isExample, true) && compareValues(profile, o.profile, true) && compareValues(relativePath, o.relativePath, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, example, relativePath - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(reference, isExample, profile + , relativePath); } public String fhirType() { @@ -9796,10 +10078,10 @@ public class ImplementationGuide extends CanonicalResource { } /** - * An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers. + * An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this implementation guide, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this implementation guide, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers." ) protected UriType url; /** @@ -9809,24 +10091,32 @@ public class ImplementationGuide extends CanonicalResource { @Description(shortDefinition="Business version of the implementation guide", formalDefinition="The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this implementation guide (computer friendly)", formalDefinition="A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the implementation guide. */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this implementation guide (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the implementation guide." ) protected StringType title; /** * The status of this implementation guide. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this implementation guide. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -9834,49 +10124,49 @@ public class ImplementationGuide extends CanonicalResource { /** * A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the implementation guide was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the implementation guide was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the implementation guide. + * The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide. */ - @Child(name = "publisher", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the implementation guide." ) + @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the implementation guide from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the implementation guide", formalDefinition="A free text natural language description of the implementation guide from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances." ) protected List useContext; /** * A legal or geographic region in which the implementation guide is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for implementation guide (if applicable)", formalDefinition="A legal or geographic region in which the implementation guide is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -9884,21 +10174,28 @@ public class ImplementationGuide extends CanonicalResource { /** * A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide." ) protected MarkdownType copyright; + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care. */ - @Child(name = "packageId", type = {IdType.class}, order=13, min=1, max=1, modifier=false, summary=true) + @Child(name = "packageId", type = {IdType.class}, order=15, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="NPM Package name for IG", formalDefinition="The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care." ) protected IdType packageId; /** * The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'. */ - @Child(name = "license", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Child(name = "license", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="SPDX license code for this IG (or not-open-source)", formalDefinition="The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/spdx-license") protected Enumeration license; @@ -9906,7 +10203,7 @@ public class ImplementationGuide extends CanonicalResource { /** * The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version. */ - @Child(name = "fhirVersion", type = {CodeType.class}, order=15, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "fhirVersion", type = {CodeType.class}, order=17, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="FHIR Version(s) this Implementation Guide targets", formalDefinition="The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version") protected List> fhirVersion; @@ -9914,32 +10211,32 @@ public class ImplementationGuide extends CanonicalResource { /** * Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides. */ - @Child(name = "dependsOn", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "dependsOn", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Another Implementation guide this depends on", formalDefinition="Another implementation guide that this implementation depends on. Typically, an implementation guide uses value sets, profiles etc.defined in other implementation guides." ) protected List dependsOn; /** * A set of profiles that all resources covered by this implementation guide must conform to. */ - @Child(name = "global", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "global", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Profiles that apply globally", formalDefinition="A set of profiles that all resources covered by this implementation guide must conform to." ) protected List global; /** * The information needed by an IG publisher tool to publish the whole implementation guide. */ - @Child(name = "definition", type = {}, order=18, min=0, max=1, modifier=false, summary=false) + @Child(name = "definition", type = {}, order=20, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Information needed to build the IG", formalDefinition="The information needed by an IG publisher tool to publish the whole implementation guide." ) protected ImplementationGuideDefinitionComponent definition; /** * Information about an assembled implementation guide, created by the publication tooling. */ - @Child(name = "manifest", type = {}, order=19, min=0, max=1, modifier=false, summary=false) + @Child(name = "manifest", type = {}, order=21, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Information about an assembled IG", formalDefinition="Information about an assembled implementation guide, created by the publication tooling." ) protected ImplementationGuideManifestComponent manifest; - private static final long serialVersionUID = -362658755L; + private static final long serialVersionUID = 1147801790L; /** * Constructor @@ -9961,7 +10258,7 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -9981,7 +10278,7 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public ImplementationGuide setUrlElement(UriType value) { this.url = value; @@ -9989,14 +10286,14 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers. + * @return An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers. + * @param value An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers. */ public ImplementationGuide setUrl(String value) { if (this.url == null) @@ -10054,6 +10351,57 @@ public class ImplementationGuide extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ImplementationGuide setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for ImplementationGuide.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -10288,7 +10636,7 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -10308,7 +10656,7 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ImplementationGuide setPublisherElement(StringType value) { this.publisher = value; @@ -10316,14 +10664,14 @@ public class ImplementationGuide extends CanonicalResource { } /** - * @return The name of the organization or individual that published the implementation guide. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the implementation guide. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide. */ public ImplementationGuide setPublisher(String value) { if (Utilities.noString(value)) @@ -10593,6 +10941,55 @@ public class ImplementationGuide extends CanonicalResource { return this; } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ImplementationGuide.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ImplementationGuide setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public ImplementationGuide setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #packageId} (The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.). This is the underlying object with id, value and extensions. The accessor "getPackageId" gives direct access to the value */ @@ -10919,23 +11316,23 @@ public class ImplementationGuide extends CanonicalResource { * @return Returns a reference to this for easy method chaining */ public ImplementationGuide setIdentifier(List theIdentifier) { - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); } public boolean hasIdentifier() { return false; } public Identifier addIdentifier() { //3 - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); } public ImplementationGuide addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); } /** * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} */ public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"identifier\""); } /** * not supported on this implementation @@ -10962,32 +11359,34 @@ public class ImplementationGuide extends CanonicalResource { * @param value {@link #purpose} (Explanation of why this implementation guide is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value */ public ImplementationGuide setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"purpose\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"purpose\""); } public String getPurpose() { - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"purpose\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"purpose\""); } /** * @param value Explanation of why this implementation guide is needed and why it has been designed as it has. */ public ImplementationGuide setPurpose(String value) { - throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"purpose\""); + throw new Error("The resource type \"ImplementationGuide\" does not implement the property \"purpose\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.", 0, 1, url)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the implementation guide.", 0, 1, title)); children.add(new Property("status", "code", "The status of this implementation guide. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the implementation guide was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the implementation guide.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the implementation guide from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the implementation guide is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("packageId", "id", "The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.", 0, 1, packageId)); children.add(new Property("license", "code", "The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.", 0, 1, license)); children.add(new Property("fhirVersion", "code", "The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.", 0, java.lang.Integer.MAX_VALUE, fhirVersion)); @@ -11000,19 +11399,24 @@ public class ImplementationGuide extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this implementation guide when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this implementation guide is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the implementation guide is stored on different servers.", 0, 1, url); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the implementation guide when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the implementation guide author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the implementation guide. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the implementation guide.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this implementation guide. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this implementation guide is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the implementation guide was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the implementation guide changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the implementation guide.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the implementation guide.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the implementation guide from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate implementation guide instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the implementation guide is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the implementation guide and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the implementation guide.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case 1802060801: /*packageId*/ return new Property("packageId", "id", "The NPM package name for this Implementation Guide, used in the NPM package distribution, which is the primary mechanism by which FHIR based tooling manages IG dependencies. This value must be globally unique, and should be assigned with care.", 0, 1, packageId); case 166757441: /*license*/ return new Property("license", "code", "The license that applies to this Implementation Guide, using an SPDX license code, or 'not-open-source'.", 0, 1, license); case 461006061: /*fhirVersion*/ return new Property("fhirVersion", "code", "The version(s) of the FHIR specification that this ImplementationGuide targets - e.g. describes how to use. The value of this element is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.", 0, java.lang.Integer.MAX_VALUE, fhirVersion); @@ -11030,6 +11434,7 @@ public class ImplementationGuide extends CanonicalResource { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -11041,6 +11446,7 @@ public class ImplementationGuide extends CanonicalResource { case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case 1802060801: /*packageId*/ return this.packageId == null ? new Base[0] : new Base[] {this.packageId}; // IdType case 166757441: /*license*/ return this.license == null ? new Base[0] : new Base[] {this.license}; // Enumeration case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : this.fhirVersion.toArray(new Base[this.fhirVersion.size()]); // Enumeration @@ -11062,6 +11468,9 @@ public class ImplementationGuide extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -11096,6 +11505,9 @@ public class ImplementationGuide extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case 1802060801: // packageId this.packageId = TypeConvertor.castToId(value); // IdType return value; @@ -11130,6 +11542,8 @@ public class ImplementationGuide extends CanonicalResource { this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -11153,6 +11567,8 @@ public class ImplementationGuide extends CanonicalResource { this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("packageId")) { this.packageId = TypeConvertor.castToId(value); // IdType } else if (name.equals("license")) { @@ -11179,6 +11595,8 @@ public class ImplementationGuide extends CanonicalResource { switch (hash) { case 116079: return getUrlElement(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); @@ -11190,6 +11608,7 @@ public class ImplementationGuide extends CanonicalResource { case -669707736: return addUseContext(); case -507075711: return addJurisdiction(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case 1802060801: return getPackageIdElement(); case 166757441: return getLicenseElement(); case 461006061: return addFhirVersionElement(); @@ -11207,6 +11626,7 @@ public class ImplementationGuide extends CanonicalResource { switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -11218,6 +11638,7 @@ public class ImplementationGuide extends CanonicalResource { case -669707736: /*useContext*/ return new String[] {"UsageContext"}; case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case 1802060801: /*packageId*/ return new String[] {"id"}; case 166757441: /*license*/ return new String[] {"code"}; case 461006061: /*fhirVersion*/ return new String[] {"code"}; @@ -11238,6 +11659,14 @@ public class ImplementationGuide extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.name"); } @@ -11271,6 +11700,9 @@ public class ImplementationGuide extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.copyrightLabel"); + } else if (name.equals("packageId")) { throw new FHIRException("Cannot call addChild on a primitive type ImplementationGuide.packageId"); } @@ -11313,6 +11745,7 @@ public class ImplementationGuide extends CanonicalResource { super.copyValues(dst); dst.url = url == null ? null : url.copy(); dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); @@ -11336,6 +11769,7 @@ public class ImplementationGuide extends CanonicalResource { dst.jurisdiction.add(i.copy()); }; dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); dst.packageId = packageId == null ? null : packageId.copy(); dst.license = license == null ? null : license.copy(); if (fhirVersion != null) { @@ -11368,14 +11802,15 @@ public class ImplementationGuide extends CanonicalResource { if (!(other_ instanceof ImplementationGuide)) return false; ImplementationGuide o = (ImplementationGuide) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) - && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(packageId, o.packageId, true) && compareDeep(license, o.license, true) && compareDeep(fhirVersion, o.fhirVersion, true) - && compareDeep(dependsOn, o.dependsOn, true) && compareDeep(global, o.global, true) && compareDeep(definition, o.definition, true) - && compareDeep(manifest, o.manifest, true); + && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(packageId, o.packageId, true) + && compareDeep(license, o.license, true) && compareDeep(fhirVersion, o.fhirVersion, true) && compareDeep(dependsOn, o.dependsOn, true) + && compareDeep(global, o.global, true) && compareDeep(definition, o.definition, true) && compareDeep(manifest, o.manifest, true) + ; } @Override @@ -11388,15 +11823,16 @@ public class ImplementationGuide extends CanonicalResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(copyright, o.copyright, true) && compareValues(packageId, o.packageId, true) && compareValues(license, o.license, true) - && compareValues(fhirVersion, o.fhirVersion, true); + && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(packageId, o.packageId, true) && compareValues(license, o.license, true) && compareValues(fhirVersion, o.fhirVersion, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title - , status, experimental, date, publisher, contact, description, useContext, jurisdiction - , copyright, packageId, license, fhirVersion, dependsOn, global, definition, manifest - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm + , name, title, status, experimental, date, publisher, contact, description, useContext + , jurisdiction, copyright, copyrightLabel, packageId, license, fhirVersion, dependsOn + , global, definition, manifest); } @Override @@ -11484,7 +11920,7 @@ public class ImplementationGuide extends CanonicalResource { * Path: ImplementationGuide.definition.resource.reference
*

*/ - @SearchParamDefinition(name="resource", path="ImplementationGuide.definition.resource.reference", description="Location of the resource", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="resource", path="ImplementationGuide.definition.resource.reference", description="Location of the resource", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_RESOURCE = "resource"; /** * Fluent Client search parameter constant for resource @@ -12124,7 +12560,7 @@ public class ImplementationGuide extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -12140,7 +12576,7 @@ public class ImplementationGuide extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -12150,7 +12586,7 @@ public class ImplementationGuide extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ingredient.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ingredient.java index ca06154d7..be3b5337a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ingredient.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ingredient.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2626,6 +2626,26 @@ public class Ingredient extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam ROLE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ROLE); + /** + * Search parameter: status + *

+ * Description: The status of this ingredient. Enables tracking the life-cycle of the content
+ * Type: token
+ * Path: Ingredient.status
+ *

+ */ + @SearchParamDefinition(name="status", path="Ingredient.status", description="The status of this ingredient. Enables tracking the life-cycle of the content", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The status of this ingredient. Enables tracking the life-cycle of the content
+ * Type: token
+ * Path: Ingredient.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + /** * Search parameter: substance-code *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InsurancePlan.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InsurancePlan.java index a4d52481a..8720d58e8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InsurancePlan.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InsurancePlan.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2641,7 +2641,7 @@ public class InsurancePlan extends DomainResource { * The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'. */ @Child(name = "ownedBy", type = {Organization.class}, order=6, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Plan issuer", formalDefinition="The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'." ) + @Description(shortDefinition="Product issuer", formalDefinition="The entity that is providing the health insurance product and underwriting the risk. This is typically an insurance carriers, other third-party payers, or health plan sponsors comonly referred to as 'payers'." ) protected Reference ownedBy; /** diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InventoryReport.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InventoryReport.java index 358735002..67c324cf4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InventoryReport.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/InventoryReport.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Invoice.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Invoice.java index dfaea7bb9..c5cc7abdf 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Invoice.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Invoice.java @@ -29,12 +29,11 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; import java.util.List; -import java.math.*; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.r5.model.Enumerations.*; import org.hl7.fhir.instance.model.api.IBaseBackboneElement; @@ -416,21 +415,28 @@ public class Invoice extends DomainResource { @Description(shortDefinition="Sequence number of line item", formalDefinition="Sequence in which the items appear on the invoice." ) protected PositiveIntType sequence; + /** + * Date/time(s) range when this service was delivered or completed. + */ + @Child(name = "serviced", type = {DateType.class, Period.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Service data or period", formalDefinition="Date/time(s) range when this service was delivered or completed." ) + protected DataType serviced; + /** * The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference. */ - @Child(name = "chargeItem", type = {ChargeItem.class, CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "chargeItem", type = {ChargeItem.class, CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Reference to ChargeItem containing details of this line item or an inline billing code", formalDefinition="The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference." ) protected DataType chargeItem; /** * The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated. */ - @Child(name = "priceComponent", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "priceComponent", type = {MonetaryComponent.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Components of total line item price", formalDefinition="The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated." ) - protected List priceComponent; + protected List priceComponent; - private static final long serialVersionUID = -973836547L; + private static final long serialVersionUID = -9393053L; /** * Constructor @@ -492,6 +498,57 @@ public class Invoice extends DomainResource { return this; } + /** + * @return {@link #serviced} (Date/time(s) range when this service was delivered or completed.) + */ + public DataType getServiced() { + return this.serviced; + } + + /** + * @return {@link #serviced} (Date/time(s) range when this service was delivered or completed.) + */ + public DateType getServicedDateType() throws FHIRException { + if (this.serviced == null) + this.serviced = new DateType(); + if (!(this.serviced instanceof DateType)) + throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.serviced.getClass().getName()+" was encountered"); + return (DateType) this.serviced; + } + + public boolean hasServicedDateType() { + return this != null && this.serviced instanceof DateType; + } + + /** + * @return {@link #serviced} (Date/time(s) range when this service was delivered or completed.) + */ + public Period getServicedPeriod() throws FHIRException { + if (this.serviced == null) + this.serviced = new Period(); + if (!(this.serviced instanceof Period)) + throw new FHIRException("Type mismatch: the type Period was expected, but "+this.serviced.getClass().getName()+" was encountered"); + return (Period) this.serviced; + } + + public boolean hasServicedPeriod() { + return this != null && this.serviced instanceof Period; + } + + public boolean hasServiced() { + return this.serviced != null && !this.serviced.isEmpty(); + } + + /** + * @param value {@link #serviced} (Date/time(s) range when this service was delivered or completed.) + */ + public InvoiceLineItemComponent setServiced(DataType value) { + if (value != null && !(value instanceof DateType || value instanceof Period)) + throw new Error("Not the right type for Invoice.lineItem.serviced[x]: "+value.fhirType()); + this.serviced = value; + return this; + } + /** * @return {@link #chargeItem} (The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.) */ @@ -546,16 +603,16 @@ public class Invoice extends DomainResource { /** * @return {@link #priceComponent} (The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.) */ - public List getPriceComponent() { + public List getPriceComponent() { if (this.priceComponent == null) - this.priceComponent = new ArrayList(); + this.priceComponent = new ArrayList(); return this.priceComponent; } /** * @return Returns a reference to this for easy method chaining */ - public InvoiceLineItemComponent setPriceComponent(List thePriceComponent) { + public InvoiceLineItemComponent setPriceComponent(List thePriceComponent) { this.priceComponent = thePriceComponent; return this; } @@ -563,25 +620,25 @@ public class Invoice extends DomainResource { public boolean hasPriceComponent() { if (this.priceComponent == null) return false; - for (InvoiceLineItemPriceComponentComponent item : this.priceComponent) + for (MonetaryComponent item : this.priceComponent) if (!item.isEmpty()) return true; return false; } - public InvoiceLineItemPriceComponentComponent addPriceComponent() { //3 - InvoiceLineItemPriceComponentComponent t = new InvoiceLineItemPriceComponentComponent(); + public MonetaryComponent addPriceComponent() { //3 + MonetaryComponent t = new MonetaryComponent(); if (this.priceComponent == null) - this.priceComponent = new ArrayList(); + this.priceComponent = new ArrayList(); this.priceComponent.add(t); return t; } - public InvoiceLineItemComponent addPriceComponent(InvoiceLineItemPriceComponentComponent t) { //3 + public InvoiceLineItemComponent addPriceComponent(MonetaryComponent t) { //3 if (t == null) return this; if (this.priceComponent == null) - this.priceComponent = new ArrayList(); + this.priceComponent = new ArrayList(); this.priceComponent.add(t); return this; } @@ -589,7 +646,7 @@ public class Invoice extends DomainResource { /** * @return The first repetition of repeating field {@link #priceComponent}, creating it if it does not already exist {3} */ - public InvoiceLineItemPriceComponentComponent getPriceComponentFirstRep() { + public MonetaryComponent getPriceComponentFirstRep() { if (getPriceComponent().isEmpty()) { addPriceComponent(); } @@ -599,19 +656,24 @@ public class Invoice extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("sequence", "positiveInt", "Sequence in which the items appear on the invoice.", 0, 1, sequence)); + children.add(new Property("serviced[x]", "date|Period", "Date/time(s) range when this service was delivered or completed.", 0, 1, serviced)); children.add(new Property("chargeItem[x]", "Reference(ChargeItem)|CodeableConcept", "The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.", 0, 1, chargeItem)); - children.add(new Property("priceComponent", "", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent)); + children.add(new Property("priceComponent", "MonetaryComponent", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 1349547969: /*sequence*/ return new Property("sequence", "positiveInt", "Sequence in which the items appear on the invoice.", 0, 1, sequence); + case -1927922223: /*serviced[x]*/ return new Property("serviced[x]", "date|Period", "Date/time(s) range when this service was delivered or completed.", 0, 1, serviced); + case 1379209295: /*serviced*/ return new Property("serviced[x]", "date|Period", "Date/time(s) range when this service was delivered or completed.", 0, 1, serviced); + case 363246749: /*servicedDate*/ return new Property("serviced[x]", "date", "Date/time(s) range when this service was delivered or completed.", 0, 1, serviced); + case 1534966512: /*servicedPeriod*/ return new Property("serviced[x]", "Period", "Date/time(s) range when this service was delivered or completed.", 0, 1, serviced); case 351104825: /*chargeItem[x]*/ return new Property("chargeItem[x]", "Reference(ChargeItem)|CodeableConcept", "The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.", 0, 1, chargeItem); case 1417779175: /*chargeItem*/ return new Property("chargeItem[x]", "Reference(ChargeItem)|CodeableConcept", "The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.", 0, 1, chargeItem); case 753580836: /*chargeItemReference*/ return new Property("chargeItem[x]", "Reference(ChargeItem)", "The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.", 0, 1, chargeItem); case 1226532026: /*chargeItemCodeableConcept*/ return new Property("chargeItem[x]", "CodeableConcept", "The ChargeItem contains information such as the billing code, date, amount etc. If no further details are required for the lineItem, inline billing codes can be added using the CodeableConcept data type instead of the Reference.", 0, 1, chargeItem); - case 1219095988: /*priceComponent*/ return new Property("priceComponent", "", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent); + case 1219095988: /*priceComponent*/ return new Property("priceComponent", "MonetaryComponent", "The price for a ChargeItem may be calculated as a base price with surcharges/deductions that apply in certain conditions. A ChargeItemDefinition resource that defines the prices, factors and conditions that apply to a billing code is currently under development. The priceComponent element can be used to offer transparency to the recipient of the Invoice as to how the prices have been calculated.", 0, java.lang.Integer.MAX_VALUE, priceComponent); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -621,8 +683,9 @@ public class Invoice extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 1349547969: /*sequence*/ return this.sequence == null ? new Base[0] : new Base[] {this.sequence}; // PositiveIntType + case 1379209295: /*serviced*/ return this.serviced == null ? new Base[0] : new Base[] {this.serviced}; // DataType case 1417779175: /*chargeItem*/ return this.chargeItem == null ? new Base[0] : new Base[] {this.chargeItem}; // DataType - case 1219095988: /*priceComponent*/ return this.priceComponent == null ? new Base[0] : this.priceComponent.toArray(new Base[this.priceComponent.size()]); // InvoiceLineItemPriceComponentComponent + case 1219095988: /*priceComponent*/ return this.priceComponent == null ? new Base[0] : this.priceComponent.toArray(new Base[this.priceComponent.size()]); // MonetaryComponent default: return super.getProperty(hash, name, checkValid); } @@ -634,11 +697,14 @@ public class Invoice extends DomainResource { case 1349547969: // sequence this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType return value; + case 1379209295: // serviced + this.serviced = TypeConvertor.castToType(value); // DataType + return value; case 1417779175: // chargeItem this.chargeItem = TypeConvertor.castToType(value); // DataType return value; case 1219095988: // priceComponent - this.getPriceComponent().add((InvoiceLineItemPriceComponentComponent) value); // InvoiceLineItemPriceComponentComponent + this.getPriceComponent().add(TypeConvertor.castToMonetaryComponent(value)); // MonetaryComponent return value; default: return super.setProperty(hash, name, value); } @@ -649,10 +715,12 @@ public class Invoice extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("sequence")) { this.sequence = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else if (name.equals("serviced[x]")) { + this.serviced = TypeConvertor.castToType(value); // DataType } else if (name.equals("chargeItem[x]")) { this.chargeItem = TypeConvertor.castToType(value); // DataType } else if (name.equals("priceComponent")) { - this.getPriceComponent().add((InvoiceLineItemPriceComponentComponent) value); + this.getPriceComponent().add(TypeConvertor.castToMonetaryComponent(value)); } else return super.setProperty(name, value); return value; @@ -662,6 +730,8 @@ public class Invoice extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 1349547969: return getSequenceElement(); + case -1927922223: return getServiced(); + case 1379209295: return getServiced(); case 351104825: return getChargeItem(); case 1417779175: return getChargeItem(); case 1219095988: return addPriceComponent(); @@ -674,8 +744,9 @@ public class Invoice extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 1349547969: /*sequence*/ return new String[] {"positiveInt"}; + case 1379209295: /*serviced*/ return new String[] {"date", "Period"}; case 1417779175: /*chargeItem*/ return new String[] {"Reference", "CodeableConcept"}; - case 1219095988: /*priceComponent*/ return new String[] {}; + case 1219095988: /*priceComponent*/ return new String[] {"MonetaryComponent"}; default: return super.getTypesForProperty(hash, name); } @@ -686,6 +757,14 @@ public class Invoice extends DomainResource { if (name.equals("sequence")) { throw new FHIRException("Cannot call addChild on a primitive type Invoice.lineItem.sequence"); } + else if (name.equals("servicedDate")) { + this.serviced = new DateType(); + return this.serviced; + } + else if (name.equals("servicedPeriod")) { + this.serviced = new Period(); + return this.serviced; + } else if (name.equals("chargeItemReference")) { this.chargeItem = new Reference(); return this.chargeItem; @@ -710,10 +789,11 @@ public class Invoice extends DomainResource { public void copyValues(InvoiceLineItemComponent dst) { super.copyValues(dst); dst.sequence = sequence == null ? null : sequence.copy(); + dst.serviced = serviced == null ? null : serviced.copy(); dst.chargeItem = chargeItem == null ? null : chargeItem.copy(); if (priceComponent != null) { - dst.priceComponent = new ArrayList(); - for (InvoiceLineItemPriceComponentComponent i : priceComponent) + dst.priceComponent = new ArrayList(); + for (MonetaryComponent i : priceComponent) dst.priceComponent.add(i.copy()); }; } @@ -725,8 +805,8 @@ public class Invoice extends DomainResource { if (!(other_ instanceof InvoiceLineItemComponent)) return false; InvoiceLineItemComponent o = (InvoiceLineItemComponent) other_; - return compareDeep(sequence, o.sequence, true) && compareDeep(chargeItem, o.chargeItem, true) && compareDeep(priceComponent, o.priceComponent, true) - ; + return compareDeep(sequence, o.sequence, true) && compareDeep(serviced, o.serviced, true) && compareDeep(chargeItem, o.chargeItem, true) + && compareDeep(priceComponent, o.priceComponent, true); } @Override @@ -740,8 +820,8 @@ public class Invoice extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, chargeItem, priceComponent - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(sequence, serviced, chargeItem + , priceComponent); } public String fhirType() { @@ -749,374 +829,6 @@ public class Invoice extends DomainResource { } - } - - @Block() - public static class InvoiceLineItemPriceComponentComponent extends BackboneElement implements IBaseBackboneElement { - /** - * This code identifies the type of the component. - */ - @Child(name = "type", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="base | surcharge | deduction | discount | tax | informational", formalDefinition="This code identifies the type of the component." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/invoice-priceComponentType") - protected Enumeration type; - - /** - * A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. - */ - @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Code identifying the specific component", formalDefinition="A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc." ) - protected CodeableConcept code; - - /** - * The factor that has been applied on the base price for calculating this component. - */ - @Child(name = "factor", type = {DecimalType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Factor used for calculating this component", formalDefinition="The factor that has been applied on the base price for calculating this component." ) - protected DecimalType factor; - - /** - * The amount calculated for this component. - */ - @Child(name = "amount", type = {Money.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Monetary amount associated with this component", formalDefinition="The amount calculated for this component." ) - protected Money amount; - - private static final long serialVersionUID = 1223988958L; - - /** - * Constructor - */ - public InvoiceLineItemPriceComponentComponent() { - super(); - } - - /** - * Constructor - */ - public InvoiceLineItemPriceComponentComponent(InvoicePriceComponentType type) { - super(); - this.setType(type); - } - - /** - * @return {@link #type} (This code identifies the type of the component.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public Enumeration getTypeElement() { - if (this.type == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create InvoiceLineItemPriceComponentComponent.type"); - else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new InvoicePriceComponentTypeEnumFactory()); // bb - return this.type; - } - - public boolean hasTypeElement() { - return this.type != null && !this.type.isEmpty(); - } - - public boolean hasType() { - return this.type != null && !this.type.isEmpty(); - } - - /** - * @param value {@link #type} (This code identifies the type of the component.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value - */ - public InvoiceLineItemPriceComponentComponent setTypeElement(Enumeration value) { - this.type = value; - return this; - } - - /** - * @return This code identifies the type of the component. - */ - public InvoicePriceComponentType getType() { - return this.type == null ? null : this.type.getValue(); - } - - /** - * @param value This code identifies the type of the component. - */ - public InvoiceLineItemPriceComponentComponent setType(InvoicePriceComponentType value) { - if (this.type == null) - this.type = new Enumeration(new InvoicePriceComponentTypeEnumFactory()); - this.type.setValue(value); - return this; - } - - /** - * @return {@link #code} (A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.) - */ - public CodeableConcept getCode() { - if (this.code == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create InvoiceLineItemPriceComponentComponent.code"); - else if (Configuration.doAutoCreate()) - this.code = new CodeableConcept(); // cc - return this.code; - } - - public boolean hasCode() { - return this.code != null && !this.code.isEmpty(); - } - - /** - * @param value {@link #code} (A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.) - */ - public InvoiceLineItemPriceComponentComponent setCode(CodeableConcept value) { - this.code = value; - return this; - } - - /** - * @return {@link #factor} (The factor that has been applied on the base price for calculating this component.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value - */ - public DecimalType getFactorElement() { - if (this.factor == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create InvoiceLineItemPriceComponentComponent.factor"); - else if (Configuration.doAutoCreate()) - this.factor = new DecimalType(); // bb - return this.factor; - } - - public boolean hasFactorElement() { - return this.factor != null && !this.factor.isEmpty(); - } - - public boolean hasFactor() { - return this.factor != null && !this.factor.isEmpty(); - } - - /** - * @param value {@link #factor} (The factor that has been applied on the base price for calculating this component.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value - */ - public InvoiceLineItemPriceComponentComponent setFactorElement(DecimalType value) { - this.factor = value; - return this; - } - - /** - * @return The factor that has been applied on the base price for calculating this component. - */ - public BigDecimal getFactor() { - return this.factor == null ? null : this.factor.getValue(); - } - - /** - * @param value The factor that has been applied on the base price for calculating this component. - */ - public InvoiceLineItemPriceComponentComponent setFactor(BigDecimal value) { - if (value == null) - this.factor = null; - else { - if (this.factor == null) - this.factor = new DecimalType(); - this.factor.setValue(value); - } - return this; - } - - /** - * @param value The factor that has been applied on the base price for calculating this component. - */ - public InvoiceLineItemPriceComponentComponent setFactor(long value) { - this.factor = new DecimalType(); - this.factor.setValue(value); - return this; - } - - /** - * @param value The factor that has been applied on the base price for calculating this component. - */ - public InvoiceLineItemPriceComponentComponent setFactor(double value) { - this.factor = new DecimalType(); - this.factor.setValue(value); - return this; - } - - /** - * @return {@link #amount} (The amount calculated for this component.) - */ - public Money getAmount() { - if (this.amount == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create InvoiceLineItemPriceComponentComponent.amount"); - else if (Configuration.doAutoCreate()) - this.amount = new Money(); // cc - return this.amount; - } - - public boolean hasAmount() { - return this.amount != null && !this.amount.isEmpty(); - } - - /** - * @param value {@link #amount} (The amount calculated for this component.) - */ - public InvoiceLineItemPriceComponentComponent setAmount(Money value) { - this.amount = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("type", "code", "This code identifies the type of the component.", 0, 1, type)); - children.add(new Property("code", "CodeableConcept", "A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", 0, 1, code)); - children.add(new Property("factor", "decimal", "The factor that has been applied on the base price for calculating this component.", 0, 1, factor)); - children.add(new Property("amount", "Money", "The amount calculated for this component.", 0, 1, amount)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3575610: /*type*/ return new Property("type", "code", "This code identifies the type of the component.", 0, 1, type); - case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies the component. Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", 0, 1, code); - case -1282148017: /*factor*/ return new Property("factor", "decimal", "The factor that has been applied on the base price for calculating this component.", 0, 1, factor); - case -1413853096: /*amount*/ return new Property("amount", "Money", "The amount calculated for this component.", 0, 1, amount); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept - case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType - case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : new Base[] {this.amount}; // Money - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3575610: // type - value = new InvoicePriceComponentTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration - return value; - case 3059181: // code - this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1282148017: // factor - this.factor = TypeConvertor.castToDecimal(value); // DecimalType - return value; - case -1413853096: // amount - this.amount = TypeConvertor.castToMoney(value); // Money - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("type")) { - value = new InvoicePriceComponentTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration - } else if (name.equals("code")) { - this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("factor")) { - this.factor = TypeConvertor.castToDecimal(value); // DecimalType - } else if (name.equals("amount")) { - this.amount = TypeConvertor.castToMoney(value); // Money - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: return getTypeElement(); - case 3059181: return getCode(); - case -1282148017: return getFactorElement(); - case -1413853096: return getAmount(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return new String[] {"code"}; - case 3059181: /*code*/ return new String[] {"CodeableConcept"}; - case -1282148017: /*factor*/ return new String[] {"decimal"}; - case -1413853096: /*amount*/ return new String[] {"Money"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("type")) { - throw new FHIRException("Cannot call addChild on a primitive type Invoice.lineItem.priceComponent.type"); - } - else if (name.equals("code")) { - this.code = new CodeableConcept(); - return this.code; - } - else if (name.equals("factor")) { - throw new FHIRException("Cannot call addChild on a primitive type Invoice.lineItem.priceComponent.factor"); - } - else if (name.equals("amount")) { - this.amount = new Money(); - return this.amount; - } - else - return super.addChild(name); - } - - public InvoiceLineItemPriceComponentComponent copy() { - InvoiceLineItemPriceComponentComponent dst = new InvoiceLineItemPriceComponentComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(InvoiceLineItemPriceComponentComponent dst) { - super.copyValues(dst); - dst.type = type == null ? null : type.copy(); - dst.code = code == null ? null : code.copy(); - dst.factor = factor == null ? null : factor.copy(); - dst.amount = amount == null ? null : amount.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof InvoiceLineItemPriceComponentComponent)) - return false; - InvoiceLineItemPriceComponentComponent o = (InvoiceLineItemPriceComponentComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(code, o.code, true) && compareDeep(factor, o.factor, true) - && compareDeep(amount, o.amount, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof InvoiceLineItemPriceComponentComponent)) - return false; - InvoiceLineItemPriceComponentComponent o = (InvoiceLineItemPriceComponentComponent) other_; - return compareValues(type, o.type, true) && compareValues(factor, o.factor, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, code, factor, amount - ); - } - - public String fhirType() { - return "Invoice.lineItem.priceComponent"; - - } - } /** @@ -1162,77 +874,91 @@ public class Invoice extends DomainResource { @Description(shortDefinition="Recipient of this invoice", formalDefinition="The individual or Organization responsible for balancing of this invoice." ) protected Reference recipient; + /** + * Depricared by the element below. + */ + @Child(name = "date", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="DEPRICATED", formalDefinition="Depricared by the element below." ) + protected DateTimeType date; + /** * Date/time(s) of when this Invoice was posted. */ - @Child(name = "date", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Invoice date / posting date", formalDefinition="Date/time(s) of when this Invoice was posted." ) - protected DateTimeType date; + @Child(name = "creation", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When posted", formalDefinition="Date/time(s) of when this Invoice was posted." ) + protected DateTimeType creation; + + /** + * Date/time(s) range of services included in this invoice. + */ + @Child(name = "period", type = {DateType.class, Period.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Billing date or period", formalDefinition="Date/time(s) range of services included in this invoice." ) + protected DataType period; /** * Indicates who or what performed or participated in the charged service. */ - @Child(name = "participant", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "participant", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Participant in creation of this Invoice", formalDefinition="Indicates who or what performed or participated in the charged service." ) protected List participant; /** * The organizationissuing the Invoice. */ - @Child(name = "issuer", type = {Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "issuer", type = {Organization.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Issuing Organization of Invoice", formalDefinition="The organizationissuing the Invoice." ) protected Reference issuer; /** * Account which is supposed to be balanced with this Invoice. */ - @Child(name = "account", type = {Account.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "account", type = {Account.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Account that is being balanced", formalDefinition="Account which is supposed to be balanced with this Invoice." ) protected Reference account; /** * Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource. */ - @Child(name = "lineItem", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "lineItem", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Line items of this Invoice", formalDefinition="Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource." ) protected List lineItem; /** * The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated. */ - @Child(name = "totalPriceComponent", type = {InvoiceLineItemPriceComponentComponent.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "totalPriceComponent", type = {MonetaryComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Components of Invoice total", formalDefinition="The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated." ) - protected List totalPriceComponent; + protected List totalPriceComponent; /** * Invoice total , taxes excluded. */ - @Child(name = "totalNet", type = {Money.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "totalNet", type = {Money.class}, order=14, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Net total of this Invoice", formalDefinition="Invoice total , taxes excluded." ) protected Money totalNet; /** * Invoice total, tax included. */ - @Child(name = "totalGross", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "totalGross", type = {Money.class}, order=15, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Gross total of this Invoice", formalDefinition="Invoice total, tax included." ) protected Money totalGross; /** * Payment details such as banking details, period of payment, deductibles, methods of payment. */ - @Child(name = "paymentTerms", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "paymentTerms", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Payment details", formalDefinition="Payment details such as banking details, period of payment, deductibles, methods of payment." ) protected MarkdownType paymentTerms; /** * Comments made about the invoice by the issuer, subject, or other participants. */ - @Child(name = "note", type = {Annotation.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Comments made about the invoice", formalDefinition="Comments made about the invoice by the issuer, subject, or other participants." ) protected List note; - private static final long serialVersionUID = -841380390L; + private static final long serialVersionUID = 6346282L; /** * Constructor @@ -1469,7 +1195,7 @@ public class Invoice extends DomainResource { } /** - * @return {@link #date} (Date/time(s) of when this Invoice was posted.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + * @return {@link #date} (Depricared by the element below.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ public DateTimeType getDateElement() { if (this.date == null) @@ -1489,7 +1215,7 @@ public class Invoice extends DomainResource { } /** - * @param value {@link #date} (Date/time(s) of when this Invoice was posted.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + * @param value {@link #date} (Depricared by the element below.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ public Invoice setDateElement(DateTimeType value) { this.date = value; @@ -1497,14 +1223,14 @@ public class Invoice extends DomainResource { } /** - * @return Date/time(s) of when this Invoice was posted. + * @return Depricared by the element below. */ public Date getDate() { return this.date == null ? null : this.date.getValue(); } /** - * @param value Date/time(s) of when this Invoice was posted. + * @param value Depricared by the element below. */ public Invoice setDate(Date value) { if (value == null) @@ -1517,6 +1243,106 @@ public class Invoice extends DomainResource { return this; } + /** + * @return {@link #creation} (Date/time(s) of when this Invoice was posted.). This is the underlying object with id, value and extensions. The accessor "getCreation" gives direct access to the value + */ + public DateTimeType getCreationElement() { + if (this.creation == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Invoice.creation"); + else if (Configuration.doAutoCreate()) + this.creation = new DateTimeType(); // bb + return this.creation; + } + + public boolean hasCreationElement() { + return this.creation != null && !this.creation.isEmpty(); + } + + public boolean hasCreation() { + return this.creation != null && !this.creation.isEmpty(); + } + + /** + * @param value {@link #creation} (Date/time(s) of when this Invoice was posted.). This is the underlying object with id, value and extensions. The accessor "getCreation" gives direct access to the value + */ + public Invoice setCreationElement(DateTimeType value) { + this.creation = value; + return this; + } + + /** + * @return Date/time(s) of when this Invoice was posted. + */ + public Date getCreation() { + return this.creation == null ? null : this.creation.getValue(); + } + + /** + * @param value Date/time(s) of when this Invoice was posted. + */ + public Invoice setCreation(Date value) { + if (value == null) + this.creation = null; + else { + if (this.creation == null) + this.creation = new DateTimeType(); + this.creation.setValue(value); + } + return this; + } + + /** + * @return {@link #period} (Date/time(s) range of services included in this invoice.) + */ + public DataType getPeriod() { + return this.period; + } + + /** + * @return {@link #period} (Date/time(s) range of services included in this invoice.) + */ + public DateType getPeriodDateType() throws FHIRException { + if (this.period == null) + this.period = new DateType(); + if (!(this.period instanceof DateType)) + throw new FHIRException("Type mismatch: the type DateType was expected, but "+this.period.getClass().getName()+" was encountered"); + return (DateType) this.period; + } + + public boolean hasPeriodDateType() { + return this != null && this.period instanceof DateType; + } + + /** + * @return {@link #period} (Date/time(s) range of services included in this invoice.) + */ + public Period getPeriodPeriod() throws FHIRException { + if (this.period == null) + this.period = new Period(); + if (!(this.period instanceof Period)) + throw new FHIRException("Type mismatch: the type Period was expected, but "+this.period.getClass().getName()+" was encountered"); + return (Period) this.period; + } + + public boolean hasPeriodPeriod() { + return this != null && this.period instanceof Period; + } + + public boolean hasPeriod() { + return this.period != null && !this.period.isEmpty(); + } + + /** + * @param value {@link #period} (Date/time(s) range of services included in this invoice.) + */ + public Invoice setPeriod(DataType value) { + if (value != null && !(value instanceof DateType || value instanceof Period)) + throw new Error("Not the right type for Invoice.period[x]: "+value.fhirType()); + this.period = value; + return this; + } + /** * @return {@link #participant} (Indicates who or what performed or participated in the charged service.) */ @@ -1674,16 +1500,16 @@ public class Invoice extends DomainResource { /** * @return {@link #totalPriceComponent} (The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.) */ - public List getTotalPriceComponent() { + public List getTotalPriceComponent() { if (this.totalPriceComponent == null) - this.totalPriceComponent = new ArrayList(); + this.totalPriceComponent = new ArrayList(); return this.totalPriceComponent; } /** * @return Returns a reference to this for easy method chaining */ - public Invoice setTotalPriceComponent(List theTotalPriceComponent) { + public Invoice setTotalPriceComponent(List theTotalPriceComponent) { this.totalPriceComponent = theTotalPriceComponent; return this; } @@ -1691,25 +1517,25 @@ public class Invoice extends DomainResource { public boolean hasTotalPriceComponent() { if (this.totalPriceComponent == null) return false; - for (InvoiceLineItemPriceComponentComponent item : this.totalPriceComponent) + for (MonetaryComponent item : this.totalPriceComponent) if (!item.isEmpty()) return true; return false; } - public InvoiceLineItemPriceComponentComponent addTotalPriceComponent() { //3 - InvoiceLineItemPriceComponentComponent t = new InvoiceLineItemPriceComponentComponent(); + public MonetaryComponent addTotalPriceComponent() { //3 + MonetaryComponent t = new MonetaryComponent(); if (this.totalPriceComponent == null) - this.totalPriceComponent = new ArrayList(); + this.totalPriceComponent = new ArrayList(); this.totalPriceComponent.add(t); return t; } - public Invoice addTotalPriceComponent(InvoiceLineItemPriceComponentComponent t) { //3 + public Invoice addTotalPriceComponent(MonetaryComponent t) { //3 if (t == null) return this; if (this.totalPriceComponent == null) - this.totalPriceComponent = new ArrayList(); + this.totalPriceComponent = new ArrayList(); this.totalPriceComponent.add(t); return this; } @@ -1717,7 +1543,7 @@ public class Invoice extends DomainResource { /** * @return The first repetition of repeating field {@link #totalPriceComponent}, creating it if it does not already exist {3} */ - public InvoiceLineItemPriceComponentComponent getTotalPriceComponentFirstRep() { + public MonetaryComponent getTotalPriceComponentFirstRep() { if (getTotalPriceComponent().isEmpty()) { addTotalPriceComponent(); } @@ -1882,12 +1708,14 @@ public class Invoice extends DomainResource { children.add(new Property("type", "CodeableConcept", "Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).", 0, 1, type)); children.add(new Property("subject", "Reference(Patient|Group)", "The individual or set of individuals receiving the goods and services billed in this invoice.", 0, 1, subject)); children.add(new Property("recipient", "Reference(Organization|Patient|RelatedPerson)", "The individual or Organization responsible for balancing of this invoice.", 0, 1, recipient)); - children.add(new Property("date", "dateTime", "Date/time(s) of when this Invoice was posted.", 0, 1, date)); + children.add(new Property("date", "dateTime", "Depricared by the element below.", 0, 1, date)); + children.add(new Property("creation", "dateTime", "Date/time(s) of when this Invoice was posted.", 0, 1, creation)); + children.add(new Property("period[x]", "date|Period", "Date/time(s) range of services included in this invoice.", 0, 1, period)); children.add(new Property("participant", "", "Indicates who or what performed or participated in the charged service.", 0, java.lang.Integer.MAX_VALUE, participant)); children.add(new Property("issuer", "Reference(Organization)", "The organizationissuing the Invoice.", 0, 1, issuer)); children.add(new Property("account", "Reference(Account)", "Account which is supposed to be balanced with this Invoice.", 0, 1, account)); children.add(new Property("lineItem", "", "Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.", 0, java.lang.Integer.MAX_VALUE, lineItem)); - children.add(new Property("totalPriceComponent", "@Invoice.lineItem.priceComponent", "The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.", 0, java.lang.Integer.MAX_VALUE, totalPriceComponent)); + children.add(new Property("totalPriceComponent", "MonetaryComponent", "The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.", 0, java.lang.Integer.MAX_VALUE, totalPriceComponent)); children.add(new Property("totalNet", "Money", "Invoice total , taxes excluded.", 0, 1, totalNet)); children.add(new Property("totalGross", "Money", "Invoice total, tax included.", 0, 1, totalGross)); children.add(new Property("paymentTerms", "markdown", "Payment details such as banking details, period of payment, deductibles, methods of payment.", 0, 1, paymentTerms)); @@ -1903,12 +1731,17 @@ public class Invoice extends DomainResource { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of Invoice depending on domain, realm an usage (e.g. internal/external, dental, preliminary).", 0, 1, type); case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The individual or set of individuals receiving the goods and services billed in this invoice.", 0, 1, subject); case 820081177: /*recipient*/ return new Property("recipient", "Reference(Organization|Patient|RelatedPerson)", "The individual or Organization responsible for balancing of this invoice.", 0, 1, recipient); - case 3076014: /*date*/ return new Property("date", "dateTime", "Date/time(s) of when this Invoice was posted.", 0, 1, date); + case 3076014: /*date*/ return new Property("date", "dateTime", "Depricared by the element below.", 0, 1, date); + case 1820421855: /*creation*/ return new Property("creation", "dateTime", "Date/time(s) of when this Invoice was posted.", 0, 1, creation); + case 566594335: /*period[x]*/ return new Property("period[x]", "date|Period", "Date/time(s) range of services included in this invoice.", 0, 1, period); + case -991726143: /*period*/ return new Property("period[x]", "date|Period", "Date/time(s) range of services included in this invoice.", 0, 1, period); + case 383848719: /*periodDate*/ return new Property("period[x]", "date", "Date/time(s) range of services included in this invoice.", 0, 1, period); + case -141376798: /*periodPeriod*/ return new Property("period[x]", "Period", "Date/time(s) range of services included in this invoice.", 0, 1, period); case 767422259: /*participant*/ return new Property("participant", "", "Indicates who or what performed or participated in the charged service.", 0, java.lang.Integer.MAX_VALUE, participant); case -1179159879: /*issuer*/ return new Property("issuer", "Reference(Organization)", "The organizationissuing the Invoice.", 0, 1, issuer); case -1177318867: /*account*/ return new Property("account", "Reference(Account)", "Account which is supposed to be balanced with this Invoice.", 0, 1, account); case 1188332839: /*lineItem*/ return new Property("lineItem", "", "Each line item represents one charge for goods and services rendered. Details such as date, code and amount are found in the referenced ChargeItem resource.", 0, java.lang.Integer.MAX_VALUE, lineItem); - case 1731497496: /*totalPriceComponent*/ return new Property("totalPriceComponent", "@Invoice.lineItem.priceComponent", "The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.", 0, java.lang.Integer.MAX_VALUE, totalPriceComponent); + case 1731497496: /*totalPriceComponent*/ return new Property("totalPriceComponent", "MonetaryComponent", "The total amount for the Invoice may be calculated as the sum of the line items with surcharges/deductions that apply in certain conditions. The priceComponent element can be used to offer transparency to the recipient of the Invoice of how the total price was calculated.", 0, java.lang.Integer.MAX_VALUE, totalPriceComponent); case -849911879: /*totalNet*/ return new Property("totalNet", "Money", "Invoice total , taxes excluded.", 0, 1, totalNet); case -727607968: /*totalGross*/ return new Property("totalGross", "Money", "Invoice total, tax included.", 0, 1, totalGross); case -507544799: /*paymentTerms*/ return new Property("paymentTerms", "markdown", "Payment details such as banking details, period of payment, deductibles, methods of payment.", 0, 1, paymentTerms); @@ -1928,11 +1761,13 @@ public class Invoice extends DomainResource { case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case 820081177: /*recipient*/ return this.recipient == null ? new Base[0] : new Base[] {this.recipient}; // Reference case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType + case 1820421855: /*creation*/ return this.creation == null ? new Base[0] : new Base[] {this.creation}; // DateTimeType + case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // DataType case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // InvoiceParticipantComponent case -1179159879: /*issuer*/ return this.issuer == null ? new Base[0] : new Base[] {this.issuer}; // Reference case -1177318867: /*account*/ return this.account == null ? new Base[0] : new Base[] {this.account}; // Reference case 1188332839: /*lineItem*/ return this.lineItem == null ? new Base[0] : this.lineItem.toArray(new Base[this.lineItem.size()]); // InvoiceLineItemComponent - case 1731497496: /*totalPriceComponent*/ return this.totalPriceComponent == null ? new Base[0] : this.totalPriceComponent.toArray(new Base[this.totalPriceComponent.size()]); // InvoiceLineItemPriceComponentComponent + case 1731497496: /*totalPriceComponent*/ return this.totalPriceComponent == null ? new Base[0] : this.totalPriceComponent.toArray(new Base[this.totalPriceComponent.size()]); // MonetaryComponent case -849911879: /*totalNet*/ return this.totalNet == null ? new Base[0] : new Base[] {this.totalNet}; // Money case -727607968: /*totalGross*/ return this.totalGross == null ? new Base[0] : new Base[] {this.totalGross}; // Money case -507544799: /*paymentTerms*/ return this.paymentTerms == null ? new Base[0] : new Base[] {this.paymentTerms}; // MarkdownType @@ -1967,6 +1802,12 @@ public class Invoice extends DomainResource { case 3076014: // date this.date = TypeConvertor.castToDateTime(value); // DateTimeType return value; + case 1820421855: // creation + this.creation = TypeConvertor.castToDateTime(value); // DateTimeType + return value; + case -991726143: // period + this.period = TypeConvertor.castToType(value); // DataType + return value; case 767422259: // participant this.getParticipant().add((InvoiceParticipantComponent) value); // InvoiceParticipantComponent return value; @@ -1980,7 +1821,7 @@ public class Invoice extends DomainResource { this.getLineItem().add((InvoiceLineItemComponent) value); // InvoiceLineItemComponent return value; case 1731497496: // totalPriceComponent - this.getTotalPriceComponent().add((InvoiceLineItemPriceComponentComponent) value); // InvoiceLineItemPriceComponentComponent + this.getTotalPriceComponent().add(TypeConvertor.castToMonetaryComponent(value)); // MonetaryComponent return value; case -849911879: // totalNet this.totalNet = TypeConvertor.castToMoney(value); // Money @@ -2016,6 +1857,10 @@ public class Invoice extends DomainResource { this.recipient = TypeConvertor.castToReference(value); // Reference } else if (name.equals("date")) { this.date = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("creation")) { + this.creation = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("period[x]")) { + this.period = TypeConvertor.castToType(value); // DataType } else if (name.equals("participant")) { this.getParticipant().add((InvoiceParticipantComponent) value); } else if (name.equals("issuer")) { @@ -2025,7 +1870,7 @@ public class Invoice extends DomainResource { } else if (name.equals("lineItem")) { this.getLineItem().add((InvoiceLineItemComponent) value); } else if (name.equals("totalPriceComponent")) { - this.getTotalPriceComponent().add((InvoiceLineItemPriceComponentComponent) value); + this.getTotalPriceComponent().add(TypeConvertor.castToMonetaryComponent(value)); } else if (name.equals("totalNet")) { this.totalNet = TypeConvertor.castToMoney(value); // Money } else if (name.equals("totalGross")) { @@ -2049,6 +1894,9 @@ public class Invoice extends DomainResource { case -1867885268: return getSubject(); case 820081177: return getRecipient(); case 3076014: return getDateElement(); + case 1820421855: return getCreationElement(); + case 566594335: return getPeriod(); + case -991726143: return getPeriod(); case 767422259: return addParticipant(); case -1179159879: return getIssuer(); case -1177318867: return getAccount(); @@ -2073,11 +1921,13 @@ public class Invoice extends DomainResource { case -1867885268: /*subject*/ return new String[] {"Reference"}; case 820081177: /*recipient*/ return new String[] {"Reference"}; case 3076014: /*date*/ return new String[] {"dateTime"}; + case 1820421855: /*creation*/ return new String[] {"dateTime"}; + case -991726143: /*period*/ return new String[] {"date", "Period"}; case 767422259: /*participant*/ return new String[] {}; case -1179159879: /*issuer*/ return new String[] {"Reference"}; case -1177318867: /*account*/ return new String[] {"Reference"}; case 1188332839: /*lineItem*/ return new String[] {}; - case 1731497496: /*totalPriceComponent*/ return new String[] {"@Invoice.lineItem.priceComponent"}; + case 1731497496: /*totalPriceComponent*/ return new String[] {"MonetaryComponent"}; case -849911879: /*totalNet*/ return new String[] {"Money"}; case -727607968: /*totalGross*/ return new String[] {"Money"}; case -507544799: /*paymentTerms*/ return new String[] {"markdown"}; @@ -2113,6 +1963,17 @@ public class Invoice extends DomainResource { else if (name.equals("date")) { throw new FHIRException("Cannot call addChild on a primitive type Invoice.date"); } + else if (name.equals("creation")) { + throw new FHIRException("Cannot call addChild on a primitive type Invoice.creation"); + } + else if (name.equals("periodDate")) { + this.period = new DateType(); + return this.period; + } + else if (name.equals("periodPeriod")) { + this.period = new Period(); + return this.period; + } else if (name.equals("participant")) { return addParticipant(); } @@ -2172,6 +2033,8 @@ public class Invoice extends DomainResource { dst.subject = subject == null ? null : subject.copy(); dst.recipient = recipient == null ? null : recipient.copy(); dst.date = date == null ? null : date.copy(); + dst.creation = creation == null ? null : creation.copy(); + dst.period = period == null ? null : period.copy(); if (participant != null) { dst.participant = new ArrayList(); for (InvoiceParticipantComponent i : participant) @@ -2185,8 +2048,8 @@ public class Invoice extends DomainResource { dst.lineItem.add(i.copy()); }; if (totalPriceComponent != null) { - dst.totalPriceComponent = new ArrayList(); - for (InvoiceLineItemPriceComponentComponent i : totalPriceComponent) + dst.totalPriceComponent = new ArrayList(); + for (MonetaryComponent i : totalPriceComponent) dst.totalPriceComponent.add(i.copy()); }; dst.totalNet = totalNet == null ? null : totalNet.copy(); @@ -2212,8 +2075,9 @@ public class Invoice extends DomainResource { Invoice o = (Invoice) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(cancelledReason, o.cancelledReason, true) && compareDeep(type, o.type, true) && compareDeep(subject, o.subject, true) && compareDeep(recipient, o.recipient, true) - && compareDeep(date, o.date, true) && compareDeep(participant, o.participant, true) && compareDeep(issuer, o.issuer, true) - && compareDeep(account, o.account, true) && compareDeep(lineItem, o.lineItem, true) && compareDeep(totalPriceComponent, o.totalPriceComponent, true) + && compareDeep(date, o.date, true) && compareDeep(creation, o.creation, true) && compareDeep(period, o.period, true) + && compareDeep(participant, o.participant, true) && compareDeep(issuer, o.issuer, true) && compareDeep(account, o.account, true) + && compareDeep(lineItem, o.lineItem, true) && compareDeep(totalPriceComponent, o.totalPriceComponent, true) && compareDeep(totalNet, o.totalNet, true) && compareDeep(totalGross, o.totalGross, true) && compareDeep(paymentTerms, o.paymentTerms, true) && compareDeep(note, o.note, true); } @@ -2226,13 +2090,14 @@ public class Invoice extends DomainResource { return false; Invoice o = (Invoice) other_; return compareValues(status, o.status, true) && compareValues(cancelledReason, o.cancelledReason, true) - && compareValues(date, o.date, true) && compareValues(paymentTerms, o.paymentTerms, true); + && compareValues(date, o.date, true) && compareValues(creation, o.creation, true) && compareValues(paymentTerms, o.paymentTerms, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, cancelledReason - , type, subject, recipient, date, participant, issuer, account, lineItem, totalPriceComponent - , totalNet, totalGross, paymentTerms, note); + , type, subject, recipient, date, creation, period, participant, issuer, account + , lineItem, totalPriceComponent, totalNet, totalGross, paymentTerms, note); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Library.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Library.java index 92771b531..9eda587a4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Library.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Library.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -54,10 +54,10 @@ import ca.uhn.fhir.model.api.annotation.Block; public class Library extends MetadataResource { /** - * An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers. + * An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this library, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this library, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers." ) protected UriType url; /** @@ -123,7 +123,7 @@ public class Library extends MetadataResource { */ @Child(name = "subject", type = {CodeableConcept.class, Group.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Type of individual the library content is focused on", formalDefinition="A code or group definition that describes the intended subject of the contents of the library." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -134,10 +134,10 @@ public class Library extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the library. + * The name of the organization or individual responsible for the release and ongoing maintenance of the library. */ @Child(name = "publisher", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the library." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the library." ) protected StringType publisher; /** @@ -294,7 +294,7 @@ public class Library extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -314,7 +314,7 @@ public class Library extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public Library setUrlElement(UriType value) { this.url = value; @@ -322,14 +322,14 @@ public class Library extends MetadataResource { } /** - * @return An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers. + * @return An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers. + * @param value An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers. */ public Library setUrl(String value) { if (Utilities.noString(value)) @@ -806,7 +806,7 @@ public class Library extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the library.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the library.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -826,7 +826,7 @@ public class Library extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the library.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the library.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public Library setPublisherElement(StringType value) { this.publisher = value; @@ -834,14 +834,14 @@ public class Library extends MetadataResource { } /** - * @return The name of the organization or individual that published the library. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the library. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the library. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the library. */ public Library setPublisher(String value) { if (Utilities.noString(value)) @@ -1808,9 +1808,86 @@ public class Library extends MetadataResource { return getContent().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"Library\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"Library\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"Library\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Library setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"Library\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"Library\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public Library setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"Library\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"Library\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public Library setCopyrightLabel(String value) { + throw new Error("The resource type \"Library\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifacts.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the library. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -1821,7 +1898,7 @@ public class Library extends MetadataResource { children.add(new Property("type", "CodeableConcept", "Identifies the type of library such as a Logic Library, Model Definition, Asset Collection, or Module Definition.", 0, 1, type)); children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)", "A code or group definition that describes the intended subject of the contents of the library.", 0, 1, subject)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the library was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the library changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the library.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the library.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the library from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate library instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -1846,7 +1923,7 @@ public class Library extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this library when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this library is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the library is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this library when it is represented in other formats, or referenced in a specification, model, design or an instance. e.g. CMS or NQF identifiers for a measure artifact. Note that at least one identifier is required for non-experimental active artifacts.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the library when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the library author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the library. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -1860,7 +1937,7 @@ public class Library extends MetadataResource { case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept", "A code or group definition that describes the intended subject of the contents of the library.", 0, 1, subject); case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "A code or group definition that describes the intended subject of the contents of the library.", 0, 1, subject); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the library was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the library changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the library.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the library.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the library from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate library instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -2440,7 +2517,7 @@ public class Library extends MetadataResource { * Path: Library.relatedArtifact.where(type='composed-of').resource
*

*/ - @SearchParamDefinition(name="composed-of", path="Library.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="composed-of", path="Library.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_COMPOSED_OF = "composed-of"; /** * Fluent Client search parameter constant for composed-of @@ -2606,7 +2683,7 @@ public class Library extends MetadataResource { * Path: Library.relatedArtifact.where(type='depends-on').resource
*

*/ - @SearchParamDefinition(name="depends-on", path="Library.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="depends-on", path="Library.relatedArtifact.where(type='depends-on').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DEPENDS_ON = "depends-on"; /** * Fluent Client search parameter constant for depends-on @@ -2632,7 +2709,7 @@ public class Library extends MetadataResource { * Path: Library.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="derived-from", path="Library.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="derived-from", path="Library.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -2758,7 +2835,7 @@ public class Library extends MetadataResource { * Path: Library.relatedArtifact.where(type='predecessor').resource
*

*/ - @SearchParamDefinition(name="predecessor", path="Library.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="predecessor", path="Library.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PREDECESSOR = "predecessor"; /** * Fluent Client search parameter constant for predecessor @@ -2824,7 +2901,7 @@ public class Library extends MetadataResource { * Path: Library.relatedArtifact.where(type='successor').resource
*

*/ - @SearchParamDefinition(name="successor", path="Library.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="successor", path="Library.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUCCESSOR = "successor"; /** * Fluent Client search parameter constant for successor diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Linkage.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Linkage.java index b5f1ec88f..1371c263f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Linkage.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Linkage.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -745,7 +745,7 @@ public class Linkage extends DomainResource { * Path: Linkage.item.resource
*

*/ - @SearchParamDefinition(name="item", path="Linkage.item.resource", description="Matches on any item in the Linkage", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="item", path="Linkage.item.resource", description="Matches on any item in the Linkage", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_ITEM = "item"; /** * Fluent Client search parameter constant for item @@ -771,7 +771,7 @@ public class Linkage extends DomainResource { * Path: Linkage.item.resource
*

*/ - @SearchParamDefinition(name="source", path="Linkage.item.resource", description="Matches on any item in the Linkage with a type of 'source'", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="source", path="Linkage.item.resource", description="Matches on any item in the Linkage with a type of 'source'", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SOURCE = "source"; /** * Fluent Client search parameter constant for source diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ListResource.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ListResource.java index 677e191f4..7d12b2261 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ListResource.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ListResource.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * A list is a curated collection of resources. + * A List is a curated collection of resources, for things such as problem lists, allergy lists, facility list, organization list, etc. */ @ResourceDef(name="List", profile="http://hl7.org/fhir/StructureDefinition/List") public class ListResource extends DomainResource { @@ -554,7 +554,7 @@ public class ListResource extends DomainResource { /** * The common subject (or patient) of the resources that are in the list if there is one. */ - @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Practitioner.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If all resources have the same subject", formalDefinition="The common subject (or patient) of the resources that are in the list if there is one." ) protected Reference subject; @@ -566,10 +566,10 @@ public class ListResource extends DomainResource { protected Reference encounter; /** - * The date that the list was prepared. + * Date list was last reviewed/revised and determined to be 'current'. */ @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="When the list was prepared", formalDefinition="The date that the list was prepared." ) + @Description(shortDefinition="When the list was prepared", formalDefinition="Date list was last reviewed/revised and determined to be 'current'." ) protected DateTimeType date; /** @@ -892,7 +892,7 @@ public class ListResource extends DomainResource { } /** - * @return {@link #date} (The date that the list was prepared.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + * @return {@link #date} (Date list was last reviewed/revised and determined to be 'current'.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ public DateTimeType getDateElement() { if (this.date == null) @@ -912,7 +912,7 @@ public class ListResource extends DomainResource { } /** - * @param value {@link #date} (The date that the list was prepared.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + * @param value {@link #date} (Date list was last reviewed/revised and determined to be 'current'.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ public ListResource setDateElement(DateTimeType value) { this.date = value; @@ -920,14 +920,14 @@ public class ListResource extends DomainResource { } /** - * @return The date that the list was prepared. + * @return Date list was last reviewed/revised and determined to be 'current'. */ public Date getDate() { return this.date == null ? null : this.date.getValue(); } /** - * @param value The date that the list was prepared. + * @param value Date list was last reviewed/revised and determined to be 'current'. */ public ListResource setDate(Date value) { if (value == null) @@ -1125,9 +1125,9 @@ public class ListResource extends DomainResource { children.add(new Property("mode", "code", "How this list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.", 0, 1, mode)); children.add(new Property("title", "string", "A label for the list assigned by the author.", 0, 1, title)); children.add(new Property("code", "CodeableConcept", "This code defines the purpose of the list - why it was created.", 0, 1, code)); - children.add(new Property("subject", "Reference(Patient|Group|Device|Location)", "The common subject (or patient) of the resources that are in the list if there is one.", 0, 1, subject)); + children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Practitioner)", "The common subject (or patient) of the resources that are in the list if there is one.", 0, 1, subject)); children.add(new Property("encounter", "Reference(Encounter)", "The encounter that is the context in which this list was created.", 0, 1, encounter)); - children.add(new Property("date", "dateTime", "The date that the list was prepared.", 0, 1, date)); + children.add(new Property("date", "dateTime", "Date list was last reviewed/revised and determined to be 'current'.", 0, 1, date)); children.add(new Property("source", "Reference(Practitioner|PractitionerRole|Patient|Device|Organization|RelatedPerson|CareTeam)", "The entity responsible for deciding what the contents of the list were. Where the list was created by a human, this is the same as the author of the list.", 0, 1, source)); children.add(new Property("orderedBy", "CodeableConcept", "What order applies to the items in the list.", 0, 1, orderedBy)); children.add(new Property("note", "Annotation", "Comments that apply to the overall list.", 0, java.lang.Integer.MAX_VALUE, note)); @@ -1143,9 +1143,9 @@ public class ListResource extends DomainResource { case 3357091: /*mode*/ return new Property("mode", "code", "How this list was prepared - whether it is a working list that is suitable for being maintained on an ongoing basis, or if it represents a snapshot of a list of items from another source, or whether it is a prepared list where items may be marked as added, modified or deleted.", 0, 1, mode); case 110371416: /*title*/ return new Property("title", "string", "A label for the list assigned by the author.", 0, 1, title); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "This code defines the purpose of the list - why it was created.", 0, 1, code); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location)", "The common subject (or patient) of the resources that are in the list if there is one.", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Practitioner)", "The common subject (or patient) of the resources that are in the list if there is one.", 0, 1, subject); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The encounter that is the context in which this list was created.", 0, 1, encounter); - case 3076014: /*date*/ return new Property("date", "dateTime", "The date that the list was prepared.", 0, 1, date); + case 3076014: /*date*/ return new Property("date", "dateTime", "Date list was last reviewed/revised and determined to be 'current'.", 0, 1, date); case -896505829: /*source*/ return new Property("source", "Reference(Practitioner|PractitionerRole|Patient|Device|Organization|RelatedPerson|CareTeam)", "The entity responsible for deciding what the contents of the list were. Where the list was created by a human, this is the same as the author of the list.", 0, 1, source); case -391079516: /*orderedBy*/ return new Property("orderedBy", "CodeableConcept", "What order applies to the items in the list.", 0, 1, orderedBy); case 3387378: /*note*/ return new Property("note", "Annotation", "Comments that apply to the overall list.", 0, java.lang.Integer.MAX_VALUE, note); @@ -1462,7 +1462,7 @@ public class ListResource extends DomainResource { * Path: List.entry.item
*

*/ - @SearchParamDefinition(name="item", path="List.entry.item", description="Actual entry", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="item", path="List.entry.item", description="Actual entry", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_ITEM = "item"; /** * Fluent Client search parameter constant for item @@ -1554,7 +1554,7 @@ public class ListResource extends DomainResource { * Path: List.subject
*

*/ - @SearchParamDefinition(name="subject", path="List.subject", description="If all resources have the same subject", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Device.class, Group.class, Location.class, Patient.class } ) + @SearchParamDefinition(name="subject", path="List.subject", description="If all resources have the same subject", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Device.class, Group.class, Location.class, Organization.class, Patient.class, Practitioner.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject @@ -1610,13 +1610,12 @@ public class ListResource extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -1636,10 +1635,9 @@ public class ListResource extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -1868,7 +1866,7 @@ public class ListResource extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1877,10 +1875,10 @@ public class ListResource extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1912,7 +1910,7 @@ public class ListResource extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1921,7 +1919,7 @@ public class ListResource extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Location.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Location.java index 521006ff0..ca247b7d5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Location.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Location.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -637,413 +637,6 @@ public class Location extends DomainResource { } - } - - @Block() - public static class LocationHoursOfOperationComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Indicates which days of the week are available between the start and end Times. - */ - @Child(name = "daysOfWeek", type = {CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="mon | tue | wed | thu | fri | sat | sun", formalDefinition="Indicates which days of the week are available between the start and end Times." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/days-of-week") - protected List> daysOfWeek; - - /** - * Is this always available? (hence times are irrelevant) i.e. 24 hour service. - */ - @Child(name = "allDay", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Always available? i.e. 24 hour service", formalDefinition="Is this always available? (hence times are irrelevant) i.e. 24 hour service." ) - protected BooleanType allDay; - - /** - * Time that the Location opens. - */ - @Child(name = "openingTime", type = {TimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Time that the Location opens", formalDefinition="Time that the Location opens." ) - protected TimeType openingTime; - - /** - * Time that the Location closes. - */ - @Child(name = "closingTime", type = {TimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Time that the Location closes", formalDefinition="Time that the Location closes." ) - protected TimeType closingTime; - - private static final long serialVersionUID = -932551849L; - - /** - * Constructor - */ - public LocationHoursOfOperationComponent() { - super(); - } - - /** - * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public List> getDaysOfWeek() { - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - return this.daysOfWeek; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public LocationHoursOfOperationComponent setDaysOfWeek(List> theDaysOfWeek) { - this.daysOfWeek = theDaysOfWeek; - return this; - } - - public boolean hasDaysOfWeek() { - if (this.daysOfWeek == null) - return false; - for (Enumeration item : this.daysOfWeek) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public Enumeration addDaysOfWeekElement() {//2 - Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - this.daysOfWeek.add(t); - return t; - } - - /** - * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public LocationHoursOfOperationComponent addDaysOfWeek(DaysOfWeek value) { //1 - Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); - t.setValue(value); - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - this.daysOfWeek.add(t); - return this; - } - - /** - * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end Times.) - */ - public boolean hasDaysOfWeek(DaysOfWeek value) { - if (this.daysOfWeek == null) - return false; - for (Enumeration v : this.daysOfWeek) - if (v.getValue().equals(value)) // code - return true; - return false; - } - - /** - * @return {@link #allDay} (Is this always available? (hence times are irrelevant) i.e. 24 hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value - */ - public BooleanType getAllDayElement() { - if (this.allDay == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create LocationHoursOfOperationComponent.allDay"); - else if (Configuration.doAutoCreate()) - this.allDay = new BooleanType(); // bb - return this.allDay; - } - - public boolean hasAllDayElement() { - return this.allDay != null && !this.allDay.isEmpty(); - } - - public boolean hasAllDay() { - return this.allDay != null && !this.allDay.isEmpty(); - } - - /** - * @param value {@link #allDay} (Is this always available? (hence times are irrelevant) i.e. 24 hour service.). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value - */ - public LocationHoursOfOperationComponent setAllDayElement(BooleanType value) { - this.allDay = value; - return this; - } - - /** - * @return Is this always available? (hence times are irrelevant) i.e. 24 hour service. - */ - public boolean getAllDay() { - return this.allDay == null || this.allDay.isEmpty() ? false : this.allDay.getValue(); - } - - /** - * @param value Is this always available? (hence times are irrelevant) i.e. 24 hour service. - */ - public LocationHoursOfOperationComponent setAllDay(boolean value) { - if (this.allDay == null) - this.allDay = new BooleanType(); - this.allDay.setValue(value); - return this; - } - - /** - * @return {@link #openingTime} (Time that the Location opens.). This is the underlying object with id, value and extensions. The accessor "getOpeningTime" gives direct access to the value - */ - public TimeType getOpeningTimeElement() { - if (this.openingTime == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create LocationHoursOfOperationComponent.openingTime"); - else if (Configuration.doAutoCreate()) - this.openingTime = new TimeType(); // bb - return this.openingTime; - } - - public boolean hasOpeningTimeElement() { - return this.openingTime != null && !this.openingTime.isEmpty(); - } - - public boolean hasOpeningTime() { - return this.openingTime != null && !this.openingTime.isEmpty(); - } - - /** - * @param value {@link #openingTime} (Time that the Location opens.). This is the underlying object with id, value and extensions. The accessor "getOpeningTime" gives direct access to the value - */ - public LocationHoursOfOperationComponent setOpeningTimeElement(TimeType value) { - this.openingTime = value; - return this; - } - - /** - * @return Time that the Location opens. - */ - public String getOpeningTime() { - return this.openingTime == null ? null : this.openingTime.getValue(); - } - - /** - * @param value Time that the Location opens. - */ - public LocationHoursOfOperationComponent setOpeningTime(String value) { - if (value == null) - this.openingTime = null; - else { - if (this.openingTime == null) - this.openingTime = new TimeType(); - this.openingTime.setValue(value); - } - return this; - } - - /** - * @return {@link #closingTime} (Time that the Location closes.). This is the underlying object with id, value and extensions. The accessor "getClosingTime" gives direct access to the value - */ - public TimeType getClosingTimeElement() { - if (this.closingTime == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create LocationHoursOfOperationComponent.closingTime"); - else if (Configuration.doAutoCreate()) - this.closingTime = new TimeType(); // bb - return this.closingTime; - } - - public boolean hasClosingTimeElement() { - return this.closingTime != null && !this.closingTime.isEmpty(); - } - - public boolean hasClosingTime() { - return this.closingTime != null && !this.closingTime.isEmpty(); - } - - /** - * @param value {@link #closingTime} (Time that the Location closes.). This is the underlying object with id, value and extensions. The accessor "getClosingTime" gives direct access to the value - */ - public LocationHoursOfOperationComponent setClosingTimeElement(TimeType value) { - this.closingTime = value; - return this; - } - - /** - * @return Time that the Location closes. - */ - public String getClosingTime() { - return this.closingTime == null ? null : this.closingTime.getValue(); - } - - /** - * @param value Time that the Location closes. - */ - public LocationHoursOfOperationComponent setClosingTime(String value) { - if (value == null) - this.closingTime = null; - else { - if (this.closingTime == null) - this.closingTime = new TimeType(); - this.closingTime.setValue(value); - } - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end Times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek)); - children.add(new Property("allDay", "boolean", "Is this always available? (hence times are irrelevant) i.e. 24 hour service.", 0, 1, allDay)); - children.add(new Property("openingTime", "time", "Time that the Location opens.", 0, 1, openingTime)); - children.add(new Property("closingTime", "time", "Time that the Location closes.", 0, 1, closingTime)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 68050338: /*daysOfWeek*/ return new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end Times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek); - case -1414913477: /*allDay*/ return new Property("allDay", "boolean", "Is this always available? (hence times are irrelevant) i.e. 24 hour service.", 0, 1, allDay); - case 84062277: /*openingTime*/ return new Property("openingTime", "time", "Time that the Location opens.", 0, 1, openingTime); - case 188137762: /*closingTime*/ return new Property("closingTime", "time", "Time that the Location closes.", 0, 1, closingTime); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 68050338: /*daysOfWeek*/ return this.daysOfWeek == null ? new Base[0] : this.daysOfWeek.toArray(new Base[this.daysOfWeek.size()]); // Enumeration - case -1414913477: /*allDay*/ return this.allDay == null ? new Base[0] : new Base[] {this.allDay}; // BooleanType - case 84062277: /*openingTime*/ return this.openingTime == null ? new Base[0] : new Base[] {this.openingTime}; // TimeType - case 188137762: /*closingTime*/ return this.closingTime == null ? new Base[0] : new Base[] {this.closingTime}; // TimeType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 68050338: // daysOfWeek - value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getDaysOfWeek().add((Enumeration) value); // Enumeration - return value; - case -1414913477: // allDay - this.allDay = TypeConvertor.castToBoolean(value); // BooleanType - return value; - case 84062277: // openingTime - this.openingTime = TypeConvertor.castToTime(value); // TimeType - return value; - case 188137762: // closingTime - this.closingTime = TypeConvertor.castToTime(value); // TimeType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("daysOfWeek")) { - value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getDaysOfWeek().add((Enumeration) value); - } else if (name.equals("allDay")) { - this.allDay = TypeConvertor.castToBoolean(value); // BooleanType - } else if (name.equals("openingTime")) { - this.openingTime = TypeConvertor.castToTime(value); // TimeType - } else if (name.equals("closingTime")) { - this.closingTime = TypeConvertor.castToTime(value); // TimeType - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 68050338: return addDaysOfWeekElement(); - case -1414913477: return getAllDayElement(); - case 84062277: return getOpeningTimeElement(); - case 188137762: return getClosingTimeElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 68050338: /*daysOfWeek*/ return new String[] {"code"}; - case -1414913477: /*allDay*/ return new String[] {"boolean"}; - case 84062277: /*openingTime*/ return new String[] {"time"}; - case 188137762: /*closingTime*/ return new String[] {"time"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("daysOfWeek")) { - throw new FHIRException("Cannot call addChild on a primitive type Location.hoursOfOperation.daysOfWeek"); - } - else if (name.equals("allDay")) { - throw new FHIRException("Cannot call addChild on a primitive type Location.hoursOfOperation.allDay"); - } - else if (name.equals("openingTime")) { - throw new FHIRException("Cannot call addChild on a primitive type Location.hoursOfOperation.openingTime"); - } - else if (name.equals("closingTime")) { - throw new FHIRException("Cannot call addChild on a primitive type Location.hoursOfOperation.closingTime"); - } - else - return super.addChild(name); - } - - public LocationHoursOfOperationComponent copy() { - LocationHoursOfOperationComponent dst = new LocationHoursOfOperationComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(LocationHoursOfOperationComponent dst) { - super.copyValues(dst); - if (daysOfWeek != null) { - dst.daysOfWeek = new ArrayList>(); - for (Enumeration i : daysOfWeek) - dst.daysOfWeek.add(i.copy()); - }; - dst.allDay = allDay == null ? null : allDay.copy(); - dst.openingTime = openingTime == null ? null : openingTime.copy(); - dst.closingTime = closingTime == null ? null : closingTime.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof LocationHoursOfOperationComponent)) - return false; - LocationHoursOfOperationComponent o = (LocationHoursOfOperationComponent) other_; - return compareDeep(daysOfWeek, o.daysOfWeek, true) && compareDeep(allDay, o.allDay, true) && compareDeep(openingTime, o.openingTime, true) - && compareDeep(closingTime, o.closingTime, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof LocationHoursOfOperationComponent)) - return false; - LocationHoursOfOperationComponent o = (LocationHoursOfOperationComponent) other_; - return compareValues(daysOfWeek, o.daysOfWeek, true) && compareValues(allDay, o.allDay, true) && compareValues(openingTime, o.openingTime, true) - && compareValues(closingTime, o.closingTime, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(daysOfWeek, allDay, openingTime - , closingTime); - } - - public String fhirType() { - return "Location.hoursOfOperation"; - - } - } /** @@ -1113,62 +706,63 @@ public class Location extends DomainResource { @Description(shortDefinition="Official contact details for the location", formalDefinition="The contact details of communication devices available at the location. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites." ) protected List contact; - /** - * Deprecated - use contact.telecom. - */ - @Child(name = "telecom", type = {ContactPoint.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Deprecated - use contact.telecom", formalDefinition="Deprecated - use contact.telecom." ) - protected List telecom; - /** * Physical location. */ - @Child(name = "address", type = {Address.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "address", type = {Address.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Physical location", formalDefinition="Physical location." ) protected Address address; /** - * Physical form of the location, e.g. building, room, vehicle, road. + * Physical form of the location, e.g. building, room, vehicle, road, virtual. */ - @Child(name = "physicalType", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Physical form of the location", formalDefinition="Physical form of the location, e.g. building, room, vehicle, road." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-physical-type") - protected CodeableConcept physicalType; + @Child(name = "form", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Physical form of the location", formalDefinition="Physical form of the location, e.g. building, room, vehicle, road, virtual." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-form") + protected CodeableConcept form; /** * The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML). */ - @Child(name = "position", type = {}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "position", type = {}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The absolute geographic location", formalDefinition="The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML)." ) protected LocationPositionComponent position; /** * The organization responsible for the provisioning and upkeep of the location. */ - @Child(name = "managingOrganization", type = {Organization.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "managingOrganization", type = {Organization.class}, order=12, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Organization responsible for provisioning and upkeep", formalDefinition="The organization responsible for the provisioning and upkeep of the location." ) protected Reference managingOrganization; /** * Another Location of which this Location is physically a part of. */ - @Child(name = "partOf", type = {Location.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "partOf", type = {Location.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Another Location this one is physically a part of", formalDefinition="Another Location of which this Location is physically a part of." ) protected Reference partOf; /** - * What days/times during a week is this location usually open. + * Collection of characteristics (attributes). */ - @Child(name = "hoursOfOperation", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="What days/times during a week is this location usually open", formalDefinition="What days/times during a week is this location usually open." ) - protected List hoursOfOperation; + @Child(name = "characteristic", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Collection of characteristics (attributes)", formalDefinition="Collection of characteristics (attributes)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/location-characteristic") + protected List characteristic; /** - * A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times. + * What days/times during a week is this location usually open, and any exceptions where the location is not available. */ - @Child(name = "availabilityExceptions", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Description of availability exceptions", formalDefinition="A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times." ) - protected StringType availabilityExceptions; + @Child(name = "hoursOfOperation", type = {Availability.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="What days/times during a week is this location usually open (including exceptions)", formalDefinition="What days/times during a week is this location usually open, and any exceptions where the location is not available." ) + protected List hoursOfOperation; + + /** + * Connection details of a virtual service (e.g. shared conference call facility with dedicated number/details). + */ + @Child(name = "virtualService", type = {VirtualServiceDetail.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Connection details of a virtual service (e.g. conference call)", formalDefinition="Connection details of a virtual service (e.g. shared conference call facility with dedicated number/details)." ) + protected List virtualService; /** * Technical endpoints providing access to services operated for the location. @@ -1177,7 +771,7 @@ public class Location extends DomainResource { @Description(shortDefinition="Technical endpoints providing access to services operated for the location", formalDefinition="Technical endpoints providing access to services operated for the location." ) protected List endpoint; - private static final long serialVersionUID = 270794377L; + private static final long serialVersionUID = -1677697270L; /** * Constructor @@ -1626,59 +1220,6 @@ public class Location extends DomainResource { return getContact().get(0); } - /** - * @return {@link #telecom} (Deprecated - use contact.telecom.) - */ - public List getTelecom() { - if (this.telecom == null) - this.telecom = new ArrayList(); - return this.telecom; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Location setTelecom(List theTelecom) { - this.telecom = theTelecom; - return this; - } - - public boolean hasTelecom() { - if (this.telecom == null) - return false; - for (ContactPoint item : this.telecom) - if (!item.isEmpty()) - return true; - return false; - } - - public ContactPoint addTelecom() { //3 - ContactPoint t = new ContactPoint(); - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); - return t; - } - - public Location addTelecom(ContactPoint t) { //3 - if (t == null) - return this; - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} - */ - public ContactPoint getTelecomFirstRep() { - if (getTelecom().isEmpty()) { - addTelecom(); - } - return getTelecom().get(0); - } - /** * @return {@link #address} (Physical location.) */ @@ -1704,26 +1245,26 @@ public class Location extends DomainResource { } /** - * @return {@link #physicalType} (Physical form of the location, e.g. building, room, vehicle, road.) + * @return {@link #form} (Physical form of the location, e.g. building, room, vehicle, road, virtual.) */ - public CodeableConcept getPhysicalType() { - if (this.physicalType == null) + public CodeableConcept getForm() { + if (this.form == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Location.physicalType"); + throw new Error("Attempt to auto-create Location.form"); else if (Configuration.doAutoCreate()) - this.physicalType = new CodeableConcept(); // cc - return this.physicalType; + this.form = new CodeableConcept(); // cc + return this.form; } - public boolean hasPhysicalType() { - return this.physicalType != null && !this.physicalType.isEmpty(); + public boolean hasForm() { + return this.form != null && !this.form.isEmpty(); } /** - * @param value {@link #physicalType} (Physical form of the location, e.g. building, room, vehicle, road.) + * @param value {@link #form} (Physical form of the location, e.g. building, room, vehicle, road, virtual.) */ - public Location setPhysicalType(CodeableConcept value) { - this.physicalType = value; + public Location setForm(CodeableConcept value) { + this.form = value; return this; } @@ -1800,18 +1341,71 @@ public class Location extends DomainResource { } /** - * @return {@link #hoursOfOperation} (What days/times during a week is this location usually open.) + * @return {@link #characteristic} (Collection of characteristics (attributes).) */ - public List getHoursOfOperation() { + public List getCharacteristic() { + if (this.characteristic == null) + this.characteristic = new ArrayList(); + return this.characteristic; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Location setCharacteristic(List theCharacteristic) { + this.characteristic = theCharacteristic; + return this; + } + + public boolean hasCharacteristic() { + if (this.characteristic == null) + return false; + for (CodeableConcept item : this.characteristic) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addCharacteristic() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.characteristic == null) + this.characteristic = new ArrayList(); + this.characteristic.add(t); + return t; + } + + public Location addCharacteristic(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.characteristic == null) + this.characteristic = new ArrayList(); + this.characteristic.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #characteristic}, creating it if it does not already exist {3} + */ + public CodeableConcept getCharacteristicFirstRep() { + if (getCharacteristic().isEmpty()) { + addCharacteristic(); + } + return getCharacteristic().get(0); + } + + /** + * @return {@link #hoursOfOperation} (What days/times during a week is this location usually open, and any exceptions where the location is not available.) + */ + public List getHoursOfOperation() { if (this.hoursOfOperation == null) - this.hoursOfOperation = new ArrayList(); + this.hoursOfOperation = new ArrayList(); return this.hoursOfOperation; } /** * @return Returns a reference to this for easy method chaining */ - public Location setHoursOfOperation(List theHoursOfOperation) { + public Location setHoursOfOperation(List theHoursOfOperation) { this.hoursOfOperation = theHoursOfOperation; return this; } @@ -1819,25 +1413,25 @@ public class Location extends DomainResource { public boolean hasHoursOfOperation() { if (this.hoursOfOperation == null) return false; - for (LocationHoursOfOperationComponent item : this.hoursOfOperation) + for (Availability item : this.hoursOfOperation) if (!item.isEmpty()) return true; return false; } - public LocationHoursOfOperationComponent addHoursOfOperation() { //3 - LocationHoursOfOperationComponent t = new LocationHoursOfOperationComponent(); + public Availability addHoursOfOperation() { //3 + Availability t = new Availability(); if (this.hoursOfOperation == null) - this.hoursOfOperation = new ArrayList(); + this.hoursOfOperation = new ArrayList(); this.hoursOfOperation.add(t); return t; } - public Location addHoursOfOperation(LocationHoursOfOperationComponent t) { //3 + public Location addHoursOfOperation(Availability t) { //3 if (t == null) return this; if (this.hoursOfOperation == null) - this.hoursOfOperation = new ArrayList(); + this.hoursOfOperation = new ArrayList(); this.hoursOfOperation.add(t); return this; } @@ -1845,7 +1439,7 @@ public class Location extends DomainResource { /** * @return The first repetition of repeating field {@link #hoursOfOperation}, creating it if it does not already exist {3} */ - public LocationHoursOfOperationComponent getHoursOfOperationFirstRep() { + public Availability getHoursOfOperationFirstRep() { if (getHoursOfOperation().isEmpty()) { addHoursOfOperation(); } @@ -1853,52 +1447,56 @@ public class Location extends DomainResource { } /** - * @return {@link #availabilityExceptions} (A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value + * @return {@link #virtualService} (Connection details of a virtual service (e.g. shared conference call facility with dedicated number/details).) */ - public StringType getAvailabilityExceptionsElement() { - if (this.availabilityExceptions == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Location.availabilityExceptions"); - else if (Configuration.doAutoCreate()) - this.availabilityExceptions = new StringType(); // bb - return this.availabilityExceptions; - } - - public boolean hasAvailabilityExceptionsElement() { - return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); - } - - public boolean hasAvailabilityExceptions() { - return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); + public List getVirtualService() { + if (this.virtualService == null) + this.virtualService = new ArrayList(); + return this.virtualService; } /** - * @param value {@link #availabilityExceptions} (A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value + * @return Returns a reference to this for easy method chaining */ - public Location setAvailabilityExceptionsElement(StringType value) { - this.availabilityExceptions = value; + public Location setVirtualService(List theVirtualService) { + this.virtualService = theVirtualService; + return this; + } + + public boolean hasVirtualService() { + if (this.virtualService == null) + return false; + for (VirtualServiceDetail item : this.virtualService) + if (!item.isEmpty()) + return true; + return false; + } + + public VirtualServiceDetail addVirtualService() { //3 + VirtualServiceDetail t = new VirtualServiceDetail(); + if (this.virtualService == null) + this.virtualService = new ArrayList(); + this.virtualService.add(t); + return t; + } + + public Location addVirtualService(VirtualServiceDetail t) { //3 + if (t == null) + return this; + if (this.virtualService == null) + this.virtualService = new ArrayList(); + this.virtualService.add(t); return this; } /** - * @return A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times. + * @return The first repetition of repeating field {@link #virtualService}, creating it if it does not already exist {3} */ - public String getAvailabilityExceptions() { - return this.availabilityExceptions == null ? null : this.availabilityExceptions.getValue(); - } - - /** - * @param value A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times. - */ - public Location setAvailabilityExceptions(String value) { - if (Utilities.noString(value)) - this.availabilityExceptions = null; - else { - if (this.availabilityExceptions == null) - this.availabilityExceptions = new StringType(); - this.availabilityExceptions.setValue(value); + public VirtualServiceDetail getVirtualServiceFirstRep() { + if (getVirtualService().isEmpty()) { + addVirtualService(); } - return this; + return getVirtualService().get(0); } /** @@ -1965,14 +1563,14 @@ public class Location extends DomainResource { children.add(new Property("mode", "code", "Indicates whether a resource instance represents a specific location or a class of locations.", 0, 1, mode)); children.add(new Property("type", "CodeableConcept", "Indicates the type of function performed at the location.", 0, java.lang.Integer.MAX_VALUE, type)); children.add(new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available at the location. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact)); - children.add(new Property("telecom", "ContactPoint", "Deprecated - use contact.telecom.", 0, java.lang.Integer.MAX_VALUE, telecom)); children.add(new Property("address", "Address", "Physical location.", 0, 1, address)); - children.add(new Property("physicalType", "CodeableConcept", "Physical form of the location, e.g. building, room, vehicle, road.", 0, 1, physicalType)); + children.add(new Property("form", "CodeableConcept", "Physical form of the location, e.g. building, room, vehicle, road, virtual.", 0, 1, form)); children.add(new Property("position", "", "The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).", 0, 1, position)); children.add(new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the provisioning and upkeep of the location.", 0, 1, managingOrganization)); children.add(new Property("partOf", "Reference(Location)", "Another Location of which this Location is physically a part of.", 0, 1, partOf)); - children.add(new Property("hoursOfOperation", "", "What days/times during a week is this location usually open.", 0, java.lang.Integer.MAX_VALUE, hoursOfOperation)); - children.add(new Property("availabilityExceptions", "string", "A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.", 0, 1, availabilityExceptions)); + children.add(new Property("characteristic", "CodeableConcept", "Collection of characteristics (attributes).", 0, java.lang.Integer.MAX_VALUE, characteristic)); + children.add(new Property("hoursOfOperation", "Availability", "What days/times during a week is this location usually open, and any exceptions where the location is not available.", 0, java.lang.Integer.MAX_VALUE, hoursOfOperation)); + children.add(new Property("virtualService", "VirtualServiceDetail", "Connection details of a virtual service (e.g. shared conference call facility with dedicated number/details).", 0, java.lang.Integer.MAX_VALUE, virtualService)); children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the location.", 0, java.lang.Integer.MAX_VALUE, endpoint)); } @@ -1988,14 +1586,14 @@ public class Location extends DomainResource { case 3357091: /*mode*/ return new Property("mode", "code", "Indicates whether a resource instance represents a specific location or a class of locations.", 0, 1, mode); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Indicates the type of function performed at the location.", 0, java.lang.Integer.MAX_VALUE, type); case 951526432: /*contact*/ return new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available at the location. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact); - case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "Deprecated - use contact.telecom.", 0, java.lang.Integer.MAX_VALUE, telecom); case -1147692044: /*address*/ return new Property("address", "Address", "Physical location.", 0, 1, address); - case -1474715471: /*physicalType*/ return new Property("physicalType", "CodeableConcept", "Physical form of the location, e.g. building, room, vehicle, road.", 0, 1, physicalType); + case 3148996: /*form*/ return new Property("form", "CodeableConcept", "Physical form of the location, e.g. building, room, vehicle, road, virtual.", 0, 1, form); case 747804969: /*position*/ return new Property("position", "", "The absolute geographic location of the Location, expressed using the WGS84 datum (This is the same co-ordinate system used in KML).", 0, 1, position); case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization responsible for the provisioning and upkeep of the location.", 0, 1, managingOrganization); case -995410646: /*partOf*/ return new Property("partOf", "Reference(Location)", "Another Location of which this Location is physically a part of.", 0, 1, partOf); - case -1588872511: /*hoursOfOperation*/ return new Property("hoursOfOperation", "", "What days/times during a week is this location usually open.", 0, java.lang.Integer.MAX_VALUE, hoursOfOperation); - case -1149143617: /*availabilityExceptions*/ return new Property("availabilityExceptions", "string", "A description of when the locations opening ours are different to normal, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as detailed in the opening hours Times.", 0, 1, availabilityExceptions); + case 366313883: /*characteristic*/ return new Property("characteristic", "CodeableConcept", "Collection of characteristics (attributes).", 0, java.lang.Integer.MAX_VALUE, characteristic); + case -1588872511: /*hoursOfOperation*/ return new Property("hoursOfOperation", "Availability", "What days/times during a week is this location usually open, and any exceptions where the location is not available.", 0, java.lang.Integer.MAX_VALUE, hoursOfOperation); + case 1420774698: /*virtualService*/ return new Property("virtualService", "VirtualServiceDetail", "Connection details of a virtual service (e.g. shared conference call facility with dedicated number/details).", 0, java.lang.Integer.MAX_VALUE, virtualService); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the location.", 0, java.lang.Integer.MAX_VALUE, endpoint); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2014,14 +1612,14 @@ public class Location extends DomainResource { case 3357091: /*mode*/ return this.mode == null ? new Base[0] : new Base[] {this.mode}; // Enumeration case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ExtendedContactDetail - case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint case -1147692044: /*address*/ return this.address == null ? new Base[0] : new Base[] {this.address}; // Address - case -1474715471: /*physicalType*/ return this.physicalType == null ? new Base[0] : new Base[] {this.physicalType}; // CodeableConcept + case 3148996: /*form*/ return this.form == null ? new Base[0] : new Base[] {this.form}; // CodeableConcept case 747804969: /*position*/ return this.position == null ? new Base[0] : new Base[] {this.position}; // LocationPositionComponent case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference - case -1588872511: /*hoursOfOperation*/ return this.hoursOfOperation == null ? new Base[0] : this.hoursOfOperation.toArray(new Base[this.hoursOfOperation.size()]); // LocationHoursOfOperationComponent - case -1149143617: /*availabilityExceptions*/ return this.availabilityExceptions == null ? new Base[0] : new Base[] {this.availabilityExceptions}; // StringType + case 366313883: /*characteristic*/ return this.characteristic == null ? new Base[0] : this.characteristic.toArray(new Base[this.characteristic.size()]); // CodeableConcept + case -1588872511: /*hoursOfOperation*/ return this.hoursOfOperation == null ? new Base[0] : this.hoursOfOperation.toArray(new Base[this.hoursOfOperation.size()]); // Availability + case 1420774698: /*virtualService*/ return this.virtualService == null ? new Base[0] : this.virtualService.toArray(new Base[this.virtualService.size()]); // VirtualServiceDetail case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference default: return super.getProperty(hash, name, checkValid); } @@ -2060,14 +1658,11 @@ public class Location extends DomainResource { case 951526432: // contact this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); // ExtendedContactDetail return value; - case -1429363305: // telecom - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint - return value; case -1147692044: // address this.address = TypeConvertor.castToAddress(value); // Address return value; - case -1474715471: // physicalType - this.physicalType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 3148996: // form + this.form = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case 747804969: // position this.position = (LocationPositionComponent) value; // LocationPositionComponent @@ -2078,11 +1673,14 @@ public class Location extends DomainResource { case -995410646: // partOf this.partOf = TypeConvertor.castToReference(value); // Reference return value; - case -1588872511: // hoursOfOperation - this.getHoursOfOperation().add((LocationHoursOfOperationComponent) value); // LocationHoursOfOperationComponent + case 366313883: // characteristic + this.getCharacteristic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; - case -1149143617: // availabilityExceptions - this.availabilityExceptions = TypeConvertor.castToString(value); // StringType + case -1588872511: // hoursOfOperation + this.getHoursOfOperation().add(TypeConvertor.castToAvailability(value)); // Availability + return value; + case 1420774698: // virtualService + this.getVirtualService().add(TypeConvertor.castToVirtualServiceDetail(value)); // VirtualServiceDetail return value; case 1741102485: // endpoint this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference @@ -2114,22 +1712,22 @@ public class Location extends DomainResource { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("contact")) { this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); - } else if (name.equals("telecom")) { - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); } else if (name.equals("address")) { this.address = TypeConvertor.castToAddress(value); // Address - } else if (name.equals("physicalType")) { - this.physicalType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("form")) { + this.form = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("position")) { this.position = (LocationPositionComponent) value; // LocationPositionComponent } else if (name.equals("managingOrganization")) { this.managingOrganization = TypeConvertor.castToReference(value); // Reference } else if (name.equals("partOf")) { this.partOf = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("characteristic")) { + this.getCharacteristic().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("hoursOfOperation")) { - this.getHoursOfOperation().add((LocationHoursOfOperationComponent) value); - } else if (name.equals("availabilityExceptions")) { - this.availabilityExceptions = TypeConvertor.castToString(value); // StringType + this.getHoursOfOperation().add(TypeConvertor.castToAvailability(value)); + } else if (name.equals("virtualService")) { + this.getVirtualService().add(TypeConvertor.castToVirtualServiceDetail(value)); } else if (name.equals("endpoint")) { this.getEndpoint().add(TypeConvertor.castToReference(value)); } else @@ -2149,14 +1747,14 @@ public class Location extends DomainResource { case 3357091: return getModeElement(); case 3575610: return addType(); case 951526432: return addContact(); - case -1429363305: return addTelecom(); case -1147692044: return getAddress(); - case -1474715471: return getPhysicalType(); + case 3148996: return getForm(); case 747804969: return getPosition(); case -2058947787: return getManagingOrganization(); case -995410646: return getPartOf(); + case 366313883: return addCharacteristic(); case -1588872511: return addHoursOfOperation(); - case -1149143617: return getAvailabilityExceptionsElement(); + case 1420774698: return addVirtualService(); case 1741102485: return addEndpoint(); default: return super.makeProperty(hash, name); } @@ -2175,14 +1773,14 @@ public class Location extends DomainResource { case 3357091: /*mode*/ return new String[] {"code"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case 951526432: /*contact*/ return new String[] {"ExtendedContactDetail"}; - case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; case -1147692044: /*address*/ return new String[] {"Address"}; - case -1474715471: /*physicalType*/ return new String[] {"CodeableConcept"}; + case 3148996: /*form*/ return new String[] {"CodeableConcept"}; case 747804969: /*position*/ return new String[] {}; case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; case -995410646: /*partOf*/ return new String[] {"Reference"}; - case -1588872511: /*hoursOfOperation*/ return new String[] {}; - case -1149143617: /*availabilityExceptions*/ return new String[] {"string"}; + case 366313883: /*characteristic*/ return new String[] {"CodeableConcept"}; + case -1588872511: /*hoursOfOperation*/ return new String[] {"Availability"}; + case 1420774698: /*virtualService*/ return new String[] {"VirtualServiceDetail"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -2219,16 +1817,13 @@ public class Location extends DomainResource { else if (name.equals("contact")) { return addContact(); } - else if (name.equals("telecom")) { - return addTelecom(); - } else if (name.equals("address")) { this.address = new Address(); return this.address; } - else if (name.equals("physicalType")) { - this.physicalType = new CodeableConcept(); - return this.physicalType; + else if (name.equals("form")) { + this.form = new CodeableConcept(); + return this.form; } else if (name.equals("position")) { this.position = new LocationPositionComponent(); @@ -2242,11 +1837,14 @@ public class Location extends DomainResource { this.partOf = new Reference(); return this.partOf; } + else if (name.equals("characteristic")) { + return addCharacteristic(); + } else if (name.equals("hoursOfOperation")) { return addHoursOfOperation(); } - else if (name.equals("availabilityExceptions")) { - throw new FHIRException("Cannot call addChild on a primitive type Location.availabilityExceptions"); + else if (name.equals("virtualService")) { + return addVirtualService(); } else if (name.equals("endpoint")) { return addEndpoint(); @@ -2293,22 +1891,26 @@ public class Location extends DomainResource { for (ExtendedContactDetail i : contact) dst.contact.add(i.copy()); }; - if (telecom != null) { - dst.telecom = new ArrayList(); - for (ContactPoint i : telecom) - dst.telecom.add(i.copy()); - }; dst.address = address == null ? null : address.copy(); - dst.physicalType = physicalType == null ? null : physicalType.copy(); + dst.form = form == null ? null : form.copy(); dst.position = position == null ? null : position.copy(); dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); dst.partOf = partOf == null ? null : partOf.copy(); + if (characteristic != null) { + dst.characteristic = new ArrayList(); + for (CodeableConcept i : characteristic) + dst.characteristic.add(i.copy()); + }; if (hoursOfOperation != null) { - dst.hoursOfOperation = new ArrayList(); - for (LocationHoursOfOperationComponent i : hoursOfOperation) + dst.hoursOfOperation = new ArrayList(); + for (Availability i : hoursOfOperation) dst.hoursOfOperation.add(i.copy()); }; - dst.availabilityExceptions = availabilityExceptions == null ? null : availabilityExceptions.copy(); + if (virtualService != null) { + dst.virtualService = new ArrayList(); + for (VirtualServiceDetail i : virtualService) + dst.virtualService.add(i.copy()); + }; if (endpoint != null) { dst.endpoint = new ArrayList(); for (Reference i : endpoint) @@ -2330,10 +1932,10 @@ public class Location extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(operationalStatus, o.operationalStatus, true) && compareDeep(name, o.name, true) && compareDeep(alias, o.alias, true) && compareDeep(description, o.description, true) && compareDeep(mode, o.mode, true) && compareDeep(type, o.type, true) && compareDeep(contact, o.contact, true) - && compareDeep(telecom, o.telecom, true) && compareDeep(address, o.address, true) && compareDeep(physicalType, o.physicalType, true) - && compareDeep(position, o.position, true) && compareDeep(managingOrganization, o.managingOrganization, true) - && compareDeep(partOf, o.partOf, true) && compareDeep(hoursOfOperation, o.hoursOfOperation, true) - && compareDeep(availabilityExceptions, o.availabilityExceptions, true) && compareDeep(endpoint, o.endpoint, true) + && compareDeep(address, o.address, true) && compareDeep(form, o.form, true) && compareDeep(position, o.position, true) + && compareDeep(managingOrganization, o.managingOrganization, true) && compareDeep(partOf, o.partOf, true) + && compareDeep(characteristic, o.characteristic, true) && compareDeep(hoursOfOperation, o.hoursOfOperation, true) + && compareDeep(virtualService, o.virtualService, true) && compareDeep(endpoint, o.endpoint, true) ; } @@ -2345,15 +1947,13 @@ public class Location extends DomainResource { return false; Location o = (Location) other_; return compareValues(status, o.status, true) && compareValues(name, o.name, true) && compareValues(alias, o.alias, true) - && compareValues(description, o.description, true) && compareValues(mode, o.mode, true) && compareValues(availabilityExceptions, o.availabilityExceptions, true) - ; + && compareValues(description, o.description, true) && compareValues(mode, o.mode, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, operationalStatus - , name, alias, description, mode, type, contact, telecom, address, physicalType - , position, managingOrganization, partOf, hoursOfOperation, availabilityExceptions - , endpoint); + , name, alias, description, mode, type, contact, address, form, position, managingOrganization + , partOf, characteristic, hoursOfOperation, virtualService, endpoint); } @Override @@ -2481,6 +2081,46 @@ public class Location extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); + /** + * Search parameter: characteristic + *

+ * Description: One of the Location's characteristics
+ * Type: token
+ * Path: Location.characteristic
+ *

+ */ + @SearchParamDefinition(name="characteristic", path="Location.characteristic", description="One of the Location's characteristics", type="token" ) + public static final String SP_CHARACTERISTIC = "characteristic"; + /** + * Fluent Client search parameter constant for characteristic + *

+ * Description: One of the Location's characteristics
+ * Type: token
+ * Path: Location.characteristic
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CHARACTERISTIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CHARACTERISTIC); + + /** + * Search parameter: contains + *

+ * Description: Select locations that contain the specified co-ordinates
+ * Type: special
+ * Path: Location.extension('http://hl7.org/fhir/StructureDefinition/location-boundary-geojson').value
+ *

+ */ + @SearchParamDefinition(name="contains", path="Location.extension('http://hl7.org/fhir/StructureDefinition/location-boundary-geojson').value", description="Select locations that contain the specified co-ordinates", type="special" ) + public static final String SP_CONTAINS = "contains"; + /** + * Fluent Client search parameter constant for contains + *

+ * Description: Select locations that contain the specified co-ordinates
+ * Type: special
+ * Path: Location.extension('http://hl7.org/fhir/StructureDefinition/location-boundary-geojson').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.SpecialClientParam CONTAINS = new ca.uhn.fhir.rest.gclient.SpecialClientParam(SP_CONTAINS); + /** * Search parameter: endpoint *

@@ -2550,23 +2190,25 @@ public class Location extends DomainResource { /** * Search parameter: near *

- * Description: Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes). -Servers which support the near parameter SHALL support the unit string 'km' for kilometers and SHOULD support '[mi_us]' for miles, support for other units is optional. If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant). - -Servers may search using various techniques that might have differing accuracies, depending on implementation efficiency. If the server is unable to understand the units (and does support the near search parameter), it MAY return an OperationOutcome and fail the search with a http status 403 BadRequest. If the server does not support the near parameter, the parameter MAY report the unused parameter in a bundled OperationOutcome and still perform the search ignoring the near parameter.
+ * Description: Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes). + +Servers which support the near parameter SHALL support the unit string 'km' for kilometers and SHOULD support '[mi_us]' for miles, support for other units is optional. If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant). If the server is unable to understand the units (and does support the near search parameter), it MIGHT return an OperationOutcome and fail the search with a http status 400 BadRequest. If the server does not support the near parameter, the parameter MIGHT report the unused parameter in a bundled OperationOutcome and still perform the search ignoring the near parameter. + +Note: The algorithm to determine the distance is not defined by the specification, and systems might have different engines that calculate things differently. They could consider geographic point to point, or path via road, or including current traffic conditions, or just simple neighboring postcodes/localities if that's all it had access to.
* Type: special
* Path: Location.position
*

*/ - @SearchParamDefinition(name="near", path="Location.position", description="Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes).\nServers which support the near parameter SHALL support the unit string 'km' for kilometers and SHOULD support '[mi_us]' for miles, support for other units is optional. If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant).\n\nServers may search using various techniques that might have differing accuracies, depending on implementation efficiency. If the server is unable to understand the units (and does support the near search parameter), it MAY return an OperationOutcome and fail the search with a http status 403 BadRequest. If the server does not support the near parameter, the parameter MAY report the unused parameter in a bundled OperationOutcome and still perform the search ignoring the near parameter.", type="special" ) + @SearchParamDefinition(name="near", path="Location.position", description="Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes).\n\nServers which support the near parameter SHALL support the unit string 'km' for kilometers and SHOULD support '[mi_us]' for miles, support for other units is optional. If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant).\r\rIf the server is unable to understand the units (and does support the near search parameter), it MIGHT return an OperationOutcome and fail the search with a http status 400 BadRequest. If the server does not support the near parameter, the parameter MIGHT report the unused parameter in a bundled OperationOutcome and still perform the search ignoring the near parameter.\n\nNote: The algorithm to determine the distance is not defined by the specification, and systems might have different engines that calculate things differently. They could consider geographic point to point, or path via road, or including current traffic conditions, or just simple neighboring postcodes/localities if that's all it had access to.", type="special" ) public static final String SP_NEAR = "near"; /** * Fluent Client search parameter constant for near *

- * Description: Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes). -Servers which support the near parameter SHALL support the unit string 'km' for kilometers and SHOULD support '[mi_us]' for miles, support for other units is optional. If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant). - -Servers may search using various techniques that might have differing accuracies, depending on implementation efficiency. If the server is unable to understand the units (and does support the near search parameter), it MAY return an OperationOutcome and fail the search with a http status 403 BadRequest. If the server does not support the near parameter, the parameter MAY report the unused parameter in a bundled OperationOutcome and still perform the search ignoring the near parameter.
+ * Description: Search for locations where the location.position is near to, or within a specified distance of, the provided coordinates expressed as [latitude]|[longitude]|[distance]|[units] (using the WGS84 datum, see notes). + +Servers which support the near parameter SHALL support the unit string 'km' for kilometers and SHOULD support '[mi_us]' for miles, support for other units is optional. If the units are omitted, then kms should be assumed. If the distance is omitted, then the server can use its own discretion as to what distances should be considered near (and units are irrelevant). If the server is unable to understand the units (and does support the near search parameter), it MIGHT return an OperationOutcome and fail the search with a http status 400 BadRequest. If the server does not support the near parameter, the parameter MIGHT report the unused parameter in a bundled OperationOutcome and still perform the search ignoring the near parameter. + +Note: The algorithm to determine the distance is not defined by the specification, and systems might have different engines that calculate things differently. They could consider geographic point to point, or path via road, or including current traffic conditions, or just simple neighboring postcodes/localities if that's all it had access to.
* Type: special
* Path: Location.position
*

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ManufacturedItemDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ManufacturedItemDefinition.java index 16096422c..b3e3eec10 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ManufacturedItemDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ManufacturedItemDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -356,6 +356,985 @@ public class ManufacturedItemDefinition extends DomainResource { } + } + + @Block() + public static class ManufacturedItemDefinitionComponentComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Defining type of the component e.g. shell, layer, ink. + */ + @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Defining type of the component e.g. shell, layer, ink", formalDefinition="Defining type of the component e.g. shell, layer, ink." ) + protected CodeableConcept type; + + /** + * The function of this component within the item e.g. delivers active ingredient, masks taste. + */ + @Child(name = "function", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The function of this component within the item e.g. delivers active ingredient, masks taste", formalDefinition="The function of this component within the item e.g. delivers active ingredient, masks taste." ) + protected List function; + + /** + * The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume). + */ + @Child(name = "amount", type = {Quantity.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume)", formalDefinition="The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume)." ) + protected List amount; + + /** + * A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient). + */ + @Child(name = "constituent", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient)", formalDefinition="A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient)." ) + protected List constituent; + + /** + * General characteristics of this component. + */ + @Child(name = "property", type = {ManufacturedItemDefinitionPropertyComponent.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="General characteristics of this component", formalDefinition="General characteristics of this component." ) + protected List property; + + /** + * A component that this component contains or is made from. + */ + @Child(name = "component", type = {ManufacturedItemDefinitionComponentComponent.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="A component that this component contains or is made from", formalDefinition="A component that this component contains or is made from." ) + protected List component; + + private static final long serialVersionUID = 537950590L; + + /** + * Constructor + */ + public ManufacturedItemDefinitionComponentComponent() { + super(); + } + + /** + * Constructor + */ + public ManufacturedItemDefinitionComponentComponent(CodeableConcept type) { + super(); + this.setType(type); + } + + /** + * @return {@link #type} (Defining type of the component e.g. shell, layer, ink.) + */ + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ManufacturedItemDefinitionComponentComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (Defining type of the component e.g. shell, layer, ink.) + */ + public ManufacturedItemDefinitionComponentComponent setType(CodeableConcept value) { + this.type = value; + return this; + } + + /** + * @return {@link #function} (The function of this component within the item e.g. delivers active ingredient, masks taste.) + */ + public List getFunction() { + if (this.function == null) + this.function = new ArrayList(); + return this.function; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentComponent setFunction(List theFunction) { + this.function = theFunction; + return this; + } + + public boolean hasFunction() { + if (this.function == null) + return false; + for (CodeableConcept item : this.function) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addFunction() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.function == null) + this.function = new ArrayList(); + this.function.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentComponent addFunction(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.function == null) + this.function = new ArrayList(); + this.function.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #function}, creating it if it does not already exist {3} + */ + public CodeableConcept getFunctionFirstRep() { + if (getFunction().isEmpty()) { + addFunction(); + } + return getFunction().get(0); + } + + /** + * @return {@link #amount} (The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume).) + */ + public List getAmount() { + if (this.amount == null) + this.amount = new ArrayList(); + return this.amount; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentComponent setAmount(List theAmount) { + this.amount = theAmount; + return this; + } + + public boolean hasAmount() { + if (this.amount == null) + return false; + for (Quantity item : this.amount) + if (!item.isEmpty()) + return true; + return false; + } + + public Quantity addAmount() { //3 + Quantity t = new Quantity(); + if (this.amount == null) + this.amount = new ArrayList(); + this.amount.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentComponent addAmount(Quantity t) { //3 + if (t == null) + return this; + if (this.amount == null) + this.amount = new ArrayList(); + this.amount.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #amount}, creating it if it does not already exist {3} + */ + public Quantity getAmountFirstRep() { + if (getAmount().isEmpty()) { + addAmount(); + } + return getAmount().get(0); + } + + /** + * @return {@link #constituent} (A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient).) + */ + public List getConstituent() { + if (this.constituent == null) + this.constituent = new ArrayList(); + return this.constituent; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentComponent setConstituent(List theConstituent) { + this.constituent = theConstituent; + return this; + } + + public boolean hasConstituent() { + if (this.constituent == null) + return false; + for (ManufacturedItemDefinitionComponentConstituentComponent item : this.constituent) + if (!item.isEmpty()) + return true; + return false; + } + + public ManufacturedItemDefinitionComponentConstituentComponent addConstituent() { //3 + ManufacturedItemDefinitionComponentConstituentComponent t = new ManufacturedItemDefinitionComponentConstituentComponent(); + if (this.constituent == null) + this.constituent = new ArrayList(); + this.constituent.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentComponent addConstituent(ManufacturedItemDefinitionComponentConstituentComponent t) { //3 + if (t == null) + return this; + if (this.constituent == null) + this.constituent = new ArrayList(); + this.constituent.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #constituent}, creating it if it does not already exist {3} + */ + public ManufacturedItemDefinitionComponentConstituentComponent getConstituentFirstRep() { + if (getConstituent().isEmpty()) { + addConstituent(); + } + return getConstituent().get(0); + } + + /** + * @return {@link #property} (General characteristics of this component.) + */ + public List getProperty() { + if (this.property == null) + this.property = new ArrayList(); + return this.property; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentComponent setProperty(List theProperty) { + this.property = theProperty; + return this; + } + + public boolean hasProperty() { + if (this.property == null) + return false; + for (ManufacturedItemDefinitionPropertyComponent item : this.property) + if (!item.isEmpty()) + return true; + return false; + } + + public ManufacturedItemDefinitionPropertyComponent addProperty() { //3 + ManufacturedItemDefinitionPropertyComponent t = new ManufacturedItemDefinitionPropertyComponent(); + if (this.property == null) + this.property = new ArrayList(); + this.property.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentComponent addProperty(ManufacturedItemDefinitionPropertyComponent t) { //3 + if (t == null) + return this; + if (this.property == null) + this.property = new ArrayList(); + this.property.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #property}, creating it if it does not already exist {3} + */ + public ManufacturedItemDefinitionPropertyComponent getPropertyFirstRep() { + if (getProperty().isEmpty()) { + addProperty(); + } + return getProperty().get(0); + } + + /** + * @return {@link #component} (A component that this component contains or is made from.) + */ + public List getComponent() { + if (this.component == null) + this.component = new ArrayList(); + return this.component; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentComponent setComponent(List theComponent) { + this.component = theComponent; + return this; + } + + public boolean hasComponent() { + if (this.component == null) + return false; + for (ManufacturedItemDefinitionComponentComponent item : this.component) + if (!item.isEmpty()) + return true; + return false; + } + + public ManufacturedItemDefinitionComponentComponent addComponent() { //3 + ManufacturedItemDefinitionComponentComponent t = new ManufacturedItemDefinitionComponentComponent(); + if (this.component == null) + this.component = new ArrayList(); + this.component.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentComponent addComponent(ManufacturedItemDefinitionComponentComponent t) { //3 + if (t == null) + return this; + if (this.component == null) + this.component = new ArrayList(); + this.component.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3} + */ + public ManufacturedItemDefinitionComponentComponent getComponentFirstRep() { + if (getComponent().isEmpty()) { + addComponent(); + } + return getComponent().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "CodeableConcept", "Defining type of the component e.g. shell, layer, ink.", 0, 1, type)); + children.add(new Property("function", "CodeableConcept", "The function of this component within the item e.g. delivers active ingredient, masks taste.", 0, java.lang.Integer.MAX_VALUE, function)); + children.add(new Property("amount", "Quantity", "The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount)); + children.add(new Property("constituent", "", "A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient).", 0, java.lang.Integer.MAX_VALUE, constituent)); + children.add(new Property("property", "@ManufacturedItemDefinition.property", "General characteristics of this component.", 0, java.lang.Integer.MAX_VALUE, property)); + children.add(new Property("component", "@ManufacturedItemDefinition.component", "A component that this component contains or is made from.", 0, java.lang.Integer.MAX_VALUE, component)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Defining type of the component e.g. shell, layer, ink.", 0, 1, type); + case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "The function of this component within the item e.g. delivers active ingredient, masks taste.", 0, java.lang.Integer.MAX_VALUE, function); + case -1413853096: /*amount*/ return new Property("amount", "Quantity", "The measurable amount of substance in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount); + case -1846470364: /*constituent*/ return new Property("constituent", "", "A reference to an constituent of the manufactured item as a whole, linked here so that its component location within the item can be indicated. This not where the item's ingredient are primarily stated (for which see Ingredient.for or ManufacturedItemDefinition.ingredient).", 0, java.lang.Integer.MAX_VALUE, constituent); + case -993141291: /*property*/ return new Property("property", "@ManufacturedItemDefinition.property", "General characteristics of this component.", 0, java.lang.Integer.MAX_VALUE, property); + case -1399907075: /*component*/ return new Property("component", "@ManufacturedItemDefinition.component", "A component that this component contains or is made from.", 0, java.lang.Integer.MAX_VALUE, component); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case 1380938712: /*function*/ return this.function == null ? new Base[0] : this.function.toArray(new Base[this.function.size()]); // CodeableConcept + case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : this.amount.toArray(new Base[this.amount.size()]); // Quantity + case -1846470364: /*constituent*/ return this.constituent == null ? new Base[0] : this.constituent.toArray(new Base[this.constituent.size()]); // ManufacturedItemDefinitionComponentConstituentComponent + case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ManufacturedItemDefinitionPropertyComponent + case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // ManufacturedItemDefinitionComponentComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 1380938712: // function + this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1413853096: // amount + this.getAmount().add(TypeConvertor.castToQuantity(value)); // Quantity + return value; + case -1846470364: // constituent + this.getConstituent().add((ManufacturedItemDefinitionComponentConstituentComponent) value); // ManufacturedItemDefinitionComponentConstituentComponent + return value; + case -993141291: // property + this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); // ManufacturedItemDefinitionPropertyComponent + return value; + case -1399907075: // component + this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); // ManufacturedItemDefinitionComponentComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("function")) { + this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("amount")) { + this.getAmount().add(TypeConvertor.castToQuantity(value)); + } else if (name.equals("constituent")) { + this.getConstituent().add((ManufacturedItemDefinitionComponentConstituentComponent) value); + } else if (name.equals("property")) { + this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); + } else if (name.equals("component")) { + this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getType(); + case 1380938712: return addFunction(); + case -1413853096: return addAmount(); + case -1846470364: return addConstituent(); + case -993141291: return addProperty(); + case -1399907075: return addComponent(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; + case -1413853096: /*amount*/ return new String[] {"Quantity"}; + case -1846470364: /*constituent*/ return new String[] {}; + case -993141291: /*property*/ return new String[] {"@ManufacturedItemDefinition.property"}; + case -1399907075: /*component*/ return new String[] {"@ManufacturedItemDefinition.component"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + this.type = new CodeableConcept(); + return this.type; + } + else if (name.equals("function")) { + return addFunction(); + } + else if (name.equals("amount")) { + return addAmount(); + } + else if (name.equals("constituent")) { + return addConstituent(); + } + else if (name.equals("property")) { + return addProperty(); + } + else if (name.equals("component")) { + return addComponent(); + } + else + return super.addChild(name); + } + + public ManufacturedItemDefinitionComponentComponent copy() { + ManufacturedItemDefinitionComponentComponent dst = new ManufacturedItemDefinitionComponentComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(ManufacturedItemDefinitionComponentComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + if (function != null) { + dst.function = new ArrayList(); + for (CodeableConcept i : function) + dst.function.add(i.copy()); + }; + if (amount != null) { + dst.amount = new ArrayList(); + for (Quantity i : amount) + dst.amount.add(i.copy()); + }; + if (constituent != null) { + dst.constituent = new ArrayList(); + for (ManufacturedItemDefinitionComponentConstituentComponent i : constituent) + dst.constituent.add(i.copy()); + }; + if (property != null) { + dst.property = new ArrayList(); + for (ManufacturedItemDefinitionPropertyComponent i : property) + dst.property.add(i.copy()); + }; + if (component != null) { + dst.component = new ArrayList(); + for (ManufacturedItemDefinitionComponentComponent i : component) + dst.component.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof ManufacturedItemDefinitionComponentComponent)) + return false; + ManufacturedItemDefinitionComponentComponent o = (ManufacturedItemDefinitionComponentComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(function, o.function, true) && compareDeep(amount, o.amount, true) + && compareDeep(constituent, o.constituent, true) && compareDeep(property, o.property, true) && compareDeep(component, o.component, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof ManufacturedItemDefinitionComponentComponent)) + return false; + ManufacturedItemDefinitionComponentComponent o = (ManufacturedItemDefinitionComponentComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, function, amount, constituent + , property, component); + } + + public String fhirType() { + return "ManufacturedItemDefinition.component"; + + } + + } + + @Block() + public static class ManufacturedItemDefinitionComponentConstituentComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume). + */ + @Child(name = "amount", type = {Quantity.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume)", formalDefinition="The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume)." ) + protected List amount; + + /** + * The type of location of the constituent within this component e.g. intragranular, blend. + */ + @Child(name = "location", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The type of location of the constituent within this component e.g. intragranular, blend", formalDefinition="The type of location of the constituent within this component e.g. intragranular, blend." ) + protected List location; + + /** + * The function of this constituent within the component e.g. binder. + */ + @Child(name = "function", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The function of this constituent within the component e.g. binder", formalDefinition="The function of this constituent within the component e.g. binder." ) + protected List function; + + /** + * An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it. + */ + @Child(name = "locationForIngredient", type = {CodeableReference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="An ingredient that this component is the location of in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it", formalDefinition="An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it." ) + protected List locationForIngredient; + + private static final long serialVersionUID = -33501583L; + + /** + * Constructor + */ + public ManufacturedItemDefinitionComponentConstituentComponent() { + super(); + } + + /** + * @return {@link #amount} (The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume).) + */ + public List getAmount() { + if (this.amount == null) + this.amount = new ArrayList(); + return this.amount; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentConstituentComponent setAmount(List theAmount) { + this.amount = theAmount; + return this; + } + + public boolean hasAmount() { + if (this.amount == null) + return false; + for (Quantity item : this.amount) + if (!item.isEmpty()) + return true; + return false; + } + + public Quantity addAmount() { //3 + Quantity t = new Quantity(); + if (this.amount == null) + this.amount = new ArrayList(); + this.amount.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentConstituentComponent addAmount(Quantity t) { //3 + if (t == null) + return this; + if (this.amount == null) + this.amount = new ArrayList(); + this.amount.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #amount}, creating it if it does not already exist {3} + */ + public Quantity getAmountFirstRep() { + if (getAmount().isEmpty()) { + addAmount(); + } + return getAmount().get(0); + } + + /** + * @return {@link #location} (The type of location of the constituent within this component e.g. intragranular, blend.) + */ + public List getLocation() { + if (this.location == null) + this.location = new ArrayList(); + return this.location; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentConstituentComponent setLocation(List theLocation) { + this.location = theLocation; + return this; + } + + public boolean hasLocation() { + if (this.location == null) + return false; + for (CodeableConcept item : this.location) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addLocation() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.location == null) + this.location = new ArrayList(); + this.location.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentConstituentComponent addLocation(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.location == null) + this.location = new ArrayList(); + this.location.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #location}, creating it if it does not already exist {3} + */ + public CodeableConcept getLocationFirstRep() { + if (getLocation().isEmpty()) { + addLocation(); + } + return getLocation().get(0); + } + + /** + * @return {@link #function} (The function of this constituent within the component e.g. binder.) + */ + public List getFunction() { + if (this.function == null) + this.function = new ArrayList(); + return this.function; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentConstituentComponent setFunction(List theFunction) { + this.function = theFunction; + return this; + } + + public boolean hasFunction() { + if (this.function == null) + return false; + for (CodeableConcept item : this.function) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addFunction() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.function == null) + this.function = new ArrayList(); + this.function.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentConstituentComponent addFunction(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.function == null) + this.function = new ArrayList(); + this.function.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #function}, creating it if it does not already exist {3} + */ + public CodeableConcept getFunctionFirstRep() { + if (getFunction().isEmpty()) { + addFunction(); + } + return getFunction().get(0); + } + + /** + * @return {@link #locationForIngredient} (An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it.) + */ + public List getLocationForIngredient() { + if (this.locationForIngredient == null) + this.locationForIngredient = new ArrayList(); + return this.locationForIngredient; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinitionComponentConstituentComponent setLocationForIngredient(List theLocationForIngredient) { + this.locationForIngredient = theLocationForIngredient; + return this; + } + + public boolean hasLocationForIngredient() { + if (this.locationForIngredient == null) + return false; + for (CodeableReference item : this.locationForIngredient) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addLocationForIngredient() { //3 + CodeableReference t = new CodeableReference(); + if (this.locationForIngredient == null) + this.locationForIngredient = new ArrayList(); + this.locationForIngredient.add(t); + return t; + } + + public ManufacturedItemDefinitionComponentConstituentComponent addLocationForIngredient(CodeableReference t) { //3 + if (t == null) + return this; + if (this.locationForIngredient == null) + this.locationForIngredient = new ArrayList(); + this.locationForIngredient.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #locationForIngredient}, creating it if it does not already exist {3} + */ + public CodeableReference getLocationForIngredientFirstRep() { + if (getLocationForIngredient().isEmpty()) { + addLocationForIngredient(); + } + return getLocationForIngredient().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("amount", "Quantity", "The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount)); + children.add(new Property("location", "CodeableConcept", "The type of location of the constituent within this component e.g. intragranular, blend.", 0, java.lang.Integer.MAX_VALUE, location)); + children.add(new Property("function", "CodeableConcept", "The function of this constituent within the component e.g. binder.", 0, java.lang.Integer.MAX_VALUE, function)); + children.add(new Property("locationForIngredient", "CodeableReference(Ingredient)", "An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it.", 0, java.lang.Integer.MAX_VALUE, locationForIngredient)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1413853096: /*amount*/ return new Property("amount", "Quantity", "The measurable amount of this constituent in this component, expressable in different ways (e.g. by mass or volume).", 0, java.lang.Integer.MAX_VALUE, amount); + case 1901043637: /*location*/ return new Property("location", "CodeableConcept", "The type of location of the constituent within this component e.g. intragranular, blend.", 0, java.lang.Integer.MAX_VALUE, location); + case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "The function of this constituent within the component e.g. binder.", 0, java.lang.Integer.MAX_VALUE, function); + case 525382085: /*locationForIngredient*/ return new Property("locationForIngredient", "CodeableReference(Ingredient)", "An ingredient that this component is the location for in this manufactured item. The component is physically made of this ingredient (and possibly others), rather than just being a container for it.", 0, java.lang.Integer.MAX_VALUE, locationForIngredient); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : this.amount.toArray(new Base[this.amount.size()]); // Quantity + case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // CodeableConcept + case 1380938712: /*function*/ return this.function == null ? new Base[0] : this.function.toArray(new Base[this.function.size()]); // CodeableConcept + case 525382085: /*locationForIngredient*/ return this.locationForIngredient == null ? new Base[0] : this.locationForIngredient.toArray(new Base[this.locationForIngredient.size()]); // CodeableReference + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1413853096: // amount + this.getAmount().add(TypeConvertor.castToQuantity(value)); // Quantity + return value; + case 1901043637: // location + this.getLocation().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case 1380938712: // function + this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case 525382085: // locationForIngredient + this.getLocationForIngredient().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("amount")) { + this.getAmount().add(TypeConvertor.castToQuantity(value)); + } else if (name.equals("location")) { + this.getLocation().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("function")) { + this.getFunction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("locationForIngredient")) { + this.getLocationForIngredient().add(TypeConvertor.castToCodeableReference(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1413853096: return addAmount(); + case 1901043637: return addLocation(); + case 1380938712: return addFunction(); + case 525382085: return addLocationForIngredient(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1413853096: /*amount*/ return new String[] {"Quantity"}; + case 1901043637: /*location*/ return new String[] {"CodeableConcept"}; + case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; + case 525382085: /*locationForIngredient*/ return new String[] {"CodeableReference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("amount")) { + return addAmount(); + } + else if (name.equals("location")) { + return addLocation(); + } + else if (name.equals("function")) { + return addFunction(); + } + else if (name.equals("locationForIngredient")) { + return addLocationForIngredient(); + } + else + return super.addChild(name); + } + + public ManufacturedItemDefinitionComponentConstituentComponent copy() { + ManufacturedItemDefinitionComponentConstituentComponent dst = new ManufacturedItemDefinitionComponentConstituentComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(ManufacturedItemDefinitionComponentConstituentComponent dst) { + super.copyValues(dst); + if (amount != null) { + dst.amount = new ArrayList(); + for (Quantity i : amount) + dst.amount.add(i.copy()); + }; + if (location != null) { + dst.location = new ArrayList(); + for (CodeableConcept i : location) + dst.location.add(i.copy()); + }; + if (function != null) { + dst.function = new ArrayList(); + for (CodeableConcept i : function) + dst.function.add(i.copy()); + }; + if (locationForIngredient != null) { + dst.locationForIngredient = new ArrayList(); + for (CodeableReference i : locationForIngredient) + dst.locationForIngredient.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof ManufacturedItemDefinitionComponentConstituentComponent)) + return false; + ManufacturedItemDefinitionComponentConstituentComponent o = (ManufacturedItemDefinitionComponentConstituentComponent) other_; + return compareDeep(amount, o.amount, true) && compareDeep(location, o.location, true) && compareDeep(function, o.function, true) + && compareDeep(locationForIngredient, o.locationForIngredient, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof ManufacturedItemDefinitionComponentConstituentComponent)) + return false; + ManufacturedItemDefinitionComponentConstituentComponent o = (ManufacturedItemDefinitionComponentConstituentComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(amount, location, function + , locationForIngredient); + } + + public String fhirType() { + return "ManufacturedItemDefinition.component.constituent"; + + } + } /** @@ -373,10 +1352,17 @@ public class ManufacturedItemDefinition extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; + /** + * A descriptive name applied to this item. + */ + @Child(name = "name", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="A descriptive name applied to this item", formalDefinition="A descriptive name applied to this item." ) + protected StringType name; + /** * Dose form as manufactured and before any transformation into the pharmaceutical product. */ - @Child(name = "manufacturedDoseForm", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "manufacturedDoseForm", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Dose form as manufactured (before any necessary transformation)", formalDefinition="Dose form as manufactured and before any transformation into the pharmaceutical product." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/manufactured-dose-form") protected CodeableConcept manufacturedDoseForm; @@ -384,22 +1370,29 @@ public class ManufacturedItemDefinition extends DomainResource { /** * The “real world” units in which the quantity of the manufactured item is described. */ - @Child(name = "unitOfPresentation", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "unitOfPresentation", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The “real world” units in which the quantity of the item is described", formalDefinition="The “real world” units in which the quantity of the manufactured item is described." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/unit-of-presentation") protected CodeableConcept unitOfPresentation; /** - * Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues). + * Manufacturer of the item, one of several possible. */ - @Child(name = "manufacturer", type = {Organization.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Manufacturer of the item (Note that this should be named \"manufacturer\" but it currently causes technical issues)", formalDefinition="Manufacturer of the item (Note that this should be named \"manufacturer\" but it currently causes technical issues)." ) + @Child(name = "manufacturer", type = {Organization.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Manufacturer of the item, one of several possible", formalDefinition="Manufacturer of the item, one of several possible." ) protected List manufacturer; + /** + * Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated. + */ + @Child(name = "marketingStatus", type = {MarketingStatus.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated", formalDefinition="Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated." ) + protected List marketingStatus; + /** * The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource. */ - @Child(name = "ingredient", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "ingredient", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The ingredients of this manufactured item. Only needed if these are not specified by incoming references from the Ingredient resource", formalDefinition="The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/substance-codes") protected List ingredient; @@ -407,11 +1400,18 @@ public class ManufacturedItemDefinition extends DomainResource { /** * General characteristics of this item. */ - @Child(name = "property", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "property", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="General characteristics of this item", formalDefinition="General characteristics of this item." ) protected List property; - private static final long serialVersionUID = 1578434864L; + /** + * Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup. + */ + @Child(name = "component", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup", formalDefinition="Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup." ) + protected List component; + + private static final long serialVersionUID = 516510494L; /** * Constructor @@ -527,6 +1527,55 @@ public class ManufacturedItemDefinition extends DomainResource { return this; } + /** + * @return {@link #name} (A descriptive name applied to this item.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public StringType getNameElement() { + if (this.name == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ManufacturedItemDefinition.name"); + else if (Configuration.doAutoCreate()) + this.name = new StringType(); // bb + return this.name; + } + + public boolean hasNameElement() { + return this.name != null && !this.name.isEmpty(); + } + + public boolean hasName() { + return this.name != null && !this.name.isEmpty(); + } + + /** + * @param value {@link #name} (A descriptive name applied to this item.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public ManufacturedItemDefinition setNameElement(StringType value) { + this.name = value; + return this; + } + + /** + * @return A descriptive name applied to this item. + */ + public String getName() { + return this.name == null ? null : this.name.getValue(); + } + + /** + * @param value A descriptive name applied to this item. + */ + public ManufacturedItemDefinition setName(String value) { + if (Utilities.noString(value)) + this.name = null; + else { + if (this.name == null) + this.name = new StringType(); + this.name.setValue(value); + } + return this; + } + /** * @return {@link #manufacturedDoseForm} (Dose form as manufactured and before any transformation into the pharmaceutical product.) */ @@ -576,7 +1625,7 @@ public class ManufacturedItemDefinition extends DomainResource { } /** - * @return {@link #manufacturer} (Manufacturer of the item (Note that this should be named "manufacturer" but it currently causes technical issues).) + * @return {@link #manufacturer} (Manufacturer of the item, one of several possible.) */ public List getManufacturer() { if (this.manufacturer == null) @@ -628,6 +1677,59 @@ public class ManufacturedItemDefinition extends DomainResource { return getManufacturer().get(0); } + /** + * @return {@link #marketingStatus} (Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.) + */ + public List getMarketingStatus() { + if (this.marketingStatus == null) + this.marketingStatus = new ArrayList(); + return this.marketingStatus; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinition setMarketingStatus(List theMarketingStatus) { + this.marketingStatus = theMarketingStatus; + return this; + } + + public boolean hasMarketingStatus() { + if (this.marketingStatus == null) + return false; + for (MarketingStatus item : this.marketingStatus) + if (!item.isEmpty()) + return true; + return false; + } + + public MarketingStatus addMarketingStatus() { //3 + MarketingStatus t = new MarketingStatus(); + if (this.marketingStatus == null) + this.marketingStatus = new ArrayList(); + this.marketingStatus.add(t); + return t; + } + + public ManufacturedItemDefinition addMarketingStatus(MarketingStatus t) { //3 + if (t == null) + return this; + if (this.marketingStatus == null) + this.marketingStatus = new ArrayList(); + this.marketingStatus.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #marketingStatus}, creating it if it does not already exist {3} + */ + public MarketingStatus getMarketingStatusFirstRep() { + if (getMarketingStatus().isEmpty()) { + addMarketingStatus(); + } + return getMarketingStatus().get(0); + } + /** * @return {@link #ingredient} (The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.) */ @@ -734,15 +1836,71 @@ public class ManufacturedItemDefinition extends DomainResource { return getProperty().get(0); } + /** + * @return {@link #component} (Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup.) + */ + public List getComponent() { + if (this.component == null) + this.component = new ArrayList(); + return this.component; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ManufacturedItemDefinition setComponent(List theComponent) { + this.component = theComponent; + return this; + } + + public boolean hasComponent() { + if (this.component == null) + return false; + for (ManufacturedItemDefinitionComponentComponent item : this.component) + if (!item.isEmpty()) + return true; + return false; + } + + public ManufacturedItemDefinitionComponentComponent addComponent() { //3 + ManufacturedItemDefinitionComponentComponent t = new ManufacturedItemDefinitionComponentComponent(); + if (this.component == null) + this.component = new ArrayList(); + this.component.add(t); + return t; + } + + public ManufacturedItemDefinition addComponent(ManufacturedItemDefinitionComponentComponent t) { //3 + if (t == null) + return this; + if (this.component == null) + this.component = new ArrayList(); + this.component.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #component}, creating it if it does not already exist {3} + */ + public ManufacturedItemDefinitionComponentComponent getComponentFirstRep() { + if (getComponent().isEmpty()) { + addComponent(); + } + return getComponent().get(0); + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Unique identifier.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("status", "code", "The status of this item. Enables tracking the life-cycle of the content.", 0, 1, status)); + children.add(new Property("name", "string", "A descriptive name applied to this item.", 0, 1, name)); children.add(new Property("manufacturedDoseForm", "CodeableConcept", "Dose form as manufactured and before any transformation into the pharmaceutical product.", 0, 1, manufacturedDoseForm)); children.add(new Property("unitOfPresentation", "CodeableConcept", "The “real world” units in which the quantity of the manufactured item is described.", 0, 1, unitOfPresentation)); - children.add(new Property("manufacturer", "Reference(Organization)", "Manufacturer of the item (Note that this should be named \"manufacturer\" but it currently causes technical issues).", 0, java.lang.Integer.MAX_VALUE, manufacturer)); + children.add(new Property("manufacturer", "Reference(Organization)", "Manufacturer of the item, one of several possible.", 0, java.lang.Integer.MAX_VALUE, manufacturer)); + children.add(new Property("marketingStatus", "MarketingStatus", "Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.", 0, java.lang.Integer.MAX_VALUE, marketingStatus)); children.add(new Property("ingredient", "CodeableConcept", "The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.", 0, java.lang.Integer.MAX_VALUE, ingredient)); children.add(new Property("property", "", "General characteristics of this item.", 0, java.lang.Integer.MAX_VALUE, property)); + children.add(new Property("component", "", "Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup.", 0, java.lang.Integer.MAX_VALUE, component)); } @Override @@ -750,11 +1908,14 @@ public class ManufacturedItemDefinition extends DomainResource { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier.", 0, java.lang.Integer.MAX_VALUE, identifier); case -892481550: /*status*/ return new Property("status", "code", "The status of this item. Enables tracking the life-cycle of the content.", 0, 1, status); + case 3373707: /*name*/ return new Property("name", "string", "A descriptive name applied to this item.", 0, 1, name); case -1451400348: /*manufacturedDoseForm*/ return new Property("manufacturedDoseForm", "CodeableConcept", "Dose form as manufactured and before any transformation into the pharmaceutical product.", 0, 1, manufacturedDoseForm); case -1427765963: /*unitOfPresentation*/ return new Property("unitOfPresentation", "CodeableConcept", "The “real world” units in which the quantity of the manufactured item is described.", 0, 1, unitOfPresentation); - case -1969347631: /*manufacturer*/ return new Property("manufacturer", "Reference(Organization)", "Manufacturer of the item (Note that this should be named \"manufacturer\" but it currently causes technical issues).", 0, java.lang.Integer.MAX_VALUE, manufacturer); + case -1969347631: /*manufacturer*/ return new Property("manufacturer", "Reference(Organization)", "Manufacturer of the item, one of several possible.", 0, java.lang.Integer.MAX_VALUE, manufacturer); + case 70767032: /*marketingStatus*/ return new Property("marketingStatus", "MarketingStatus", "Allows specifying that an item is on the market for sale, or that it is not available, and the dates and locations associated.", 0, java.lang.Integer.MAX_VALUE, marketingStatus); case -206409263: /*ingredient*/ return new Property("ingredient", "CodeableConcept", "The ingredients of this manufactured item. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource.", 0, java.lang.Integer.MAX_VALUE, ingredient); case -993141291: /*property*/ return new Property("property", "", "General characteristics of this item.", 0, java.lang.Integer.MAX_VALUE, property); + case -1399907075: /*component*/ return new Property("component", "", "Physical parts of the manufactured item, that it is intrisically made from. This is distinct from the ingredients that are part of its chemical makeup.", 0, java.lang.Integer.MAX_VALUE, component); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -765,11 +1926,14 @@ public class ManufacturedItemDefinition extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case -1451400348: /*manufacturedDoseForm*/ return this.manufacturedDoseForm == null ? new Base[0] : new Base[] {this.manufacturedDoseForm}; // CodeableConcept case -1427765963: /*unitOfPresentation*/ return this.unitOfPresentation == null ? new Base[0] : new Base[] {this.unitOfPresentation}; // CodeableConcept case -1969347631: /*manufacturer*/ return this.manufacturer == null ? new Base[0] : this.manufacturer.toArray(new Base[this.manufacturer.size()]); // Reference + case 70767032: /*marketingStatus*/ return this.marketingStatus == null ? new Base[0] : this.marketingStatus.toArray(new Base[this.marketingStatus.size()]); // MarketingStatus case -206409263: /*ingredient*/ return this.ingredient == null ? new Base[0] : this.ingredient.toArray(new Base[this.ingredient.size()]); // CodeableConcept case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // ManufacturedItemDefinitionPropertyComponent + case -1399907075: /*component*/ return this.component == null ? new Base[0] : this.component.toArray(new Base[this.component.size()]); // ManufacturedItemDefinitionComponentComponent default: return super.getProperty(hash, name, checkValid); } @@ -785,6 +1949,9 @@ public class ManufacturedItemDefinition extends DomainResource { value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration return value; + case 3373707: // name + this.name = TypeConvertor.castToString(value); // StringType + return value; case -1451400348: // manufacturedDoseForm this.manufacturedDoseForm = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; @@ -794,12 +1961,18 @@ public class ManufacturedItemDefinition extends DomainResource { case -1969347631: // manufacturer this.getManufacturer().add(TypeConvertor.castToReference(value)); // Reference return value; + case 70767032: // marketingStatus + this.getMarketingStatus().add(TypeConvertor.castToMarketingStatus(value)); // MarketingStatus + return value; case -206409263: // ingredient this.getIngredient().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case -993141291: // property this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); // ManufacturedItemDefinitionPropertyComponent return value; + case -1399907075: // component + this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); // ManufacturedItemDefinitionComponentComponent + return value; default: return super.setProperty(hash, name, value); } @@ -812,16 +1985,22 @@ public class ManufacturedItemDefinition extends DomainResource { } else if (name.equals("status")) { value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration + } else if (name.equals("name")) { + this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("manufacturedDoseForm")) { this.manufacturedDoseForm = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("unitOfPresentation")) { this.unitOfPresentation = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("manufacturer")) { this.getManufacturer().add(TypeConvertor.castToReference(value)); + } else if (name.equals("marketingStatus")) { + this.getMarketingStatus().add(TypeConvertor.castToMarketingStatus(value)); } else if (name.equals("ingredient")) { this.getIngredient().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("property")) { this.getProperty().add((ManufacturedItemDefinitionPropertyComponent) value); + } else if (name.equals("component")) { + this.getComponent().add((ManufacturedItemDefinitionComponentComponent) value); } else return super.setProperty(name, value); return value; @@ -832,11 +2011,14 @@ public class ManufacturedItemDefinition extends DomainResource { switch (hash) { case -1618432855: return addIdentifier(); case -892481550: return getStatusElement(); + case 3373707: return getNameElement(); case -1451400348: return getManufacturedDoseForm(); case -1427765963: return getUnitOfPresentation(); case -1969347631: return addManufacturer(); + case 70767032: return addMarketingStatus(); case -206409263: return addIngredient(); case -993141291: return addProperty(); + case -1399907075: return addComponent(); default: return super.makeProperty(hash, name); } @@ -847,11 +2029,14 @@ public class ManufacturedItemDefinition extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -892481550: /*status*/ return new String[] {"code"}; + case 3373707: /*name*/ return new String[] {"string"}; case -1451400348: /*manufacturedDoseForm*/ return new String[] {"CodeableConcept"}; case -1427765963: /*unitOfPresentation*/ return new String[] {"CodeableConcept"}; case -1969347631: /*manufacturer*/ return new String[] {"Reference"}; + case 70767032: /*marketingStatus*/ return new String[] {"MarketingStatus"}; case -206409263: /*ingredient*/ return new String[] {"CodeableConcept"}; case -993141291: /*property*/ return new String[] {}; + case -1399907075: /*component*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -865,6 +2050,9 @@ public class ManufacturedItemDefinition extends DomainResource { else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type ManufacturedItemDefinition.status"); } + else if (name.equals("name")) { + throw new FHIRException("Cannot call addChild on a primitive type ManufacturedItemDefinition.name"); + } else if (name.equals("manufacturedDoseForm")) { this.manufacturedDoseForm = new CodeableConcept(); return this.manufacturedDoseForm; @@ -876,12 +2064,18 @@ public class ManufacturedItemDefinition extends DomainResource { else if (name.equals("manufacturer")) { return addManufacturer(); } + else if (name.equals("marketingStatus")) { + return addMarketingStatus(); + } else if (name.equals("ingredient")) { return addIngredient(); } else if (name.equals("property")) { return addProperty(); } + else if (name.equals("component")) { + return addComponent(); + } else return super.addChild(name); } @@ -905,6 +2099,7 @@ public class ManufacturedItemDefinition extends DomainResource { dst.identifier.add(i.copy()); }; dst.status = status == null ? null : status.copy(); + dst.name = name == null ? null : name.copy(); dst.manufacturedDoseForm = manufacturedDoseForm == null ? null : manufacturedDoseForm.copy(); dst.unitOfPresentation = unitOfPresentation == null ? null : unitOfPresentation.copy(); if (manufacturer != null) { @@ -912,6 +2107,11 @@ public class ManufacturedItemDefinition extends DomainResource { for (Reference i : manufacturer) dst.manufacturer.add(i.copy()); }; + if (marketingStatus != null) { + dst.marketingStatus = new ArrayList(); + for (MarketingStatus i : marketingStatus) + dst.marketingStatus.add(i.copy()); + }; if (ingredient != null) { dst.ingredient = new ArrayList(); for (CodeableConcept i : ingredient) @@ -922,6 +2122,11 @@ public class ManufacturedItemDefinition extends DomainResource { for (ManufacturedItemDefinitionPropertyComponent i : property) dst.property.add(i.copy()); }; + if (component != null) { + dst.component = new ArrayList(); + for (ManufacturedItemDefinitionComponentComponent i : component) + dst.component.add(i.copy()); + }; } protected ManufacturedItemDefinition typedCopy() { @@ -935,9 +2140,11 @@ public class ManufacturedItemDefinition extends DomainResource { if (!(other_ instanceof ManufacturedItemDefinition)) return false; ManufacturedItemDefinition o = (ManufacturedItemDefinition) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(manufacturedDoseForm, o.manufacturedDoseForm, true) - && compareDeep(unitOfPresentation, o.unitOfPresentation, true) && compareDeep(manufacturer, o.manufacturer, true) - && compareDeep(ingredient, o.ingredient, true) && compareDeep(property, o.property, true); + return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(name, o.name, true) + && compareDeep(manufacturedDoseForm, o.manufacturedDoseForm, true) && compareDeep(unitOfPresentation, o.unitOfPresentation, true) + && compareDeep(manufacturer, o.manufacturer, true) && compareDeep(marketingStatus, o.marketingStatus, true) + && compareDeep(ingredient, o.ingredient, true) && compareDeep(property, o.property, true) && compareDeep(component, o.component, true) + ; } @Override @@ -947,12 +2154,13 @@ public class ManufacturedItemDefinition extends DomainResource { if (!(other_ instanceof ManufacturedItemDefinition)) return false; ManufacturedItemDefinition o = (ManufacturedItemDefinition) other_; - return compareValues(status, o.status, true); + return compareValues(status, o.status, true) && compareValues(name, o.name, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, manufacturedDoseForm - , unitOfPresentation, manufacturer, ingredient, property); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, name + , manufacturedDoseForm, unitOfPresentation, manufacturer, marketingStatus, ingredient + , property, component); } @Override @@ -1020,6 +2228,46 @@ public class ManufacturedItemDefinition extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam INGREDIENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INGREDIENT); + /** + * Search parameter: name + *

+ * Description: A descriptive name applied to this item
+ * Type: token
+ * Path: ManufacturedItemDefinition.name
+ *

+ */ + @SearchParamDefinition(name="name", path="ManufacturedItemDefinition.name", description="A descriptive name applied to this item", type="token" ) + public static final String SP_NAME = "name"; + /** + * Fluent Client search parameter constant for name + *

+ * Description: A descriptive name applied to this item
+ * Type: token
+ * Path: ManufacturedItemDefinition.name
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam NAME = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_NAME); + + /** + * Search parameter: status + *

+ * Description: The status of this item. Enables tracking the life-cycle of the content.
+ * Type: token
+ * Path: ManufacturedItemDefinition.status
+ *

+ */ + @SearchParamDefinition(name="status", path="ManufacturedItemDefinition.status", description="The status of this item. Enables tracking the life-cycle of the content.", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The status of this item. Enables tracking the life-cycle of the content.
+ * Type: token
+ * Path: ManufacturedItemDefinition.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MarketingStatus.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MarketingStatus.java index ccafc0d2b..97b434a72 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MarketingStatus.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MarketingStatus.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for MarketingStatus Type: The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. + * MarketingStatus Type: The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. */ @DatatypeDef(name="MarketingStatus") public class MarketingStatus extends BackboneType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Measure.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Measure.java index b5258013d..7512a4769 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Measure.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Measure.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,6 +53,232 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="Measure", profile="http://hl7.org/fhir/StructureDefinition/Measure") public class Measure extends MetadataResource { + @Block() + public static class MeasureTermComponent extends BackboneElement implements IBaseBackboneElement { + /** + * A codeable representation of the defined term. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="What term?", formalDefinition="A codeable representation of the defined term." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-definition-example") + protected CodeableConcept code; + + /** + * Provides a definition for the term as used within the measure. + */ + @Child(name = "definition", type = {MarkdownType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Meaning of the term", formalDefinition="Provides a definition for the term as used within the measure." ) + protected MarkdownType definition; + + private static final long serialVersionUID = -25931622L; + + /** + * Constructor + */ + public MeasureTermComponent() { + super(); + } + + /** + * @return {@link #code} (A codeable representation of the defined term.) + */ + public CodeableConcept getCode() { + if (this.code == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MeasureTermComponent.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeableConcept(); // cc + return this.code; + } + + public boolean hasCode() { + return this.code != null && !this.code.isEmpty(); + } + + /** + * @param value {@link #code} (A codeable representation of the defined term.) + */ + public MeasureTermComponent setCode(CodeableConcept value) { + this.code = value; + return this; + } + + /** + * @return {@link #definition} (Provides a definition for the term as used within the measure.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value + */ + public MarkdownType getDefinitionElement() { + if (this.definition == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MeasureTermComponent.definition"); + else if (Configuration.doAutoCreate()) + this.definition = new MarkdownType(); // bb + return this.definition; + } + + public boolean hasDefinitionElement() { + return this.definition != null && !this.definition.isEmpty(); + } + + public boolean hasDefinition() { + return this.definition != null && !this.definition.isEmpty(); + } + + /** + * @param value {@link #definition} (Provides a definition for the term as used within the measure.). This is the underlying object with id, value and extensions. The accessor "getDefinition" gives direct access to the value + */ + public MeasureTermComponent setDefinitionElement(MarkdownType value) { + this.definition = value; + return this; + } + + /** + * @return Provides a definition for the term as used within the measure. + */ + public String getDefinition() { + return this.definition == null ? null : this.definition.getValue(); + } + + /** + * @param value Provides a definition for the term as used within the measure. + */ + public MeasureTermComponent setDefinition(String value) { + if (value == null) + this.definition = null; + else { + if (this.definition == null) + this.definition = new MarkdownType(); + this.definition.setValue(value); + } + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("code", "CodeableConcept", "A codeable representation of the defined term.", 0, 1, code)); + children.add(new Property("definition", "markdown", "Provides a definition for the term as used within the measure.", 0, 1, definition)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A codeable representation of the defined term.", 0, 1, code); + case -1014418093: /*definition*/ return new Property("definition", "markdown", "Provides a definition for the term as used within the measure.", 0, 1, definition); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept + case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // MarkdownType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3059181: // code + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1014418093: // definition + this.definition = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("code")) { + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("definition")) { + this.definition = TypeConvertor.castToMarkdown(value); // MarkdownType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3059181: return getCode(); + case -1014418093: return getDefinitionElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case -1014418093: /*definition*/ return new String[] {"markdown"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("code")) { + this.code = new CodeableConcept(); + return this.code; + } + else if (name.equals("definition")) { + throw new FHIRException("Cannot call addChild on a primitive type Measure.term.definition"); + } + else + return super.addChild(name); + } + + public MeasureTermComponent copy() { + MeasureTermComponent dst = new MeasureTermComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(MeasureTermComponent dst) { + super.copyValues(dst); + dst.code = code == null ? null : code.copy(); + dst.definition = definition == null ? null : definition.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof MeasureTermComponent)) + return false; + MeasureTermComponent o = (MeasureTermComponent) other_; + return compareDeep(code, o.code, true) && compareDeep(definition, o.definition, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof MeasureTermComponent)) + return false; + MeasureTermComponent o = (MeasureTermComponent) other_; + return compareValues(definition, o.definition, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, definition); + } + + public String fhirType() { + return "Measure.term"; + + } + + } + @Block() public static class MeasureGroupComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -83,8 +309,8 @@ public class Measure extends MetadataResource { */ @Child(name = "basis", type = {CodeType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Population basis", formalDefinition="The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-types") - protected Enumeration basis; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") + protected Enumeration basis; /** * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. @@ -124,7 +350,7 @@ public class Measure extends MetadataResource { @Description(shortDefinition="Stratifier criteria for the measure", formalDefinition="The stratifier criteria for the measure report, specified as either the name of a valid CQL expression defined within a referenced library or a valid FHIR Resource Path." ) protected List stratifier; - private static final long serialVersionUID = 693617289L; + private static final long serialVersionUID = 1616604162L; /** * Constructor @@ -262,12 +488,12 @@ public class Measure extends MetadataResource { /** * @return {@link #basis} (The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters.). This is the underlying object with id, value and extensions. The accessor "getBasis" gives direct access to the value */ - public Enumeration getBasisElement() { + public Enumeration getBasisElement() { if (this.basis == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create MeasureGroupComponent.basis"); else if (Configuration.doAutoCreate()) - this.basis = new Enumeration(new FHIRAllTypesEnumFactory()); // bb + this.basis = new Enumeration(new FHIRTypesEnumFactory()); // bb return this.basis; } @@ -282,7 +508,7 @@ public class Measure extends MetadataResource { /** * @param value {@link #basis} (The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters.). This is the underlying object with id, value and extensions. The accessor "getBasis" gives direct access to the value */ - public MeasureGroupComponent setBasisElement(Enumeration value) { + public MeasureGroupComponent setBasisElement(Enumeration value) { this.basis = value; return this; } @@ -290,19 +516,19 @@ public class Measure extends MetadataResource { /** * @return The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters. */ - public FHIRAllTypes getBasis() { + public FHIRTypes getBasis() { return this.basis == null ? null : this.basis.getValue(); } /** * @param value The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters. */ - public MeasureGroupComponent setBasis(FHIRAllTypes value) { + public MeasureGroupComponent setBasis(FHIRTypes value) { if (value == null) this.basis = null; else { if (this.basis == null) - this.basis = new Enumeration(new FHIRAllTypesEnumFactory()); + this.basis = new Enumeration(new FHIRTypesEnumFactory()); this.basis.setValue(value); } return this; @@ -522,7 +748,7 @@ public class Measure extends MetadataResource { case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept - case 93508670: /*basis*/ return this.basis == null ? new Base[0] : new Base[] {this.basis}; // Enumeration + case 93508670: /*basis*/ return this.basis == null ? new Base[0] : new Base[] {this.basis}; // Enumeration case 1924005583: /*scoring*/ return this.scoring == null ? new Base[0] : new Base[] {this.scoring}; // CodeableConcept case 1527532787: /*scoringUnit*/ return this.scoringUnit == null ? new Base[0] : new Base[] {this.scoringUnit}; // CodeableConcept case -2085456136: /*improvementNotation*/ return this.improvementNotation == null ? new Base[0] : new Base[] {this.improvementNotation}; // CodeableConcept @@ -546,8 +772,8 @@ public class Measure extends MetadataResource { this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 93508670: // basis - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.basis = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.basis = (Enumeration) value; // Enumeration return value; case 1924005583: // scoring this.scoring = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -578,8 +804,8 @@ public class Measure extends MetadataResource { } else if (name.equals("type")) { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("basis")) { - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.basis = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.basis = (Enumeration) value; // Enumeration } else if (name.equals("scoring")) { this.scoring = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("scoringUnit")) { @@ -2129,10 +2355,10 @@ public class Measure extends MetadataResource { } /** - * An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers. + * An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this measure, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this measure, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers." ) protected UriType url; /** @@ -2190,7 +2416,7 @@ public class Measure extends MetadataResource { */ @Child(name = "subject", type = {CodeableConcept.class, Group.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="E.g. Patient, Practitioner, RelatedPerson, Organization, Location, Device", formalDefinition="The intended subjects for the measure. If this element is not provided, a Patient subject is assumed, but the subject of the measure can be anything." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -2198,8 +2424,8 @@ public class Measure extends MetadataResource { */ @Child(name = "basis", type = {CodeType.class}, order=9, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Population basis", formalDefinition="The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-types") - protected Enumeration basis; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") + protected Enumeration basis; /** * The date (and optionally time) when the measure was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the measure changes. @@ -2209,10 +2435,10 @@ public class Measure extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the measure. + * The name of the organization or individual responsible for the release and ongoing maintenance of the measure. */ @Child(name = "publisher", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the measure." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the measure." ) protected StringType publisher; /** @@ -2414,9 +2640,9 @@ public class Measure extends MetadataResource { /** * Provides a description of an individual term used within the measure. */ - @Child(name = "definition", type = {MarkdownType.class}, order=39, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "term", type = {}, order=39, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Defined terms used in the measure documentation", formalDefinition="Provides a description of an individual term used within the measure." ) - protected List definition; + protected List term; /** * Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure. @@ -2439,7 +2665,7 @@ public class Measure extends MetadataResource { @Description(shortDefinition="What other data should be reported with the measure", formalDefinition="The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path." ) protected List supplementalData; - private static final long serialVersionUID = -345540054L; + private static final long serialVersionUID = -1073215010L; /** * Constructor @@ -2457,7 +2683,7 @@ public class Measure extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -2477,7 +2703,7 @@ public class Measure extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public Measure setUrlElement(UriType value) { this.url = value; @@ -2485,14 +2711,14 @@ public class Measure extends MetadataResource { } /** - * @return An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers. + * @return An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers. + * @param value An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers. */ public Measure setUrl(String value) { if (Utilities.noString(value)) @@ -2898,12 +3124,12 @@ public class Measure extends MetadataResource { /** * @return {@link #basis} (The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters.). This is the underlying object with id, value and extensions. The accessor "getBasis" gives direct access to the value */ - public Enumeration getBasisElement() { + public Enumeration getBasisElement() { if (this.basis == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create Measure.basis"); else if (Configuration.doAutoCreate()) - this.basis = new Enumeration(new FHIRAllTypesEnumFactory()); // bb + this.basis = new Enumeration(new FHIRTypesEnumFactory()); // bb return this.basis; } @@ -2918,7 +3144,7 @@ public class Measure extends MetadataResource { /** * @param value {@link #basis} (The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters.). This is the underlying object with id, value and extensions. The accessor "getBasis" gives direct access to the value */ - public Measure setBasisElement(Enumeration value) { + public Measure setBasisElement(Enumeration value) { this.basis = value; return this; } @@ -2926,19 +3152,19 @@ public class Measure extends MetadataResource { /** * @return The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters. */ - public FHIRAllTypes getBasis() { + public FHIRTypes getBasis() { return this.basis == null ? null : this.basis.getValue(); } /** * @param value The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters. */ - public Measure setBasis(FHIRAllTypes value) { + public Measure setBasis(FHIRTypes value) { if (value == null) this.basis = null; else { if (this.basis == null) - this.basis = new Enumeration(new FHIRAllTypesEnumFactory()); + this.basis = new Enumeration(new FHIRTypesEnumFactory()); this.basis.setValue(value); } return this; @@ -2994,7 +3220,7 @@ public class Measure extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the measure.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the measure.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -3014,7 +3240,7 @@ public class Measure extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the measure.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the measure.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public Measure setPublisherElement(StringType value) { this.publisher = value; @@ -3022,14 +3248,14 @@ public class Measure extends MetadataResource { } /** - * @return The name of the organization or individual that published the measure. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the measure. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the measure. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the measure. */ public Measure setPublisher(String value) { if (Utilities.noString(value)) @@ -4293,64 +4519,56 @@ public class Measure extends MetadataResource { } /** - * @return {@link #definition} (Provides a description of an individual term used within the measure.) + * @return {@link #term} (Provides a description of an individual term used within the measure.) */ - public List getDefinition() { - if (this.definition == null) - this.definition = new ArrayList(); - return this.definition; + public List getTerm() { + if (this.term == null) + this.term = new ArrayList(); + return this.term; } /** * @return Returns a reference to this for easy method chaining */ - public Measure setDefinition(List theDefinition) { - this.definition = theDefinition; + public Measure setTerm(List theTerm) { + this.term = theTerm; return this; } - public boolean hasDefinition() { - if (this.definition == null) + public boolean hasTerm() { + if (this.term == null) return false; - for (MarkdownType item : this.definition) + for (MeasureTermComponent item : this.term) if (!item.isEmpty()) return true; return false; } - /** - * @return {@link #definition} (Provides a description of an individual term used within the measure.) - */ - public MarkdownType addDefinitionElement() {//2 - MarkdownType t = new MarkdownType(); - if (this.definition == null) - this.definition = new ArrayList(); - this.definition.add(t); + public MeasureTermComponent addTerm() { //3 + MeasureTermComponent t = new MeasureTermComponent(); + if (this.term == null) + this.term = new ArrayList(); + this.term.add(t); return t; } - /** - * @param value {@link #definition} (Provides a description of an individual term used within the measure.) - */ - public Measure addDefinition(String value) { //1 - MarkdownType t = new MarkdownType(); - t.setValue(value); - if (this.definition == null) - this.definition = new ArrayList(); - this.definition.add(t); + public Measure addTerm(MeasureTermComponent t) { //3 + if (t == null) + return this; + if (this.term == null) + this.term = new ArrayList(); + this.term.add(t); return this; } /** - * @param value {@link #definition} (Provides a description of an individual term used within the measure.) + * @return The first repetition of repeating field {@link #term}, creating it if it does not already exist {3} */ - public boolean hasDefinition(String value) { - if (this.definition == null) - return false; - for (MarkdownType v : this.definition) - if (v.getValue().equals(value)) // markdown - return true; - return false; + public MeasureTermComponent getTermFirstRep() { + if (getTerm().isEmpty()) { + addTerm(); + } + return getTerm().get(0); } /** @@ -4508,9 +4726,86 @@ public class Measure extends MetadataResource { return getSupplementalData().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"Measure\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"Measure\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"Measure\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Measure setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"Measure\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"Measure\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public Measure setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"Measure\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"Measure\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public Measure setCopyrightLabel(String value) { + throw new Error("The resource type \"Measure\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -4521,7 +4816,7 @@ public class Measure extends MetadataResource { children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)", "The intended subjects for the measure. If this element is not provided, a Patient subject is assumed, but the subject of the measure can be anything.", 0, 1, subject)); children.add(new Property("basis", "code", "The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters.", 0, 1, basis)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the measure was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the measure changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the measure.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the measure.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the measure from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate measure instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -4549,7 +4844,7 @@ public class Measure extends MetadataResource { children.add(new Property("rationale", "markdown", "Provides a succinct statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.", 0, 1, rationale)); children.add(new Property("clinicalRecommendationStatement", "markdown", "Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.", 0, 1, clinicalRecommendationStatement)); children.add(new Property("improvementNotation", "CodeableConcept", "Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is within a range).", 0, 1, improvementNotation)); - children.add(new Property("definition", "markdown", "Provides a description of an individual term used within the measure.", 0, java.lang.Integer.MAX_VALUE, definition)); + children.add(new Property("term", "", "Provides a description of an individual term used within the measure.", 0, java.lang.Integer.MAX_VALUE, term)); children.add(new Property("guidance", "markdown", "Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.", 0, 1, guidance)); children.add(new Property("group", "", "A group of population criteria for the measure.", 0, java.lang.Integer.MAX_VALUE, group)); children.add(new Property("supplementalData", "", "The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path.", 0, java.lang.Integer.MAX_VALUE, supplementalData)); @@ -4558,7 +4853,7 @@ public class Measure extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this measure when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this measure is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the measure is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this measure when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the measure when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the measure author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the measure. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -4572,7 +4867,7 @@ public class Measure extends MetadataResource { case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "The intended subjects for the measure. If this element is not provided, a Patient subject is assumed, but the subject of the measure can be anything.", 0, 1, subject); case 93508670: /*basis*/ return new Property("basis", "code", "The population basis specifies the type of elements in the population. For a subject-based measure, this is boolean (because the subject and the population basis are the same, and the population criteria define yes/no values for each individual in the population). For measures that have a population basis that is different than the subject, this element specifies the type of the population basis. For example, an encounter-based measure has a subject of Patient and a population basis of Encounter, and the population criteria all return lists of Encounters.", 0, 1, basis); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the measure was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the measure changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the measure.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the measure.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the measure from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate measure instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -4600,7 +4895,7 @@ public class Measure extends MetadataResource { case 345689335: /*rationale*/ return new Property("rationale", "markdown", "Provides a succinct statement of the need for the measure. Usually includes statements pertaining to importance criterion: impact, gap in care, and evidence.", 0, 1, rationale); case -18631389: /*clinicalRecommendationStatement*/ return new Property("clinicalRecommendationStatement", "markdown", "Provides a summary of relevant clinical guidelines or other clinical recommendations supporting the measure.", 0, 1, clinicalRecommendationStatement); case -2085456136: /*improvementNotation*/ return new Property("improvementNotation", "CodeableConcept", "Information on whether an increase or decrease in score is the preferred result (e.g., a higher score indicates better quality OR a lower score indicates better quality OR quality is within a range).", 0, 1, improvementNotation); - case -1014418093: /*definition*/ return new Property("definition", "markdown", "Provides a description of an individual term used within the measure.", 0, java.lang.Integer.MAX_VALUE, definition); + case 3556460: /*term*/ return new Property("term", "", "Provides a description of an individual term used within the measure.", 0, java.lang.Integer.MAX_VALUE, term); case -1314002088: /*guidance*/ return new Property("guidance", "markdown", "Additional guidance for the measure including how it can be used in a clinical context, and the intent of the measure.", 0, 1, guidance); case 98629247: /*group*/ return new Property("group", "", "A group of population criteria for the measure.", 0, java.lang.Integer.MAX_VALUE, group); case 1447496814: /*supplementalData*/ return new Property("supplementalData", "", "The supplemental data criteria for the measure report, specified as either the name of a valid CQL expression within a referenced library, or a valid FHIR Resource Path.", 0, java.lang.Integer.MAX_VALUE, supplementalData); @@ -4621,7 +4916,7 @@ public class Measure extends MetadataResource { case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // DataType - case 93508670: /*basis*/ return this.basis == null ? new Base[0] : new Base[] {this.basis}; // Enumeration + case 93508670: /*basis*/ return this.basis == null ? new Base[0] : new Base[] {this.basis}; // Enumeration case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail @@ -4651,7 +4946,7 @@ public class Measure extends MetadataResource { case 345689335: /*rationale*/ return this.rationale == null ? new Base[0] : new Base[] {this.rationale}; // MarkdownType case -18631389: /*clinicalRecommendationStatement*/ return this.clinicalRecommendationStatement == null ? new Base[0] : new Base[] {this.clinicalRecommendationStatement}; // MarkdownType case -2085456136: /*improvementNotation*/ return this.improvementNotation == null ? new Base[0] : new Base[] {this.improvementNotation}; // CodeableConcept - case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : this.definition.toArray(new Base[this.definition.size()]); // MarkdownType + case 3556460: /*term*/ return this.term == null ? new Base[0] : this.term.toArray(new Base[this.term.size()]); // MeasureTermComponent case -1314002088: /*guidance*/ return this.guidance == null ? new Base[0] : new Base[] {this.guidance}; // MarkdownType case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // MeasureGroupComponent case 1447496814: /*supplementalData*/ return this.supplementalData == null ? new Base[0] : this.supplementalData.toArray(new Base[this.supplementalData.size()]); // MeasureSupplementalDataComponent @@ -4692,8 +4987,8 @@ public class Measure extends MetadataResource { this.subject = TypeConvertor.castToType(value); // DataType return value; case 93508670: // basis - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.basis = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.basis = (Enumeration) value; // Enumeration return value; case 3076014: // date this.date = TypeConvertor.castToDateTime(value); // DateTimeType @@ -4782,8 +5077,8 @@ public class Measure extends MetadataResource { case -2085456136: // improvementNotation this.improvementNotation = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -1014418093: // definition - this.getDefinition().add(TypeConvertor.castToMarkdown(value)); // MarkdownType + case 3556460: // term + this.getTerm().add((MeasureTermComponent) value); // MeasureTermComponent return value; case -1314002088: // guidance this.guidance = TypeConvertor.castToMarkdown(value); // MarkdownType @@ -4821,8 +5116,8 @@ public class Measure extends MetadataResource { } else if (name.equals("subject[x]")) { this.subject = TypeConvertor.castToType(value); // DataType } else if (name.equals("basis")) { - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.basis = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.basis = (Enumeration) value; // Enumeration } else if (name.equals("date")) { this.date = TypeConvertor.castToDateTime(value); // DateTimeType } else if (name.equals("publisher")) { @@ -4881,8 +5176,8 @@ public class Measure extends MetadataResource { this.clinicalRecommendationStatement = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("improvementNotation")) { this.improvementNotation = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("definition")) { - this.getDefinition().add(TypeConvertor.castToMarkdown(value)); + } else if (name.equals("term")) { + this.getTerm().add((MeasureTermComponent) value); } else if (name.equals("guidance")) { this.guidance = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("group")) { @@ -4937,7 +5232,7 @@ public class Measure extends MetadataResource { case 345689335: return getRationaleElement(); case -18631389: return getClinicalRecommendationStatementElement(); case -2085456136: return getImprovementNotation(); - case -1014418093: return addDefinitionElement(); + case 3556460: return addTerm(); case -1314002088: return getGuidanceElement(); case 98629247: return addGroup(); case 1447496814: return addSupplementalData(); @@ -4988,7 +5283,7 @@ public class Measure extends MetadataResource { case 345689335: /*rationale*/ return new String[] {"markdown"}; case -18631389: /*clinicalRecommendationStatement*/ return new String[] {"markdown"}; case -2085456136: /*improvementNotation*/ return new String[] {"CodeableConcept"}; - case -1014418093: /*definition*/ return new String[] {"markdown"}; + case 3556460: /*term*/ return new String[] {}; case -1314002088: /*guidance*/ return new String[] {"markdown"}; case 98629247: /*group*/ return new String[] {}; case 1447496814: /*supplementalData*/ return new String[] {}; @@ -5126,8 +5421,8 @@ public class Measure extends MetadataResource { this.improvementNotation = new CodeableConcept(); return this.improvementNotation; } - else if (name.equals("definition")) { - throw new FHIRException("Cannot call addChild on a primitive type Measure.definition"); + else if (name.equals("term")) { + return addTerm(); } else if (name.equals("guidance")) { throw new FHIRException("Cannot call addChild on a primitive type Measure.guidance"); @@ -5242,10 +5537,10 @@ public class Measure extends MetadataResource { dst.rationale = rationale == null ? null : rationale.copy(); dst.clinicalRecommendationStatement = clinicalRecommendationStatement == null ? null : clinicalRecommendationStatement.copy(); dst.improvementNotation = improvementNotation == null ? null : improvementNotation.copy(); - if (definition != null) { - dst.definition = new ArrayList(); - for (MarkdownType i : definition) - dst.definition.add(i.copy()); + if (term != null) { + dst.term = new ArrayList(); + for (MeasureTermComponent i : term) + dst.term.add(i.copy()); }; dst.guidance = guidance == null ? null : guidance.copy(); if (group != null) { @@ -5285,7 +5580,7 @@ public class Measure extends MetadataResource { && compareDeep(scoringUnit, o.scoringUnit, true) && compareDeep(compositeScoring, o.compositeScoring, true) && compareDeep(type, o.type, true) && compareDeep(riskAdjustment, o.riskAdjustment, true) && compareDeep(rateAggregation, o.rateAggregation, true) && compareDeep(rationale, o.rationale, true) && compareDeep(clinicalRecommendationStatement, o.clinicalRecommendationStatement, true) - && compareDeep(improvementNotation, o.improvementNotation, true) && compareDeep(definition, o.definition, true) + && compareDeep(improvementNotation, o.improvementNotation, true) && compareDeep(term, o.term, true) && compareDeep(guidance, o.guidance, true) && compareDeep(group, o.group, true) && compareDeep(supplementalData, o.supplementalData, true) ; } @@ -5305,8 +5600,8 @@ public class Measure extends MetadataResource { && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(library, o.library, true) && compareValues(disclaimer, o.disclaimer, true) && compareValues(riskAdjustment, o.riskAdjustment, true) && compareValues(rateAggregation, o.rateAggregation, true) && compareValues(rationale, o.rationale, true) - && compareValues(clinicalRecommendationStatement, o.clinicalRecommendationStatement, true) && compareValues(definition, o.definition, true) - && compareValues(guidance, o.guidance, true); + && compareValues(clinicalRecommendationStatement, o.clinicalRecommendationStatement, true) && compareValues(guidance, o.guidance, true) + ; } public boolean isEmpty() { @@ -5315,7 +5610,7 @@ public class Measure extends MetadataResource { , contact, description, useContext, jurisdiction, purpose, usage, copyright, approvalDate , lastReviewDate, effectivePeriod, topic, author, editor, reviewer, endorser, relatedArtifact , library, disclaimer, scoring, scoringUnit, compositeScoring, type, riskAdjustment - , rateAggregation, rationale, clinicalRecommendationStatement, improvementNotation, definition + , rateAggregation, rationale, clinicalRecommendationStatement, improvementNotation, term , guidance, group, supplementalData); } @@ -5332,7 +5627,7 @@ public class Measure extends MetadataResource { * Path: Measure.relatedArtifact.where(type='composed-of').resource
*

*/ - @SearchParamDefinition(name="composed-of", path="Measure.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="composed-of", path="Measure.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_COMPOSED_OF = "composed-of"; /** * Fluent Client search parameter constant for composed-of @@ -5478,7 +5773,7 @@ public class Measure extends MetadataResource { * Path: Measure.relatedArtifact.where(type='depends-on').resource | Measure.library
*

*/ - @SearchParamDefinition(name="depends-on", path="Measure.relatedArtifact.where(type='depends-on').resource | Measure.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="depends-on", path="Measure.relatedArtifact.where(type='depends-on').resource | Measure.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DEPENDS_ON = "depends-on"; /** * Fluent Client search parameter constant for depends-on @@ -5504,7 +5799,7 @@ public class Measure extends MetadataResource { * Path: Measure.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="derived-from", path="Measure.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="derived-from", path="Measure.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -5630,7 +5925,7 @@ public class Measure extends MetadataResource { * Path: Measure.relatedArtifact.where(type='predecessor').resource
*

*/ - @SearchParamDefinition(name="predecessor", path="Measure.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="predecessor", path="Measure.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PREDECESSOR = "predecessor"; /** * Fluent Client search parameter constant for predecessor @@ -5696,7 +5991,7 @@ public class Measure extends MetadataResource { * Path: Measure.relatedArtifact.where(type='successor').resource
*

*/ - @SearchParamDefinition(name="successor", path="Measure.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="successor", path="Measure.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUCCESSOR = "successor"; /** * Fluent Client search parameter constant for successor diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MeasureReport.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MeasureReport.java index 5a80debca..eb198842c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MeasureReport.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MeasureReport.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -179,9 +179,9 @@ public class MeasureReport extends DomainResource { */ SUMMARY, /** - * A data collection report that contains data-of-interest for the measure. + * A data exchange report that contains data-of-interest for the measure (i.e. data that is needed to calculate the measure) */ - DATACOLLECTION, + DATAEXCHANGE, /** * added to help the parsers with the generic types */ @@ -195,8 +195,8 @@ public class MeasureReport extends DomainResource { return SUBJECTLIST; if ("summary".equals(codeString)) return SUMMARY; - if ("data-collection".equals(codeString)) - return DATACOLLECTION; + if ("data-exchange".equals(codeString)) + return DATAEXCHANGE; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -207,7 +207,7 @@ public class MeasureReport extends DomainResource { case INDIVIDUAL: return "individual"; case SUBJECTLIST: return "subject-list"; case SUMMARY: return "summary"; - case DATACOLLECTION: return "data-collection"; + case DATAEXCHANGE: return "data-exchange"; case NULL: return null; default: return "?"; } @@ -217,7 +217,7 @@ public class MeasureReport extends DomainResource { case INDIVIDUAL: return "http://hl7.org/fhir/measure-report-type"; case SUBJECTLIST: return "http://hl7.org/fhir/measure-report-type"; case SUMMARY: return "http://hl7.org/fhir/measure-report-type"; - case DATACOLLECTION: return "http://hl7.org/fhir/measure-report-type"; + case DATAEXCHANGE: return "http://hl7.org/fhir/measure-report-type"; case NULL: return null; default: return "?"; } @@ -227,7 +227,7 @@ public class MeasureReport extends DomainResource { case INDIVIDUAL: return "An individual report that provides information on the performance for a given measure with respect to a single subject."; case SUBJECTLIST: return "A subject list report that includes a listing of subjects that satisfied each population criteria in the measure."; case SUMMARY: return "A summary report that returns the number of members in each population criteria for the measure."; - case DATACOLLECTION: return "A data collection report that contains data-of-interest for the measure."; + case DATAEXCHANGE: return "A data exchange report that contains data-of-interest for the measure (i.e. data that is needed to calculate the measure)"; case NULL: return null; default: return "?"; } @@ -237,7 +237,7 @@ public class MeasureReport extends DomainResource { case INDIVIDUAL: return "Individual"; case SUBJECTLIST: return "Subject List"; case SUMMARY: return "Summary"; - case DATACOLLECTION: return "Data Collection"; + case DATAEXCHANGE: return "Data Exchange"; case NULL: return null; default: return "?"; } @@ -255,8 +255,8 @@ public class MeasureReport extends DomainResource { return MeasureReportType.SUBJECTLIST; if ("summary".equals(codeString)) return MeasureReportType.SUMMARY; - if ("data-collection".equals(codeString)) - return MeasureReportType.DATACOLLECTION; + if ("data-exchange".equals(codeString)) + return MeasureReportType.DATAEXCHANGE; throw new IllegalArgumentException("Unknown MeasureReportType code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -273,8 +273,8 @@ public class MeasureReport extends DomainResource { return new Enumeration(this, MeasureReportType.SUBJECTLIST); if ("summary".equals(codeString)) return new Enumeration(this, MeasureReportType.SUMMARY); - if ("data-collection".equals(codeString)) - return new Enumeration(this, MeasureReportType.DATACOLLECTION); + if ("data-exchange".equals(codeString)) + return new Enumeration(this, MeasureReportType.DATAEXCHANGE); throw new FHIRException("Unknown MeasureReportType code '"+codeString+"'"); } public String toCode(MeasureReportType code) { @@ -284,8 +284,8 @@ public class MeasureReport extends DomainResource { return "subject-list"; if (code == MeasureReportType.SUMMARY) return "summary"; - if (code == MeasureReportType.DATACOLLECTION) - return "data-collection"; + if (code == MeasureReportType.DATAEXCHANGE) + return "data-exchange"; return "?"; } public String toSystem(MeasureReportType code) { @@ -1139,10 +1139,10 @@ public class MeasureReport extends DomainResource { /** * The meaning of this stratifier, as defined in the measure definition. */ - @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="What stratifier of the group", formalDefinition="The meaning of this stratifier, as defined in the measure definition." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-stratifier-example") - protected List code; + protected CodeableConcept code; /** * This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value. @@ -1151,7 +1151,7 @@ public class MeasureReport extends DomainResource { @Description(shortDefinition="Stratum results, one for each unique value, or set of values, in the stratifier, or stratifier components", formalDefinition="This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value." ) protected List stratum; - private static final long serialVersionUID = 259550185L; + private static final long serialVersionUID = 362479683L; /** * Constructor @@ -1163,54 +1163,25 @@ public class MeasureReport extends DomainResource { /** * @return {@link #code} (The meaning of this stratifier, as defined in the measure definition.) */ - public List getCode() { + public CodeableConcept getCode() { if (this.code == null) - this.code = new ArrayList(); + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MeasureReportGroupStratifierComponent.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeableConcept(); // cc return this.code; } - /** - * @return Returns a reference to this for easy method chaining - */ - public MeasureReportGroupStratifierComponent setCode(List theCode) { - this.code = theCode; - return this; - } - public boolean hasCode() { - if (this.code == null) - return false; - for (CodeableConcept item : this.code) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addCode() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.code == null) - this.code = new ArrayList(); - this.code.add(t); - return t; - } - - public MeasureReportGroupStratifierComponent addCode(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.code == null) - this.code = new ArrayList(); - this.code.add(t); - return this; + return this.code != null && !this.code.isEmpty(); } /** - * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3} + * @param value {@link #code} (The meaning of this stratifier, as defined in the measure definition.) */ - public CodeableConcept getCodeFirstRep() { - if (getCode().isEmpty()) { - addCode(); - } - return getCode().get(0); + public MeasureReportGroupStratifierComponent setCode(CodeableConcept value) { + this.code = value; + return this; } /** @@ -1268,14 +1239,14 @@ public class MeasureReport extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("code", "CodeableConcept", "The meaning of this stratifier, as defined in the measure definition.", 0, java.lang.Integer.MAX_VALUE, code)); + children.add(new Property("code", "CodeableConcept", "The meaning of this stratifier, as defined in the measure definition.", 0, 1, code)); children.add(new Property("stratum", "", "This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value.", 0, java.lang.Integer.MAX_VALUE, stratum)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The meaning of this stratifier, as defined in the measure definition.", 0, java.lang.Integer.MAX_VALUE, code); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The meaning of this stratifier, as defined in the measure definition.", 0, 1, code); case -1881991236: /*stratum*/ return new Property("stratum", "", "This element contains the results for a single stratum within the stratifier. For example, when stratifying on administrative gender, there will be four strata, one for each possible gender value.", 0, java.lang.Integer.MAX_VALUE, stratum); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1285,7 +1256,7 @@ public class MeasureReport extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1881991236: /*stratum*/ return this.stratum == null ? new Base[0] : this.stratum.toArray(new Base[this.stratum.size()]); // StratifierGroupComponent default: return super.getProperty(hash, name, checkValid); } @@ -1296,7 +1267,7 @@ public class MeasureReport extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3059181: // code - this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -1881991236: // stratum this.getStratum().add((StratifierGroupComponent) value); // StratifierGroupComponent @@ -1309,7 +1280,7 @@ public class MeasureReport extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("code")) { - this.getCode().add(TypeConvertor.castToCodeableConcept(value)); + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("stratum")) { this.getStratum().add((StratifierGroupComponent) value); } else @@ -1320,7 +1291,7 @@ public class MeasureReport extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3059181: return addCode(); + case 3059181: return getCode(); case -1881991236: return addStratum(); default: return super.makeProperty(hash, name); } @@ -1340,7 +1311,8 @@ public class MeasureReport extends DomainResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("code")) { - return addCode(); + this.code = new CodeableConcept(); + return this.code; } else if (name.equals("stratum")) { return addStratum(); @@ -1357,11 +1329,7 @@ public class MeasureReport extends DomainResource { public void copyValues(MeasureReportGroupStratifierComponent dst) { super.copyValues(dst); - if (code != null) { - dst.code = new ArrayList(); - for (CodeableConcept i : code) - dst.code.add(i.copy()); - }; + dst.code = code == null ? null : code.copy(); if (stratum != null) { dst.stratum = new ArrayList(); for (StratifierGroupComponent i : stratum) @@ -2566,7 +2534,7 @@ public class MeasureReport extends DomainResource { * The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure. */ @Child(name = "type", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="individual | subject-list | summary | data-collection", formalDefinition="The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure." ) + @Description(shortDefinition="individual | subject-list | summary | data-exchange", formalDefinition="The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-report-type") protected Enumeration type; @@ -2581,14 +2549,14 @@ public class MeasureReport extends DomainResource { /** * A reference to the Measure that was calculated to produce this report. */ - @Child(name = "measure", type = {CanonicalType.class}, order=4, min=1, max=1, modifier=false, summary=true) + @Child(name = "measure", type = {CanonicalType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="What measure was calculated", formalDefinition="A reference to the Measure that was calculated to produce this report." ) protected CanonicalType measure; /** * Optional subject identifying the individual or individuals the report is for. */ - @Child(name = "subject", type = {Patient.class, Practitioner.class, PractitionerRole.class, Location.class, Device.class, RelatedPerson.class, Group.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="What individual(s) the report is for", formalDefinition="Optional subject identifying the individual or individuals the report is for." ) protected Reference subject; @@ -2600,10 +2568,10 @@ public class MeasureReport extends DomainResource { protected DateTimeType date; /** - * The individual, location, or organization that is reporting the data. + * The individual or organization that is reporting the data. */ - @Child(name = "reporter", type = {Practitioner.class, PractitionerRole.class, Location.class, Organization.class, Group.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Who is reporting the data", formalDefinition="The individual, location, or organization that is reporting the data." ) + @Child(name = "reporter", type = {Practitioner.class, PractitionerRole.class, Organization.class, Group.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Who is reporting the data", formalDefinition="The individual or organization that is reporting the data." ) protected Reference reporter; /** @@ -2613,17 +2581,31 @@ public class MeasureReport extends DomainResource { @Description(shortDefinition="What vendor prepared the data", formalDefinition="A reference to the vendor who queried the data, calculated results and/or generated the report. The ‘reporting vendor’ is intended to represent the submitting entity when it is not the same as the reporting entity. This extension is used when the Receiver is interested in getting vendor information in the report." ) protected Reference reportingVendor; + /** + * A reference to the location for which the data is being reported. + */ + @Child(name = "location", type = {Location.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Where the reported data is from", formalDefinition="A reference to the location for which the data is being reported." ) + protected Reference location; + /** * The reporting period for which the report was calculated. */ - @Child(name = "period", type = {Period.class}, order=9, min=1, max=1, modifier=false, summary=true) + @Child(name = "period", type = {Period.class}, order=10, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="What period the report covers", formalDefinition="The reporting period for which the report was calculated." ) protected Period period; + /** + * A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report. + */ + @Child(name = "inputParameters", type = {Parameters.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="What parameters were provided to the report", formalDefinition="A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report." ) + protected Reference inputParameters; + /** * Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure. */ - @Child(name = "scoring", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=true, summary=true) + @Child(name = "scoring", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=true, summary=true) @Description(shortDefinition="What scoring method (e.g. proportion, ratio, continuous-variable)", formalDefinition="Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-scoring") protected CodeableConcept scoring; @@ -2631,7 +2613,7 @@ public class MeasureReport extends DomainResource { /** * Whether improvement in the measure is noted by an increase or decrease in the measure score. */ - @Child(name = "improvementNotation", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=true, summary=true) + @Child(name = "improvementNotation", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=true, summary=true) @Description(shortDefinition="increase | decrease", formalDefinition="Whether improvement in the measure is noted by an increase or decrease in the measure score." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/measure-improvement-notation") protected CodeableConcept improvementNotation; @@ -2639,18 +2621,18 @@ public class MeasureReport extends DomainResource { /** * The results of the calculation, one for each population group in the measure. */ - @Child(name = "group", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "group", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Measure results for each group", formalDefinition="The results of the calculation, one for each population group in the measure." ) protected List group; /** - * A reference to a Bundle containing the Resources that were used in the calculation of this measure. + * A reference to a Resource that was used in the calculation of this measure. */ - @Child(name = "evaluatedResource", type = {Reference.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="What data was used to calculate the measure score", formalDefinition="A reference to a Bundle containing the Resources that were used in the calculation of this measure." ) + @Child(name = "evaluatedResource", type = {Reference.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="What data was used to calculate the measure score", formalDefinition="A reference to a Resource that was used in the calculation of this measure." ) protected List evaluatedResource; - private static final long serialVersionUID = 1493960612L; + private static final long serialVersionUID = 1805899755L; /** * Constructor @@ -2662,11 +2644,10 @@ public class MeasureReport extends DomainResource { /** * Constructor */ - public MeasureReport(MeasureReportStatus status, MeasureReportType type, String measure, Period period) { + public MeasureReport(MeasureReportStatus status, MeasureReportType type, Period period) { super(); this.setStatus(status); this.setType(type); - this.setMeasure(measure); this.setPeriod(period); } @@ -2901,9 +2882,13 @@ public class MeasureReport extends DomainResource { * @param value A reference to the Measure that was calculated to produce this report. */ public MeasureReport setMeasure(String value) { + if (Utilities.noString(value)) + this.measure = null; + else { if (this.measure == null) this.measure = new CanonicalType(); this.measure.setValue(value); + } return this; } @@ -2981,7 +2966,7 @@ public class MeasureReport extends DomainResource { } /** - * @return {@link #reporter} (The individual, location, or organization that is reporting the data.) + * @return {@link #reporter} (The individual or organization that is reporting the data.) */ public Reference getReporter() { if (this.reporter == null) @@ -2997,7 +2982,7 @@ public class MeasureReport extends DomainResource { } /** - * @param value {@link #reporter} (The individual, location, or organization that is reporting the data.) + * @param value {@link #reporter} (The individual or organization that is reporting the data.) */ public MeasureReport setReporter(Reference value) { this.reporter = value; @@ -3028,6 +3013,30 @@ public class MeasureReport extends DomainResource { return this; } + /** + * @return {@link #location} (A reference to the location for which the data is being reported.) + */ + public Reference getLocation() { + if (this.location == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MeasureReport.location"); + else if (Configuration.doAutoCreate()) + this.location = new Reference(); // cc + return this.location; + } + + public boolean hasLocation() { + return this.location != null && !this.location.isEmpty(); + } + + /** + * @param value {@link #location} (A reference to the location for which the data is being reported.) + */ + public MeasureReport setLocation(Reference value) { + this.location = value; + return this; + } + /** * @return {@link #period} (The reporting period for which the report was calculated.) */ @@ -3052,6 +3061,30 @@ public class MeasureReport extends DomainResource { return this; } + /** + * @return {@link #inputParameters} (A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report.) + */ + public Reference getInputParameters() { + if (this.inputParameters == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MeasureReport.inputParameters"); + else if (Configuration.doAutoCreate()) + this.inputParameters = new Reference(); // cc + return this.inputParameters; + } + + public boolean hasInputParameters() { + return this.inputParameters != null && !this.inputParameters.isEmpty(); + } + + /** + * @param value {@link #inputParameters} (A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report.) + */ + public MeasureReport setInputParameters(Reference value) { + this.inputParameters = value; + return this; + } + /** * @return {@link #scoring} (Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure.) */ @@ -3154,7 +3187,7 @@ public class MeasureReport extends DomainResource { } /** - * @return {@link #evaluatedResource} (A reference to a Bundle containing the Resources that were used in the calculation of this measure.) + * @return {@link #evaluatedResource} (A reference to a Resource that was used in the calculation of this measure.) */ public List getEvaluatedResource() { if (this.evaluatedResource == null) @@ -3213,15 +3246,17 @@ public class MeasureReport extends DomainResource { children.add(new Property("type", "code", "The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure.", 0, 1, type)); children.add(new Property("dataUpdateType", "code", "Indicates whether the data submitted in an data-exchange report represents a snapshot or incremental update. A snapshot update replaces all previously submitted data for the receiver, whereas an incremental update represents only updated and/or changed data and should be applied as a differential update to the existing submitted data for the receiver.", 0, 1, dataUpdateType)); children.add(new Property("measure", "canonical(Measure)", "A reference to the Measure that was calculated to produce this report.", 0, 1, measure)); - children.add(new Property("subject", "Reference(Patient|Practitioner|PractitionerRole|Location|Device|RelatedPerson|Group)", "Optional subject identifying the individual or individuals the report is for.", 0, 1, subject)); + children.add(new Property("subject", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Optional subject identifying the individual or individuals the report is for.", 0, 1, subject)); children.add(new Property("date", "dateTime", "The date this measure report was generated.", 0, 1, date)); - children.add(new Property("reporter", "Reference(Practitioner|PractitionerRole|Location|Organization|Group)", "The individual, location, or organization that is reporting the data.", 0, 1, reporter)); + children.add(new Property("reporter", "Reference(Practitioner|PractitionerRole|Organization|Group)", "The individual or organization that is reporting the data.", 0, 1, reporter)); children.add(new Property("reportingVendor", "Reference(Organization)", "A reference to the vendor who queried the data, calculated results and/or generated the report. The ‘reporting vendor’ is intended to represent the submitting entity when it is not the same as the reporting entity. This extension is used when the Receiver is interested in getting vendor information in the report.", 0, 1, reportingVendor)); + children.add(new Property("location", "Reference(Location)", "A reference to the location for which the data is being reported.", 0, 1, location)); children.add(new Property("period", "Period", "The reporting period for which the report was calculated.", 0, 1, period)); + children.add(new Property("inputParameters", "Reference(Parameters)", "A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report.", 0, 1, inputParameters)); children.add(new Property("scoring", "CodeableConcept", "Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure.", 0, 1, scoring)); children.add(new Property("improvementNotation", "CodeableConcept", "Whether improvement in the measure is noted by an increase or decrease in the measure score.", 0, 1, improvementNotation)); children.add(new Property("group", "", "The results of the calculation, one for each population group in the measure.", 0, java.lang.Integer.MAX_VALUE, group)); - children.add(new Property("evaluatedResource", "Reference(Any)", "A reference to a Bundle containing the Resources that were used in the calculation of this measure.", 0, java.lang.Integer.MAX_VALUE, evaluatedResource)); + children.add(new Property("evaluatedResource", "Reference(Any)", "A reference to a Resource that was used in the calculation of this measure.", 0, java.lang.Integer.MAX_VALUE, evaluatedResource)); } @Override @@ -3232,15 +3267,17 @@ public class MeasureReport extends DomainResource { case 3575610: /*type*/ return new Property("type", "code", "The type of measure report. This may be an individual report, which provides the score for the measure for an individual member of the population; a subject-listing, which returns the list of members that meet the various criteria in the measure; a summary report, which returns a population count for each of the criteria in the measure; or a data-collection, which enables the MeasureReport to be used to exchange the data-of-interest for a quality measure.", 0, 1, type); case -425890067: /*dataUpdateType*/ return new Property("dataUpdateType", "code", "Indicates whether the data submitted in an data-exchange report represents a snapshot or incremental update. A snapshot update replaces all previously submitted data for the receiver, whereas an incremental update represents only updated and/or changed data and should be applied as a differential update to the existing submitted data for the receiver.", 0, 1, dataUpdateType); case 938321246: /*measure*/ return new Property("measure", "canonical(Measure)", "A reference to the Measure that was calculated to produce this report.", 0, 1, measure); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Practitioner|PractitionerRole|Location|Device|RelatedPerson|Group)", "Optional subject identifying the individual or individuals the report is for.", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "Optional subject identifying the individual or individuals the report is for.", 0, 1, subject); case 3076014: /*date*/ return new Property("date", "dateTime", "The date this measure report was generated.", 0, 1, date); - case -427039519: /*reporter*/ return new Property("reporter", "Reference(Practitioner|PractitionerRole|Location|Organization|Group)", "The individual, location, or organization that is reporting the data.", 0, 1, reporter); + case -427039519: /*reporter*/ return new Property("reporter", "Reference(Practitioner|PractitionerRole|Organization|Group)", "The individual or organization that is reporting the data.", 0, 1, reporter); case 581336342: /*reportingVendor*/ return new Property("reportingVendor", "Reference(Organization)", "A reference to the vendor who queried the data, calculated results and/or generated the report. The ‘reporting vendor’ is intended to represent the submitting entity when it is not the same as the reporting entity. This extension is used when the Receiver is interested in getting vendor information in the report.", 0, 1, reportingVendor); + case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "A reference to the location for which the data is being reported.", 0, 1, location); case -991726143: /*period*/ return new Property("period", "Period", "The reporting period for which the report was calculated.", 0, 1, period); + case -812039852: /*inputParameters*/ return new Property("inputParameters", "Reference(Parameters)", "A reference to a Parameters resource (typically represented using a contained resource) that represents any input parameters that were provided to the operation that generated the report.", 0, 1, inputParameters); case 1924005583: /*scoring*/ return new Property("scoring", "CodeableConcept", "Indicates how the calculation is performed for the measure, including proportion, ratio, continuous-variable, and cohort. The value set is extensible, allowing additional measure scoring types to be represented. It is expected to be the same as the scoring element on the referenced Measure.", 0, 1, scoring); case -2085456136: /*improvementNotation*/ return new Property("improvementNotation", "CodeableConcept", "Whether improvement in the measure is noted by an increase or decrease in the measure score.", 0, 1, improvementNotation); case 98629247: /*group*/ return new Property("group", "", "The results of the calculation, one for each population group in the measure.", 0, java.lang.Integer.MAX_VALUE, group); - case -1056771047: /*evaluatedResource*/ return new Property("evaluatedResource", "Reference(Any)", "A reference to a Bundle containing the Resources that were used in the calculation of this measure.", 0, java.lang.Integer.MAX_VALUE, evaluatedResource); + case -1056771047: /*evaluatedResource*/ return new Property("evaluatedResource", "Reference(Any)", "A reference to a Resource that was used in the calculation of this measure.", 0, java.lang.Integer.MAX_VALUE, evaluatedResource); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -3258,7 +3295,9 @@ public class MeasureReport extends DomainResource { case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType case -427039519: /*reporter*/ return this.reporter == null ? new Base[0] : new Base[] {this.reporter}; // Reference case 581336342: /*reportingVendor*/ return this.reportingVendor == null ? new Base[0] : new Base[] {this.reportingVendor}; // Reference + case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period + case -812039852: /*inputParameters*/ return this.inputParameters == null ? new Base[0] : new Base[] {this.inputParameters}; // Reference case 1924005583: /*scoring*/ return this.scoring == null ? new Base[0] : new Base[] {this.scoring}; // CodeableConcept case -2085456136: /*improvementNotation*/ return this.improvementNotation == null ? new Base[0] : new Base[] {this.improvementNotation}; // CodeableConcept case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // MeasureReportGroupComponent @@ -3301,9 +3340,15 @@ public class MeasureReport extends DomainResource { case 581336342: // reportingVendor this.reportingVendor = TypeConvertor.castToReference(value); // Reference return value; + case 1901043637: // location + this.location = TypeConvertor.castToReference(value); // Reference + return value; case -991726143: // period this.period = TypeConvertor.castToPeriod(value); // Period return value; + case -812039852: // inputParameters + this.inputParameters = TypeConvertor.castToReference(value); // Reference + return value; case 1924005583: // scoring this.scoring = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; @@ -3344,8 +3389,12 @@ public class MeasureReport extends DomainResource { this.reporter = TypeConvertor.castToReference(value); // Reference } else if (name.equals("reportingVendor")) { this.reportingVendor = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("location")) { + this.location = TypeConvertor.castToReference(value); // Reference } else if (name.equals("period")) { this.period = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("inputParameters")) { + this.inputParameters = TypeConvertor.castToReference(value); // Reference } else if (name.equals("scoring")) { this.scoring = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("improvementNotation")) { @@ -3371,7 +3420,9 @@ public class MeasureReport extends DomainResource { case 3076014: return getDateElement(); case -427039519: return getReporter(); case 581336342: return getReportingVendor(); + case 1901043637: return getLocation(); case -991726143: return getPeriod(); + case -812039852: return getInputParameters(); case 1924005583: return getScoring(); case -2085456136: return getImprovementNotation(); case 98629247: return addGroup(); @@ -3393,7 +3444,9 @@ public class MeasureReport extends DomainResource { case 3076014: /*date*/ return new String[] {"dateTime"}; case -427039519: /*reporter*/ return new String[] {"Reference"}; case 581336342: /*reportingVendor*/ return new String[] {"Reference"}; + case 1901043637: /*location*/ return new String[] {"Reference"}; case -991726143: /*period*/ return new String[] {"Period"}; + case -812039852: /*inputParameters*/ return new String[] {"Reference"}; case 1924005583: /*scoring*/ return new String[] {"CodeableConcept"}; case -2085456136: /*improvementNotation*/ return new String[] {"CodeableConcept"}; case 98629247: /*group*/ return new String[] {}; @@ -3435,10 +3488,18 @@ public class MeasureReport extends DomainResource { this.reportingVendor = new Reference(); return this.reportingVendor; } + else if (name.equals("location")) { + this.location = new Reference(); + return this.location; + } else if (name.equals("period")) { this.period = new Period(); return this.period; } + else if (name.equals("inputParameters")) { + this.inputParameters = new Reference(); + return this.inputParameters; + } else if (name.equals("scoring")) { this.scoring = new CodeableConcept(); return this.scoring; @@ -3483,7 +3544,9 @@ public class MeasureReport extends DomainResource { dst.date = date == null ? null : date.copy(); dst.reporter = reporter == null ? null : reporter.copy(); dst.reportingVendor = reportingVendor == null ? null : reportingVendor.copy(); + dst.location = location == null ? null : location.copy(); dst.period = period == null ? null : period.copy(); + dst.inputParameters = inputParameters == null ? null : inputParameters.copy(); dst.scoring = scoring == null ? null : scoring.copy(); dst.improvementNotation = improvementNotation == null ? null : improvementNotation.copy(); if (group != null) { @@ -3512,7 +3575,8 @@ public class MeasureReport extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) && compareDeep(dataUpdateType, o.dataUpdateType, true) && compareDeep(measure, o.measure, true) && compareDeep(subject, o.subject, true) && compareDeep(date, o.date, true) && compareDeep(reporter, o.reporter, true) - && compareDeep(reportingVendor, o.reportingVendor, true) && compareDeep(period, o.period, true) + && compareDeep(reportingVendor, o.reportingVendor, true) && compareDeep(location, o.location, true) + && compareDeep(period, o.period, true) && compareDeep(inputParameters, o.inputParameters, true) && compareDeep(scoring, o.scoring, true) && compareDeep(improvementNotation, o.improvementNotation, true) && compareDeep(group, o.group, true) && compareDeep(evaluatedResource, o.evaluatedResource, true) ; @@ -3531,8 +3595,9 @@ public class MeasureReport extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, type - , dataUpdateType, measure, subject, date, reporter, reportingVendor, period, scoring - , improvementNotation, group, evaluatedResource); + , dataUpdateType, measure, subject, date, reporter, reportingVendor, location + , period, inputParameters, scoring, improvementNotation, group, evaluatedResource + ); } @Override @@ -3568,7 +3633,7 @@ public class MeasureReport extends DomainResource { * Path: MeasureReport.evaluatedResource
*

*/ - @SearchParamDefinition(name="evaluated-resource", path="MeasureReport.evaluatedResource", description="An evaluated resource referenced by the measure report", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="evaluated-resource", path="MeasureReport.evaluatedResource", description="An evaluated resource referenced by the measure report", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_EVALUATED_RESOURCE = "evaluated-resource"; /** * Fluent Client search parameter constant for evaluated-resource @@ -3606,6 +3671,32 @@ public class MeasureReport extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + /** + * Search parameter: location + *

+ * Description: The location to return measure report results for
+ * Type: reference
+ * Path: MeasureReport.location
+ *

+ */ + @SearchParamDefinition(name="location", path="MeasureReport.location", description="The location to return measure report results for", type="reference", target={Location.class } ) + public static final String SP_LOCATION = "location"; + /** + * Fluent Client search parameter constant for location + *

+ * Description: The location to return measure report results for
+ * Type: reference
+ * Path: MeasureReport.location
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam LOCATION = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_LOCATION); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "MeasureReport:location". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_LOCATION = new ca.uhn.fhir.model.api.Include("MeasureReport:location").toLocked(); + /** * Search parameter: measure *

@@ -3686,7 +3777,7 @@ public class MeasureReport extends DomainResource { * Path: MeasureReport.reporter
*

*/ - @SearchParamDefinition(name="reporter", path="MeasureReport.reporter", description="The reporter to return measure report results for", type="reference", target={Group.class, Location.class, Organization.class, Practitioner.class, PractitionerRole.class } ) + @SearchParamDefinition(name="reporter", path="MeasureReport.reporter", description="The reporter to return measure report results for", type="reference", target={Group.class, Organization.class, Practitioner.class, PractitionerRole.class } ) public static final String SP_REPORTER = "reporter"; /** * Fluent Client search parameter constant for reporter @@ -3732,7 +3823,7 @@ public class MeasureReport extends DomainResource { * Path: MeasureReport.subject
*

*/ - @SearchParamDefinition(name="subject", path="MeasureReport.subject", description="The identity of a subject to search for individual measure report results for", type="reference", target={Device.class, Group.class, Location.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) + @SearchParamDefinition(name="subject", path="MeasureReport.subject", description="The identity of a subject to search for individual measure report results for", type="reference", target={CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Medication.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Medication.java index 73fb29b19..aa2278463 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Medication.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Medication.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1520,13 +1520,12 @@ public class Medication extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -1546,10 +1545,9 @@ public class Medication extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationAdministration.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationAdministration.java index 55de290b9..30e1f1dc0 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationAdministration.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationAdministration.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -896,38 +896,24 @@ public class MedicationAdministration extends DomainResource { @Description(shortDefinition="External identifier", formalDefinition="Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server." ) protected List identifier; - /** - * A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event. - */ - @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates protocol or definition", formalDefinition="A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event." ) - protected List instantiatesCanonical; - - /** - * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration. - */ - @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration." ) - protected List instantiatesUri; - /** * A plan that is fulfilled in whole or in part by this MedicationAdministration. */ - @Child(name = "basedOn", type = {CarePlan.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "basedOn", type = {CarePlan.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Plan this is fulfilled by this administration", formalDefinition="A plan that is fulfilled in whole or in part by this MedicationAdministration." ) protected List basedOn; /** * A larger event of which this particular event is a component or step. */ - @Child(name = "partOf", type = {MedicationAdministration.class, Procedure.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "partOf", type = {MedicationAdministration.class, Procedure.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Part of referenced event", formalDefinition="A larger event of which this particular event is a component or step." ) protected List partOf; /** * Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way. */ - @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=3, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="in-progress | not-done | on-hold | completed | entered-in-error | stopped | unknown", formalDefinition="Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-admin-status") protected Enumeration status; @@ -935,7 +921,7 @@ public class MedicationAdministration extends DomainResource { /** * A code indicating why the administration was not performed. */ - @Child(name = "statusReason", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "statusReason", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Reason administration not performed", formalDefinition="A code indicating why the administration was not performed." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/reason-medication-not-given-codes") protected List statusReason; @@ -943,7 +929,7 @@ public class MedicationAdministration extends DomainResource { /** * The type of medication administration (for example, drug classification like ATC, where meds would be administered, legal category of the medication). */ - @Child(name = "category", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "category", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Type of medication administration", formalDefinition="The type of medication administration (for example, drug classification like ATC, where meds would be administered, legal category of the medication)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-admin-location") protected List category; @@ -951,7 +937,7 @@ public class MedicationAdministration extends DomainResource { /** * Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications. */ - @Child(name = "medication", type = {CodeableReference.class}, order=8, min=1, max=1, modifier=false, summary=true) + @Child(name = "medication", type = {CodeableReference.class}, order=6, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="What was administered", formalDefinition="Identifies the medication that was administered. This is either a link to a resource representing the details of the medication or a simple attribute carrying a code that identifies the medication from a known list of medications." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") protected CodeableReference medication; @@ -959,64 +945,64 @@ public class MedicationAdministration extends DomainResource { /** * The person or animal or group receiving the medication. */ - @Child(name = "subject", type = {Patient.class, Group.class}, order=9, min=1, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {Patient.class, Group.class}, order=7, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Who received medication", formalDefinition="The person or animal or group receiving the medication." ) protected Reference subject; /** * The visit, admission, or other contact between patient and health care provider during which the medication administration was performed. */ - @Child(name = "encounter", type = {Encounter.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "encounter", type = {Encounter.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Encounter administered as part of", formalDefinition="The visit, admission, or other contact between patient and health care provider during which the medication administration was performed." ) protected Reference encounter; /** * Additional information (for example, patient height and weight) that supports the administration of the medication. This attribute can be used to provide documentation of specific characteristics of the patient present at the time of administration. For example, if the dose says "give "x" if the heartrate exceeds "y"", then the heart rate can be included using this attribute. */ - @Child(name = "supportingInformation", type = {Reference.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInformation", type = {Reference.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional information to support administration", formalDefinition="Additional information (for example, patient height and weight) that supports the administration of the medication. This attribute can be used to provide documentation of specific characteristics of the patient present at the time of administration. For example, if the dose says \"give \"x\" if the heartrate exceeds \"y\"\", then the heart rate can be included using this attribute." ) protected List supportingInformation; /** * A specific date/time or interval of time during which the administration took place (or did not take place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate. */ - @Child(name = "occurence", type = {DateTimeType.class, Period.class}, order=12, min=1, max=1, modifier=false, summary=true) + @Child(name = "occurence", type = {DateTimeType.class, Period.class}, order=10, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Start and end time of administration", formalDefinition="A specific date/time or interval of time during which the administration took place (or did not take place). For many administrations, such as swallowing a tablet the use of dateTime is more appropriate." ) protected DataType occurence; /** * The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event. */ - @Child(name = "recorded", type = {DateTimeType.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "recorded", type = {DateTimeType.class}, order=11, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When the MedicationAdministration was first captured in the subject's record", formalDefinition="The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event." ) protected DateTimeType recorded; /** * An indication that the full dose was not administered. */ - @Child(name = "isSubPotent", type = {BooleanType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "isSubPotent", type = {BooleanType.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Full dose was not administered", formalDefinition="An indication that the full dose was not administered." ) protected BooleanType isSubPotent; /** * The reason or reasons why the full dose was not administered. */ - @Child(name = "subPotentReason", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "subPotentReason", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Reason full dose was not administered", formalDefinition="The reason or reasons why the full dose was not administered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administration-subpotent-reason") protected List subPotentReason; /** - * Indicates who or what performed the medication administration and how they were involved. + * Indicates who or what performed the medication administration and how they were involved. For devices, this is the device that is actually performing the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers. */ - @Child(name = "performer", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Who performed the medication administration and what they did", formalDefinition="Indicates who or what performed the medication administration and how they were involved." ) + @Child(name = "performer", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Who or what performed the medication administration and what type of performance they did", formalDefinition="Indicates who or what performed the medication administration and how they were involved. For devices, this is the device that is actually performing the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers." ) protected List performer; /** * A code, Condition or observation that supports why the medication was administered. */ - @Child(name = "reason", type = {CodeableReference.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "reason", type = {CodeableReference.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Concept, condition or observation that supports why the medication was administered", formalDefinition="A code, Condition or observation that supports why the medication was administered." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/reason-medication-given-codes") protected List reason; @@ -1024,39 +1010,39 @@ public class MedicationAdministration extends DomainResource { /** * The original request, instruction or authority to perform the administration. */ - @Child(name = "request", type = {MedicationRequest.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Child(name = "request", type = {MedicationRequest.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Request administration performed against", formalDefinition="The original request, instruction or authority to perform the administration." ) protected Reference request; /** * The device used in administering the medication to the patient. For example, a particular infusion pump. */ - @Child(name = "device", type = {Device.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "device", type = {Device.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Device used to administer", formalDefinition="The device used in administering the medication to the patient. For example, a particular infusion pump." ) protected List device; /** * Extra information about the medication administration that is not conveyed by the other attributes. */ - @Child(name = "note", type = {Annotation.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information about the administration", formalDefinition="Extra information about the medication administration that is not conveyed by the other attributes." ) protected List note; /** * Describes the medication dosage information details e.g. dose, rate, site, route, etc. */ - @Child(name = "dosage", type = {}, order=21, min=0, max=1, modifier=false, summary=false) + @Child(name = "dosage", type = {}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Details of how medication was taken", formalDefinition="Describes the medication dosage information details e.g. dose, rate, site, route, etc." ) protected MedicationAdministrationDosageComponent dosage; /** * A summary of the events of interest that have occurred, such as when the administration was verified. */ - @Child(name = "eventHistory", type = {Provenance.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "eventHistory", type = {Provenance.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A list of events of interest in the lifecycle", formalDefinition="A summary of the events of interest that have occurred, such as when the administration was verified." ) protected List eventHistory; - private static final long serialVersionUID = 1601619216L; + private static final long serialVersionUID = 97286510L; /** * Constructor @@ -1129,128 +1115,6 @@ public class MedicationAdministration extends DomainResource { return getIdentifier().get(0); } - /** - * @return {@link #instantiatesCanonical} (A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.) - */ - public List getInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - return this.instantiatesCanonical; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public MedicationAdministration setInstantiatesCanonical(List theInstantiatesCanonical) { - this.instantiatesCanonical = theInstantiatesCanonical; - return this; - } - - public boolean hasInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType item : this.instantiatesCanonical) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesCanonical} (A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.) - */ - public CanonicalType addInstantiatesCanonicalElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return t; - } - - /** - * @param value {@link #instantiatesCanonical} (A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.) - */ - public MedicationAdministration addInstantiatesCanonical(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return this; - } - - /** - * @param value {@link #instantiatesCanonical} (A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.) - */ - public boolean hasInstantiatesCanonical(String value) { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType v : this.instantiatesCanonical) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration.) - */ - public List getInstantiatesUri() { - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - return this.instantiatesUri; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public MedicationAdministration setInstantiatesUri(List theInstantiatesUri) { - this.instantiatesUri = theInstantiatesUri; - return this; - } - - public boolean hasInstantiatesUri() { - if (this.instantiatesUri == null) - return false; - for (UriType item : this.instantiatesUri) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration.) - */ - public UriType addInstantiatesUriElement() {//2 - UriType t = new UriType(); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return t; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration.) - */ - public MedicationAdministration addInstantiatesUri(String value) { //1 - UriType t = new UriType(); - t.setValue(value); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return this; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration.) - */ - public boolean hasInstantiatesUri(String value) { - if (this.instantiatesUri == null) - return false; - for (UriType v : this.instantiatesUri) - if (v.getValue().equals(value)) // uri - return true; - return false; - } - /** * @return {@link #basedOn} (A plan that is fulfilled in whole or in part by this MedicationAdministration.) */ @@ -1832,7 +1696,7 @@ public class MedicationAdministration extends DomainResource { } /** - * @return {@link #performer} (Indicates who or what performed the medication administration and how they were involved.) + * @return {@link #performer} (Indicates who or what performed the medication administration and how they were involved. For devices, this is the device that is actually performing the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.) */ public List getPerformer() { if (this.performer == null) @@ -2147,8 +2011,6 @@ public class MedicationAdministration extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition)", "A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); - children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); children.add(new Property("basedOn", "Reference(CarePlan)", "A plan that is fulfilled in whole or in part by this MedicationAdministration.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("partOf", "Reference(MedicationAdministration|Procedure)", "A larger event of which this particular event is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); children.add(new Property("status", "code", "Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way.", 0, 1, status)); @@ -2162,7 +2024,7 @@ public class MedicationAdministration extends DomainResource { children.add(new Property("recorded", "dateTime", "The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event.", 0, 1, recorded)); children.add(new Property("isSubPotent", "boolean", "An indication that the full dose was not administered.", 0, 1, isSubPotent)); children.add(new Property("subPotentReason", "CodeableConcept", "The reason or reasons why the full dose was not administered.", 0, java.lang.Integer.MAX_VALUE, subPotentReason)); - children.add(new Property("performer", "", "Indicates who or what performed the medication administration and how they were involved.", 0, java.lang.Integer.MAX_VALUE, performer)); + children.add(new Property("performer", "", "Indicates who or what performed the medication administration and how they were involved. For devices, this is the device that is actually performing the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.", 0, java.lang.Integer.MAX_VALUE, performer)); children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport)", "A code, Condition or observation that supports why the medication was administered.", 0, java.lang.Integer.MAX_VALUE, reason)); children.add(new Property("request", "Reference(MedicationRequest)", "The original request, instruction or authority to perform the administration.", 0, 1, request)); children.add(new Property("device", "Reference(Device)", "The device used in administering the medication to the patient. For example, a particular infusion pump.", 0, java.lang.Integer.MAX_VALUE, device)); @@ -2175,8 +2037,6 @@ public class MedicationAdministration extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers associated with this Medication Administration that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); - case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition)", "A protocol, guideline, orderset, or other definition that was adhered to in whole or in part by this event.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); - case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationAdministration.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan)", "A plan that is fulfilled in whole or in part by this MedicationAdministration.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -995410646: /*partOf*/ return new Property("partOf", "Reference(MedicationAdministration|Procedure)", "A larger event of which this particular event is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); case -892481550: /*status*/ return new Property("status", "code", "Will generally be set to show that the administration has been completed. For some long running administrations such as infusions, it is possible for an administration to be started but not completed or it may be paused while some other process is under way.", 0, 1, status); @@ -2193,7 +2053,7 @@ public class MedicationAdministration extends DomainResource { case -799233872: /*recorded*/ return new Property("recorded", "dateTime", "The date the occurrence of the MedicationAdministration was first captured in the record - potentially significantly after the occurrence of the event.", 0, 1, recorded); case 702379724: /*isSubPotent*/ return new Property("isSubPotent", "boolean", "An indication that the full dose was not administered.", 0, 1, isSubPotent); case 969489082: /*subPotentReason*/ return new Property("subPotentReason", "CodeableConcept", "The reason or reasons why the full dose was not administered.", 0, java.lang.Integer.MAX_VALUE, subPotentReason); - case 481140686: /*performer*/ return new Property("performer", "", "Indicates who or what performed the medication administration and how they were involved.", 0, java.lang.Integer.MAX_VALUE, performer); + case 481140686: /*performer*/ return new Property("performer", "", "Indicates who or what performed the medication administration and how they were involved. For devices, this is the device that is actually performing the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.", 0, java.lang.Integer.MAX_VALUE, performer); case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport)", "A code, Condition or observation that supports why the medication was administered.", 0, java.lang.Integer.MAX_VALUE, reason); case 1095692943: /*request*/ return new Property("request", "Reference(MedicationRequest)", "The original request, instruction or authority to perform the administration.", 0, 1, request); case -1335157162: /*device*/ return new Property("device", "Reference(Device)", "The device used in administering the medication to the patient. For example, a particular infusion pump.", 0, java.lang.Integer.MAX_VALUE, device); @@ -2209,8 +2069,6 @@ public class MedicationAdministration extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier - case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType - case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // Reference case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -2242,12 +2100,6 @@ public class MedicationAdministration extends DomainResource { case -1618432855: // identifier this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; - case 8911915: // instantiatesCanonical - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case -1926393373: // instantiatesUri - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType - return value; case -332612366: // basedOn this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -2318,10 +2170,6 @@ public class MedicationAdministration extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("identifier")) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); - } else if (name.equals("instantiatesCanonical")) { - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("instantiatesUri")) { - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); } else if (name.equals("basedOn")) { this.getBasedOn().add(TypeConvertor.castToReference(value)); } else if (name.equals("partOf")) { @@ -2372,8 +2220,6 @@ public class MedicationAdministration extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: return addIdentifier(); - case 8911915: return addInstantiatesCanonicalElement(); - case -1926393373: return addInstantiatesUriElement(); case -332612366: return addBasedOn(); case -995410646: return addPartOf(); case -892481550: return getStatusElement(); @@ -2404,8 +2250,6 @@ public class MedicationAdministration extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; - case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; - case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; case -332612366: /*basedOn*/ return new String[] {"Reference"}; case -995410646: /*partOf*/ return new String[] {"Reference"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -2436,12 +2280,6 @@ public class MedicationAdministration extends DomainResource { if (name.equals("identifier")) { return addIdentifier(); } - else if (name.equals("instantiatesCanonical")) { - throw new FHIRException("Cannot call addChild on a primitive type MedicationAdministration.instantiatesCanonical"); - } - else if (name.equals("instantiatesUri")) { - throw new FHIRException("Cannot call addChild on a primitive type MedicationAdministration.instantiatesUri"); - } else if (name.equals("basedOn")) { return addBasedOn(); } @@ -2534,16 +2372,6 @@ public class MedicationAdministration extends DomainResource { for (Identifier i : identifier) dst.identifier.add(i.copy()); }; - if (instantiatesCanonical != null) { - dst.instantiatesCanonical = new ArrayList(); - for (CanonicalType i : instantiatesCanonical) - dst.instantiatesCanonical.add(i.copy()); - }; - if (instantiatesUri != null) { - dst.instantiatesUri = new ArrayList(); - for (UriType i : instantiatesUri) - dst.instantiatesUri.add(i.copy()); - }; if (basedOn != null) { dst.basedOn = new ArrayList(); for (Reference i : basedOn) @@ -2621,16 +2449,14 @@ public class MedicationAdministration extends DomainResource { if (!(other_ instanceof MedicationAdministration)) return false; MedicationAdministration o = (MedicationAdministration) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) - && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) - && compareDeep(partOf, o.partOf, true) && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) - && compareDeep(category, o.category, true) && compareDeep(medication, o.medication, true) && compareDeep(subject, o.subject, true) - && compareDeep(encounter, o.encounter, true) && compareDeep(supportingInformation, o.supportingInformation, true) - && compareDeep(occurence, o.occurence, true) && compareDeep(recorded, o.recorded, true) && compareDeep(isSubPotent, o.isSubPotent, true) - && compareDeep(subPotentReason, o.subPotentReason, true) && compareDeep(performer, o.performer, true) - && compareDeep(reason, o.reason, true) && compareDeep(request, o.request, true) && compareDeep(device, o.device, true) - && compareDeep(note, o.note, true) && compareDeep(dosage, o.dosage, true) && compareDeep(eventHistory, o.eventHistory, true) - ; + return compareDeep(identifier, o.identifier, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(partOf, o.partOf, true) + && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(category, o.category, true) + && compareDeep(medication, o.medication, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(supportingInformation, o.supportingInformation, true) && compareDeep(occurence, o.occurence, true) + && compareDeep(recorded, o.recorded, true) && compareDeep(isSubPotent, o.isSubPotent, true) && compareDeep(subPotentReason, o.subPotentReason, true) + && compareDeep(performer, o.performer, true) && compareDeep(reason, o.reason, true) && compareDeep(request, o.request, true) + && compareDeep(device, o.device, true) && compareDeep(note, o.note, true) && compareDeep(dosage, o.dosage, true) + && compareDeep(eventHistory, o.eventHistory, true); } @Override @@ -2640,16 +2466,15 @@ public class MedicationAdministration extends DomainResource { if (!(other_ instanceof MedicationAdministration)) return false; MedicationAdministration o = (MedicationAdministration) other_; - return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) - && compareValues(status, o.status, true) && compareValues(recorded, o.recorded, true) && compareValues(isSubPotent, o.isSubPotent, true) + return compareValues(status, o.status, true) && compareValues(recorded, o.recorded, true) && compareValues(isSubPotent, o.isSubPotent, true) ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical - , instantiatesUri, basedOn, partOf, status, statusReason, category, medication - , subject, encounter, supportingInformation, occurence, recorded, isSubPotent, subPotentReason - , performer, reason, request, device, note, dosage, eventHistory); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, partOf + , status, statusReason, category, medication, subject, encounter, supportingInformation + , occurence, recorded, isSubPotent, subPotentReason, performer, reason, request + , device, note, dosage, eventHistory); } @Override @@ -2845,13 +2670,12 @@ public class MedicationAdministration extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -2871,10 +2695,9 @@ public class MedicationAdministration extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -2993,7 +2816,7 @@ public class MedicationAdministration extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3002,10 +2825,10 @@ public class MedicationAdministration extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3037,7 +2860,7 @@ public class MedicationAdministration extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3046,7 +2869,7 @@ public class MedicationAdministration extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationDispense.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationDispense.java index 5e61b5e08..496930429 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationDispense.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationDispense.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2990,13 +2990,12 @@ public class MedicationDispense extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -3016,10 +3015,9 @@ public class MedicationDispense extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -3138,7 +3136,7 @@ public class MedicationDispense extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3147,10 +3145,10 @@ public class MedicationDispense extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3182,7 +3180,7 @@ public class MedicationDispense extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3191,7 +3189,7 @@ public class MedicationDispense extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationKnowledge.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationKnowledge.java index 6dde41b1a..c97e0d0a9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationKnowledge.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationKnowledge.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationRequest.java index f09f10ae7..37d43dbd4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -83,7 +83,7 @@ public class MedicationRequest extends DomainResource { */ INSTANCEORDER, /** - * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. + * The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. */ OPTION, /** @@ -151,7 +151,7 @@ public class MedicationRequest extends DomainResource { case REFLEXORDER: return "The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization.."; case FILLERORDER: return "The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order."; case INSTANCEORDER: return "The request represents an instance for the particular order and is used to generate a schedule of requests on a medication administration record (MAR)."; - case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests."; + case OPTION: return "The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests."; case NULL: return null; default: return "?"; } @@ -1794,45 +1794,31 @@ public class MedicationRequest extends DomainResource { @Description(shortDefinition="External ids for this request", formalDefinition="Identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server." ) protected List identifier; - /** - * The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest. - */ - @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest." ) - protected List instantiatesCanonical; - - /** - * The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest. - */ - @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest." ) - protected List instantiatesUri; - /** * A plan or request that is fulfilled in whole or in part by this medication request. */ - @Child(name = "basedOn", type = {CarePlan.class, MedicationRequest.class, ServiceRequest.class, ImmunizationRecommendation.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "basedOn", type = {CarePlan.class, MedicationRequest.class, ServiceRequest.class, ImmunizationRecommendation.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="What request fulfills", formalDefinition="A plan or request that is fulfilled in whole or in part by this medication request." ) protected List basedOn; /** * A link to a resource representing an earlier order related order or prescription. */ - @Child(name = "priorPrescription", type = {MedicationRequest.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "priorPrescription", type = {MedicationRequest.class}, order=2, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="An order/prescription that is being replaced", formalDefinition="A link to a resource representing an earlier order related order or prescription." ) protected Reference priorPrescription; /** * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription. */ - @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Child(name = "groupIdentifier", type = {Identifier.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Composite request this is part of", formalDefinition="A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription." ) protected Identifier groupIdentifier; /** * A code specifying the current state of the order. Generally, this will be active or completed state. */ - @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="active | on-hold | ended | stopped | completed | cancelled | entered-in-error | draft | unknown", formalDefinition="A code specifying the current state of the order. Generally, this will be active or completed state." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-status") protected Enumeration status; @@ -1840,7 +1826,7 @@ public class MedicationRequest extends DomainResource { /** * Captures the reason for the current state of the MedicationRequest. */ - @Child(name = "statusReason", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "statusReason", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reason for current status", formalDefinition="Captures the reason for the current state of the MedicationRequest." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-status-reason") protected CodeableConcept statusReason; @@ -1848,14 +1834,14 @@ public class MedicationRequest extends DomainResource { /** * The date (and perhaps time) when the status was changed. */ - @Child(name = "statusChanged", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "statusChanged", type = {DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When the status was changed", formalDefinition="The date (and perhaps time) when the status was changed." ) protected DateTimeType statusChanged; /** * Whether the request is a proposal, plan, or an original order. */ - @Child(name = "intent", type = {CodeType.class}, order=9, min=1, max=1, modifier=true, summary=true) + @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="proposal | plan | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Whether the request is a proposal, plan, or an original order." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-intent") protected Enumeration intent; @@ -1863,7 +1849,7 @@ public class MedicationRequest extends DomainResource { /** * Indicates the grouping or category of medication request (for example, drug classification like ATC, where meds would be administered, legal category of the medication.). */ - @Child(name = "category", type = {CodeableConcept.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "category", type = {CodeableConcept.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Grouping or category of medication request", formalDefinition="Indicates the grouping or category of medication request (for example, drug classification like ATC, where meds would be administered, legal category of the medication.)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-admin-location") protected List category; @@ -1871,7 +1857,7 @@ public class MedicationRequest extends DomainResource { /** * Indicates how quickly the Medication Request should be addressed with respect to other requests. */ - @Child(name = "priority", type = {CodeType.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Child(name = "priority", type = {CodeType.class}, order=9, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the Medication Request should be addressed with respect to other requests." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") protected Enumeration priority; @@ -1879,14 +1865,14 @@ public class MedicationRequest extends DomainResource { /** * If true, indicates that the provider is asking for the patient to either stop taking or to not start taking the specified medication. For example, the patient is taking an existing medication and the provider is changing their medication. They want to create two seperate requests: one to stop using the current medication and another to start the new medication. */ - @Child(name = "doNotPerform", type = {BooleanType.class}, order=12, min=0, max=1, modifier=true, summary=true) + @Child(name = "doNotPerform", type = {BooleanType.class}, order=10, min=0, max=1, modifier=true, summary=true) @Description(shortDefinition="True if patient is to stop taking or not to start taking the medication", formalDefinition="If true, indicates that the provider is asking for the patient to either stop taking or to not start taking the specified medication. For example, the patient is taking an existing medication and the provider is changing their medication. They want to create two seperate requests: one to stop using the current medication and another to start the new medication." ) protected BooleanType doNotPerform; /** * Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications. */ - @Child(name = "medication", type = {CodeableReference.class}, order=13, min=1, max=1, modifier=false, summary=true) + @Child(name = "medication", type = {CodeableReference.class}, order=11, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Medication to be taken", formalDefinition="Identifies the medication being requested. This is a link to a resource that represents the medication which may be the details of the medication or simply an attribute carrying a code that identifies the medication from a known list of medications." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-codes") protected CodeableReference medication; @@ -1894,85 +1880,85 @@ public class MedicationRequest extends DomainResource { /** * A link to a resource representing the person or set of individuals to whom the medication will be given. */ - @Child(name = "subject", type = {Patient.class, Group.class}, order=14, min=1, max=1, modifier=false, summary=true) + @Child(name = "subject", type = {Patient.class, Group.class}, order=12, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Who or group medication request is for", formalDefinition="A link to a resource representing the person or set of individuals to whom the medication will be given." ) protected Reference subject; /** * The person or organization who provided the information about this request, if the source is someone other than the requestor. This is often used when the MedicationRequest is reported by another person. */ - @Child(name = "informationSource", type = {Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Organization.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "informationSource", type = {Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class, Organization.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The person or organization who provided the information about this request, if the source is someone other than the requestor", formalDefinition="The person or organization who provided the information about this request, if the source is someone other than the requestor. This is often used when the MedicationRequest is reported by another person." ) protected List informationSource; /** * The Encounter during which this [x] was created or to which the creation of this record is tightly associated. */ - @Child(name = "encounter", type = {Encounter.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "encounter", type = {Encounter.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Encounter created as part of encounter/admission/stay", formalDefinition="The Encounter during which this [x] was created or to which the creation of this record is tightly associated." ) protected Reference encounter; /** * Information to support fulfilling (i.e. dispensing or administering) of the medication, for example, patient height and weight, a MedicationUsage for the patient). */ - @Child(name = "supportingInformation", type = {Reference.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInformation", type = {Reference.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information to support fulfilling of the medication", formalDefinition="Information to support fulfilling (i.e. dispensing or administering) of the medication, for example, patient height and weight, a MedicationUsage for the patient)." ) protected List supportingInformation; /** * The date (and perhaps time) when the prescription was initially written or authored on. */ - @Child(name = "authoredOn", type = {DateTimeType.class}, order=18, min=0, max=1, modifier=false, summary=true) + @Child(name = "authoredOn", type = {DateTimeType.class}, order=16, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When request was initially authored", formalDefinition="The date (and perhaps time) when the prescription was initially written or authored on." ) protected DateTimeType authoredOn; /** * The individual, organization, or device that initiated the request and has responsibility for its activation. */ - @Child(name = "requester", type = {Practitioner.class, PractitionerRole.class, Organization.class, Patient.class, RelatedPerson.class, Device.class}, order=19, min=0, max=1, modifier=false, summary=true) + @Child(name = "requester", type = {Practitioner.class, PractitionerRole.class, Organization.class, Patient.class, RelatedPerson.class, Device.class}, order=17, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Who/What requested the Request", formalDefinition="The individual, organization, or device that initiated the request and has responsibility for its activation." ) protected Reference requester; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - @Child(name = "reported", type = {BooleanType.class}, order=20, min=0, max=1, modifier=false, summary=true) + @Child(name = "reported", type = {BooleanType.class}, order=18, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Reported rather than primary record", formalDefinition="Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report." ) protected BooleanType reported; /** * Indicates the type of performer of the administration of the medication. */ - @Child(name = "performerType", type = {CodeableConcept.class}, order=21, min=0, max=1, modifier=false, summary=true) + @Child(name = "performerType", type = {CodeableConcept.class}, order=19, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Desired kind of performer of the medication administration", formalDefinition="Indicates the type of performer of the administration of the medication." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-intended-performer-role") protected CodeableConcept performerType; /** - * The specified desired performer of the medication treatment (e.g. the performer of the medication administration). + * The specified desired performer of the medication treatment (e.g. the performer of the medication administration). For devices, this is the device that is intended to perform the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers. */ - @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class, Organization.class, Patient.class, Device.class, RelatedPerson.class, CareTeam.class, HealthcareService.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Intended performer of administration", formalDefinition="The specified desired performer of the medication treatment (e.g. the performer of the medication administration)." ) + @Child(name = "performer", type = {Practitioner.class, PractitionerRole.class, Organization.class, Patient.class, DeviceDefinition.class, RelatedPerson.class, CareTeam.class, HealthcareService.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Intended performer of administration", formalDefinition="The specified desired performer of the medication treatment (e.g. the performer of the medication administration). For devices, this is the device that is intended to perform the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers." ) protected List performer; /** * The intended type of device that is to be used for the administration of the medication (for example, PCA Pump). */ - @Child(name = "device", type = {CodeableReference.class}, order=23, min=0, max=1, modifier=false, summary=false) + @Child(name = "device", type = {CodeableReference.class}, order=21, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Intended type of device for the administration", formalDefinition="The intended type of device that is to be used for the administration of the medication (for example, PCA Pump)." ) protected CodeableReference device; /** * The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order. */ - @Child(name = "recorder", type = {Practitioner.class, PractitionerRole.class}, order=24, min=0, max=1, modifier=false, summary=false) + @Child(name = "recorder", type = {Practitioner.class, PractitionerRole.class}, order=22, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Person who entered the request", formalDefinition="The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order." ) protected Reference recorder; /** * The reason or the indication for ordering or not ordering the medication. */ - @Child(name = "reason", type = {CodeableReference.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "reason", type = {CodeableReference.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Reason or indication for ordering or not ordering the medication", formalDefinition="The reason or the indication for ordering or not ordering the medication." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") protected List reason; @@ -1980,7 +1966,7 @@ public class MedicationRequest extends DomainResource { /** * The description of the overall pattern of the administration of the medication to the patient. */ - @Child(name = "courseOfTherapyType", type = {CodeableConcept.class}, order=26, min=0, max=1, modifier=false, summary=false) + @Child(name = "courseOfTherapyType", type = {CodeableConcept.class}, order=24, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Overall pattern of medication administration", formalDefinition="The description of the overall pattern of the administration of the medication to the patient." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicationrequest-course-of-therapy") protected CodeableConcept courseOfTherapyType; @@ -1988,46 +1974,46 @@ public class MedicationRequest extends DomainResource { /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service. */ - @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Associated insurance coverage", formalDefinition="Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be required for delivering the requested service." ) protected List insurance; /** * Extra information about the prescription that could not be conveyed by the other attributes. */ - @Child(name = "note", type = {Annotation.class}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information about the prescription", formalDefinition="Extra information about the prescription that could not be conveyed by the other attributes." ) protected List note; /** * Indicates how the medication is to be used by the patient. */ - @Child(name = "dose", type = {}, order=29, min=0, max=1, modifier=false, summary=false) + @Child(name = "dose", type = {}, order=27, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="How the medication should be taken", formalDefinition="Indicates how the medication is to be used by the patient." ) protected MedicationRequestDoseComponent dose; /** * Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department. */ - @Child(name = "dispenseRequest", type = {}, order=30, min=0, max=1, modifier=false, summary=false) + @Child(name = "dispenseRequest", type = {}, order=28, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Medication supply authorization", formalDefinition="Indicates the specific details for the dispense or medication supply part of a medication request (also known as a Medication Prescription or Medication Order). Note that this information is not always sent with the order. There may be in some settings (e.g. hospitals) institutional or system support for completing the dispense details in the pharmacy department." ) protected MedicationRequestDispenseRequestComponent dispenseRequest; /** * Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done. */ - @Child(name = "substitution", type = {}, order=31, min=0, max=1, modifier=false, summary=false) + @Child(name = "substitution", type = {}, order=29, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Any restrictions on medication substitution", formalDefinition="Indicates whether or not substitution can or should be part of the dispense. In some cases, substitution must happen, in other cases substitution must not happen. This block explains the prescriber's intent. If nothing is specified substitution may be done." ) protected MedicationRequestSubstitutionComponent substitution; /** * Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource. */ - @Child(name = "eventHistory", type = {Provenance.class}, order=32, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "eventHistory", type = {Provenance.class}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A list of events of interest in the lifecycle", formalDefinition="Links to Provenance records for past versions of this resource or fulfilling request or event resources that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the resource." ) protected List eventHistory; - private static final long serialVersionUID = 731059762L; + private static final long serialVersionUID = -1151829612L; /** * Constructor @@ -2100,128 +2086,6 @@ public class MedicationRequest extends DomainResource { return getIdentifier().get(0); } - /** - * @return {@link #instantiatesCanonical} (The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public List getInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - return this.instantiatesCanonical; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public MedicationRequest setInstantiatesCanonical(List theInstantiatesCanonical) { - this.instantiatesCanonical = theInstantiatesCanonical; - return this; - } - - public boolean hasInstantiatesCanonical() { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType item : this.instantiatesCanonical) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesCanonical} (The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public CanonicalType addInstantiatesCanonicalElement() {//2 - CanonicalType t = new CanonicalType(); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return t; - } - - /** - * @param value {@link #instantiatesCanonical} (The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public MedicationRequest addInstantiatesCanonical(String value) { //1 - CanonicalType t = new CanonicalType(); - t.setValue(value); - if (this.instantiatesCanonical == null) - this.instantiatesCanonical = new ArrayList(); - this.instantiatesCanonical.add(t); - return this; - } - - /** - * @param value {@link #instantiatesCanonical} (The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public boolean hasInstantiatesCanonical(String value) { - if (this.instantiatesCanonical == null) - return false; - for (CanonicalType v : this.instantiatesCanonical) - if (v.getValue().equals(value)) // canonical - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public List getInstantiatesUri() { - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - return this.instantiatesUri; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public MedicationRequest setInstantiatesUri(List theInstantiatesUri) { - this.instantiatesUri = theInstantiatesUri; - return this; - } - - public boolean hasInstantiatesUri() { - if (this.instantiatesUri == null) - return false; - for (UriType item : this.instantiatesUri) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public UriType addInstantiatesUriElement() {//2 - UriType t = new UriType(); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return t; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public MedicationRequest addInstantiatesUri(String value) { //1 - UriType t = new UriType(); - t.setValue(value); - if (this.instantiatesUri == null) - this.instantiatesUri = new ArrayList(); - this.instantiatesUri.add(t); - return this; - } - - /** - * @param value {@link #instantiatesUri} (The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.) - */ - public boolean hasInstantiatesUri(String value) { - if (this.instantiatesUri == null) - return false; - for (UriType v : this.instantiatesUri) - if (v.getValue().equals(value)) // uri - return true; - return false; - } - /** * @return {@link #basedOn} (A plan or request that is fulfilled in whole or in part by this medication request.) */ @@ -2954,7 +2818,7 @@ public class MedicationRequest extends DomainResource { } /** - * @return {@link #performer} (The specified desired performer of the medication treatment (e.g. the performer of the medication administration).) + * @return {@link #performer} (The specified desired performer of the medication treatment (e.g. the performer of the medication administration). For devices, this is the device that is intended to perform the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.) */ public List getPerformer() { if (this.performer == null) @@ -3365,8 +3229,6 @@ public class MedicationRequest extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition)", "The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); - children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); children.add(new Property("basedOn", "Reference(CarePlan|MedicationRequest|ServiceRequest|ImmunizationRecommendation)", "A plan or request that is fulfilled in whole or in part by this medication request.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("priorPrescription", "Reference(MedicationRequest)", "A link to a resource representing an earlier order related order or prescription.", 0, 1, priorPrescription)); children.add(new Property("groupIdentifier", "Identifier", "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription.", 0, 1, groupIdentifier)); @@ -3386,7 +3248,7 @@ public class MedicationRequest extends DomainResource { children.add(new Property("requester", "Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device)", "The individual, organization, or device that initiated the request and has responsibility for its activation.", 0, 1, requester)); children.add(new Property("reported", "boolean", "Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report.", 0, 1, reported)); children.add(new Property("performerType", "CodeableConcept", "Indicates the type of performer of the administration of the medication.", 0, 1, performerType)); - children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson|CareTeam|HealthcareService)", "The specified desired performer of the medication treatment (e.g. the performer of the medication administration).", 0, java.lang.Integer.MAX_VALUE, performer)); + children.add(new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|Patient|DeviceDefinition|RelatedPerson|CareTeam|HealthcareService)", "The specified desired performer of the medication treatment (e.g. the performer of the medication administration). For devices, this is the device that is intended to perform the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.", 0, java.lang.Integer.MAX_VALUE, performer)); children.add(new Property("device", "CodeableReference(DeviceDefinition)", "The intended type of device that is to be used for the administration of the medication (for example, PCA Pump).", 0, 1, device)); children.add(new Property("recorder", "Reference(Practitioner|PractitionerRole)", "The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order.", 0, 1, recorder)); children.add(new Property("reason", "CodeableReference(Condition|Observation)", "The reason or the indication for ordering or not ordering the medication.", 0, java.lang.Integer.MAX_VALUE, reason)); @@ -3403,8 +3265,6 @@ public class MedicationRequest extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers associated with this medication request that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); - case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(PlanDefinition|ActivityDefinition)", "The URL pointing to a protocol, guideline, orderset, or other definition that is adhered to in whole or in part by this MedicationRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); - case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this MedicationRequest.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|MedicationRequest|ServiceRequest|ImmunizationRecommendation)", "A plan or request that is fulfilled in whole or in part by this medication request.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -486355964: /*priorPrescription*/ return new Property("priorPrescription", "Reference(MedicationRequest)", "A link to a resource representing an earlier order related order or prescription.", 0, 1, priorPrescription); case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition or prescription.", 0, 1, groupIdentifier); @@ -3424,7 +3284,7 @@ public class MedicationRequest extends DomainResource { case 693933948: /*requester*/ return new Property("requester", "Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device)", "The individual, organization, or device that initiated the request and has responsibility for its activation.", 0, 1, requester); case -427039533: /*reported*/ return new Property("reported", "boolean", "Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report.", 0, 1, reported); case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "Indicates the type of performer of the administration of the medication.", 0, 1, performerType); - case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|Patient|Device|RelatedPerson|CareTeam|HealthcareService)", "The specified desired performer of the medication treatment (e.g. the performer of the medication administration).", 0, java.lang.Integer.MAX_VALUE, performer); + case 481140686: /*performer*/ return new Property("performer", "Reference(Practitioner|PractitionerRole|Organization|Patient|DeviceDefinition|RelatedPerson|CareTeam|HealthcareService)", "The specified desired performer of the medication treatment (e.g. the performer of the medication administration). For devices, this is the device that is intended to perform the administration of the medication. An IV Pump would be an example of a device that is performing the administration. Both the IV Pump and the practitioner that set the rate or bolus on the pump can be listed as performers.", 0, java.lang.Integer.MAX_VALUE, performer); case -1335157162: /*device*/ return new Property("device", "CodeableReference(DeviceDefinition)", "The intended type of device that is to be used for the administration of the medication (for example, PCA Pump).", 0, 1, device); case -799233858: /*recorder*/ return new Property("recorder", "Reference(Practitioner|PractitionerRole)", "The person who entered the order on behalf of another individual for example in the case of a verbal or a telephone order.", 0, 1, recorder); case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation)", "The reason or the indication for ordering or not ordering the medication.", 0, java.lang.Integer.MAX_VALUE, reason); @@ -3444,8 +3304,6 @@ public class MedicationRequest extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier - case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType - case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference case -486355964: /*priorPrescription*/ return this.priorPrescription == null ? new Base[0] : new Base[] {this.priorPrescription}; // Reference case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier @@ -3487,12 +3345,6 @@ public class MedicationRequest extends DomainResource { case -1618432855: // identifier this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; - case 8911915: // instantiatesCanonical - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType - return value; - case -1926393373: // instantiatesUri - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType - return value; case -332612366: // basedOn this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -3595,10 +3447,6 @@ public class MedicationRequest extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("identifier")) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); - } else if (name.equals("instantiatesCanonical")) { - this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); - } else if (name.equals("instantiatesUri")) { - this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); } else if (name.equals("basedOn")) { this.getBasedOn().add(TypeConvertor.castToReference(value)); } else if (name.equals("priorPrescription")) { @@ -3671,8 +3519,6 @@ public class MedicationRequest extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: return addIdentifier(); - case 8911915: return addInstantiatesCanonicalElement(); - case -1926393373: return addInstantiatesUriElement(); case -332612366: return addBasedOn(); case -486355964: return getPriorPrescription(); case -445338488: return getGroupIdentifier(); @@ -3712,8 +3558,6 @@ public class MedicationRequest extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; - case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; - case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; case -332612366: /*basedOn*/ return new String[] {"Reference"}; case -486355964: /*priorPrescription*/ return new String[] {"Reference"}; case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; @@ -3754,12 +3598,6 @@ public class MedicationRequest extends DomainResource { if (name.equals("identifier")) { return addIdentifier(); } - else if (name.equals("instantiatesCanonical")) { - throw new FHIRException("Cannot call addChild on a primitive type MedicationRequest.instantiatesCanonical"); - } - else if (name.equals("instantiatesUri")) { - throw new FHIRException("Cannot call addChild on a primitive type MedicationRequest.instantiatesUri"); - } else if (name.equals("basedOn")) { return addBasedOn(); } @@ -3886,16 +3724,6 @@ public class MedicationRequest extends DomainResource { for (Identifier i : identifier) dst.identifier.add(i.copy()); }; - if (instantiatesCanonical != null) { - dst.instantiatesCanonical = new ArrayList(); - for (CanonicalType i : instantiatesCanonical) - dst.instantiatesCanonical.add(i.copy()); - }; - if (instantiatesUri != null) { - dst.instantiatesUri = new ArrayList(); - for (UriType i : instantiatesUri) - dst.instantiatesUri.add(i.copy()); - }; if (basedOn != null) { dst.basedOn = new ArrayList(); for (Reference i : basedOn) @@ -3975,10 +3803,9 @@ public class MedicationRequest extends DomainResource { if (!(other_ instanceof MedicationRequest)) return false; MedicationRequest o = (MedicationRequest) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) - && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) - && compareDeep(priorPrescription, o.priorPrescription, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) - && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(statusChanged, o.statusChanged, true) + return compareDeep(identifier, o.identifier, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(priorPrescription, o.priorPrescription, true) + && compareDeep(groupIdentifier, o.groupIdentifier, true) && compareDeep(status, o.status, true) + && compareDeep(statusReason, o.statusReason, true) && compareDeep(statusChanged, o.statusChanged, true) && compareDeep(intent, o.intent, true) && compareDeep(category, o.category, true) && compareDeep(priority, o.priority, true) && compareDeep(doNotPerform, o.doNotPerform, true) && compareDeep(medication, o.medication, true) && compareDeep(subject, o.subject, true) && compareDeep(informationSource, o.informationSource, true) @@ -3999,19 +3826,18 @@ public class MedicationRequest extends DomainResource { if (!(other_ instanceof MedicationRequest)) return false; MedicationRequest o = (MedicationRequest) other_; - return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) - && compareValues(status, o.status, true) && compareValues(statusChanged, o.statusChanged, true) && compareValues(intent, o.intent, true) - && compareValues(priority, o.priority, true) && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(authoredOn, o.authoredOn, true) - && compareValues(reported, o.reported, true); + return compareValues(status, o.status, true) && compareValues(statusChanged, o.statusChanged, true) + && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) && compareValues(doNotPerform, o.doNotPerform, true) + && compareValues(authoredOn, o.authoredOn, true) && compareValues(reported, o.reported, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical - , instantiatesUri, basedOn, priorPrescription, groupIdentifier, status, statusReason - , statusChanged, intent, category, priority, doNotPerform, medication, subject - , informationSource, encounter, supportingInformation, authoredOn, requester, reported - , performerType, performer, device, recorder, reason, courseOfTherapyType, insurance - , note, dose, dispenseRequest, substitution, eventHistory); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, basedOn, priorPrescription + , groupIdentifier, status, statusReason, statusChanged, intent, category, priority + , doNotPerform, medication, subject, informationSource, encounter, supportingInformation + , authoredOn, requester, reported, performerType, performer, device, recorder + , reason, courseOfTherapyType, insurance, note, dose, dispenseRequest, substitution + , eventHistory); } @Override @@ -4113,7 +3939,7 @@ public class MedicationRequest extends DomainResource { * Path: MedicationRequest.performer
*

*/ - @SearchParamDefinition(name="intended-performer", path="MedicationRequest.performer", description="Returns the intended performer of the administration of the medication request", type="reference", target={CareTeam.class, Device.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) + @SearchParamDefinition(name="intended-performer", path="MedicationRequest.performer", description="Returns the intended performer of the administration of the medication request", type="reference", target={CareTeam.class, DeviceDefinition.class, HealthcareService.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) public static final String SP_INTENDED_PERFORMER = "intended-performer"; /** * Fluent Client search parameter constant for intended-performer @@ -4261,13 +4087,12 @@ public class MedicationRequest extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -4287,10 +4112,9 @@ public class MedicationRequest extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -4409,7 +4233,7 @@ public class MedicationRequest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4418,10 +4242,10 @@ public class MedicationRequest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4453,7 +4277,7 @@ public class MedicationRequest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4462,7 +4286,7 @@ public class MedicationRequest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationUsage.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationUsage.java index 8f368f23c..2c6bf1a5b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationUsage.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicationUsage.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1847,13 +1847,12 @@ public class MedicationUsage extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -1873,10 +1872,9 @@ public class MedicationUsage extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -1995,7 +1993,7 @@ public class MedicationUsage extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2004,10 +2002,10 @@ public class MedicationUsage extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2039,7 +2037,7 @@ public class MedicationUsage extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2048,7 +2046,7 @@ public class MedicationUsage extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicinalProductDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicinalProductDefinition.java index 359e40dcf..96794b33c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicinalProductDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MedicinalProductDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -283,18 +283,18 @@ public class MedicinalProductDefinition extends DomainResource { /** * Coding words or phrases of the name. */ - @Child(name = "namePart", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "part", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Coding words or phrases of the name", formalDefinition="Coding words or phrases of the name." ) - protected List namePart; + protected List part; /** * Country and jurisdiction where the name applies, and associated language. */ - @Child(name = "countryLanguage", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "usage", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Country and jurisdiction where the name applies", formalDefinition="Country and jurisdiction where the name applies, and associated language." ) - protected List countryLanguage; + protected List usage; - private static final long serialVersionUID = 829861294L; + private static final long serialVersionUID = 890277480L; /** * Constructor @@ -381,117 +381,117 @@ public class MedicinalProductDefinition extends DomainResource { } /** - * @return {@link #namePart} (Coding words or phrases of the name.) + * @return {@link #part} (Coding words or phrases of the name.) */ - public List getNamePart() { - if (this.namePart == null) - this.namePart = new ArrayList(); - return this.namePart; + public List getPart() { + if (this.part == null) + this.part = new ArrayList(); + return this.part; } /** * @return Returns a reference to this for easy method chaining */ - public MedicinalProductDefinitionNameComponent setNamePart(List theNamePart) { - this.namePart = theNamePart; + public MedicinalProductDefinitionNameComponent setPart(List thePart) { + this.part = thePart; return this; } - public boolean hasNamePart() { - if (this.namePart == null) + public boolean hasPart() { + if (this.part == null) return false; - for (MedicinalProductDefinitionNameNamePartComponent item : this.namePart) + for (MedicinalProductDefinitionNamePartComponent item : this.part) if (!item.isEmpty()) return true; return false; } - public MedicinalProductDefinitionNameNamePartComponent addNamePart() { //3 - MedicinalProductDefinitionNameNamePartComponent t = new MedicinalProductDefinitionNameNamePartComponent(); - if (this.namePart == null) - this.namePart = new ArrayList(); - this.namePart.add(t); + public MedicinalProductDefinitionNamePartComponent addPart() { //3 + MedicinalProductDefinitionNamePartComponent t = new MedicinalProductDefinitionNamePartComponent(); + if (this.part == null) + this.part = new ArrayList(); + this.part.add(t); return t; } - public MedicinalProductDefinitionNameComponent addNamePart(MedicinalProductDefinitionNameNamePartComponent t) { //3 + public MedicinalProductDefinitionNameComponent addPart(MedicinalProductDefinitionNamePartComponent t) { //3 if (t == null) return this; - if (this.namePart == null) - this.namePart = new ArrayList(); - this.namePart.add(t); + if (this.part == null) + this.part = new ArrayList(); + this.part.add(t); return this; } /** - * @return The first repetition of repeating field {@link #namePart}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #part}, creating it if it does not already exist {3} */ - public MedicinalProductDefinitionNameNamePartComponent getNamePartFirstRep() { - if (getNamePart().isEmpty()) { - addNamePart(); + public MedicinalProductDefinitionNamePartComponent getPartFirstRep() { + if (getPart().isEmpty()) { + addPart(); } - return getNamePart().get(0); + return getPart().get(0); } /** - * @return {@link #countryLanguage} (Country and jurisdiction where the name applies, and associated language.) + * @return {@link #usage} (Country and jurisdiction where the name applies, and associated language.) */ - public List getCountryLanguage() { - if (this.countryLanguage == null) - this.countryLanguage = new ArrayList(); - return this.countryLanguage; + public List getUsage() { + if (this.usage == null) + this.usage = new ArrayList(); + return this.usage; } /** * @return Returns a reference to this for easy method chaining */ - public MedicinalProductDefinitionNameComponent setCountryLanguage(List theCountryLanguage) { - this.countryLanguage = theCountryLanguage; + public MedicinalProductDefinitionNameComponent setUsage(List theUsage) { + this.usage = theUsage; return this; } - public boolean hasCountryLanguage() { - if (this.countryLanguage == null) + public boolean hasUsage() { + if (this.usage == null) return false; - for (MedicinalProductDefinitionNameCountryLanguageComponent item : this.countryLanguage) + for (MedicinalProductDefinitionNameUsageComponent item : this.usage) if (!item.isEmpty()) return true; return false; } - public MedicinalProductDefinitionNameCountryLanguageComponent addCountryLanguage() { //3 - MedicinalProductDefinitionNameCountryLanguageComponent t = new MedicinalProductDefinitionNameCountryLanguageComponent(); - if (this.countryLanguage == null) - this.countryLanguage = new ArrayList(); - this.countryLanguage.add(t); + public MedicinalProductDefinitionNameUsageComponent addUsage() { //3 + MedicinalProductDefinitionNameUsageComponent t = new MedicinalProductDefinitionNameUsageComponent(); + if (this.usage == null) + this.usage = new ArrayList(); + this.usage.add(t); return t; } - public MedicinalProductDefinitionNameComponent addCountryLanguage(MedicinalProductDefinitionNameCountryLanguageComponent t) { //3 + public MedicinalProductDefinitionNameComponent addUsage(MedicinalProductDefinitionNameUsageComponent t) { //3 if (t == null) return this; - if (this.countryLanguage == null) - this.countryLanguage = new ArrayList(); - this.countryLanguage.add(t); + if (this.usage == null) + this.usage = new ArrayList(); + this.usage.add(t); return this; } /** - * @return The first repetition of repeating field {@link #countryLanguage}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #usage}, creating it if it does not already exist {3} */ - public MedicinalProductDefinitionNameCountryLanguageComponent getCountryLanguageFirstRep() { - if (getCountryLanguage().isEmpty()) { - addCountryLanguage(); + public MedicinalProductDefinitionNameUsageComponent getUsageFirstRep() { + if (getUsage().isEmpty()) { + addUsage(); } - return getCountryLanguage().get(0); + return getUsage().get(0); } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("productName", "string", "The full product name.", 0, 1, productName)); children.add(new Property("type", "CodeableConcept", "Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary.", 0, 1, type)); - children.add(new Property("namePart", "", "Coding words or phrases of the name.", 0, java.lang.Integer.MAX_VALUE, namePart)); - children.add(new Property("countryLanguage", "", "Country and jurisdiction where the name applies, and associated language.", 0, java.lang.Integer.MAX_VALUE, countryLanguage)); + children.add(new Property("part", "", "Coding words or phrases of the name.", 0, java.lang.Integer.MAX_VALUE, part)); + children.add(new Property("usage", "", "Country and jurisdiction where the name applies, and associated language.", 0, java.lang.Integer.MAX_VALUE, usage)); } @Override @@ -499,8 +499,8 @@ public class MedicinalProductDefinition extends DomainResource { switch (_hash) { case -1491817446: /*productName*/ return new Property("productName", "string", "The full product name.", 0, 1, productName); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of product name, such as rINN, BAN, Proprietary, Non-Proprietary.", 0, 1, type); - case 1840452894: /*namePart*/ return new Property("namePart", "", "Coding words or phrases of the name.", 0, java.lang.Integer.MAX_VALUE, namePart); - case -141141746: /*countryLanguage*/ return new Property("countryLanguage", "", "Country and jurisdiction where the name applies, and associated language.", 0, java.lang.Integer.MAX_VALUE, countryLanguage); + case 3433459: /*part*/ return new Property("part", "", "Coding words or phrases of the name.", 0, java.lang.Integer.MAX_VALUE, part); + case 111574433: /*usage*/ return new Property("usage", "", "Country and jurisdiction where the name applies, and associated language.", 0, java.lang.Integer.MAX_VALUE, usage); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -511,8 +511,8 @@ public class MedicinalProductDefinition extends DomainResource { switch (hash) { case -1491817446: /*productName*/ return this.productName == null ? new Base[0] : new Base[] {this.productName}; // StringType case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept - case 1840452894: /*namePart*/ return this.namePart == null ? new Base[0] : this.namePart.toArray(new Base[this.namePart.size()]); // MedicinalProductDefinitionNameNamePartComponent - case -141141746: /*countryLanguage*/ return this.countryLanguage == null ? new Base[0] : this.countryLanguage.toArray(new Base[this.countryLanguage.size()]); // MedicinalProductDefinitionNameCountryLanguageComponent + case 3433459: /*part*/ return this.part == null ? new Base[0] : this.part.toArray(new Base[this.part.size()]); // MedicinalProductDefinitionNamePartComponent + case 111574433: /*usage*/ return this.usage == null ? new Base[0] : this.usage.toArray(new Base[this.usage.size()]); // MedicinalProductDefinitionNameUsageComponent default: return super.getProperty(hash, name, checkValid); } @@ -527,11 +527,11 @@ public class MedicinalProductDefinition extends DomainResource { case 3575610: // type this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case 1840452894: // namePart - this.getNamePart().add((MedicinalProductDefinitionNameNamePartComponent) value); // MedicinalProductDefinitionNameNamePartComponent + case 3433459: // part + this.getPart().add((MedicinalProductDefinitionNamePartComponent) value); // MedicinalProductDefinitionNamePartComponent return value; - case -141141746: // countryLanguage - this.getCountryLanguage().add((MedicinalProductDefinitionNameCountryLanguageComponent) value); // MedicinalProductDefinitionNameCountryLanguageComponent + case 111574433: // usage + this.getUsage().add((MedicinalProductDefinitionNameUsageComponent) value); // MedicinalProductDefinitionNameUsageComponent return value; default: return super.setProperty(hash, name, value); } @@ -544,10 +544,10 @@ public class MedicinalProductDefinition extends DomainResource { this.productName = TypeConvertor.castToString(value); // StringType } else if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("namePart")) { - this.getNamePart().add((MedicinalProductDefinitionNameNamePartComponent) value); - } else if (name.equals("countryLanguage")) { - this.getCountryLanguage().add((MedicinalProductDefinitionNameCountryLanguageComponent) value); + } else if (name.equals("part")) { + this.getPart().add((MedicinalProductDefinitionNamePartComponent) value); + } else if (name.equals("usage")) { + this.getUsage().add((MedicinalProductDefinitionNameUsageComponent) value); } else return super.setProperty(name, value); return value; @@ -558,8 +558,8 @@ public class MedicinalProductDefinition extends DomainResource { switch (hash) { case -1491817446: return getProductNameElement(); case 3575610: return getType(); - case 1840452894: return addNamePart(); - case -141141746: return addCountryLanguage(); + case 3433459: return addPart(); + case 111574433: return addUsage(); default: return super.makeProperty(hash, name); } @@ -570,8 +570,8 @@ public class MedicinalProductDefinition extends DomainResource { switch (hash) { case -1491817446: /*productName*/ return new String[] {"string"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 1840452894: /*namePart*/ return new String[] {}; - case -141141746: /*countryLanguage*/ return new String[] {}; + case 3433459: /*part*/ return new String[] {}; + case 111574433: /*usage*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -586,11 +586,11 @@ public class MedicinalProductDefinition extends DomainResource { this.type = new CodeableConcept(); return this.type; } - else if (name.equals("namePart")) { - return addNamePart(); + else if (name.equals("part")) { + return addPart(); } - else if (name.equals("countryLanguage")) { - return addCountryLanguage(); + else if (name.equals("usage")) { + return addUsage(); } else return super.addChild(name); @@ -606,15 +606,15 @@ public class MedicinalProductDefinition extends DomainResource { super.copyValues(dst); dst.productName = productName == null ? null : productName.copy(); dst.type = type == null ? null : type.copy(); - if (namePart != null) { - dst.namePart = new ArrayList(); - for (MedicinalProductDefinitionNameNamePartComponent i : namePart) - dst.namePart.add(i.copy()); + if (part != null) { + dst.part = new ArrayList(); + for (MedicinalProductDefinitionNamePartComponent i : part) + dst.part.add(i.copy()); }; - if (countryLanguage != null) { - dst.countryLanguage = new ArrayList(); - for (MedicinalProductDefinitionNameCountryLanguageComponent i : countryLanguage) - dst.countryLanguage.add(i.copy()); + if (usage != null) { + dst.usage = new ArrayList(); + for (MedicinalProductDefinitionNameUsageComponent i : usage) + dst.usage.add(i.copy()); }; } @@ -625,8 +625,8 @@ public class MedicinalProductDefinition extends DomainResource { if (!(other_ instanceof MedicinalProductDefinitionNameComponent)) return false; MedicinalProductDefinitionNameComponent o = (MedicinalProductDefinitionNameComponent) other_; - return compareDeep(productName, o.productName, true) && compareDeep(type, o.type, true) && compareDeep(namePart, o.namePart, true) - && compareDeep(countryLanguage, o.countryLanguage, true); + return compareDeep(productName, o.productName, true) && compareDeep(type, o.type, true) && compareDeep(part, o.part, true) + && compareDeep(usage, o.usage, true); } @Override @@ -640,8 +640,8 @@ public class MedicinalProductDefinition extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(productName, type, namePart - , countryLanguage); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(productName, type, part + , usage); } public String fhirType() { @@ -652,7 +652,7 @@ public class MedicinalProductDefinition extends DomainResource { } @Block() - public static class MedicinalProductDefinitionNameNamePartComponent extends BackboneElement implements IBaseBackboneElement { + public static class MedicinalProductDefinitionNamePartComponent extends BackboneElement implements IBaseBackboneElement { /** * A fragment of a product name. */ @@ -673,14 +673,14 @@ public class MedicinalProductDefinition extends DomainResource { /** * Constructor */ - public MedicinalProductDefinitionNameNamePartComponent() { + public MedicinalProductDefinitionNamePartComponent() { super(); } /** * Constructor */ - public MedicinalProductDefinitionNameNamePartComponent(String part, CodeableConcept type) { + public MedicinalProductDefinitionNamePartComponent(String part, CodeableConcept type) { super(); this.setPart(part); this.setType(type); @@ -692,7 +692,7 @@ public class MedicinalProductDefinition extends DomainResource { public StringType getPartElement() { if (this.part == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MedicinalProductDefinitionNameNamePartComponent.part"); + throw new Error("Attempt to auto-create MedicinalProductDefinitionNamePartComponent.part"); else if (Configuration.doAutoCreate()) this.part = new StringType(); // bb return this.part; @@ -709,7 +709,7 @@ public class MedicinalProductDefinition extends DomainResource { /** * @param value {@link #part} (A fragment of a product name.). This is the underlying object with id, value and extensions. The accessor "getPart" gives direct access to the value */ - public MedicinalProductDefinitionNameNamePartComponent setPartElement(StringType value) { + public MedicinalProductDefinitionNamePartComponent setPartElement(StringType value) { this.part = value; return this; } @@ -724,7 +724,7 @@ public class MedicinalProductDefinition extends DomainResource { /** * @param value A fragment of a product name. */ - public MedicinalProductDefinitionNameNamePartComponent setPart(String value) { + public MedicinalProductDefinitionNamePartComponent setPart(String value) { if (this.part == null) this.part = new StringType(); this.part.setValue(value); @@ -737,7 +737,7 @@ public class MedicinalProductDefinition extends DomainResource { public CodeableConcept getType() { if (this.type == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MedicinalProductDefinitionNameNamePartComponent.type"); + throw new Error("Attempt to auto-create MedicinalProductDefinitionNamePartComponent.type"); else if (Configuration.doAutoCreate()) this.type = new CodeableConcept(); // cc return this.type; @@ -750,7 +750,7 @@ public class MedicinalProductDefinition extends DomainResource { /** * @param value {@link #type} (Identifying type for this part of the name (e.g. strength part).) */ - public MedicinalProductDefinitionNameNamePartComponent setType(CodeableConcept value) { + public MedicinalProductDefinitionNamePartComponent setType(CodeableConcept value) { this.type = value; return this; } @@ -829,7 +829,7 @@ public class MedicinalProductDefinition extends DomainResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("part")) { - throw new FHIRException("Cannot call addChild on a primitive type MedicinalProductDefinition.name.namePart.part"); + throw new FHIRException("Cannot call addChild on a primitive type MedicinalProductDefinition.name.part.part"); } else if (name.equals("type")) { this.type = new CodeableConcept(); @@ -839,13 +839,13 @@ public class MedicinalProductDefinition extends DomainResource { return super.addChild(name); } - public MedicinalProductDefinitionNameNamePartComponent copy() { - MedicinalProductDefinitionNameNamePartComponent dst = new MedicinalProductDefinitionNameNamePartComponent(); + public MedicinalProductDefinitionNamePartComponent copy() { + MedicinalProductDefinitionNamePartComponent dst = new MedicinalProductDefinitionNamePartComponent(); copyValues(dst); return dst; } - public void copyValues(MedicinalProductDefinitionNameNamePartComponent dst) { + public void copyValues(MedicinalProductDefinitionNamePartComponent dst) { super.copyValues(dst); dst.part = part == null ? null : part.copy(); dst.type = type == null ? null : type.copy(); @@ -855,9 +855,9 @@ public class MedicinalProductDefinition extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof MedicinalProductDefinitionNameNamePartComponent)) + if (!(other_ instanceof MedicinalProductDefinitionNamePartComponent)) return false; - MedicinalProductDefinitionNameNamePartComponent o = (MedicinalProductDefinitionNameNamePartComponent) other_; + MedicinalProductDefinitionNamePartComponent o = (MedicinalProductDefinitionNamePartComponent) other_; return compareDeep(part, o.part, true) && compareDeep(type, o.type, true); } @@ -865,9 +865,9 @@ public class MedicinalProductDefinition extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof MedicinalProductDefinitionNameNamePartComponent)) + if (!(other_ instanceof MedicinalProductDefinitionNamePartComponent)) return false; - MedicinalProductDefinitionNameNamePartComponent o = (MedicinalProductDefinitionNameNamePartComponent) other_; + MedicinalProductDefinitionNamePartComponent o = (MedicinalProductDefinitionNamePartComponent) other_; return compareValues(part, o.part, true); } @@ -876,14 +876,14 @@ public class MedicinalProductDefinition extends DomainResource { } public String fhirType() { - return "MedicinalProductDefinition.name.namePart"; + return "MedicinalProductDefinition.name.part"; } } @Block() - public static class MedicinalProductDefinitionNameCountryLanguageComponent extends BackboneElement implements IBaseBackboneElement { + public static class MedicinalProductDefinitionNameUsageComponent extends BackboneElement implements IBaseBackboneElement { /** * Country code for where this name applies. */ @@ -913,14 +913,14 @@ public class MedicinalProductDefinition extends DomainResource { /** * Constructor */ - public MedicinalProductDefinitionNameCountryLanguageComponent() { + public MedicinalProductDefinitionNameUsageComponent() { super(); } /** * Constructor */ - public MedicinalProductDefinitionNameCountryLanguageComponent(CodeableConcept country, CodeableConcept language) { + public MedicinalProductDefinitionNameUsageComponent(CodeableConcept country, CodeableConcept language) { super(); this.setCountry(country); this.setLanguage(language); @@ -932,7 +932,7 @@ public class MedicinalProductDefinition extends DomainResource { public CodeableConcept getCountry() { if (this.country == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MedicinalProductDefinitionNameCountryLanguageComponent.country"); + throw new Error("Attempt to auto-create MedicinalProductDefinitionNameUsageComponent.country"); else if (Configuration.doAutoCreate()) this.country = new CodeableConcept(); // cc return this.country; @@ -945,7 +945,7 @@ public class MedicinalProductDefinition extends DomainResource { /** * @param value {@link #country} (Country code for where this name applies.) */ - public MedicinalProductDefinitionNameCountryLanguageComponent setCountry(CodeableConcept value) { + public MedicinalProductDefinitionNameUsageComponent setCountry(CodeableConcept value) { this.country = value; return this; } @@ -956,7 +956,7 @@ public class MedicinalProductDefinition extends DomainResource { public CodeableConcept getJurisdiction() { if (this.jurisdiction == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MedicinalProductDefinitionNameCountryLanguageComponent.jurisdiction"); + throw new Error("Attempt to auto-create MedicinalProductDefinitionNameUsageComponent.jurisdiction"); else if (Configuration.doAutoCreate()) this.jurisdiction = new CodeableConcept(); // cc return this.jurisdiction; @@ -969,7 +969,7 @@ public class MedicinalProductDefinition extends DomainResource { /** * @param value {@link #jurisdiction} (Jurisdiction code for where this name applies. A jurisdiction may be a sub- or supra-national entity (e.g. a state or a geographic region).) */ - public MedicinalProductDefinitionNameCountryLanguageComponent setJurisdiction(CodeableConcept value) { + public MedicinalProductDefinitionNameUsageComponent setJurisdiction(CodeableConcept value) { this.jurisdiction = value; return this; } @@ -980,7 +980,7 @@ public class MedicinalProductDefinition extends DomainResource { public CodeableConcept getLanguage() { if (this.language == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MedicinalProductDefinitionNameCountryLanguageComponent.language"); + throw new Error("Attempt to auto-create MedicinalProductDefinitionNameUsageComponent.language"); else if (Configuration.doAutoCreate()) this.language = new CodeableConcept(); // cc return this.language; @@ -993,7 +993,7 @@ public class MedicinalProductDefinition extends DomainResource { /** * @param value {@link #language} (Language code for this name.) */ - public MedicinalProductDefinitionNameCountryLanguageComponent setLanguage(CodeableConcept value) { + public MedicinalProductDefinitionNameUsageComponent setLanguage(CodeableConcept value) { this.language = value; return this; } @@ -1097,13 +1097,13 @@ public class MedicinalProductDefinition extends DomainResource { return super.addChild(name); } - public MedicinalProductDefinitionNameCountryLanguageComponent copy() { - MedicinalProductDefinitionNameCountryLanguageComponent dst = new MedicinalProductDefinitionNameCountryLanguageComponent(); + public MedicinalProductDefinitionNameUsageComponent copy() { + MedicinalProductDefinitionNameUsageComponent dst = new MedicinalProductDefinitionNameUsageComponent(); copyValues(dst); return dst; } - public void copyValues(MedicinalProductDefinitionNameCountryLanguageComponent dst) { + public void copyValues(MedicinalProductDefinitionNameUsageComponent dst) { super.copyValues(dst); dst.country = country == null ? null : country.copy(); dst.jurisdiction = jurisdiction == null ? null : jurisdiction.copy(); @@ -1114,9 +1114,9 @@ public class MedicinalProductDefinition extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof MedicinalProductDefinitionNameCountryLanguageComponent)) + if (!(other_ instanceof MedicinalProductDefinitionNameUsageComponent)) return false; - MedicinalProductDefinitionNameCountryLanguageComponent o = (MedicinalProductDefinitionNameCountryLanguageComponent) other_; + MedicinalProductDefinitionNameUsageComponent o = (MedicinalProductDefinitionNameUsageComponent) other_; return compareDeep(country, o.country, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(language, o.language, true); } @@ -1125,9 +1125,9 @@ public class MedicinalProductDefinition extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof MedicinalProductDefinitionNameCountryLanguageComponent)) + if (!(other_ instanceof MedicinalProductDefinitionNameUsageComponent)) return false; - MedicinalProductDefinitionNameCountryLanguageComponent o = (MedicinalProductDefinitionNameCountryLanguageComponent) other_; + MedicinalProductDefinitionNameUsageComponent o = (MedicinalProductDefinitionNameUsageComponent) other_; return true; } @@ -1137,7 +1137,7 @@ public class MedicinalProductDefinition extends DomainResource { } public String fhirType() { - return "MedicinalProductDefinition.name.countryLanguage"; + return "MedicinalProductDefinition.name.usage"; } @@ -2138,7 +2138,7 @@ public class MedicinalProductDefinition extends DomainResource { */ @Child(name = "classification", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Allows the product to be classified by various systems", formalDefinition="Allows the product to be classified by various systems, commonly WHO ATC." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/product-classification-codes") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medicinal-product-classification") protected List classification; /** @@ -2157,10 +2157,10 @@ public class MedicinalProductDefinition extends DomainResource { protected List packagedMedicinalProduct; /** - * A medicinal manufactured item that this product consists of, such as a tablet or capsule. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item). + * Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item). */ - @Child(name = "comprisedOf", type = {ManufacturedItemDefinition.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="A medicinal manufactured item that this product consists of, such as a tablet or capsule", formalDefinition="A medicinal manufactured item that this product consists of, such as a tablet or capsule. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item)." ) + @Child(name = "comprisedOf", type = {ManufacturedItemDefinition.class, DeviceDefinition.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes", formalDefinition="Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item)." ) protected List comprisedOf; /** @@ -2943,7 +2943,7 @@ public class MedicinalProductDefinition extends DomainResource { } /** - * @return {@link #comprisedOf} (A medicinal manufactured item that this product consists of, such as a tablet or capsule. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).) + * @return {@link #comprisedOf} (Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).) */ public List getComprisedOf() { if (this.comprisedOf == null) @@ -3597,7 +3597,7 @@ public class MedicinalProductDefinition extends DomainResource { children.add(new Property("classification", "CodeableConcept", "Allows the product to be classified by various systems, commonly WHO ATC.", 0, java.lang.Integer.MAX_VALUE, classification)); children.add(new Property("marketingStatus", "MarketingStatus", "Marketing status of the medicinal product, in contrast to marketing authorization. This refers to the product being actually 'on the market' as opposed to being allowed to be on the market (which is an authorization).", 0, java.lang.Integer.MAX_VALUE, marketingStatus)); children.add(new Property("packagedMedicinalProduct", "CodeableConcept", "Package type for the product. See also the PackagedProductDefinition resource.", 0, java.lang.Integer.MAX_VALUE, packagedMedicinalProduct)); - children.add(new Property("comprisedOf", "Reference(ManufacturedItemDefinition)", "A medicinal manufactured item that this product consists of, such as a tablet or capsule. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).", 0, java.lang.Integer.MAX_VALUE, comprisedOf)); + children.add(new Property("comprisedOf", "Reference(ManufacturedItemDefinition|DeviceDefinition)", "Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).", 0, java.lang.Integer.MAX_VALUE, comprisedOf)); children.add(new Property("ingredient", "CodeableConcept", "The ingredients of this medicinal product - when not detailed in other resources. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource, or indirectly via incoming AdministrableProductDefinition, PackagedProductDefinition or ManufacturedItemDefinition references. In cases where those levels of detail are not used, the ingredients may be specified directly here as codes.", 0, java.lang.Integer.MAX_VALUE, ingredient)); children.add(new Property("impurity", "CodeableReference(SubstanceDefinition)", "Any component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product. This includes process-related impurities and contaminants, product-related impurities including degradation products.", 0, java.lang.Integer.MAX_VALUE, impurity)); children.add(new Property("attachedDocument", "Reference(DocumentReference)", "Additional information or supporting documentation about the medicinal product.", 0, java.lang.Integer.MAX_VALUE, attachedDocument)); @@ -3631,7 +3631,7 @@ public class MedicinalProductDefinition extends DomainResource { case 382350310: /*classification*/ return new Property("classification", "CodeableConcept", "Allows the product to be classified by various systems, commonly WHO ATC.", 0, java.lang.Integer.MAX_VALUE, classification); case 70767032: /*marketingStatus*/ return new Property("marketingStatus", "MarketingStatus", "Marketing status of the medicinal product, in contrast to marketing authorization. This refers to the product being actually 'on the market' as opposed to being allowed to be on the market (which is an authorization).", 0, java.lang.Integer.MAX_VALUE, marketingStatus); case -361025513: /*packagedMedicinalProduct*/ return new Property("packagedMedicinalProduct", "CodeableConcept", "Package type for the product. See also the PackagedProductDefinition resource.", 0, java.lang.Integer.MAX_VALUE, packagedMedicinalProduct); - case 1546078211: /*comprisedOf*/ return new Property("comprisedOf", "Reference(ManufacturedItemDefinition)", "A medicinal manufactured item that this product consists of, such as a tablet or capsule. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).", 0, java.lang.Integer.MAX_VALUE, comprisedOf); + case 1546078211: /*comprisedOf*/ return new Property("comprisedOf", "Reference(ManufacturedItemDefinition|DeviceDefinition)", "Types of medicinal manufactured items and/or devices that this product consists of, such as tablets, capsule, or syringes. Used as a direct link when the item's packaging is not being recorded (see also PackagedProductDefinition.package.containedItem.item).", 0, java.lang.Integer.MAX_VALUE, comprisedOf); case -206409263: /*ingredient*/ return new Property("ingredient", "CodeableConcept", "The ingredients of this medicinal product - when not detailed in other resources. This is only needed if the ingredients are not specified by incoming references from the Ingredient resource, or indirectly via incoming AdministrableProductDefinition, PackagedProductDefinition or ManufacturedItemDefinition references. In cases where those levels of detail are not used, the ingredients may be specified directly here as codes.", 0, java.lang.Integer.MAX_VALUE, ingredient); case -416837467: /*impurity*/ return new Property("impurity", "CodeableReference(SubstanceDefinition)", "Any component of the drug product which is not the chemical entity defined as the drug substance, or an excipient in the drug product. This includes process-related impurities and contaminants, product-related impurities including degradation products.", 0, java.lang.Integer.MAX_VALUE, impurity); case -513945889: /*attachedDocument*/ return new Property("attachedDocument", "Reference(DocumentReference)", "Additional information or supporting documentation about the medicinal product.", 0, java.lang.Integer.MAX_VALUE, attachedDocument); @@ -4343,17 +4343,17 @@ public class MedicinalProductDefinition extends DomainResource { *

* Description: Language code for this name
* Type: token
- * Path: MedicinalProductDefinition.name.countryLanguage.language
+ * Path: MedicinalProductDefinition.name.usage.language
*

*/ - @SearchParamDefinition(name="name-language", path="MedicinalProductDefinition.name.countryLanguage.language", description="Language code for this name", type="token" ) + @SearchParamDefinition(name="name-language", path="MedicinalProductDefinition.name.usage.language", description="Language code for this name", type="token" ) public static final String SP_NAME_LANGUAGE = "name-language"; /** * Fluent Client search parameter constant for name-language *

* Description: Language code for this name
* Type: token
- * Path: MedicinalProductDefinition.name.countryLanguage.language
+ * Path: MedicinalProductDefinition.name.usage.language
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam NAME_LANGUAGE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_NAME_LANGUAGE); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageDefinition.java index bad193c57..2eba6c59f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1005,10 +1005,10 @@ public class MessageDefinition extends CanonicalResource { protected DateTimeType date; /** - * The name of the organization or individual that published the message definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the message definition. */ @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the message definition." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the message definition." ) protected StringType publisher; /** @@ -1578,7 +1578,7 @@ public class MessageDefinition extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the message definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the message definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -1598,7 +1598,7 @@ public class MessageDefinition extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the message definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the message definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public MessageDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -1606,14 +1606,14 @@ public class MessageDefinition extends CanonicalResource { } /** - * @return The name of the organization or individual that published the message definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the message definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the message definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the message definition. */ public MessageDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -2346,6 +2346,83 @@ public class MessageDefinition extends CanonicalResource { return this; } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public MessageDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public MessageDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public MessageDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"MessageDefinition\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("url", "uri", "The business identifier that is used to reference the MessageDefinition and *is* expected to be consistent from server to server.", 0, 1, url)); @@ -2357,7 +2434,7 @@ public class MessageDefinition extends CanonicalResource { children.add(new Property("status", "code", "The status of this message definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the message definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the message definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the message definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the message definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -2386,7 +2463,7 @@ public class MessageDefinition extends CanonicalResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this message definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this message definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the message definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the message definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the message definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the message definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the message definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate message definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -3309,16 +3386,17 @@ public class MessageDefinition extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -3328,13 +3406,14 @@ public class MessageDefinition extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -3597,7 +3676,7 @@ public class MessageDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -3613,7 +3692,7 @@ public class MessageDefinition extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -3623,7 +3702,7 @@ public class MessageDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageHeader.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageHeader.java index f98811d77..b176e5142 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageHeader.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MessageHeader.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1228,10 +1228,10 @@ public class MessageHeader extends DomainResource { } /** - * Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition. + * Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively a canonical uri to the EventDefinition. */ - @Child(name = "event", type = {Coding.class, UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Code for the event this message represents or link to event definition", formalDefinition="Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively uri to the EventDefinition." ) + @Child(name = "event", type = {Coding.class, CanonicalType.class}, order=0, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Event code or link to EventDefinition", formalDefinition="Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively a canonical uri to the EventDefinition." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/message-events") protected DataType event; @@ -1293,10 +1293,10 @@ public class MessageHeader extends DomainResource { protected MessageHeaderResponseComponent response; /** - * The actual data of the message - a reference to the root/focus class of the event. + * The actual data of the message - a reference to the root/focus class of the event. This is allowed to be a Parameters resource. */ @Child(name = "focus", type = {Reference.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="The actual content of the message", formalDefinition="The actual data of the message - a reference to the root/focus class of the event." ) + @Description(shortDefinition="The actual content of the message", formalDefinition="The actual data of the message - a reference to the root/focus class of the event. This is allowed to be a Parameters resource." ) protected List focus; /** @@ -1325,14 +1325,14 @@ public class MessageHeader extends DomainResource { } /** - * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition.) + * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively a canonical uri to the EventDefinition.) */ public DataType getEvent() { return this.event; } /** - * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition.) + * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively a canonical uri to the EventDefinition.) */ public Coding getEventCoding() throws FHIRException { if (this.event == null) @@ -1347,18 +1347,18 @@ public class MessageHeader extends DomainResource { } /** - * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition.) + * @return {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively a canonical uri to the EventDefinition.) */ - public UriType getEventUriType() throws FHIRException { + public CanonicalType getEventCanonicalType() throws FHIRException { if (this.event == null) - this.event = new UriType(); - if (!(this.event instanceof UriType)) - throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.event.getClass().getName()+" was encountered"); - return (UriType) this.event; + this.event = new CanonicalType(); + if (!(this.event instanceof CanonicalType)) + throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.event.getClass().getName()+" was encountered"); + return (CanonicalType) this.event; } - public boolean hasEventUriType() { - return this != null && this.event instanceof UriType; + public boolean hasEventCanonicalType() { + return this != null && this.event instanceof CanonicalType; } public boolean hasEvent() { @@ -1366,10 +1366,10 @@ public class MessageHeader extends DomainResource { } /** - * @param value {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively uri to the EventDefinition.) + * @param value {@link #event} (Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value "http://terminology.hl7.org/CodeSystem/message-events". Alternatively a canonical uri to the EventDefinition.) */ public MessageHeader setEvent(DataType value) { - if (value != null && !(value instanceof Coding || value instanceof UriType)) + if (value != null && !(value instanceof Coding || value instanceof CanonicalType)) throw new Error("Not the right type for MessageHeader.event[x]: "+value.fhirType()); this.event = value; return this; @@ -1597,7 +1597,7 @@ public class MessageHeader extends DomainResource { } /** - * @return {@link #focus} (The actual data of the message - a reference to the root/focus class of the event.) + * @return {@link #focus} (The actual data of the message - a reference to the root/focus class of the event. This is allowed to be a Parameters resource.) */ public List getFocus() { if (this.focus == null) @@ -1700,7 +1700,7 @@ public class MessageHeader extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("event[x]", "Coding|uri", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively uri to the EventDefinition.", 0, 1, event)); + children.add(new Property("event[x]", "Coding|canonical(EventDefinition)", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively a canonical uri to the EventDefinition.", 0, 1, event)); children.add(new Property("destination", "", "The destination application which the message is intended for.", 0, java.lang.Integer.MAX_VALUE, destination)); children.add(new Property("sender", "Reference(Practitioner|PractitionerRole|Organization)", "Identifies the sending system to allow the use of a trust relationship.", 0, 1, sender)); children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole)", "The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.", 0, 1, enterer)); @@ -1709,17 +1709,17 @@ public class MessageHeader extends DomainResource { children.add(new Property("responsible", "Reference(Practitioner|PractitionerRole|Organization)", "The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.", 0, 1, responsible)); children.add(new Property("reason", "CodeableConcept", "Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.", 0, 1, reason)); children.add(new Property("response", "", "Information about the message that this message is a response to. Only present if this message is a response.", 0, 1, response)); - children.add(new Property("focus", "Reference(Any)", "The actual data of the message - a reference to the root/focus class of the event.", 0, java.lang.Integer.MAX_VALUE, focus)); + children.add(new Property("focus", "Reference(Any)", "The actual data of the message - a reference to the root/focus class of the event. This is allowed to be a Parameters resource.", 0, java.lang.Integer.MAX_VALUE, focus)); children.add(new Property("definition", "canonical(MessageDefinition)", "Permanent link to the MessageDefinition for this message.", 0, 1, definition)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 278115238: /*event[x]*/ return new Property("event[x]", "Coding|uri", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively uri to the EventDefinition.", 0, 1, event); - case 96891546: /*event*/ return new Property("event[x]", "Coding|uri", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively uri to the EventDefinition.", 0, 1, event); - case -355957084: /*eventCoding*/ return new Property("event[x]", "Coding", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively uri to the EventDefinition.", 0, 1, event); - case 278109298: /*eventUri*/ return new Property("event[x]", "uri", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively uri to the EventDefinition.", 0, 1, event); + case 278115238: /*event[x]*/ return new Property("event[x]", "Coding|canonical(EventDefinition)", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively a canonical uri to the EventDefinition.", 0, 1, event); + case 96891546: /*event*/ return new Property("event[x]", "Coding|canonical(EventDefinition)", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively a canonical uri to the EventDefinition.", 0, 1, event); + case -355957084: /*eventCoding*/ return new Property("event[x]", "Coding", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively a canonical uri to the EventDefinition.", 0, 1, event); + case 1784258426: /*eventCanonical*/ return new Property("event[x]", "canonical(EventDefinition)", "Code that identifies the event this message represents and connects it with its definition. Events defined as part of the FHIR specification have the system value \"http://terminology.hl7.org/CodeSystem/message-events\". Alternatively a canonical uri to the EventDefinition.", 0, 1, event); case -1429847026: /*destination*/ return new Property("destination", "", "The destination application which the message is intended for.", 0, java.lang.Integer.MAX_VALUE, destination); case -905962955: /*sender*/ return new Property("sender", "Reference(Practitioner|PractitionerRole|Organization)", "Identifies the sending system to allow the use of a trust relationship.", 0, 1, sender); case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole)", "The person or device that performed the data entry leading to this message. When there is more than one candidate, pick the most proximal to the message. Can provide other enterers in extensions.", 0, 1, enterer); @@ -1728,7 +1728,7 @@ public class MessageHeader extends DomainResource { case 1847674614: /*responsible*/ return new Property("responsible", "Reference(Practitioner|PractitionerRole|Organization)", "The person or organization that accepts overall responsibility for the contents of the message. The implication is that the message event happened under the policies of the responsible party.", 0, 1, responsible); case -934964668: /*reason*/ return new Property("reason", "CodeableConcept", "Coded indication of the cause for the event - indicates a reason for the occurrence of the event that is a focus of this message.", 0, 1, reason); case -340323263: /*response*/ return new Property("response", "", "Information about the message that this message is a response to. Only present if this message is a response.", 0, 1, response); - case 97604824: /*focus*/ return new Property("focus", "Reference(Any)", "The actual data of the message - a reference to the root/focus class of the event.", 0, java.lang.Integer.MAX_VALUE, focus); + case 97604824: /*focus*/ return new Property("focus", "Reference(Any)", "The actual data of the message - a reference to the root/focus class of the event. This is allowed to be a Parameters resource.", 0, java.lang.Integer.MAX_VALUE, focus); case -1014418093: /*definition*/ return new Property("definition", "canonical(MessageDefinition)", "Permanent link to the MessageDefinition for this message.", 0, 1, definition); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1847,7 +1847,7 @@ public class MessageHeader extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 96891546: /*event*/ return new String[] {"Coding", "uri"}; + case 96891546: /*event*/ return new String[] {"Coding", "canonical"}; case -1429847026: /*destination*/ return new String[] {}; case -905962955: /*sender*/ return new String[] {"Reference"}; case -1591951995: /*enterer*/ return new String[] {"Reference"}; @@ -1869,8 +1869,8 @@ public class MessageHeader extends DomainResource { this.event = new Coding(); return this.event; } - else if (name.equals("eventUri")) { - this.event = new UriType(); + else if (name.equals("eventCanonical")) { + this.event = new CanonicalType(); return this.event; } else if (name.equals("destination")) { @@ -2126,7 +2126,7 @@ public class MessageHeader extends DomainResource { * Path: MessageHeader.focus
*

*/ - @SearchParamDefinition(name="focus", path="MessageHeader.focus", description="The actual content of the message", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="focus", path="MessageHeader.focus", description="The actual content of the message", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_FOCUS = "focus"; /** * Fluent Client search parameter constant for focus diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Meta.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Meta.java index 47a2fc997..6c8d8453a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Meta.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Meta.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.IBaseMetaType; /** - * Base StructureDefinition for Meta Type: The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. + * Meta Type: The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. */ @DatatypeDef(name="Meta") public class Meta extends DataType implements IBaseMetaType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MetadataResource.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MetadataResource.java index fcc7b30f3..2f9dfed87 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MetadataResource.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MetadataResource.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Common Ancestor declaration for conformance and knowledge artifact resources. + * Common Interface declaration for conformance and knowledge artifact resources. */ public abstract class MetadataResource extends CanonicalResource { @@ -135,7 +135,7 @@ public abstract class MetadataResource extends CanonicalResource { return Integer.MAX_VALUE; } /** - * @return {@link #topic} (Descriptive topics related to the content of the metadata resource. Topics provide a high-level categorization of the metadata resource that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the metadata resource. Topics provide a high-level categorization as well as keywords for the metadata resource that can be useful for filtering and searching.) */ public abstract List getTopic(); /** diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MolecularSequence.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MolecularSequence.java index 8f906190b..6b6e3ad5d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MolecularSequence.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MolecularSequence.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -263,11 +263,11 @@ public class MolecularSequence extends DomainResource { public enum StrandType { /** - * Watson strand of reference sequence. + * Watson strand of starting sequence. */ WATSON, /** - * Crick strand of reference sequence. + * Crick strand of starting sequence. */ CRICK, /** @@ -304,16 +304,16 @@ public class MolecularSequence extends DomainResource { } public String getDefinition() { switch (this) { - case WATSON: return "Watson strand of reference sequence."; - case CRICK: return "Crick strand of reference sequence."; + case WATSON: return "Watson strand of starting sequence."; + case CRICK: return "Crick strand of starting sequence."; case NULL: return null; default: return "?"; } } public String getDisplay() { switch (this) { - case WATSON: return "Watson strand of referenceSeq"; - case CRICK: return "Crick strand of referenceSeq"; + case WATSON: return "Watson strand of starting sequence"; + case CRICK: return "Crick strand of starting sequence"; case NULL: return null; default: return "?"; } @@ -368,20 +368,34 @@ public class MolecularSequence extends DomainResource { protected CodeableConcept coordinateSystem; /** - * A sequence that is used as a reference to describe variants that are present in a sequence analyzed. + * Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together. */ - @Child(name = "reference", type = {}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="A sequence used as reference", formalDefinition="A sequence that is used as a reference to describe variants that are present in a sequence analyzed." ) - protected MolecularSequenceRelativeReferenceComponent reference; + @Child(name = "ordinalPosition", type = {IntegerType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together", formalDefinition="Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together." ) + protected IntegerType ordinalPosition; /** - * Changes in sequence from the reference. + * Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together. */ - @Child(name = "edit", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Changes in sequence from the reference", formalDefinition="Changes in sequence from the reference." ) + @Child(name = "sequenceRange", type = {Range.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together", formalDefinition="Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together." ) + protected Range sequenceRange; + + /** + * A sequence that is used as a starting sequence to describe variants that are present in a sequence analyzed. + */ + @Child(name = "startingSequence", type = {}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="A sequence used as starting sequence", formalDefinition="A sequence that is used as a starting sequence to describe variants that are present in a sequence analyzed." ) + protected MolecularSequenceRelativeStartingSequenceComponent startingSequence; + + /** + * Changes in sequence from the starting sequence. + */ + @Child(name = "edit", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Changes in sequence from the starting sequence", formalDefinition="Changes in sequence from the starting sequence." ) protected List edit; - private static final long serialVersionUID = 1575876090L; + private static final long serialVersionUID = -1455983973L; /** * Constructor @@ -423,31 +437,100 @@ public class MolecularSequence extends DomainResource { } /** - * @return {@link #reference} (A sequence that is used as a reference to describe variants that are present in a sequence analyzed.) + * @return {@link #ordinalPosition} (Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together.). This is the underlying object with id, value and extensions. The accessor "getOrdinalPosition" gives direct access to the value */ - public MolecularSequenceRelativeReferenceComponent getReference() { - if (this.reference == null) + public IntegerType getOrdinalPositionElement() { + if (this.ordinalPosition == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeComponent.reference"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeComponent.ordinalPosition"); else if (Configuration.doAutoCreate()) - this.reference = new MolecularSequenceRelativeReferenceComponent(); // cc - return this.reference; + this.ordinalPosition = new IntegerType(); // bb + return this.ordinalPosition; } - public boolean hasReference() { - return this.reference != null && !this.reference.isEmpty(); + public boolean hasOrdinalPositionElement() { + return this.ordinalPosition != null && !this.ordinalPosition.isEmpty(); + } + + public boolean hasOrdinalPosition() { + return this.ordinalPosition != null && !this.ordinalPosition.isEmpty(); } /** - * @param value {@link #reference} (A sequence that is used as a reference to describe variants that are present in a sequence analyzed.) + * @param value {@link #ordinalPosition} (Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together.). This is the underlying object with id, value and extensions. The accessor "getOrdinalPosition" gives direct access to the value */ - public MolecularSequenceRelativeComponent setReference(MolecularSequenceRelativeReferenceComponent value) { - this.reference = value; + public MolecularSequenceRelativeComponent setOrdinalPositionElement(IntegerType value) { + this.ordinalPosition = value; return this; } /** - * @return {@link #edit} (Changes in sequence from the reference.) + * @return Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together. + */ + public int getOrdinalPosition() { + return this.ordinalPosition == null || this.ordinalPosition.isEmpty() ? 0 : this.ordinalPosition.getValue(); + } + + /** + * @param value Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together. + */ + public MolecularSequenceRelativeComponent setOrdinalPosition(int value) { + if (this.ordinalPosition == null) + this.ordinalPosition = new IntegerType(); + this.ordinalPosition.setValue(value); + return this; + } + + /** + * @return {@link #sequenceRange} (Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together.) + */ + public Range getSequenceRange() { + if (this.sequenceRange == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MolecularSequenceRelativeComponent.sequenceRange"); + else if (Configuration.doAutoCreate()) + this.sequenceRange = new Range(); // cc + return this.sequenceRange; + } + + public boolean hasSequenceRange() { + return this.sequenceRange != null && !this.sequenceRange.isEmpty(); + } + + /** + * @param value {@link #sequenceRange} (Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together.) + */ + public MolecularSequenceRelativeComponent setSequenceRange(Range value) { + this.sequenceRange = value; + return this; + } + + /** + * @return {@link #startingSequence} (A sequence that is used as a starting sequence to describe variants that are present in a sequence analyzed.) + */ + public MolecularSequenceRelativeStartingSequenceComponent getStartingSequence() { + if (this.startingSequence == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MolecularSequenceRelativeComponent.startingSequence"); + else if (Configuration.doAutoCreate()) + this.startingSequence = new MolecularSequenceRelativeStartingSequenceComponent(); // cc + return this.startingSequence; + } + + public boolean hasStartingSequence() { + return this.startingSequence != null && !this.startingSequence.isEmpty(); + } + + /** + * @param value {@link #startingSequence} (A sequence that is used as a starting sequence to describe variants that are present in a sequence analyzed.) + */ + public MolecularSequenceRelativeComponent setStartingSequence(MolecularSequenceRelativeStartingSequenceComponent value) { + this.startingSequence = value; + return this; + } + + /** + * @return {@link #edit} (Changes in sequence from the starting sequence.) */ public List getEdit() { if (this.edit == null) @@ -502,16 +585,20 @@ public class MolecularSequence extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("coordinateSystem", "CodeableConcept", "These are different ways of identifying nucleotides or amino acids within a sequence. Different databases and file types may use different systems. For detail definitions, see https://loinc.org/92822-6/ for more detail.", 0, 1, coordinateSystem)); - children.add(new Property("reference", "", "A sequence that is used as a reference to describe variants that are present in a sequence analyzed.", 0, 1, reference)); - children.add(new Property("edit", "", "Changes in sequence from the reference.", 0, java.lang.Integer.MAX_VALUE, edit)); + children.add(new Property("ordinalPosition", "integer", "Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together.", 0, 1, ordinalPosition)); + children.add(new Property("sequenceRange", "Range", "Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together.", 0, 1, sequenceRange)); + children.add(new Property("startingSequence", "", "A sequence that is used as a starting sequence to describe variants that are present in a sequence analyzed.", 0, 1, startingSequence)); + children.add(new Property("edit", "", "Changes in sequence from the starting sequence.", 0, java.lang.Integer.MAX_VALUE, edit)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 354212295: /*coordinateSystem*/ return new Property("coordinateSystem", "CodeableConcept", "These are different ways of identifying nucleotides or amino acids within a sequence. Different databases and file types may use different systems. For detail definitions, see https://loinc.org/92822-6/ for more detail.", 0, 1, coordinateSystem); - case -925155509: /*reference*/ return new Property("reference", "", "A sequence that is used as a reference to describe variants that are present in a sequence analyzed.", 0, 1, reference); - case 3108362: /*edit*/ return new Property("edit", "", "Changes in sequence from the reference.", 0, java.lang.Integer.MAX_VALUE, edit); + case 626439866: /*ordinalPosition*/ return new Property("ordinalPosition", "integer", "Indicates the order in which the sequence should be considered when putting multiple 'relative' elements together.", 0, 1, ordinalPosition); + case -733314564: /*sequenceRange*/ return new Property("sequenceRange", "Range", "Indicates the nucleotide range in the composed sequence when multiple 'relative' elements are used together.", 0, 1, sequenceRange); + case 1493400609: /*startingSequence*/ return new Property("startingSequence", "", "A sequence that is used as a starting sequence to describe variants that are present in a sequence analyzed.", 0, 1, startingSequence); + case 3108362: /*edit*/ return new Property("edit", "", "Changes in sequence from the starting sequence.", 0, java.lang.Integer.MAX_VALUE, edit); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -521,7 +608,9 @@ public class MolecularSequence extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 354212295: /*coordinateSystem*/ return this.coordinateSystem == null ? new Base[0] : new Base[] {this.coordinateSystem}; // CodeableConcept - case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // MolecularSequenceRelativeReferenceComponent + case 626439866: /*ordinalPosition*/ return this.ordinalPosition == null ? new Base[0] : new Base[] {this.ordinalPosition}; // IntegerType + case -733314564: /*sequenceRange*/ return this.sequenceRange == null ? new Base[0] : new Base[] {this.sequenceRange}; // Range + case 1493400609: /*startingSequence*/ return this.startingSequence == null ? new Base[0] : new Base[] {this.startingSequence}; // MolecularSequenceRelativeStartingSequenceComponent case 3108362: /*edit*/ return this.edit == null ? new Base[0] : this.edit.toArray(new Base[this.edit.size()]); // MolecularSequenceRelativeEditComponent default: return super.getProperty(hash, name, checkValid); } @@ -534,8 +623,14 @@ public class MolecularSequence extends DomainResource { case 354212295: // coordinateSystem this.coordinateSystem = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case -925155509: // reference - this.reference = (MolecularSequenceRelativeReferenceComponent) value; // MolecularSequenceRelativeReferenceComponent + case 626439866: // ordinalPosition + this.ordinalPosition = TypeConvertor.castToInteger(value); // IntegerType + return value; + case -733314564: // sequenceRange + this.sequenceRange = TypeConvertor.castToRange(value); // Range + return value; + case 1493400609: // startingSequence + this.startingSequence = (MolecularSequenceRelativeStartingSequenceComponent) value; // MolecularSequenceRelativeStartingSequenceComponent return value; case 3108362: // edit this.getEdit().add((MolecularSequenceRelativeEditComponent) value); // MolecularSequenceRelativeEditComponent @@ -549,8 +644,12 @@ public class MolecularSequence extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("coordinateSystem")) { this.coordinateSystem = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("reference")) { - this.reference = (MolecularSequenceRelativeReferenceComponent) value; // MolecularSequenceRelativeReferenceComponent + } else if (name.equals("ordinalPosition")) { + this.ordinalPosition = TypeConvertor.castToInteger(value); // IntegerType + } else if (name.equals("sequenceRange")) { + this.sequenceRange = TypeConvertor.castToRange(value); // Range + } else if (name.equals("startingSequence")) { + this.startingSequence = (MolecularSequenceRelativeStartingSequenceComponent) value; // MolecularSequenceRelativeStartingSequenceComponent } else if (name.equals("edit")) { this.getEdit().add((MolecularSequenceRelativeEditComponent) value); } else @@ -562,7 +661,9 @@ public class MolecularSequence extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 354212295: return getCoordinateSystem(); - case -925155509: return getReference(); + case 626439866: return getOrdinalPositionElement(); + case -733314564: return getSequenceRange(); + case 1493400609: return getStartingSequence(); case 3108362: return addEdit(); default: return super.makeProperty(hash, name); } @@ -573,7 +674,9 @@ public class MolecularSequence extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 354212295: /*coordinateSystem*/ return new String[] {"CodeableConcept"}; - case -925155509: /*reference*/ return new String[] {}; + case 626439866: /*ordinalPosition*/ return new String[] {"integer"}; + case -733314564: /*sequenceRange*/ return new String[] {"Range"}; + case 1493400609: /*startingSequence*/ return new String[] {}; case 3108362: /*edit*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -586,9 +689,16 @@ public class MolecularSequence extends DomainResource { this.coordinateSystem = new CodeableConcept(); return this.coordinateSystem; } - else if (name.equals("reference")) { - this.reference = new MolecularSequenceRelativeReferenceComponent(); - return this.reference; + else if (name.equals("ordinalPosition")) { + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.ordinalPosition"); + } + else if (name.equals("sequenceRange")) { + this.sequenceRange = new Range(); + return this.sequenceRange; + } + else if (name.equals("startingSequence")) { + this.startingSequence = new MolecularSequenceRelativeStartingSequenceComponent(); + return this.startingSequence; } else if (name.equals("edit")) { return addEdit(); @@ -606,7 +716,9 @@ public class MolecularSequence extends DomainResource { public void copyValues(MolecularSequenceRelativeComponent dst) { super.copyValues(dst); dst.coordinateSystem = coordinateSystem == null ? null : coordinateSystem.copy(); - dst.reference = reference == null ? null : reference.copy(); + dst.ordinalPosition = ordinalPosition == null ? null : ordinalPosition.copy(); + dst.sequenceRange = sequenceRange == null ? null : sequenceRange.copy(); + dst.startingSequence = startingSequence == null ? null : startingSequence.copy(); if (edit != null) { dst.edit = new ArrayList(); for (MolecularSequenceRelativeEditComponent i : edit) @@ -621,7 +733,8 @@ public class MolecularSequence extends DomainResource { if (!(other_ instanceof MolecularSequenceRelativeComponent)) return false; MolecularSequenceRelativeComponent o = (MolecularSequenceRelativeComponent) other_; - return compareDeep(coordinateSystem, o.coordinateSystem, true) && compareDeep(reference, o.reference, true) + return compareDeep(coordinateSystem, o.coordinateSystem, true) && compareDeep(ordinalPosition, o.ordinalPosition, true) + && compareDeep(sequenceRange, o.sequenceRange, true) && compareDeep(startingSequence, o.startingSequence, true) && compareDeep(edit, o.edit, true); } @@ -632,12 +745,12 @@ public class MolecularSequence extends DomainResource { if (!(other_ instanceof MolecularSequenceRelativeComponent)) return false; MolecularSequenceRelativeComponent o = (MolecularSequenceRelativeComponent) other_; - return true; + return compareValues(ordinalPosition, o.ordinalPosition, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(coordinateSystem, reference - , edit); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(coordinateSystem, ordinalPosition + , sequenceRange, startingSequence, edit); } public String fhirType() { @@ -648,14 +761,14 @@ public class MolecularSequence extends DomainResource { } @Block() - public static class MolecularSequenceRelativeReferenceComponent extends BackboneElement implements IBaseBackboneElement { + public static class MolecularSequenceRelativeStartingSequenceComponent extends BackboneElement implements IBaseBackboneElement { /** - * The reference assembly used for reference, e.g. GRCh38. + * The genome assembly used for starting sequence, e.g. GRCh38. */ - @Child(name = "referenceSequenceAssembly", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="The reference assembly used for reference, e.g. GRCh38", formalDefinition="The reference assembly used for reference, e.g. GRCh38." ) + @Child(name = "genomeAssembly", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="The genome assembly used for starting sequence, e.g. GRCh38", formalDefinition="The genome assembly used for starting sequence, e.g. GRCh38." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://loinc.org/LL1040-6/") - protected CodeableConcept referenceSequenceAssembly; + protected CodeableConcept genomeAssembly; /** * Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)). @@ -668,22 +781,22 @@ public class MolecularSequence extends DomainResource { /** * The reference sequence that represents the starting sequence. */ - @Child(name = "referenceSequence", type = {CodeableConcept.class, StringType.class, MolecularSequence.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "sequence", type = {CodeableConcept.class, StringType.class, MolecularSequence.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The reference sequence that represents the starting sequence", formalDefinition="The reference sequence that represents the starting sequence." ) - protected DataType referenceSequence; + protected DataType sequence; /** - * Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem. + * Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem. */ @Child(name = "windowStart", type = {IntegerType.class}, order=4, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Start position of the window on the reference sequence", formalDefinition="Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem." ) + @Description(shortDefinition="Start position of the window on the starting sequence", formalDefinition="Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem." ) protected IntegerType windowStart; /** - * End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem. + * End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem. */ @Child(name = "windowEnd", type = {IntegerType.class}, order=5, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="End position of the window on the reference sequence", formalDefinition="End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem." ) + @Description(shortDefinition="End position of the window on the starting sequence", formalDefinition="End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem." ) protected IntegerType windowEnd; /** @@ -702,36 +815,36 @@ public class MolecularSequence extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/strand-type") protected Enumeration strand; - private static final long serialVersionUID = -1431377311L; + private static final long serialVersionUID = 502438613L; /** * Constructor */ - public MolecularSequenceRelativeReferenceComponent() { + public MolecularSequenceRelativeStartingSequenceComponent() { super(); } /** - * @return {@link #referenceSequenceAssembly} (The reference assembly used for reference, e.g. GRCh38.) + * @return {@link #genomeAssembly} (The genome assembly used for starting sequence, e.g. GRCh38.) */ - public CodeableConcept getReferenceSequenceAssembly() { - if (this.referenceSequenceAssembly == null) + public CodeableConcept getGenomeAssembly() { + if (this.genomeAssembly == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeReferenceComponent.referenceSequenceAssembly"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeStartingSequenceComponent.genomeAssembly"); else if (Configuration.doAutoCreate()) - this.referenceSequenceAssembly = new CodeableConcept(); // cc - return this.referenceSequenceAssembly; + this.genomeAssembly = new CodeableConcept(); // cc + return this.genomeAssembly; } - public boolean hasReferenceSequenceAssembly() { - return this.referenceSequenceAssembly != null && !this.referenceSequenceAssembly.isEmpty(); + public boolean hasGenomeAssembly() { + return this.genomeAssembly != null && !this.genomeAssembly.isEmpty(); } /** - * @param value {@link #referenceSequenceAssembly} (The reference assembly used for reference, e.g. GRCh38.) + * @param value {@link #genomeAssembly} (The genome assembly used for starting sequence, e.g. GRCh38.) */ - public MolecularSequenceRelativeReferenceComponent setReferenceSequenceAssembly(CodeableConcept value) { - this.referenceSequenceAssembly = value; + public MolecularSequenceRelativeStartingSequenceComponent setGenomeAssembly(CodeableConcept value) { + this.genomeAssembly = value; return this; } @@ -741,7 +854,7 @@ public class MolecularSequence extends DomainResource { public CodeableConcept getChromosome() { if (this.chromosome == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeReferenceComponent.chromosome"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeStartingSequenceComponent.chromosome"); else if (Configuration.doAutoCreate()) this.chromosome = new CodeableConcept(); // cc return this.chromosome; @@ -754,84 +867,84 @@ public class MolecularSequence extends DomainResource { /** * @param value {@link #chromosome} (Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)).) */ - public MolecularSequenceRelativeReferenceComponent setChromosome(CodeableConcept value) { + public MolecularSequenceRelativeStartingSequenceComponent setChromosome(CodeableConcept value) { this.chromosome = value; return this; } /** - * @return {@link #referenceSequence} (The reference sequence that represents the starting sequence.) + * @return {@link #sequence} (The reference sequence that represents the starting sequence.) */ - public DataType getReferenceSequence() { - return this.referenceSequence; + public DataType getSequence() { + return this.sequence; } /** - * @return {@link #referenceSequence} (The reference sequence that represents the starting sequence.) + * @return {@link #sequence} (The reference sequence that represents the starting sequence.) */ - public CodeableConcept getReferenceSequenceCodeableConcept() throws FHIRException { - if (this.referenceSequence == null) - this.referenceSequence = new CodeableConcept(); - if (!(this.referenceSequence instanceof CodeableConcept)) - throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.referenceSequence.getClass().getName()+" was encountered"); - return (CodeableConcept) this.referenceSequence; + public CodeableConcept getSequenceCodeableConcept() throws FHIRException { + if (this.sequence == null) + this.sequence = new CodeableConcept(); + if (!(this.sequence instanceof CodeableConcept)) + throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.sequence.getClass().getName()+" was encountered"); + return (CodeableConcept) this.sequence; } - public boolean hasReferenceSequenceCodeableConcept() { - return this != null && this.referenceSequence instanceof CodeableConcept; + public boolean hasSequenceCodeableConcept() { + return this != null && this.sequence instanceof CodeableConcept; } /** - * @return {@link #referenceSequence} (The reference sequence that represents the starting sequence.) + * @return {@link #sequence} (The reference sequence that represents the starting sequence.) */ - public StringType getReferenceSequenceStringType() throws FHIRException { - if (this.referenceSequence == null) - this.referenceSequence = new StringType(); - if (!(this.referenceSequence instanceof StringType)) - throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.referenceSequence.getClass().getName()+" was encountered"); - return (StringType) this.referenceSequence; + public StringType getSequenceStringType() throws FHIRException { + if (this.sequence == null) + this.sequence = new StringType(); + if (!(this.sequence instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.sequence.getClass().getName()+" was encountered"); + return (StringType) this.sequence; } - public boolean hasReferenceSequenceStringType() { - return this != null && this.referenceSequence instanceof StringType; + public boolean hasSequenceStringType() { + return this != null && this.sequence instanceof StringType; } /** - * @return {@link #referenceSequence} (The reference sequence that represents the starting sequence.) + * @return {@link #sequence} (The reference sequence that represents the starting sequence.) */ - public Reference getReferenceSequenceReference() throws FHIRException { - if (this.referenceSequence == null) - this.referenceSequence = new Reference(); - if (!(this.referenceSequence instanceof Reference)) - throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.referenceSequence.getClass().getName()+" was encountered"); - return (Reference) this.referenceSequence; + public Reference getSequenceReference() throws FHIRException { + if (this.sequence == null) + this.sequence = new Reference(); + if (!(this.sequence instanceof Reference)) + throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.sequence.getClass().getName()+" was encountered"); + return (Reference) this.sequence; } - public boolean hasReferenceSequenceReference() { - return this != null && this.referenceSequence instanceof Reference; + public boolean hasSequenceReference() { + return this != null && this.sequence instanceof Reference; } - public boolean hasReferenceSequence() { - return this.referenceSequence != null && !this.referenceSequence.isEmpty(); + public boolean hasSequence() { + return this.sequence != null && !this.sequence.isEmpty(); } /** - * @param value {@link #referenceSequence} (The reference sequence that represents the starting sequence.) + * @param value {@link #sequence} (The reference sequence that represents the starting sequence.) */ - public MolecularSequenceRelativeReferenceComponent setReferenceSequence(DataType value) { + public MolecularSequenceRelativeStartingSequenceComponent setSequence(DataType value) { if (value != null && !(value instanceof CodeableConcept || value instanceof StringType || value instanceof Reference)) - throw new Error("Not the right type for MolecularSequence.relative.reference.referenceSequence[x]: "+value.fhirType()); - this.referenceSequence = value; + throw new Error("Not the right type for MolecularSequence.relative.startingSequence.sequence[x]: "+value.fhirType()); + this.sequence = value; return this; } /** - * @return {@link #windowStart} (Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowStart" gives direct access to the value + * @return {@link #windowStart} (Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowStart" gives direct access to the value */ public IntegerType getWindowStartElement() { if (this.windowStart == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeReferenceComponent.windowStart"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeStartingSequenceComponent.windowStart"); else if (Configuration.doAutoCreate()) this.windowStart = new IntegerType(); // bb return this.windowStart; @@ -846,24 +959,24 @@ public class MolecularSequence extends DomainResource { } /** - * @param value {@link #windowStart} (Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowStart" gives direct access to the value + * @param value {@link #windowStart} (Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowStart" gives direct access to the value */ - public MolecularSequenceRelativeReferenceComponent setWindowStartElement(IntegerType value) { + public MolecularSequenceRelativeStartingSequenceComponent setWindowStartElement(IntegerType value) { this.windowStart = value; return this; } /** - * @return Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem. + * @return Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem. */ public int getWindowStart() { return this.windowStart == null || this.windowStart.isEmpty() ? 0 : this.windowStart.getValue(); } /** - * @param value Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem. + * @param value Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem. */ - public MolecularSequenceRelativeReferenceComponent setWindowStart(int value) { + public MolecularSequenceRelativeStartingSequenceComponent setWindowStart(int value) { if (this.windowStart == null) this.windowStart = new IntegerType(); this.windowStart.setValue(value); @@ -871,12 +984,12 @@ public class MolecularSequence extends DomainResource { } /** - * @return {@link #windowEnd} (End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowEnd" gives direct access to the value + * @return {@link #windowEnd} (End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowEnd" gives direct access to the value */ public IntegerType getWindowEndElement() { if (this.windowEnd == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeReferenceComponent.windowEnd"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeStartingSequenceComponent.windowEnd"); else if (Configuration.doAutoCreate()) this.windowEnd = new IntegerType(); // bb return this.windowEnd; @@ -891,24 +1004,24 @@ public class MolecularSequence extends DomainResource { } /** - * @param value {@link #windowEnd} (End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowEnd" gives direct access to the value + * @param value {@link #windowEnd} (End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.). This is the underlying object with id, value and extensions. The accessor "getWindowEnd" gives direct access to the value */ - public MolecularSequenceRelativeReferenceComponent setWindowEndElement(IntegerType value) { + public MolecularSequenceRelativeStartingSequenceComponent setWindowEndElement(IntegerType value) { this.windowEnd = value; return this; } /** - * @return End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem. + * @return End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem. */ public int getWindowEnd() { return this.windowEnd == null || this.windowEnd.isEmpty() ? 0 : this.windowEnd.getValue(); } /** - * @param value End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem. + * @param value End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem. */ - public MolecularSequenceRelativeReferenceComponent setWindowEnd(int value) { + public MolecularSequenceRelativeStartingSequenceComponent setWindowEnd(int value) { if (this.windowEnd == null) this.windowEnd = new IntegerType(); this.windowEnd.setValue(value); @@ -921,7 +1034,7 @@ public class MolecularSequence extends DomainResource { public Enumeration getOrientationElement() { if (this.orientation == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeReferenceComponent.orientation"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeStartingSequenceComponent.orientation"); else if (Configuration.doAutoCreate()) this.orientation = new Enumeration(new OrientationTypeEnumFactory()); // bb return this.orientation; @@ -938,7 +1051,7 @@ public class MolecularSequence extends DomainResource { /** * @param value {@link #orientation} (A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the "sense" strand, and the opposite complementary strand is the "antisense" strand.). This is the underlying object with id, value and extensions. The accessor "getOrientation" gives direct access to the value */ - public MolecularSequenceRelativeReferenceComponent setOrientationElement(Enumeration value) { + public MolecularSequenceRelativeStartingSequenceComponent setOrientationElement(Enumeration value) { this.orientation = value; return this; } @@ -953,7 +1066,7 @@ public class MolecularSequence extends DomainResource { /** * @param value A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the "sense" strand, and the opposite complementary strand is the "antisense" strand. */ - public MolecularSequenceRelativeReferenceComponent setOrientation(OrientationType value) { + public MolecularSequenceRelativeStartingSequenceComponent setOrientation(OrientationType value) { if (value == null) this.orientation = null; else { @@ -970,7 +1083,7 @@ public class MolecularSequence extends DomainResource { public Enumeration getStrandElement() { if (this.strand == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeReferenceComponent.strand"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeStartingSequenceComponent.strand"); else if (Configuration.doAutoCreate()) this.strand = new Enumeration(new StrandTypeEnumFactory()); // bb return this.strand; @@ -987,7 +1100,7 @@ public class MolecularSequence extends DomainResource { /** * @param value {@link #strand} (An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm.). This is the underlying object with id, value and extensions. The accessor "getStrand" gives direct access to the value */ - public MolecularSequenceRelativeReferenceComponent setStrandElement(Enumeration value) { + public MolecularSequenceRelativeStartingSequenceComponent setStrandElement(Enumeration value) { this.strand = value; return this; } @@ -1002,7 +1115,7 @@ public class MolecularSequence extends DomainResource { /** * @param value An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm. */ - public MolecularSequenceRelativeReferenceComponent setStrand(StrandType value) { + public MolecularSequenceRelativeStartingSequenceComponent setStrand(StrandType value) { if (value == null) this.strand = null; else { @@ -1015,11 +1128,11 @@ public class MolecularSequence extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("referenceSequenceAssembly", "CodeableConcept", "The reference assembly used for reference, e.g. GRCh38.", 0, 1, referenceSequenceAssembly)); + children.add(new Property("genomeAssembly", "CodeableConcept", "The genome assembly used for starting sequence, e.g. GRCh38.", 0, 1, genomeAssembly)); children.add(new Property("chromosome", "CodeableConcept", "Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)).", 0, 1, chromosome)); - children.add(new Property("referenceSequence[x]", "CodeableConcept|string|Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, referenceSequence)); - children.add(new Property("windowStart", "integer", "Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowStart)); - children.add(new Property("windowEnd", "integer", "End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowEnd)); + children.add(new Property("sequence[x]", "CodeableConcept|string|Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, sequence)); + children.add(new Property("windowStart", "integer", "Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowStart)); + children.add(new Property("windowEnd", "integer", "End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowEnd)); children.add(new Property("orientation", "code", "A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the \"sense\" strand, and the opposite complementary strand is the \"antisense\" strand.", 0, 1, orientation)); children.add(new Property("strand", "code", "An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm.", 0, 1, strand)); } @@ -1027,15 +1140,15 @@ public class MolecularSequence extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 1430214194: /*referenceSequenceAssembly*/ return new Property("referenceSequenceAssembly", "CodeableConcept", "The reference assembly used for reference, e.g. GRCh38.", 0, 1, referenceSequenceAssembly); + case 1196021757: /*genomeAssembly*/ return new Property("genomeAssembly", "CodeableConcept", "The genome assembly used for starting sequence, e.g. GRCh38.", 0, 1, genomeAssembly); case -1499470472: /*chromosome*/ return new Property("chromosome", "CodeableConcept", "Structural unit composed of a nucleic acid molecule which controls its own replication through the interaction of specific proteins at one or more origins of replication ([SO:0000340](http://www.sequenceontology.org/browser/current_svn/term/SO:0000340)).", 0, 1, chromosome); - case -596785964: /*referenceSequence[x]*/ return new Property("referenceSequence[x]", "CodeableConcept|string|Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, referenceSequence); - case 1501798444: /*referenceSequence*/ return new Property("referenceSequence[x]", "CodeableConcept|string|Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, referenceSequence); - case -1155978795: /*referenceSequenceCodeableConcept*/ return new Property("referenceSequence[x]", "CodeableConcept", "The reference sequence that represents the starting sequence.", 0, 1, referenceSequence); - case 2081954653: /*referenceSequenceString*/ return new Property("referenceSequence[x]", "string", "The reference sequence that represents the starting sequence.", 0, 1, referenceSequence); - case -847433601: /*referenceSequenceReference*/ return new Property("referenceSequence[x]", "Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, referenceSequence); - case 1903685202: /*windowStart*/ return new Property("windowStart", "integer", "Start position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowStart); - case -217026869: /*windowEnd*/ return new Property("windowEnd", "integer", "End position of the window on the reference sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowEnd); + case -805222113: /*sequence[x]*/ return new Property("sequence[x]", "CodeableConcept|string|Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, sequence); + case 1349547969: /*sequence*/ return new Property("sequence[x]", "CodeableConcept|string|Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, sequence); + case 1508480416: /*sequenceCodeableConcept*/ return new Property("sequence[x]", "CodeableConcept", "The reference sequence that represents the starting sequence.", 0, 1, sequence); + case -1211617486: /*sequenceString*/ return new Property("sequence[x]", "string", "The reference sequence that represents the starting sequence.", 0, 1, sequence); + case -1127149430: /*sequenceReference*/ return new Property("sequence[x]", "Reference(MolecularSequence)", "The reference sequence that represents the starting sequence.", 0, 1, sequence); + case 1903685202: /*windowStart*/ return new Property("windowStart", "integer", "Start position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowStart); + case -217026869: /*windowEnd*/ return new Property("windowEnd", "integer", "End position of the window on the starting sequence. This value should honor the rules of the coordinateSystem.", 0, 1, windowEnd); case -1439500848: /*orientation*/ return new Property("orientation", "code", "A relative reference to a DNA strand based on gene orientation. The strand that contains the open reading frame of the gene is the \"sense\" strand, and the opposite complementary strand is the \"antisense\" strand.", 0, 1, orientation); case -891993594: /*strand*/ return new Property("strand", "code", "An absolute reference to a strand. The Watson strand is the strand whose 5'-end is on the short arm of the chromosome, and the Crick strand as the one whose 5'-end is on the long arm.", 0, 1, strand); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1046,9 +1159,9 @@ public class MolecularSequence extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 1430214194: /*referenceSequenceAssembly*/ return this.referenceSequenceAssembly == null ? new Base[0] : new Base[] {this.referenceSequenceAssembly}; // CodeableConcept + case 1196021757: /*genomeAssembly*/ return this.genomeAssembly == null ? new Base[0] : new Base[] {this.genomeAssembly}; // CodeableConcept case -1499470472: /*chromosome*/ return this.chromosome == null ? new Base[0] : new Base[] {this.chromosome}; // CodeableConcept - case 1501798444: /*referenceSequence*/ return this.referenceSequence == null ? new Base[0] : new Base[] {this.referenceSequence}; // DataType + case 1349547969: /*sequence*/ return this.sequence == null ? new Base[0] : new Base[] {this.sequence}; // DataType case 1903685202: /*windowStart*/ return this.windowStart == null ? new Base[0] : new Base[] {this.windowStart}; // IntegerType case -217026869: /*windowEnd*/ return this.windowEnd == null ? new Base[0] : new Base[] {this.windowEnd}; // IntegerType case -1439500848: /*orientation*/ return this.orientation == null ? new Base[0] : new Base[] {this.orientation}; // Enumeration @@ -1061,14 +1174,14 @@ public class MolecularSequence extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case 1430214194: // referenceSequenceAssembly - this.referenceSequenceAssembly = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 1196021757: // genomeAssembly + this.genomeAssembly = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -1499470472: // chromosome this.chromosome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case 1501798444: // referenceSequence - this.referenceSequence = TypeConvertor.castToType(value); // DataType + case 1349547969: // sequence + this.sequence = TypeConvertor.castToType(value); // DataType return value; case 1903685202: // windowStart this.windowStart = TypeConvertor.castToInteger(value); // IntegerType @@ -1091,12 +1204,12 @@ public class MolecularSequence extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("referenceSequenceAssembly")) { - this.referenceSequenceAssembly = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + if (name.equals("genomeAssembly")) { + this.genomeAssembly = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("chromosome")) { this.chromosome = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("referenceSequence[x]")) { - this.referenceSequence = TypeConvertor.castToType(value); // DataType + } else if (name.equals("sequence[x]")) { + this.sequence = TypeConvertor.castToType(value); // DataType } else if (name.equals("windowStart")) { this.windowStart = TypeConvertor.castToInteger(value); // IntegerType } else if (name.equals("windowEnd")) { @@ -1115,10 +1228,10 @@ public class MolecularSequence extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case 1430214194: return getReferenceSequenceAssembly(); + case 1196021757: return getGenomeAssembly(); case -1499470472: return getChromosome(); - case -596785964: return getReferenceSequence(); - case 1501798444: return getReferenceSequence(); + case -805222113: return getSequence(); + case 1349547969: return getSequence(); case 1903685202: return getWindowStartElement(); case -217026869: return getWindowEndElement(); case -1439500848: return getOrientationElement(); @@ -1131,9 +1244,9 @@ public class MolecularSequence extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 1430214194: /*referenceSequenceAssembly*/ return new String[] {"CodeableConcept"}; + case 1196021757: /*genomeAssembly*/ return new String[] {"CodeableConcept"}; case -1499470472: /*chromosome*/ return new String[] {"CodeableConcept"}; - case 1501798444: /*referenceSequence*/ return new String[] {"CodeableConcept", "string", "Reference"}; + case 1349547969: /*sequence*/ return new String[] {"CodeableConcept", "string", "Reference"}; case 1903685202: /*windowStart*/ return new String[] {"integer"}; case -217026869: /*windowEnd*/ return new String[] {"integer"}; case -1439500848: /*orientation*/ return new String[] {"code"}; @@ -1145,53 +1258,53 @@ public class MolecularSequence extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("referenceSequenceAssembly")) { - this.referenceSequenceAssembly = new CodeableConcept(); - return this.referenceSequenceAssembly; + if (name.equals("genomeAssembly")) { + this.genomeAssembly = new CodeableConcept(); + return this.genomeAssembly; } else if (name.equals("chromosome")) { this.chromosome = new CodeableConcept(); return this.chromosome; } - else if (name.equals("referenceSequenceCodeableConcept")) { - this.referenceSequence = new CodeableConcept(); - return this.referenceSequence; + else if (name.equals("sequenceCodeableConcept")) { + this.sequence = new CodeableConcept(); + return this.sequence; } - else if (name.equals("referenceSequenceString")) { - this.referenceSequence = new StringType(); - return this.referenceSequence; + else if (name.equals("sequenceString")) { + this.sequence = new StringType(); + return this.sequence; } - else if (name.equals("referenceSequenceReference")) { - this.referenceSequence = new Reference(); - return this.referenceSequence; + else if (name.equals("sequenceReference")) { + this.sequence = new Reference(); + return this.sequence; } else if (name.equals("windowStart")) { - throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.reference.windowStart"); + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.startingSequence.windowStart"); } else if (name.equals("windowEnd")) { - throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.reference.windowEnd"); + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.startingSequence.windowEnd"); } else if (name.equals("orientation")) { - throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.reference.orientation"); + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.startingSequence.orientation"); } else if (name.equals("strand")) { - throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.reference.strand"); + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.startingSequence.strand"); } else return super.addChild(name); } - public MolecularSequenceRelativeReferenceComponent copy() { - MolecularSequenceRelativeReferenceComponent dst = new MolecularSequenceRelativeReferenceComponent(); + public MolecularSequenceRelativeStartingSequenceComponent copy() { + MolecularSequenceRelativeStartingSequenceComponent dst = new MolecularSequenceRelativeStartingSequenceComponent(); copyValues(dst); return dst; } - public void copyValues(MolecularSequenceRelativeReferenceComponent dst) { + public void copyValues(MolecularSequenceRelativeStartingSequenceComponent dst) { super.copyValues(dst); - dst.referenceSequenceAssembly = referenceSequenceAssembly == null ? null : referenceSequenceAssembly.copy(); + dst.genomeAssembly = genomeAssembly == null ? null : genomeAssembly.copy(); dst.chromosome = chromosome == null ? null : chromosome.copy(); - dst.referenceSequence = referenceSequence == null ? null : referenceSequence.copy(); + dst.sequence = sequence == null ? null : sequence.copy(); dst.windowStart = windowStart == null ? null : windowStart.copy(); dst.windowEnd = windowEnd == null ? null : windowEnd.copy(); dst.orientation = orientation == null ? null : orientation.copy(); @@ -1202,33 +1315,32 @@ public class MolecularSequence extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof MolecularSequenceRelativeReferenceComponent)) + if (!(other_ instanceof MolecularSequenceRelativeStartingSequenceComponent)) return false; - MolecularSequenceRelativeReferenceComponent o = (MolecularSequenceRelativeReferenceComponent) other_; - return compareDeep(referenceSequenceAssembly, o.referenceSequenceAssembly, true) && compareDeep(chromosome, o.chromosome, true) - && compareDeep(referenceSequence, o.referenceSequence, true) && compareDeep(windowStart, o.windowStart, true) - && compareDeep(windowEnd, o.windowEnd, true) && compareDeep(orientation, o.orientation, true) && compareDeep(strand, o.strand, true) - ; + MolecularSequenceRelativeStartingSequenceComponent o = (MolecularSequenceRelativeStartingSequenceComponent) other_; + return compareDeep(genomeAssembly, o.genomeAssembly, true) && compareDeep(chromosome, o.chromosome, true) + && compareDeep(sequence, o.sequence, true) && compareDeep(windowStart, o.windowStart, true) && compareDeep(windowEnd, o.windowEnd, true) + && compareDeep(orientation, o.orientation, true) && compareDeep(strand, o.strand, true); } @Override public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof MolecularSequenceRelativeReferenceComponent)) + if (!(other_ instanceof MolecularSequenceRelativeStartingSequenceComponent)) return false; - MolecularSequenceRelativeReferenceComponent o = (MolecularSequenceRelativeReferenceComponent) other_; + MolecularSequenceRelativeStartingSequenceComponent o = (MolecularSequenceRelativeStartingSequenceComponent) other_; return compareValues(windowStart, o.windowStart, true) && compareValues(windowEnd, o.windowEnd, true) && compareValues(orientation, o.orientation, true) && compareValues(strand, o.strand, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(referenceSequenceAssembly, chromosome - , referenceSequence, windowStart, windowEnd, orientation, strand); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(genomeAssembly, chromosome + , sequence, windowStart, windowEnd, orientation, strand); } public String fhirType() { - return "MolecularSequence.relative.reference"; + return "MolecularSequence.relative.startingSequence"; } @@ -1237,34 +1349,34 @@ public class MolecularSequence extends DomainResource { @Block() public static class MolecularSequenceRelativeEditComponent extends BackboneElement implements IBaseBackboneElement { /** - * Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + * Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ @Child(name = "start", type = {IntegerType.class}, order=1, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Start position of the edit on the reference sequence", formalDefinition="Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive." ) + @Description(shortDefinition="Start position of the edit on the starting sequence", formalDefinition="Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive." ) protected IntegerType start; /** - * End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + * End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ @Child(name = "end", type = {IntegerType.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="End position of the edit on the reference sequence", formalDefinition="End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position." ) + @Description(shortDefinition="End position of the edit on the starting sequence", formalDefinition="End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position." ) protected IntegerType end; /** * Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - @Child(name = "observedAllele", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "replacementSequence", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Allele that was observed", formalDefinition="Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end." ) - protected StringType observedAllele; + protected StringType replacementSequence; /** - * Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. + * Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - @Child(name = "referenceAllele", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Allele in the reference sequence", formalDefinition="Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end." ) - protected StringType referenceAllele; + @Child(name = "replacedSequence", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Allele in the starting sequence", formalDefinition="Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end." ) + protected StringType replacedSequence; - private static final long serialVersionUID = -405313764L; + private static final long serialVersionUID = 550127909L; /** * Constructor @@ -1274,7 +1386,7 @@ public class MolecularSequence extends DomainResource { } /** - * @return {@link #start} (Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value + * @return {@link #start} (Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value */ public IntegerType getStartElement() { if (this.start == null) @@ -1294,7 +1406,7 @@ public class MolecularSequence extends DomainResource { } /** - * @param value {@link #start} (Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value + * @param value {@link #start} (Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.). This is the underlying object with id, value and extensions. The accessor "getStart" gives direct access to the value */ public MolecularSequenceRelativeEditComponent setStartElement(IntegerType value) { this.start = value; @@ -1302,14 +1414,14 @@ public class MolecularSequence extends DomainResource { } /** - * @return Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + * @return Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ public int getStart() { return this.start == null || this.start.isEmpty() ? 0 : this.start.getValue(); } /** - * @param value Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. + * @param value Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive. */ public MolecularSequenceRelativeEditComponent setStart(int value) { if (this.start == null) @@ -1319,7 +1431,7 @@ public class MolecularSequence extends DomainResource { } /** - * @return {@link #end} (End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.). This is the underlying object with id, value and extensions. The accessor "getEnd" gives direct access to the value + * @return {@link #end} (End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.). This is the underlying object with id, value and extensions. The accessor "getEnd" gives direct access to the value */ public IntegerType getEndElement() { if (this.end == null) @@ -1339,7 +1451,7 @@ public class MolecularSequence extends DomainResource { } /** - * @param value {@link #end} (End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.). This is the underlying object with id, value and extensions. The accessor "getEnd" gives direct access to the value + * @param value {@link #end} (End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.). This is the underlying object with id, value and extensions. The accessor "getEnd" gives direct access to the value */ public MolecularSequenceRelativeEditComponent setEndElement(IntegerType value) { this.end = value; @@ -1347,14 +1459,14 @@ public class MolecularSequence extends DomainResource { } /** - * @return End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + * @return End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ public int getEnd() { return this.end == null || this.end.isEmpty() ? 0 : this.end.getValue(); } /** - * @param value End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. + * @param value End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position. */ public MolecularSequenceRelativeEditComponent setEnd(int value) { if (this.end == null) @@ -1364,118 +1476,118 @@ public class MolecularSequence extends DomainResource { } /** - * @return {@link #observedAllele} (Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getObservedAllele" gives direct access to the value + * @return {@link #replacementSequence} (Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getReplacementSequence" gives direct access to the value */ - public StringType getObservedAlleleElement() { - if (this.observedAllele == null) + public StringType getReplacementSequenceElement() { + if (this.replacementSequence == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeEditComponent.observedAllele"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeEditComponent.replacementSequence"); else if (Configuration.doAutoCreate()) - this.observedAllele = new StringType(); // bb - return this.observedAllele; + this.replacementSequence = new StringType(); // bb + return this.replacementSequence; } - public boolean hasObservedAlleleElement() { - return this.observedAllele != null && !this.observedAllele.isEmpty(); + public boolean hasReplacementSequenceElement() { + return this.replacementSequence != null && !this.replacementSequence.isEmpty(); } - public boolean hasObservedAllele() { - return this.observedAllele != null && !this.observedAllele.isEmpty(); + public boolean hasReplacementSequence() { + return this.replacementSequence != null && !this.replacementSequence.isEmpty(); } /** - * @param value {@link #observedAllele} (Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getObservedAllele" gives direct access to the value + * @param value {@link #replacementSequence} (Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getReplacementSequence" gives direct access to the value */ - public MolecularSequenceRelativeEditComponent setObservedAlleleElement(StringType value) { - this.observedAllele = value; + public MolecularSequenceRelativeEditComponent setReplacementSequenceElement(StringType value) { + this.replacementSequence = value; return this; } /** * @return Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - public String getObservedAllele() { - return this.observedAllele == null ? null : this.observedAllele.getValue(); + public String getReplacementSequence() { + return this.replacementSequence == null ? null : this.replacementSequence.getValue(); } /** * @param value Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - public MolecularSequenceRelativeEditComponent setObservedAllele(String value) { + public MolecularSequenceRelativeEditComponent setReplacementSequence(String value) { if (Utilities.noString(value)) - this.observedAllele = null; + this.replacementSequence = null; else { - if (this.observedAllele == null) - this.observedAllele = new StringType(); - this.observedAllele.setValue(value); + if (this.replacementSequence == null) + this.replacementSequence = new StringType(); + this.replacementSequence.setValue(value); } return this; } /** - * @return {@link #referenceAllele} (Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getReferenceAllele" gives direct access to the value + * @return {@link #replacedSequence} (Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getReplacedSequence" gives direct access to the value */ - public StringType getReferenceAlleleElement() { - if (this.referenceAllele == null) + public StringType getReplacedSequenceElement() { + if (this.replacedSequence == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequenceRelativeEditComponent.referenceAllele"); + throw new Error("Attempt to auto-create MolecularSequenceRelativeEditComponent.replacedSequence"); else if (Configuration.doAutoCreate()) - this.referenceAllele = new StringType(); // bb - return this.referenceAllele; + this.replacedSequence = new StringType(); // bb + return this.replacedSequence; } - public boolean hasReferenceAlleleElement() { - return this.referenceAllele != null && !this.referenceAllele.isEmpty(); + public boolean hasReplacedSequenceElement() { + return this.replacedSequence != null && !this.replacedSequence.isEmpty(); } - public boolean hasReferenceAllele() { - return this.referenceAllele != null && !this.referenceAllele.isEmpty(); + public boolean hasReplacedSequence() { + return this.replacedSequence != null && !this.replacedSequence.isEmpty(); } /** - * @param value {@link #referenceAllele} (Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getReferenceAllele" gives direct access to the value + * @param value {@link #replacedSequence} (Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.). This is the underlying object with id, value and extensions. The accessor "getReplacedSequence" gives direct access to the value */ - public MolecularSequenceRelativeEditComponent setReferenceAlleleElement(StringType value) { - this.referenceAllele = value; + public MolecularSequenceRelativeEditComponent setReplacedSequenceElement(StringType value) { + this.replacedSequence = value; return this; } /** - * @return Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. + * @return Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - public String getReferenceAllele() { - return this.referenceAllele == null ? null : this.referenceAllele.getValue(); + public String getReplacedSequence() { + return this.replacedSequence == null ? null : this.replacedSequence.getValue(); } /** - * @param value Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. + * @param value Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end. */ - public MolecularSequenceRelativeEditComponent setReferenceAllele(String value) { + public MolecularSequenceRelativeEditComponent setReplacedSequence(String value) { if (Utilities.noString(value)) - this.referenceAllele = null; + this.replacedSequence = null; else { - if (this.referenceAllele == null) - this.referenceAllele = new StringType(); - this.referenceAllele.setValue(value); + if (this.replacedSequence == null) + this.replacedSequence = new StringType(); + this.replacedSequence.setValue(value); } return this; } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("start", "integer", "Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.", 0, 1, start)); - children.add(new Property("end", "integer", "End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.", 0, 1, end)); - children.add(new Property("observedAllele", "string", "Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, observedAllele)); - children.add(new Property("referenceAllele", "string", "Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, referenceAllele)); + children.add(new Property("start", "integer", "Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.", 0, 1, start)); + children.add(new Property("end", "integer", "End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.", 0, 1, end)); + children.add(new Property("replacementSequence", "string", "Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, replacementSequence)); + children.add(new Property("replacedSequence", "string", "Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, replacedSequence)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 109757538: /*start*/ return new Property("start", "integer", "Start position of the edit on the reference sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.", 0, 1, start); - case 100571: /*end*/ return new Property("end", "integer", "End position of the edit on the reference sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.", 0, 1, end); - case -1418745787: /*observedAllele*/ return new Property("observedAllele", "string", "Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, observedAllele); - case 364045960: /*referenceAllele*/ return new Property("referenceAllele", "string", "Allele in the reference sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the reference sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, referenceAllele); + case 109757538: /*start*/ return new Property("start", "integer", "Start position of the edit on the starting sequence. If the coordinate system is either 0-based or 1-based, then start position is inclusive.", 0, 1, start); + case 100571: /*end*/ return new Property("end", "integer", "End position of the edit on the starting sequence. If the coordinate system is 0-based then end is exclusive and does not include the last position. If the coordinate system is 1-base, then end is inclusive and includes the last position.", 0, 1, end); + case -1784940557: /*replacementSequence*/ return new Property("replacementSequence", "string", "Allele that was observed. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the observed sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, replacementSequence); + case 1972719633: /*replacedSequence*/ return new Property("replacedSequence", "string", "Allele in the starting sequence. Nucleotide(s)/amino acids from start position of sequence to stop position of sequence on the positive (+) strand of the starting sequence. When the sequence type is DNA, it should be the sequence on the positive (+) strand. This will lay in the range between variant.start and variant.end.", 0, 1, replacedSequence); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1486,8 +1598,8 @@ public class MolecularSequence extends DomainResource { switch (hash) { case 109757538: /*start*/ return this.start == null ? new Base[0] : new Base[] {this.start}; // IntegerType case 100571: /*end*/ return this.end == null ? new Base[0] : new Base[] {this.end}; // IntegerType - case -1418745787: /*observedAllele*/ return this.observedAllele == null ? new Base[0] : new Base[] {this.observedAllele}; // StringType - case 364045960: /*referenceAllele*/ return this.referenceAllele == null ? new Base[0] : new Base[] {this.referenceAllele}; // StringType + case -1784940557: /*replacementSequence*/ return this.replacementSequence == null ? new Base[0] : new Base[] {this.replacementSequence}; // StringType + case 1972719633: /*replacedSequence*/ return this.replacedSequence == null ? new Base[0] : new Base[] {this.replacedSequence}; // StringType default: return super.getProperty(hash, name, checkValid); } @@ -1502,11 +1614,11 @@ public class MolecularSequence extends DomainResource { case 100571: // end this.end = TypeConvertor.castToInteger(value); // IntegerType return value; - case -1418745787: // observedAllele - this.observedAllele = TypeConvertor.castToString(value); // StringType + case -1784940557: // replacementSequence + this.replacementSequence = TypeConvertor.castToString(value); // StringType return value; - case 364045960: // referenceAllele - this.referenceAllele = TypeConvertor.castToString(value); // StringType + case 1972719633: // replacedSequence + this.replacedSequence = TypeConvertor.castToString(value); // StringType return value; default: return super.setProperty(hash, name, value); } @@ -1519,10 +1631,10 @@ public class MolecularSequence extends DomainResource { this.start = TypeConvertor.castToInteger(value); // IntegerType } else if (name.equals("end")) { this.end = TypeConvertor.castToInteger(value); // IntegerType - } else if (name.equals("observedAllele")) { - this.observedAllele = TypeConvertor.castToString(value); // StringType - } else if (name.equals("referenceAllele")) { - this.referenceAllele = TypeConvertor.castToString(value); // StringType + } else if (name.equals("replacementSequence")) { + this.replacementSequence = TypeConvertor.castToString(value); // StringType + } else if (name.equals("replacedSequence")) { + this.replacedSequence = TypeConvertor.castToString(value); // StringType } else return super.setProperty(name, value); return value; @@ -1533,8 +1645,8 @@ public class MolecularSequence extends DomainResource { switch (hash) { case 109757538: return getStartElement(); case 100571: return getEndElement(); - case -1418745787: return getObservedAlleleElement(); - case 364045960: return getReferenceAlleleElement(); + case -1784940557: return getReplacementSequenceElement(); + case 1972719633: return getReplacedSequenceElement(); default: return super.makeProperty(hash, name); } @@ -1545,8 +1657,8 @@ public class MolecularSequence extends DomainResource { switch (hash) { case 109757538: /*start*/ return new String[] {"integer"}; case 100571: /*end*/ return new String[] {"integer"}; - case -1418745787: /*observedAllele*/ return new String[] {"string"}; - case 364045960: /*referenceAllele*/ return new String[] {"string"}; + case -1784940557: /*replacementSequence*/ return new String[] {"string"}; + case 1972719633: /*replacedSequence*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); } @@ -1560,11 +1672,11 @@ public class MolecularSequence extends DomainResource { else if (name.equals("end")) { throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.edit.end"); } - else if (name.equals("observedAllele")) { - throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.edit.observedAllele"); + else if (name.equals("replacementSequence")) { + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.edit.replacementSequence"); } - else if (name.equals("referenceAllele")) { - throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.edit.referenceAllele"); + else if (name.equals("replacedSequence")) { + throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.relative.edit.replacedSequence"); } else return super.addChild(name); @@ -1580,8 +1692,8 @@ public class MolecularSequence extends DomainResource { super.copyValues(dst); dst.start = start == null ? null : start.copy(); dst.end = end == null ? null : end.copy(); - dst.observedAllele = observedAllele == null ? null : observedAllele.copy(); - dst.referenceAllele = referenceAllele == null ? null : referenceAllele.copy(); + dst.replacementSequence = replacementSequence == null ? null : replacementSequence.copy(); + dst.replacedSequence = replacedSequence == null ? null : replacedSequence.copy(); } @Override @@ -1591,8 +1703,8 @@ public class MolecularSequence extends DomainResource { if (!(other_ instanceof MolecularSequenceRelativeEditComponent)) return false; MolecularSequenceRelativeEditComponent o = (MolecularSequenceRelativeEditComponent) other_; - return compareDeep(start, o.start, true) && compareDeep(end, o.end, true) && compareDeep(observedAllele, o.observedAllele, true) - && compareDeep(referenceAllele, o.referenceAllele, true); + return compareDeep(start, o.start, true) && compareDeep(end, o.end, true) && compareDeep(replacementSequence, o.replacementSequence, true) + && compareDeep(replacedSequence, o.replacedSequence, true); } @Override @@ -1602,13 +1714,13 @@ public class MolecularSequence extends DomainResource { if (!(other_ instanceof MolecularSequenceRelativeEditComponent)) return false; MolecularSequenceRelativeEditComponent o = (MolecularSequenceRelativeEditComponent) other_; - return compareValues(start, o.start, true) && compareValues(end, o.end, true) && compareValues(observedAllele, o.observedAllele, true) - && compareValues(referenceAllele, o.referenceAllele, true); + return compareValues(start, o.start, true) && compareValues(end, o.end, true) && compareValues(replacementSequence, o.replacementSequence, true) + && compareValues(replacedSequence, o.replacedSequence, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(start, end, observedAllele - , referenceAllele); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(start, end, replacementSequence + , replacedSequence); } public String fhirType() { @@ -1634,11 +1746,11 @@ public class MolecularSequence extends DomainResource { protected Enumeration type; /** - * Indicates the patient this sequence is associated too. + * Indicates the subject this sequence is associated too. */ - @Child(name = "patient", type = {Patient.class}, order=2, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Patient this sequence is associated too", formalDefinition="Indicates the patient this sequence is associated too." ) - protected Reference patient; + @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Location.class, Organization.class, Procedure.class, Practitioner.class, Medication.class, Substance.class, BiologicallyDerivedProduct.class, NutritionProduct.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Subject this sequence is associated too", formalDefinition="Indicates the subject this sequence is associated too." ) + protected Reference subject; /** * Specimen used for sequencing. @@ -1682,7 +1794,7 @@ public class MolecularSequence extends DomainResource { @Description(shortDefinition="A sequence defined relative to another sequence", formalDefinition="A sequence defined relative to another sequence." ) protected List relative; - private static final long serialVersionUID = -1388366786L; + private static final long serialVersionUID = -191255113L; /** * Constructor @@ -1794,26 +1906,26 @@ public class MolecularSequence extends DomainResource { } /** - * @return {@link #patient} (Indicates the patient this sequence is associated too.) + * @return {@link #subject} (Indicates the subject this sequence is associated too.) */ - public Reference getPatient() { - if (this.patient == null) + public Reference getSubject() { + if (this.subject == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create MolecularSequence.patient"); + throw new Error("Attempt to auto-create MolecularSequence.subject"); else if (Configuration.doAutoCreate()) - this.patient = new Reference(); // cc - return this.patient; + this.subject = new Reference(); // cc + return this.subject; } - public boolean hasPatient() { - return this.patient != null && !this.patient.isEmpty(); + public boolean hasSubject() { + return this.subject != null && !this.subject.isEmpty(); } /** - * @param value {@link #patient} (Indicates the patient this sequence is associated too.) + * @param value {@link #subject} (Indicates the subject this sequence is associated too.) */ - public MolecularSequence setPatient(Reference value) { - this.patient = value; + public MolecularSequence setSubject(Reference value) { + this.subject = value; return this; } @@ -2048,7 +2160,7 @@ public class MolecularSequence extends DomainResource { super.listChildren(children); children.add(new Property("identifier", "Identifier", "A unique identifier for this particular sequence instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("type", "code", "Amino Acid Sequence/ DNA Sequence / RNA Sequence.", 0, 1, type)); - children.add(new Property("patient", "Reference(Patient)", "Indicates the patient this sequence is associated too.", 0, 1, patient)); + children.add(new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "Indicates the subject this sequence is associated too.", 0, 1, subject)); children.add(new Property("specimen", "Reference(Specimen)", "Specimen used for sequencing.", 0, 1, specimen)); children.add(new Property("device", "Reference(Device)", "The method for sequencing, for example, chip information.", 0, 1, device)); children.add(new Property("performer", "Reference(Organization)", "The organization or lab that should be responsible for this result.", 0, 1, performer)); @@ -2062,7 +2174,7 @@ public class MolecularSequence extends DomainResource { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier for this particular sequence instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 3575610: /*type*/ return new Property("type", "code", "Amino Acid Sequence/ DNA Sequence / RNA Sequence.", 0, 1, type); - case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "Indicates the patient this sequence is associated too.", 0, 1, patient); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Location|Organization|Procedure|Practitioner|Medication|Substance|BiologicallyDerivedProduct|NutritionProduct)", "Indicates the subject this sequence is associated too.", 0, 1, subject); case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "Specimen used for sequencing.", 0, 1, specimen); case -1335157162: /*device*/ return new Property("device", "Reference(Device)", "The method for sequencing, for example, chip information.", 0, 1, device); case 481140686: /*performer*/ return new Property("performer", "Reference(Organization)", "The organization or lab that should be responsible for this result.", 0, 1, performer); @@ -2079,7 +2191,7 @@ public class MolecularSequence extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration - case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case -2132868344: /*specimen*/ return this.specimen == null ? new Base[0] : new Base[] {this.specimen}; // Reference case -1335157162: /*device*/ return this.device == null ? new Base[0] : new Base[] {this.device}; // Reference case 481140686: /*performer*/ return this.performer == null ? new Base[0] : new Base[] {this.performer}; // Reference @@ -2101,8 +2213,8 @@ public class MolecularSequence extends DomainResource { value = new SequenceTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration return value; - case -791418107: // patient - this.patient = TypeConvertor.castToReference(value); // Reference + case -1867885268: // subject + this.subject = TypeConvertor.castToReference(value); // Reference return value; case -2132868344: // specimen this.specimen = TypeConvertor.castToReference(value); // Reference @@ -2134,8 +2246,8 @@ public class MolecularSequence extends DomainResource { } else if (name.equals("type")) { value = new SequenceTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration - } else if (name.equals("patient")) { - this.patient = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("subject")) { + this.subject = TypeConvertor.castToReference(value); // Reference } else if (name.equals("specimen")) { this.specimen = TypeConvertor.castToReference(value); // Reference } else if (name.equals("device")) { @@ -2158,7 +2270,7 @@ public class MolecularSequence extends DomainResource { switch (hash) { case -1618432855: return addIdentifier(); case 3575610: return getTypeElement(); - case -791418107: return getPatient(); + case -1867885268: return getSubject(); case -2132868344: return getSpecimen(); case -1335157162: return getDevice(); case 481140686: return getPerformer(); @@ -2175,7 +2287,7 @@ public class MolecularSequence extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 3575610: /*type*/ return new String[] {"code"}; - case -791418107: /*patient*/ return new String[] {"Reference"}; + case -1867885268: /*subject*/ return new String[] {"Reference"}; case -2132868344: /*specimen*/ return new String[] {"Reference"}; case -1335157162: /*device*/ return new String[] {"Reference"}; case 481140686: /*performer*/ return new String[] {"Reference"}; @@ -2195,9 +2307,9 @@ public class MolecularSequence extends DomainResource { else if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type MolecularSequence.type"); } - else if (name.equals("patient")) { - this.patient = new Reference(); - return this.patient; + else if (name.equals("subject")) { + this.subject = new Reference(); + return this.subject; } else if (name.equals("specimen")) { this.specimen = new Reference(); @@ -2243,7 +2355,7 @@ public class MolecularSequence extends DomainResource { dst.identifier.add(i.copy()); }; dst.type = type == null ? null : type.copy(); - dst.patient = patient == null ? null : patient.copy(); + dst.subject = subject == null ? null : subject.copy(); dst.specimen = specimen == null ? null : specimen.copy(); dst.device = device == null ? null : device.copy(); dst.performer = performer == null ? null : performer.copy(); @@ -2271,7 +2383,7 @@ public class MolecularSequence extends DomainResource { if (!(other_ instanceof MolecularSequence)) return false; MolecularSequence o = (MolecularSequence) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(patient, o.patient, true) + return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(subject, o.subject, true) && compareDeep(specimen, o.specimen, true) && compareDeep(device, o.device, true) && compareDeep(performer, o.performer, true) && compareDeep(literal, o.literal, true) && compareDeep(formatted, o.formatted, true) && compareDeep(relative, o.relative, true) ; @@ -2288,7 +2400,7 @@ public class MolecularSequence extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, patient + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, subject , specimen, device, performer, literal, formatted, relative); } @@ -2322,17 +2434,17 @@ public class MolecularSequence extends DomainResource { *

* Description: The subject that the sequence is about
* Type: reference
- * Path: MolecularSequence.patient
+ * Path: MolecularSequence.subject
*

*/ - @SearchParamDefinition(name="patient", path="MolecularSequence.patient", description="The subject that the sequence is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="MolecularSequence.subject", description="The subject that the sequence is about", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient *

* Description: The subject that the sequence is about
* Type: reference
- * Path: MolecularSequence.patient
+ * Path: MolecularSequence.subject
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); @@ -2343,6 +2455,32 @@ public class MolecularSequence extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("MolecularSequence:patient").toLocked(); + /** + * Search parameter: subject + *

+ * Description: The subject that the sequence is about
+ * Type: reference
+ * Path: MolecularSequence.subject
+ *

+ */ + @SearchParamDefinition(name="subject", path="MolecularSequence.subject", description="The subject that the sequence is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) + public static final String SP_SUBJECT = "subject"; + /** + * Fluent Client search parameter constant for subject + *

+ * Description: The subject that the sequence is about
+ * Type: reference
+ * Path: MolecularSequence.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "MolecularSequence:subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("MolecularSequence:subject").toLocked(); + /** * Search parameter: type *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MonetaryComponent.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MonetaryComponent.java new file mode 100644 index 000000000..1729560b5 --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/MonetaryComponent.java @@ -0,0 +1,585 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.math.*; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseDatatypeElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.DatatypeDef; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * MonetaryComponent Type: Availability data for an {item}. + */ +@DatatypeDef(name="MonetaryComponent") +public class MonetaryComponent extends DataType implements ICompositeType { + + public enum PriceComponentType { + /** + * the amount is the base price used for calculating the total price before applying surcharges, discount or taxes. + */ + BASE, + /** + * the amount is a surcharge applied on the base price. + */ + SURCHARGE, + /** + * the amount is a deduction applied on the base price. + */ + DEDUCTION, + /** + * the amount is a discount applied on the base price. + */ + DISCOUNT, + /** + * the amount is the tax component of the total price. + */ + TAX, + /** + * the amount is of informational character, it has not been applied in the calculation of the total price. + */ + INFORMATIONAL, + /** + * added to help the parsers with the generic types + */ + NULL; + public static PriceComponentType fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("base".equals(codeString)) + return BASE; + if ("surcharge".equals(codeString)) + return SURCHARGE; + if ("deduction".equals(codeString)) + return DEDUCTION; + if ("discount".equals(codeString)) + return DISCOUNT; + if ("tax".equals(codeString)) + return TAX; + if ("informational".equals(codeString)) + return INFORMATIONAL; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown PriceComponentType code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case BASE: return "base"; + case SURCHARGE: return "surcharge"; + case DEDUCTION: return "deduction"; + case DISCOUNT: return "discount"; + case TAX: return "tax"; + case INFORMATIONAL: return "informational"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case BASE: return "http://hl7.org/fhir/price-component-type"; + case SURCHARGE: return "http://hl7.org/fhir/price-component-type"; + case DEDUCTION: return "http://hl7.org/fhir/price-component-type"; + case DISCOUNT: return "http://hl7.org/fhir/price-component-type"; + case TAX: return "http://hl7.org/fhir/price-component-type"; + case INFORMATIONAL: return "http://hl7.org/fhir/price-component-type"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case BASE: return "the amount is the base price used for calculating the total price before applying surcharges, discount or taxes."; + case SURCHARGE: return "the amount is a surcharge applied on the base price."; + case DEDUCTION: return "the amount is a deduction applied on the base price."; + case DISCOUNT: return "the amount is a discount applied on the base price."; + case TAX: return "the amount is the tax component of the total price."; + case INFORMATIONAL: return "the amount is of informational character, it has not been applied in the calculation of the total price."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case BASE: return "base price"; + case SURCHARGE: return "surcharge"; + case DEDUCTION: return "deduction"; + case DISCOUNT: return "discount"; + case TAX: return "tax"; + case INFORMATIONAL: return "informational"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class PriceComponentTypeEnumFactory implements EnumFactory { + public PriceComponentType fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("base".equals(codeString)) + return PriceComponentType.BASE; + if ("surcharge".equals(codeString)) + return PriceComponentType.SURCHARGE; + if ("deduction".equals(codeString)) + return PriceComponentType.DEDUCTION; + if ("discount".equals(codeString)) + return PriceComponentType.DISCOUNT; + if ("tax".equals(codeString)) + return PriceComponentType.TAX; + if ("informational".equals(codeString)) + return PriceComponentType.INFORMATIONAL; + throw new IllegalArgumentException("Unknown PriceComponentType code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("base".equals(codeString)) + return new Enumeration(this, PriceComponentType.BASE); + if ("surcharge".equals(codeString)) + return new Enumeration(this, PriceComponentType.SURCHARGE); + if ("deduction".equals(codeString)) + return new Enumeration(this, PriceComponentType.DEDUCTION); + if ("discount".equals(codeString)) + return new Enumeration(this, PriceComponentType.DISCOUNT); + if ("tax".equals(codeString)) + return new Enumeration(this, PriceComponentType.TAX); + if ("informational".equals(codeString)) + return new Enumeration(this, PriceComponentType.INFORMATIONAL); + throw new FHIRException("Unknown PriceComponentType code '"+codeString+"'"); + } + public String toCode(PriceComponentType code) { + if (code == PriceComponentType.BASE) + return "base"; + if (code == PriceComponentType.SURCHARGE) + return "surcharge"; + if (code == PriceComponentType.DEDUCTION) + return "deduction"; + if (code == PriceComponentType.DISCOUNT) + return "discount"; + if (code == PriceComponentType.TAX) + return "tax"; + if (code == PriceComponentType.INFORMATIONAL) + return "informational"; + return "?"; + } + public String toSystem(PriceComponentType code) { + return code.getSystem(); + } + } + + /** + * base | surcharge | deduction | discount | tax | informational. + */ + @Child(name = "type", type = {CodeType.class}, order=0, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="base | surcharge | deduction | discount | tax | informational", formalDefinition="base | surcharge | deduction | discount | tax | informational." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/price-component-type") + protected Enumeration type; + + /** + * Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", formalDefinition="Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc." ) + protected CodeableConcept code; + + /** + * Factor used for calculating this component. + */ + @Child(name = "factor", type = {DecimalType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Factor used for calculating this component", formalDefinition="Factor used for calculating this component." ) + protected DecimalType factor; + + /** + * Explicit value amount to be used. + */ + @Child(name = "amount", type = {Money.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Explicit value amount to be used", formalDefinition="Explicit value amount to be used." ) + protected Money amount; + + private static final long serialVersionUID = 576423679L; + + /** + * Constructor + */ + public MonetaryComponent() { + super(); + } + + /** + * Constructor + */ + public MonetaryComponent(PriceComponentType type) { + super(); + this.setType(type); + } + + /** + * @return {@link #type} (base | surcharge | deduction | discount | tax | informational.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public Enumeration getTypeElement() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MonetaryComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new Enumeration(new PriceComponentTypeEnumFactory()); // bb + return this.type; + } + + public boolean hasTypeElement() { + return this.type != null && !this.type.isEmpty(); + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (base | surcharge | deduction | discount | tax | informational.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public MonetaryComponent setTypeElement(Enumeration value) { + this.type = value; + return this; + } + + /** + * @return base | surcharge | deduction | discount | tax | informational. + */ + public PriceComponentType getType() { + return this.type == null ? null : this.type.getValue(); + } + + /** + * @param value base | surcharge | deduction | discount | tax | informational. + */ + public MonetaryComponent setType(PriceComponentType value) { + if (this.type == null) + this.type = new Enumeration(new PriceComponentTypeEnumFactory()); + this.type.setValue(value); + return this; + } + + /** + * @return {@link #code} (Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.) + */ + public CodeableConcept getCode() { + if (this.code == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MonetaryComponent.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeableConcept(); // cc + return this.code; + } + + public boolean hasCode() { + return this.code != null && !this.code.isEmpty(); + } + + /** + * @param value {@link #code} (Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.) + */ + public MonetaryComponent setCode(CodeableConcept value) { + this.code = value; + return this; + } + + /** + * @return {@link #factor} (Factor used for calculating this component.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value + */ + public DecimalType getFactorElement() { + if (this.factor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MonetaryComponent.factor"); + else if (Configuration.doAutoCreate()) + this.factor = new DecimalType(); // bb + return this.factor; + } + + public boolean hasFactorElement() { + return this.factor != null && !this.factor.isEmpty(); + } + + public boolean hasFactor() { + return this.factor != null && !this.factor.isEmpty(); + } + + /** + * @param value {@link #factor} (Factor used for calculating this component.). This is the underlying object with id, value and extensions. The accessor "getFactor" gives direct access to the value + */ + public MonetaryComponent setFactorElement(DecimalType value) { + this.factor = value; + return this; + } + + /** + * @return Factor used for calculating this component. + */ + public BigDecimal getFactor() { + return this.factor == null ? null : this.factor.getValue(); + } + + /** + * @param value Factor used for calculating this component. + */ + public MonetaryComponent setFactor(BigDecimal value) { + if (value == null) + this.factor = null; + else { + if (this.factor == null) + this.factor = new DecimalType(); + this.factor.setValue(value); + } + return this; + } + + /** + * @param value Factor used for calculating this component. + */ + public MonetaryComponent setFactor(long value) { + this.factor = new DecimalType(); + this.factor.setValue(value); + return this; + } + + /** + * @param value Factor used for calculating this component. + */ + public MonetaryComponent setFactor(double value) { + this.factor = new DecimalType(); + this.factor.setValue(value); + return this; + } + + /** + * @return {@link #amount} (Explicit value amount to be used.) + */ + public Money getAmount() { + if (this.amount == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create MonetaryComponent.amount"); + else if (Configuration.doAutoCreate()) + this.amount = new Money(); // cc + return this.amount; + } + + public boolean hasAmount() { + return this.amount != null && !this.amount.isEmpty(); + } + + /** + * @param value {@link #amount} (Explicit value amount to be used.) + */ + public MonetaryComponent setAmount(Money value) { + this.amount = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "code", "base | surcharge | deduction | discount | tax | informational.", 0, 1, type)); + children.add(new Property("code", "CodeableConcept", "Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", 0, 1, code)); + children.add(new Property("factor", "decimal", "Factor used for calculating this component.", 0, 1, factor)); + children.add(new Property("amount", "Money", "Explicit value amount to be used.", 0, 1, amount)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "code", "base | surcharge | deduction | discount | tax | informational.", 0, 1, type); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Codes may be used to differentiate between kinds of taxes, surcharges, discounts etc.", 0, 1, code); + case -1282148017: /*factor*/ return new Property("factor", "decimal", "Factor used for calculating this component.", 0, 1, factor); + case -1413853096: /*amount*/ return new Property("amount", "Money", "Explicit value amount to be used.", 0, 1, amount); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept + case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType + case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : new Base[] {this.amount}; // Money + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + value = new PriceComponentTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + return value; + case 3059181: // code + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1282148017: // factor + this.factor = TypeConvertor.castToDecimal(value); // DecimalType + return value; + case -1413853096: // amount + this.amount = TypeConvertor.castToMoney(value); // Money + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + value = new PriceComponentTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + } else if (name.equals("code")) { + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("factor")) { + this.factor = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("amount")) { + this.amount = TypeConvertor.castToMoney(value); // Money + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getTypeElement(); + case 3059181: return getCode(); + case -1282148017: return getFactorElement(); + case -1413853096: return getAmount(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"code"}; + case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case -1282148017: /*factor*/ return new String[] {"decimal"}; + case -1413853096: /*amount*/ return new String[] {"Money"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + throw new FHIRException("Cannot call addChild on a primitive type MonetaryComponent.type"); + } + else if (name.equals("code")) { + this.code = new CodeableConcept(); + return this.code; + } + else if (name.equals("factor")) { + throw new FHIRException("Cannot call addChild on a primitive type MonetaryComponent.factor"); + } + else if (name.equals("amount")) { + this.amount = new Money(); + return this.amount; + } + else + return super.addChild(name); + } + + public String fhirType() { + return "MonetaryComponent"; + + } + + public MonetaryComponent copy() { + MonetaryComponent dst = new MonetaryComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(MonetaryComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + dst.code = code == null ? null : code.copy(); + dst.factor = factor == null ? null : factor.copy(); + dst.amount = amount == null ? null : amount.copy(); + } + + protected MonetaryComponent typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof MonetaryComponent)) + return false; + MonetaryComponent o = (MonetaryComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(code, o.code, true) && compareDeep(factor, o.factor, true) + && compareDeep(amount, o.amount, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof MonetaryComponent)) + return false; + MonetaryComponent o = (MonetaryComponent) other_; + return compareValues(type, o.type, true) && compareValues(factor, o.factor, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, code, factor, amount + ); + } + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Money.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Money.java index cc67178f9..16dcf8ae7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Money.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Money.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Money Type: An amount of economic utility in some recognized currency. + * Money Type: An amount of economic utility in some recognized currency. */ @DatatypeDef(name="Money") public class Money extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java index da9184c9b..292154e7b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NamingSystem.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -815,37 +815,44 @@ public class NamingSystem extends MetadataResource { } /** - * An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers. + * An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this naming system, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this naming system, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers." ) protected UriType url; + /** + * A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance. + */ + @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Additional identifier for the naming system (business identifier)", formalDefinition="A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance." ) + protected List identifier; + /** * The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. */ - @Child(name = "version", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Business version of the naming system", formalDefinition="The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; /** * A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this naming system (computer friendly)", formalDefinition="A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the naming system. */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Title for this naming system (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the naming system." ) protected StringType title; /** * The status of this naming system. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this naming system. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -853,84 +860,169 @@ public class NamingSystem extends MetadataResource { /** * Indicates the purpose for the naming system - what kinds of things does it make unique? */ - @Child(name = "kind", type = {CodeType.class}, order=5, min=1, max=1, modifier=false, summary=true) + @Child(name = "kind", type = {CodeType.class}, order=6, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="codesystem | identifier | root", formalDefinition="Indicates the purpose for the naming system - what kinds of things does it make unique?" ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/namingsystem-type") protected Enumeration kind; + /** + * A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) + protected BooleanType experimental; + /** * The date (and optionally time) when the naming system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=6, min=1, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the naming system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the naming system. + * The name of the organization or individual responsible for the release and ongoing maintenance of the naming system. */ - @Child(name = "publisher", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the naming system." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the naming system." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision. */ - @Child(name = "responsible", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "responsible", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Who maintains system namespace?", formalDefinition="The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision." ) protected StringType responsible; /** * Categorizes a naming system for easier search by grouping related naming systems. */ - @Child(name = "type", type = {CodeableConcept.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "type", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="e.g. driver, provider, patient, bank etc.", formalDefinition="Categorizes a naming system for easier search by grouping related naming systems." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/identifier-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/namingsystem-identifier-system-type") protected CodeableConcept type; /** * A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc. */ - @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the naming system", formalDefinition="A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate naming system instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate naming system instances." ) protected List useContext; /** * A legal or geographic region in which the naming system is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for naming system (if applicable)", formalDefinition="A legal or geographic region in which the naming system is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; + /** + * Explanation of why this naming system is needed and why it has been designed as it has. + */ + @Child(name = "purpose", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Why this naming system is defined", formalDefinition="Explanation of why this naming system is needed and why it has been designed as it has." ) + protected MarkdownType purpose; + + /** + * A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system. + */ + @Child(name = "copyright", type = {MarkdownType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system." ) + protected MarkdownType copyright; + + /** + * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + @Child(name = "approvalDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the NamingSystem was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) + protected DateType approvalDate; + + /** + * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + @Child(name = "lastReviewDate", type = {DateType.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the NamingSystem was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) + protected DateType lastReviewDate; + + /** + * The period during which the NamingSystem content was or is planned to be in active use. + */ + @Child(name = "effectivePeriod", type = {Period.class}, order=20, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When the NamingSystem is expected to be used", formalDefinition="The period during which the NamingSystem content was or is planned to be in active use." ) + protected Period effectivePeriod; + + /** + * Descriptions related to the content of the NamingSystem. Topics provide a high-level categorization as well as keywords for the NamingSystem that can be useful for filtering and searching. + */ + @Child(name = "topic", type = {CodeableConcept.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc.", formalDefinition="Descriptions related to the content of the NamingSystem. Topics provide a high-level categorization as well as keywords for the NamingSystem that can be useful for filtering and searching." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") + protected List topic; + + /** + * An individiual or organization primarily involved in the creation and maintenance of the NamingSystem. + */ + @Child(name = "author", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who authored the CodeSystem", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the NamingSystem." ) + protected List author; + + /** + * An individual or organization primarily responsible for internal coherence of the NamingSystem. + */ + @Child(name = "editor", type = {ContactDetail.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who edited the NamingSystem", formalDefinition="An individual or organization primarily responsible for internal coherence of the NamingSystem." ) + protected List editor; + + /** + * An individual or organization primarily responsible for review of some aspect of the NamingSystem. + */ + @Child(name = "reviewer", type = {ContactDetail.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who reviewed the NamingSystem", formalDefinition="An individual or organization primarily responsible for review of some aspect of the NamingSystem." ) + protected List reviewer; + + /** + * An individual or organization responsible for officially endorsing the NamingSystem for use in some setting. + */ + @Child(name = "endorser", type = {ContactDetail.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who endorsed the NamingSystem", formalDefinition="An individual or organization responsible for officially endorsing the NamingSystem for use in some setting." ) + protected List endorser; + + /** + * Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts. + */ + @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts." ) + protected List relatedArtifact; + /** * Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc. */ - @Child(name = "usage", type = {StringType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "usage", type = {StringType.class}, order=27, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="How/where is it used", formalDefinition="Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc." ) protected StringType usage; /** * Indicates how the system may be identified when referenced in electronic exchange. */ - @Child(name = "uniqueId", type = {}, order=15, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "uniqueId", type = {}, order=28, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Unique identifiers used for system", formalDefinition="Indicates how the system may be identified when referenced in electronic exchange." ) protected List uniqueId; - private static final long serialVersionUID = 329180848L; + private static final long serialVersionUID = -1376552858L; /** * Constructor @@ -952,7 +1044,7 @@ public class NamingSystem extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -972,7 +1064,7 @@ public class NamingSystem extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public NamingSystem setUrlElement(UriType value) { this.url = value; @@ -980,14 +1072,14 @@ public class NamingSystem extends MetadataResource { } /** - * @return An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers. + * @return An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers. + * @param value An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers. */ public NamingSystem setUrl(String value) { if (Utilities.noString(value)) @@ -1000,6 +1092,59 @@ public class NamingSystem extends MetadataResource { return this; } + /** + * @return {@link #identifier} (A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public NamingSystem addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + /** * @return {@link #version} (The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value */ @@ -1233,6 +1378,51 @@ public class NamingSystem extends MetadataResource { return this; } + /** + * @return {@link #experimental} (A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value + */ + public BooleanType getExperimentalElement() { + if (this.experimental == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NamingSystem.experimental"); + else if (Configuration.doAutoCreate()) + this.experimental = new BooleanType(); // bb + return this.experimental; + } + + public boolean hasExperimentalElement() { + return this.experimental != null && !this.experimental.isEmpty(); + } + + public boolean hasExperimental() { + return this.experimental != null && !this.experimental.isEmpty(); + } + + /** + * @param value {@link #experimental} (A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value + */ + public NamingSystem setExperimentalElement(BooleanType value) { + this.experimental = value; + return this; + } + + /** + * @return A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + public boolean getExperimental() { + return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); + } + + /** + * @param value A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + public NamingSystem setExperimental(boolean value) { + if (this.experimental == null) + this.experimental = new BooleanType(); + this.experimental.setValue(value); + return this; + } + /** * @return {@link #date} (The date (and optionally time) when the naming system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ @@ -1279,7 +1469,7 @@ public class NamingSystem extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the naming system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the naming system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -1299,7 +1489,7 @@ public class NamingSystem extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the naming system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the naming system.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public NamingSystem setPublisherElement(StringType value) { this.publisher = value; @@ -1307,14 +1497,14 @@ public class NamingSystem extends MetadataResource { } /** - * @return The name of the organization or individual that published the naming system. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the naming system. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the naming system. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the naming system. */ public NamingSystem setPublisher(String value) { if (Utilities.noString(value)) @@ -1608,6 +1798,544 @@ public class NamingSystem extends MetadataResource { return getJurisdiction().get(0); } + /** + * @return {@link #purpose} (Explanation of why this naming system is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public MarkdownType getPurposeElement() { + if (this.purpose == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NamingSystem.purpose"); + else if (Configuration.doAutoCreate()) + this.purpose = new MarkdownType(); // bb + return this.purpose; + } + + public boolean hasPurposeElement() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + public boolean hasPurpose() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + /** + * @param value {@link #purpose} (Explanation of why this naming system is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public NamingSystem setPurposeElement(MarkdownType value) { + this.purpose = value; + return this; + } + + /** + * @return Explanation of why this naming system is needed and why it has been designed as it has. + */ + public String getPurpose() { + return this.purpose == null ? null : this.purpose.getValue(); + } + + /** + * @param value Explanation of why this naming system is needed and why it has been designed as it has. + */ + public NamingSystem setPurpose(String value) { + if (value == null) + this.purpose = null; + else { + if (this.purpose == null) + this.purpose = new MarkdownType(); + this.purpose.setValue(value); + } + return this; + } + + /** + * @return {@link #copyright} (A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public MarkdownType getCopyrightElement() { + if (this.copyright == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NamingSystem.copyright"); + else if (Configuration.doAutoCreate()) + this.copyright = new MarkdownType(); // bb + return this.copyright; + } + + public boolean hasCopyrightElement() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + public boolean hasCopyright() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + /** + * @param value {@link #copyright} (A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public NamingSystem setCopyrightElement(MarkdownType value) { + this.copyright = value; + return this; + } + + /** + * @return A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system. + */ + public String getCopyright() { + return this.copyright == null ? null : this.copyright.getValue(); + } + + /** + * @param value A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system. + */ + public NamingSystem setCopyright(String value) { + if (value == null) + this.copyright = null; + else { + if (this.copyright == null) + this.copyright = new MarkdownType(); + this.copyright.setValue(value); + } + return this; + } + + /** + * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public DateType getApprovalDateElement() { + if (this.approvalDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NamingSystem.approvalDate"); + else if (Configuration.doAutoCreate()) + this.approvalDate = new DateType(); // bb + return this.approvalDate; + } + + public boolean hasApprovalDateElement() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + public boolean hasApprovalDate() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + /** + * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public NamingSystem setApprovalDateElement(DateType value) { + this.approvalDate = value; + return this; + } + + /** + * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public Date getApprovalDate() { + return this.approvalDate == null ? null : this.approvalDate.getValue(); + } + + /** + * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public NamingSystem setApprovalDate(Date value) { + if (value == null) + this.approvalDate = null; + else { + if (this.approvalDate == null) + this.approvalDate = new DateType(); + this.approvalDate.setValue(value); + } + return this; + } + + /** + * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public DateType getLastReviewDateElement() { + if (this.lastReviewDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NamingSystem.lastReviewDate"); + else if (Configuration.doAutoCreate()) + this.lastReviewDate = new DateType(); // bb + return this.lastReviewDate; + } + + public boolean hasLastReviewDateElement() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + public boolean hasLastReviewDate() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + /** + * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public NamingSystem setLastReviewDateElement(DateType value) { + this.lastReviewDate = value; + return this; + } + + /** + * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public Date getLastReviewDate() { + return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); + } + + /** + * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public NamingSystem setLastReviewDate(Date value) { + if (value == null) + this.lastReviewDate = null; + else { + if (this.lastReviewDate == null) + this.lastReviewDate = new DateType(); + this.lastReviewDate.setValue(value); + } + return this; + } + + /** + * @return {@link #effectivePeriod} (The period during which the NamingSystem content was or is planned to be in active use.) + */ + public Period getEffectivePeriod() { + if (this.effectivePeriod == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NamingSystem.effectivePeriod"); + else if (Configuration.doAutoCreate()) + this.effectivePeriod = new Period(); // cc + return this.effectivePeriod; + } + + public boolean hasEffectivePeriod() { + return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); + } + + /** + * @param value {@link #effectivePeriod} (The period during which the NamingSystem content was or is planned to be in active use.) + */ + public NamingSystem setEffectivePeriod(Period value) { + this.effectivePeriod = value; + return this; + } + + /** + * @return {@link #topic} (Descriptions related to the content of the NamingSystem. Topics provide a high-level categorization as well as keywords for the NamingSystem that can be useful for filtering and searching.) + */ + public List getTopic() { + if (this.topic == null) + this.topic = new ArrayList(); + return this.topic; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setTopic(List theTopic) { + this.topic = theTopic; + return this; + } + + public boolean hasTopic() { + if (this.topic == null) + return false; + for (CodeableConcept item : this.topic) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addTopic() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return t; + } + + public NamingSystem addTopic(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {3} + */ + public CodeableConcept getTopicFirstRep() { + if (getTopic().isEmpty()) { + addTopic(); + } + return getTopic().get(0); + } + + /** + * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the NamingSystem.) + */ + public List getAuthor() { + if (this.author == null) + this.author = new ArrayList(); + return this.author; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setAuthor(List theAuthor) { + this.author = theAuthor; + return this; + } + + public boolean hasAuthor() { + if (this.author == null) + return false; + for (ContactDetail item : this.author) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addAuthor() { //3 + ContactDetail t = new ContactDetail(); + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return t; + } + + public NamingSystem addAuthor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} + */ + public ContactDetail getAuthorFirstRep() { + if (getAuthor().isEmpty()) { + addAuthor(); + } + return getAuthor().get(0); + } + + /** + * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the NamingSystem.) + */ + public List getEditor() { + if (this.editor == null) + this.editor = new ArrayList(); + return this.editor; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setEditor(List theEditor) { + this.editor = theEditor; + return this; + } + + public boolean hasEditor() { + if (this.editor == null) + return false; + for (ContactDetail item : this.editor) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEditor() { //3 + ContactDetail t = new ContactDetail(); + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return t; + } + + public NamingSystem addEditor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3} + */ + public ContactDetail getEditorFirstRep() { + if (getEditor().isEmpty()) { + addEditor(); + } + return getEditor().get(0); + } + + /** + * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the NamingSystem.) + */ + public List getReviewer() { + if (this.reviewer == null) + this.reviewer = new ArrayList(); + return this.reviewer; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setReviewer(List theReviewer) { + this.reviewer = theReviewer; + return this; + } + + public boolean hasReviewer() { + if (this.reviewer == null) + return false; + for (ContactDetail item : this.reviewer) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addReviewer() { //3 + ContactDetail t = new ContactDetail(); + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return t; + } + + public NamingSystem addReviewer(ContactDetail t) { //3 + if (t == null) + return this; + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3} + */ + public ContactDetail getReviewerFirstRep() { + if (getReviewer().isEmpty()) { + addReviewer(); + } + return getReviewer().get(0); + } + + /** + * @return {@link #endorser} (An individual or organization responsible for officially endorsing the NamingSystem for use in some setting.) + */ + public List getEndorser() { + if (this.endorser == null) + this.endorser = new ArrayList(); + return this.endorser; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setEndorser(List theEndorser) { + this.endorser = theEndorser; + return this; + } + + public boolean hasEndorser() { + if (this.endorser == null) + return false; + for (ContactDetail item : this.endorser) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEndorser() { //3 + ContactDetail t = new ContactDetail(); + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return t; + } + + public NamingSystem addEndorser(ContactDetail t) { //3 + if (t == null) + return this; + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3} + */ + public ContactDetail getEndorserFirstRep() { + if (getEndorser().isEmpty()) { + addEndorser(); + } + return getEndorser().get(0); + } + + /** + * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) + */ + public List getRelatedArtifact() { + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + return this.relatedArtifact; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NamingSystem setRelatedArtifact(List theRelatedArtifact) { + this.relatedArtifact = theRelatedArtifact; + return this; + } + + public boolean hasRelatedArtifact() { + if (this.relatedArtifact == null) + return false; + for (RelatedArtifact item : this.relatedArtifact) + if (!item.isEmpty()) + return true; + return false; + } + + public RelatedArtifact addRelatedArtifact() { //3 + RelatedArtifact t = new RelatedArtifact(); + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return t; + } + + public NamingSystem addRelatedArtifact(RelatedArtifact t) { //3 + if (t == null) + return this; + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} + */ + public RelatedArtifact getRelatedArtifactFirstRep() { + if (getRelatedArtifact().isEmpty()) { + addRelatedArtifact(); + } + return getRelatedArtifact().get(0); + } + /** * @return {@link #usage} (Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.). This is the underlying object with id, value and extensions. The accessor "getUsage" gives direct access to the value */ @@ -1714,466 +2442,108 @@ public class NamingSystem extends MetadataResource { * not supported on this implementation */ @Override - public int getIdentifierMax() { + public int getVersionAlgorithmMax() { return 0; } /** - * @return {@link #identifier} (A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance.) + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public List getIdentifier() { - return new ArrayList<>(); + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"versionAlgorithm[x]\""); } /** - * @return Returns a reference to this for easy method chaining + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public NamingSystem setIdentifier(List theIdentifier) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\""); + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"versionAlgorithm[x]\""); } - public boolean hasIdentifier() { - return false; - } - - public Identifier addIdentifier() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\""); - } - public NamingSystem addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\""); + public boolean hasVersionAlgorithmStringType() { + return false;////K } /** - * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"identifier\""); + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"versionAlgorithm[x]\""); } - /** - * not supported on this implementation - */ - @Override - public int getExperimentalMax() { - return 0; + public boolean hasVersionAlgorithmCoding() { + return false;////K } - /** - * @return {@link #experimental} (A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value - */ - public BooleanType getExperimentalElement() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\""); - } - - public boolean hasExperimentalElement() { - return false; - } - public boolean hasExperimental() { - return false; - } - - /** - * @param value {@link #experimental} (A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value - */ - public NamingSystem setExperimentalElement(BooleanType value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\""); - } - public boolean getExperimental() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\""); - } - /** - * @param value A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. - */ - public NamingSystem setExperimental(boolean value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"experimental\""); - } - /** - * not supported on this implementation - */ - @Override - public int getPurposeMax() { - return 0; - } - /** - * @return {@link #purpose} (Explanation of why this naming system is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value - */ - public MarkdownType getPurposeElement() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\""); - } - - public boolean hasPurposeElement() { - return false; - } - public boolean hasPurpose() { - return false; - } - - /** - * @param value {@link #purpose} (Explanation of why this naming system is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value - */ - public NamingSystem setPurposeElement(MarkdownType value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\""); - } - public String getPurpose() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\""); - } - /** - * @param value Explanation of why this naming system is needed and why it has been designed as it has. - */ - public NamingSystem setPurpose(String value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"purpose\""); - } - /** - * not supported on this implementation - */ - @Override - public int getCopyrightMax() { - return 0; - } - /** - * @return {@link #copyright} (A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value - */ - public MarkdownType getCopyrightElement() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\""); - } - - public boolean hasCopyrightElement() { - return false; - } - public boolean hasCopyright() { - return false; - } - - /** - * @param value {@link #copyright} (A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value - */ - public NamingSystem setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\""); - } - public String getCopyright() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\""); - } - /** - * @param value A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system. - */ - public NamingSystem setCopyright(String value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyright\""); - } - /** - * not supported on this implementation - */ - @Override - public int getApprovalDateMax() { - return 0; - } - /** - * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value - */ - public DateType getApprovalDateElement() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\""); - } - - public boolean hasApprovalDateElement() { - return false; - } - public boolean hasApprovalDate() { - return false; - } - - /** - * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value - */ - public NamingSystem setApprovalDateElement(DateType value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\""); - } - public Date getApprovalDate() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\""); - } - /** - * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. - */ - public NamingSystem setApprovalDate(Date value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"approvalDate\""); - } - /** - * not supported on this implementation - */ - @Override - public int getLastReviewDateMax() { - return 0; - } - /** - * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value - */ - public DateType getLastReviewDateElement() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\""); - } - - public boolean hasLastReviewDateElement() { - return false; - } - public boolean hasLastReviewDate() { - return false; - } - - /** - * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value - */ - public NamingSystem setLastReviewDateElement(DateType value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\""); - } - public Date getLastReviewDate() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\""); - } - /** - * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. - */ - public NamingSystem setLastReviewDate(Date value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"lastReviewDate\""); - } - /** - * not supported on this implementation - */ - @Override - public int getEffectivePeriodMax() { - return 0; - } - /** - * @return {@link #effectivePeriod} (The period during which the naming system content was or is planned to be in active use.) - */ - public Period getEffectivePeriod() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"effectivePeriod\""); - } - public boolean hasEffectivePeriod() { + public boolean hasVersionAlgorithm() { return false; } /** - * @param value {@link #effectivePeriod} (The period during which the naming system content was or is planned to be in active use.) + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) */ - public NamingSystem setEffectivePeriod(Period value) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"effectivePeriod\""); + public NamingSystem setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"versionAlgorithm[x]\""); } /** * not supported on this implementation */ @Override - public int getTopicMax() { + public int getCopyrightLabelMax() { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the naming system. Topics provide a high-level categorization of the naming system that can be useful for filtering and searching.) + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value */ - public List getTopic() { - return new ArrayList<>(); + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyrightLabel\""); } - /** - * @return Returns a reference to this for easy method chaining - */ - public NamingSystem setTopic(List theTopic) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\""); + + public boolean hasCopyrightLabelElement() { + return false; } - public boolean hasTopic() { + public boolean hasCopyrightLabel() { return false; } - public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\""); + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public NamingSystem setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyrightLabel\""); } - public NamingSystem addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\""); + public String getCopyrightLabel() { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyrightLabel\""); } /** - * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). */ - public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"topic\""); - } - /** - * not supported on this implementation - */ - @Override - public int getAuthorMax() { - return 0; - } - /** - * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the naming system.) - */ - public List getAuthor() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public NamingSystem setAuthor(List theAuthor) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\""); - } - public boolean hasAuthor() { - return false; - } - - public ContactDetail addAuthor() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\""); - } - public NamingSystem addAuthor(ContactDetail t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\""); - } - /** - * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} - */ - public ContactDetail getAuthorFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"author\""); - } - /** - * not supported on this implementation - */ - @Override - public int getEditorMax() { - return 0; - } - /** - * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the naming system.) - */ - public List getEditor() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public NamingSystem setEditor(List theEditor) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\""); - } - public boolean hasEditor() { - return false; - } - - public ContactDetail addEditor() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\""); - } - public NamingSystem addEditor(ContactDetail t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\""); - } - /** - * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} - */ - public ContactDetail getEditorFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"editor\""); - } - /** - * not supported on this implementation - */ - @Override - public int getReviewerMax() { - return 0; - } - /** - * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the naming system.) - */ - public List getReviewer() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public NamingSystem setReviewer(List theReviewer) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\""); - } - public boolean hasReviewer() { - return false; - } - - public ContactDetail addReviewer() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\""); - } - public NamingSystem addReviewer(ContactDetail t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\""); - } - /** - * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} - */ - public ContactDetail getReviewerFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"reviewer\""); - } - /** - * not supported on this implementation - */ - @Override - public int getEndorserMax() { - return 0; - } - /** - * @return {@link #endorser} (An individual or organization responsible for officially endorsing the naming system for use in some setting.) - */ - public List getEndorser() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public NamingSystem setEndorser(List theEndorser) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\""); - } - public boolean hasEndorser() { - return false; - } - - public ContactDetail addEndorser() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\""); - } - public NamingSystem addEndorser(ContactDetail t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\""); - } - /** - * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} - */ - public ContactDetail getEndorserFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"endorser\""); - } - /** - * not supported on this implementation - */ - @Override - public int getRelatedArtifactMax() { - return 0; - } - /** - * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) - */ - public List getRelatedArtifact() { - return new ArrayList<>(); - } - /** - * @return Returns a reference to this for easy method chaining - */ - public NamingSystem setRelatedArtifact(List theRelatedArtifact) { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\""); - } - public boolean hasRelatedArtifact() { - return false; - } - - public RelatedArtifact addRelatedArtifact() { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\""); - } - public NamingSystem addRelatedArtifact(RelatedArtifact t) { //3 - throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\""); - } - /** - * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} - */ - public RelatedArtifact getRelatedArtifactFirstRep() { - throw new Error("The resource type \"NamingSystem\" does not implement the property \"relatedArtifact\""); + public NamingSystem setCopyrightLabel(String value) { + throw new Error("The resource type \"NamingSystem\" does not implement the property \"copyrightLabel\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.", 0, 1, url)); + children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the naming system.", 0, 1, title)); children.add(new Property("status", "code", "The status of this naming system. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("kind", "code", "Indicates the purpose for the naming system - what kinds of things does it make unique?", 0, 1, kind)); + children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the naming system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the naming system.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the naming system.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("responsible", "string", "The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.", 0, 1, responsible)); children.add(new Property("type", "CodeableConcept", "Categorizes a naming system for easier search by grouping related naming systems.", 0, 1, type)); children.add(new Property("description", "markdown", "A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate naming system instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the naming system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); + children.add(new Property("purpose", "markdown", "Explanation of why this naming system is needed and why it has been designed as it has.", 0, 1, purpose)); + children.add(new Property("copyright", "markdown", "A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.", 0, 1, copyright)); + children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); + children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); + children.add(new Property("effectivePeriod", "Period", "The period during which the NamingSystem content was or is planned to be in active use.", 0, 1, effectivePeriod)); + children.add(new Property("topic", "CodeableConcept", "Descriptions related to the content of the NamingSystem. Topics provide a high-level categorization as well as keywords for the NamingSystem that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); + children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the NamingSystem.", 0, java.lang.Integer.MAX_VALUE, author)); + children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the NamingSystem.", 0, java.lang.Integer.MAX_VALUE, editor)); + children.add(new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the NamingSystem.", 0, java.lang.Integer.MAX_VALUE, reviewer)); + children.add(new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the NamingSystem for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); + children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); children.add(new Property("usage", "string", "Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.", 0, 1, usage)); children.add(new Property("uniqueId", "", "Indicates how the system may be identified when referenced in electronic exchange.", 0, java.lang.Integer.MAX_VALUE, uniqueId)); } @@ -2181,20 +2551,33 @@ public class NamingSystem extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this naming system when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this naming system is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the naming system is stored on different servers.", 0, 1, url); + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this naming system when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the naming system when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the naming system author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the naming system. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the naming system.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this naming system. Enables tracking the life-cycle of the content.", 0, 1, status); case 3292052: /*kind*/ return new Property("kind", "code", "Indicates the purpose for the naming system - what kinds of things does it make unique?", 0, 1, kind); + case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this naming system is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the naming system was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the naming system changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the naming system.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the naming system.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case 1847674614: /*responsible*/ return new Property("responsible", "string", "The name of the organization that is responsible for issuing identifiers or codes for this namespace and ensuring their non-collision.", 0, 1, responsible); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Categorizes a naming system for easier search by grouping related naming systems.", 0, 1, type); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the naming system from a consumer's perspective. Details about what the namespace identifies including scope, granularity, version labeling, etc.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate naming system instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the naming system is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); + case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this naming system is needed and why it has been designed as it has.", 0, 1, purpose); + case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the naming system and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the naming system.", 0, 1, copyright); + case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); + case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); + case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the NamingSystem content was or is planned to be in active use.", 0, 1, effectivePeriod); + case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptions related to the content of the NamingSystem. Topics provide a high-level categorization as well as keywords for the NamingSystem that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); + case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the NamingSystem.", 0, java.lang.Integer.MAX_VALUE, author); + case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the NamingSystem.", 0, java.lang.Integer.MAX_VALUE, editor); + case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the NamingSystem.", 0, java.lang.Integer.MAX_VALUE, reviewer); + case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the NamingSystem for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); + case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); case 111574433: /*usage*/ return new Property("usage", "string", "Provides guidance on the use of the namespace, including the handling of formatting characters, use of upper vs. lower case, etc.", 0, 1, usage); case -294460212: /*uniqueId*/ return new Property("uniqueId", "", "Indicates how the system may be identified when referenced in electronic exchange.", 0, java.lang.Integer.MAX_VALUE, uniqueId); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -2206,11 +2589,13 @@ public class NamingSystem extends MetadataResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration + case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail @@ -2219,6 +2604,17 @@ public class NamingSystem extends MetadataResource { case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept + case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType + case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType + case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType + case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period + case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept + case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail + case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail + case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail + case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail + case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact case 111574433: /*usage*/ return this.usage == null ? new Base[0] : new Base[] {this.usage}; // StringType case -294460212: /*uniqueId*/ return this.uniqueId == null ? new Base[0] : this.uniqueId.toArray(new Base[this.uniqueId.size()]); // NamingSystemUniqueIdComponent default: return super.getProperty(hash, name, checkValid); @@ -2232,6 +2628,9 @@ public class NamingSystem extends MetadataResource { case 116079: // url this.url = TypeConvertor.castToUri(value); // UriType return value; + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; @@ -2249,6 +2648,9 @@ public class NamingSystem extends MetadataResource { value = new NamingSystemTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.kind = (Enumeration) value; // Enumeration return value; + case -404562712: // experimental + this.experimental = TypeConvertor.castToBoolean(value); // BooleanType + return value; case 3076014: // date this.date = TypeConvertor.castToDateTime(value); // DateTimeType return value; @@ -2273,6 +2675,39 @@ public class NamingSystem extends MetadataResource { case -507075711: // jurisdiction this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case -220463842: // purpose + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 1522889671: // copyright + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 223539345: // approvalDate + this.approvalDate = TypeConvertor.castToDate(value); // DateType + return value; + case -1687512484: // lastReviewDate + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + return value; + case -403934648: // effectivePeriod + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + return value; + case 110546223: // topic + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1406328437: // author + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -1307827859: // editor + this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -261190139: // reviewer + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 1740277666: // endorser + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 666807069: // relatedArtifact + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact + return value; case 111574433: // usage this.usage = TypeConvertor.castToString(value); // StringType return value; @@ -2288,6 +2723,8 @@ public class NamingSystem extends MetadataResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("url")) { this.url = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType } else if (name.equals("name")) { @@ -2300,6 +2737,8 @@ public class NamingSystem extends MetadataResource { } else if (name.equals("kind")) { value = new NamingSystemTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.kind = (Enumeration) value; // Enumeration + } else if (name.equals("experimental")) { + this.experimental = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("date")) { this.date = TypeConvertor.castToDateTime(value); // DateTimeType } else if (name.equals("publisher")) { @@ -2316,6 +2755,28 @@ public class NamingSystem extends MetadataResource { this.getUseContext().add(TypeConvertor.castToUsageContext(value)); } else if (name.equals("jurisdiction")) { this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("purpose")) { + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyright")) { + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("approvalDate")) { + this.approvalDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("lastReviewDate")) { + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("effectivePeriod")) { + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("topic")) { + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("author")) { + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("editor")) { + this.getEditor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("reviewer")) { + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("endorser")) { + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("relatedArtifact")) { + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); } else if (name.equals("usage")) { this.usage = TypeConvertor.castToString(value); // StringType } else if (name.equals("uniqueId")) { @@ -2329,11 +2790,13 @@ public class NamingSystem extends MetadataResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 116079: return getUrlElement(); + case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); case 3292052: return getKindElement(); + case -404562712: return getExperimentalElement(); case 3076014: return getDateElement(); case 1447404028: return getPublisherElement(); case 951526432: return addContact(); @@ -2342,6 +2805,17 @@ public class NamingSystem extends MetadataResource { case -1724546052: return getDescriptionElement(); case -669707736: return addUseContext(); case -507075711: return addJurisdiction(); + case -220463842: return getPurposeElement(); + case 1522889671: return getCopyrightElement(); + case 223539345: return getApprovalDateElement(); + case -1687512484: return getLastReviewDateElement(); + case -403934648: return getEffectivePeriod(); + case 110546223: return addTopic(); + case -1406328437: return addAuthor(); + case -1307827859: return addEditor(); + case -261190139: return addReviewer(); + case 1740277666: return addEndorser(); + case 666807069: return addRelatedArtifact(); case 111574433: return getUsageElement(); case -294460212: return addUniqueId(); default: return super.makeProperty(hash, name); @@ -2353,11 +2827,13 @@ public class NamingSystem extends MetadataResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; case 3292052: /*kind*/ return new String[] {"code"}; + case -404562712: /*experimental*/ return new String[] {"boolean"}; case 3076014: /*date*/ return new String[] {"dateTime"}; case 1447404028: /*publisher*/ return new String[] {"string"}; case 951526432: /*contact*/ return new String[] {"ContactDetail"}; @@ -2366,6 +2842,17 @@ public class NamingSystem extends MetadataResource { case -1724546052: /*description*/ return new String[] {"markdown"}; case -669707736: /*useContext*/ return new String[] {"UsageContext"}; case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; + case -220463842: /*purpose*/ return new String[] {"markdown"}; + case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 223539345: /*approvalDate*/ return new String[] {"date"}; + case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; + case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; + case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; + case -1406328437: /*author*/ return new String[] {"ContactDetail"}; + case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; + case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; + case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; + case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; case 111574433: /*usage*/ return new String[] {"string"}; case -294460212: /*uniqueId*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -2378,6 +2865,9 @@ public class NamingSystem extends MetadataResource { if (name.equals("url")) { throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.url"); } + else if (name.equals("identifier")) { + return addIdentifier(); + } else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.version"); } @@ -2393,6 +2883,9 @@ public class NamingSystem extends MetadataResource { else if (name.equals("kind")) { throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.kind"); } + else if (name.equals("experimental")) { + throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.experimental"); + } else if (name.equals("date")) { throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.date"); } @@ -2418,6 +2911,40 @@ public class NamingSystem extends MetadataResource { else if (name.equals("jurisdiction")) { return addJurisdiction(); } + else if (name.equals("purpose")) { + throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.purpose"); + } + else if (name.equals("copyright")) { + throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.copyright"); + } + else if (name.equals("approvalDate")) { + throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.approvalDate"); + } + else if (name.equals("lastReviewDate")) { + throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.lastReviewDate"); + } + else if (name.equals("effectivePeriod")) { + this.effectivePeriod = new Period(); + return this.effectivePeriod; + } + else if (name.equals("topic")) { + return addTopic(); + } + else if (name.equals("author")) { + return addAuthor(); + } + else if (name.equals("editor")) { + return addEditor(); + } + else if (name.equals("reviewer")) { + return addReviewer(); + } + else if (name.equals("endorser")) { + return addEndorser(); + } + else if (name.equals("relatedArtifact")) { + return addRelatedArtifact(); + } else if (name.equals("usage")) { throw new FHIRException("Cannot call addChild on a primitive type NamingSystem.usage"); } @@ -2442,11 +2969,17 @@ public class NamingSystem extends MetadataResource { public void copyValues(NamingSystem dst) { super.copyValues(dst); dst.url = url == null ? null : url.copy(); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; dst.version = version == null ? null : version.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); dst.kind = kind == null ? null : kind.copy(); + dst.experimental = experimental == null ? null : experimental.copy(); dst.date = date == null ? null : date.copy(); dst.publisher = publisher == null ? null : publisher.copy(); if (contact != null) { @@ -2467,6 +3000,41 @@ public class NamingSystem extends MetadataResource { for (CodeableConcept i : jurisdiction) dst.jurisdiction.add(i.copy()); }; + dst.purpose = purpose == null ? null : purpose.copy(); + dst.copyright = copyright == null ? null : copyright.copy(); + dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); + dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); + dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); + if (topic != null) { + dst.topic = new ArrayList(); + for (CodeableConcept i : topic) + dst.topic.add(i.copy()); + }; + if (author != null) { + dst.author = new ArrayList(); + for (ContactDetail i : author) + dst.author.add(i.copy()); + }; + if (editor != null) { + dst.editor = new ArrayList(); + for (ContactDetail i : editor) + dst.editor.add(i.copy()); + }; + if (reviewer != null) { + dst.reviewer = new ArrayList(); + for (ContactDetail i : reviewer) + dst.reviewer.add(i.copy()); + }; + if (endorser != null) { + dst.endorser = new ArrayList(); + for (ContactDetail i : endorser) + dst.endorser.add(i.copy()); + }; + if (relatedArtifact != null) { + dst.relatedArtifact = new ArrayList(); + for (RelatedArtifact i : relatedArtifact) + dst.relatedArtifact.add(i.copy()); + }; dst.usage = usage == null ? null : usage.copy(); if (uniqueId != null) { dst.uniqueId = new ArrayList(); @@ -2486,12 +3054,17 @@ public class NamingSystem extends MetadataResource { if (!(other_ instanceof NamingSystem)) return false; NamingSystem o = (NamingSystem) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) && compareDeep(kind, o.kind, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) - && compareDeep(responsible, o.responsible, true) && compareDeep(type, o.type, true) && compareDeep(description, o.description, true) - && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) - && compareDeep(usage, o.usage, true) && compareDeep(uniqueId, o.uniqueId, true); + return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(kind, o.kind, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(responsible, o.responsible, true) + && compareDeep(type, o.type, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) + && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) + && compareDeep(editor, o.editor, true) && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) + && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(usage, o.usage, true) && compareDeep(uniqueId, o.uniqueId, true) + ; } @Override @@ -2503,14 +3076,18 @@ public class NamingSystem extends MetadataResource { NamingSystem o = (NamingSystem) other_; return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(kind, o.kind, true) - && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(responsible, o.responsible, true) - && compareValues(description, o.description, true) && compareValues(usage, o.usage, true); + && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) + && compareValues(responsible, o.responsible, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) + && compareValues(lastReviewDate, o.lastReviewDate, true) && compareValues(usage, o.usage, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title - , status, kind, date, publisher, contact, responsible, type, description, useContext - , jurisdiction, usage, uniqueId); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version + , name, title, status, kind, experimental, date, publisher, contact, responsible + , type, description, useContext, jurisdiction, purpose, copyright, approvalDate + , lastReviewDate, effectivePeriod, topic, author, editor, reviewer, endorser, relatedArtifact + , usage, uniqueId); } @Override @@ -2538,6 +3115,32 @@ public class NamingSystem extends MetadataResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam CONTACT = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_CONTACT); + /** + * Search parameter: derived-from + *

+ * Description: A resource that the NamingSystem is derived from
+ * Type: reference
+ * Path: NamingSystem.relatedArtifact.where(type='derived-from').resource
+ *

+ */ + @SearchParamDefinition(name="derived-from", path="NamingSystem.relatedArtifact.where(type='derived-from').resource", description="A resource that the NamingSystem is derived from", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_DERIVED_FROM = "derived-from"; + /** + * Fluent Client search parameter constant for derived-from + *

+ * Description: A resource that the NamingSystem is derived from
+ * Type: reference
+ * Path: NamingSystem.relatedArtifact.where(type='derived-from').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "NamingSystem:derived-from". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("NamingSystem:derived-from").toLocked(); + /** * Search parameter: id-type *

@@ -2598,6 +3201,32 @@ public class NamingSystem extends MetadataResource { */ public static final ca.uhn.fhir.rest.gclient.DateClientParam PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_PERIOD); + /** + * Search parameter: predecessor + *

+ * Description: The predecessor of the NamingSystem
+ * Type: reference
+ * Path: NamingSystem.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + @SearchParamDefinition(name="predecessor", path="NamingSystem.relatedArtifact.where(type='predecessor').resource", description="The predecessor of the NamingSystem", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_PREDECESSOR = "predecessor"; + /** + * Fluent Client search parameter constant for predecessor + *

+ * Description: The predecessor of the NamingSystem
+ * Type: reference
+ * Path: NamingSystem.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "NamingSystem:predecessor". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("NamingSystem:predecessor").toLocked(); + /** * Search parameter: responsible *

@@ -2638,6 +3267,26 @@ public class NamingSystem extends MetadataResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); + /** + * Search parameter: topic + *

+ * Description: Topics associated with the NamingSystem
+ * Type: token
+ * Path: NamingSystem.topic
+ *

+ */ + @SearchParamDefinition(name="topic", path="NamingSystem.topic", description="Topics associated with the NamingSystem", type="token" ) + public static final String SP_TOPIC = "topic"; + /** + * Fluent Client search parameter constant for topic + *

+ * Description: Topics associated with the NamingSystem
+ * Type: token
+ * Path: NamingSystem.topic
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); + /** * Search parameter: type *

@@ -3042,6 +3691,78 @@ public class NamingSystem extends MetadataResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); + /** + * Search parameter: effective + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use +* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use +* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use +* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use +
+ * Type: date
+ * Path: CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod
+ *

+ */ + @SearchParamDefinition(name="effective", path="CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use\r\n* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use\r\n* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use\r\n* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use\r\n", type="date" ) + public static final String SP_EFFECTIVE = "effective"; + /** + * Fluent Client search parameter constant for effective + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use +* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use +* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use +* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use +
+ * Type: date
+ * Path: CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); + + /** + * Search parameter: identifier + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): External identifier for the code system +* [ConceptMap](conceptmap.html): External identifier for the concept map +* [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system +* [StructureDefinition](structuredefinition.html): External identifier for the structure definition +* [StructureMap](structuremap.html): External identifier for the structure map +* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities +* [ValueSet](valueset.html): External identifier for the value set +
+ * Type: token
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ *

+ */ + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + public static final String SP_IDENTIFIER = "identifier"; + /** + * Fluent Client search parameter constant for identifier + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): External identifier for the code system +* [ConceptMap](conceptmap.html): External identifier for the concept map +* [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system +* [StructureDefinition](structuredefinition.html): External identifier for the structure definition +* [StructureMap](structuremap.html): External identifier for the structure map +* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities +* [ValueSet](valueset.html): External identifier for the value set +
+ * Type: token
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + /** * Search parameter: jurisdiction *

@@ -3256,7 +3977,7 @@ public class NamingSystem extends MetadataResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -3272,7 +3993,7 @@ public class NamingSystem extends MetadataResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -3282,7 +4003,7 @@ public class NamingSystem extends MetadataResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Narrative.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Narrative.java index d5f073850..b2cde15ba 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Narrative.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Narrative.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -49,7 +49,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.INarrative; /** - * Base StructureDefinition for Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource. + * Narrative Type: A human-readable summary of the resource conveying the essential clinical and business information for the resource. */ @DatatypeDef(name="Narrative") public class Narrative extends BaseNarrative implements INarrative { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionIntake.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionIntake.java index cf71126d6..66ca1d393 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionIntake.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionIntake.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2051,7 +2051,7 @@ public class NutritionIntake extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Identifiers associated with this Nutrition Intake that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition|ArtifactAssessment|EventDefinition|EvidenceVariable|Measure|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic)", "Instantiates FHIR protocol or definition.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); + children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition|ChargeItemDefinition|EventDefinition|Measure|MessageDefinition|ObservationDefinition|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic|TestScript)", "Instantiates FHIR protocol or definition.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); children.add(new Property("instantiatesUri", "uri", "Instantiates external protocol or definition.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); children.add(new Property("basedOn", "Reference(NutritionOrder|CarePlan|ServiceRequest)", "A plan, proposal or order that is fulfilled in whole or in part by this event.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("partOf", "Reference(NutritionIntake|Procedure|Observation)", "A larger event of which this particular event is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); @@ -2076,7 +2076,7 @@ public class NutritionIntake extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers associated with this Nutrition Intake that are defined by business processes and/or used to refer to it when a direct URL reference to the resource itself is not appropriate. They are business identifiers assigned to this resource by the performer or other systems and remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); - case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition|ArtifactAssessment|EventDefinition|EvidenceVariable|Measure|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic)", "Instantiates FHIR protocol or definition.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); + case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition|ChargeItemDefinition|EventDefinition|Measure|MessageDefinition|ObservationDefinition|OperationDefinition|PlanDefinition|Questionnaire|SubscriptionTopic|TestScript)", "Instantiates FHIR protocol or definition.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "Instantiates external protocol or definition.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(NutritionOrder|CarePlan|ServiceRequest)", "A plan, proposal or order that is fulfilled in whole or in part by this event.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -995410646: /*partOf*/ return new Property("partOf", "Reference(NutritionIntake|Procedure|Observation)", "A larger event of which this particular event is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionOrder.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionOrder.java index fb2bd4840..ee1230b5e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionOrder.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionOrder.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -64,11 +64,11 @@ public class NutritionOrder extends DomainResource { protected List type; /** - * The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present. + * Schedule information for an oral diet. */ - @Child(name = "schedule", type = {Timing.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Scheduled frequency of diet", formalDefinition="The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present." ) - protected List schedule; + @Child(name = "schedule", type = {}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Scheduling information for oral diets", formalDefinition="Schedule information for an oral diet." ) + protected NutritionOrderOralDietScheduleComponent schedule; /** * Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet. @@ -99,7 +99,7 @@ public class NutritionOrder extends DomainResource { @Description(shortDefinition="Instructions or additional information about the oral diet", formalDefinition="Free text or additional instructions or information pertaining to the oral diet." ) protected StringType instruction; - private static final long serialVersionUID = 973058412L; + private static final long serialVersionUID = 997920978L; /** * Constructor @@ -162,56 +162,27 @@ public class NutritionOrder extends DomainResource { } /** - * @return {@link #schedule} (The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present.) + * @return {@link #schedule} (Schedule information for an oral diet.) */ - public List getSchedule() { + public NutritionOrderOralDietScheduleComponent getSchedule() { if (this.schedule == null) - this.schedule = new ArrayList(); + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderOralDietComponent.schedule"); + else if (Configuration.doAutoCreate()) + this.schedule = new NutritionOrderOralDietScheduleComponent(); // cc return this.schedule; } - /** - * @return Returns a reference to this for easy method chaining - */ - public NutritionOrderOralDietComponent setSchedule(List theSchedule) { - this.schedule = theSchedule; - return this; - } - public boolean hasSchedule() { - if (this.schedule == null) - return false; - for (Timing item : this.schedule) - if (!item.isEmpty()) - return true; - return false; - } - - public Timing addSchedule() { //3 - Timing t = new Timing(); - if (this.schedule == null) - this.schedule = new ArrayList(); - this.schedule.add(t); - return t; - } - - public NutritionOrderOralDietComponent addSchedule(Timing t) { //3 - if (t == null) - return this; - if (this.schedule == null) - this.schedule = new ArrayList(); - this.schedule.add(t); - return this; + return this.schedule != null && !this.schedule.isEmpty(); } /** - * @return The first repetition of repeating field {@link #schedule}, creating it if it does not already exist {3} + * @param value {@link #schedule} (Schedule information for an oral diet.) */ - public Timing getScheduleFirstRep() { - if (getSchedule().isEmpty()) { - addSchedule(); - } - return getSchedule().get(0); + public NutritionOrderOralDietComponent setSchedule(NutritionOrderOralDietScheduleComponent value) { + this.schedule = value; + return this; } /** @@ -425,7 +396,7 @@ public class NutritionOrder extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet.", 0, java.lang.Integer.MAX_VALUE, type)); - children.add(new Property("schedule", "Timing", "The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, schedule)); + children.add(new Property("schedule", "", "Schedule information for an oral diet.", 0, 1, schedule)); children.add(new Property("nutrient", "", "Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.", 0, java.lang.Integer.MAX_VALUE, nutrient)); children.add(new Property("texture", "", "Class that describes any texture modifications required for the patient to safely consume various types of solid foods.", 0, java.lang.Integer.MAX_VALUE, texture)); children.add(new Property("fluidConsistencyType", "CodeableConcept", "The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient.", 0, java.lang.Integer.MAX_VALUE, fluidConsistencyType)); @@ -436,7 +407,7 @@ public class NutritionOrder extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The kind of diet or dietary restriction such as fiber restricted diet or diabetic diet.", 0, java.lang.Integer.MAX_VALUE, type); - case -697920873: /*schedule*/ return new Property("schedule", "Timing", "The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, schedule); + case -697920873: /*schedule*/ return new Property("schedule", "", "Schedule information for an oral diet.", 0, 1, schedule); case -1671151641: /*nutrient*/ return new Property("nutrient", "", "Class that defines the quantity and type of nutrient modifications (for example carbohydrate, fiber or sodium) required for the oral diet.", 0, java.lang.Integer.MAX_VALUE, nutrient); case -1417816805: /*texture*/ return new Property("texture", "", "Class that describes any texture modifications required for the patient to safely consume various types of solid foods.", 0, java.lang.Integer.MAX_VALUE, texture); case -525105592: /*fluidConsistencyType*/ return new Property("fluidConsistencyType", "CodeableConcept", "The required consistency (e.g. honey-thick, nectar-thick, thin, thickened.) of liquids or fluids served to the patient.", 0, java.lang.Integer.MAX_VALUE, fluidConsistencyType); @@ -450,7 +421,7 @@ public class NutritionOrder extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 3575610: /*type*/ return this.type == null ? new Base[0] : this.type.toArray(new Base[this.type.size()]); // CodeableConcept - case -697920873: /*schedule*/ return this.schedule == null ? new Base[0] : this.schedule.toArray(new Base[this.schedule.size()]); // Timing + case -697920873: /*schedule*/ return this.schedule == null ? new Base[0] : new Base[] {this.schedule}; // NutritionOrderOralDietScheduleComponent case -1671151641: /*nutrient*/ return this.nutrient == null ? new Base[0] : this.nutrient.toArray(new Base[this.nutrient.size()]); // NutritionOrderOralDietNutrientComponent case -1417816805: /*texture*/ return this.texture == null ? new Base[0] : this.texture.toArray(new Base[this.texture.size()]); // NutritionOrderOralDietTextureComponent case -525105592: /*fluidConsistencyType*/ return this.fluidConsistencyType == null ? new Base[0] : this.fluidConsistencyType.toArray(new Base[this.fluidConsistencyType.size()]); // CodeableConcept @@ -467,7 +438,7 @@ public class NutritionOrder extends DomainResource { this.getType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case -697920873: // schedule - this.getSchedule().add(TypeConvertor.castToTiming(value)); // Timing + this.schedule = (NutritionOrderOralDietScheduleComponent) value; // NutritionOrderOralDietScheduleComponent return value; case -1671151641: // nutrient this.getNutrient().add((NutritionOrderOralDietNutrientComponent) value); // NutritionOrderOralDietNutrientComponent @@ -491,7 +462,7 @@ public class NutritionOrder extends DomainResource { if (name.equals("type")) { this.getType().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("schedule")) { - this.getSchedule().add(TypeConvertor.castToTiming(value)); + this.schedule = (NutritionOrderOralDietScheduleComponent) value; // NutritionOrderOralDietScheduleComponent } else if (name.equals("nutrient")) { this.getNutrient().add((NutritionOrderOralDietNutrientComponent) value); } else if (name.equals("texture")) { @@ -509,7 +480,7 @@ public class NutritionOrder extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: return addType(); - case -697920873: return addSchedule(); + case -697920873: return getSchedule(); case -1671151641: return addNutrient(); case -1417816805: return addTexture(); case -525105592: return addFluidConsistencyType(); @@ -523,7 +494,7 @@ public class NutritionOrder extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case -697920873: /*schedule*/ return new String[] {"Timing"}; + case -697920873: /*schedule*/ return new String[] {}; case -1671151641: /*nutrient*/ return new String[] {}; case -1417816805: /*texture*/ return new String[] {}; case -525105592: /*fluidConsistencyType*/ return new String[] {"CodeableConcept"}; @@ -539,7 +510,8 @@ public class NutritionOrder extends DomainResource { return addType(); } else if (name.equals("schedule")) { - return addSchedule(); + this.schedule = new NutritionOrderOralDietScheduleComponent(); + return this.schedule; } else if (name.equals("nutrient")) { return addNutrient(); @@ -570,11 +542,7 @@ public class NutritionOrder extends DomainResource { for (CodeableConcept i : type) dst.type.add(i.copy()); }; - if (schedule != null) { - dst.schedule = new ArrayList(); - for (Timing i : schedule) - dst.schedule.add(i.copy()); - }; + dst.schedule = schedule == null ? null : schedule.copy(); if (nutrient != null) { dst.nutrient = new ArrayList(); for (NutritionOrderOralDietNutrientComponent i : nutrient) @@ -625,6 +593,308 @@ public class NutritionOrder extends DomainResource { } + } + + @Block() + public static class NutritionOrderOralDietScheduleComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present. + */ + @Child(name = "timing", type = {Timing.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Scheduled frequency of diet", formalDefinition="The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present." ) + protected List timing; + + /** + * Indicates whether the product is only taken when needed within a specific dosing schedule. + */ + @Child(name = "asNeeded", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Take 'as needed'", formalDefinition="Indicates whether the product is only taken when needed within a specific dosing schedule." ) + protected BooleanType asNeeded; + + /** + * Indicates whether the product is only taken based on a precondition for taking the product. + */ + @Child(name = "asNeededFor", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Take 'as needed' for x", formalDefinition="Indicates whether the product is only taken based on a precondition for taking the product." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-as-needed-reason") + protected CodeableConcept asNeededFor; + + private static final long serialVersionUID = -1051458478L; + + /** + * Constructor + */ + public NutritionOrderOralDietScheduleComponent() { + super(); + } + + /** + * @return {@link #timing} (The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present.) + */ + public List getTiming() { + if (this.timing == null) + this.timing = new ArrayList(); + return this.timing; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrderOralDietScheduleComponent setTiming(List theTiming) { + this.timing = theTiming; + return this; + } + + public boolean hasTiming() { + if (this.timing == null) + return false; + for (Timing item : this.timing) + if (!item.isEmpty()) + return true; + return false; + } + + public Timing addTiming() { //3 + Timing t = new Timing(); + if (this.timing == null) + this.timing = new ArrayList(); + this.timing.add(t); + return t; + } + + public NutritionOrderOralDietScheduleComponent addTiming(Timing t) { //3 + if (t == null) + return this; + if (this.timing == null) + this.timing = new ArrayList(); + this.timing.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #timing}, creating it if it does not already exist {3} + */ + public Timing getTimingFirstRep() { + if (getTiming().isEmpty()) { + addTiming(); + } + return getTiming().get(0); + } + + /** + * @return {@link #asNeeded} (Indicates whether the product is only taken when needed within a specific dosing schedule.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public BooleanType getAsNeededElement() { + if (this.asNeeded == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderOralDietScheduleComponent.asNeeded"); + else if (Configuration.doAutoCreate()) + this.asNeeded = new BooleanType(); // bb + return this.asNeeded; + } + + public boolean hasAsNeededElement() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + public boolean hasAsNeeded() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + /** + * @param value {@link #asNeeded} (Indicates whether the product is only taken when needed within a specific dosing schedule.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public NutritionOrderOralDietScheduleComponent setAsNeededElement(BooleanType value) { + this.asNeeded = value; + return this; + } + + /** + * @return Indicates whether the product is only taken when needed within a specific dosing schedule. + */ + public boolean getAsNeeded() { + return this.asNeeded == null || this.asNeeded.isEmpty() ? false : this.asNeeded.getValue(); + } + + /** + * @param value Indicates whether the product is only taken when needed within a specific dosing schedule. + */ + public NutritionOrderOralDietScheduleComponent setAsNeeded(boolean value) { + if (this.asNeeded == null) + this.asNeeded = new BooleanType(); + this.asNeeded.setValue(value); + return this; + } + + /** + * @return {@link #asNeededFor} (Indicates whether the product is only taken based on a precondition for taking the product.) + */ + public CodeableConcept getAsNeededFor() { + if (this.asNeededFor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderOralDietScheduleComponent.asNeededFor"); + else if (Configuration.doAutoCreate()) + this.asNeededFor = new CodeableConcept(); // cc + return this.asNeededFor; + } + + public boolean hasAsNeededFor() { + return this.asNeededFor != null && !this.asNeededFor.isEmpty(); + } + + /** + * @param value {@link #asNeededFor} (Indicates whether the product is only taken based on a precondition for taking the product.) + */ + public NutritionOrderOralDietScheduleComponent setAsNeededFor(CodeableConcept value) { + this.asNeededFor = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("timing", "Timing", "The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, timing)); + children.add(new Property("asNeeded", "boolean", "Indicates whether the product is only taken when needed within a specific dosing schedule.", 0, 1, asNeeded)); + children.add(new Property("asNeededFor", "CodeableConcept", "Indicates whether the product is only taken based on a precondition for taking the product.", 0, 1, asNeededFor)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -873664438: /*timing*/ return new Property("timing", "Timing", "The time period and frequency at which the diet should be given. The diet should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, timing); + case -1432923513: /*asNeeded*/ return new Property("asNeeded", "boolean", "Indicates whether the product is only taken when needed within a specific dosing schedule.", 0, 1, asNeeded); + case -544350014: /*asNeededFor*/ return new Property("asNeededFor", "CodeableConcept", "Indicates whether the product is only taken based on a precondition for taking the product.", 0, 1, asNeededFor); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -873664438: /*timing*/ return this.timing == null ? new Base[0] : this.timing.toArray(new Base[this.timing.size()]); // Timing + case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // BooleanType + case -544350014: /*asNeededFor*/ return this.asNeededFor == null ? new Base[0] : new Base[] {this.asNeededFor}; // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -873664438: // timing + this.getTiming().add(TypeConvertor.castToTiming(value)); // Timing + return value; + case -1432923513: // asNeeded + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -544350014: // asNeededFor + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("timing")) { + this.getTiming().add(TypeConvertor.castToTiming(value)); + } else if (name.equals("asNeeded")) { + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("asNeededFor")) { + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -873664438: return addTiming(); + case -1432923513: return getAsNeededElement(); + case -544350014: return getAsNeededFor(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -873664438: /*timing*/ return new String[] {"Timing"}; + case -1432923513: /*asNeeded*/ return new String[] {"boolean"}; + case -544350014: /*asNeededFor*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("timing")) { + return addTiming(); + } + else if (name.equals("asNeeded")) { + throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.oralDiet.schedule.asNeeded"); + } + else if (name.equals("asNeededFor")) { + this.asNeededFor = new CodeableConcept(); + return this.asNeededFor; + } + else + return super.addChild(name); + } + + public NutritionOrderOralDietScheduleComponent copy() { + NutritionOrderOralDietScheduleComponent dst = new NutritionOrderOralDietScheduleComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(NutritionOrderOralDietScheduleComponent dst) { + super.copyValues(dst); + if (timing != null) { + dst.timing = new ArrayList(); + for (Timing i : timing) + dst.timing.add(i.copy()); + }; + dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); + dst.asNeededFor = asNeededFor == null ? null : asNeededFor.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof NutritionOrderOralDietScheduleComponent)) + return false; + NutritionOrderOralDietScheduleComponent o = (NutritionOrderOralDietScheduleComponent) other_; + return compareDeep(timing, o.timing, true) && compareDeep(asNeeded, o.asNeeded, true) && compareDeep(asNeededFor, o.asNeededFor, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof NutritionOrderOralDietScheduleComponent)) + return false; + NutritionOrderOralDietScheduleComponent o = (NutritionOrderOralDietScheduleComponent) other_; + return compareValues(asNeeded, o.asNeeded, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(timing, asNeeded, asNeededFor + ); + } + + public String fhirType() { + return "NutritionOrder.oralDiet.schedule"; + + } + } @Block() @@ -1037,10 +1307,10 @@ public class NutritionOrder extends DomainResource { /** * The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement. */ - @Child(name = "type", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Child(name = "type", type = {CodeableReference.class}, order=1, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Type of supplement product requested", formalDefinition="The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/supplement-type") - protected CodeableConcept type; + protected CodeableReference type; /** * The product or brand name of the nutritional supplement such as "Acme Protein Shake". @@ -1050,11 +1320,11 @@ public class NutritionOrder extends DomainResource { protected StringType productName; /** - * The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present. + * Schedule information for a supplement. */ - @Child(name = "schedule", type = {Timing.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Scheduled frequency of supplement", formalDefinition="The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present." ) - protected List schedule; + @Child(name = "schedule", type = {}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Scheduling information for supplements", formalDefinition="Schedule information for a supplement." ) + protected NutritionOrderSupplementScheduleComponent schedule; /** * The amount of the nutritional supplement to be given. @@ -1070,7 +1340,7 @@ public class NutritionOrder extends DomainResource { @Description(shortDefinition="Instructions or additional information about the oral supplement", formalDefinition="Free text or additional instructions or information pertaining to the oral supplement." ) protected StringType instruction; - private static final long serialVersionUID = -37646618L; + private static final long serialVersionUID = 1799596174L; /** * Constructor @@ -1082,12 +1352,12 @@ public class NutritionOrder extends DomainResource { /** * @return {@link #type} (The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.) */ - public CodeableConcept getType() { + public CodeableReference getType() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create NutritionOrderSupplementComponent.type"); else if (Configuration.doAutoCreate()) - this.type = new CodeableConcept(); // cc + this.type = new CodeableReference(); // cc return this.type; } @@ -1098,7 +1368,7 @@ public class NutritionOrder extends DomainResource { /** * @param value {@link #type} (The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.) */ - public NutritionOrderSupplementComponent setType(CodeableConcept value) { + public NutritionOrderSupplementComponent setType(CodeableReference value) { this.type = value; return this; } @@ -1153,56 +1423,27 @@ public class NutritionOrder extends DomainResource { } /** - * @return {@link #schedule} (The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present.) + * @return {@link #schedule} (Schedule information for a supplement.) */ - public List getSchedule() { + public NutritionOrderSupplementScheduleComponent getSchedule() { if (this.schedule == null) - this.schedule = new ArrayList(); + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderSupplementComponent.schedule"); + else if (Configuration.doAutoCreate()) + this.schedule = new NutritionOrderSupplementScheduleComponent(); // cc return this.schedule; } - /** - * @return Returns a reference to this for easy method chaining - */ - public NutritionOrderSupplementComponent setSchedule(List theSchedule) { - this.schedule = theSchedule; - return this; - } - public boolean hasSchedule() { - if (this.schedule == null) - return false; - for (Timing item : this.schedule) - if (!item.isEmpty()) - return true; - return false; - } - - public Timing addSchedule() { //3 - Timing t = new Timing(); - if (this.schedule == null) - this.schedule = new ArrayList(); - this.schedule.add(t); - return t; - } - - public NutritionOrderSupplementComponent addSchedule(Timing t) { //3 - if (t == null) - return this; - if (this.schedule == null) - this.schedule = new ArrayList(); - this.schedule.add(t); - return this; + return this.schedule != null && !this.schedule.isEmpty(); } /** - * @return The first repetition of repeating field {@link #schedule}, creating it if it does not already exist {3} + * @param value {@link #schedule} (Schedule information for a supplement.) */ - public Timing getScheduleFirstRep() { - if (getSchedule().isEmpty()) { - addSchedule(); - } - return getSchedule().get(0); + public NutritionOrderSupplementComponent setSchedule(NutritionOrderSupplementScheduleComponent value) { + this.schedule = value; + return this; } /** @@ -1280,9 +1521,9 @@ public class NutritionOrder extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("type", "CodeableConcept", "The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.", 0, 1, type)); + children.add(new Property("type", "CodeableReference(NutritionProduct)", "The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.", 0, 1, type)); children.add(new Property("productName", "string", "The product or brand name of the nutritional supplement such as \"Acme Protein Shake\".", 0, 1, productName)); - children.add(new Property("schedule", "Timing", "The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, schedule)); + children.add(new Property("schedule", "", "Schedule information for a supplement.", 0, 1, schedule)); children.add(new Property("quantity", "Quantity", "The amount of the nutritional supplement to be given.", 0, 1, quantity)); children.add(new Property("instruction", "string", "Free text or additional instructions or information pertaining to the oral supplement.", 0, 1, instruction)); } @@ -1290,9 +1531,9 @@ public class NutritionOrder extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.", 0, 1, type); + case 3575610: /*type*/ return new Property("type", "CodeableReference(NutritionProduct)", "The kind of nutritional supplement product required such as a high protein or pediatric clear liquid supplement.", 0, 1, type); case -1491817446: /*productName*/ return new Property("productName", "string", "The product or brand name of the nutritional supplement such as \"Acme Protein Shake\".", 0, 1, productName); - case -697920873: /*schedule*/ return new Property("schedule", "Timing", "The time period and frequency at which the supplement(s) should be given. The supplement should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, schedule); + case -697920873: /*schedule*/ return new Property("schedule", "", "Schedule information for a supplement.", 0, 1, schedule); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The amount of the nutritional supplement to be given.", 0, 1, quantity); case 301526158: /*instruction*/ return new Property("instruction", "string", "Free text or additional instructions or information pertaining to the oral supplement.", 0, 1, instruction); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1303,9 +1544,9 @@ public class NutritionOrder extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableReference case -1491817446: /*productName*/ return this.productName == null ? new Base[0] : new Base[] {this.productName}; // StringType - case -697920873: /*schedule*/ return this.schedule == null ? new Base[0] : this.schedule.toArray(new Base[this.schedule.size()]); // Timing + case -697920873: /*schedule*/ return this.schedule == null ? new Base[0] : new Base[] {this.schedule}; // NutritionOrderSupplementScheduleComponent case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case 301526158: /*instruction*/ return this.instruction == null ? new Base[0] : new Base[] {this.instruction}; // StringType default: return super.getProperty(hash, name, checkValid); @@ -1317,13 +1558,13 @@ public class NutritionOrder extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3575610: // type - this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.type = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; case -1491817446: // productName this.productName = TypeConvertor.castToString(value); // StringType return value; case -697920873: // schedule - this.getSchedule().add(TypeConvertor.castToTiming(value)); // Timing + this.schedule = (NutritionOrderSupplementScheduleComponent) value; // NutritionOrderSupplementScheduleComponent return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity @@ -1339,11 +1580,11 @@ public class NutritionOrder extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("type")) { - this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.type = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("productName")) { this.productName = TypeConvertor.castToString(value); // StringType } else if (name.equals("schedule")) { - this.getSchedule().add(TypeConvertor.castToTiming(value)); + this.schedule = (NutritionOrderSupplementScheduleComponent) value; // NutritionOrderSupplementScheduleComponent } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("instruction")) { @@ -1358,7 +1599,7 @@ public class NutritionOrder extends DomainResource { switch (hash) { case 3575610: return getType(); case -1491817446: return getProductNameElement(); - case -697920873: return addSchedule(); + case -697920873: return getSchedule(); case -1285004149: return getQuantity(); case 301526158: return getInstructionElement(); default: return super.makeProperty(hash, name); @@ -1369,9 +1610,9 @@ public class NutritionOrder extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case 3575610: /*type*/ return new String[] {"CodeableReference"}; case -1491817446: /*productName*/ return new String[] {"string"}; - case -697920873: /*schedule*/ return new String[] {"Timing"}; + case -697920873: /*schedule*/ return new String[] {}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case 301526158: /*instruction*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); @@ -1382,14 +1623,15 @@ public class NutritionOrder extends DomainResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("type")) { - this.type = new CodeableConcept(); + this.type = new CodeableReference(); return this.type; } else if (name.equals("productName")) { throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.supplement.productName"); } else if (name.equals("schedule")) { - return addSchedule(); + this.schedule = new NutritionOrderSupplementScheduleComponent(); + return this.schedule; } else if (name.equals("quantity")) { this.quantity = new Quantity(); @@ -1412,11 +1654,7 @@ public class NutritionOrder extends DomainResource { super.copyValues(dst); dst.type = type == null ? null : type.copy(); dst.productName = productName == null ? null : productName.copy(); - if (schedule != null) { - dst.schedule = new ArrayList(); - for (Timing i : schedule) - dst.schedule.add(i.copy()); - }; + dst.schedule = schedule == null ? null : schedule.copy(); dst.quantity = quantity == null ? null : quantity.copy(); dst.instruction = instruction == null ? null : instruction.copy(); } @@ -1453,6 +1691,308 @@ public class NutritionOrder extends DomainResource { } + } + + @Block() + public static class NutritionOrderSupplementScheduleComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The time period and frequency at which the supplement should be given. The supplement should be given for the combination of all schedules if more than one schedule is present. + */ + @Child(name = "timing", type = {Timing.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Scheduled frequency of diet", formalDefinition="The time period and frequency at which the supplement should be given. The supplement should be given for the combination of all schedules if more than one schedule is present." ) + protected List timing; + + /** + * Indicates whether the supplement is only taken when needed within a specific dosing schedule. + */ + @Child(name = "asNeeded", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Take 'as needed'", formalDefinition="Indicates whether the supplement is only taken when needed within a specific dosing schedule." ) + protected BooleanType asNeeded; + + /** + * Indicates whether the supplement is only taken based on a precondition for taking the supplement. + */ + @Child(name = "asNeededFor", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Take 'as needed' for x", formalDefinition="Indicates whether the supplement is only taken based on a precondition for taking the supplement." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-as-needed-reason") + protected CodeableConcept asNeededFor; + + private static final long serialVersionUID = -1051458478L; + + /** + * Constructor + */ + public NutritionOrderSupplementScheduleComponent() { + super(); + } + + /** + * @return {@link #timing} (The time period and frequency at which the supplement should be given. The supplement should be given for the combination of all schedules if more than one schedule is present.) + */ + public List getTiming() { + if (this.timing == null) + this.timing = new ArrayList(); + return this.timing; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrderSupplementScheduleComponent setTiming(List theTiming) { + this.timing = theTiming; + return this; + } + + public boolean hasTiming() { + if (this.timing == null) + return false; + for (Timing item : this.timing) + if (!item.isEmpty()) + return true; + return false; + } + + public Timing addTiming() { //3 + Timing t = new Timing(); + if (this.timing == null) + this.timing = new ArrayList(); + this.timing.add(t); + return t; + } + + public NutritionOrderSupplementScheduleComponent addTiming(Timing t) { //3 + if (t == null) + return this; + if (this.timing == null) + this.timing = new ArrayList(); + this.timing.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #timing}, creating it if it does not already exist {3} + */ + public Timing getTimingFirstRep() { + if (getTiming().isEmpty()) { + addTiming(); + } + return getTiming().get(0); + } + + /** + * @return {@link #asNeeded} (Indicates whether the supplement is only taken when needed within a specific dosing schedule.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public BooleanType getAsNeededElement() { + if (this.asNeeded == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderSupplementScheduleComponent.asNeeded"); + else if (Configuration.doAutoCreate()) + this.asNeeded = new BooleanType(); // bb + return this.asNeeded; + } + + public boolean hasAsNeededElement() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + public boolean hasAsNeeded() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + /** + * @param value {@link #asNeeded} (Indicates whether the supplement is only taken when needed within a specific dosing schedule.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public NutritionOrderSupplementScheduleComponent setAsNeededElement(BooleanType value) { + this.asNeeded = value; + return this; + } + + /** + * @return Indicates whether the supplement is only taken when needed within a specific dosing schedule. + */ + public boolean getAsNeeded() { + return this.asNeeded == null || this.asNeeded.isEmpty() ? false : this.asNeeded.getValue(); + } + + /** + * @param value Indicates whether the supplement is only taken when needed within a specific dosing schedule. + */ + public NutritionOrderSupplementScheduleComponent setAsNeeded(boolean value) { + if (this.asNeeded == null) + this.asNeeded = new BooleanType(); + this.asNeeded.setValue(value); + return this; + } + + /** + * @return {@link #asNeededFor} (Indicates whether the supplement is only taken based on a precondition for taking the supplement.) + */ + public CodeableConcept getAsNeededFor() { + if (this.asNeededFor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderSupplementScheduleComponent.asNeededFor"); + else if (Configuration.doAutoCreate()) + this.asNeededFor = new CodeableConcept(); // cc + return this.asNeededFor; + } + + public boolean hasAsNeededFor() { + return this.asNeededFor != null && !this.asNeededFor.isEmpty(); + } + + /** + * @param value {@link #asNeededFor} (Indicates whether the supplement is only taken based on a precondition for taking the supplement.) + */ + public NutritionOrderSupplementScheduleComponent setAsNeededFor(CodeableConcept value) { + this.asNeededFor = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("timing", "Timing", "The time period and frequency at which the supplement should be given. The supplement should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, timing)); + children.add(new Property("asNeeded", "boolean", "Indicates whether the supplement is only taken when needed within a specific dosing schedule.", 0, 1, asNeeded)); + children.add(new Property("asNeededFor", "CodeableConcept", "Indicates whether the supplement is only taken based on a precondition for taking the supplement.", 0, 1, asNeededFor)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -873664438: /*timing*/ return new Property("timing", "Timing", "The time period and frequency at which the supplement should be given. The supplement should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, timing); + case -1432923513: /*asNeeded*/ return new Property("asNeeded", "boolean", "Indicates whether the supplement is only taken when needed within a specific dosing schedule.", 0, 1, asNeeded); + case -544350014: /*asNeededFor*/ return new Property("asNeededFor", "CodeableConcept", "Indicates whether the supplement is only taken based on a precondition for taking the supplement.", 0, 1, asNeededFor); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -873664438: /*timing*/ return this.timing == null ? new Base[0] : this.timing.toArray(new Base[this.timing.size()]); // Timing + case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // BooleanType + case -544350014: /*asNeededFor*/ return this.asNeededFor == null ? new Base[0] : new Base[] {this.asNeededFor}; // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -873664438: // timing + this.getTiming().add(TypeConvertor.castToTiming(value)); // Timing + return value; + case -1432923513: // asNeeded + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -544350014: // asNeededFor + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("timing")) { + this.getTiming().add(TypeConvertor.castToTiming(value)); + } else if (name.equals("asNeeded")) { + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("asNeededFor")) { + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -873664438: return addTiming(); + case -1432923513: return getAsNeededElement(); + case -544350014: return getAsNeededFor(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -873664438: /*timing*/ return new String[] {"Timing"}; + case -1432923513: /*asNeeded*/ return new String[] {"boolean"}; + case -544350014: /*asNeededFor*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("timing")) { + return addTiming(); + } + else if (name.equals("asNeeded")) { + throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.supplement.schedule.asNeeded"); + } + else if (name.equals("asNeededFor")) { + this.asNeededFor = new CodeableConcept(); + return this.asNeededFor; + } + else + return super.addChild(name); + } + + public NutritionOrderSupplementScheduleComponent copy() { + NutritionOrderSupplementScheduleComponent dst = new NutritionOrderSupplementScheduleComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(NutritionOrderSupplementScheduleComponent dst) { + super.copyValues(dst); + if (timing != null) { + dst.timing = new ArrayList(); + for (Timing i : timing) + dst.timing.add(i.copy()); + }; + dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); + dst.asNeededFor = asNeededFor == null ? null : asNeededFor.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof NutritionOrderSupplementScheduleComponent)) + return false; + NutritionOrderSupplementScheduleComponent o = (NutritionOrderSupplementScheduleComponent) other_; + return compareDeep(timing, o.timing, true) && compareDeep(asNeeded, o.asNeeded, true) && compareDeep(asNeededFor, o.asNeededFor, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof NutritionOrderSupplementScheduleComponent)) + return false; + NutritionOrderSupplementScheduleComponent o = (NutritionOrderSupplementScheduleComponent) other_; + return compareValues(asNeeded, o.asNeeded, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(timing, asNeeded, asNeededFor + ); + } + + public String fhirType() { + return "NutritionOrder.supplement.schedule"; + + } + } @Block() @@ -1460,10 +2000,10 @@ public class NutritionOrder extends DomainResource { /** * The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula. */ - @Child(name = "baseFormulaType", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Child(name = "baseFormulaType", type = {CodeableReference.class}, order=1, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Type of enteral or infant formula", formalDefinition="The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/entformula-type") - protected CodeableConcept baseFormulaType; + protected CodeableReference baseFormulaType; /** * The product or brand name of the enteral or infant formula product such as "ACME Adult Standard Formula". @@ -1473,19 +2013,18 @@ public class NutritionOrder extends DomainResource { protected StringType baseFormulaProductName; /** - * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. + * The intended type of device that is to be used for the administration of the enteral formula. */ - @Child(name = "additiveType", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Type of modular component to add to the feeding", formalDefinition="Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/entformula-additive") - protected CodeableConcept additiveType; + @Child(name = "deliveryDevice", type = {CodeableReference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Intended type of device for the administration", formalDefinition="The intended type of device that is to be used for the administration of the enteral formula." ) + protected List deliveryDevice; /** - * The product or brand name of the type of modular component to be added to the formula. + * Indicates modular components to be provided in addition or mixed with the base formula. */ - @Child(name = "additiveProductName", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Product or brand name of the modular additive", formalDefinition="The product or brand name of the type of modular component to be added to the formula." ) - protected StringType additiveProductName; + @Child(name = "additive", type = {}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Components to add to the feeding", formalDefinition="Indicates modular components to be provided in addition or mixed with the base formula." ) + protected List additive; /** * The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL. @@ -1497,10 +2036,10 @@ public class NutritionOrder extends DomainResource { /** * The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube. */ - @Child(name = "routeofAdministration", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "routeOfAdministration", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="How the formula should enter the patient's gastrointestinal tract", formalDefinition="The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/enteral-route") - protected CodeableConcept routeofAdministration; + protected CodeableConcept routeOfAdministration; /** * Formula administration instructions as structured data. This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding. An example of this would be an instruction to increase the rate of continuous feeding every 2 hours. @@ -1523,7 +2062,7 @@ public class NutritionOrder extends DomainResource { @Description(shortDefinition="Formula feeding instructions expressed as text", formalDefinition="Free text formula administration, feeding instructions or additional instructions or information." ) protected StringType administrationInstruction; - private static final long serialVersionUID = -124511395L; + private static final long serialVersionUID = 1413967736L; /** * Constructor @@ -1535,12 +2074,12 @@ public class NutritionOrder extends DomainResource { /** * @return {@link #baseFormulaType} (The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.) */ - public CodeableConcept getBaseFormulaType() { + public CodeableReference getBaseFormulaType() { if (this.baseFormulaType == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaComponent.baseFormulaType"); else if (Configuration.doAutoCreate()) - this.baseFormulaType = new CodeableConcept(); // cc + this.baseFormulaType = new CodeableReference(); // cc return this.baseFormulaType; } @@ -1551,7 +2090,7 @@ public class NutritionOrder extends DomainResource { /** * @param value {@link #baseFormulaType} (The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.) */ - public NutritionOrderEnteralFormulaComponent setBaseFormulaType(CodeableConcept value) { + public NutritionOrderEnteralFormulaComponent setBaseFormulaType(CodeableReference value) { this.baseFormulaType = value; return this; } @@ -1606,78 +2145,111 @@ public class NutritionOrder extends DomainResource { } /** - * @return {@link #additiveType} (Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.) + * @return {@link #deliveryDevice} (The intended type of device that is to be used for the administration of the enteral formula.) */ - public CodeableConcept getAdditiveType() { - if (this.additiveType == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaComponent.additiveType"); - else if (Configuration.doAutoCreate()) - this.additiveType = new CodeableConcept(); // cc - return this.additiveType; - } - - public boolean hasAdditiveType() { - return this.additiveType != null && !this.additiveType.isEmpty(); + public List getDeliveryDevice() { + if (this.deliveryDevice == null) + this.deliveryDevice = new ArrayList(); + return this.deliveryDevice; } /** - * @param value {@link #additiveType} (Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.) + * @return Returns a reference to this for easy method chaining */ - public NutritionOrderEnteralFormulaComponent setAdditiveType(CodeableConcept value) { - this.additiveType = value; + public NutritionOrderEnteralFormulaComponent setDeliveryDevice(List theDeliveryDevice) { + this.deliveryDevice = theDeliveryDevice; + return this; + } + + public boolean hasDeliveryDevice() { + if (this.deliveryDevice == null) + return false; + for (CodeableReference item : this.deliveryDevice) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addDeliveryDevice() { //3 + CodeableReference t = new CodeableReference(); + if (this.deliveryDevice == null) + this.deliveryDevice = new ArrayList(); + this.deliveryDevice.add(t); + return t; + } + + public NutritionOrderEnteralFormulaComponent addDeliveryDevice(CodeableReference t) { //3 + if (t == null) + return this; + if (this.deliveryDevice == null) + this.deliveryDevice = new ArrayList(); + this.deliveryDevice.add(t); return this; } /** - * @return {@link #additiveProductName} (The product or brand name of the type of modular component to be added to the formula.). This is the underlying object with id, value and extensions. The accessor "getAdditiveProductName" gives direct access to the value + * @return The first repetition of repeating field {@link #deliveryDevice}, creating it if it does not already exist {3} */ - public StringType getAdditiveProductNameElement() { - if (this.additiveProductName == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaComponent.additiveProductName"); - else if (Configuration.doAutoCreate()) - this.additiveProductName = new StringType(); // bb - return this.additiveProductName; - } - - public boolean hasAdditiveProductNameElement() { - return this.additiveProductName != null && !this.additiveProductName.isEmpty(); - } - - public boolean hasAdditiveProductName() { - return this.additiveProductName != null && !this.additiveProductName.isEmpty(); - } - - /** - * @param value {@link #additiveProductName} (The product or brand name of the type of modular component to be added to the formula.). This is the underlying object with id, value and extensions. The accessor "getAdditiveProductName" gives direct access to the value - */ - public NutritionOrderEnteralFormulaComponent setAdditiveProductNameElement(StringType value) { - this.additiveProductName = value; - return this; - } - - /** - * @return The product or brand name of the type of modular component to be added to the formula. - */ - public String getAdditiveProductName() { - return this.additiveProductName == null ? null : this.additiveProductName.getValue(); - } - - /** - * @param value The product or brand name of the type of modular component to be added to the formula. - */ - public NutritionOrderEnteralFormulaComponent setAdditiveProductName(String value) { - if (Utilities.noString(value)) - this.additiveProductName = null; - else { - if (this.additiveProductName == null) - this.additiveProductName = new StringType(); - this.additiveProductName.setValue(value); + public CodeableReference getDeliveryDeviceFirstRep() { + if (getDeliveryDevice().isEmpty()) { + addDeliveryDevice(); } + return getDeliveryDevice().get(0); + } + + /** + * @return {@link #additive} (Indicates modular components to be provided in addition or mixed with the base formula.) + */ + public List getAdditive() { + if (this.additive == null) + this.additive = new ArrayList(); + return this.additive; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrderEnteralFormulaComponent setAdditive(List theAdditive) { + this.additive = theAdditive; return this; } + public boolean hasAdditive() { + if (this.additive == null) + return false; + for (NutritionOrderEnteralFormulaAdditiveComponent item : this.additive) + if (!item.isEmpty()) + return true; + return false; + } + + public NutritionOrderEnteralFormulaAdditiveComponent addAdditive() { //3 + NutritionOrderEnteralFormulaAdditiveComponent t = new NutritionOrderEnteralFormulaAdditiveComponent(); + if (this.additive == null) + this.additive = new ArrayList(); + this.additive.add(t); + return t; + } + + public NutritionOrderEnteralFormulaComponent addAdditive(NutritionOrderEnteralFormulaAdditiveComponent t) { //3 + if (t == null) + return this; + if (this.additive == null) + this.additive = new ArrayList(); + this.additive.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #additive}, creating it if it does not already exist {3} + */ + public NutritionOrderEnteralFormulaAdditiveComponent getAdditiveFirstRep() { + if (getAdditive().isEmpty()) { + addAdditive(); + } + return getAdditive().get(0); + } + /** * @return {@link #caloricDensity} (The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL.) */ @@ -1703,26 +2275,26 @@ public class NutritionOrder extends DomainResource { } /** - * @return {@link #routeofAdministration} (The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.) + * @return {@link #routeOfAdministration} (The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.) */ - public CodeableConcept getRouteofAdministration() { - if (this.routeofAdministration == null) + public CodeableConcept getRouteOfAdministration() { + if (this.routeOfAdministration == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaComponent.routeofAdministration"); + throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaComponent.routeOfAdministration"); else if (Configuration.doAutoCreate()) - this.routeofAdministration = new CodeableConcept(); // cc - return this.routeofAdministration; + this.routeOfAdministration = new CodeableConcept(); // cc + return this.routeOfAdministration; } - public boolean hasRouteofAdministration() { - return this.routeofAdministration != null && !this.routeofAdministration.isEmpty(); + public boolean hasRouteOfAdministration() { + return this.routeOfAdministration != null && !this.routeOfAdministration.isEmpty(); } /** - * @param value {@link #routeofAdministration} (The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.) + * @param value {@link #routeOfAdministration} (The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.) */ - public NutritionOrderEnteralFormulaComponent setRouteofAdministration(CodeableConcept value) { - this.routeofAdministration = value; + public NutritionOrderEnteralFormulaComponent setRouteOfAdministration(CodeableConcept value) { + this.routeOfAdministration = value; return this; } @@ -1854,12 +2426,12 @@ public class NutritionOrder extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("baseFormulaType", "CodeableConcept", "The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.", 0, 1, baseFormulaType)); + children.add(new Property("baseFormulaType", "CodeableReference(NutritionProduct)", "The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.", 0, 1, baseFormulaType)); children.add(new Property("baseFormulaProductName", "string", "The product or brand name of the enteral or infant formula product such as \"ACME Adult Standard Formula\".", 0, 1, baseFormulaProductName)); - children.add(new Property("additiveType", "CodeableConcept", "Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.", 0, 1, additiveType)); - children.add(new Property("additiveProductName", "string", "The product or brand name of the type of modular component to be added to the formula.", 0, 1, additiveProductName)); + children.add(new Property("deliveryDevice", "CodeableReference(DeviceDefinition)", "The intended type of device that is to be used for the administration of the enteral formula.", 0, java.lang.Integer.MAX_VALUE, deliveryDevice)); + children.add(new Property("additive", "", "Indicates modular components to be provided in addition or mixed with the base formula.", 0, java.lang.Integer.MAX_VALUE, additive)); children.add(new Property("caloricDensity", "Quantity", "The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL.", 0, 1, caloricDensity)); - children.add(new Property("routeofAdministration", "CodeableConcept", "The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.", 0, 1, routeofAdministration)); + children.add(new Property("routeOfAdministration", "CodeableConcept", "The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.", 0, 1, routeOfAdministration)); children.add(new Property("administration", "", "Formula administration instructions as structured data. This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding. An example of this would be an instruction to increase the rate of continuous feeding every 2 hours.", 0, java.lang.Integer.MAX_VALUE, administration)); children.add(new Property("maxVolumeToDeliver", "Quantity", "The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours.", 0, 1, maxVolumeToDeliver)); children.add(new Property("administrationInstruction", "string", "Free text formula administration, feeding instructions or additional instructions or information.", 0, 1, administrationInstruction)); @@ -1868,12 +2440,12 @@ public class NutritionOrder extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -138930641: /*baseFormulaType*/ return new Property("baseFormulaType", "CodeableConcept", "The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.", 0, 1, baseFormulaType); + case -138930641: /*baseFormulaType*/ return new Property("baseFormulaType", "CodeableReference(NutritionProduct)", "The type of enteral or infant formula such as an adult standard formula with fiber or a soy-based infant formula.", 0, 1, baseFormulaType); case -1267705979: /*baseFormulaProductName*/ return new Property("baseFormulaProductName", "string", "The product or brand name of the enteral or infant formula product such as \"ACME Adult Standard Formula\".", 0, 1, baseFormulaProductName); - case -470746842: /*additiveType*/ return new Property("additiveType", "CodeableConcept", "Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.", 0, 1, additiveType); - case 488079534: /*additiveProductName*/ return new Property("additiveProductName", "string", "The product or brand name of the type of modular component to be added to the formula.", 0, 1, additiveProductName); + case 2060803946: /*deliveryDevice*/ return new Property("deliveryDevice", "CodeableReference(DeviceDefinition)", "The intended type of device that is to be used for the administration of the enteral formula.", 0, java.lang.Integer.MAX_VALUE, deliveryDevice); + case -1226589236: /*additive*/ return new Property("additive", "", "Indicates modular components to be provided in addition or mixed with the base formula.", 0, java.lang.Integer.MAX_VALUE, additive); case 186983261: /*caloricDensity*/ return new Property("caloricDensity", "Quantity", "The amount of energy (calories) that the formula should provide per specified volume, typically per mL or fluid oz. For example, an infant may require a formula that provides 24 calories per fluid ounce or an adult may require an enteral formula that provides 1.5 calorie/mL.", 0, 1, caloricDensity); - case -1710107042: /*routeofAdministration*/ return new Property("routeofAdministration", "CodeableConcept", "The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.", 0, 1, routeofAdministration); + case 1742084734: /*routeOfAdministration*/ return new Property("routeOfAdministration", "CodeableConcept", "The route or physiological path of administration into the patient's gastrointestinal tract for purposes of providing the formula feeding, e.g. nasogastric tube.", 0, 1, routeOfAdministration); case 1255702622: /*administration*/ return new Property("administration", "", "Formula administration instructions as structured data. This repeating structure allows for changing the administration rate or volume over time for both bolus and continuous feeding. An example of this would be an instruction to increase the rate of continuous feeding every 2 hours.", 0, java.lang.Integer.MAX_VALUE, administration); case 2017924652: /*maxVolumeToDeliver*/ return new Property("maxVolumeToDeliver", "Quantity", "The maximum total quantity of formula that may be administered to a subject over the period of time, e.g. 1440 mL over 24 hours.", 0, 1, maxVolumeToDeliver); case 427085136: /*administrationInstruction*/ return new Property("administrationInstruction", "string", "Free text formula administration, feeding instructions or additional instructions or information.", 0, 1, administrationInstruction); @@ -1885,12 +2457,12 @@ public class NutritionOrder extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -138930641: /*baseFormulaType*/ return this.baseFormulaType == null ? new Base[0] : new Base[] {this.baseFormulaType}; // CodeableConcept + case -138930641: /*baseFormulaType*/ return this.baseFormulaType == null ? new Base[0] : new Base[] {this.baseFormulaType}; // CodeableReference case -1267705979: /*baseFormulaProductName*/ return this.baseFormulaProductName == null ? new Base[0] : new Base[] {this.baseFormulaProductName}; // StringType - case -470746842: /*additiveType*/ return this.additiveType == null ? new Base[0] : new Base[] {this.additiveType}; // CodeableConcept - case 488079534: /*additiveProductName*/ return this.additiveProductName == null ? new Base[0] : new Base[] {this.additiveProductName}; // StringType + case 2060803946: /*deliveryDevice*/ return this.deliveryDevice == null ? new Base[0] : this.deliveryDevice.toArray(new Base[this.deliveryDevice.size()]); // CodeableReference + case -1226589236: /*additive*/ return this.additive == null ? new Base[0] : this.additive.toArray(new Base[this.additive.size()]); // NutritionOrderEnteralFormulaAdditiveComponent case 186983261: /*caloricDensity*/ return this.caloricDensity == null ? new Base[0] : new Base[] {this.caloricDensity}; // Quantity - case -1710107042: /*routeofAdministration*/ return this.routeofAdministration == null ? new Base[0] : new Base[] {this.routeofAdministration}; // CodeableConcept + case 1742084734: /*routeOfAdministration*/ return this.routeOfAdministration == null ? new Base[0] : new Base[] {this.routeOfAdministration}; // CodeableConcept case 1255702622: /*administration*/ return this.administration == null ? new Base[0] : this.administration.toArray(new Base[this.administration.size()]); // NutritionOrderEnteralFormulaAdministrationComponent case 2017924652: /*maxVolumeToDeliver*/ return this.maxVolumeToDeliver == null ? new Base[0] : new Base[] {this.maxVolumeToDeliver}; // Quantity case 427085136: /*administrationInstruction*/ return this.administrationInstruction == null ? new Base[0] : new Base[] {this.administrationInstruction}; // StringType @@ -1903,22 +2475,22 @@ public class NutritionOrder extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case -138930641: // baseFormulaType - this.baseFormulaType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.baseFormulaType = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; case -1267705979: // baseFormulaProductName this.baseFormulaProductName = TypeConvertor.castToString(value); // StringType return value; - case -470746842: // additiveType - this.additiveType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 2060803946: // deliveryDevice + this.getDeliveryDevice().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; - case 488079534: // additiveProductName - this.additiveProductName = TypeConvertor.castToString(value); // StringType + case -1226589236: // additive + this.getAdditive().add((NutritionOrderEnteralFormulaAdditiveComponent) value); // NutritionOrderEnteralFormulaAdditiveComponent return value; case 186983261: // caloricDensity this.caloricDensity = TypeConvertor.castToQuantity(value); // Quantity return value; - case -1710107042: // routeofAdministration - this.routeofAdministration = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 1742084734: // routeOfAdministration + this.routeOfAdministration = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case 1255702622: // administration this.getAdministration().add((NutritionOrderEnteralFormulaAdministrationComponent) value); // NutritionOrderEnteralFormulaAdministrationComponent @@ -1937,17 +2509,17 @@ public class NutritionOrder extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("baseFormulaType")) { - this.baseFormulaType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.baseFormulaType = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("baseFormulaProductName")) { this.baseFormulaProductName = TypeConvertor.castToString(value); // StringType - } else if (name.equals("additiveType")) { - this.additiveType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("additiveProductName")) { - this.additiveProductName = TypeConvertor.castToString(value); // StringType + } else if (name.equals("deliveryDevice")) { + this.getDeliveryDevice().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("additive")) { + this.getAdditive().add((NutritionOrderEnteralFormulaAdditiveComponent) value); } else if (name.equals("caloricDensity")) { this.caloricDensity = TypeConvertor.castToQuantity(value); // Quantity - } else if (name.equals("routeofAdministration")) { - this.routeofAdministration = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("routeOfAdministration")) { + this.routeOfAdministration = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("administration")) { this.getAdministration().add((NutritionOrderEnteralFormulaAdministrationComponent) value); } else if (name.equals("maxVolumeToDeliver")) { @@ -1964,10 +2536,10 @@ public class NutritionOrder extends DomainResource { switch (hash) { case -138930641: return getBaseFormulaType(); case -1267705979: return getBaseFormulaProductNameElement(); - case -470746842: return getAdditiveType(); - case 488079534: return getAdditiveProductNameElement(); + case 2060803946: return addDeliveryDevice(); + case -1226589236: return addAdditive(); case 186983261: return getCaloricDensity(); - case -1710107042: return getRouteofAdministration(); + case 1742084734: return getRouteOfAdministration(); case 1255702622: return addAdministration(); case 2017924652: return getMaxVolumeToDeliver(); case 427085136: return getAdministrationInstructionElement(); @@ -1979,12 +2551,12 @@ public class NutritionOrder extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -138930641: /*baseFormulaType*/ return new String[] {"CodeableConcept"}; + case -138930641: /*baseFormulaType*/ return new String[] {"CodeableReference"}; case -1267705979: /*baseFormulaProductName*/ return new String[] {"string"}; - case -470746842: /*additiveType*/ return new String[] {"CodeableConcept"}; - case 488079534: /*additiveProductName*/ return new String[] {"string"}; + case 2060803946: /*deliveryDevice*/ return new String[] {"CodeableReference"}; + case -1226589236: /*additive*/ return new String[] {}; case 186983261: /*caloricDensity*/ return new String[] {"Quantity"}; - case -1710107042: /*routeofAdministration*/ return new String[] {"CodeableConcept"}; + case 1742084734: /*routeOfAdministration*/ return new String[] {"CodeableConcept"}; case 1255702622: /*administration*/ return new String[] {}; case 2017924652: /*maxVolumeToDeliver*/ return new String[] {"Quantity"}; case 427085136: /*administrationInstruction*/ return new String[] {"string"}; @@ -1996,26 +2568,25 @@ public class NutritionOrder extends DomainResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("baseFormulaType")) { - this.baseFormulaType = new CodeableConcept(); + this.baseFormulaType = new CodeableReference(); return this.baseFormulaType; } else if (name.equals("baseFormulaProductName")) { throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.enteralFormula.baseFormulaProductName"); } - else if (name.equals("additiveType")) { - this.additiveType = new CodeableConcept(); - return this.additiveType; + else if (name.equals("deliveryDevice")) { + return addDeliveryDevice(); } - else if (name.equals("additiveProductName")) { - throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.enteralFormula.additiveProductName"); + else if (name.equals("additive")) { + return addAdditive(); } else if (name.equals("caloricDensity")) { this.caloricDensity = new Quantity(); return this.caloricDensity; } - else if (name.equals("routeofAdministration")) { - this.routeofAdministration = new CodeableConcept(); - return this.routeofAdministration; + else if (name.equals("routeOfAdministration")) { + this.routeOfAdministration = new CodeableConcept(); + return this.routeOfAdministration; } else if (name.equals("administration")) { return addAdministration(); @@ -2041,10 +2612,18 @@ public class NutritionOrder extends DomainResource { super.copyValues(dst); dst.baseFormulaType = baseFormulaType == null ? null : baseFormulaType.copy(); dst.baseFormulaProductName = baseFormulaProductName == null ? null : baseFormulaProductName.copy(); - dst.additiveType = additiveType == null ? null : additiveType.copy(); - dst.additiveProductName = additiveProductName == null ? null : additiveProductName.copy(); + if (deliveryDevice != null) { + dst.deliveryDevice = new ArrayList(); + for (CodeableReference i : deliveryDevice) + dst.deliveryDevice.add(i.copy()); + }; + if (additive != null) { + dst.additive = new ArrayList(); + for (NutritionOrderEnteralFormulaAdditiveComponent i : additive) + dst.additive.add(i.copy()); + }; dst.caloricDensity = caloricDensity == null ? null : caloricDensity.copy(); - dst.routeofAdministration = routeofAdministration == null ? null : routeofAdministration.copy(); + dst.routeOfAdministration = routeOfAdministration == null ? null : routeOfAdministration.copy(); if (administration != null) { dst.administration = new ArrayList(); for (NutritionOrderEnteralFormulaAdministrationComponent i : administration) @@ -2062,8 +2641,8 @@ public class NutritionOrder extends DomainResource { return false; NutritionOrderEnteralFormulaComponent o = (NutritionOrderEnteralFormulaComponent) other_; return compareDeep(baseFormulaType, o.baseFormulaType, true) && compareDeep(baseFormulaProductName, o.baseFormulaProductName, true) - && compareDeep(additiveType, o.additiveType, true) && compareDeep(additiveProductName, o.additiveProductName, true) - && compareDeep(caloricDensity, o.caloricDensity, true) && compareDeep(routeofAdministration, o.routeofAdministration, true) + && compareDeep(deliveryDevice, o.deliveryDevice, true) && compareDeep(additive, o.additive, true) + && compareDeep(caloricDensity, o.caloricDensity, true) && compareDeep(routeOfAdministration, o.routeOfAdministration, true) && compareDeep(administration, o.administration, true) && compareDeep(maxVolumeToDeliver, o.maxVolumeToDeliver, true) && compareDeep(administrationInstruction, o.administrationInstruction, true); } @@ -2075,13 +2654,13 @@ public class NutritionOrder extends DomainResource { if (!(other_ instanceof NutritionOrderEnteralFormulaComponent)) return false; NutritionOrderEnteralFormulaComponent o = (NutritionOrderEnteralFormulaComponent) other_; - return compareValues(baseFormulaProductName, o.baseFormulaProductName, true) && compareValues(additiveProductName, o.additiveProductName, true) - && compareValues(administrationInstruction, o.administrationInstruction, true); + return compareValues(baseFormulaProductName, o.baseFormulaProductName, true) && compareValues(administrationInstruction, o.administrationInstruction, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(baseFormulaType, baseFormulaProductName - , additiveType, additiveProductName, caloricDensity, routeofAdministration, administration + , deliveryDevice, additive, caloricDensity, routeOfAdministration, administration , maxVolumeToDeliver, administrationInstruction); } @@ -2090,16 +2669,290 @@ public class NutritionOrder extends DomainResource { } + } + + @Block() + public static class NutritionOrderEnteralFormulaAdditiveComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula. + */ + @Child(name = "type", type = {CodeableReference.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Type of modular component to add to the feeding", formalDefinition="Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/entformula-additive") + protected CodeableReference type; + + /** + * The product or brand name of the type of modular component to be added to the formula. + */ + @Child(name = "productName", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Product or brand name of the modular additive", formalDefinition="The product or brand name of the type of modular component to be added to the formula." ) + protected StringType productName; + + /** + * The amount of additive to be given in addition or to be mixed in with the base formula. + */ + @Child(name = "quantity", type = {Quantity.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Amount of additive to be given or mixed in", formalDefinition="The amount of additive to be given in addition or to be mixed in with the base formula." ) + protected Quantity quantity; + + private static final long serialVersionUID = 2072791035L; + + /** + * Constructor + */ + public NutritionOrderEnteralFormulaAdditiveComponent() { + super(); + } + + /** + * @return {@link #type} (Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.) + */ + public CodeableReference getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaAdditiveComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableReference(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.) + */ + public NutritionOrderEnteralFormulaAdditiveComponent setType(CodeableReference value) { + this.type = value; + return this; + } + + /** + * @return {@link #productName} (The product or brand name of the type of modular component to be added to the formula.). This is the underlying object with id, value and extensions. The accessor "getProductName" gives direct access to the value + */ + public StringType getProductNameElement() { + if (this.productName == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaAdditiveComponent.productName"); + else if (Configuration.doAutoCreate()) + this.productName = new StringType(); // bb + return this.productName; + } + + public boolean hasProductNameElement() { + return this.productName != null && !this.productName.isEmpty(); + } + + public boolean hasProductName() { + return this.productName != null && !this.productName.isEmpty(); + } + + /** + * @param value {@link #productName} (The product or brand name of the type of modular component to be added to the formula.). This is the underlying object with id, value and extensions. The accessor "getProductName" gives direct access to the value + */ + public NutritionOrderEnteralFormulaAdditiveComponent setProductNameElement(StringType value) { + this.productName = value; + return this; + } + + /** + * @return The product or brand name of the type of modular component to be added to the formula. + */ + public String getProductName() { + return this.productName == null ? null : this.productName.getValue(); + } + + /** + * @param value The product or brand name of the type of modular component to be added to the formula. + */ + public NutritionOrderEnteralFormulaAdditiveComponent setProductName(String value) { + if (Utilities.noString(value)) + this.productName = null; + else { + if (this.productName == null) + this.productName = new StringType(); + this.productName.setValue(value); + } + return this; + } + + /** + * @return {@link #quantity} (The amount of additive to be given in addition or to be mixed in with the base formula.) + */ + public Quantity getQuantity() { + if (this.quantity == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaAdditiveComponent.quantity"); + else if (Configuration.doAutoCreate()) + this.quantity = new Quantity(); // cc + return this.quantity; + } + + public boolean hasQuantity() { + return this.quantity != null && !this.quantity.isEmpty(); + } + + /** + * @param value {@link #quantity} (The amount of additive to be given in addition or to be mixed in with the base formula.) + */ + public NutritionOrderEnteralFormulaAdditiveComponent setQuantity(Quantity value) { + this.quantity = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "CodeableReference(NutritionProduct)", "Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.", 0, 1, type)); + children.add(new Property("productName", "string", "The product or brand name of the type of modular component to be added to the formula.", 0, 1, productName)); + children.add(new Property("quantity", "Quantity", "The amount of additive to be given in addition or to be mixed in with the base formula.", 0, 1, quantity)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "CodeableReference(NutritionProduct)", "Indicates the type of modular component such as protein, carbohydrate, fat or fiber to be provided in addition to or mixed with the base formula.", 0, 1, type); + case -1491817446: /*productName*/ return new Property("productName", "string", "The product or brand name of the type of modular component to be added to the formula.", 0, 1, productName); + case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The amount of additive to be given in addition or to be mixed in with the base formula.", 0, 1, quantity); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableReference + case -1491817446: /*productName*/ return this.productName == null ? new Base[0] : new Base[] {this.productName}; // StringType + case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + this.type = TypeConvertor.castToCodeableReference(value); // CodeableReference + return value; + case -1491817446: // productName + this.productName = TypeConvertor.castToString(value); // StringType + return value; + case -1285004149: // quantity + this.quantity = TypeConvertor.castToQuantity(value); // Quantity + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableReference(value); // CodeableReference + } else if (name.equals("productName")) { + this.productName = TypeConvertor.castToString(value); // StringType + } else if (name.equals("quantity")) { + this.quantity = TypeConvertor.castToQuantity(value); // Quantity + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getType(); + case -1491817446: return getProductNameElement(); + case -1285004149: return getQuantity(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"CodeableReference"}; + case -1491817446: /*productName*/ return new String[] {"string"}; + case -1285004149: /*quantity*/ return new String[] {"Quantity"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + this.type = new CodeableReference(); + return this.type; + } + else if (name.equals("productName")) { + throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.enteralFormula.additive.productName"); + } + else if (name.equals("quantity")) { + this.quantity = new Quantity(); + return this.quantity; + } + else + return super.addChild(name); + } + + public NutritionOrderEnteralFormulaAdditiveComponent copy() { + NutritionOrderEnteralFormulaAdditiveComponent dst = new NutritionOrderEnteralFormulaAdditiveComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(NutritionOrderEnteralFormulaAdditiveComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + dst.productName = productName == null ? null : productName.copy(); + dst.quantity = quantity == null ? null : quantity.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof NutritionOrderEnteralFormulaAdditiveComponent)) + return false; + NutritionOrderEnteralFormulaAdditiveComponent o = (NutritionOrderEnteralFormulaAdditiveComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(productName, o.productName, true) && compareDeep(quantity, o.quantity, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof NutritionOrderEnteralFormulaAdditiveComponent)) + return false; + NutritionOrderEnteralFormulaAdditiveComponent o = (NutritionOrderEnteralFormulaAdditiveComponent) other_; + return compareValues(productName, o.productName, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, productName, quantity + ); + } + + public String fhirType() { + return "NutritionOrder.enteralFormula.additive"; + + } + } @Block() public static class NutritionOrderEnteralFormulaAdministrationComponent extends BackboneElement implements IBaseBackboneElement { /** - * The time period and frequency at which the enteral formula should be delivered to the patient. + * Schedule information for an enteral formula. */ - @Child(name = "schedule", type = {Timing.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Scheduled frequency of enteral feeding", formalDefinition="The time period and frequency at which the enteral formula should be delivered to the patient." ) - protected Timing schedule; + @Child(name = "schedule", type = {}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Scheduling information for enteral formula products", formalDefinition="Schedule information for an enteral formula." ) + protected NutritionOrderEnteralFormulaAdministrationScheduleComponent schedule; /** * The volume of formula to provide to the patient per the specified administration schedule. @@ -2115,7 +2968,7 @@ public class NutritionOrder extends DomainResource { @Description(shortDefinition="Speed with which the formula is provided per period of time", formalDefinition="The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule." ) protected DataType rate; - private static final long serialVersionUID = -1312073995L; + private static final long serialVersionUID = -1648388394L; /** * Constructor @@ -2125,14 +2978,14 @@ public class NutritionOrder extends DomainResource { } /** - * @return {@link #schedule} (The time period and frequency at which the enteral formula should be delivered to the patient.) + * @return {@link #schedule} (Schedule information for an enteral formula.) */ - public Timing getSchedule() { + public NutritionOrderEnteralFormulaAdministrationScheduleComponent getSchedule() { if (this.schedule == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaAdministrationComponent.schedule"); else if (Configuration.doAutoCreate()) - this.schedule = new Timing(); // cc + this.schedule = new NutritionOrderEnteralFormulaAdministrationScheduleComponent(); // cc return this.schedule; } @@ -2141,9 +2994,9 @@ public class NutritionOrder extends DomainResource { } /** - * @param value {@link #schedule} (The time period and frequency at which the enteral formula should be delivered to the patient.) + * @param value {@link #schedule} (Schedule information for an enteral formula.) */ - public NutritionOrderEnteralFormulaAdministrationComponent setSchedule(Timing value) { + public NutritionOrderEnteralFormulaAdministrationComponent setSchedule(NutritionOrderEnteralFormulaAdministrationScheduleComponent value) { this.schedule = value; return this; } @@ -2225,7 +3078,7 @@ public class NutritionOrder extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("schedule", "Timing", "The time period and frequency at which the enteral formula should be delivered to the patient.", 0, 1, schedule)); + children.add(new Property("schedule", "", "Schedule information for an enteral formula.", 0, 1, schedule)); children.add(new Property("quantity", "Quantity", "The volume of formula to provide to the patient per the specified administration schedule.", 0, 1, quantity)); children.add(new Property("rate[x]", "Quantity|Ratio", "The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.", 0, 1, rate)); } @@ -2233,7 +3086,7 @@ public class NutritionOrder extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -697920873: /*schedule*/ return new Property("schedule", "Timing", "The time period and frequency at which the enteral formula should be delivered to the patient.", 0, 1, schedule); + case -697920873: /*schedule*/ return new Property("schedule", "", "Schedule information for an enteral formula.", 0, 1, schedule); case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The volume of formula to provide to the patient per the specified administration schedule.", 0, 1, quantity); case 983460768: /*rate[x]*/ return new Property("rate[x]", "Quantity|Ratio", "The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.", 0, 1, rate); case 3493088: /*rate*/ return new Property("rate[x]", "Quantity|Ratio", "The rate of administration of formula via a feeding pump, e.g. 60 mL per hour, according to the specified schedule.", 0, 1, rate); @@ -2247,7 +3100,7 @@ public class NutritionOrder extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -697920873: /*schedule*/ return this.schedule == null ? new Base[0] : new Base[] {this.schedule}; // Timing + case -697920873: /*schedule*/ return this.schedule == null ? new Base[0] : new Base[] {this.schedule}; // NutritionOrderEnteralFormulaAdministrationScheduleComponent case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // Quantity case 3493088: /*rate*/ return this.rate == null ? new Base[0] : new Base[] {this.rate}; // DataType default: return super.getProperty(hash, name, checkValid); @@ -2259,7 +3112,7 @@ public class NutritionOrder extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case -697920873: // schedule - this.schedule = TypeConvertor.castToTiming(value); // Timing + this.schedule = (NutritionOrderEnteralFormulaAdministrationScheduleComponent) value; // NutritionOrderEnteralFormulaAdministrationScheduleComponent return value; case -1285004149: // quantity this.quantity = TypeConvertor.castToQuantity(value); // Quantity @@ -2275,7 +3128,7 @@ public class NutritionOrder extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("schedule")) { - this.schedule = TypeConvertor.castToTiming(value); // Timing + this.schedule = (NutritionOrderEnteralFormulaAdministrationScheduleComponent) value; // NutritionOrderEnteralFormulaAdministrationScheduleComponent } else if (name.equals("quantity")) { this.quantity = TypeConvertor.castToQuantity(value); // Quantity } else if (name.equals("rate[x]")) { @@ -2300,7 +3153,7 @@ public class NutritionOrder extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -697920873: /*schedule*/ return new String[] {"Timing"}; + case -697920873: /*schedule*/ return new String[] {}; case -1285004149: /*quantity*/ return new String[] {"Quantity"}; case 3493088: /*rate*/ return new String[] {"Quantity", "Ratio"}; default: return super.getTypesForProperty(hash, name); @@ -2311,7 +3164,7 @@ public class NutritionOrder extends DomainResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("schedule")) { - this.schedule = new Timing(); + this.schedule = new NutritionOrderEnteralFormulaAdministrationScheduleComponent(); return this.schedule; } else if (name.equals("quantity")) { @@ -2374,6 +3227,308 @@ public class NutritionOrder extends DomainResource { } + } + + @Block() + public static class NutritionOrderEnteralFormulaAdministrationScheduleComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The time period and frequency at which the enteral formula should be given. The enteral formula should be given for the combination of all schedules if more than one schedule is present. + */ + @Child(name = "timing", type = {Timing.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Scheduled frequency of enteral formula", formalDefinition="The time period and frequency at which the enteral formula should be given. The enteral formula should be given for the combination of all schedules if more than one schedule is present." ) + protected List timing; + + /** + * Indicates whether the enteral formula is only taken when needed within a specific dosing schedule. + */ + @Child(name = "asNeeded", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Take 'as needed'", formalDefinition="Indicates whether the enteral formula is only taken when needed within a specific dosing schedule." ) + protected BooleanType asNeeded; + + /** + * Indicates whether the enteral formula is only taken based on a precondition for taking the enteral formula. + */ + @Child(name = "asNeededFor", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Take 'as needed' for x", formalDefinition="Indicates whether the enteral formula is only taken based on a precondition for taking the enteral formula." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-as-needed-reason") + protected CodeableConcept asNeededFor; + + private static final long serialVersionUID = -1051458478L; + + /** + * Constructor + */ + public NutritionOrderEnteralFormulaAdministrationScheduleComponent() { + super(); + } + + /** + * @return {@link #timing} (The time period and frequency at which the enteral formula should be given. The enteral formula should be given for the combination of all schedules if more than one schedule is present.) + */ + public List getTiming() { + if (this.timing == null) + this.timing = new ArrayList(); + return this.timing; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrderEnteralFormulaAdministrationScheduleComponent setTiming(List theTiming) { + this.timing = theTiming; + return this; + } + + public boolean hasTiming() { + if (this.timing == null) + return false; + for (Timing item : this.timing) + if (!item.isEmpty()) + return true; + return false; + } + + public Timing addTiming() { //3 + Timing t = new Timing(); + if (this.timing == null) + this.timing = new ArrayList(); + this.timing.add(t); + return t; + } + + public NutritionOrderEnteralFormulaAdministrationScheduleComponent addTiming(Timing t) { //3 + if (t == null) + return this; + if (this.timing == null) + this.timing = new ArrayList(); + this.timing.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #timing}, creating it if it does not already exist {3} + */ + public Timing getTimingFirstRep() { + if (getTiming().isEmpty()) { + addTiming(); + } + return getTiming().get(0); + } + + /** + * @return {@link #asNeeded} (Indicates whether the enteral formula is only taken when needed within a specific dosing schedule.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public BooleanType getAsNeededElement() { + if (this.asNeeded == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaAdministrationScheduleComponent.asNeeded"); + else if (Configuration.doAutoCreate()) + this.asNeeded = new BooleanType(); // bb + return this.asNeeded; + } + + public boolean hasAsNeededElement() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + public boolean hasAsNeeded() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + /** + * @param value {@link #asNeeded} (Indicates whether the enteral formula is only taken when needed within a specific dosing schedule.). This is the underlying object with id, value and extensions. The accessor "getAsNeeded" gives direct access to the value + */ + public NutritionOrderEnteralFormulaAdministrationScheduleComponent setAsNeededElement(BooleanType value) { + this.asNeeded = value; + return this; + } + + /** + * @return Indicates whether the enteral formula is only taken when needed within a specific dosing schedule. + */ + public boolean getAsNeeded() { + return this.asNeeded == null || this.asNeeded.isEmpty() ? false : this.asNeeded.getValue(); + } + + /** + * @param value Indicates whether the enteral formula is only taken when needed within a specific dosing schedule. + */ + public NutritionOrderEnteralFormulaAdministrationScheduleComponent setAsNeeded(boolean value) { + if (this.asNeeded == null) + this.asNeeded = new BooleanType(); + this.asNeeded.setValue(value); + return this; + } + + /** + * @return {@link #asNeededFor} (Indicates whether the enteral formula is only taken based on a precondition for taking the enteral formula.) + */ + public CodeableConcept getAsNeededFor() { + if (this.asNeededFor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrderEnteralFormulaAdministrationScheduleComponent.asNeededFor"); + else if (Configuration.doAutoCreate()) + this.asNeededFor = new CodeableConcept(); // cc + return this.asNeededFor; + } + + public boolean hasAsNeededFor() { + return this.asNeededFor != null && !this.asNeededFor.isEmpty(); + } + + /** + * @param value {@link #asNeededFor} (Indicates whether the enteral formula is only taken based on a precondition for taking the enteral formula.) + */ + public NutritionOrderEnteralFormulaAdministrationScheduleComponent setAsNeededFor(CodeableConcept value) { + this.asNeededFor = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("timing", "Timing", "The time period and frequency at which the enteral formula should be given. The enteral formula should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, timing)); + children.add(new Property("asNeeded", "boolean", "Indicates whether the enteral formula is only taken when needed within a specific dosing schedule.", 0, 1, asNeeded)); + children.add(new Property("asNeededFor", "CodeableConcept", "Indicates whether the enteral formula is only taken based on a precondition for taking the enteral formula.", 0, 1, asNeededFor)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -873664438: /*timing*/ return new Property("timing", "Timing", "The time period and frequency at which the enteral formula should be given. The enteral formula should be given for the combination of all schedules if more than one schedule is present.", 0, java.lang.Integer.MAX_VALUE, timing); + case -1432923513: /*asNeeded*/ return new Property("asNeeded", "boolean", "Indicates whether the enteral formula is only taken when needed within a specific dosing schedule.", 0, 1, asNeeded); + case -544350014: /*asNeededFor*/ return new Property("asNeededFor", "CodeableConcept", "Indicates whether the enteral formula is only taken based on a precondition for taking the enteral formula.", 0, 1, asNeededFor); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -873664438: /*timing*/ return this.timing == null ? new Base[0] : this.timing.toArray(new Base[this.timing.size()]); // Timing + case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // BooleanType + case -544350014: /*asNeededFor*/ return this.asNeededFor == null ? new Base[0] : new Base[] {this.asNeededFor}; // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -873664438: // timing + this.getTiming().add(TypeConvertor.castToTiming(value)); // Timing + return value; + case -1432923513: // asNeeded + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case -544350014: // asNeededFor + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("timing")) { + this.getTiming().add(TypeConvertor.castToTiming(value)); + } else if (name.equals("asNeeded")) { + this.asNeeded = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("asNeededFor")) { + this.asNeededFor = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -873664438: return addTiming(); + case -1432923513: return getAsNeededElement(); + case -544350014: return getAsNeededFor(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -873664438: /*timing*/ return new String[] {"Timing"}; + case -1432923513: /*asNeeded*/ return new String[] {"boolean"}; + case -544350014: /*asNeededFor*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("timing")) { + return addTiming(); + } + else if (name.equals("asNeeded")) { + throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.enteralFormula.administration.schedule.asNeeded"); + } + else if (name.equals("asNeededFor")) { + this.asNeededFor = new CodeableConcept(); + return this.asNeededFor; + } + else + return super.addChild(name); + } + + public NutritionOrderEnteralFormulaAdministrationScheduleComponent copy() { + NutritionOrderEnteralFormulaAdministrationScheduleComponent dst = new NutritionOrderEnteralFormulaAdministrationScheduleComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(NutritionOrderEnteralFormulaAdministrationScheduleComponent dst) { + super.copyValues(dst); + if (timing != null) { + dst.timing = new ArrayList(); + for (Timing i : timing) + dst.timing.add(i.copy()); + }; + dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); + dst.asNeededFor = asNeededFor == null ? null : asNeededFor.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof NutritionOrderEnteralFormulaAdministrationScheduleComponent)) + return false; + NutritionOrderEnteralFormulaAdministrationScheduleComponent o = (NutritionOrderEnteralFormulaAdministrationScheduleComponent) other_; + return compareDeep(timing, o.timing, true) && compareDeep(asNeeded, o.asNeeded, true) && compareDeep(asNeededFor, o.asNeededFor, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof NutritionOrderEnteralFormulaAdministrationScheduleComponent)) + return false; + NutritionOrderEnteralFormulaAdministrationScheduleComponent o = (NutritionOrderEnteralFormulaAdministrationScheduleComponent) other_; + return compareValues(asNeeded, o.asNeeded, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(timing, asNeeded, asNeededFor + ); + } + + public String fhirType() { + return "NutritionOrder.enteralFormula.administration.schedule"; + + } + } /** @@ -2404,10 +3559,17 @@ public class NutritionOrder extends DomainResource { @Description(shortDefinition="Instantiates protocol or definition", formalDefinition="The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder." ) protected List instantiates; + /** + * A plan or request that is fulfilled in whole or in part by this nutrition order. + */ + @Child(name = "basedOn", type = {CarePlan.class, NutritionOrder.class, ServiceRequest.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="What this order fulfills", formalDefinition="A plan or request that is fulfilled in whole or in part by this nutrition order." ) + protected List basedOn; + /** * The workflow status of the nutrition order/request. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="The workflow status of the nutrition order/request." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") protected Enumeration status; @@ -2415,50 +3577,72 @@ public class NutritionOrder extends DomainResource { /** * Indicates the level of authority/intentionality associated with the NutrionOrder and where the request fits into the workflow chain. */ - @Child(name = "intent", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Child(name = "intent", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Indicates the level of authority/intentionality associated with the NutrionOrder and where the request fits into the workflow chain." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") protected Enumeration intent; /** - * The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. + * Indicates how quickly the Nutrition Order should be addressed with respect to other requests. */ - @Child(name = "patient", type = {Patient.class}, order=6, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="The person who requires the diet, formula or nutritional supplement", formalDefinition="The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding." ) - protected Reference patient; + @Child(name = "priority", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the Nutrition Order should be addressed with respect to other requests." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") + protected Enumeration priority; + + /** + * The person or set of individuals who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding. + */ + @Child(name = "subject", type = {Patient.class, Group.class}, order=8, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Who requires the diet, formula or nutritional supplement", formalDefinition="The person or set of individuals who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding." ) + protected Reference subject; /** * An encounter that provides additional information about the healthcare context in which this request is made. */ - @Child(name = "encounter", type = {Encounter.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "encounter", type = {Encounter.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The encounter associated with this nutrition order", formalDefinition="An encounter that provides additional information about the healthcare context in which this request is made." ) protected Reference encounter; + /** + * Information to support fulfilling (i.e. dispensing or administering) of the nutrition, for example, patient height and weight). + */ + @Child(name = "supportingInformation", type = {Reference.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Information to support fulfilling of the nutrition order", formalDefinition="Information to support fulfilling (i.e. dispensing or administering) of the nutrition, for example, patient height and weight)." ) + protected List supportingInformation; + /** * The date and time that this nutrition order was requested. */ - @Child(name = "dateTime", type = {DateTimeType.class}, order=8, min=1, max=1, modifier=false, summary=true) + @Child(name = "dateTime", type = {DateTimeType.class}, order=11, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Date and time the nutrition order was requested", formalDefinition="The date and time that this nutrition order was requested." ) protected DateTimeType dateTime; /** * The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings. */ - @Child(name = "orderer", type = {Practitioner.class, PractitionerRole.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Child(name = "orderer", type = {Practitioner.class, PractitionerRole.class}, order=12, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Who ordered the diet, formula or nutritional supplement", formalDefinition="The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings." ) protected Reference orderer; + /** + * The specified desired performer of the nutrition order. + */ + @Child(name = "performer", type = {CodeableReference.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who is desired to perform the administration of what is being ordered", formalDefinition="The specified desired performer of the nutrition order." ) + protected List performer; + /** * A link to a record of allergies or intolerances which should be included in the nutrition order. */ - @Child(name = "allergyIntolerance", type = {AllergyIntolerance.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "allergyIntolerance", type = {AllergyIntolerance.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="List of the patient's food and nutrition-related allergies and intolerances", formalDefinition="A link to a record of allergies or intolerances which should be included in the nutrition order." ) protected List allergyIntolerance; /** * This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings. */ - @Child(name = "foodPreferenceModifier", type = {CodeableConcept.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "foodPreferenceModifier", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Order-specific modifier about the type of food that should be given", formalDefinition="This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/encounter-diet") protected List foodPreferenceModifier; @@ -2466,40 +3650,47 @@ public class NutritionOrder extends DomainResource { /** * This modifier is used to convey Order-specific modifier about the type of oral food or oral fluids that should not be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or Gluten-Free. While it should not be necessary to repeat allergy or intolerance information captured in the referenced AllergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings. */ - @Child(name = "excludeFoodModifier", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "excludeFoodModifier", type = {CodeableConcept.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Order-specific modifier about the type of food that should not be given", formalDefinition="This modifier is used to convey Order-specific modifier about the type of oral food or oral fluids that should not be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or Gluten-Free. While it should not be necessary to repeat allergy or intolerance information captured in the referenced AllergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/food-type") protected List excludeFoodModifier; + /** + * This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item. + */ + @Child(name = "outsideFoodAllowed", type = {BooleanType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Capture when a food item is brought in by the patient and/or family", formalDefinition="This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item." ) + protected BooleanType outsideFoodAllowed; + /** * Diet given orally in contrast to enteral (tube) feeding. */ - @Child(name = "oralDiet", type = {}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "oralDiet", type = {}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Oral diet components", formalDefinition="Diet given orally in contrast to enteral (tube) feeding." ) protected NutritionOrderOralDietComponent oralDiet; /** * Oral nutritional products given in order to add further nutritional value to the patient's diet. */ - @Child(name = "supplement", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supplement", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Supplement components", formalDefinition="Oral nutritional products given in order to add further nutritional value to the patient's diet." ) protected List supplement; /** * Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity. */ - @Child(name = "enteralFormula", type = {}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "enteralFormula", type = {}, order=20, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Enteral formula components", formalDefinition="Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity." ) protected NutritionOrderEnteralFormulaComponent enteralFormula; /** * Comments made about the nutrition order by the requester, performer, subject or other participants. */ - @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Comments", formalDefinition="Comments made about the nutrition order by the requester, performer, subject or other participants." ) protected List note; - private static final long serialVersionUID = 1010528149L; + private static final long serialVersionUID = 1579586862L; /** * Constructor @@ -2511,11 +3702,11 @@ public class NutritionOrder extends DomainResource { /** * Constructor */ - public NutritionOrder(RequestStatus status, RequestIntent intent, Reference patient, Date dateTime) { + public NutritionOrder(RequestStatus status, RequestIntent intent, Reference subject, Date dateTime) { super(); this.setStatus(status); this.setIntent(intent); - this.setPatient(patient); + this.setSubject(subject); this.setDateTime(dateTime); } @@ -2755,6 +3946,59 @@ public class NutritionOrder extends DomainResource { return false; } + /** + * @return {@link #basedOn} (A plan or request that is fulfilled in whole or in part by this nutrition order.) + */ + public List getBasedOn() { + if (this.basedOn == null) + this.basedOn = new ArrayList(); + return this.basedOn; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrder setBasedOn(List theBasedOn) { + this.basedOn = theBasedOn; + return this; + } + + public boolean hasBasedOn() { + if (this.basedOn == null) + return false; + for (Reference item : this.basedOn) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addBasedOn() { //3 + Reference t = new Reference(); + if (this.basedOn == null) + this.basedOn = new ArrayList(); + this.basedOn.add(t); + return t; + } + + public NutritionOrder addBasedOn(Reference t) { //3 + if (t == null) + return this; + if (this.basedOn == null) + this.basedOn = new ArrayList(); + this.basedOn.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} + */ + public Reference getBasedOnFirstRep() { + if (getBasedOn().isEmpty()) { + addBasedOn(); + } + return getBasedOn().get(0); + } + /** * @return {@link #status} (The workflow status of the nutrition order/request.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ @@ -2846,26 +4090,75 @@ public class NutritionOrder extends DomainResource { } /** - * @return {@link #patient} (The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.) + * @return {@link #priority} (Indicates how quickly the Nutrition Order should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value */ - public Reference getPatient() { - if (this.patient == null) + public Enumeration getPriorityElement() { + if (this.priority == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create NutritionOrder.patient"); + throw new Error("Attempt to auto-create NutritionOrder.priority"); else if (Configuration.doAutoCreate()) - this.patient = new Reference(); // cc - return this.patient; + this.priority = new Enumeration(new RequestPriorityEnumFactory()); // bb + return this.priority; } - public boolean hasPatient() { - return this.patient != null && !this.patient.isEmpty(); + public boolean hasPriorityElement() { + return this.priority != null && !this.priority.isEmpty(); + } + + public boolean hasPriority() { + return this.priority != null && !this.priority.isEmpty(); } /** - * @param value {@link #patient} (The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.) + * @param value {@link #priority} (Indicates how quickly the Nutrition Order should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value */ - public NutritionOrder setPatient(Reference value) { - this.patient = value; + public NutritionOrder setPriorityElement(Enumeration value) { + this.priority = value; + return this; + } + + /** + * @return Indicates how quickly the Nutrition Order should be addressed with respect to other requests. + */ + public RequestPriority getPriority() { + return this.priority == null ? null : this.priority.getValue(); + } + + /** + * @param value Indicates how quickly the Nutrition Order should be addressed with respect to other requests. + */ + public NutritionOrder setPriority(RequestPriority value) { + if (value == null) + this.priority = null; + else { + if (this.priority == null) + this.priority = new Enumeration(new RequestPriorityEnumFactory()); + this.priority.setValue(value); + } + return this; + } + + /** + * @return {@link #subject} (The person or set of individuals who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.) + */ + public Reference getSubject() { + if (this.subject == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrder.subject"); + else if (Configuration.doAutoCreate()) + this.subject = new Reference(); // cc + return this.subject; + } + + public boolean hasSubject() { + return this.subject != null && !this.subject.isEmpty(); + } + + /** + * @param value {@link #subject} (The person or set of individuals who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.) + */ + public NutritionOrder setSubject(Reference value) { + this.subject = value; return this; } @@ -2893,6 +4186,59 @@ public class NutritionOrder extends DomainResource { return this; } + /** + * @return {@link #supportingInformation} (Information to support fulfilling (i.e. dispensing or administering) of the nutrition, for example, patient height and weight).) + */ + public List getSupportingInformation() { + if (this.supportingInformation == null) + this.supportingInformation = new ArrayList(); + return this.supportingInformation; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrder setSupportingInformation(List theSupportingInformation) { + this.supportingInformation = theSupportingInformation; + return this; + } + + public boolean hasSupportingInformation() { + if (this.supportingInformation == null) + return false; + for (Reference item : this.supportingInformation) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addSupportingInformation() { //3 + Reference t = new Reference(); + if (this.supportingInformation == null) + this.supportingInformation = new ArrayList(); + this.supportingInformation.add(t); + return t; + } + + public NutritionOrder addSupportingInformation(Reference t) { //3 + if (t == null) + return this; + if (this.supportingInformation == null) + this.supportingInformation = new ArrayList(); + this.supportingInformation.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #supportingInformation}, creating it if it does not already exist {3} + */ + public Reference getSupportingInformationFirstRep() { + if (getSupportingInformation().isEmpty()) { + addSupportingInformation(); + } + return getSupportingInformation().get(0); + } + /** * @return {@link #dateTime} (The date and time that this nutrition order was requested.). This is the underlying object with id, value and extensions. The accessor "getDateTime" gives direct access to the value */ @@ -2962,6 +4308,59 @@ public class NutritionOrder extends DomainResource { return this; } + /** + * @return {@link #performer} (The specified desired performer of the nutrition order.) + */ + public List getPerformer() { + if (this.performer == null) + this.performer = new ArrayList(); + return this.performer; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public NutritionOrder setPerformer(List thePerformer) { + this.performer = thePerformer; + return this; + } + + public boolean hasPerformer() { + if (this.performer == null) + return false; + for (CodeableReference item : this.performer) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addPerformer() { //3 + CodeableReference t = new CodeableReference(); + if (this.performer == null) + this.performer = new ArrayList(); + this.performer.add(t); + return t; + } + + public NutritionOrder addPerformer(CodeableReference t) { //3 + if (t == null) + return this; + if (this.performer == null) + this.performer = new ArrayList(); + this.performer.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #performer}, creating it if it does not already exist {3} + */ + public CodeableReference getPerformerFirstRep() { + if (getPerformer().isEmpty()) { + addPerformer(); + } + return getPerformer().get(0); + } + /** * @return {@link #allergyIntolerance} (A link to a record of allergies or intolerances which should be included in the nutrition order.) */ @@ -3121,6 +4520,51 @@ public class NutritionOrder extends DomainResource { return getExcludeFoodModifier().get(0); } + /** + * @return {@link #outsideFoodAllowed} (This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item.). This is the underlying object with id, value and extensions. The accessor "getOutsideFoodAllowed" gives direct access to the value + */ + public BooleanType getOutsideFoodAllowedElement() { + if (this.outsideFoodAllowed == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create NutritionOrder.outsideFoodAllowed"); + else if (Configuration.doAutoCreate()) + this.outsideFoodAllowed = new BooleanType(); // bb + return this.outsideFoodAllowed; + } + + public boolean hasOutsideFoodAllowedElement() { + return this.outsideFoodAllowed != null && !this.outsideFoodAllowed.isEmpty(); + } + + public boolean hasOutsideFoodAllowed() { + return this.outsideFoodAllowed != null && !this.outsideFoodAllowed.isEmpty(); + } + + /** + * @param value {@link #outsideFoodAllowed} (This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item.). This is the underlying object with id, value and extensions. The accessor "getOutsideFoodAllowed" gives direct access to the value + */ + public NutritionOrder setOutsideFoodAllowedElement(BooleanType value) { + this.outsideFoodAllowed = value; + return this; + } + + /** + * @return This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item. + */ + public boolean getOutsideFoodAllowed() { + return this.outsideFoodAllowed == null || this.outsideFoodAllowed.isEmpty() ? false : this.outsideFoodAllowed.getValue(); + } + + /** + * @param value This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item. + */ + public NutritionOrder setOutsideFoodAllowed(boolean value) { + if (this.outsideFoodAllowed == null) + this.outsideFoodAllowed = new BooleanType(); + this.outsideFoodAllowed.setValue(value); + return this; + } + /** * @return {@link #oralDiet} (Diet given orally in contrast to enteral (tube) feeding.) */ @@ -3281,15 +4725,20 @@ public class NutritionOrder extends DomainResource { children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition|PlanDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); children.add(new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); children.add(new Property("instantiates", "uri", "The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.", 0, java.lang.Integer.MAX_VALUE, instantiates)); + children.add(new Property("basedOn", "Reference(CarePlan|NutritionOrder|ServiceRequest)", "A plan or request that is fulfilled in whole or in part by this nutrition order.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("status", "code", "The workflow status of the nutrition order/request.", 0, 1, status)); children.add(new Property("intent", "code", "Indicates the level of authority/intentionality associated with the NutrionOrder and where the request fits into the workflow chain.", 0, 1, intent)); - children.add(new Property("patient", "Reference(Patient)", "The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.", 0, 1, patient)); + children.add(new Property("priority", "code", "Indicates how quickly the Nutrition Order should be addressed with respect to other requests.", 0, 1, priority)); + children.add(new Property("subject", "Reference(Patient|Group)", "The person or set of individuals who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.", 0, 1, subject)); children.add(new Property("encounter", "Reference(Encounter)", "An encounter that provides additional information about the healthcare context in which this request is made.", 0, 1, encounter)); + children.add(new Property("supportingInformation", "Reference(Any)", "Information to support fulfilling (i.e. dispensing or administering) of the nutrition, for example, patient height and weight).", 0, java.lang.Integer.MAX_VALUE, supportingInformation)); children.add(new Property("dateTime", "dateTime", "The date and time that this nutrition order was requested.", 0, 1, dateTime)); children.add(new Property("orderer", "Reference(Practitioner|PractitionerRole)", "The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings.", 0, 1, orderer)); + children.add(new Property("performer", "CodeableReference(CareTeam|Practitioner|PractitionerRole|RelatedPerson|Patient|Organization)", "The specified desired performer of the nutrition order.", 0, java.lang.Integer.MAX_VALUE, performer)); children.add(new Property("allergyIntolerance", "Reference(AllergyIntolerance)", "A link to a record of allergies or intolerances which should be included in the nutrition order.", 0, java.lang.Integer.MAX_VALUE, allergyIntolerance)); children.add(new Property("foodPreferenceModifier", "CodeableConcept", "This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.", 0, java.lang.Integer.MAX_VALUE, foodPreferenceModifier)); children.add(new Property("excludeFoodModifier", "CodeableConcept", "This modifier is used to convey Order-specific modifier about the type of oral food or oral fluids that should not be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or Gluten-Free. While it should not be necessary to repeat allergy or intolerance information captured in the referenced AllergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.", 0, java.lang.Integer.MAX_VALUE, excludeFoodModifier)); + children.add(new Property("outsideFoodAllowed", "boolean", "This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item.", 0, 1, outsideFoodAllowed)); children.add(new Property("oralDiet", "", "Diet given orally in contrast to enteral (tube) feeding.", 0, 1, oralDiet)); children.add(new Property("supplement", "", "Oral nutritional products given in order to add further nutritional value to the patient's diet.", 0, java.lang.Integer.MAX_VALUE, supplement)); children.add(new Property("enteralFormula", "", "Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.", 0, 1, enteralFormula)); @@ -3303,15 +4752,20 @@ public class NutritionOrder extends DomainResource { case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition|PlanDefinition)", "The URL pointing to a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an externally maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); case -246883639: /*instantiates*/ return new Property("instantiates", "uri", "The URL pointing to a protocol, guideline, orderset or other definition that is adhered to in whole or in part by this NutritionOrder.", 0, java.lang.Integer.MAX_VALUE, instantiates); + case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|NutritionOrder|ServiceRequest)", "A plan or request that is fulfilled in whole or in part by this nutrition order.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -892481550: /*status*/ return new Property("status", "code", "The workflow status of the nutrition order/request.", 0, 1, status); case -1183762788: /*intent*/ return new Property("intent", "code", "Indicates the level of authority/intentionality associated with the NutrionOrder and where the request fits into the workflow chain.", 0, 1, intent); - case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "The person (patient) who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.", 0, 1, patient); + case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the Nutrition Order should be addressed with respect to other requests.", 0, 1, priority); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The person or set of individuals who needs the nutrition order for an oral diet, nutritional supplement and/or enteral or formula feeding.", 0, 1, subject); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "An encounter that provides additional information about the healthcare context in which this request is made.", 0, 1, encounter); + case -1248768647: /*supportingInformation*/ return new Property("supportingInformation", "Reference(Any)", "Information to support fulfilling (i.e. dispensing or administering) of the nutrition, for example, patient height and weight).", 0, java.lang.Integer.MAX_VALUE, supportingInformation); case 1792749467: /*dateTime*/ return new Property("dateTime", "dateTime", "The date and time that this nutrition order was requested.", 0, 1, dateTime); case -1207109509: /*orderer*/ return new Property("orderer", "Reference(Practitioner|PractitionerRole)", "The practitioner that holds legal responsibility for ordering the diet, nutritional supplement, or formula feedings.", 0, 1, orderer); + case 481140686: /*performer*/ return new Property("performer", "CodeableReference(CareTeam|Practitioner|PractitionerRole|RelatedPerson|Patient|Organization)", "The specified desired performer of the nutrition order.", 0, java.lang.Integer.MAX_VALUE, performer); case -120164120: /*allergyIntolerance*/ return new Property("allergyIntolerance", "Reference(AllergyIntolerance)", "A link to a record of allergies or intolerances which should be included in the nutrition order.", 0, java.lang.Integer.MAX_VALUE, allergyIntolerance); case 659473872: /*foodPreferenceModifier*/ return new Property("foodPreferenceModifier", "CodeableConcept", "This modifier is used to convey order-specific modifiers about the type of food that should be given. These can be derived from patient allergies, intolerances, or preferences such as Halal, Vegan or Kosher. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.", 0, java.lang.Integer.MAX_VALUE, foodPreferenceModifier); case 1760260175: /*excludeFoodModifier*/ return new Property("excludeFoodModifier", "CodeableConcept", "This modifier is used to convey Order-specific modifier about the type of oral food or oral fluids that should not be given. These can be derived from patient allergies, intolerances, or preferences such as No Red Meat, No Soy or No Wheat or Gluten-Free. While it should not be necessary to repeat allergy or intolerance information captured in the referenced AllergyIntolerance resource in the excludeFoodModifier, this element may be used to convey additional specificity related to foods that should be eliminated from the patient’s diet for any reason. This modifier applies to the entire nutrition order inclusive of the oral diet, nutritional supplements and enteral formula feedings.", 0, java.lang.Integer.MAX_VALUE, excludeFoodModifier); + case 833777797: /*outsideFoodAllowed*/ return new Property("outsideFoodAllowed", "boolean", "This modifier is used to convey whether a food item is allowed to be brought in by the patient and/or family. If set to true, indicates that the receiving system does not need to supply the food item.", 0, 1, outsideFoodAllowed); case 1153521250: /*oralDiet*/ return new Property("oralDiet", "", "Diet given orally in contrast to enteral (tube) feeding.", 0, 1, oralDiet); case -711993159: /*supplement*/ return new Property("supplement", "", "Oral nutritional products given in order to add further nutritional value to the patient's diet.", 0, java.lang.Integer.MAX_VALUE, supplement); case -671083805: /*enteralFormula*/ return new Property("enteralFormula", "", "Feeding provided through the gastrointestinal tract via a tube, catheter, or stoma that delivers nutrition distal to the oral cavity.", 0, 1, enteralFormula); @@ -3328,15 +4782,20 @@ public class NutritionOrder extends DomainResource { case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType case -246883639: /*instantiates*/ return this.instantiates == null ? new Base[0] : this.instantiates.toArray(new Base[this.instantiates.size()]); // UriType + case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration - case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference + case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference + case -1248768647: /*supportingInformation*/ return this.supportingInformation == null ? new Base[0] : this.supportingInformation.toArray(new Base[this.supportingInformation.size()]); // Reference case 1792749467: /*dateTime*/ return this.dateTime == null ? new Base[0] : new Base[] {this.dateTime}; // DateTimeType case -1207109509: /*orderer*/ return this.orderer == null ? new Base[0] : new Base[] {this.orderer}; // Reference + case 481140686: /*performer*/ return this.performer == null ? new Base[0] : this.performer.toArray(new Base[this.performer.size()]); // CodeableReference case -120164120: /*allergyIntolerance*/ return this.allergyIntolerance == null ? new Base[0] : this.allergyIntolerance.toArray(new Base[this.allergyIntolerance.size()]); // Reference case 659473872: /*foodPreferenceModifier*/ return this.foodPreferenceModifier == null ? new Base[0] : this.foodPreferenceModifier.toArray(new Base[this.foodPreferenceModifier.size()]); // CodeableConcept case 1760260175: /*excludeFoodModifier*/ return this.excludeFoodModifier == null ? new Base[0] : this.excludeFoodModifier.toArray(new Base[this.excludeFoodModifier.size()]); // CodeableConcept + case 833777797: /*outsideFoodAllowed*/ return this.outsideFoodAllowed == null ? new Base[0] : new Base[] {this.outsideFoodAllowed}; // BooleanType case 1153521250: /*oralDiet*/ return this.oralDiet == null ? new Base[0] : new Base[] {this.oralDiet}; // NutritionOrderOralDietComponent case -711993159: /*supplement*/ return this.supplement == null ? new Base[0] : this.supplement.toArray(new Base[this.supplement.size()]); // NutritionOrderSupplementComponent case -671083805: /*enteralFormula*/ return this.enteralFormula == null ? new Base[0] : new Base[] {this.enteralFormula}; // NutritionOrderEnteralFormulaComponent @@ -3361,6 +4820,9 @@ public class NutritionOrder extends DomainResource { case -246883639: // instantiates this.getInstantiates().add(TypeConvertor.castToUri(value)); // UriType return value; + case -332612366: // basedOn + this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference + return value; case -892481550: // status value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration @@ -3369,18 +4831,28 @@ public class NutritionOrder extends DomainResource { value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); this.intent = (Enumeration) value; // Enumeration return value; - case -791418107: // patient - this.patient = TypeConvertor.castToReference(value); // Reference + case -1165461084: // priority + value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.priority = (Enumeration) value; // Enumeration + return value; + case -1867885268: // subject + this.subject = TypeConvertor.castToReference(value); // Reference return value; case 1524132147: // encounter this.encounter = TypeConvertor.castToReference(value); // Reference return value; + case -1248768647: // supportingInformation + this.getSupportingInformation().add(TypeConvertor.castToReference(value)); // Reference + return value; case 1792749467: // dateTime this.dateTime = TypeConvertor.castToDateTime(value); // DateTimeType return value; case -1207109509: // orderer this.orderer = TypeConvertor.castToReference(value); // Reference return value; + case 481140686: // performer + this.getPerformer().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; case -120164120: // allergyIntolerance this.getAllergyIntolerance().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -3390,6 +4862,9 @@ public class NutritionOrder extends DomainResource { case 1760260175: // excludeFoodModifier this.getExcludeFoodModifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 833777797: // outsideFoodAllowed + this.outsideFoodAllowed = TypeConvertor.castToBoolean(value); // BooleanType + return value; case 1153521250: // oralDiet this.oralDiet = (NutritionOrderOralDietComponent) value; // NutritionOrderOralDietComponent return value; @@ -3417,26 +4892,37 @@ public class NutritionOrder extends DomainResource { this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); } else if (name.equals("instantiates")) { this.getInstantiates().add(TypeConvertor.castToUri(value)); + } else if (name.equals("basedOn")) { + this.getBasedOn().add(TypeConvertor.castToReference(value)); } else if (name.equals("status")) { value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration } else if (name.equals("intent")) { value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); this.intent = (Enumeration) value; // Enumeration - } else if (name.equals("patient")) { - this.patient = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("priority")) { + value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.priority = (Enumeration) value; // Enumeration + } else if (name.equals("subject")) { + this.subject = TypeConvertor.castToReference(value); // Reference } else if (name.equals("encounter")) { this.encounter = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("supportingInformation")) { + this.getSupportingInformation().add(TypeConvertor.castToReference(value)); } else if (name.equals("dateTime")) { this.dateTime = TypeConvertor.castToDateTime(value); // DateTimeType } else if (name.equals("orderer")) { this.orderer = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("performer")) { + this.getPerformer().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("allergyIntolerance")) { this.getAllergyIntolerance().add(TypeConvertor.castToReference(value)); } else if (name.equals("foodPreferenceModifier")) { this.getFoodPreferenceModifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("excludeFoodModifier")) { this.getExcludeFoodModifier().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("outsideFoodAllowed")) { + this.outsideFoodAllowed = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("oralDiet")) { this.oralDiet = (NutritionOrderOralDietComponent) value; // NutritionOrderOralDietComponent } else if (name.equals("supplement")) { @@ -3457,15 +4943,20 @@ public class NutritionOrder extends DomainResource { case 8911915: return addInstantiatesCanonicalElement(); case -1926393373: return addInstantiatesUriElement(); case -246883639: return addInstantiatesElement(); + case -332612366: return addBasedOn(); case -892481550: return getStatusElement(); case -1183762788: return getIntentElement(); - case -791418107: return getPatient(); + case -1165461084: return getPriorityElement(); + case -1867885268: return getSubject(); case 1524132147: return getEncounter(); + case -1248768647: return addSupportingInformation(); case 1792749467: return getDateTimeElement(); case -1207109509: return getOrderer(); + case 481140686: return addPerformer(); case -120164120: return addAllergyIntolerance(); case 659473872: return addFoodPreferenceModifier(); case 1760260175: return addExcludeFoodModifier(); + case 833777797: return getOutsideFoodAllowedElement(); case 1153521250: return getOralDiet(); case -711993159: return addSupplement(); case -671083805: return getEnteralFormula(); @@ -3482,15 +4973,20 @@ public class NutritionOrder extends DomainResource { case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; case -246883639: /*instantiates*/ return new String[] {"uri"}; + case -332612366: /*basedOn*/ return new String[] {"Reference"}; case -892481550: /*status*/ return new String[] {"code"}; case -1183762788: /*intent*/ return new String[] {"code"}; - case -791418107: /*patient*/ return new String[] {"Reference"}; + case -1165461084: /*priority*/ return new String[] {"code"}; + case -1867885268: /*subject*/ return new String[] {"Reference"}; case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -1248768647: /*supportingInformation*/ return new String[] {"Reference"}; case 1792749467: /*dateTime*/ return new String[] {"dateTime"}; case -1207109509: /*orderer*/ return new String[] {"Reference"}; + case 481140686: /*performer*/ return new String[] {"CodeableReference"}; case -120164120: /*allergyIntolerance*/ return new String[] {"Reference"}; case 659473872: /*foodPreferenceModifier*/ return new String[] {"CodeableConcept"}; case 1760260175: /*excludeFoodModifier*/ return new String[] {"CodeableConcept"}; + case 833777797: /*outsideFoodAllowed*/ return new String[] {"boolean"}; case 1153521250: /*oralDiet*/ return new String[] {}; case -711993159: /*supplement*/ return new String[] {}; case -671083805: /*enteralFormula*/ return new String[] {}; @@ -3514,20 +5010,29 @@ public class NutritionOrder extends DomainResource { else if (name.equals("instantiates")) { throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.instantiates"); } + else if (name.equals("basedOn")) { + return addBasedOn(); + } else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.status"); } else if (name.equals("intent")) { throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.intent"); } - else if (name.equals("patient")) { - this.patient = new Reference(); - return this.patient; + else if (name.equals("priority")) { + throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.priority"); + } + else if (name.equals("subject")) { + this.subject = new Reference(); + return this.subject; } else if (name.equals("encounter")) { this.encounter = new Reference(); return this.encounter; } + else if (name.equals("supportingInformation")) { + return addSupportingInformation(); + } else if (name.equals("dateTime")) { throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.dateTime"); } @@ -3535,6 +5040,9 @@ public class NutritionOrder extends DomainResource { this.orderer = new Reference(); return this.orderer; } + else if (name.equals("performer")) { + return addPerformer(); + } else if (name.equals("allergyIntolerance")) { return addAllergyIntolerance(); } @@ -3544,6 +5052,9 @@ public class NutritionOrder extends DomainResource { else if (name.equals("excludeFoodModifier")) { return addExcludeFoodModifier(); } + else if (name.equals("outsideFoodAllowed")) { + throw new FHIRException("Cannot call addChild on a primitive type NutritionOrder.outsideFoodAllowed"); + } else if (name.equals("oralDiet")) { this.oralDiet = new NutritionOrderOralDietComponent(); return this.oralDiet; @@ -3595,12 +5106,28 @@ public class NutritionOrder extends DomainResource { for (UriType i : instantiates) dst.instantiates.add(i.copy()); }; + if (basedOn != null) { + dst.basedOn = new ArrayList(); + for (Reference i : basedOn) + dst.basedOn.add(i.copy()); + }; dst.status = status == null ? null : status.copy(); dst.intent = intent == null ? null : intent.copy(); - dst.patient = patient == null ? null : patient.copy(); + dst.priority = priority == null ? null : priority.copy(); + dst.subject = subject == null ? null : subject.copy(); dst.encounter = encounter == null ? null : encounter.copy(); + if (supportingInformation != null) { + dst.supportingInformation = new ArrayList(); + for (Reference i : supportingInformation) + dst.supportingInformation.add(i.copy()); + }; dst.dateTime = dateTime == null ? null : dateTime.copy(); dst.orderer = orderer == null ? null : orderer.copy(); + if (performer != null) { + dst.performer = new ArrayList(); + for (CodeableReference i : performer) + dst.performer.add(i.copy()); + }; if (allergyIntolerance != null) { dst.allergyIntolerance = new ArrayList(); for (Reference i : allergyIntolerance) @@ -3616,6 +5143,7 @@ public class NutritionOrder extends DomainResource { for (CodeableConcept i : excludeFoodModifier) dst.excludeFoodModifier.add(i.copy()); }; + dst.outsideFoodAllowed = outsideFoodAllowed == null ? null : outsideFoodAllowed.copy(); dst.oralDiet = oralDiet == null ? null : oralDiet.copy(); if (supplement != null) { dst.supplement = new ArrayList(); @@ -3643,10 +5171,12 @@ public class NutritionOrder extends DomainResource { NutritionOrder o = (NutritionOrder) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(instantiates, o.instantiates, true) - && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(patient, o.patient, true) - && compareDeep(encounter, o.encounter, true) && compareDeep(dateTime, o.dateTime, true) && compareDeep(orderer, o.orderer, true) - && compareDeep(allergyIntolerance, o.allergyIntolerance, true) && compareDeep(foodPreferenceModifier, o.foodPreferenceModifier, true) - && compareDeep(excludeFoodModifier, o.excludeFoodModifier, true) && compareDeep(oralDiet, o.oralDiet, true) + && compareDeep(basedOn, o.basedOn, true) && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) + && compareDeep(priority, o.priority, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(supportingInformation, o.supportingInformation, true) && compareDeep(dateTime, o.dateTime, true) + && compareDeep(orderer, o.orderer, true) && compareDeep(performer, o.performer, true) && compareDeep(allergyIntolerance, o.allergyIntolerance, true) + && compareDeep(foodPreferenceModifier, o.foodPreferenceModifier, true) && compareDeep(excludeFoodModifier, o.excludeFoodModifier, true) + && compareDeep(outsideFoodAllowed, o.outsideFoodAllowed, true) && compareDeep(oralDiet, o.oralDiet, true) && compareDeep(supplement, o.supplement, true) && compareDeep(enteralFormula, o.enteralFormula, true) && compareDeep(note, o.note, true); } @@ -3660,14 +5190,16 @@ public class NutritionOrder extends DomainResource { NutritionOrder o = (NutritionOrder) other_; return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) && compareValues(instantiates, o.instantiates, true) && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) - && compareValues(dateTime, o.dateTime, true); + && compareValues(priority, o.priority, true) && compareValues(dateTime, o.dateTime, true) && compareValues(outsideFoodAllowed, o.outsideFoodAllowed, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical - , instantiatesUri, instantiates, status, intent, patient, encounter, dateTime - , orderer, allergyIntolerance, foodPreferenceModifier, excludeFoodModifier, oralDiet - , supplement, enteralFormula, note); + , instantiatesUri, instantiates, basedOn, status, intent, priority, subject, encounter + , supportingInformation, dateTime, orderer, performer, allergyIntolerance, foodPreferenceModifier + , excludeFoodModifier, outsideFoodAllowed, oralDiet, supplement, enteralFormula, note + ); } @Override @@ -3680,17 +5212,17 @@ public class NutritionOrder extends DomainResource { *

* Description: Type of module component to add to the feeding
* Type: token
- * Path: NutritionOrder.enteralFormula.additiveType
+ * Path: NutritionOrder.enteralFormula.additive.type.concept
*

*/ - @SearchParamDefinition(name="additive", path="NutritionOrder.enteralFormula.additiveType", description="Type of module component to add to the feeding", type="token" ) + @SearchParamDefinition(name="additive", path="NutritionOrder.enteralFormula.additive.type.concept", description="Type of module component to add to the feeding", type="token" ) public static final String SP_ADDITIVE = "additive"; /** * Fluent Client search parameter constant for additive *

* Description: Type of module component to add to the feeding
* Type: token
- * Path: NutritionOrder.enteralFormula.additiveType
+ * Path: NutritionOrder.enteralFormula.additive.type.concept
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDITIVE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDITIVE); @@ -3720,17 +5252,17 @@ public class NutritionOrder extends DomainResource { *

* Description: Type of enteral or infant formula
* Type: token
- * Path: NutritionOrder.enteralFormula.baseFormulaType
+ * Path: NutritionOrder.enteralFormula.baseFormulaType.concept
*

*/ - @SearchParamDefinition(name="formula", path="NutritionOrder.enteralFormula.baseFormulaType", description="Type of enteral or infant formula", type="token" ) + @SearchParamDefinition(name="formula", path="NutritionOrder.enteralFormula.baseFormulaType.concept", description="Type of enteral or infant formula", type="token" ) public static final String SP_FORMULA = "formula"; /** * Fluent Client search parameter constant for formula *

* Description: Type of enteral or infant formula
* Type: token
- * Path: NutritionOrder.enteralFormula.baseFormulaType
+ * Path: NutritionOrder.enteralFormula.baseFormulaType.concept
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam FORMULA = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_FORMULA); @@ -3801,22 +5333,48 @@ public class NutritionOrder extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + /** + * Search parameter: subject + *

+ * Description: The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement
+ * Type: reference
+ * Path: NutritionOrder.subject
+ *

+ */ + @SearchParamDefinition(name="subject", path="NutritionOrder.subject", description="The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement", type="reference", target={Group.class, Patient.class } ) + public static final String SP_SUBJECT = "subject"; + /** + * Fluent Client search parameter constant for subject + *

+ * Description: The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement
+ * Type: reference
+ * Path: NutritionOrder.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "NutritionOrder:subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("NutritionOrder:subject").toLocked(); + /** * Search parameter: supplement *

* Description: Type of supplement product requested
* Type: token
- * Path: NutritionOrder.supplement.type
+ * Path: NutritionOrder.supplement.type.concept
*

*/ - @SearchParamDefinition(name="supplement", path="NutritionOrder.supplement.type", description="Type of supplement product requested", type="token" ) + @SearchParamDefinition(name="supplement", path="NutritionOrder.supplement.type.concept", description="Type of supplement product requested", type="token" ) public static final String SP_SUPPLEMENT = "supplement"; /** * Fluent Client search parameter constant for supplement *

* Description: Type of supplement product requested
* Type: token
- * Path: NutritionOrder.supplement.type
+ * Path: NutritionOrder.supplement.type.concept
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam SUPPLEMENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SUPPLEMENT); @@ -3987,7 +5545,7 @@ public class NutritionOrder extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3996,10 +5554,10 @@ public class NutritionOrder extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4031,7 +5589,7 @@ public class NutritionOrder extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4040,7 +5598,7 @@ public class NutritionOrder extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionProduct.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionProduct.java index a2fa69da7..b956fc746 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionProduct.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/NutritionProduct.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Observation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Observation.java index b13694392..d6cb8f153 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Observation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Observation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1651,7 +1651,7 @@ Reflex | Repeat | Re-run. /** * A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure. */ - @Child(name = "partOf", type = {MedicationAdministration.class, MedicationDispense.class, MedicationUsage.class, Procedure.class, Immunization.class, ImagingStudy.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "partOf", type = {MedicationAdministration.class, MedicationDispense.class, MedicationUsage.class, Procedure.class, Immunization.class, ImagingStudy.class, GenomicStudy.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Part of referenced event", formalDefinition="A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure." ) protected List partOf; @@ -1777,7 +1777,7 @@ Reflex | Repeat | Re-run. /** * The specimen that was used when this observation was made. */ - @Child(name = "specimen", type = {Specimen.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Child(name = "specimen", type = {Specimen.class, Group.class}, order=21, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Specimen used for this observation", formalDefinition="The specimen that was used when this observation was made." ) protected Reference specimen; @@ -1805,7 +1805,7 @@ Reflex | Repeat | Re-run. /** * The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image. */ - @Child(name = "derivedFrom", type = {DocumentReference.class, ImagingStudy.class, ImagingSelection.class, QuestionnaireResponse.class, Observation.class, MolecularSequence.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "derivedFrom", type = {DocumentReference.class, ImagingStudy.class, ImagingSelection.class, QuestionnaireResponse.class, Observation.class, MolecularSequence.class, GenomicStudy.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Related resource from which the observation is made", formalDefinition="The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image." ) protected List derivedFrom; @@ -3172,7 +3172,7 @@ Reflex | Repeat | Re-run. children.add(new Property("instantiates[x]", "canonical(ObservationDefinition)|Reference(ObservationDefinition)", "The reference to a FHIR ObservationDefinition resource that provides the definition that is adhered to in whole or in part by this Observation instance.", 0, 1, instantiates)); children.add(new Property("basedOn", "Reference(CarePlan|DeviceRequest|ImmunizationRecommendation|MedicationRequest|NutritionOrder|ServiceRequest)", "A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("triggeredBy", "", "Identifies the observation(s) that triggered the performance of this observation.", 0, java.lang.Integer.MAX_VALUE, triggeredBy)); - children.add(new Property("partOf", "Reference(MedicationAdministration|MedicationDispense|MedicationUsage|Procedure|Immunization|ImagingStudy)", "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", 0, java.lang.Integer.MAX_VALUE, partOf)); + children.add(new Property("partOf", "Reference(MedicationAdministration|MedicationDispense|MedicationUsage|Procedure|Immunization|ImagingStudy|GenomicStudy)", "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", 0, java.lang.Integer.MAX_VALUE, partOf)); children.add(new Property("status", "code", "The status of the result value.", 0, 1, status)); children.add(new Property("category", "CodeableConcept", "A code that classifies the general type of observation being made.", 0, java.lang.Integer.MAX_VALUE, category)); children.add(new Property("code", "CodeableConcept", "Describes what was observed. Sometimes this is called the observation \"name\".", 0, 1, code)); @@ -3189,11 +3189,11 @@ Reflex | Repeat | Re-run. children.add(new Property("bodySite", "CodeableConcept", "Indicates the site on the subject's body where the observation was made (i.e. the target site).", 0, 1, bodySite)); children.add(new Property("bodyStructure", "Reference(BodyStructure)", "Indicates the body structure on the subject's body where the observation was made (i.e. the target site).", 0, 1, bodyStructure)); children.add(new Property("method", "CodeableConcept", "Indicates the mechanism used to perform the observation.", 0, 1, method)); - children.add(new Property("specimen", "Reference(Specimen)", "The specimen that was used when this observation was made.", 0, 1, specimen)); + children.add(new Property("specimen", "Reference(Specimen|Group)", "The specimen that was used when this observation was made.", 0, 1, specimen)); children.add(new Property("device", "Reference(Device|DeviceMetric)", "The device used to generate the observation data.", 0, 1, device)); children.add(new Property("referenceRange", "", "Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an \"OR\". In other words, to represent two distinct target populations, two `referenceRange` elements would be used.", 0, java.lang.Integer.MAX_VALUE, referenceRange)); children.add(new Property("hasMember", "Reference(Observation|QuestionnaireResponse|MolecularSequence)", "This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.", 0, java.lang.Integer.MAX_VALUE, hasMember)); - children.add(new Property("derivedFrom", "Reference(DocumentReference|ImagingStudy|ImagingSelection|QuestionnaireResponse|Observation|MolecularSequence)", "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); + children.add(new Property("derivedFrom", "Reference(DocumentReference|ImagingStudy|ImagingSelection|QuestionnaireResponse|Observation|MolecularSequence|GenomicStudy)", "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); children.add(new Property("component", "", "Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.", 0, java.lang.Integer.MAX_VALUE, component)); } @@ -3207,7 +3207,7 @@ Reflex | Repeat | Re-run. case -1744595326: /*instantiatesReference*/ return new Property("instantiates[x]", "Reference(ObservationDefinition)", "The reference to a FHIR ObservationDefinition resource that provides the definition that is adhered to in whole or in part by this Observation instance.", 0, 1, instantiates); case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(CarePlan|DeviceRequest|ImmunizationRecommendation|MedicationRequest|NutritionOrder|ServiceRequest)", "A plan, proposal or order that is fulfilled in whole or in part by this event. For example, a MedicationRequest may require a patient to have laboratory test performed before it is dispensed.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -680451314: /*triggeredBy*/ return new Property("triggeredBy", "", "Identifies the observation(s) that triggered the performance of this observation.", 0, java.lang.Integer.MAX_VALUE, triggeredBy); - case -995410646: /*partOf*/ return new Property("partOf", "Reference(MedicationAdministration|MedicationDispense|MedicationUsage|Procedure|Immunization|ImagingStudy)", "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", 0, java.lang.Integer.MAX_VALUE, partOf); + case -995410646: /*partOf*/ return new Property("partOf", "Reference(MedicationAdministration|MedicationDispense|MedicationUsage|Procedure|Immunization|ImagingStudy|GenomicStudy)", "A larger event of which this particular Observation is a component or step. For example, an observation as part of a procedure.", 0, java.lang.Integer.MAX_VALUE, partOf); case -892481550: /*status*/ return new Property("status", "code", "The status of the result value.", 0, 1, status); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the general type of observation being made.", 0, java.lang.Integer.MAX_VALUE, category); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Describes what was observed. Sometimes this is called the observation \"name\".", 0, 1, code); @@ -3242,11 +3242,11 @@ Reflex | Repeat | Re-run. case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Indicates the site on the subject's body where the observation was made (i.e. the target site).", 0, 1, bodySite); case -1001731599: /*bodyStructure*/ return new Property("bodyStructure", "Reference(BodyStructure)", "Indicates the body structure on the subject's body where the observation was made (i.e. the target site).", 0, 1, bodyStructure); case -1077554975: /*method*/ return new Property("method", "CodeableConcept", "Indicates the mechanism used to perform the observation.", 0, 1, method); - case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen)", "The specimen that was used when this observation was made.", 0, 1, specimen); + case -2132868344: /*specimen*/ return new Property("specimen", "Reference(Specimen|Group)", "The specimen that was used when this observation was made.", 0, 1, specimen); case -1335157162: /*device*/ return new Property("device", "Reference(Device|DeviceMetric)", "The device used to generate the observation data.", 0, 1, device); case -1912545102: /*referenceRange*/ return new Property("referenceRange", "", "Guidance on how to interpret the value by comparison to a normal or recommended range. Multiple reference ranges are interpreted as an \"OR\". In other words, to represent two distinct target populations, two `referenceRange` elements would be used.", 0, java.lang.Integer.MAX_VALUE, referenceRange); case -458019372: /*hasMember*/ return new Property("hasMember", "Reference(Observation|QuestionnaireResponse|MolecularSequence)", "This observation is a group observation (e.g. a battery, a panel of tests, a set of vital sign measurements) that includes the target as a member of the group.", 0, java.lang.Integer.MAX_VALUE, hasMember); - case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "Reference(DocumentReference|ImagingStudy|ImagingSelection|QuestionnaireResponse|Observation|MolecularSequence)", "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); + case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "Reference(DocumentReference|ImagingStudy|ImagingSelection|QuestionnaireResponse|Observation|MolecularSequence|GenomicStudy)", "The target resource that represents a measurement from which this observation value is derived. For example, a calculated anion gap or a fetal measurement based on an ultrasound image.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); case -1399907075: /*component*/ return new Property("component", "", "Some observations have multiple component observations. These component observations are expressed as separate code value pairs that share the same attributes. Examples include systolic and diastolic component observations for blood pressure measurement and multiple component observations for genetics observations.", 0, java.lang.Integer.MAX_VALUE, component); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4206,7 +4206,7 @@ Reflex | Repeat | Re-run. * Path: Observation.derivedFrom
*

*/ - @SearchParamDefinition(name="derived-from", path="Observation.derivedFrom", description="Related measurements the observation is made from", type="reference", target={DocumentReference.class, ImagingSelection.class, ImagingStudy.class, MolecularSequence.class, Observation.class, QuestionnaireResponse.class } ) + @SearchParamDefinition(name="derived-from", path="Observation.derivedFrom", description="Related measurements the observation is made from", type="reference", target={DocumentReference.class, GenomicStudy.class, ImagingSelection.class, ImagingStudy.class, MolecularSequence.class, Observation.class, QuestionnaireResponse.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -4258,7 +4258,7 @@ Reflex | Repeat | Re-run. * Path: Observation.focus
*

*/ - @SearchParamDefinition(name="focus", path="Observation.focus", description="The focus of an observation when the focus is not the patient of record.", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="focus", path="Observation.focus", description="The focus of an observation when the focus is not the patient of record.", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_FOCUS = "focus"; /** * Fluent Client search parameter constant for focus @@ -4330,7 +4330,7 @@ Reflex | Repeat | Re-run. * Path: Observation.partOf
*

*/ - @SearchParamDefinition(name="part-of", path="Observation.partOf", description="Part of referenced event", type="reference", target={ImagingStudy.class, Immunization.class, MedicationAdministration.class, MedicationDispense.class, MedicationUsage.class, Procedure.class } ) + @SearchParamDefinition(name="part-of", path="Observation.partOf", description="Part of referenced event", type="reference", target={GenomicStudy.class, ImagingStudy.class, Immunization.class, MedicationAdministration.class, MedicationDispense.class, MedicationUsage.class, Procedure.class } ) public static final String SP_PART_OF = "part-of"; /** * Fluent Client search parameter constant for part-of @@ -4382,7 +4382,7 @@ Reflex | Repeat | Re-run. * Path: Observation.specimen
*

*/ - @SearchParamDefinition(name="specimen", path="Observation.specimen", description="Specimen used for this observation", type="reference", target={Specimen.class } ) + @SearchParamDefinition(name="specimen", path="Observation.specimen", description="Specimen used for this observation", type="reference", target={Group.class, Specimen.class } ) public static final String SP_SPECIMEN = "specimen"; /** * Fluent Client search parameter constant for specimen @@ -4544,13 +4544,12 @@ Reflex | Repeat | Re-run. * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -4570,10 +4569,9 @@ Reflex | Repeat | Re-run. * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -4802,7 +4800,7 @@ Reflex | Repeat | Re-run. * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4811,10 +4809,10 @@ Reflex | Repeat | Re-run. * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -4846,7 +4844,7 @@ Reflex | Repeat | Re-run. * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -4855,7 +4853,7 @@ Reflex | Repeat | Re-run. * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ObservationDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ObservationDefinition.java index c3eb9f444..147a44a39 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ObservationDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ObservationDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2070,7 +2070,7 @@ public class ObservationDefinition extends DomainResource { /** * A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=true, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="A flag to indicate that this ObservationDefinition is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." ) protected BooleanType experimental; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationDefinition.java index a972a6367..ae993eb4d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -149,6 +149,118 @@ public class OperationDefinition extends CanonicalResource { } } + public enum OperationParameterScope { + /** + * This is a parameter that can be used at the instance level. + */ + INSTANCE, + /** + * This is a parameter that can be used at the type level. + */ + TYPE, + /** + * This is a parameter that can be used at the system level. + */ + SYSTEM, + /** + * added to help the parsers with the generic types + */ + NULL; + public static OperationParameterScope fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("instance".equals(codeString)) + return INSTANCE; + if ("type".equals(codeString)) + return TYPE; + if ("system".equals(codeString)) + return SYSTEM; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown OperationParameterScope code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case INSTANCE: return "instance"; + case TYPE: return "type"; + case SYSTEM: return "system"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case INSTANCE: return "http://hl7.org/fhir/operation-parameter-scope"; + case TYPE: return "http://hl7.org/fhir/operation-parameter-scope"; + case SYSTEM: return "http://hl7.org/fhir/operation-parameter-scope"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case INSTANCE: return "This is a parameter that can be used at the instance level."; + case TYPE: return "This is a parameter that can be used at the type level."; + case SYSTEM: return "This is a parameter that can be used at the system level."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case INSTANCE: return "Instance"; + case TYPE: return "Type"; + case SYSTEM: return "System"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class OperationParameterScopeEnumFactory implements EnumFactory { + public OperationParameterScope fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("instance".equals(codeString)) + return OperationParameterScope.INSTANCE; + if ("type".equals(codeString)) + return OperationParameterScope.TYPE; + if ("system".equals(codeString)) + return OperationParameterScope.SYSTEM; + throw new IllegalArgumentException("Unknown OperationParameterScope code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("instance".equals(codeString)) + return new Enumeration(this, OperationParameterScope.INSTANCE); + if ("type".equals(codeString)) + return new Enumeration(this, OperationParameterScope.TYPE); + if ("system".equals(codeString)) + return new Enumeration(this, OperationParameterScope.SYSTEM); + throw new FHIRException("Unknown OperationParameterScope code '"+codeString+"'"); + } + public String toCode(OperationParameterScope code) { + if (code == OperationParameterScope.INSTANCE) + return "instance"; + if (code == OperationParameterScope.TYPE) + return "type"; + if (code == OperationParameterScope.SYSTEM) + return "system"; + return "?"; + } + public String toSystem(OperationParameterScope code) { + return code.getSystem(); + } + } + @Block() public static class OperationDefinitionParameterComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -166,72 +278,88 @@ public class OperationDefinition extends CanonicalResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/operation-parameter-use") protected Enumeration use; + /** + * If present, indicates that the parameter applies when the operation is being invoked at the specified level. + */ + @Child(name = "scope", type = {CodeType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="instance | type | system", formalDefinition="If present, indicates that the parameter applies when the operation is being invoked at the specified level." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/operation-parameter-scope") + protected List> scope; + /** * The minimum number of times this parameter SHALL appear in the request or response. */ - @Child(name = "min", type = {IntegerType.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Child(name = "min", type = {IntegerType.class}, order=4, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Minimum Cardinality", formalDefinition="The minimum number of times this parameter SHALL appear in the request or response." ) protected IntegerType min; /** * The maximum number of times this element is permitted to appear in the request or response. */ - @Child(name = "max", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=false) + @Child(name = "max", type = {StringType.class}, order=5, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Maximum Cardinality (a number or *)", formalDefinition="The maximum number of times this element is permitted to appear in the request or response." ) protected StringType max; /** * Describes the meaning or use of this parameter. */ - @Child(name = "documentation", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "documentation", type = {MarkdownType.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Description of meaning/use", formalDefinition="Describes the meaning or use of this parameter." ) - protected StringType documentation; + protected MarkdownType documentation; /** * The type for this parameter. */ - @Child(name = "type", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "type", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="What type this parameter has", formalDefinition="The type for this parameter." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-types") - protected Enumeration type; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") + protected Enumeration type; + + /** + * Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter. + */ + @Child(name = "allowedType", type = {CodeType.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Allowed sub-type this parameter can have (if type is abstract)", formalDefinition="Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") + protected List> allowedType; /** * Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide. */ - @Child(name = "targetProfile", type = {CanonicalType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="If type is Reference | canonical, allowed targets", formalDefinition="Used when the type is \"Reference\" or \"canonical\", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide." ) + @Child(name = "targetProfile", type = {CanonicalType.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="If type is Reference | canonical, allowed targets. If type is 'Resource', then this constrains the allowed reosurce types", formalDefinition="Used when the type is \"Reference\" or \"canonical\", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide." ) protected List targetProfile; /** - * How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. + * How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string. */ - @Child(name = "searchType", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="number | date | string | token | reference | composite | quantity | uri | special", formalDefinition="How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'." ) + @Child(name = "searchType", type = {CodeType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="number | date | string | token | reference | composite | quantity | uri | special", formalDefinition="How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-param-type") protected Enumeration searchType; /** * Binds to a value set if this parameter is coded (code, Coding, CodeableConcept). */ - @Child(name = "binding", type = {}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "binding", type = {}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="ValueSet details if this is coded", formalDefinition="Binds to a value set if this parameter is coded (code, Coding, CodeableConcept)." ) protected OperationDefinitionParameterBindingComponent binding; /** * Identifies other resource parameters within the operation invocation that are expected to resolve to this resource. */ - @Child(name = "referencedFrom", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "referencedFrom", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="References to this parameter", formalDefinition="Identifies other resource parameters within the operation invocation that are expected to resolve to this resource." ) protected List referencedFrom; /** * The parts of a nested Parameter. */ - @Child(name = "part", type = {OperationDefinitionParameterComponent.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "part", type = {OperationDefinitionParameterComponent.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Parts of a nested Parameter", formalDefinition="The parts of a nested Parameter." ) protected List part; - private static final long serialVersionUID = -153032790L; + private static final long serialVersionUID = -395202201L; /** * Constructor @@ -341,6 +469,67 @@ public class OperationDefinition extends CanonicalResource { return this; } + /** + * @return {@link #scope} (If present, indicates that the parameter applies when the operation is being invoked at the specified level.) + */ + public List> getScope() { + if (this.scope == null) + this.scope = new ArrayList>(); + return this.scope; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public OperationDefinitionParameterComponent setScope(List> theScope) { + this.scope = theScope; + return this; + } + + public boolean hasScope() { + if (this.scope == null) + return false; + for (Enumeration item : this.scope) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #scope} (If present, indicates that the parameter applies when the operation is being invoked at the specified level.) + */ + public Enumeration addScopeElement() {//2 + Enumeration t = new Enumeration(new OperationParameterScopeEnumFactory()); + if (this.scope == null) + this.scope = new ArrayList>(); + this.scope.add(t); + return t; + } + + /** + * @param value {@link #scope} (If present, indicates that the parameter applies when the operation is being invoked at the specified level.) + */ + public OperationDefinitionParameterComponent addScope(OperationParameterScope value) { //1 + Enumeration t = new Enumeration(new OperationParameterScopeEnumFactory()); + t.setValue(value); + if (this.scope == null) + this.scope = new ArrayList>(); + this.scope.add(t); + return this; + } + + /** + * @param value {@link #scope} (If present, indicates that the parameter applies when the operation is being invoked at the specified level.) + */ + public boolean hasScope(OperationParameterScope value) { + if (this.scope == null) + return false; + for (Enumeration v : this.scope) + if (v.getValue().equals(value)) // code + return true; + return false; + } + /** * @return {@link #min} (The minimum number of times this parameter SHALL appear in the request or response.). This is the underlying object with id, value and extensions. The accessor "getMin" gives direct access to the value */ @@ -434,12 +623,12 @@ public class OperationDefinition extends CanonicalResource { /** * @return {@link #documentation} (Describes the meaning or use of this parameter.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value */ - public StringType getDocumentationElement() { + public MarkdownType getDocumentationElement() { if (this.documentation == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create OperationDefinitionParameterComponent.documentation"); else if (Configuration.doAutoCreate()) - this.documentation = new StringType(); // bb + this.documentation = new MarkdownType(); // bb return this.documentation; } @@ -454,7 +643,7 @@ public class OperationDefinition extends CanonicalResource { /** * @param value {@link #documentation} (Describes the meaning or use of this parameter.). This is the underlying object with id, value and extensions. The accessor "getDocumentation" gives direct access to the value */ - public OperationDefinitionParameterComponent setDocumentationElement(StringType value) { + public OperationDefinitionParameterComponent setDocumentationElement(MarkdownType value) { this.documentation = value; return this; } @@ -470,11 +659,11 @@ public class OperationDefinition extends CanonicalResource { * @param value Describes the meaning or use of this parameter. */ public OperationDefinitionParameterComponent setDocumentation(String value) { - if (Utilities.noString(value)) + if (value == null) this.documentation = null; else { if (this.documentation == null) - this.documentation = new StringType(); + this.documentation = new MarkdownType(); this.documentation.setValue(value); } return this; @@ -483,12 +672,12 @@ public class OperationDefinition extends CanonicalResource { /** * @return {@link #type} (The type for this parameter.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public Enumeration getTypeElement() { + public Enumeration getTypeElement() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create OperationDefinitionParameterComponent.type"); else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new FHIRAllTypesEnumFactory()); // bb + this.type = new Enumeration(new FHIRTypesEnumFactory()); // bb return this.type; } @@ -503,7 +692,7 @@ public class OperationDefinition extends CanonicalResource { /** * @param value {@link #type} (The type for this parameter.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public OperationDefinitionParameterComponent setTypeElement(Enumeration value) { + public OperationDefinitionParameterComponent setTypeElement(Enumeration value) { this.type = value; return this; } @@ -511,24 +700,85 @@ public class OperationDefinition extends CanonicalResource { /** * @return The type for this parameter. */ - public FHIRAllTypes getType() { + public FHIRTypes getType() { return this.type == null ? null : this.type.getValue(); } /** * @param value The type for this parameter. */ - public OperationDefinitionParameterComponent setType(FHIRAllTypes value) { + public OperationDefinitionParameterComponent setType(FHIRTypes value) { if (value == null) this.type = null; else { if (this.type == null) - this.type = new Enumeration(new FHIRAllTypesEnumFactory()); + this.type = new Enumeration(new FHIRTypesEnumFactory()); this.type.setValue(value); } return this; } + /** + * @return {@link #allowedType} (Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter.) + */ + public List> getAllowedType() { + if (this.allowedType == null) + this.allowedType = new ArrayList>(); + return this.allowedType; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public OperationDefinitionParameterComponent setAllowedType(List> theAllowedType) { + this.allowedType = theAllowedType; + return this; + } + + public boolean hasAllowedType() { + if (this.allowedType == null) + return false; + for (Enumeration item : this.allowedType) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #allowedType} (Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter.) + */ + public Enumeration addAllowedTypeElement() {//2 + Enumeration t = new Enumeration(new FHIRTypesEnumFactory()); + if (this.allowedType == null) + this.allowedType = new ArrayList>(); + this.allowedType.add(t); + return t; + } + + /** + * @param value {@link #allowedType} (Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter.) + */ + public OperationDefinitionParameterComponent addAllowedType(FHIRTypes value) { //1 + Enumeration t = new Enumeration(new FHIRTypesEnumFactory()); + t.setValue(value); + if (this.allowedType == null) + this.allowedType = new ArrayList>(); + this.allowedType.add(t); + return this; + } + + /** + * @param value {@link #allowedType} (Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter.) + */ + public boolean hasAllowedType(FHIRTypes value) { + if (this.allowedType == null) + return false; + for (Enumeration v : this.allowedType) + if (v.getValue().equals(value)) // code + return true; + return false; + } + /** * @return {@link #targetProfile} (Used when the type is "Reference" or "canonical", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.) */ @@ -591,7 +841,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return {@link #searchType} (How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.). This is the underlying object with id, value and extensions. The accessor "getSearchType" gives direct access to the value + * @return {@link #searchType} (How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string.). This is the underlying object with id, value and extensions. The accessor "getSearchType" gives direct access to the value */ public Enumeration getSearchTypeElement() { if (this.searchType == null) @@ -611,7 +861,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @param value {@link #searchType} (How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.). This is the underlying object with id, value and extensions. The accessor "getSearchType" gives direct access to the value + * @param value {@link #searchType} (How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string.). This is the underlying object with id, value and extensions. The accessor "getSearchType" gives direct access to the value */ public OperationDefinitionParameterComponent setSearchTypeElement(Enumeration value) { this.searchType = value; @@ -619,14 +869,14 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. + * @return How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string. */ public SearchParamType getSearchType() { return this.searchType == null ? null : this.searchType.getValue(); } /** - * @param value How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'. + * @param value How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string. */ public OperationDefinitionParameterComponent setSearchType(SearchParamType value) { if (value == null) @@ -773,12 +1023,14 @@ public class OperationDefinition extends CanonicalResource { super.listChildren(children); children.add(new Property("name", "code", "The name of used to identify the parameter.", 0, 1, name)); children.add(new Property("use", "code", "Whether this is an input or an output parameter.", 0, 1, use)); + children.add(new Property("scope", "code", "If present, indicates that the parameter applies when the operation is being invoked at the specified level.", 0, java.lang.Integer.MAX_VALUE, scope)); children.add(new Property("min", "integer", "The minimum number of times this parameter SHALL appear in the request or response.", 0, 1, min)); children.add(new Property("max", "string", "The maximum number of times this element is permitted to appear in the request or response.", 0, 1, max)); - children.add(new Property("documentation", "string", "Describes the meaning or use of this parameter.", 0, 1, documentation)); + children.add(new Property("documentation", "markdown", "Describes the meaning or use of this parameter.", 0, 1, documentation)); children.add(new Property("type", "code", "The type for this parameter.", 0, 1, type)); + children.add(new Property("allowedType", "code", "Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter.", 0, java.lang.Integer.MAX_VALUE, allowedType)); children.add(new Property("targetProfile", "canonical(StructureDefinition)", "Used when the type is \"Reference\" or \"canonical\", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.", 0, java.lang.Integer.MAX_VALUE, targetProfile)); - children.add(new Property("searchType", "code", "How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.", 0, 1, searchType)); + children.add(new Property("searchType", "code", "How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string.", 0, 1, searchType)); children.add(new Property("binding", "", "Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).", 0, 1, binding)); children.add(new Property("referencedFrom", "", "Identifies other resource parameters within the operation invocation that are expected to resolve to this resource.", 0, java.lang.Integer.MAX_VALUE, referencedFrom)); children.add(new Property("part", "@OperationDefinition.parameter", "The parts of a nested Parameter.", 0, java.lang.Integer.MAX_VALUE, part)); @@ -789,12 +1041,14 @@ public class OperationDefinition extends CanonicalResource { switch (_hash) { case 3373707: /*name*/ return new Property("name", "code", "The name of used to identify the parameter.", 0, 1, name); case 116103: /*use*/ return new Property("use", "code", "Whether this is an input or an output parameter.", 0, 1, use); + case 109264468: /*scope*/ return new Property("scope", "code", "If present, indicates that the parameter applies when the operation is being invoked at the specified level.", 0, java.lang.Integer.MAX_VALUE, scope); case 108114: /*min*/ return new Property("min", "integer", "The minimum number of times this parameter SHALL appear in the request or response.", 0, 1, min); case 107876: /*max*/ return new Property("max", "string", "The maximum number of times this element is permitted to appear in the request or response.", 0, 1, max); - case 1587405498: /*documentation*/ return new Property("documentation", "string", "Describes the meaning or use of this parameter.", 0, 1, documentation); + case 1587405498: /*documentation*/ return new Property("documentation", "markdown", "Describes the meaning or use of this parameter.", 0, 1, documentation); case 3575610: /*type*/ return new Property("type", "code", "The type for this parameter.", 0, 1, type); + case 1512894722: /*allowedType*/ return new Property("allowedType", "code", "Support for polymorphic types. If the parameter type is abstract, this element lists allowed sub-types for the parameter.", 0, java.lang.Integer.MAX_VALUE, allowedType); case 1994521304: /*targetProfile*/ return new Property("targetProfile", "canonical(StructureDefinition)", "Used when the type is \"Reference\" or \"canonical\", and identifies a profile structure or implementation Guide that applies to the target of the reference this parameter refers to. If any profiles are specified, then the content must conform to at least one of them. The URL can be a local reference - to a contained StructureDefinition, or a reference to another StructureDefinition or Implementation Guide by a canonical URL. When an implementation guide is specified, the target resource SHALL conform to at least one profile defined in the implementation guide.", 0, java.lang.Integer.MAX_VALUE, targetProfile); - case -710454014: /*searchType*/ return new Property("searchType", "code", "How the parameter is understood as a search parameter. This is only used if the parameter type is 'string'.", 0, 1, searchType); + case -710454014: /*searchType*/ return new Property("searchType", "code", "How the parameter is understood if/when it used as search parameter. This is only used if the parameter is a string.", 0, 1, searchType); case -108220795: /*binding*/ return new Property("binding", "", "Binds to a value set if this parameter is coded (code, Coding, CodeableConcept).", 0, 1, binding); case -1896721981: /*referencedFrom*/ return new Property("referencedFrom", "", "Identifies other resource parameters within the operation invocation that are expected to resolve to this resource.", 0, java.lang.Integer.MAX_VALUE, referencedFrom); case 3433459: /*part*/ return new Property("part", "@OperationDefinition.parameter", "The parts of a nested Parameter.", 0, java.lang.Integer.MAX_VALUE, part); @@ -808,10 +1062,12 @@ public class OperationDefinition extends CanonicalResource { switch (hash) { case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // CodeType case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Enumeration + case 109264468: /*scope*/ return this.scope == null ? new Base[0] : this.scope.toArray(new Base[this.scope.size()]); // Enumeration case 108114: /*min*/ return this.min == null ? new Base[0] : new Base[] {this.min}; // IntegerType case 107876: /*max*/ return this.max == null ? new Base[0] : new Base[] {this.max}; // StringType - case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // MarkdownType + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 1512894722: /*allowedType*/ return this.allowedType == null ? new Base[0] : this.allowedType.toArray(new Base[this.allowedType.size()]); // Enumeration case 1994521304: /*targetProfile*/ return this.targetProfile == null ? new Base[0] : this.targetProfile.toArray(new Base[this.targetProfile.size()]); // CanonicalType case -710454014: /*searchType*/ return this.searchType == null ? new Base[0] : new Base[] {this.searchType}; // Enumeration case -108220795: /*binding*/ return this.binding == null ? new Base[0] : new Base[] {this.binding}; // OperationDefinitionParameterBindingComponent @@ -832,6 +1088,10 @@ public class OperationDefinition extends CanonicalResource { value = new OperationParameterUseEnumFactory().fromType(TypeConvertor.castToCode(value)); this.use = (Enumeration) value; // Enumeration return value; + case 109264468: // scope + value = new OperationParameterScopeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getScope().add((Enumeration) value); // Enumeration + return value; case 108114: // min this.min = TypeConvertor.castToInteger(value); // IntegerType return value; @@ -839,11 +1099,15 @@ public class OperationDefinition extends CanonicalResource { this.max = TypeConvertor.castToString(value); // StringType return value; case 1587405498: // documentation - this.documentation = TypeConvertor.castToString(value); // StringType + this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType return value; case 3575610: // type - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + return value; + case 1512894722: // allowedType + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getAllowedType().add((Enumeration) value); // Enumeration return value; case 1994521304: // targetProfile this.getTargetProfile().add(TypeConvertor.castToCanonical(value)); // CanonicalType @@ -873,15 +1137,21 @@ public class OperationDefinition extends CanonicalResource { } else if (name.equals("use")) { value = new OperationParameterUseEnumFactory().fromType(TypeConvertor.castToCode(value)); this.use = (Enumeration) value; // Enumeration + } else if (name.equals("scope")) { + value = new OperationParameterScopeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getScope().add((Enumeration) value); } else if (name.equals("min")) { this.min = TypeConvertor.castToInteger(value); // IntegerType } else if (name.equals("max")) { this.max = TypeConvertor.castToString(value); // StringType } else if (name.equals("documentation")) { - this.documentation = TypeConvertor.castToString(value); // StringType + this.documentation = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("type")) { - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + } else if (name.equals("allowedType")) { + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getAllowedType().add((Enumeration) value); } else if (name.equals("targetProfile")) { this.getTargetProfile().add(TypeConvertor.castToCanonical(value)); } else if (name.equals("searchType")) { @@ -903,10 +1173,12 @@ public class OperationDefinition extends CanonicalResource { switch (hash) { case 3373707: return getNameElement(); case 116103: return getUseElement(); + case 109264468: return addScopeElement(); case 108114: return getMinElement(); case 107876: return getMaxElement(); case 1587405498: return getDocumentationElement(); case 3575610: return getTypeElement(); + case 1512894722: return addAllowedTypeElement(); case 1994521304: return addTargetProfileElement(); case -710454014: return getSearchTypeElement(); case -108220795: return getBinding(); @@ -922,10 +1194,12 @@ public class OperationDefinition extends CanonicalResource { switch (hash) { case 3373707: /*name*/ return new String[] {"code"}; case 116103: /*use*/ return new String[] {"code"}; + case 109264468: /*scope*/ return new String[] {"code"}; case 108114: /*min*/ return new String[] {"integer"}; case 107876: /*max*/ return new String[] {"string"}; - case 1587405498: /*documentation*/ return new String[] {"string"}; + case 1587405498: /*documentation*/ return new String[] {"markdown"}; case 3575610: /*type*/ return new String[] {"code"}; + case 1512894722: /*allowedType*/ return new String[] {"code"}; case 1994521304: /*targetProfile*/ return new String[] {"canonical"}; case -710454014: /*searchType*/ return new String[] {"code"}; case -108220795: /*binding*/ return new String[] {}; @@ -944,6 +1218,9 @@ public class OperationDefinition extends CanonicalResource { else if (name.equals("use")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.parameter.use"); } + else if (name.equals("scope")) { + throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.parameter.scope"); + } else if (name.equals("min")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.parameter.min"); } @@ -956,6 +1233,9 @@ public class OperationDefinition extends CanonicalResource { else if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.parameter.type"); } + else if (name.equals("allowedType")) { + throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.parameter.allowedType"); + } else if (name.equals("targetProfile")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.parameter.targetProfile"); } @@ -986,10 +1266,20 @@ public class OperationDefinition extends CanonicalResource { super.copyValues(dst); dst.name = name == null ? null : name.copy(); dst.use = use == null ? null : use.copy(); + if (scope != null) { + dst.scope = new ArrayList>(); + for (Enumeration i : scope) + dst.scope.add(i.copy()); + }; dst.min = min == null ? null : min.copy(); dst.max = max == null ? null : max.copy(); dst.documentation = documentation == null ? null : documentation.copy(); dst.type = type == null ? null : type.copy(); + if (allowedType != null) { + dst.allowedType = new ArrayList>(); + for (Enumeration i : allowedType) + dst.allowedType.add(i.copy()); + }; if (targetProfile != null) { dst.targetProfile = new ArrayList(); for (CanonicalType i : targetProfile) @@ -1016,10 +1306,10 @@ public class OperationDefinition extends CanonicalResource { if (!(other_ instanceof OperationDefinitionParameterComponent)) return false; OperationDefinitionParameterComponent o = (OperationDefinitionParameterComponent) other_; - return compareDeep(name, o.name, true) && compareDeep(use, o.use, true) && compareDeep(min, o.min, true) - && compareDeep(max, o.max, true) && compareDeep(documentation, o.documentation, true) && compareDeep(type, o.type, true) - && compareDeep(targetProfile, o.targetProfile, true) && compareDeep(searchType, o.searchType, true) - && compareDeep(binding, o.binding, true) && compareDeep(referencedFrom, o.referencedFrom, true) + return compareDeep(name, o.name, true) && compareDeep(use, o.use, true) && compareDeep(scope, o.scope, true) + && compareDeep(min, o.min, true) && compareDeep(max, o.max, true) && compareDeep(documentation, o.documentation, true) + && compareDeep(type, o.type, true) && compareDeep(allowedType, o.allowedType, true) && compareDeep(targetProfile, o.targetProfile, true) + && compareDeep(searchType, o.searchType, true) && compareDeep(binding, o.binding, true) && compareDeep(referencedFrom, o.referencedFrom, true) && compareDeep(part, o.part, true); } @@ -1030,15 +1320,16 @@ public class OperationDefinition extends CanonicalResource { if (!(other_ instanceof OperationDefinitionParameterComponent)) return false; OperationDefinitionParameterComponent o = (OperationDefinitionParameterComponent) other_; - return compareValues(name, o.name, true) && compareValues(use, o.use, true) && compareValues(min, o.min, true) - && compareValues(max, o.max, true) && compareValues(documentation, o.documentation, true) && compareValues(type, o.type, true) - && compareValues(targetProfile, o.targetProfile, true) && compareValues(searchType, o.searchType, true) - ; + return compareValues(name, o.name, true) && compareValues(use, o.use, true) && compareValues(scope, o.scope, true) + && compareValues(min, o.min, true) && compareValues(max, o.max, true) && compareValues(documentation, o.documentation, true) + && compareValues(type, o.type, true) && compareValues(allowedType, o.allowedType, true) && compareValues(targetProfile, o.targetProfile, true) + && compareValues(searchType, o.searchType, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, use, min, max, documentation - , type, targetProfile, searchType, binding, referencedFrom, part); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(name, use, scope, min + , max, documentation, type, allowedType, targetProfile, searchType, binding, referencedFrom + , part); } public String fhirType() { @@ -1822,10 +2113,10 @@ public class OperationDefinition extends CanonicalResource { } /** - * An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers. + * An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this operation definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this operation definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers." ) protected UriType url; /** @@ -1835,24 +2126,32 @@ public class OperationDefinition extends CanonicalResource { @Description(shortDefinition="Business version of the operation definition", formalDefinition="The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this operation definition (computer friendly)", formalDefinition="A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the operation definition. */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this operation definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the operation definition." ) protected StringType title; /** * The status of this operation definition. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=4, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this operation definition. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -1860,7 +2159,7 @@ public class OperationDefinition extends CanonicalResource { /** * Whether this is an operation or a named query. */ - @Child(name = "kind", type = {CodeType.class}, order=5, min=1, max=1, modifier=false, summary=true) + @Child(name = "kind", type = {CodeType.class}, order=6, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="operation | query", formalDefinition="Whether this is an operation or a named query." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/operation-kind") protected Enumeration kind; @@ -1868,49 +2167,49 @@ public class OperationDefinition extends CanonicalResource { /** * A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the operation definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition. */ - @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the operation definition." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the operation definition from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the operation definition", formalDefinition="A free text natural language description of the operation definition from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances." ) protected List useContext; /** * A legal or geographic region in which the operation definition is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for operation definition (if applicable)", formalDefinition="A legal or geographic region in which the operation definition is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -1918,42 +2217,56 @@ public class OperationDefinition extends CanonicalResource { /** * Explanation of why this operation definition is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this operation definition is defined", formalDefinition="Explanation of why this operation definition is needed and why it has been designed as it has." ) protected MarkdownType purpose; + /** + * A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition. + */ + @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition." ) + protected MarkdownType copyright; + + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'. */ - @Child(name = "affectsState", type = {BooleanType.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Child(name = "affectsState", type = {BooleanType.class}, order=17, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Whether content is changed by the operation", formalDefinition="Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'." ) protected BooleanType affectsState; /** - * The name used to invoke the operation. + * The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code. */ - @Child(name = "code", type = {CodeType.class}, order=15, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name used to invoke the operation", formalDefinition="The name used to invoke the operation." ) + @Child(name = "code", type = {CodeType.class}, order=18, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Recommended name for operation in search url", formalDefinition="The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code." ) protected CodeType code; /** * Additional information about how to use this operation or named query. */ - @Child(name = "comment", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "comment", type = {MarkdownType.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Additional information about use", formalDefinition="Additional information about how to use this operation or named query." ) protected MarkdownType comment; /** * Indicates that this operation definition is a constraining profile on the base. */ - @Child(name = "base", type = {CanonicalType.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Child(name = "base", type = {CanonicalType.class}, order=20, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Marks this as a profile of the base", formalDefinition="Indicates that this operation definition is a constraining profile on the base." ) protected CanonicalType base; /** * The types on which this operation can be executed. */ - @Child(name = "resource", type = {CodeType.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "resource", type = {CodeType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Types this operation applies to", formalDefinition="The types on which this operation can be executed." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") protected List resource; @@ -1961,53 +2274,53 @@ public class OperationDefinition extends CanonicalResource { /** * Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context). */ - @Child(name = "system", type = {BooleanType.class}, order=19, min=1, max=1, modifier=false, summary=true) + @Child(name = "system", type = {BooleanType.class}, order=22, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Invoke at the system level?", formalDefinition="Indicates whether this operation or named query can be invoked at the system level (e.g. without needing to choose a resource type for the context)." ) protected BooleanType system; /** * Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context). */ - @Child(name = "type", type = {BooleanType.class}, order=20, min=1, max=1, modifier=false, summary=true) + @Child(name = "type", type = {BooleanType.class}, order=23, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Invoke at the type level?", formalDefinition="Indicates whether this operation or named query can be invoked at the resource type level for any given resource type level (e.g. without needing to choose a specific resource id for the context)." ) protected BooleanType type; /** * Indicates whether this operation can be invoked on a particular instance of one of the given types. */ - @Child(name = "instance", type = {BooleanType.class}, order=21, min=1, max=1, modifier=false, summary=true) + @Child(name = "instance", type = {BooleanType.class}, order=24, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Invoke on an instance?", formalDefinition="Indicates whether this operation can be invoked on a particular instance of one of the given types." ) protected BooleanType instance; /** * Additional validation information for the in parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource as a whole. */ - @Child(name = "inputProfile", type = {CanonicalType.class}, order=22, min=0, max=1, modifier=false, summary=false) + @Child(name = "inputProfile", type = {CanonicalType.class}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Validation information for in parameters", formalDefinition="Additional validation information for the in parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource as a whole." ) protected CanonicalType inputProfile; /** * Additional validation information for the out parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource. */ - @Child(name = "outputProfile", type = {CanonicalType.class}, order=23, min=0, max=1, modifier=false, summary=false) + @Child(name = "outputProfile", type = {CanonicalType.class}, order=26, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Validation information for out parameters", formalDefinition="Additional validation information for the out parameters - a single profile that covers all the parameters. The profile is a constraint on the parameters resource." ) protected CanonicalType outputProfile; /** * The parameters for the operation/query. */ - @Child(name = "parameter", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "parameter", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Parameters for the operation/query", formalDefinition="The parameters for the operation/query." ) protected List parameter; /** * Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation. */ - @Child(name = "overload", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "overload", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Define overloaded variants for when generating code", formalDefinition="Defines an appropriate combination of parameters to use when invoking this operation, to help code generators when generating overloaded parameter sets for this operation." ) protected List overload; - private static final long serialVersionUID = 715394391L; + private static final long serialVersionUID = 269077042L; /** * Constructor @@ -2031,7 +2344,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -2051,7 +2364,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public OperationDefinition setUrlElement(UriType value) { this.url = value; @@ -2059,14 +2372,14 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers. + * @return An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers. + * @param value An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers. */ public OperationDefinition setUrl(String value) { if (Utilities.noString(value)) @@ -2128,6 +2441,57 @@ public class OperationDefinition extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public OperationDefinition setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for OperationDefinition.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -2407,7 +2771,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the operation definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -2427,7 +2791,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the operation definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public OperationDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -2435,14 +2799,14 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return The name of the organization or individual that published the operation definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the operation definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition. */ public OperationDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -2712,6 +3076,104 @@ public class OperationDefinition extends CanonicalResource { return this; } + /** + * @return {@link #copyright} (A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public MarkdownType getCopyrightElement() { + if (this.copyright == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create OperationDefinition.copyright"); + else if (Configuration.doAutoCreate()) + this.copyright = new MarkdownType(); // bb + return this.copyright; + } + + public boolean hasCopyrightElement() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + public boolean hasCopyright() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + /** + * @param value {@link #copyright} (A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public OperationDefinition setCopyrightElement(MarkdownType value) { + this.copyright = value; + return this; + } + + /** + * @return A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition. + */ + public String getCopyright() { + return this.copyright == null ? null : this.copyright.getValue(); + } + + /** + * @param value A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition. + */ + public OperationDefinition setCopyright(String value) { + if (value == null) + this.copyright = null; + else { + if (this.copyright == null) + this.copyright = new MarkdownType(); + this.copyright.setValue(value); + } + return this; + } + + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create OperationDefinition.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public OperationDefinition setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public OperationDefinition setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #affectsState} (Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'.). This is the underlying object with id, value and extensions. The accessor "getAffectsState" gives direct access to the value */ @@ -2758,7 +3220,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return {@link #code} (The name used to invoke the operation.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + * @return {@link #code} (The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value */ public CodeType getCodeElement() { if (this.code == null) @@ -2778,7 +3240,7 @@ public class OperationDefinition extends CanonicalResource { } /** - * @param value {@link #code} (The name used to invoke the operation.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + * @param value {@link #code} (The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value */ public OperationDefinition setCodeElement(CodeType value) { this.code = value; @@ -2786,14 +3248,14 @@ public class OperationDefinition extends CanonicalResource { } /** - * @return The name used to invoke the operation. + * @return The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code. */ public String getCode() { return this.code == null ? null : this.code.getValue(); } /** - * @param value The name used to invoke the operation. + * @param value The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code. */ public OperationDefinition setCode(String value) { if (this.code == null) @@ -3317,78 +3779,45 @@ public class OperationDefinition extends CanonicalResource { * @return Returns a reference to this for easy method chaining */ public OperationDefinition setIdentifier(List theIdentifier) { - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); } public boolean hasIdentifier() { return false; } public Identifier addIdentifier() { //3 - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); } public OperationDefinition addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); + throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); } /** * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} */ public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); - } - /** - * not supported on this implementation - */ - @Override - public int getCopyrightMax() { - return 0; - } - /** - * @return {@link #copyright} (A copyright statement relating to the operation definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the operation definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value - */ - public MarkdownType getCopyrightElement() { - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"copyright\""); - } - - public boolean hasCopyrightElement() { - return false; - } - public boolean hasCopyright() { - return false; - } - - /** - * @param value {@link #copyright} (A copyright statement relating to the operation definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the operation definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value - */ - public OperationDefinition setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"copyright\""); - } - public String getCopyright() { - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"copyright\""); - } - /** - * @param value A copyright statement relating to the operation definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the operation definition. - */ - public OperationDefinition setCopyright(String value) { - throw new Error("The resource type \"OperationDefinition\" does not implement the property \"copyright\""); + throw new Error("The resource type \"OperationDefinition\" does not implement the property \"identifier\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.", 0, 1, url)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the operation definition.", 0, 1, title)); children.add(new Property("status", "code", "The status of this operation definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("kind", "code", "Whether this is an operation or a named query.", 0, 1, kind)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the operation definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the operation definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the operation definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this operation definition is needed and why it has been designed as it has.", 0, 1, purpose)); + children.add(new Property("copyright", "markdown", "A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("affectsState", "boolean", "Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'.", 0, 1, affectsState)); - children.add(new Property("code", "code", "The name used to invoke the operation.", 0, 1, code)); + children.add(new Property("code", "code", "The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code.", 0, 1, code)); children.add(new Property("comment", "markdown", "Additional information about how to use this operation or named query.", 0, 1, comment)); children.add(new Property("base", "canonical(OperationDefinition)", "Indicates that this operation definition is a constraining profile on the base.", 0, 1, base)); children.add(new Property("resource", "code", "The types on which this operation can be executed.", 0, java.lang.Integer.MAX_VALUE, resource)); @@ -3404,22 +3833,28 @@ public class OperationDefinition extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this operation definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this operation definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the operation definition is stored on different servers.", 0, 1, url); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the operation definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the operation definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the operation definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the operation definition.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this operation definition. Enables tracking the life-cycle of the content.", 0, 1, status); case 3292052: /*kind*/ return new Property("kind", "code", "Whether this is an operation or a named query.", 0, 1, kind); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this operation definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the operation definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the operation definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the operation definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the operation definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the operation definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate operation definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the operation definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this operation definition is needed and why it has been designed as it has.", 0, 1, purpose); + case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the OperationDefinition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the OperationDefinition.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case -14805197: /*affectsState*/ return new Property("affectsState", "boolean", "Whether the operation affects state. Side effects such as producing audit trail entries do not count as 'affecting state'.", 0, 1, affectsState); - case 3059181: /*code*/ return new Property("code", "code", "The name used to invoke the operation.", 0, 1, code); + case 3059181: /*code*/ return new Property("code", "code", "The label that is recommended to be used in the URL for this operation. In some cases, servers may need to use a different CapabilityStatement operation.name to differentiate between multiple SearchParameters that happen to have the same code.", 0, 1, code); case 950398559: /*comment*/ return new Property("comment", "markdown", "Additional information about how to use this operation or named query.", 0, 1, comment); case 3016401: /*base*/ return new Property("base", "canonical(OperationDefinition)", "Indicates that this operation definition is a constraining profile on the base.", 0, 1, base); case -341064690: /*resource*/ return new Property("resource", "code", "The types on which this operation can be executed.", 0, java.lang.Integer.MAX_VALUE, resource); @@ -3440,6 +3875,7 @@ public class OperationDefinition extends CanonicalResource { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -3452,6 +3888,8 @@ public class OperationDefinition extends CanonicalResource { case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType + case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case -14805197: /*affectsState*/ return this.affectsState == null ? new Base[0] : new Base[] {this.affectsState}; // BooleanType case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // MarkdownType @@ -3478,6 +3916,9 @@ public class OperationDefinition extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -3516,6 +3957,12 @@ public class OperationDefinition extends CanonicalResource { case -220463842: // purpose this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 1522889671: // copyright + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case -14805197: // affectsState this.affectsState = TypeConvertor.castToBoolean(value); // BooleanType return value; @@ -3563,6 +4010,8 @@ public class OperationDefinition extends CanonicalResource { this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -3589,6 +4038,10 @@ public class OperationDefinition extends CanonicalResource { this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("purpose")) { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyright")) { + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("affectsState")) { this.affectsState = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("code")) { @@ -3623,6 +4076,8 @@ public class OperationDefinition extends CanonicalResource { switch (hash) { case 116079: return getUrlElement(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); @@ -3635,6 +4090,8 @@ public class OperationDefinition extends CanonicalResource { case -669707736: return addUseContext(); case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); + case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case -14805197: return getAffectsStateElement(); case 3059181: return getCodeElement(); case 950398559: return getCommentElement(); @@ -3657,6 +4114,7 @@ public class OperationDefinition extends CanonicalResource { switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -3669,6 +4127,8 @@ public class OperationDefinition extends CanonicalResource { case -669707736: /*useContext*/ return new String[] {"UsageContext"}; case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; + case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case -14805197: /*affectsState*/ return new String[] {"boolean"}; case 3059181: /*code*/ return new String[] {"code"}; case 950398559: /*comment*/ return new String[] {"markdown"}; @@ -3694,6 +4154,14 @@ public class OperationDefinition extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.name"); } @@ -3730,6 +4198,12 @@ public class OperationDefinition extends CanonicalResource { else if (name.equals("purpose")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.purpose"); } + else if (name.equals("copyright")) { + throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.copyright"); + } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.copyrightLabel"); + } else if (name.equals("affectsState")) { throw new FHIRException("Cannot call addChild on a primitive type OperationDefinition.affectsState"); } @@ -3785,6 +4259,7 @@ public class OperationDefinition extends CanonicalResource { super.copyValues(dst); dst.url = url == null ? null : url.copy(); dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); @@ -3809,6 +4284,8 @@ public class OperationDefinition extends CanonicalResource { dst.jurisdiction.add(i.copy()); }; dst.purpose = purpose == null ? null : purpose.copy(); + dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); dst.affectsState = affectsState == null ? null : affectsState.copy(); dst.code = code == null ? null : code.copy(); dst.comment = comment == null ? null : comment.copy(); @@ -3846,15 +4323,17 @@ public class OperationDefinition extends CanonicalResource { if (!(other_ instanceof OperationDefinition)) return false; OperationDefinition o = (OperationDefinition) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) && compareDeep(kind, o.kind, true) - && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) - && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(affectsState, o.affectsState, true) - && compareDeep(code, o.code, true) && compareDeep(comment, o.comment, true) && compareDeep(base, o.base, true) - && compareDeep(resource, o.resource, true) && compareDeep(system, o.system, true) && compareDeep(type, o.type, true) - && compareDeep(instance, o.instance, true) && compareDeep(inputProfile, o.inputProfile, true) && compareDeep(outputProfile, o.outputProfile, true) - && compareDeep(parameter, o.parameter, true) && compareDeep(overload, o.overload, true); + return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(kind, o.kind, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) + && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) + && compareDeep(affectsState, o.affectsState, true) && compareDeep(code, o.code, true) && compareDeep(comment, o.comment, true) + && compareDeep(base, o.base, true) && compareDeep(resource, o.resource, true) && compareDeep(system, o.system, true) + && compareDeep(type, o.type, true) && compareDeep(instance, o.instance, true) && compareDeep(inputProfile, o.inputProfile, true) + && compareDeep(outputProfile, o.outputProfile, true) && compareDeep(parameter, o.parameter, true) + && compareDeep(overload, o.overload, true); } @Override @@ -3867,7 +4346,8 @@ public class OperationDefinition extends CanonicalResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(kind, o.kind, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) - && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) && compareValues(affectsState, o.affectsState, true) + && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) + && compareValues(copyrightLabel, o.copyrightLabel, true) && compareValues(affectsState, o.affectsState, true) && compareValues(code, o.code, true) && compareValues(comment, o.comment, true) && compareValues(base, o.base, true) && compareValues(resource, o.resource, true) && compareValues(system, o.system, true) && compareValues(type, o.type, true) && compareValues(instance, o.instance, true) && compareValues(inputProfile, o.inputProfile, true) && compareValues(outputProfile, o.outputProfile, true) @@ -3875,10 +4355,11 @@ public class OperationDefinition extends CanonicalResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title - , status, kind, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, affectsState, code, comment, base, resource, system - , type, instance, inputProfile, outputProfile, parameter, overload); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm + , name, title, status, kind, experimental, date, publisher, contact, description + , useContext, jurisdiction, purpose, copyright, copyrightLabel, affectsState, code + , comment, base, resource, system, type, instance, inputProfile, outputProfile + , parameter, overload); } @Override @@ -4686,7 +5167,7 @@ public class OperationDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -4702,7 +5183,7 @@ public class OperationDefinition extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -4712,7 +5193,7 @@ public class OperationDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationOutcome.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationOutcome.java index 9518c1157..603aba49e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationOutcome.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OperationOutcome.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Organization.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Organization.java index 1cdb082ac..a8888c96f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Organization.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Organization.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,6 +53,341 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="Organization", profile="http://hl7.org/fhir/StructureDefinition/Organization") public class Organization extends DomainResource { + @Block() + public static class OrganizationQualificationComponent extends BackboneElement implements IBaseBackboneElement { + /** + * An identifier allocated to this qualification for this organization. + */ + @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="An identifier for this qualification for the organization", formalDefinition="An identifier allocated to this qualification for this organization." ) + protected List identifier; + + /** + * Coded representation of the qualification. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Coded representation of the qualification", formalDefinition="Coded representation of the qualification." ) + protected CodeableConcept code; + + /** + * Period during which the qualification is valid. + */ + @Child(name = "period", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Period during which the qualification is valid", formalDefinition="Period during which the qualification is valid." ) + protected Period period; + + /** + * Organization that regulates and issues the qualification. + */ + @Child(name = "issuer", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Organization that regulates and issues the qualification", formalDefinition="Organization that regulates and issues the qualification." ) + protected Reference issuer; + + private static final long serialVersionUID = 1561812204L; + + /** + * Constructor + */ + public OrganizationQualificationComponent() { + super(); + } + + /** + * Constructor + */ + public OrganizationQualificationComponent(CodeableConcept code) { + super(); + this.setCode(code); + } + + /** + * @return {@link #identifier} (An identifier allocated to this qualification for this organization.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public OrganizationQualificationComponent setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public OrganizationQualificationComponent addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + + /** + * @return {@link #code} (Coded representation of the qualification.) + */ + public CodeableConcept getCode() { + if (this.code == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create OrganizationQualificationComponent.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeableConcept(); // cc + return this.code; + } + + public boolean hasCode() { + return this.code != null && !this.code.isEmpty(); + } + + /** + * @param value {@link #code} (Coded representation of the qualification.) + */ + public OrganizationQualificationComponent setCode(CodeableConcept value) { + this.code = value; + return this; + } + + /** + * @return {@link #period} (Period during which the qualification is valid.) + */ + public Period getPeriod() { + if (this.period == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create OrganizationQualificationComponent.period"); + else if (Configuration.doAutoCreate()) + this.period = new Period(); // cc + return this.period; + } + + public boolean hasPeriod() { + return this.period != null && !this.period.isEmpty(); + } + + /** + * @param value {@link #period} (Period during which the qualification is valid.) + */ + public OrganizationQualificationComponent setPeriod(Period value) { + this.period = value; + return this; + } + + /** + * @return {@link #issuer} (Organization that regulates and issues the qualification.) + */ + public Reference getIssuer() { + if (this.issuer == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create OrganizationQualificationComponent.issuer"); + else if (Configuration.doAutoCreate()) + this.issuer = new Reference(); // cc + return this.issuer; + } + + public boolean hasIssuer() { + return this.issuer != null && !this.issuer.isEmpty(); + } + + /** + * @param value {@link #issuer} (Organization that regulates and issues the qualification.) + */ + public OrganizationQualificationComponent setIssuer(Reference value) { + this.issuer = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("identifier", "Identifier", "An identifier allocated to this qualification for this organization.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("code", "CodeableConcept", "Coded representation of the qualification.", 0, 1, code)); + children.add(new Property("period", "Period", "Period during which the qualification is valid.", 0, 1, period)); + children.add(new Property("issuer", "Reference(Organization)", "Organization that regulates and issues the qualification.", 0, 1, issuer)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "An identifier allocated to this qualification for this organization.", 0, java.lang.Integer.MAX_VALUE, identifier); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Coded representation of the qualification.", 0, 1, code); + case -991726143: /*period*/ return new Property("period", "Period", "Period during which the qualification is valid.", 0, 1, period); + case -1179159879: /*issuer*/ return new Property("issuer", "Reference(Organization)", "Organization that regulates and issues the qualification.", 0, 1, issuer); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept + case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period + case -1179159879: /*issuer*/ return this.issuer == null ? new Base[0] : new Base[] {this.issuer}; // Reference + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; + case 3059181: // code + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -991726143: // period + this.period = TypeConvertor.castToPeriod(value); // Period + return value; + case -1179159879: // issuer + this.issuer = TypeConvertor.castToReference(value); // Reference + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("code")) { + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("period")) { + this.period = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("issuer")) { + this.issuer = TypeConvertor.castToReference(value); // Reference + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: return addIdentifier(); + case 3059181: return getCode(); + case -991726143: return getPeriod(); + case -1179159879: return getIssuer(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case -991726143: /*period*/ return new String[] {"Period"}; + case -1179159879: /*issuer*/ return new String[] {"Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("identifier")) { + return addIdentifier(); + } + else if (name.equals("code")) { + this.code = new CodeableConcept(); + return this.code; + } + else if (name.equals("period")) { + this.period = new Period(); + return this.period; + } + else if (name.equals("issuer")) { + this.issuer = new Reference(); + return this.issuer; + } + else + return super.addChild(name); + } + + public OrganizationQualificationComponent copy() { + OrganizationQualificationComponent dst = new OrganizationQualificationComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(OrganizationQualificationComponent dst) { + super.copyValues(dst); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; + dst.code = code == null ? null : code.copy(); + dst.period = period == null ? null : period.copy(); + dst.issuer = issuer == null ? null : issuer.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof OrganizationQualificationComponent)) + return false; + OrganizationQualificationComponent o = (OrganizationQualificationComponent) other_; + return compareDeep(identifier, o.identifier, true) && compareDeep(code, o.code, true) && compareDeep(period, o.period, true) + && compareDeep(issuer, o.issuer, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof OrganizationQualificationComponent)) + return false; + OrganizationQualificationComponent o = (OrganizationQualificationComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, code, period + , issuer); + } + + public String fhirType() { + return "Organization.qualification"; + + } + + } + /** * Identifier for the organization that is used to identify the organization across multiple disparate systems. */ @@ -103,35 +438,28 @@ public class Organization extends DomainResource { @Description(shortDefinition="Official contact details for the Organization", formalDefinition="The contact details of communication devices available relevant to the specific Organization. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites." ) protected List contact; - /** - * A contact detail for the organization. - */ - @Child(name = "telecom", type = {ContactPoint.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Deprecated - use contact.telecom", formalDefinition="A contact detail for the organization." ) - protected List telecom; - - /** - * An address for the organization. - */ - @Child(name = "address", type = {Address.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Deprecated - use contact.address", formalDefinition="An address for the organization." ) - protected List
address; - /** * The organization of which this organization forms a part. */ - @Child(name = "partOf", type = {Organization.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Child(name = "partOf", type = {Organization.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The organization of which this organization forms a part", formalDefinition="The organization of which this organization forms a part." ) protected Reference partOf; /** * Technical endpoints providing access to services operated for the organization. */ - @Child(name = "endpoint", type = {Endpoint.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "endpoint", type = {Endpoint.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Technical endpoints providing access to services operated for the organization", formalDefinition="Technical endpoints providing access to services operated for the organization." ) protected List endpoint; - private static final long serialVersionUID = 1907198333L; + /** + * The official certifications, accreditations, training, designations and licenses that authorize and/or otherwise endorse the provision of care by the organization. For example, an approval to provide a type of services issued by a certifying body (such as the US Joint Commission) to an organization. + */ + @Child(name = "qualification", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Qualifications, certifications, accreditations, licenses, training, etc pertaining to the provision of care", formalDefinition="The official certifications, accreditations, training, designations and licenses that authorize and/or otherwise endorse the provision of care by the organization.\r\rFor example, an approval to provide a type of services issued by a certifying body (such as the US Joint Commission) to an organization." ) + protected List qualification; + + private static final long serialVersionUID = 918340050L; /** * Constructor @@ -503,112 +831,6 @@ public class Organization extends DomainResource { return getContact().get(0); } - /** - * @return {@link #telecom} (A contact detail for the organization.) - */ - public List getTelecom() { - if (this.telecom == null) - this.telecom = new ArrayList(); - return this.telecom; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Organization setTelecom(List theTelecom) { - this.telecom = theTelecom; - return this; - } - - public boolean hasTelecom() { - if (this.telecom == null) - return false; - for (ContactPoint item : this.telecom) - if (!item.isEmpty()) - return true; - return false; - } - - public ContactPoint addTelecom() { //3 - ContactPoint t = new ContactPoint(); - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); - return t; - } - - public Organization addTelecom(ContactPoint t) { //3 - if (t == null) - return this; - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} - */ - public ContactPoint getTelecomFirstRep() { - if (getTelecom().isEmpty()) { - addTelecom(); - } - return getTelecom().get(0); - } - - /** - * @return {@link #address} (An address for the organization.) - */ - public List
getAddress() { - if (this.address == null) - this.address = new ArrayList
(); - return this.address; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Organization setAddress(List
theAddress) { - this.address = theAddress; - return this; - } - - public boolean hasAddress() { - if (this.address == null) - return false; - for (Address item : this.address) - if (!item.isEmpty()) - return true; - return false; - } - - public Address addAddress() { //3 - Address t = new Address(); - if (this.address == null) - this.address = new ArrayList
(); - this.address.add(t); - return t; - } - - public Organization addAddress(Address t) { //3 - if (t == null) - return this; - if (this.address == null) - this.address = new ArrayList
(); - this.address.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #address}, creating it if it does not already exist {3} - */ - public Address getAddressFirstRep() { - if (getAddress().isEmpty()) { - addAddress(); - } - return getAddress().get(0); - } - /** * @return {@link #partOf} (The organization of which this organization forms a part.) */ @@ -686,6 +908,59 @@ public class Organization extends DomainResource { return getEndpoint().get(0); } + /** + * @return {@link #qualification} (The official certifications, accreditations, training, designations and licenses that authorize and/or otherwise endorse the provision of care by the organization. For example, an approval to provide a type of services issued by a certifying body (such as the US Joint Commission) to an organization.) + */ + public List getQualification() { + if (this.qualification == null) + this.qualification = new ArrayList(); + return this.qualification; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Organization setQualification(List theQualification) { + this.qualification = theQualification; + return this; + } + + public boolean hasQualification() { + if (this.qualification == null) + return false; + for (OrganizationQualificationComponent item : this.qualification) + if (!item.isEmpty()) + return true; + return false; + } + + public OrganizationQualificationComponent addQualification() { //3 + OrganizationQualificationComponent t = new OrganizationQualificationComponent(); + if (this.qualification == null) + this.qualification = new ArrayList(); + this.qualification.add(t); + return t; + } + + public Organization addQualification(OrganizationQualificationComponent t) { //3 + if (t == null) + return this; + if (this.qualification == null) + this.qualification = new ArrayList(); + this.qualification.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #qualification}, creating it if it does not already exist {3} + */ + public OrganizationQualificationComponent getQualificationFirstRep() { + if (getQualification().isEmpty()) { + addQualification(); + } + return getQualification().get(0); + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Identifier for the organization that is used to identify the organization across multiple disparate systems.", 0, java.lang.Integer.MAX_VALUE, identifier)); @@ -695,10 +970,9 @@ public class Organization extends DomainResource { children.add(new Property("alias", "string", "A list of alternate names that the organization is known as, or was known as in the past.", 0, java.lang.Integer.MAX_VALUE, alias)); children.add(new Property("description", "string", "Description of the organization, which helps provide additional general context on the organization to ensure that the correct organization is selected.", 0, 1, description)); children.add(new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available relevant to the specific Organization. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact)); - children.add(new Property("telecom", "ContactPoint", "A contact detail for the organization.", 0, java.lang.Integer.MAX_VALUE, telecom)); - children.add(new Property("address", "Address", "An address for the organization.", 0, java.lang.Integer.MAX_VALUE, address)); children.add(new Property("partOf", "Reference(Organization)", "The organization of which this organization forms a part.", 0, 1, partOf)); children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the organization.", 0, java.lang.Integer.MAX_VALUE, endpoint)); + children.add(new Property("qualification", "", "The official certifications, accreditations, training, designations and licenses that authorize and/or otherwise endorse the provision of care by the organization.\r\rFor example, an approval to provide a type of services issued by a certifying body (such as the US Joint Commission) to an organization.", 0, java.lang.Integer.MAX_VALUE, qualification)); } @Override @@ -711,10 +985,9 @@ public class Organization extends DomainResource { case 92902992: /*alias*/ return new Property("alias", "string", "A list of alternate names that the organization is known as, or was known as in the past.", 0, java.lang.Integer.MAX_VALUE, alias); case -1724546052: /*description*/ return new Property("description", "string", "Description of the organization, which helps provide additional general context on the organization to ensure that the correct organization is selected.", 0, 1, description); case 951526432: /*contact*/ return new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available relevant to the specific Organization. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact); - case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "A contact detail for the organization.", 0, java.lang.Integer.MAX_VALUE, telecom); - case -1147692044: /*address*/ return new Property("address", "Address", "An address for the organization.", 0, java.lang.Integer.MAX_VALUE, address); case -995410646: /*partOf*/ return new Property("partOf", "Reference(Organization)", "The organization of which this organization forms a part.", 0, 1, partOf); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the organization.", 0, java.lang.Integer.MAX_VALUE, endpoint); + case -631333393: /*qualification*/ return new Property("qualification", "", "The official certifications, accreditations, training, designations and licenses that authorize and/or otherwise endorse the provision of care by the organization.\r\rFor example, an approval to provide a type of services issued by a certifying body (such as the US Joint Commission) to an organization.", 0, java.lang.Integer.MAX_VALUE, qualification); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -730,10 +1003,9 @@ public class Organization extends DomainResource { case 92902992: /*alias*/ return this.alias == null ? new Base[0] : this.alias.toArray(new Base[this.alias.size()]); // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ExtendedContactDetail - case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint - case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : new Base[] {this.partOf}; // Reference case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference + case -631333393: /*qualification*/ return this.qualification == null ? new Base[0] : this.qualification.toArray(new Base[this.qualification.size()]); // OrganizationQualificationComponent default: return super.getProperty(hash, name, checkValid); } @@ -763,18 +1035,15 @@ public class Organization extends DomainResource { case 951526432: // contact this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); // ExtendedContactDetail return value; - case -1429363305: // telecom - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint - return value; - case -1147692044: // address - this.getAddress().add(TypeConvertor.castToAddress(value)); // Address - return value; case -995410646: // partOf this.partOf = TypeConvertor.castToReference(value); // Reference return value; case 1741102485: // endpoint this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference return value; + case -631333393: // qualification + this.getQualification().add((OrganizationQualificationComponent) value); // OrganizationQualificationComponent + return value; default: return super.setProperty(hash, name, value); } @@ -796,14 +1065,12 @@ public class Organization extends DomainResource { this.description = TypeConvertor.castToString(value); // StringType } else if (name.equals("contact")) { this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); - } else if (name.equals("telecom")) { - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); - } else if (name.equals("address")) { - this.getAddress().add(TypeConvertor.castToAddress(value)); } else if (name.equals("partOf")) { this.partOf = TypeConvertor.castToReference(value); // Reference } else if (name.equals("endpoint")) { this.getEndpoint().add(TypeConvertor.castToReference(value)); + } else if (name.equals("qualification")) { + this.getQualification().add((OrganizationQualificationComponent) value); } else return super.setProperty(name, value); return value; @@ -819,10 +1086,9 @@ public class Organization extends DomainResource { case 92902992: return addAliasElement(); case -1724546052: return getDescriptionElement(); case 951526432: return addContact(); - case -1429363305: return addTelecom(); - case -1147692044: return addAddress(); case -995410646: return getPartOf(); case 1741102485: return addEndpoint(); + case -631333393: return addQualification(); default: return super.makeProperty(hash, name); } @@ -838,10 +1104,9 @@ public class Organization extends DomainResource { case 92902992: /*alias*/ return new String[] {"string"}; case -1724546052: /*description*/ return new String[] {"string"}; case 951526432: /*contact*/ return new String[] {"ExtendedContactDetail"}; - case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; - case -1147692044: /*address*/ return new String[] {"Address"}; case -995410646: /*partOf*/ return new String[] {"Reference"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; + case -631333393: /*qualification*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -870,12 +1135,6 @@ public class Organization extends DomainResource { else if (name.equals("contact")) { return addContact(); } - else if (name.equals("telecom")) { - return addTelecom(); - } - else if (name.equals("address")) { - return addAddress(); - } else if (name.equals("partOf")) { this.partOf = new Reference(); return this.partOf; @@ -883,6 +1142,9 @@ public class Organization extends DomainResource { else if (name.equals("endpoint")) { return addEndpoint(); } + else if (name.equals("qualification")) { + return addQualification(); + } else return super.addChild(name); } @@ -923,22 +1185,17 @@ public class Organization extends DomainResource { for (ExtendedContactDetail i : contact) dst.contact.add(i.copy()); }; - if (telecom != null) { - dst.telecom = new ArrayList(); - for (ContactPoint i : telecom) - dst.telecom.add(i.copy()); - }; - if (address != null) { - dst.address = new ArrayList
(); - for (Address i : address) - dst.address.add(i.copy()); - }; dst.partOf = partOf == null ? null : partOf.copy(); if (endpoint != null) { dst.endpoint = new ArrayList(); for (Reference i : endpoint) dst.endpoint.add(i.copy()); }; + if (qualification != null) { + dst.qualification = new ArrayList(); + for (OrganizationQualificationComponent i : qualification) + dst.qualification.add(i.copy()); + }; } protected Organization typedCopy() { @@ -954,8 +1211,8 @@ public class Organization extends DomainResource { Organization o = (Organization) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(type, o.type, true) && compareDeep(name, o.name, true) && compareDeep(alias, o.alias, true) && compareDeep(description, o.description, true) - && compareDeep(contact, o.contact, true) && compareDeep(telecom, o.telecom, true) && compareDeep(address, o.address, true) - && compareDeep(partOf, o.partOf, true) && compareDeep(endpoint, o.endpoint, true); + && compareDeep(contact, o.contact, true) && compareDeep(partOf, o.partOf, true) && compareDeep(endpoint, o.endpoint, true) + && compareDeep(qualification, o.qualification, true); } @Override @@ -971,7 +1228,7 @@ public class Organization extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, type - , name, alias, description, contact, telecom, address, partOf, endpoint); + , name, alias, description, contact, partOf, endpoint, qualification); } @Override @@ -1004,17 +1261,17 @@ public class Organization extends DomainResource { *

* Description: A city specified in an address
* Type: string
- * Path: Organization.address.city
+ * Path: Organization.contact.address.city
*

*/ - @SearchParamDefinition(name="address-city", path="Organization.address.city", description="A city specified in an address", type="string" ) + @SearchParamDefinition(name="address-city", path="Organization.contact.address.city", description="A city specified in an address", type="string" ) public static final String SP_ADDRESS_CITY = "address-city"; /** * Fluent Client search parameter constant for address-city *

* Description: A city specified in an address
* Type: string
- * Path: Organization.address.city
+ * Path: Organization.contact.address.city
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_CITY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_CITY); @@ -1024,17 +1281,17 @@ public class Organization extends DomainResource { *

* Description: A country specified in an address
* Type: string
- * Path: Organization.address.country
+ * Path: Organization.contact.address.country
*

*/ - @SearchParamDefinition(name="address-country", path="Organization.address.country", description="A country specified in an address", type="string" ) + @SearchParamDefinition(name="address-country", path="Organization.contact.address.country", description="A country specified in an address", type="string" ) public static final String SP_ADDRESS_COUNTRY = "address-country"; /** * Fluent Client search parameter constant for address-country *

* Description: A country specified in an address
* Type: string
- * Path: Organization.address.country
+ * Path: Organization.contact.address.country
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_COUNTRY = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_COUNTRY); @@ -1044,17 +1301,17 @@ public class Organization extends DomainResource { *

* Description: A postal code specified in an address
* Type: string
- * Path: Organization.address.postalCode
+ * Path: Organization.contact.address.postalCode
*

*/ - @SearchParamDefinition(name="address-postalcode", path="Organization.address.postalCode", description="A postal code specified in an address", type="string" ) + @SearchParamDefinition(name="address-postalcode", path="Organization.contact.address.postalCode", description="A postal code specified in an address", type="string" ) public static final String SP_ADDRESS_POSTALCODE = "address-postalcode"; /** * Fluent Client search parameter constant for address-postalcode *

* Description: A postal code specified in an address
* Type: string
- * Path: Organization.address.postalCode
+ * Path: Organization.contact.address.postalCode
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_POSTALCODE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_POSTALCODE); @@ -1064,17 +1321,17 @@ public class Organization extends DomainResource { *

* Description: A state specified in an address
* Type: string
- * Path: Organization.address.state
+ * Path: Organization.contact.address.state
*

*/ - @SearchParamDefinition(name="address-state", path="Organization.address.state", description="A state specified in an address", type="string" ) + @SearchParamDefinition(name="address-state", path="Organization.contact.address.state", description="A state specified in an address", type="string" ) public static final String SP_ADDRESS_STATE = "address-state"; /** * Fluent Client search parameter constant for address-state *

* Description: A state specified in an address
* Type: string
- * Path: Organization.address.state
+ * Path: Organization.contact.address.state
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS_STATE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS_STATE); @@ -1084,17 +1341,17 @@ public class Organization extends DomainResource { *

* Description: A use code specified in an address
* Type: token
- * Path: Organization.address.use
+ * Path: Organization.contact.address.use
*

*/ - @SearchParamDefinition(name="address-use", path="Organization.address.use", description="A use code specified in an address", type="token" ) + @SearchParamDefinition(name="address-use", path="Organization.contact.address.use", description="A use code specified in an address", type="token" ) public static final String SP_ADDRESS_USE = "address-use"; /** * Fluent Client search parameter constant for address-use *

* Description: A use code specified in an address
* Type: token
- * Path: Organization.address.use
+ * Path: Organization.contact.address.use
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam ADDRESS_USE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_ADDRESS_USE); @@ -1104,17 +1361,17 @@ public class Organization extends DomainResource { *

* Description: A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text
* Type: string
- * Path: Organization.address
+ * Path: Organization.contact.address
*

*/ - @SearchParamDefinition(name="address", path="Organization.address", description="A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", type="string" ) + @SearchParamDefinition(name="address", path="Organization.contact.address", description="A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text", type="string" ) public static final String SP_ADDRESS = "address"; /** * Fluent Client search parameter constant for address *

* Description: A server defined search that may match any of the string fields in the Address, including line, city, district, state, country, postalCode, and/or text
* Type: string
- * Path: Organization.address
+ * Path: Organization.contact.address
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam ADDRESS = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_ADDRESS); @@ -1150,17 +1407,17 @@ public class Organization extends DomainResource { *

* Description: Any identifier for the organization (not the accreditation issuer's identifier)
* Type: token
- * Path: Organization.identifier
+ * Path: Organization.identifier | Organization.qualification.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="Organization.identifier", description="Any identifier for the organization (not the accreditation issuer's identifier)", type="token" ) + @SearchParamDefinition(name="identifier", path="Organization.identifier | Organization.qualification.identifier", description="Any identifier for the organization (not the accreditation issuer's identifier)", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier *

* Description: Any identifier for the organization (not the accreditation issuer's identifier)
* Type: token
- * Path: Organization.identifier
+ * Path: Organization.identifier | Organization.qualification.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OrganizationAffiliation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OrganizationAffiliation.java index ff919bc9c..1a3ea031f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OrganizationAffiliation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/OrganizationAffiliation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -88,10 +88,10 @@ public class OrganizationAffiliation extends DomainResource { protected Reference participatingOrganization; /** - * Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined). + * The network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined). */ @Child(name = "network", type = {Organization.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined)", formalDefinition="Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined)." ) + @Description(shortDefinition="The network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined)", formalDefinition="The network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined)." ) protected List network; /** @@ -125,11 +125,11 @@ public class OrganizationAffiliation extends DomainResource { protected List healthcareService; /** - * Contact details at the participatingOrganization relevant to this Affiliation. + * The contact details of communication devices available at the participatingOrganization relevant to this Affiliation. */ - @Child(name = "telecom", type = {ContactPoint.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Contact details at the participatingOrganization relevant to this Affiliation", formalDefinition="Contact details at the participatingOrganization relevant to this Affiliation." ) - protected List telecom; + @Child(name = "contact", type = {ExtendedContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Official contact details at the participatingOrganization relevant to this Affiliation", formalDefinition="The contact details of communication devices available at the participatingOrganization relevant to this Affiliation." ) + protected List contact; /** * Technical endpoints providing access to services operated for this role. @@ -138,7 +138,7 @@ public class OrganizationAffiliation extends DomainResource { @Description(shortDefinition="Technical endpoints providing access to services operated for this role", formalDefinition="Technical endpoints providing access to services operated for this role." ) protected List endpoint; - private static final long serialVersionUID = 522401879L; + private static final long serialVersionUID = -509714744L; /** * Constructor @@ -318,7 +318,7 @@ public class OrganizationAffiliation extends DomainResource { } /** - * @return {@link #network} (Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).) + * @return {@link #network} (The network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).) */ public List getNetwork() { if (this.network == null) @@ -583,56 +583,56 @@ public class OrganizationAffiliation extends DomainResource { } /** - * @return {@link #telecom} (Contact details at the participatingOrganization relevant to this Affiliation.) + * @return {@link #contact} (The contact details of communication devices available at the participatingOrganization relevant to this Affiliation.) */ - public List getTelecom() { - if (this.telecom == null) - this.telecom = new ArrayList(); - return this.telecom; + public List getContact() { + if (this.contact == null) + this.contact = new ArrayList(); + return this.contact; } /** * @return Returns a reference to this for easy method chaining */ - public OrganizationAffiliation setTelecom(List theTelecom) { - this.telecom = theTelecom; + public OrganizationAffiliation setContact(List theContact) { + this.contact = theContact; return this; } - public boolean hasTelecom() { - if (this.telecom == null) + public boolean hasContact() { + if (this.contact == null) return false; - for (ContactPoint item : this.telecom) + for (ExtendedContactDetail item : this.contact) if (!item.isEmpty()) return true; return false; } - public ContactPoint addTelecom() { //3 - ContactPoint t = new ContactPoint(); - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); + public ExtendedContactDetail addContact() { //3 + ExtendedContactDetail t = new ExtendedContactDetail(); + if (this.contact == null) + this.contact = new ArrayList(); + this.contact.add(t); return t; } - public OrganizationAffiliation addTelecom(ContactPoint t) { //3 + public OrganizationAffiliation addContact(ExtendedContactDetail t) { //3 if (t == null) return this; - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); + if (this.contact == null) + this.contact = new ArrayList(); + this.contact.add(t); return this; } /** - * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} */ - public ContactPoint getTelecomFirstRep() { - if (getTelecom().isEmpty()) { - addTelecom(); + public ExtendedContactDetail getContactFirstRep() { + if (getContact().isEmpty()) { + addContact(); } - return getTelecom().get(0); + return getContact().get(0); } /** @@ -695,12 +695,12 @@ public class OrganizationAffiliation extends DomainResource { children.add(new Property("period", "Period", "The period during which the participatingOrganization is affiliated with the primary organization.", 0, 1, period)); children.add(new Property("organization", "Reference(Organization)", "Organization where the role is available (primary organization/has members).", 0, 1, organization)); children.add(new Property("participatingOrganization", "Reference(Organization)", "The Participating Organization provides/performs the role(s) defined by the code to the Primary Organization (e.g. providing services or is a member of).", 0, 1, participatingOrganization)); - children.add(new Property("network", "Reference(Organization)", "Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).", 0, java.lang.Integer.MAX_VALUE, network)); + children.add(new Property("network", "Reference(Organization)", "The network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).", 0, java.lang.Integer.MAX_VALUE, network)); children.add(new Property("code", "CodeableConcept", "Definition of the role the participatingOrganization plays in the association.", 0, java.lang.Integer.MAX_VALUE, code)); children.add(new Property("specialty", "CodeableConcept", "Specific specialty of the participatingOrganization in the context of the role.", 0, java.lang.Integer.MAX_VALUE, specialty)); children.add(new Property("location", "Reference(Location)", "The location(s) at which the role occurs.", 0, java.lang.Integer.MAX_VALUE, location)); children.add(new Property("healthcareService", "Reference(HealthcareService)", "Healthcare services provided through the role.", 0, java.lang.Integer.MAX_VALUE, healthcareService)); - children.add(new Property("telecom", "ContactPoint", "Contact details at the participatingOrganization relevant to this Affiliation.", 0, java.lang.Integer.MAX_VALUE, telecom)); + children.add(new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available at the participatingOrganization relevant to this Affiliation.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for this role.", 0, java.lang.Integer.MAX_VALUE, endpoint)); } @@ -712,12 +712,12 @@ public class OrganizationAffiliation extends DomainResource { case -991726143: /*period*/ return new Property("period", "Period", "The period during which the participatingOrganization is affiliated with the primary organization.", 0, 1, period); case 1178922291: /*organization*/ return new Property("organization", "Reference(Organization)", "Organization where the role is available (primary organization/has members).", 0, 1, organization); case 1593310702: /*participatingOrganization*/ return new Property("participatingOrganization", "Reference(Organization)", "The Participating Organization provides/performs the role(s) defined by the code to the Primary Organization (e.g. providing services or is a member of).", 0, 1, participatingOrganization); - case 1843485230: /*network*/ return new Property("network", "Reference(Organization)", "Health insurance provider network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).", 0, java.lang.Integer.MAX_VALUE, network); + case 1843485230: /*network*/ return new Property("network", "Reference(Organization)", "The network in which the participatingOrganization provides the role's services (if defined) at the indicated locations (if defined).", 0, java.lang.Integer.MAX_VALUE, network); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Definition of the role the participatingOrganization plays in the association.", 0, java.lang.Integer.MAX_VALUE, code); case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "Specific specialty of the participatingOrganization in the context of the role.", 0, java.lang.Integer.MAX_VALUE, specialty); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location(s) at which the role occurs.", 0, java.lang.Integer.MAX_VALUE, location); case 1289661064: /*healthcareService*/ return new Property("healthcareService", "Reference(HealthcareService)", "Healthcare services provided through the role.", 0, java.lang.Integer.MAX_VALUE, healthcareService); - case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "Contact details at the participatingOrganization relevant to this Affiliation.", 0, java.lang.Integer.MAX_VALUE, telecom); + case 951526432: /*contact*/ return new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available at the participatingOrganization relevant to this Affiliation.", 0, java.lang.Integer.MAX_VALUE, contact); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for this role.", 0, java.lang.Integer.MAX_VALUE, endpoint); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -737,7 +737,7 @@ public class OrganizationAffiliation extends DomainResource { case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : this.specialty.toArray(new Base[this.specialty.size()]); // CodeableConcept case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // Reference case 1289661064: /*healthcareService*/ return this.healthcareService == null ? new Base[0] : this.healthcareService.toArray(new Base[this.healthcareService.size()]); // Reference - case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint + case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ExtendedContactDetail case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference default: return super.getProperty(hash, name, checkValid); } @@ -777,8 +777,8 @@ public class OrganizationAffiliation extends DomainResource { case 1289661064: // healthcareService this.getHealthcareService().add(TypeConvertor.castToReference(value)); // Reference return value; - case -1429363305: // telecom - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint + case 951526432: // contact + this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); // ExtendedContactDetail return value; case 1741102485: // endpoint this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference @@ -810,8 +810,8 @@ public class OrganizationAffiliation extends DomainResource { this.getLocation().add(TypeConvertor.castToReference(value)); } else if (name.equals("healthcareService")) { this.getHealthcareService().add(TypeConvertor.castToReference(value)); - } else if (name.equals("telecom")) { - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); + } else if (name.equals("contact")) { + this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); } else if (name.equals("endpoint")) { this.getEndpoint().add(TypeConvertor.castToReference(value)); } else @@ -832,7 +832,7 @@ public class OrganizationAffiliation extends DomainResource { case -1694759682: return addSpecialty(); case 1901043637: return addLocation(); case 1289661064: return addHealthcareService(); - case -1429363305: return addTelecom(); + case 951526432: return addContact(); case 1741102485: return addEndpoint(); default: return super.makeProperty(hash, name); } @@ -852,7 +852,7 @@ public class OrganizationAffiliation extends DomainResource { case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; case 1901043637: /*location*/ return new String[] {"Reference"}; case 1289661064: /*healthcareService*/ return new String[] {"Reference"}; - case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; + case 951526432: /*contact*/ return new String[] {"ExtendedContactDetail"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -894,8 +894,8 @@ public class OrganizationAffiliation extends DomainResource { else if (name.equals("healthcareService")) { return addHealthcareService(); } - else if (name.equals("telecom")) { - return addTelecom(); + else if (name.equals("contact")) { + return addContact(); } else if (name.equals("endpoint")) { return addEndpoint(); @@ -951,10 +951,10 @@ public class OrganizationAffiliation extends DomainResource { for (Reference i : healthcareService) dst.healthcareService.add(i.copy()); }; - if (telecom != null) { - dst.telecom = new ArrayList(); - for (ContactPoint i : telecom) - dst.telecom.add(i.copy()); + if (contact != null) { + dst.contact = new ArrayList(); + for (ExtendedContactDetail i : contact) + dst.contact.add(i.copy()); }; if (endpoint != null) { dst.endpoint = new ArrayList(); @@ -978,7 +978,7 @@ public class OrganizationAffiliation extends DomainResource { && compareDeep(organization, o.organization, true) && compareDeep(participatingOrganization, o.participatingOrganization, true) && compareDeep(network, o.network, true) && compareDeep(code, o.code, true) && compareDeep(specialty, o.specialty, true) && compareDeep(location, o.location, true) && compareDeep(healthcareService, o.healthcareService, true) - && compareDeep(telecom, o.telecom, true) && compareDeep(endpoint, o.endpoint, true); + && compareDeep(contact, o.contact, true) && compareDeep(endpoint, o.endpoint, true); } @Override @@ -994,7 +994,7 @@ public class OrganizationAffiliation extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, period , organization, participatingOrganization, network, code, specialty, location, healthcareService - , telecom, endpoint); + , contact, endpoint); } @Override @@ -1047,17 +1047,17 @@ public class OrganizationAffiliation extends DomainResource { *

* Description: A value in an email contact
* Type: token
- * Path: OrganizationAffiliation.telecom.where(system='email')
+ * Path: OrganizationAffiliation.contact.telecom.where(system='email')
*

*/ - @SearchParamDefinition(name="email", path="OrganizationAffiliation.telecom.where(system='email')", description="A value in an email contact", type="token" ) + @SearchParamDefinition(name="email", path="OrganizationAffiliation.contact.telecom.where(system='email')", description="A value in an email contact", type="token" ) public static final String SP_EMAIL = "email"; /** * Fluent Client search parameter constant for email *

* Description: A value in an email contact
* Type: token
- * Path: OrganizationAffiliation.telecom.where(system='email')
+ * Path: OrganizationAffiliation.contact.telecom.where(system='email')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); @@ -1191,17 +1191,17 @@ public class OrganizationAffiliation extends DomainResource { *

* Description: A value in a phone contact
* Type: token
- * Path: OrganizationAffiliation.telecom.where(system='phone')
+ * Path: OrganizationAffiliation.contact.telecom.where(system='phone')
*

*/ - @SearchParamDefinition(name="phone", path="OrganizationAffiliation.telecom.where(system='phone')", description="A value in a phone contact", type="token" ) + @SearchParamDefinition(name="phone", path="OrganizationAffiliation.contact.telecom.where(system='phone')", description="A value in a phone contact", type="token" ) public static final String SP_PHONE = "phone"; /** * Fluent Client search parameter constant for phone *

* Description: A value in a phone contact
* Type: token
- * Path: OrganizationAffiliation.telecom.where(system='phone')
+ * Path: OrganizationAffiliation.contact.telecom.where(system='phone')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); @@ -1303,17 +1303,17 @@ public class OrganizationAffiliation extends DomainResource { *

* Description: The value in any kind of contact
* Type: token
- * Path: OrganizationAffiliation.telecom
+ * Path: OrganizationAffiliation.contact.telecom
*

*/ - @SearchParamDefinition(name="telecom", path="OrganizationAffiliation.telecom", description="The value in any kind of contact", type="token" ) + @SearchParamDefinition(name="telecom", path="OrganizationAffiliation.contact.telecom", description="The value in any kind of contact", type="token" ) public static final String SP_TELECOM = "telecom"; /** * Fluent Client search parameter constant for telecom *

* Description: The value in any kind of contact
* Type: token
- * Path: OrganizationAffiliation.telecom
+ * Path: OrganizationAffiliation.contact.telecom
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PackagedProductDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PackagedProductDefinition.java index 400279413..4e0905061 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PackagedProductDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PackagedProductDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ParameterDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ParameterDefinition.java index 76428561e..7e70b10b3 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ParameterDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ParameterDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for ParameterDefinition Type: The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse. + * ParameterDefinition Type: The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse. */ @DatatypeDef(name="ParameterDefinition") public class ParameterDefinition extends DataType implements ICompositeType { @@ -92,8 +92,8 @@ public class ParameterDefinition extends DataType implements ICompositeType { */ @Child(name = "type", type = {CodeType.class}, order=5, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="What type of value", formalDefinition="The type of the parameter." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-types") - protected Enumeration type; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") + protected Enumeration type; /** * If specified, this indicates a profile that the input data must conform to, or that the output data will conform to. @@ -102,7 +102,7 @@ public class ParameterDefinition extends DataType implements ICompositeType { @Description(shortDefinition="What profile the value is expected to be", formalDefinition="If specified, this indicates a profile that the input data must conform to, or that the output data will conform to." ) protected CanonicalType profile; - private static final long serialVersionUID = -1132749008L; + private static final long serialVersionUID = 2027429213L; /** * Constructor @@ -114,7 +114,7 @@ public class ParameterDefinition extends DataType implements ICompositeType { /** * Constructor */ - public ParameterDefinition(OperationParameterUse use, FHIRAllTypes type) { + public ParameterDefinition(OperationParameterUse use, FHIRTypes type) { super(); this.setUse(use); this.setType(type); @@ -360,12 +360,12 @@ public class ParameterDefinition extends DataType implements ICompositeType { /** * @return {@link #type} (The type of the parameter.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public Enumeration getTypeElement() { + public Enumeration getTypeElement() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ParameterDefinition.type"); else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new FHIRAllTypesEnumFactory()); // bb + this.type = new Enumeration(new FHIRTypesEnumFactory()); // bb return this.type; } @@ -380,7 +380,7 @@ public class ParameterDefinition extends DataType implements ICompositeType { /** * @param value {@link #type} (The type of the parameter.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public ParameterDefinition setTypeElement(Enumeration value) { + public ParameterDefinition setTypeElement(Enumeration value) { this.type = value; return this; } @@ -388,16 +388,16 @@ public class ParameterDefinition extends DataType implements ICompositeType { /** * @return The type of the parameter. */ - public FHIRAllTypes getType() { + public FHIRTypes getType() { return this.type == null ? null : this.type.getValue(); } /** * @param value The type of the parameter. */ - public ParameterDefinition setType(FHIRAllTypes value) { + public ParameterDefinition setType(FHIRTypes value) { if (this.type == null) - this.type = new Enumeration(new FHIRAllTypesEnumFactory()); + this.type = new Enumeration(new FHIRTypesEnumFactory()); this.type.setValue(value); return this; } @@ -485,7 +485,7 @@ public class ParameterDefinition extends DataType implements ICompositeType { case 108114: /*min*/ return this.min == null ? new Base[0] : new Base[] {this.min}; // IntegerType case 107876: /*max*/ return this.max == null ? new Base[0] : new Base[] {this.max}; // StringType case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : new Base[] {this.documentation}; // StringType - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration case -309425751: /*profile*/ return this.profile == null ? new Base[0] : new Base[] {this.profile}; // CanonicalType default: return super.getProperty(hash, name, checkValid); } @@ -512,8 +512,8 @@ public class ParameterDefinition extends DataType implements ICompositeType { this.documentation = TypeConvertor.castToString(value); // StringType return value; case 3575610: // type - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration return value; case -309425751: // profile this.profile = TypeConvertor.castToCanonical(value); // CanonicalType @@ -537,8 +537,8 @@ public class ParameterDefinition extends DataType implements ICompositeType { } else if (name.equals("documentation")) { this.documentation = TypeConvertor.castToString(value); // StringType } else if (name.equals("type")) { - value = new FHIRAllTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + value = new FHIRTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration } else if (name.equals("profile")) { this.profile = TypeConvertor.castToCanonical(value); // CanonicalType } else diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Parameters.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Parameters.java index 46425acbf..cf66fede0 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Parameters.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Parameters.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -50,7 +50,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import org.hl7.fhir.instance.model.api.IBaseParameters; import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; /** - * This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it. + * This resource is used to pass information into and back from an operation (whether invoked directly from REST or within a messaging environment). It is not persisted or allowed to be referenced by other resources except as described in the definition of the Parameters resource. */ @ResourceDef(name="Parameters", profile="http://hl7.org/fhir/StructureDefinition/Parameters") public class Parameters extends Resource implements IBaseParameters { @@ -67,7 +67,7 @@ public class Parameters extends Resource implements IBaseParameters { /** * Conveys the content if the parameter is a data type. */ - @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=2, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If parameter is a data type", formalDefinition="Conveys the content if the parameter is a data type." ) protected DataType value; @@ -814,21 +814,6 @@ public class Parameters extends Resource implements IBaseParameters { return this != null && this.value instanceof ContactDetail; } - /** - * @return {@link #value} (Conveys the content if the parameter is a data type.) - */ - public Contributor getValueContributor() throws FHIRException { - if (this.value == null) - this.value = new Contributor(); - if (!(this.value instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.value.getClass().getName()+" was encountered"); - return (Contributor) this.value; - } - - public boolean hasValueContributor() { - return this != null && this.value instanceof Contributor; - } - /** * @return {@link #value} (Conveys the content if the parameter is a data type.) */ @@ -919,6 +904,36 @@ public class Parameters extends Resource implements IBaseParameters { return this != null && this.value instanceof UsageContext; } + /** + * @return {@link #value} (Conveys the content if the parameter is a data type.) + */ + public Availability getValueAvailability() throws FHIRException { + if (this.value == null) + this.value = new Availability(); + if (!(this.value instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Availability) this.value; + } + + public boolean hasValueAvailability() { + return this != null && this.value instanceof Availability; + } + + /** + * @return {@link #value} (Conveys the content if the parameter is a data type.) + */ + public ExtendedContactDetail getValueExtendedContactDetail() throws FHIRException { + if (this.value == null) + this.value = new ExtendedContactDetail(); + if (!(this.value instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.value.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.value; + } + + public boolean hasValueExtendedContactDetail() { + return this != null && this.value instanceof ExtendedContactDetail; + } + /** * @return {@link #value} (Conveys the content if the parameter is a data type.) */ @@ -957,7 +972,7 @@ public class Parameters extends Resource implements IBaseParameters { * @param value {@link #value} (Conveys the content if the parameter is a data type.) */ public ParametersParameterComponent setValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for Parameters.parameter.value[x]: "+value.fhirType()); this.value = value; return this; @@ -1038,7 +1053,7 @@ public class Parameters extends Resource implements IBaseParameters { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("name", "string", "The name of the parameter (reference to the operation definition).", 0, 1, name)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Conveys the content if the parameter is a data type.", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Conveys the content if the parameter is a data type.", 0, 1, value)); children.add(new Property("resource", "Resource", "Conveys the content if the parameter is a whole resource.", 0, 1, resource)); children.add(new Property("part", "@Parameters.parameter", "A named part of a multi-part parameter.", 0, java.lang.Integer.MAX_VALUE, part)); } @@ -1047,8 +1062,8 @@ public class Parameters extends Resource implements IBaseParameters { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3373707: /*name*/ return new Property("name", "string", "The name of the parameter (reference to the operation definition).", 0, 1, name); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Conveys the content if the parameter is a data type.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "Conveys the content if the parameter is a data type.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Conveys the content if the parameter is a data type.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "Conveys the content if the parameter is a data type.", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "Conveys the content if the parameter is a data type.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "Conveys the content if the parameter is a data type.", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "Conveys the content if the parameter is a data type.", 0, 1, value); @@ -1093,13 +1108,14 @@ public class Parameters extends Resource implements IBaseParameters { case -540985785: /*valueSignature*/ return new Property("value[x]", "Signature", "Conveys the content if the parameter is a data type.", 0, 1, value); case -1406282469: /*valueTiming*/ return new Property("value[x]", "Timing", "Conveys the content if the parameter is a data type.", 0, 1, value); case -1125200224: /*valueContactDetail*/ return new Property("value[x]", "ContactDetail", "Conveys the content if the parameter is a data type.", 0, 1, value); - case 1281021610: /*valueContributor*/ return new Property("value[x]", "Contributor", "Conveys the content if the parameter is a data type.", 0, 1, value); case 1710554248: /*valueDataRequirement*/ return new Property("value[x]", "DataRequirement", "Conveys the content if the parameter is a data type.", 0, 1, value); case -307517719: /*valueExpression*/ return new Property("value[x]", "Expression", "Conveys the content if the parameter is a data type.", 0, 1, value); case 1387478187: /*valueParameterDefinition*/ return new Property("value[x]", "ParameterDefinition", "Conveys the content if the parameter is a data type.", 0, 1, value); case 1748214124: /*valueRelatedArtifact*/ return new Property("value[x]", "RelatedArtifact", "Conveys the content if the parameter is a data type.", 0, 1, value); case 976830394: /*valueTriggerDefinition*/ return new Property("value[x]", "TriggerDefinition", "Conveys the content if the parameter is a data type.", 0, 1, value); case 588000479: /*valueUsageContext*/ return new Property("value[x]", "UsageContext", "Conveys the content if the parameter is a data type.", 0, 1, value); + case 1678530924: /*valueAvailability*/ return new Property("value[x]", "Availability", "Conveys the content if the parameter is a data type.", 0, 1, value); + case -1567222041: /*valueExtendedContactDetail*/ return new Property("value[x]", "ExtendedContactDetail", "Conveys the content if the parameter is a data type.", 0, 1, value); case -1858636920: /*valueDosage*/ return new Property("value[x]", "Dosage", "Conveys the content if the parameter is a data type.", 0, 1, value); case -765920490: /*valueMeta*/ return new Property("value[x]", "Meta", "Conveys the content if the parameter is a data type.", 0, 1, value); case -341064690: /*resource*/ return new Property("resource", "Resource", "Conveys the content if the parameter is a whole resource.", 0, 1, resource); @@ -1173,7 +1189,7 @@ public class Parameters extends Resource implements IBaseParameters { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3373707: /*name*/ return new String[] {"string"}; - case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; case -341064690: /*resource*/ return new String[] {"Resource"}; case 3433459: /*part*/ return new String[] {"@Parameters.parameter"}; default: return super.getTypesForProperty(hash, name); @@ -1362,10 +1378,6 @@ public class Parameters extends Resource implements IBaseParameters { this.value = new ContactDetail(); return this.value; } - else if (name.equals("valueContributor")) { - this.value = new Contributor(); - return this.value; - } else if (name.equals("valueDataRequirement")) { this.value = new DataRequirement(); return this.value; @@ -1390,6 +1402,14 @@ public class Parameters extends Resource implements IBaseParameters { this.value = new UsageContext(); return this.value; } + else if (name.equals("valueAvailability")) { + this.value = new Availability(); + return this.value; + } + else if (name.equals("valueExtendedContactDetail")) { + this.value = new ExtendedContactDetail(); + return this.value; + } else if (name.equals("valueDosage")) { this.value = new Dosage(); return this.value; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Patient.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Patient.java index 318a77b1f..2b1524940 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Patient.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Patient.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -710,10 +710,10 @@ public class Patient extends DomainResource { @Block() public static class PatientCommunicationComponent extends BackboneElement implements IBaseBackboneElement { /** - * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. + * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English. */ @Child(name = "language", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The language which can be used to communicate with the patient about his or her health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English." ) + @Description(shortDefinition="The language which can be used to communicate with the patient about his or her health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") protected CodeableConcept language; @@ -742,7 +742,7 @@ public class Patient extends DomainResource { } /** - * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) + * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English.) */ public CodeableConcept getLanguage() { if (this.language == null) @@ -758,7 +758,7 @@ public class Patient extends DomainResource { } /** - * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) + * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English.) */ public PatientCommunicationComponent setLanguage(CodeableConcept value) { this.language = value; @@ -812,14 +812,14 @@ public class Patient extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language)); + children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English.", 0, 1, language)); children.add(new Property("preferred", "boolean", "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).", 0, 1, preferred)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language); + case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English.", 0, 1, language); case -1294005119: /*preferred*/ return new Property("preferred", "boolean", "Indicates whether or not the patient prefers this language (over other languages he masters up a certain level).", 0, 1, preferred); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -940,10 +940,10 @@ public class Patient extends DomainResource { @Block() public static class PatientLinkComponent extends BackboneElement implements IBaseBackboneElement { /** - * The other patient resource that the link refers to. + * Link to a Patient or RelatedPerson resource that concerns the same actual individual. */ @Child(name = "other", type = {Patient.class, RelatedPerson.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="The other patient or related person resource that the link refers to", formalDefinition="The other patient resource that the link refers to." ) + @Description(shortDefinition="The other patient or related person resource that the link refers to", formalDefinition="Link to a Patient or RelatedPerson resource that concerns the same actual individual." ) protected Reference other; /** @@ -973,7 +973,7 @@ public class Patient extends DomainResource { } /** - * @return {@link #other} (The other patient resource that the link refers to.) + * @return {@link #other} (Link to a Patient or RelatedPerson resource that concerns the same actual individual.) */ public Reference getOther() { if (this.other == null) @@ -989,7 +989,7 @@ public class Patient extends DomainResource { } /** - * @param value {@link #other} (The other patient resource that the link refers to.) + * @param value {@link #other} (Link to a Patient or RelatedPerson resource that concerns the same actual individual.) */ public PatientLinkComponent setOther(Reference value) { this.other = value; @@ -1043,14 +1043,14 @@ public class Patient extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("other", "Reference(Patient|RelatedPerson)", "The other patient resource that the link refers to.", 0, 1, other)); + children.add(new Property("other", "Reference(Patient|RelatedPerson)", "Link to a Patient or RelatedPerson resource that concerns the same actual individual.", 0, 1, other)); children.add(new Property("type", "code", "The type of link between this patient resource and another patient resource.", 0, 1, type)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 106069776: /*other*/ return new Property("other", "Reference(Patient|RelatedPerson)", "The other patient resource that the link refers to.", 0, 1, other); + case 106069776: /*other*/ return new Property("other", "Reference(Patient|RelatedPerson)", "Link to a Patient or RelatedPerson resource that concerns the same actual individual.", 0, 1, other); case 3575610: /*type*/ return new Property("type", "code", "The type of link between this patient resource and another patient resource.", 0, 1, type); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2614,17 +2614,17 @@ Deceased patients may also be marked as inactive for the same reasons, but may b /** * Search parameter: link *

- * Description: All patients linked to the given patient
+ * Description: All patients/related persons linked to the given patient
* Type: reference
* Path: Patient.link.other
*

*/ - @SearchParamDefinition(name="link", path="Patient.link.other", description="All patients linked to the given patient", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Patient.class, RelatedPerson.class } ) + @SearchParamDefinition(name="link", path="Patient.link.other", description="All patients/related persons linked to the given patient", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={Patient.class, RelatedPerson.class } ) public static final String SP_LINK = "link"; /** * Fluent Client search parameter constant for link *

- * Description: All patients linked to the given patient
+ * Description: All patients/related persons linked to the given patient
* Type: reference
* Path: Patient.link.other
*

@@ -2688,17 +2688,17 @@ Deceased patients may also be marked as inactive for the same reasons, but may b *

* Description: Search by url for a participation agreement, which is stored in a DocumentReference
* Type: reference
- * Path: DocumentReference.extension('http://example.org/fhir/StructureDefinition/participation-agreement')
+ * Path: DocumentReference.extension('http://example.org/fhir/StructureDefinition/participation-agreement').value
*

*/ - @SearchParamDefinition(name="part-agree", path="DocumentReference.extension('http://example.org/fhir/StructureDefinition/participation-agreement')", description="Search by url for a participation agreement, which is stored in a DocumentReference", type="reference", target={DocumentReference.class } ) + @SearchParamDefinition(name="part-agree", path="DocumentReference.extension('http://example.org/fhir/StructureDefinition/participation-agreement').value", description="Search by url for a participation agreement, which is stored in a DocumentReference", type="reference", target={DocumentReference.class } ) public static final String SP_PART_AGREE = "part-agree"; /** * Fluent Client search parameter constant for part-agree *

* Description: Search by url for a participation agreement, which is stored in a DocumentReference
* Type: reference
- * Path: DocumentReference.extension('http://example.org/fhir/StructureDefinition/participation-agreement')
+ * Path: DocumentReference.extension('http://example.org/fhir/StructureDefinition/participation-agreement').value
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PART_AGREE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PART_AGREE); @@ -2943,10 +2943,10 @@ Deceased patients may also be marked as inactive for the same reasons, but may b * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ - @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) + @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) public static final String SP_EMAIL = "email"; /** * Fluent Client search parameter constant for email @@ -2960,7 +2960,7 @@ Deceased patients may also be marked as inactive for the same reasons, but may b * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); @@ -3065,10 +3065,10 @@ Deceased patients may also be marked as inactive for the same reasons, but may b * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ - @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) + @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) public static final String SP_PHONE = "phone"; /** * Fluent Client search parameter constant for phone @@ -3082,7 +3082,7 @@ Deceased patients may also be marked as inactive for the same reasons, but may b * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); @@ -3131,10 +3131,10 @@ Deceased patients may also be marked as inactive for the same reasons, but may b * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ - @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) + @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) public static final String SP_TELECOM = "telecom"; /** * Fluent Client search parameter constant for telecom @@ -3148,7 +3148,7 @@ Deceased patients may also be marked as inactive for the same reasons, but may b * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); @@ -3158,17 +3158,17 @@ Deceased patients may also be marked as inactive for the same reasons, but may b *

* Description: Searches for patients based on age as calculated based on current date and date of birth. Deceased patients are excluded from the search.
* Type: number
- * Path: null
+ * Path: Patient.birthDate
*

*/ - @SearchParamDefinition(name="age", path="", description="Searches for patients based on age as calculated based on current date and date of birth. Deceased patients are excluded from the search.", type="number" ) + @SearchParamDefinition(name="age", path="Patient.birthDate", description="Searches for patients based on age as calculated based on current date and date of birth. Deceased patients are excluded from the search.", type="number" ) public static final String SP_AGE = "age"; /** * Fluent Client search parameter constant for age *

* Description: Searches for patients based on age as calculated based on current date and date of birth. Deceased patients are excluded from the search.
* Type: number
- * Path: null
+ * Path: Patient.birthDate
*

*/ public static final ca.uhn.fhir.rest.gclient.NumberClientParam AGE = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_AGE); @@ -3178,17 +3178,17 @@ Deceased patients may also be marked as inactive for the same reasons, but may b *

* Description: Search based on whether a patient was part of a multiple birth or not.
* Type: token
- * Path: null
+ * Path: Patient.multipleBirthBoolean | Patient.multipleBirthInteger
*

*/ - @SearchParamDefinition(name="birthOrderBoolean", path="", description="Search based on whether a patient was part of a multiple birth or not.", type="token" ) + @SearchParamDefinition(name="birthOrderBoolean", path="Patient.multipleBirthBoolean | Patient.multipleBirthInteger", description="Search based on whether a patient was part of a multiple birth or not.", type="token" ) public static final String SP_BIRTHORDERBOOLEAN = "birthOrderBoolean"; /** * Fluent Client search parameter constant for birthOrderBoolean *

* Description: Search based on whether a patient was part of a multiple birth or not.
* Type: token
- * Path: null
+ * Path: Patient.multipleBirthBoolean | Patient.multipleBirthInteger
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam BIRTHORDERBOOLEAN = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_BIRTHORDERBOOLEAN); @@ -3198,17 +3198,17 @@ Deceased patients may also be marked as inactive for the same reasons, but may b *

* Description: Search based on patient's mother's maiden name
* Type: string
- * Path: Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName')
+ * Path: Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value
*

*/ - @SearchParamDefinition(name="mothersMaidenName", path="Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName')", description="Search based on patient's mother's maiden name", type="string" ) + @SearchParamDefinition(name="mothersMaidenName", path="Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value", description="Search based on patient's mother's maiden name", type="string" ) public static final String SP_MOTHERSMAIDENNAME = "mothersMaidenName"; /** * Fluent Client search parameter constant for mothersMaidenName *

* Description: Search based on patient's mother's maiden name
* Type: string
- * Path: Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName')
+ * Path: Patient.extension('http://hl7.org/fhir/StructureDefinition/patient-mothersMaidenName').value
*

*/ public static final ca.uhn.fhir.rest.gclient.StringClientParam MOTHERSMAIDENNAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_MOTHERSMAIDENNAME); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentNotice.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentNotice.java index 6b37a7ee8..7d0f89baa 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentNotice.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentNotice.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -841,17 +841,17 @@ public class PaymentNotice extends DomainResource { /** * Search parameter: created *

- * Description: Creation date fro the notice
+ * Description: Creation date for the notice
* Type: date
* Path: PaymentNotice.created
*

*/ - @SearchParamDefinition(name="created", path="PaymentNotice.created", description="Creation date fro the notice", type="date" ) + @SearchParamDefinition(name="created", path="PaymentNotice.created", description="Creation date for the notice", type="date" ) public static final String SP_CREATED = "created"; /** * Fluent Client search parameter constant for created *

- * Description: Creation date fro the notice
+ * Description: Creation date for the notice
* Type: date
* Path: PaymentNotice.created
*

@@ -932,7 +932,7 @@ public class PaymentNotice extends DomainResource { * Path: PaymentNotice.request
*

*/ - @SearchParamDefinition(name="request", path="PaymentNotice.request", description="The Claim", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="request", path="PaymentNotice.request", description="The Claim", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_REQUEST = "request"; /** * Fluent Client search parameter constant for request @@ -958,7 +958,7 @@ public class PaymentNotice extends DomainResource { * Path: PaymentNotice.response
*

*/ - @SearchParamDefinition(name="response", path="PaymentNotice.response", description="The ClaimResponse", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="response", path="PaymentNotice.response", description="The ClaimResponse", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_RESPONSE = "response"; /** * Fluent Client search parameter constant for response diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentReconciliation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentReconciliation.java index 1dc99a700..7ef7fcc1d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentReconciliation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PaymentReconciliation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -182,7 +182,7 @@ public class PaymentReconciliation extends DomainResource { } @Block() - public static class DetailsComponent extends BackboneElement implements IBaseBackboneElement { + public static class PaymentReconciliationAllocationComponent extends BackboneElement implements IBaseBackboneElement { /** * Unique identifier for the current payment item for the referenced payable. */ @@ -197,87 +197,100 @@ public class PaymentReconciliation extends DomainResource { @Description(shortDefinition="Business identifier of the prior payment detail", formalDefinition="Unique identifier for the prior payment item for the referenced payable." ) protected Identifier predecessor; + /** + * Specific resource to which the payment/adjustment/advance applies. + */ + @Child(name = "target", type = {Claim.class, Account.class, Invoice.class, ChargeItem.class, Encounter.class, Contract.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Subject of the payment", formalDefinition="Specific resource to which the payment/adjustment/advance applies." ) + protected Reference target; + + /** + * Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred. + */ + @Child(name = "targetItem", type = {StringType.class, Identifier.class, PositiveIntType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Sub-element of the subject", formalDefinition=" Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred." ) + protected DataType targetItem; + + /** + * The Encounter to which this payment applies, may be completed by the receiver, used for search. + */ + @Child(name = "encounter", type = {Encounter.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Applied-to encounter", formalDefinition="The Encounter to which this payment applies, may be completed by the receiver, used for search." ) + protected Reference encounter; + + /** + * The Account to which this payment applies, may be completed by the receiver, used for search. + */ + @Child(name = "account", type = {Account.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Applied-to account", formalDefinition="The Account to which this payment applies, may be completed by the receiver, used for search." ) + protected Reference account; + /** * Code to indicate the nature of the payment. */ - @Child(name = "type", type = {CodeableConcept.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Child(name = "type", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Category of payment", formalDefinition="Code to indicate the nature of the payment." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payment-type") protected CodeableConcept type; - /** - * A resource, such as a Claim, the evaluation of which could lead to payment. - */ - @Child(name = "request", type = {Reference.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Request giving rise to the payment", formalDefinition="A resource, such as a Claim, the evaluation of which could lead to payment." ) - protected Reference request; - /** * The party which submitted the claim or financial transaction. */ - @Child(name = "submitter", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "submitter", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Submitter of the request", formalDefinition="The party which submitted the claim or financial transaction." ) protected Reference submitter; /** * A resource, such as a ClaimResponse, which contains a commitment to payment. */ - @Child(name = "response", type = {Reference.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "response", type = {ClaimResponse.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Response committing to a payment", formalDefinition="A resource, such as a ClaimResponse, which contains a commitment to payment." ) protected Reference response; /** * The date from the response resource containing a commitment to pay. */ - @Child(name = "date", type = {DateType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "date", type = {DateType.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date of commitment to pay", formalDefinition="The date from the response resource containing a commitment to pay." ) protected DateType date; /** * A reference to the individual who is responsible for inquiries regarding the response and its payment. */ - @Child(name = "responsible", type = {PractitionerRole.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "responsible", type = {PractitionerRole.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Contact for the response", formalDefinition="A reference to the individual who is responsible for inquiries regarding the response and its payment." ) protected Reference responsible; /** * The party which is receiving the payment. */ - @Child(name = "payee", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "payee", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Recipient of the payment", formalDefinition="The party which is receiving the payment." ) protected Reference payee; /** * The monetary amount allocated from the total payment to the payable. */ - @Child(name = "amount", type = {Money.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "amount", type = {Money.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Amount allocated to this payable", formalDefinition="The monetary amount allocated from the total payment to the payable." ) protected Money amount; - private static final long serialVersionUID = 1747960963L; + private static final long serialVersionUID = -1153705409L; /** * Constructor */ - public DetailsComponent() { + public PaymentReconciliationAllocationComponent() { super(); } - /** - * Constructor - */ - public DetailsComponent(CodeableConcept type) { - super(); - this.setType(type); - } - /** * @return {@link #identifier} (Unique identifier for the current payment item for the referenced payable.) */ public Identifier getIdentifier() { if (this.identifier == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.identifier"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.identifier"); else if (Configuration.doAutoCreate()) this.identifier = new Identifier(); // cc return this.identifier; @@ -290,7 +303,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #identifier} (Unique identifier for the current payment item for the referenced payable.) */ - public DetailsComponent setIdentifier(Identifier value) { + public PaymentReconciliationAllocationComponent setIdentifier(Identifier value) { this.identifier = value; return this; } @@ -301,7 +314,7 @@ public class PaymentReconciliation extends DomainResource { public Identifier getPredecessor() { if (this.predecessor == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.predecessor"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.predecessor"); else if (Configuration.doAutoCreate()) this.predecessor = new Identifier(); // cc return this.predecessor; @@ -314,18 +327,156 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #predecessor} (Unique identifier for the prior payment item for the referenced payable.) */ - public DetailsComponent setPredecessor(Identifier value) { + public PaymentReconciliationAllocationComponent setPredecessor(Identifier value) { this.predecessor = value; return this; } + /** + * @return {@link #target} (Specific resource to which the payment/adjustment/advance applies.) + */ + public Reference getTarget() { + if (this.target == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.target"); + else if (Configuration.doAutoCreate()) + this.target = new Reference(); // cc + return this.target; + } + + public boolean hasTarget() { + return this.target != null && !this.target.isEmpty(); + } + + /** + * @param value {@link #target} (Specific resource to which the payment/adjustment/advance applies.) + */ + public PaymentReconciliationAllocationComponent setTarget(Reference value) { + this.target = value; + return this; + } + + /** + * @return {@link #targetItem} ( Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.) + */ + public DataType getTargetItem() { + return this.targetItem; + } + + /** + * @return {@link #targetItem} ( Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.) + */ + public StringType getTargetItemStringType() throws FHIRException { + if (this.targetItem == null) + this.targetItem = new StringType(); + if (!(this.targetItem instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.targetItem.getClass().getName()+" was encountered"); + return (StringType) this.targetItem; + } + + public boolean hasTargetItemStringType() { + return this != null && this.targetItem instanceof StringType; + } + + /** + * @return {@link #targetItem} ( Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.) + */ + public Identifier getTargetItemIdentifier() throws FHIRException { + if (this.targetItem == null) + this.targetItem = new Identifier(); + if (!(this.targetItem instanceof Identifier)) + throw new FHIRException("Type mismatch: the type Identifier was expected, but "+this.targetItem.getClass().getName()+" was encountered"); + return (Identifier) this.targetItem; + } + + public boolean hasTargetItemIdentifier() { + return this != null && this.targetItem instanceof Identifier; + } + + /** + * @return {@link #targetItem} ( Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.) + */ + public PositiveIntType getTargetItemPositiveIntType() throws FHIRException { + if (this.targetItem == null) + this.targetItem = new PositiveIntType(); + if (!(this.targetItem instanceof PositiveIntType)) + throw new FHIRException("Type mismatch: the type PositiveIntType was expected, but "+this.targetItem.getClass().getName()+" was encountered"); + return (PositiveIntType) this.targetItem; + } + + public boolean hasTargetItemPositiveIntType() { + return this != null && this.targetItem instanceof PositiveIntType; + } + + public boolean hasTargetItem() { + return this.targetItem != null && !this.targetItem.isEmpty(); + } + + /** + * @param value {@link #targetItem} ( Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.) + */ + public PaymentReconciliationAllocationComponent setTargetItem(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Identifier || value instanceof PositiveIntType)) + throw new Error("Not the right type for PaymentReconciliation.allocation.targetItem[x]: "+value.fhirType()); + this.targetItem = value; + return this; + } + + /** + * @return {@link #encounter} (The Encounter to which this payment applies, may be completed by the receiver, used for search.) + */ + public Reference getEncounter() { + if (this.encounter == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.encounter"); + else if (Configuration.doAutoCreate()) + this.encounter = new Reference(); // cc + return this.encounter; + } + + public boolean hasEncounter() { + return this.encounter != null && !this.encounter.isEmpty(); + } + + /** + * @param value {@link #encounter} (The Encounter to which this payment applies, may be completed by the receiver, used for search.) + */ + public PaymentReconciliationAllocationComponent setEncounter(Reference value) { + this.encounter = value; + return this; + } + + /** + * @return {@link #account} (The Account to which this payment applies, may be completed by the receiver, used for search.) + */ + public Reference getAccount() { + if (this.account == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.account"); + else if (Configuration.doAutoCreate()) + this.account = new Reference(); // cc + return this.account; + } + + public boolean hasAccount() { + return this.account != null && !this.account.isEmpty(); + } + + /** + * @param value {@link #account} (The Account to which this payment applies, may be completed by the receiver, used for search.) + */ + public PaymentReconciliationAllocationComponent setAccount(Reference value) { + this.account = value; + return this; + } + /** * @return {@link #type} (Code to indicate the nature of the payment.) */ public CodeableConcept getType() { if (this.type == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.type"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.type"); else if (Configuration.doAutoCreate()) this.type = new CodeableConcept(); // cc return this.type; @@ -338,42 +489,18 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #type} (Code to indicate the nature of the payment.) */ - public DetailsComponent setType(CodeableConcept value) { + public PaymentReconciliationAllocationComponent setType(CodeableConcept value) { this.type = value; return this; } - /** - * @return {@link #request} (A resource, such as a Claim, the evaluation of which could lead to payment.) - */ - public Reference getRequest() { - if (this.request == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.request"); - else if (Configuration.doAutoCreate()) - this.request = new Reference(); // cc - return this.request; - } - - public boolean hasRequest() { - return this.request != null && !this.request.isEmpty(); - } - - /** - * @param value {@link #request} (A resource, such as a Claim, the evaluation of which could lead to payment.) - */ - public DetailsComponent setRequest(Reference value) { - this.request = value; - return this; - } - /** * @return {@link #submitter} (The party which submitted the claim or financial transaction.) */ public Reference getSubmitter() { if (this.submitter == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.submitter"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.submitter"); else if (Configuration.doAutoCreate()) this.submitter = new Reference(); // cc return this.submitter; @@ -386,7 +513,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #submitter} (The party which submitted the claim or financial transaction.) */ - public DetailsComponent setSubmitter(Reference value) { + public PaymentReconciliationAllocationComponent setSubmitter(Reference value) { this.submitter = value; return this; } @@ -397,7 +524,7 @@ public class PaymentReconciliation extends DomainResource { public Reference getResponse() { if (this.response == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.response"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.response"); else if (Configuration.doAutoCreate()) this.response = new Reference(); // cc return this.response; @@ -410,7 +537,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #response} (A resource, such as a ClaimResponse, which contains a commitment to payment.) */ - public DetailsComponent setResponse(Reference value) { + public PaymentReconciliationAllocationComponent setResponse(Reference value) { this.response = value; return this; } @@ -421,7 +548,7 @@ public class PaymentReconciliation extends DomainResource { public DateType getDateElement() { if (this.date == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.date"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.date"); else if (Configuration.doAutoCreate()) this.date = new DateType(); // bb return this.date; @@ -438,7 +565,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #date} (The date from the response resource containing a commitment to pay.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ - public DetailsComponent setDateElement(DateType value) { + public PaymentReconciliationAllocationComponent setDateElement(DateType value) { this.date = value; return this; } @@ -453,7 +580,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value The date from the response resource containing a commitment to pay. */ - public DetailsComponent setDate(Date value) { + public PaymentReconciliationAllocationComponent setDate(Date value) { if (value == null) this.date = null; else { @@ -470,7 +597,7 @@ public class PaymentReconciliation extends DomainResource { public Reference getResponsible() { if (this.responsible == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.responsible"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.responsible"); else if (Configuration.doAutoCreate()) this.responsible = new Reference(); // cc return this.responsible; @@ -483,7 +610,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #responsible} (A reference to the individual who is responsible for inquiries regarding the response and its payment.) */ - public DetailsComponent setResponsible(Reference value) { + public PaymentReconciliationAllocationComponent setResponsible(Reference value) { this.responsible = value; return this; } @@ -494,7 +621,7 @@ public class PaymentReconciliation extends DomainResource { public Reference getPayee() { if (this.payee == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.payee"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.payee"); else if (Configuration.doAutoCreate()) this.payee = new Reference(); // cc return this.payee; @@ -507,7 +634,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #payee} (The party which is receiving the payment.) */ - public DetailsComponent setPayee(Reference value) { + public PaymentReconciliationAllocationComponent setPayee(Reference value) { this.payee = value; return this; } @@ -518,7 +645,7 @@ public class PaymentReconciliation extends DomainResource { public Money getAmount() { if (this.amount == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create DetailsComponent.amount"); + throw new Error("Attempt to auto-create PaymentReconciliationAllocationComponent.amount"); else if (Configuration.doAutoCreate()) this.amount = new Money(); // cc return this.amount; @@ -531,7 +658,7 @@ public class PaymentReconciliation extends DomainResource { /** * @param value {@link #amount} (The monetary amount allocated from the total payment to the payable.) */ - public DetailsComponent setAmount(Money value) { + public PaymentReconciliationAllocationComponent setAmount(Money value) { this.amount = value; return this; } @@ -540,10 +667,13 @@ public class PaymentReconciliation extends DomainResource { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Unique identifier for the current payment item for the referenced payable.", 0, 1, identifier)); children.add(new Property("predecessor", "Identifier", "Unique identifier for the prior payment item for the referenced payable.", 0, 1, predecessor)); + children.add(new Property("target", "Reference(Claim|Account|Invoice|ChargeItem|Encounter|Contract)", "Specific resource to which the payment/adjustment/advance applies.", 0, 1, target)); + children.add(new Property("targetItem[x]", "string|Identifier|positiveInt", " Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.", 0, 1, targetItem)); + children.add(new Property("encounter", "Reference(Encounter)", "The Encounter to which this payment applies, may be completed by the receiver, used for search.", 0, 1, encounter)); + children.add(new Property("account", "Reference(Account)", "The Account to which this payment applies, may be completed by the receiver, used for search.", 0, 1, account)); children.add(new Property("type", "CodeableConcept", "Code to indicate the nature of the payment.", 0, 1, type)); - children.add(new Property("request", "Reference(Any)", "A resource, such as a Claim, the evaluation of which could lead to payment.", 0, 1, request)); children.add(new Property("submitter", "Reference(Practitioner|PractitionerRole|Organization)", "The party which submitted the claim or financial transaction.", 0, 1, submitter)); - children.add(new Property("response", "Reference(Any)", "A resource, such as a ClaimResponse, which contains a commitment to payment.", 0, 1, response)); + children.add(new Property("response", "Reference(ClaimResponse)", "A resource, such as a ClaimResponse, which contains a commitment to payment.", 0, 1, response)); children.add(new Property("date", "date", "The date from the response resource containing a commitment to pay.", 0, 1, date)); children.add(new Property("responsible", "Reference(PractitionerRole)", "A reference to the individual who is responsible for inquiries regarding the response and its payment.", 0, 1, responsible)); children.add(new Property("payee", "Reference(Practitioner|PractitionerRole|Organization)", "The party which is receiving the payment.", 0, 1, payee)); @@ -555,10 +685,17 @@ public class PaymentReconciliation extends DomainResource { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Unique identifier for the current payment item for the referenced payable.", 0, 1, identifier); case -1925032183: /*predecessor*/ return new Property("predecessor", "Identifier", "Unique identifier for the prior payment item for the referenced payable.", 0, 1, predecessor); + case -880905839: /*target*/ return new Property("target", "Reference(Claim|Account|Invoice|ChargeItem|Encounter|Contract)", "Specific resource to which the payment/adjustment/advance applies.", 0, 1, target); + case 125181372: /*targetItem[x]*/ return new Property("targetItem[x]", "string|Identifier|positiveInt", " Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.", 0, 1, targetItem); + case 486289476: /*targetItem*/ return new Property("targetItem[x]", "string|Identifier|positiveInt", " Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.", 0, 1, targetItem); + case 1014643061: /*targetItemString*/ return new Property("targetItem[x]", "string", " Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.", 0, 1, targetItem); + case -1768279027: /*targetItemIdentifier*/ return new Property("targetItem[x]", "Identifier", " Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.", 0, 1, targetItem); + case -481526702: /*targetItemPositiveInt*/ return new Property("targetItem[x]", "positiveInt", " Identifies the claim line item, encounter or other sub-element being paid. Note payment may be partial, that is not match the then outstanding balance or amount incurred.", 0, 1, targetItem); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter to which this payment applies, may be completed by the receiver, used for search.", 0, 1, encounter); + case -1177318867: /*account*/ return new Property("account", "Reference(Account)", "The Account to which this payment applies, may be completed by the receiver, used for search.", 0, 1, account); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Code to indicate the nature of the payment.", 0, 1, type); - case 1095692943: /*request*/ return new Property("request", "Reference(Any)", "A resource, such as a Claim, the evaluation of which could lead to payment.", 0, 1, request); case 348678409: /*submitter*/ return new Property("submitter", "Reference(Practitioner|PractitionerRole|Organization)", "The party which submitted the claim or financial transaction.", 0, 1, submitter); - case -340323263: /*response*/ return new Property("response", "Reference(Any)", "A resource, such as a ClaimResponse, which contains a commitment to payment.", 0, 1, response); + case -340323263: /*response*/ return new Property("response", "Reference(ClaimResponse)", "A resource, such as a ClaimResponse, which contains a commitment to payment.", 0, 1, response); case 3076014: /*date*/ return new Property("date", "date", "The date from the response resource containing a commitment to pay.", 0, 1, date); case 1847674614: /*responsible*/ return new Property("responsible", "Reference(PractitionerRole)", "A reference to the individual who is responsible for inquiries regarding the response and its payment.", 0, 1, responsible); case 106443592: /*payee*/ return new Property("payee", "Reference(Practitioner|PractitionerRole|Organization)", "The party which is receiving the payment.", 0, 1, payee); @@ -573,8 +710,11 @@ public class PaymentReconciliation extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // Identifier case -1925032183: /*predecessor*/ return this.predecessor == null ? new Base[0] : new Base[] {this.predecessor}; // Identifier + case -880905839: /*target*/ return this.target == null ? new Base[0] : new Base[] {this.target}; // Reference + case 486289476: /*targetItem*/ return this.targetItem == null ? new Base[0] : new Base[] {this.targetItem}; // DataType + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference + case -1177318867: /*account*/ return this.account == null ? new Base[0] : new Base[] {this.account}; // Reference case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept - case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // Reference case 348678409: /*submitter*/ return this.submitter == null ? new Base[0] : new Base[] {this.submitter}; // Reference case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // Reference case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateType @@ -595,12 +735,21 @@ public class PaymentReconciliation extends DomainResource { case -1925032183: // predecessor this.predecessor = TypeConvertor.castToIdentifier(value); // Identifier return value; + case -880905839: // target + this.target = TypeConvertor.castToReference(value); // Reference + return value; + case 486289476: // targetItem + this.targetItem = TypeConvertor.castToType(value); // DataType + return value; + case 1524132147: // encounter + this.encounter = TypeConvertor.castToReference(value); // Reference + return value; + case -1177318867: // account + this.account = TypeConvertor.castToReference(value); // Reference + return value; case 3575610: // type this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case 1095692943: // request - this.request = TypeConvertor.castToReference(value); // Reference - return value; case 348678409: // submitter this.submitter = TypeConvertor.castToReference(value); // Reference return value; @@ -630,10 +779,16 @@ public class PaymentReconciliation extends DomainResource { this.identifier = TypeConvertor.castToIdentifier(value); // Identifier } else if (name.equals("predecessor")) { this.predecessor = TypeConvertor.castToIdentifier(value); // Identifier + } else if (name.equals("target")) { + this.target = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("targetItem[x]")) { + this.targetItem = TypeConvertor.castToType(value); // DataType + } else if (name.equals("encounter")) { + this.encounter = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("account")) { + this.account = TypeConvertor.castToReference(value); // Reference } else if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("request")) { - this.request = TypeConvertor.castToReference(value); // Reference } else if (name.equals("submitter")) { this.submitter = TypeConvertor.castToReference(value); // Reference } else if (name.equals("response")) { @@ -656,8 +811,12 @@ public class PaymentReconciliation extends DomainResource { switch (hash) { case -1618432855: return getIdentifier(); case -1925032183: return getPredecessor(); + case -880905839: return getTarget(); + case 125181372: return getTargetItem(); + case 486289476: return getTargetItem(); + case 1524132147: return getEncounter(); + case -1177318867: return getAccount(); case 3575610: return getType(); - case 1095692943: return getRequest(); case 348678409: return getSubmitter(); case -340323263: return getResponse(); case 3076014: return getDateElement(); @@ -674,8 +833,11 @@ public class PaymentReconciliation extends DomainResource { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case -1925032183: /*predecessor*/ return new String[] {"Identifier"}; + case -880905839: /*target*/ return new String[] {"Reference"}; + case 486289476: /*targetItem*/ return new String[] {"string", "Identifier", "positiveInt"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -1177318867: /*account*/ return new String[] {"Reference"}; case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 1095692943: /*request*/ return new String[] {"Reference"}; case 348678409: /*submitter*/ return new String[] {"Reference"}; case -340323263: /*response*/ return new String[] {"Reference"}; case 3076014: /*date*/ return new String[] {"date"}; @@ -697,14 +859,34 @@ public class PaymentReconciliation extends DomainResource { this.predecessor = new Identifier(); return this.predecessor; } + else if (name.equals("target")) { + this.target = new Reference(); + return this.target; + } + else if (name.equals("targetItemString")) { + this.targetItem = new StringType(); + return this.targetItem; + } + else if (name.equals("targetItemIdentifier")) { + this.targetItem = new Identifier(); + return this.targetItem; + } + else if (name.equals("targetItemPositiveInt")) { + this.targetItem = new PositiveIntType(); + return this.targetItem; + } + else if (name.equals("encounter")) { + this.encounter = new Reference(); + return this.encounter; + } + else if (name.equals("account")) { + this.account = new Reference(); + return this.account; + } else if (name.equals("type")) { this.type = new CodeableConcept(); return this.type; } - else if (name.equals("request")) { - this.request = new Reference(); - return this.request; - } else if (name.equals("submitter")) { this.submitter = new Reference(); return this.submitter; @@ -714,7 +896,7 @@ public class PaymentReconciliation extends DomainResource { return this.response; } else if (name.equals("date")) { - throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.detail.date"); + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.allocation.date"); } else if (name.equals("responsible")) { this.responsible = new Reference(); @@ -732,18 +914,21 @@ public class PaymentReconciliation extends DomainResource { return super.addChild(name); } - public DetailsComponent copy() { - DetailsComponent dst = new DetailsComponent(); + public PaymentReconciliationAllocationComponent copy() { + PaymentReconciliationAllocationComponent dst = new PaymentReconciliationAllocationComponent(); copyValues(dst); return dst; } - public void copyValues(DetailsComponent dst) { + public void copyValues(PaymentReconciliationAllocationComponent dst) { super.copyValues(dst); dst.identifier = identifier == null ? null : identifier.copy(); dst.predecessor = predecessor == null ? null : predecessor.copy(); + dst.target = target == null ? null : target.copy(); + dst.targetItem = targetItem == null ? null : targetItem.copy(); + dst.encounter = encounter == null ? null : encounter.copy(); + dst.account = account == null ? null : account.copy(); dst.type = type == null ? null : type.copy(); - dst.request = request == null ? null : request.copy(); dst.submitter = submitter == null ? null : submitter.copy(); dst.response = response == null ? null : response.copy(); dst.date = date == null ? null : date.copy(); @@ -756,11 +941,12 @@ public class PaymentReconciliation extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof DetailsComponent)) + if (!(other_ instanceof PaymentReconciliationAllocationComponent)) return false; - DetailsComponent o = (DetailsComponent) other_; + PaymentReconciliationAllocationComponent o = (PaymentReconciliationAllocationComponent) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(predecessor, o.predecessor, true) - && compareDeep(type, o.type, true) && compareDeep(request, o.request, true) && compareDeep(submitter, o.submitter, true) + && compareDeep(target, o.target, true) && compareDeep(targetItem, o.targetItem, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(account, o.account, true) && compareDeep(type, o.type, true) && compareDeep(submitter, o.submitter, true) && compareDeep(response, o.response, true) && compareDeep(date, o.date, true) && compareDeep(responsible, o.responsible, true) && compareDeep(payee, o.payee, true) && compareDeep(amount, o.amount, true); } @@ -769,19 +955,20 @@ public class PaymentReconciliation extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof DetailsComponent)) + if (!(other_ instanceof PaymentReconciliationAllocationComponent)) return false; - DetailsComponent o = (DetailsComponent) other_; + PaymentReconciliationAllocationComponent o = (PaymentReconciliationAllocationComponent) other_; return compareValues(date, o.date, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, predecessor, type - , request, submitter, response, date, responsible, payee, amount); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, predecessor, target + , targetItem, encounter, account, type, submitter, response, date, responsible + , payee, amount); } public String fhirType() { - return "PaymentReconciliation.detail"; + return "PaymentReconciliation.allocation"; } @@ -1046,53 +1233,84 @@ public class PaymentReconciliation extends DomainResource { @Description(shortDefinition="Business Identifier for a payment reconciliation", formalDefinition="A unique identifier assigned to this payment reconciliation." ) protected List identifier; + /** + * Code to indicate the nature of the payment such as payment, adjustment. + */ + @Child(name = "type", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Category of payment", formalDefinition="Code to indicate the nature of the payment such as payment, adjustment." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payment-type") + protected CodeableConcept type; + /** * The status of the resource instance. */ - @Child(name = "status", type = {CodeType.class}, order=1, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=2, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="active | cancelled | draft | entered-in-error", formalDefinition="The status of the resource instance." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fm-status") protected Enumeration status; + /** + * The workflow or activity which gave rise to or during which the payment ocurred such as a kiosk, deposit on account, periodic payment etc. + */ + @Child(name = "kind", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Workflow originating payment", formalDefinition="The workflow or activity which gave rise to or during which the payment ocurred such as a kiosk, deposit on account, periodic payment etc." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payment-kind") + protected CodeableConcept kind; + /** * The period of time for which payments have been gathered into this bulk payment for settlement. */ - @Child(name = "period", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "period", type = {Period.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Period covered", formalDefinition="The period of time for which payments have been gathered into this bulk payment for settlement." ) protected Period period; /** * The date when the resource was created. */ - @Child(name = "created", type = {DateTimeType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Child(name = "created", type = {DateTimeType.class}, order=5, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Creation date", formalDefinition="The date when the resource was created." ) protected DateTimeType created; + /** + * Payment enterer if not the actual payment issuer. + */ + @Child(name = "enterer", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who entered the payment", formalDefinition="Payment enterer if not the actual payment issuer." ) + protected Reference enterer; + + /** + * The type of the source such as patient or insurance. + */ + @Child(name = "issuerType", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Nature of the source", formalDefinition="The type of the source such as patient or insurance." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payment-issuertype") + protected CodeableConcept issuerType; + /** * The party who generated the payment. */ - @Child(name = "paymentIssuer", type = {Organization.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "paymentIssuer", type = {Organization.class, Patient.class, Person.class, RelatedPerson.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Party generating payment", formalDefinition="The party who generated the payment." ) protected Reference paymentIssuer; /** * Original request resource reference. */ - @Child(name = "request", type = {Task.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "request", type = {Task.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Reference to requesting resource", formalDefinition="Original request resource reference." ) protected Reference request; /** * The practitioner who is responsible for the services rendered to the patient. */ - @Child(name = "requestor", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "requestor", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=10, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Responsible practitioner", formalDefinition="The practitioner who is responsible for the services rendered to the patient." ) protected Reference requestor; /** * The outcome of a request for a reconciliation. */ - @Child(name = "outcome", type = {CodeType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "outcome", type = {CodeType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="queued | complete | error | partial", formalDefinition="The outcome of a request for a reconciliation." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/payment-outcome") protected Enumeration outcome; @@ -1100,42 +1318,113 @@ public class PaymentReconciliation extends DomainResource { /** * A human readable description of the status of the request for the reconciliation. */ - @Child(name = "disposition", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) + @Child(name = "disposition", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Disposition message", formalDefinition="A human readable description of the status of the request for the reconciliation." ) protected StringType disposition; /** * The date of payment as indicated on the financial instrument. */ - @Child(name = "paymentDate", type = {DateType.class}, order=9, min=1, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateType.class}, order=13, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="When payment issued", formalDefinition="The date of payment as indicated on the financial instrument." ) - protected DateType paymentDate; + protected DateType date; + + /** + * The location of the site or device for electronic transfers or physical location for cash payments. + */ + @Child(name = "location", type = {Location.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Where payment collected", formalDefinition="The location of the site or device for electronic transfers or physical location for cash payments." ) + protected Reference location; + + /** + * The means of payment such as check, card cash, or electronic funds transfer. + */ + @Child(name = "method", type = {CodeableConcept.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Payment instrument", formalDefinition="The means of payment such as check, card cash, or electronic funds transfer." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0570") + protected CodeableConcept method; + + /** + * The card brand such as debit, Visa, Amex etc. used if a card is the method of payment. + */ + @Child(name = "cardBrand", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Type of card", formalDefinition="The card brand such as debit, Visa, Amex etc. used if a card is the method of payment." ) + protected StringType cardBrand; + + /** + * A portion of the account number, often the last 4 digits, used for verification not charging purposes. + */ + @Child(name = "accountNumber", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Digits for verification", formalDefinition="A portion of the account number, often the last 4 digits, used for verification not charging purposes." ) + protected StringType accountNumber; + + /** + * The year and month (YYYY-MM) when the instrument, typically card, expires. + */ + @Child(name = "expirationDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Expiration year-month", formalDefinition="The year and month (YYYY-MM) when the instrument, typically card, expires." ) + protected DateType expirationDate; + + /** + * The name of the card processor, etf processor, bank for checks. + */ + @Child(name = "processor", type = {StringType.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Processor name", formalDefinition="The name of the card processor, etf processor, bank for checks." ) + protected StringType processor; + + /** + * The check number, eft reference, car processor reference. + */ + @Child(name = "referenceNumber", type = {StringType.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Check number or payment reference", formalDefinition="The check number, eft reference, car processor reference." ) + protected StringType referenceNumber; + + /** + * An alphanumeric issued by the processor to confirm the successful issuance of payment. + */ + @Child(name = "authorization", type = {StringType.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Authorization number", formalDefinition="An alphanumeric issued by the processor to confirm the successful issuance of payment." ) + protected StringType authorization; + + /** + * The amount offered by the issuer, typically applies to cash when the issuer provides an amount in bank note denominations equal to or excess of the amount actually being paid. + */ + @Child(name = "tenderedAmount", type = {Money.class}, order=22, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Amount offered by the issuer", formalDefinition="The amount offered by the issuer, typically applies to cash when the issuer provides an amount in bank note denominations equal to or excess of the amount actually being paid." ) + protected Money tenderedAmount; + + /** + * The amount returned by the receiver which is excess to the amount payable, often referred to as 'change'. + */ + @Child(name = "returnedAmount", type = {Money.class}, order=23, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Amount returned by the receiver", formalDefinition="The amount returned by the receiver which is excess to the amount payable, often referred to as 'change'." ) + protected Money returnedAmount; /** * Total payment amount as indicated on the financial instrument. */ - @Child(name = "paymentAmount", type = {Money.class}, order=10, min=1, max=1, modifier=false, summary=true) + @Child(name = "amount", type = {Money.class}, order=24, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Total amount of Payment", formalDefinition="Total payment amount as indicated on the financial instrument." ) - protected Money paymentAmount; + protected Money amount; /** * Issuer's unique identifier for the payment instrument. */ - @Child(name = "paymentIdentifier", type = {Identifier.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Child(name = "paymentIdentifier", type = {Identifier.class}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Business identifier for the payment", formalDefinition="Issuer's unique identifier for the payment instrument." ) protected Identifier paymentIdentifier; /** * Distribution of the payment amount for a previously acknowledged payable. */ - @Child(name = "detail", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "allocation", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Settlement particulars", formalDefinition="Distribution of the payment amount for a previously acknowledged payable." ) - protected List detail; + protected List allocation; /** * A code for the form to be used for printing the content. */ - @Child(name = "formCode", type = {CodeableConcept.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "formCode", type = {CodeableConcept.class}, order=27, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Printed form identifier", formalDefinition="A code for the form to be used for printing the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/forms") protected CodeableConcept formCode; @@ -1143,11 +1432,11 @@ public class PaymentReconciliation extends DomainResource { /** * A note that describes or explains the processing in a human readable form. */ - @Child(name = "processNote", type = {}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "processNote", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Note concerning processing", formalDefinition="A note that describes or explains the processing in a human readable form." ) protected List processNote; - private static final long serialVersionUID = 1540410902L; + private static final long serialVersionUID = 705873820L; /** * Constructor @@ -1159,12 +1448,13 @@ public class PaymentReconciliation extends DomainResource { /** * Constructor */ - public PaymentReconciliation(FinancialResourceStatusCodes status, Date created, Date paymentDate, Money paymentAmount) { + public PaymentReconciliation(CodeableConcept type, FinancialResourceStatusCodes status, Date created, Date date, Money amount) { super(); + this.setType(type); this.setStatus(status); this.setCreated(created); - this.setPaymentDate(paymentDate); - this.setPaymentAmount(paymentAmount); + this.setDate(date); + this.setAmount(amount); } /** @@ -1220,6 +1510,30 @@ public class PaymentReconciliation extends DomainResource { return getIdentifier().get(0); } + /** + * @return {@link #type} (Code to indicate the nature of the payment such as payment, adjustment.) + */ + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (Code to indicate the nature of the payment such as payment, adjustment.) + */ + public PaymentReconciliation setType(CodeableConcept value) { + this.type = value; + return this; + } + /** * @return {@link #status} (The status of the resource instance.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ @@ -1265,6 +1579,30 @@ public class PaymentReconciliation extends DomainResource { return this; } + /** + * @return {@link #kind} (The workflow or activity which gave rise to or during which the payment ocurred such as a kiosk, deposit on account, periodic payment etc.) + */ + public CodeableConcept getKind() { + if (this.kind == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.kind"); + else if (Configuration.doAutoCreate()) + this.kind = new CodeableConcept(); // cc + return this.kind; + } + + public boolean hasKind() { + return this.kind != null && !this.kind.isEmpty(); + } + + /** + * @param value {@link #kind} (The workflow or activity which gave rise to or during which the payment ocurred such as a kiosk, deposit on account, periodic payment etc.) + */ + public PaymentReconciliation setKind(CodeableConcept value) { + this.kind = value; + return this; + } + /** * @return {@link #period} (The period of time for which payments have been gathered into this bulk payment for settlement.) */ @@ -1334,6 +1672,54 @@ public class PaymentReconciliation extends DomainResource { return this; } + /** + * @return {@link #enterer} (Payment enterer if not the actual payment issuer.) + */ + public Reference getEnterer() { + if (this.enterer == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.enterer"); + else if (Configuration.doAutoCreate()) + this.enterer = new Reference(); // cc + return this.enterer; + } + + public boolean hasEnterer() { + return this.enterer != null && !this.enterer.isEmpty(); + } + + /** + * @param value {@link #enterer} (Payment enterer if not the actual payment issuer.) + */ + public PaymentReconciliation setEnterer(Reference value) { + this.enterer = value; + return this; + } + + /** + * @return {@link #issuerType} (The type of the source such as patient or insurance.) + */ + public CodeableConcept getIssuerType() { + if (this.issuerType == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.issuerType"); + else if (Configuration.doAutoCreate()) + this.issuerType = new CodeableConcept(); // cc + return this.issuerType; + } + + public boolean hasIssuerType() { + return this.issuerType != null && !this.issuerType.isEmpty(); + } + + /** + * @param value {@link #issuerType} (The type of the source such as patient or insurance.) + */ + public PaymentReconciliation setIssuerType(CodeableConcept value) { + this.issuerType = value; + return this; + } + /** * @return {@link #paymentIssuer} (The party who generated the payment.) */ @@ -1505,71 +1891,461 @@ public class PaymentReconciliation extends DomainResource { } /** - * @return {@link #paymentDate} (The date of payment as indicated on the financial instrument.). This is the underlying object with id, value and extensions. The accessor "getPaymentDate" gives direct access to the value + * @return {@link #date} (The date of payment as indicated on the financial instrument.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ - public DateType getPaymentDateElement() { - if (this.paymentDate == null) + public DateType getDateElement() { + if (this.date == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PaymentReconciliation.paymentDate"); + throw new Error("Attempt to auto-create PaymentReconciliation.date"); else if (Configuration.doAutoCreate()) - this.paymentDate = new DateType(); // bb - return this.paymentDate; + this.date = new DateType(); // bb + return this.date; } - public boolean hasPaymentDateElement() { - return this.paymentDate != null && !this.paymentDate.isEmpty(); + public boolean hasDateElement() { + return this.date != null && !this.date.isEmpty(); } - public boolean hasPaymentDate() { - return this.paymentDate != null && !this.paymentDate.isEmpty(); + public boolean hasDate() { + return this.date != null && !this.date.isEmpty(); } /** - * @param value {@link #paymentDate} (The date of payment as indicated on the financial instrument.). This is the underlying object with id, value and extensions. The accessor "getPaymentDate" gives direct access to the value + * @param value {@link #date} (The date of payment as indicated on the financial instrument.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value */ - public PaymentReconciliation setPaymentDateElement(DateType value) { - this.paymentDate = value; + public PaymentReconciliation setDateElement(DateType value) { + this.date = value; return this; } /** * @return The date of payment as indicated on the financial instrument. */ - public Date getPaymentDate() { - return this.paymentDate == null ? null : this.paymentDate.getValue(); + public Date getDate() { + return this.date == null ? null : this.date.getValue(); } /** * @param value The date of payment as indicated on the financial instrument. */ - public PaymentReconciliation setPaymentDate(Date value) { - if (this.paymentDate == null) - this.paymentDate = new DateType(); - this.paymentDate.setValue(value); + public PaymentReconciliation setDate(Date value) { + if (this.date == null) + this.date = new DateType(); + this.date.setValue(value); return this; } /** - * @return {@link #paymentAmount} (Total payment amount as indicated on the financial instrument.) + * @return {@link #location} (The location of the site or device for electronic transfers or physical location for cash payments.) */ - public Money getPaymentAmount() { - if (this.paymentAmount == null) + public Reference getLocation() { + if (this.location == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PaymentReconciliation.paymentAmount"); + throw new Error("Attempt to auto-create PaymentReconciliation.location"); else if (Configuration.doAutoCreate()) - this.paymentAmount = new Money(); // cc - return this.paymentAmount; + this.location = new Reference(); // cc + return this.location; } - public boolean hasPaymentAmount() { - return this.paymentAmount != null && !this.paymentAmount.isEmpty(); + public boolean hasLocation() { + return this.location != null && !this.location.isEmpty(); } /** - * @param value {@link #paymentAmount} (Total payment amount as indicated on the financial instrument.) + * @param value {@link #location} (The location of the site or device for electronic transfers or physical location for cash payments.) */ - public PaymentReconciliation setPaymentAmount(Money value) { - this.paymentAmount = value; + public PaymentReconciliation setLocation(Reference value) { + this.location = value; + return this; + } + + /** + * @return {@link #method} (The means of payment such as check, card cash, or electronic funds transfer.) + */ + public CodeableConcept getMethod() { + if (this.method == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.method"); + else if (Configuration.doAutoCreate()) + this.method = new CodeableConcept(); // cc + return this.method; + } + + public boolean hasMethod() { + return this.method != null && !this.method.isEmpty(); + } + + /** + * @param value {@link #method} (The means of payment such as check, card cash, or electronic funds transfer.) + */ + public PaymentReconciliation setMethod(CodeableConcept value) { + this.method = value; + return this; + } + + /** + * @return {@link #cardBrand} (The card brand such as debit, Visa, Amex etc. used if a card is the method of payment.). This is the underlying object with id, value and extensions. The accessor "getCardBrand" gives direct access to the value + */ + public StringType getCardBrandElement() { + if (this.cardBrand == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.cardBrand"); + else if (Configuration.doAutoCreate()) + this.cardBrand = new StringType(); // bb + return this.cardBrand; + } + + public boolean hasCardBrandElement() { + return this.cardBrand != null && !this.cardBrand.isEmpty(); + } + + public boolean hasCardBrand() { + return this.cardBrand != null && !this.cardBrand.isEmpty(); + } + + /** + * @param value {@link #cardBrand} (The card brand such as debit, Visa, Amex etc. used if a card is the method of payment.). This is the underlying object with id, value and extensions. The accessor "getCardBrand" gives direct access to the value + */ + public PaymentReconciliation setCardBrandElement(StringType value) { + this.cardBrand = value; + return this; + } + + /** + * @return The card brand such as debit, Visa, Amex etc. used if a card is the method of payment. + */ + public String getCardBrand() { + return this.cardBrand == null ? null : this.cardBrand.getValue(); + } + + /** + * @param value The card brand such as debit, Visa, Amex etc. used if a card is the method of payment. + */ + public PaymentReconciliation setCardBrand(String value) { + if (Utilities.noString(value)) + this.cardBrand = null; + else { + if (this.cardBrand == null) + this.cardBrand = new StringType(); + this.cardBrand.setValue(value); + } + return this; + } + + /** + * @return {@link #accountNumber} (A portion of the account number, often the last 4 digits, used for verification not charging purposes.). This is the underlying object with id, value and extensions. The accessor "getAccountNumber" gives direct access to the value + */ + public StringType getAccountNumberElement() { + if (this.accountNumber == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.accountNumber"); + else if (Configuration.doAutoCreate()) + this.accountNumber = new StringType(); // bb + return this.accountNumber; + } + + public boolean hasAccountNumberElement() { + return this.accountNumber != null && !this.accountNumber.isEmpty(); + } + + public boolean hasAccountNumber() { + return this.accountNumber != null && !this.accountNumber.isEmpty(); + } + + /** + * @param value {@link #accountNumber} (A portion of the account number, often the last 4 digits, used for verification not charging purposes.). This is the underlying object with id, value and extensions. The accessor "getAccountNumber" gives direct access to the value + */ + public PaymentReconciliation setAccountNumberElement(StringType value) { + this.accountNumber = value; + return this; + } + + /** + * @return A portion of the account number, often the last 4 digits, used for verification not charging purposes. + */ + public String getAccountNumber() { + return this.accountNumber == null ? null : this.accountNumber.getValue(); + } + + /** + * @param value A portion of the account number, often the last 4 digits, used for verification not charging purposes. + */ + public PaymentReconciliation setAccountNumber(String value) { + if (Utilities.noString(value)) + this.accountNumber = null; + else { + if (this.accountNumber == null) + this.accountNumber = new StringType(); + this.accountNumber.setValue(value); + } + return this; + } + + /** + * @return {@link #expirationDate} (The year and month (YYYY-MM) when the instrument, typically card, expires.). This is the underlying object with id, value and extensions. The accessor "getExpirationDate" gives direct access to the value + */ + public DateType getExpirationDateElement() { + if (this.expirationDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.expirationDate"); + else if (Configuration.doAutoCreate()) + this.expirationDate = new DateType(); // bb + return this.expirationDate; + } + + public boolean hasExpirationDateElement() { + return this.expirationDate != null && !this.expirationDate.isEmpty(); + } + + public boolean hasExpirationDate() { + return this.expirationDate != null && !this.expirationDate.isEmpty(); + } + + /** + * @param value {@link #expirationDate} (The year and month (YYYY-MM) when the instrument, typically card, expires.). This is the underlying object with id, value and extensions. The accessor "getExpirationDate" gives direct access to the value + */ + public PaymentReconciliation setExpirationDateElement(DateType value) { + this.expirationDate = value; + return this; + } + + /** + * @return The year and month (YYYY-MM) when the instrument, typically card, expires. + */ + public Date getExpirationDate() { + return this.expirationDate == null ? null : this.expirationDate.getValue(); + } + + /** + * @param value The year and month (YYYY-MM) when the instrument, typically card, expires. + */ + public PaymentReconciliation setExpirationDate(Date value) { + if (value == null) + this.expirationDate = null; + else { + if (this.expirationDate == null) + this.expirationDate = new DateType(); + this.expirationDate.setValue(value); + } + return this; + } + + /** + * @return {@link #processor} (The name of the card processor, etf processor, bank for checks.). This is the underlying object with id, value and extensions. The accessor "getProcessor" gives direct access to the value + */ + public StringType getProcessorElement() { + if (this.processor == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.processor"); + else if (Configuration.doAutoCreate()) + this.processor = new StringType(); // bb + return this.processor; + } + + public boolean hasProcessorElement() { + return this.processor != null && !this.processor.isEmpty(); + } + + public boolean hasProcessor() { + return this.processor != null && !this.processor.isEmpty(); + } + + /** + * @param value {@link #processor} (The name of the card processor, etf processor, bank for checks.). This is the underlying object with id, value and extensions. The accessor "getProcessor" gives direct access to the value + */ + public PaymentReconciliation setProcessorElement(StringType value) { + this.processor = value; + return this; + } + + /** + * @return The name of the card processor, etf processor, bank for checks. + */ + public String getProcessor() { + return this.processor == null ? null : this.processor.getValue(); + } + + /** + * @param value The name of the card processor, etf processor, bank for checks. + */ + public PaymentReconciliation setProcessor(String value) { + if (Utilities.noString(value)) + this.processor = null; + else { + if (this.processor == null) + this.processor = new StringType(); + this.processor.setValue(value); + } + return this; + } + + /** + * @return {@link #referenceNumber} (The check number, eft reference, car processor reference.). This is the underlying object with id, value and extensions. The accessor "getReferenceNumber" gives direct access to the value + */ + public StringType getReferenceNumberElement() { + if (this.referenceNumber == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.referenceNumber"); + else if (Configuration.doAutoCreate()) + this.referenceNumber = new StringType(); // bb + return this.referenceNumber; + } + + public boolean hasReferenceNumberElement() { + return this.referenceNumber != null && !this.referenceNumber.isEmpty(); + } + + public boolean hasReferenceNumber() { + return this.referenceNumber != null && !this.referenceNumber.isEmpty(); + } + + /** + * @param value {@link #referenceNumber} (The check number, eft reference, car processor reference.). This is the underlying object with id, value and extensions. The accessor "getReferenceNumber" gives direct access to the value + */ + public PaymentReconciliation setReferenceNumberElement(StringType value) { + this.referenceNumber = value; + return this; + } + + /** + * @return The check number, eft reference, car processor reference. + */ + public String getReferenceNumber() { + return this.referenceNumber == null ? null : this.referenceNumber.getValue(); + } + + /** + * @param value The check number, eft reference, car processor reference. + */ + public PaymentReconciliation setReferenceNumber(String value) { + if (Utilities.noString(value)) + this.referenceNumber = null; + else { + if (this.referenceNumber == null) + this.referenceNumber = new StringType(); + this.referenceNumber.setValue(value); + } + return this; + } + + /** + * @return {@link #authorization} (An alphanumeric issued by the processor to confirm the successful issuance of payment.). This is the underlying object with id, value and extensions. The accessor "getAuthorization" gives direct access to the value + */ + public StringType getAuthorizationElement() { + if (this.authorization == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.authorization"); + else if (Configuration.doAutoCreate()) + this.authorization = new StringType(); // bb + return this.authorization; + } + + public boolean hasAuthorizationElement() { + return this.authorization != null && !this.authorization.isEmpty(); + } + + public boolean hasAuthorization() { + return this.authorization != null && !this.authorization.isEmpty(); + } + + /** + * @param value {@link #authorization} (An alphanumeric issued by the processor to confirm the successful issuance of payment.). This is the underlying object with id, value and extensions. The accessor "getAuthorization" gives direct access to the value + */ + public PaymentReconciliation setAuthorizationElement(StringType value) { + this.authorization = value; + return this; + } + + /** + * @return An alphanumeric issued by the processor to confirm the successful issuance of payment. + */ + public String getAuthorization() { + return this.authorization == null ? null : this.authorization.getValue(); + } + + /** + * @param value An alphanumeric issued by the processor to confirm the successful issuance of payment. + */ + public PaymentReconciliation setAuthorization(String value) { + if (Utilities.noString(value)) + this.authorization = null; + else { + if (this.authorization == null) + this.authorization = new StringType(); + this.authorization.setValue(value); + } + return this; + } + + /** + * @return {@link #tenderedAmount} (The amount offered by the issuer, typically applies to cash when the issuer provides an amount in bank note denominations equal to or excess of the amount actually being paid.) + */ + public Money getTenderedAmount() { + if (this.tenderedAmount == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.tenderedAmount"); + else if (Configuration.doAutoCreate()) + this.tenderedAmount = new Money(); // cc + return this.tenderedAmount; + } + + public boolean hasTenderedAmount() { + return this.tenderedAmount != null && !this.tenderedAmount.isEmpty(); + } + + /** + * @param value {@link #tenderedAmount} (The amount offered by the issuer, typically applies to cash when the issuer provides an amount in bank note denominations equal to or excess of the amount actually being paid.) + */ + public PaymentReconciliation setTenderedAmount(Money value) { + this.tenderedAmount = value; + return this; + } + + /** + * @return {@link #returnedAmount} (The amount returned by the receiver which is excess to the amount payable, often referred to as 'change'.) + */ + public Money getReturnedAmount() { + if (this.returnedAmount == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.returnedAmount"); + else if (Configuration.doAutoCreate()) + this.returnedAmount = new Money(); // cc + return this.returnedAmount; + } + + public boolean hasReturnedAmount() { + return this.returnedAmount != null && !this.returnedAmount.isEmpty(); + } + + /** + * @param value {@link #returnedAmount} (The amount returned by the receiver which is excess to the amount payable, often referred to as 'change'.) + */ + public PaymentReconciliation setReturnedAmount(Money value) { + this.returnedAmount = value; + return this; + } + + /** + * @return {@link #amount} (Total payment amount as indicated on the financial instrument.) + */ + public Money getAmount() { + if (this.amount == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PaymentReconciliation.amount"); + else if (Configuration.doAutoCreate()) + this.amount = new Money(); // cc + return this.amount; + } + + public boolean hasAmount() { + return this.amount != null && !this.amount.isEmpty(); + } + + /** + * @param value {@link #amount} (Total payment amount as indicated on the financial instrument.) + */ + public PaymentReconciliation setAmount(Money value) { + this.amount = value; return this; } @@ -1598,56 +2374,56 @@ public class PaymentReconciliation extends DomainResource { } /** - * @return {@link #detail} (Distribution of the payment amount for a previously acknowledged payable.) + * @return {@link #allocation} (Distribution of the payment amount for a previously acknowledged payable.) */ - public List getDetail() { - if (this.detail == null) - this.detail = new ArrayList(); - return this.detail; + public List getAllocation() { + if (this.allocation == null) + this.allocation = new ArrayList(); + return this.allocation; } /** * @return Returns a reference to this for easy method chaining */ - public PaymentReconciliation setDetail(List theDetail) { - this.detail = theDetail; + public PaymentReconciliation setAllocation(List theAllocation) { + this.allocation = theAllocation; return this; } - public boolean hasDetail() { - if (this.detail == null) + public boolean hasAllocation() { + if (this.allocation == null) return false; - for (DetailsComponent item : this.detail) + for (PaymentReconciliationAllocationComponent item : this.allocation) if (!item.isEmpty()) return true; return false; } - public DetailsComponent addDetail() { //3 - DetailsComponent t = new DetailsComponent(); - if (this.detail == null) - this.detail = new ArrayList(); - this.detail.add(t); + public PaymentReconciliationAllocationComponent addAllocation() { //3 + PaymentReconciliationAllocationComponent t = new PaymentReconciliationAllocationComponent(); + if (this.allocation == null) + this.allocation = new ArrayList(); + this.allocation.add(t); return t; } - public PaymentReconciliation addDetail(DetailsComponent t) { //3 + public PaymentReconciliation addAllocation(PaymentReconciliationAllocationComponent t) { //3 if (t == null) return this; - if (this.detail == null) - this.detail = new ArrayList(); - this.detail.add(t); + if (this.allocation == null) + this.allocation = new ArrayList(); + this.allocation.add(t); return this; } /** - * @return The first repetition of repeating field {@link #detail}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #allocation}, creating it if it does not already exist {3} */ - public DetailsComponent getDetailFirstRep() { - if (getDetail().isEmpty()) { - addDetail(); + public PaymentReconciliationAllocationComponent getAllocationFirstRep() { + if (getAllocation().isEmpty()) { + addAllocation(); } - return getDetail().get(0); + return getAllocation().get(0); } /** @@ -1730,18 +2506,32 @@ public class PaymentReconciliation extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "A unique identifier assigned to this payment reconciliation.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("type", "CodeableConcept", "Code to indicate the nature of the payment such as payment, adjustment.", 0, 1, type)); children.add(new Property("status", "code", "The status of the resource instance.", 0, 1, status)); + children.add(new Property("kind", "CodeableConcept", "The workflow or activity which gave rise to or during which the payment ocurred such as a kiosk, deposit on account, periodic payment etc.", 0, 1, kind)); children.add(new Property("period", "Period", "The period of time for which payments have been gathered into this bulk payment for settlement.", 0, 1, period)); children.add(new Property("created", "dateTime", "The date when the resource was created.", 0, 1, created)); - children.add(new Property("paymentIssuer", "Reference(Organization)", "The party who generated the payment.", 0, 1, paymentIssuer)); + children.add(new Property("enterer", "Reference(Practitioner|PractitionerRole|Organization)", "Payment enterer if not the actual payment issuer.", 0, 1, enterer)); + children.add(new Property("issuerType", "CodeableConcept", "The type of the source such as patient or insurance.", 0, 1, issuerType)); + children.add(new Property("paymentIssuer", "Reference(Organization|Patient|Person|RelatedPerson)", "The party who generated the payment.", 0, 1, paymentIssuer)); children.add(new Property("request", "Reference(Task)", "Original request resource reference.", 0, 1, request)); children.add(new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The practitioner who is responsible for the services rendered to the patient.", 0, 1, requestor)); children.add(new Property("outcome", "code", "The outcome of a request for a reconciliation.", 0, 1, outcome)); children.add(new Property("disposition", "string", "A human readable description of the status of the request for the reconciliation.", 0, 1, disposition)); - children.add(new Property("paymentDate", "date", "The date of payment as indicated on the financial instrument.", 0, 1, paymentDate)); - children.add(new Property("paymentAmount", "Money", "Total payment amount as indicated on the financial instrument.", 0, 1, paymentAmount)); + children.add(new Property("date", "date", "The date of payment as indicated on the financial instrument.", 0, 1, date)); + children.add(new Property("location", "Reference(Location)", "The location of the site or device for electronic transfers or physical location for cash payments.", 0, 1, location)); + children.add(new Property("method", "CodeableConcept", "The means of payment such as check, card cash, or electronic funds transfer.", 0, 1, method)); + children.add(new Property("cardBrand", "string", "The card brand such as debit, Visa, Amex etc. used if a card is the method of payment.", 0, 1, cardBrand)); + children.add(new Property("accountNumber", "string", "A portion of the account number, often the last 4 digits, used for verification not charging purposes.", 0, 1, accountNumber)); + children.add(new Property("expirationDate", "date", "The year and month (YYYY-MM) when the instrument, typically card, expires.", 0, 1, expirationDate)); + children.add(new Property("processor", "string", "The name of the card processor, etf processor, bank for checks.", 0, 1, processor)); + children.add(new Property("referenceNumber", "string", "The check number, eft reference, car processor reference.", 0, 1, referenceNumber)); + children.add(new Property("authorization", "string", "An alphanumeric issued by the processor to confirm the successful issuance of payment.", 0, 1, authorization)); + children.add(new Property("tenderedAmount", "Money", "The amount offered by the issuer, typically applies to cash when the issuer provides an amount in bank note denominations equal to or excess of the amount actually being paid.", 0, 1, tenderedAmount)); + children.add(new Property("returnedAmount", "Money", "The amount returned by the receiver which is excess to the amount payable, often referred to as 'change'.", 0, 1, returnedAmount)); + children.add(new Property("amount", "Money", "Total payment amount as indicated on the financial instrument.", 0, 1, amount)); children.add(new Property("paymentIdentifier", "Identifier", "Issuer's unique identifier for the payment instrument.", 0, 1, paymentIdentifier)); - children.add(new Property("detail", "", "Distribution of the payment amount for a previously acknowledged payable.", 0, java.lang.Integer.MAX_VALUE, detail)); + children.add(new Property("allocation", "", "Distribution of the payment amount for a previously acknowledged payable.", 0, java.lang.Integer.MAX_VALUE, allocation)); children.add(new Property("formCode", "CodeableConcept", "A code for the form to be used for printing the content.", 0, 1, formCode)); children.add(new Property("processNote", "", "A note that describes or explains the processing in a human readable form.", 0, java.lang.Integer.MAX_VALUE, processNote)); } @@ -1750,18 +2540,32 @@ public class PaymentReconciliation extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A unique identifier assigned to this payment reconciliation.", 0, java.lang.Integer.MAX_VALUE, identifier); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Code to indicate the nature of the payment such as payment, adjustment.", 0, 1, type); case -892481550: /*status*/ return new Property("status", "code", "The status of the resource instance.", 0, 1, status); + case 3292052: /*kind*/ return new Property("kind", "CodeableConcept", "The workflow or activity which gave rise to or during which the payment ocurred such as a kiosk, deposit on account, periodic payment etc.", 0, 1, kind); case -991726143: /*period*/ return new Property("period", "Period", "The period of time for which payments have been gathered into this bulk payment for settlement.", 0, 1, period); case 1028554472: /*created*/ return new Property("created", "dateTime", "The date when the resource was created.", 0, 1, created); - case 1144026207: /*paymentIssuer*/ return new Property("paymentIssuer", "Reference(Organization)", "The party who generated the payment.", 0, 1, paymentIssuer); + case -1591951995: /*enterer*/ return new Property("enterer", "Reference(Practitioner|PractitionerRole|Organization)", "Payment enterer if not the actual payment issuer.", 0, 1, enterer); + case 1459974547: /*issuerType*/ return new Property("issuerType", "CodeableConcept", "The type of the source such as patient or insurance.", 0, 1, issuerType); + case 1144026207: /*paymentIssuer*/ return new Property("paymentIssuer", "Reference(Organization|Patient|Person|RelatedPerson)", "The party who generated the payment.", 0, 1, paymentIssuer); case 1095692943: /*request*/ return new Property("request", "Reference(Task)", "Original request resource reference.", 0, 1, request); case 693934258: /*requestor*/ return new Property("requestor", "Reference(Practitioner|PractitionerRole|Organization)", "The practitioner who is responsible for the services rendered to the patient.", 0, 1, requestor); case -1106507950: /*outcome*/ return new Property("outcome", "code", "The outcome of a request for a reconciliation.", 0, 1, outcome); case 583380919: /*disposition*/ return new Property("disposition", "string", "A human readable description of the status of the request for the reconciliation.", 0, 1, disposition); - case -1540873516: /*paymentDate*/ return new Property("paymentDate", "date", "The date of payment as indicated on the financial instrument.", 0, 1, paymentDate); - case 909332990: /*paymentAmount*/ return new Property("paymentAmount", "Money", "Total payment amount as indicated on the financial instrument.", 0, 1, paymentAmount); + case 3076014: /*date*/ return new Property("date", "date", "The date of payment as indicated on the financial instrument.", 0, 1, date); + case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location of the site or device for electronic transfers or physical location for cash payments.", 0, 1, location); + case -1077554975: /*method*/ return new Property("method", "CodeableConcept", "The means of payment such as check, card cash, or electronic funds transfer.", 0, 1, method); + case -271889833: /*cardBrand*/ return new Property("cardBrand", "string", "The card brand such as debit, Visa, Amex etc. used if a card is the method of payment.", 0, 1, cardBrand); + case -1011205162: /*accountNumber*/ return new Property("accountNumber", "string", "A portion of the account number, often the last 4 digits, used for verification not charging purposes.", 0, 1, accountNumber); + case -668811523: /*expirationDate*/ return new Property("expirationDate", "date", "The year and month (YYYY-MM) when the instrument, typically card, expires.", 0, 1, expirationDate); + case -1094759278: /*processor*/ return new Property("processor", "string", "The name of the card processor, etf processor, bank for checks.", 0, 1, processor); + case 744563316: /*referenceNumber*/ return new Property("referenceNumber", "string", "The check number, eft reference, car processor reference.", 0, 1, referenceNumber); + case -1385570183: /*authorization*/ return new Property("authorization", "string", "An alphanumeric issued by the processor to confirm the successful issuance of payment.", 0, 1, authorization); + case 1815344299: /*tenderedAmount*/ return new Property("tenderedAmount", "Money", "The amount offered by the issuer, typically applies to cash when the issuer provides an amount in bank note denominations equal to or excess of the amount actually being paid.", 0, 1, tenderedAmount); + case -797236473: /*returnedAmount*/ return new Property("returnedAmount", "Money", "The amount returned by the receiver which is excess to the amount payable, often referred to as 'change'.", 0, 1, returnedAmount); + case -1413853096: /*amount*/ return new Property("amount", "Money", "Total payment amount as indicated on the financial instrument.", 0, 1, amount); case 1555852111: /*paymentIdentifier*/ return new Property("paymentIdentifier", "Identifier", "Issuer's unique identifier for the payment instrument.", 0, 1, paymentIdentifier); - case -1335224239: /*detail*/ return new Property("detail", "", "Distribution of the payment amount for a previously acknowledged payable.", 0, java.lang.Integer.MAX_VALUE, detail); + case -1912450848: /*allocation*/ return new Property("allocation", "", "Distribution of the payment amount for a previously acknowledged payable.", 0, java.lang.Integer.MAX_VALUE, allocation); case 473181393: /*formCode*/ return new Property("formCode", "CodeableConcept", "A code for the form to be used for printing the content.", 0, 1, formCode); case 202339073: /*processNote*/ return new Property("processNote", "", "A note that describes or explains the processing in a human readable form.", 0, java.lang.Integer.MAX_VALUE, processNote); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1773,18 +2577,32 @@ public class PaymentReconciliation extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // CodeableConcept case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period case 1028554472: /*created*/ return this.created == null ? new Base[0] : new Base[] {this.created}; // DateTimeType + case -1591951995: /*enterer*/ return this.enterer == null ? new Base[0] : new Base[] {this.enterer}; // Reference + case 1459974547: /*issuerType*/ return this.issuerType == null ? new Base[0] : new Base[] {this.issuerType}; // CodeableConcept case 1144026207: /*paymentIssuer*/ return this.paymentIssuer == null ? new Base[0] : new Base[] {this.paymentIssuer}; // Reference case 1095692943: /*request*/ return this.request == null ? new Base[0] : new Base[] {this.request}; // Reference case 693934258: /*requestor*/ return this.requestor == null ? new Base[0] : new Base[] {this.requestor}; // Reference case -1106507950: /*outcome*/ return this.outcome == null ? new Base[0] : new Base[] {this.outcome}; // Enumeration case 583380919: /*disposition*/ return this.disposition == null ? new Base[0] : new Base[] {this.disposition}; // StringType - case -1540873516: /*paymentDate*/ return this.paymentDate == null ? new Base[0] : new Base[] {this.paymentDate}; // DateType - case 909332990: /*paymentAmount*/ return this.paymentAmount == null ? new Base[0] : new Base[] {this.paymentAmount}; // Money + case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateType + case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference + case -1077554975: /*method*/ return this.method == null ? new Base[0] : new Base[] {this.method}; // CodeableConcept + case -271889833: /*cardBrand*/ return this.cardBrand == null ? new Base[0] : new Base[] {this.cardBrand}; // StringType + case -1011205162: /*accountNumber*/ return this.accountNumber == null ? new Base[0] : new Base[] {this.accountNumber}; // StringType + case -668811523: /*expirationDate*/ return this.expirationDate == null ? new Base[0] : new Base[] {this.expirationDate}; // DateType + case -1094759278: /*processor*/ return this.processor == null ? new Base[0] : new Base[] {this.processor}; // StringType + case 744563316: /*referenceNumber*/ return this.referenceNumber == null ? new Base[0] : new Base[] {this.referenceNumber}; // StringType + case -1385570183: /*authorization*/ return this.authorization == null ? new Base[0] : new Base[] {this.authorization}; // StringType + case 1815344299: /*tenderedAmount*/ return this.tenderedAmount == null ? new Base[0] : new Base[] {this.tenderedAmount}; // Money + case -797236473: /*returnedAmount*/ return this.returnedAmount == null ? new Base[0] : new Base[] {this.returnedAmount}; // Money + case -1413853096: /*amount*/ return this.amount == null ? new Base[0] : new Base[] {this.amount}; // Money case 1555852111: /*paymentIdentifier*/ return this.paymentIdentifier == null ? new Base[0] : new Base[] {this.paymentIdentifier}; // Identifier - case -1335224239: /*detail*/ return this.detail == null ? new Base[0] : this.detail.toArray(new Base[this.detail.size()]); // DetailsComponent + case -1912450848: /*allocation*/ return this.allocation == null ? new Base[0] : this.allocation.toArray(new Base[this.allocation.size()]); // PaymentReconciliationAllocationComponent case 473181393: /*formCode*/ return this.formCode == null ? new Base[0] : new Base[] {this.formCode}; // CodeableConcept case 202339073: /*processNote*/ return this.processNote == null ? new Base[0] : this.processNote.toArray(new Base[this.processNote.size()]); // NotesComponent default: return super.getProperty(hash, name, checkValid); @@ -1798,16 +2616,28 @@ public class PaymentReconciliation extends DomainResource { case -1618432855: // identifier this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier return value; + case 3575610: // type + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -892481550: // status value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration return value; + case 3292052: // kind + this.kind = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case -991726143: // period this.period = TypeConvertor.castToPeriod(value); // Period return value; case 1028554472: // created this.created = TypeConvertor.castToDateTime(value); // DateTimeType return value; + case -1591951995: // enterer + this.enterer = TypeConvertor.castToReference(value); // Reference + return value; + case 1459974547: // issuerType + this.issuerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; case 1144026207: // paymentIssuer this.paymentIssuer = TypeConvertor.castToReference(value); // Reference return value; @@ -1824,17 +2654,47 @@ public class PaymentReconciliation extends DomainResource { case 583380919: // disposition this.disposition = TypeConvertor.castToString(value); // StringType return value; - case -1540873516: // paymentDate - this.paymentDate = TypeConvertor.castToDate(value); // DateType + case 3076014: // date + this.date = TypeConvertor.castToDate(value); // DateType return value; - case 909332990: // paymentAmount - this.paymentAmount = TypeConvertor.castToMoney(value); // Money + case 1901043637: // location + this.location = TypeConvertor.castToReference(value); // Reference + return value; + case -1077554975: // method + this.method = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -271889833: // cardBrand + this.cardBrand = TypeConvertor.castToString(value); // StringType + return value; + case -1011205162: // accountNumber + this.accountNumber = TypeConvertor.castToString(value); // StringType + return value; + case -668811523: // expirationDate + this.expirationDate = TypeConvertor.castToDate(value); // DateType + return value; + case -1094759278: // processor + this.processor = TypeConvertor.castToString(value); // StringType + return value; + case 744563316: // referenceNumber + this.referenceNumber = TypeConvertor.castToString(value); // StringType + return value; + case -1385570183: // authorization + this.authorization = TypeConvertor.castToString(value); // StringType + return value; + case 1815344299: // tenderedAmount + this.tenderedAmount = TypeConvertor.castToMoney(value); // Money + return value; + case -797236473: // returnedAmount + this.returnedAmount = TypeConvertor.castToMoney(value); // Money + return value; + case -1413853096: // amount + this.amount = TypeConvertor.castToMoney(value); // Money return value; case 1555852111: // paymentIdentifier this.paymentIdentifier = TypeConvertor.castToIdentifier(value); // Identifier return value; - case -1335224239: // detail - this.getDetail().add((DetailsComponent) value); // DetailsComponent + case -1912450848: // allocation + this.getAllocation().add((PaymentReconciliationAllocationComponent) value); // PaymentReconciliationAllocationComponent return value; case 473181393: // formCode this.formCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -1851,13 +2711,21 @@ public class PaymentReconciliation extends DomainResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("identifier")) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("status")) { value = new FinancialResourceStatusCodesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration + } else if (name.equals("kind")) { + this.kind = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("period")) { this.period = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("created")) { this.created = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("enterer")) { + this.enterer = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("issuerType")) { + this.issuerType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("paymentIssuer")) { this.paymentIssuer = TypeConvertor.castToReference(value); // Reference } else if (name.equals("request")) { @@ -1869,14 +2737,34 @@ public class PaymentReconciliation extends DomainResource { this.outcome = (Enumeration) value; // Enumeration } else if (name.equals("disposition")) { this.disposition = TypeConvertor.castToString(value); // StringType - } else if (name.equals("paymentDate")) { - this.paymentDate = TypeConvertor.castToDate(value); // DateType - } else if (name.equals("paymentAmount")) { - this.paymentAmount = TypeConvertor.castToMoney(value); // Money + } else if (name.equals("date")) { + this.date = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("location")) { + this.location = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("method")) { + this.method = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("cardBrand")) { + this.cardBrand = TypeConvertor.castToString(value); // StringType + } else if (name.equals("accountNumber")) { + this.accountNumber = TypeConvertor.castToString(value); // StringType + } else if (name.equals("expirationDate")) { + this.expirationDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("processor")) { + this.processor = TypeConvertor.castToString(value); // StringType + } else if (name.equals("referenceNumber")) { + this.referenceNumber = TypeConvertor.castToString(value); // StringType + } else if (name.equals("authorization")) { + this.authorization = TypeConvertor.castToString(value); // StringType + } else if (name.equals("tenderedAmount")) { + this.tenderedAmount = TypeConvertor.castToMoney(value); // Money + } else if (name.equals("returnedAmount")) { + this.returnedAmount = TypeConvertor.castToMoney(value); // Money + } else if (name.equals("amount")) { + this.amount = TypeConvertor.castToMoney(value); // Money } else if (name.equals("paymentIdentifier")) { this.paymentIdentifier = TypeConvertor.castToIdentifier(value); // Identifier - } else if (name.equals("detail")) { - this.getDetail().add((DetailsComponent) value); + } else if (name.equals("allocation")) { + this.getAllocation().add((PaymentReconciliationAllocationComponent) value); } else if (name.equals("formCode")) { this.formCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("processNote")) { @@ -1890,18 +2778,32 @@ public class PaymentReconciliation extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: return addIdentifier(); + case 3575610: return getType(); case -892481550: return getStatusElement(); + case 3292052: return getKind(); case -991726143: return getPeriod(); case 1028554472: return getCreatedElement(); + case -1591951995: return getEnterer(); + case 1459974547: return getIssuerType(); case 1144026207: return getPaymentIssuer(); case 1095692943: return getRequest(); case 693934258: return getRequestor(); case -1106507950: return getOutcomeElement(); case 583380919: return getDispositionElement(); - case -1540873516: return getPaymentDateElement(); - case 909332990: return getPaymentAmount(); + case 3076014: return getDateElement(); + case 1901043637: return getLocation(); + case -1077554975: return getMethod(); + case -271889833: return getCardBrandElement(); + case -1011205162: return getAccountNumberElement(); + case -668811523: return getExpirationDateElement(); + case -1094759278: return getProcessorElement(); + case 744563316: return getReferenceNumberElement(); + case -1385570183: return getAuthorizationElement(); + case 1815344299: return getTenderedAmount(); + case -797236473: return getReturnedAmount(); + case -1413853096: return getAmount(); case 1555852111: return getPaymentIdentifier(); - case -1335224239: return addDetail(); + case -1912450848: return addAllocation(); case 473181393: return getFormCode(); case 202339073: return addProcessNote(); default: return super.makeProperty(hash, name); @@ -1913,18 +2815,32 @@ public class PaymentReconciliation extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; case -892481550: /*status*/ return new String[] {"code"}; + case 3292052: /*kind*/ return new String[] {"CodeableConcept"}; case -991726143: /*period*/ return new String[] {"Period"}; case 1028554472: /*created*/ return new String[] {"dateTime"}; + case -1591951995: /*enterer*/ return new String[] {"Reference"}; + case 1459974547: /*issuerType*/ return new String[] {"CodeableConcept"}; case 1144026207: /*paymentIssuer*/ return new String[] {"Reference"}; case 1095692943: /*request*/ return new String[] {"Reference"}; case 693934258: /*requestor*/ return new String[] {"Reference"}; case -1106507950: /*outcome*/ return new String[] {"code"}; case 583380919: /*disposition*/ return new String[] {"string"}; - case -1540873516: /*paymentDate*/ return new String[] {"date"}; - case 909332990: /*paymentAmount*/ return new String[] {"Money"}; + case 3076014: /*date*/ return new String[] {"date"}; + case 1901043637: /*location*/ return new String[] {"Reference"}; + case -1077554975: /*method*/ return new String[] {"CodeableConcept"}; + case -271889833: /*cardBrand*/ return new String[] {"string"}; + case -1011205162: /*accountNumber*/ return new String[] {"string"}; + case -668811523: /*expirationDate*/ return new String[] {"date"}; + case -1094759278: /*processor*/ return new String[] {"string"}; + case 744563316: /*referenceNumber*/ return new String[] {"string"}; + case -1385570183: /*authorization*/ return new String[] {"string"}; + case 1815344299: /*tenderedAmount*/ return new String[] {"Money"}; + case -797236473: /*returnedAmount*/ return new String[] {"Money"}; + case -1413853096: /*amount*/ return new String[] {"Money"}; case 1555852111: /*paymentIdentifier*/ return new String[] {"Identifier"}; - case -1335224239: /*detail*/ return new String[] {}; + case -1912450848: /*allocation*/ return new String[] {}; case 473181393: /*formCode*/ return new String[] {"CodeableConcept"}; case 202339073: /*processNote*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); @@ -1937,9 +2853,17 @@ public class PaymentReconciliation extends DomainResource { if (name.equals("identifier")) { return addIdentifier(); } + else if (name.equals("type")) { + this.type = new CodeableConcept(); + return this.type; + } else if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.status"); } + else if (name.equals("kind")) { + this.kind = new CodeableConcept(); + return this.kind; + } else if (name.equals("period")) { this.period = new Period(); return this.period; @@ -1947,6 +2871,14 @@ public class PaymentReconciliation extends DomainResource { else if (name.equals("created")) { throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.created"); } + else if (name.equals("enterer")) { + this.enterer = new Reference(); + return this.enterer; + } + else if (name.equals("issuerType")) { + this.issuerType = new CodeableConcept(); + return this.issuerType; + } else if (name.equals("paymentIssuer")) { this.paymentIssuer = new Reference(); return this.paymentIssuer; @@ -1965,19 +2897,53 @@ public class PaymentReconciliation extends DomainResource { else if (name.equals("disposition")) { throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.disposition"); } - else if (name.equals("paymentDate")) { - throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.paymentDate"); + else if (name.equals("date")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.date"); } - else if (name.equals("paymentAmount")) { - this.paymentAmount = new Money(); - return this.paymentAmount; + else if (name.equals("location")) { + this.location = new Reference(); + return this.location; + } + else if (name.equals("method")) { + this.method = new CodeableConcept(); + return this.method; + } + else if (name.equals("cardBrand")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.cardBrand"); + } + else if (name.equals("accountNumber")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.accountNumber"); + } + else if (name.equals("expirationDate")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.expirationDate"); + } + else if (name.equals("processor")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.processor"); + } + else if (name.equals("referenceNumber")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.referenceNumber"); + } + else if (name.equals("authorization")) { + throw new FHIRException("Cannot call addChild on a primitive type PaymentReconciliation.authorization"); + } + else if (name.equals("tenderedAmount")) { + this.tenderedAmount = new Money(); + return this.tenderedAmount; + } + else if (name.equals("returnedAmount")) { + this.returnedAmount = new Money(); + return this.returnedAmount; + } + else if (name.equals("amount")) { + this.amount = new Money(); + return this.amount; } else if (name.equals("paymentIdentifier")) { this.paymentIdentifier = new Identifier(); return this.paymentIdentifier; } - else if (name.equals("detail")) { - return addDetail(); + else if (name.equals("allocation")) { + return addAllocation(); } else if (name.equals("formCode")) { this.formCode = new CodeableConcept(); @@ -2008,21 +2974,35 @@ public class PaymentReconciliation extends DomainResource { for (Identifier i : identifier) dst.identifier.add(i.copy()); }; + dst.type = type == null ? null : type.copy(); dst.status = status == null ? null : status.copy(); + dst.kind = kind == null ? null : kind.copy(); dst.period = period == null ? null : period.copy(); dst.created = created == null ? null : created.copy(); + dst.enterer = enterer == null ? null : enterer.copy(); + dst.issuerType = issuerType == null ? null : issuerType.copy(); dst.paymentIssuer = paymentIssuer == null ? null : paymentIssuer.copy(); dst.request = request == null ? null : request.copy(); dst.requestor = requestor == null ? null : requestor.copy(); dst.outcome = outcome == null ? null : outcome.copy(); dst.disposition = disposition == null ? null : disposition.copy(); - dst.paymentDate = paymentDate == null ? null : paymentDate.copy(); - dst.paymentAmount = paymentAmount == null ? null : paymentAmount.copy(); + dst.date = date == null ? null : date.copy(); + dst.location = location == null ? null : location.copy(); + dst.method = method == null ? null : method.copy(); + dst.cardBrand = cardBrand == null ? null : cardBrand.copy(); + dst.accountNumber = accountNumber == null ? null : accountNumber.copy(); + dst.expirationDate = expirationDate == null ? null : expirationDate.copy(); + dst.processor = processor == null ? null : processor.copy(); + dst.referenceNumber = referenceNumber == null ? null : referenceNumber.copy(); + dst.authorization = authorization == null ? null : authorization.copy(); + dst.tenderedAmount = tenderedAmount == null ? null : tenderedAmount.copy(); + dst.returnedAmount = returnedAmount == null ? null : returnedAmount.copy(); + dst.amount = amount == null ? null : amount.copy(); dst.paymentIdentifier = paymentIdentifier == null ? null : paymentIdentifier.copy(); - if (detail != null) { - dst.detail = new ArrayList(); - for (DetailsComponent i : detail) - dst.detail.add(i.copy()); + if (allocation != null) { + dst.allocation = new ArrayList(); + for (PaymentReconciliationAllocationComponent i : allocation) + dst.allocation.add(i.copy()); }; dst.formCode = formCode == null ? null : formCode.copy(); if (processNote != null) { @@ -2043,12 +3023,18 @@ public class PaymentReconciliation extends DomainResource { if (!(other_ instanceof PaymentReconciliation)) return false; PaymentReconciliation o = (PaymentReconciliation) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(status, o.status, true) && compareDeep(period, o.period, true) - && compareDeep(created, o.created, true) && compareDeep(paymentIssuer, o.paymentIssuer, true) && compareDeep(request, o.request, true) - && compareDeep(requestor, o.requestor, true) && compareDeep(outcome, o.outcome, true) && compareDeep(disposition, o.disposition, true) - && compareDeep(paymentDate, o.paymentDate, true) && compareDeep(paymentAmount, o.paymentAmount, true) - && compareDeep(paymentIdentifier, o.paymentIdentifier, true) && compareDeep(detail, o.detail, true) - && compareDeep(formCode, o.formCode, true) && compareDeep(processNote, o.processNote, true); + return compareDeep(identifier, o.identifier, true) && compareDeep(type, o.type, true) && compareDeep(status, o.status, true) + && compareDeep(kind, o.kind, true) && compareDeep(period, o.period, true) && compareDeep(created, o.created, true) + && compareDeep(enterer, o.enterer, true) && compareDeep(issuerType, o.issuerType, true) && compareDeep(paymentIssuer, o.paymentIssuer, true) + && compareDeep(request, o.request, true) && compareDeep(requestor, o.requestor, true) && compareDeep(outcome, o.outcome, true) + && compareDeep(disposition, o.disposition, true) && compareDeep(date, o.date, true) && compareDeep(location, o.location, true) + && compareDeep(method, o.method, true) && compareDeep(cardBrand, o.cardBrand, true) && compareDeep(accountNumber, o.accountNumber, true) + && compareDeep(expirationDate, o.expirationDate, true) && compareDeep(processor, o.processor, true) + && compareDeep(referenceNumber, o.referenceNumber, true) && compareDeep(authorization, o.authorization, true) + && compareDeep(tenderedAmount, o.tenderedAmount, true) && compareDeep(returnedAmount, o.returnedAmount, true) + && compareDeep(amount, o.amount, true) && compareDeep(paymentIdentifier, o.paymentIdentifier, true) + && compareDeep(allocation, o.allocation, true) && compareDeep(formCode, o.formCode, true) && compareDeep(processNote, o.processNote, true) + ; } @Override @@ -2059,14 +3045,18 @@ public class PaymentReconciliation extends DomainResource { return false; PaymentReconciliation o = (PaymentReconciliation) other_; return compareValues(status, o.status, true) && compareValues(created, o.created, true) && compareValues(outcome, o.outcome, true) - && compareValues(disposition, o.disposition, true) && compareValues(paymentDate, o.paymentDate, true) - ; + && compareValues(disposition, o.disposition, true) && compareValues(date, o.date, true) && compareValues(cardBrand, o.cardBrand, true) + && compareValues(accountNumber, o.accountNumber, true) && compareValues(expirationDate, o.expirationDate, true) + && compareValues(processor, o.processor, true) && compareValues(referenceNumber, o.referenceNumber, true) + && compareValues(authorization, o.authorization, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, status, period - , created, paymentIssuer, request, requestor, outcome, disposition, paymentDate - , paymentAmount, paymentIdentifier, detail, formCode, processNote); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, type, status + , kind, period, created, enterer, issuerType, paymentIssuer, request, requestor + , outcome, disposition, date, location, method, cardBrand, accountNumber, expirationDate + , processor, referenceNumber, authorization, tenderedAmount, returnedAmount, amount + , paymentIdentifier, allocation, formCode, processNote); } @Override @@ -2074,6 +3064,58 @@ public class PaymentReconciliation extends DomainResource { return ResourceType.PaymentReconciliation; } + /** + * Search parameter: allocation-account + *

+ * Description: The account to which payment or adjustment was applied.
+ * Type: reference
+ * Path: PaymentReconciliation.allocation.account
+ *

+ */ + @SearchParamDefinition(name="allocation-account", path="PaymentReconciliation.allocation.account", description="The account to which payment or adjustment was applied.", type="reference", target={Account.class } ) + public static final String SP_ALLOCATION_ACCOUNT = "allocation-account"; + /** + * Fluent Client search parameter constant for allocation-account + *

+ * Description: The account to which payment or adjustment was applied.
+ * Type: reference
+ * Path: PaymentReconciliation.allocation.account
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ALLOCATION_ACCOUNT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ALLOCATION_ACCOUNT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "PaymentReconciliation:allocation-account". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_ALLOCATION_ACCOUNT = new ca.uhn.fhir.model.api.Include("PaymentReconciliation:allocation-account").toLocked(); + + /** + * Search parameter: allocation-encounter + *

+ * Description: The encounter to which payment or adjustment was applied.
+ * Type: reference
+ * Path: PaymentReconciliation.allocation.encounter
+ *

+ */ + @SearchParamDefinition(name="allocation-encounter", path="PaymentReconciliation.allocation.encounter", description="The encounter to which payment or adjustment was applied.", type="reference", target={Encounter.class } ) + public static final String SP_ALLOCATION_ENCOUNTER = "allocation-encounter"; + /** + * Fluent Client search parameter constant for allocation-encounter + *

+ * Description: The encounter to which payment or adjustment was applied.
+ * Type: reference
+ * Path: PaymentReconciliation.allocation.encounter
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ALLOCATION_ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ALLOCATION_ENCOUNTER); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "PaymentReconciliation:allocation-encounter". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_ALLOCATION_ENCOUNTER = new ca.uhn.fhir.model.api.Include("PaymentReconciliation:allocation-encounter").toLocked(); + /** * Search parameter: created *

@@ -2162,7 +3204,7 @@ public class PaymentReconciliation extends DomainResource { * Path: PaymentReconciliation.paymentIssuer
*

*/ - @SearchParamDefinition(name="payment-issuer", path="PaymentReconciliation.paymentIssuer", description="The organization which generated this resource", type="reference", target={Organization.class } ) + @SearchParamDefinition(name="payment-issuer", path="PaymentReconciliation.paymentIssuer", description="The organization which generated this resource", type="reference", target={Organization.class, Patient.class, Person.class, RelatedPerson.class } ) public static final String SP_PAYMENT_ISSUER = "payment-issuer"; /** * Fluent Client search parameter constant for payment-issuer diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Period.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Period.java index ce294534b..20757427a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Period.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Period.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Block; import ca.uhn.fhir.model.api.TemporalPrecisionEnum; /** - * Base StructureDefinition for Period Type: A time period defined by a start and end date and optionally time. + * Period Type: A time period defined by a start and end date and optionally time. */ @DatatypeDef(name="Period") public class Period extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Permission.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Permission.java index e354257bd..735546afa 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Permission.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Permission.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,11 +48,171 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Permission. + * Permission resource holds access rules for a given data and context. */ @ResourceDef(name="Permission", profile="http://hl7.org/fhir/StructureDefinition/Permission") public class Permission extends DomainResource { + public enum PermissionRuleCombining { + /** + * The deny overrides combining algorithm is intended for those cases where a deny decision should have priority over a permit decision. + */ + DENYOVERRIDES, + /** + * The permit overrides combining algorithm is intended for those cases where a permit decision should have priority over a deny decision. + */ + PERMITOVERRIDES, + /** + * The behavior of this algorithm is identical to that of the “Deny-overrides” rule-combining algorithm with one exception. The order in which the collection of rules is evaluated SHALL match the order as listed in the permission. + */ + ORDEREDDENYOVERRIDES, + /** + * The behavior of this algorithm is identical to that of the “Permit-overrides” rule-combining algorithm with one exception. The order in which the collection of rules is evaluated SHALL match the order as listed in the permission. + */ + ORDEREDPERMITOVERRIDES, + /** + * The “Deny-unless-permit” combining algorithm is intended for those cases where a permit decision should have priority over a deny decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result. + */ + DENYUNLESSPERMIT, + /** + * The “Permit-unless-deny” combining algorithm is intended for those cases where a deny decision should have priority over a permit decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result. This algorithm has the following behavior. + */ + PERMITUNLESSDENY, + /** + * added to help the parsers with the generic types + */ + NULL; + public static PermissionRuleCombining fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("deny-overrides".equals(codeString)) + return DENYOVERRIDES; + if ("permit-overrides".equals(codeString)) + return PERMITOVERRIDES; + if ("ordered-deny-overrides".equals(codeString)) + return ORDEREDDENYOVERRIDES; + if ("ordered-permit-overrides".equals(codeString)) + return ORDEREDPERMITOVERRIDES; + if ("deny-unless-permit".equals(codeString)) + return DENYUNLESSPERMIT; + if ("permit-unless-deny".equals(codeString)) + return PERMITUNLESSDENY; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown PermissionRuleCombining code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case DENYOVERRIDES: return "deny-overrides"; + case PERMITOVERRIDES: return "permit-overrides"; + case ORDEREDDENYOVERRIDES: return "ordered-deny-overrides"; + case ORDEREDPERMITOVERRIDES: return "ordered-permit-overrides"; + case DENYUNLESSPERMIT: return "deny-unless-permit"; + case PERMITUNLESSDENY: return "permit-unless-deny"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case DENYOVERRIDES: return "http://hl7.org/fhir/permission-rule-combining"; + case PERMITOVERRIDES: return "http://hl7.org/fhir/permission-rule-combining"; + case ORDEREDDENYOVERRIDES: return "http://hl7.org/fhir/permission-rule-combining"; + case ORDEREDPERMITOVERRIDES: return "http://hl7.org/fhir/permission-rule-combining"; + case DENYUNLESSPERMIT: return "http://hl7.org/fhir/permission-rule-combining"; + case PERMITUNLESSDENY: return "http://hl7.org/fhir/permission-rule-combining"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case DENYOVERRIDES: return "The deny overrides combining algorithm is intended for those cases where a deny decision should have priority over a permit decision."; + case PERMITOVERRIDES: return "The permit overrides combining algorithm is intended for those cases where a permit decision should have priority over a deny decision."; + case ORDEREDDENYOVERRIDES: return "The behavior of this algorithm is identical to that of the “Deny-overrides” rule-combining algorithm with one exception. The order in which the collection of rules is evaluated SHALL match the order as listed in the permission."; + case ORDEREDPERMITOVERRIDES: return "The behavior of this algorithm is identical to that of the “Permit-overrides” rule-combining algorithm with one exception. The order in which the collection of rules is evaluated SHALL match the order as listed in the permission."; + case DENYUNLESSPERMIT: return "The “Deny-unless-permit” combining algorithm is intended for those cases where a permit decision should have priority over a deny decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result."; + case PERMITUNLESSDENY: return "The “Permit-unless-deny” combining algorithm is intended for those cases where a deny decision should have priority over a permit decision, and an “Indeterminate” or “NotApplicable” must never be the result. It is particularly useful at the top level in a policy structure to ensure that a PDP will always return a definite “Permit” or “Deny” result. This algorithm has the following behavior."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case DENYOVERRIDES: return "Deny-overrides"; + case PERMITOVERRIDES: return "Permit-overrides"; + case ORDEREDDENYOVERRIDES: return "Ordered-deny-overrides"; + case ORDEREDPERMITOVERRIDES: return "Ordered-permit-overrides"; + case DENYUNLESSPERMIT: return "Deny-unless-permit"; + case PERMITUNLESSDENY: return "Permit-unless-deny"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class PermissionRuleCombiningEnumFactory implements EnumFactory { + public PermissionRuleCombining fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("deny-overrides".equals(codeString)) + return PermissionRuleCombining.DENYOVERRIDES; + if ("permit-overrides".equals(codeString)) + return PermissionRuleCombining.PERMITOVERRIDES; + if ("ordered-deny-overrides".equals(codeString)) + return PermissionRuleCombining.ORDEREDDENYOVERRIDES; + if ("ordered-permit-overrides".equals(codeString)) + return PermissionRuleCombining.ORDEREDPERMITOVERRIDES; + if ("deny-unless-permit".equals(codeString)) + return PermissionRuleCombining.DENYUNLESSPERMIT; + if ("permit-unless-deny".equals(codeString)) + return PermissionRuleCombining.PERMITUNLESSDENY; + throw new IllegalArgumentException("Unknown PermissionRuleCombining code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("deny-overrides".equals(codeString)) + return new Enumeration(this, PermissionRuleCombining.DENYOVERRIDES); + if ("permit-overrides".equals(codeString)) + return new Enumeration(this, PermissionRuleCombining.PERMITOVERRIDES); + if ("ordered-deny-overrides".equals(codeString)) + return new Enumeration(this, PermissionRuleCombining.ORDEREDDENYOVERRIDES); + if ("ordered-permit-overrides".equals(codeString)) + return new Enumeration(this, PermissionRuleCombining.ORDEREDPERMITOVERRIDES); + if ("deny-unless-permit".equals(codeString)) + return new Enumeration(this, PermissionRuleCombining.DENYUNLESSPERMIT); + if ("permit-unless-deny".equals(codeString)) + return new Enumeration(this, PermissionRuleCombining.PERMITUNLESSDENY); + throw new FHIRException("Unknown PermissionRuleCombining code '"+codeString+"'"); + } + public String toCode(PermissionRuleCombining code) { + if (code == PermissionRuleCombining.DENYOVERRIDES) + return "deny-overrides"; + if (code == PermissionRuleCombining.PERMITOVERRIDES) + return "permit-overrides"; + if (code == PermissionRuleCombining.ORDEREDDENYOVERRIDES) + return "ordered-deny-overrides"; + if (code == PermissionRuleCombining.ORDEREDPERMITOVERRIDES) + return "ordered-permit-overrides"; + if (code == PermissionRuleCombining.DENYUNLESSPERMIT) + return "deny-unless-permit"; + if (code == PermissionRuleCombining.PERMITUNLESSDENY) + return "permit-unless-deny"; + return "?"; + } + public String toSystem(PermissionRuleCombining code) { + return code.getSystem(); + } + } + public enum PermissionStatus { /** * Permission is given. @@ -181,370 +341,24 @@ public class Permission extends DomainResource { } } - @Block() - public static class PermissionProcessingActivityComponent extends BackboneElement implements IBaseBackboneElement { - /** - * If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person. - */ - @Child(name = "partyReference", type = {Organization.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person", formalDefinition="If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person." ) - protected List partyReference; - - /** - * If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type -§ Purpose – a specific purpose of the data. - */ - @Child(name = "partyCodeableConcept", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type\n§ Purpose – a specific purpose of the data", formalDefinition="If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type\n§ Purpose – a specific purpose of the data." ) - protected List partyCodeableConcept; - - /** - * The purpose for which the permission is given. - */ - @Child(name = "purpose", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="The purpose for which the permission is given", formalDefinition="The purpose for which the permission is given." ) - protected List purpose; - - private static final long serialVersionUID = -1556351771L; - - /** - * Constructor - */ - public PermissionProcessingActivityComponent() { - super(); - } - - /** - * @return {@link #partyReference} (If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person.) - */ - public List getPartyReference() { - if (this.partyReference == null) - this.partyReference = new ArrayList(); - return this.partyReference; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PermissionProcessingActivityComponent setPartyReference(List thePartyReference) { - this.partyReference = thePartyReference; - return this; - } - - public boolean hasPartyReference() { - if (this.partyReference == null) - return false; - for (Reference item : this.partyReference) - if (!item.isEmpty()) - return true; - return false; - } - - public Reference addPartyReference() { //3 - Reference t = new Reference(); - if (this.partyReference == null) - this.partyReference = new ArrayList(); - this.partyReference.add(t); - return t; - } - - public PermissionProcessingActivityComponent addPartyReference(Reference t) { //3 - if (t == null) - return this; - if (this.partyReference == null) - this.partyReference = new ArrayList(); - this.partyReference.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #partyReference}, creating it if it does not already exist {3} - */ - public Reference getPartyReferenceFirstRep() { - if (getPartyReference().isEmpty()) { - addPartyReference(); - } - return getPartyReference().get(0); - } - - /** - * @return {@link #partyCodeableConcept} (If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type -§ Purpose – a specific purpose of the data.) - */ - public List getPartyCodeableConcept() { - if (this.partyCodeableConcept == null) - this.partyCodeableConcept = new ArrayList(); - return this.partyCodeableConcept; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PermissionProcessingActivityComponent setPartyCodeableConcept(List thePartyCodeableConcept) { - this.partyCodeableConcept = thePartyCodeableConcept; - return this; - } - - public boolean hasPartyCodeableConcept() { - if (this.partyCodeableConcept == null) - return false; - for (CodeableConcept item : this.partyCodeableConcept) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addPartyCodeableConcept() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.partyCodeableConcept == null) - this.partyCodeableConcept = new ArrayList(); - this.partyCodeableConcept.add(t); - return t; - } - - public PermissionProcessingActivityComponent addPartyCodeableConcept(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.partyCodeableConcept == null) - this.partyCodeableConcept = new ArrayList(); - this.partyCodeableConcept.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #partyCodeableConcept}, creating it if it does not already exist {3} - */ - public CodeableConcept getPartyCodeableConceptFirstRep() { - if (getPartyCodeableConcept().isEmpty()) { - addPartyCodeableConcept(); - } - return getPartyCodeableConcept().get(0); - } - - /** - * @return {@link #purpose} (The purpose for which the permission is given.) - */ - public List getPurpose() { - if (this.purpose == null) - this.purpose = new ArrayList(); - return this.purpose; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PermissionProcessingActivityComponent setPurpose(List thePurpose) { - this.purpose = thePurpose; - return this; - } - - public boolean hasPurpose() { - if (this.purpose == null) - return false; - for (CodeableConcept item : this.purpose) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addPurpose() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.purpose == null) - this.purpose = new ArrayList(); - this.purpose.add(t); - return t; - } - - public PermissionProcessingActivityComponent addPurpose(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.purpose == null) - this.purpose = new ArrayList(); - this.purpose.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #purpose}, creating it if it does not already exist {3} - */ - public CodeableConcept getPurposeFirstRep() { - if (getPurpose().isEmpty()) { - addPurpose(); - } - return getPurpose().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("partyReference", "Reference(Organization)", "If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person.", 0, java.lang.Integer.MAX_VALUE, partyReference)); - children.add(new Property("partyCodeableConcept", "CodeableConcept", "If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type\n§ Purpose – a specific purpose of the data.", 0, java.lang.Integer.MAX_VALUE, partyCodeableConcept)); - children.add(new Property("purpose", "CodeableConcept", "The purpose for which the permission is given.", 0, java.lang.Integer.MAX_VALUE, purpose)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case -865196283: /*partyReference*/ return new Property("partyReference", "Reference(Organization)", "If the processing is a transfer, we must capture where it the data allowed or expected to be shared - with a party or person.", 0, java.lang.Integer.MAX_VALUE, partyReference); - case -1283677221: /*partyCodeableConcept*/ return new Property("partyCodeableConcept", "CodeableConcept", "If the processing is a transfer, or involves another party, we must capture where it the data allowed or expected to be shared - with a party or person. This can be a party instance or party type\n§ Purpose – a specific purpose of the data.", 0, java.lang.Integer.MAX_VALUE, partyCodeableConcept); - case -220463842: /*purpose*/ return new Property("purpose", "CodeableConcept", "The purpose for which the permission is given.", 0, java.lang.Integer.MAX_VALUE, purpose); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case -865196283: /*partyReference*/ return this.partyReference == null ? new Base[0] : this.partyReference.toArray(new Base[this.partyReference.size()]); // Reference - case -1283677221: /*partyCodeableConcept*/ return this.partyCodeableConcept == null ? new Base[0] : this.partyCodeableConcept.toArray(new Base[this.partyCodeableConcept.size()]); // CodeableConcept - case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // CodeableConcept - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case -865196283: // partyReference - this.getPartyReference().add(TypeConvertor.castToReference(value)); // Reference - return value; - case -1283677221: // partyCodeableConcept - this.getPartyCodeableConcept().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - case -220463842: // purpose - this.getPurpose().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("partyReference")) { - this.getPartyReference().add(TypeConvertor.castToReference(value)); - } else if (name.equals("partyCodeableConcept")) { - this.getPartyCodeableConcept().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("purpose")) { - this.getPurpose().add(TypeConvertor.castToCodeableConcept(value)); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -865196283: return addPartyReference(); - case -1283677221: return addPartyCodeableConcept(); - case -220463842: return addPurpose(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -865196283: /*partyReference*/ return new String[] {"Reference"}; - case -1283677221: /*partyCodeableConcept*/ return new String[] {"CodeableConcept"}; - case -220463842: /*purpose*/ return new String[] {"CodeableConcept"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("partyReference")) { - return addPartyReference(); - } - else if (name.equals("partyCodeableConcept")) { - return addPartyCodeableConcept(); - } - else if (name.equals("purpose")) { - return addPurpose(); - } - else - return super.addChild(name); - } - - public PermissionProcessingActivityComponent copy() { - PermissionProcessingActivityComponent dst = new PermissionProcessingActivityComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(PermissionProcessingActivityComponent dst) { - super.copyValues(dst); - if (partyReference != null) { - dst.partyReference = new ArrayList(); - for (Reference i : partyReference) - dst.partyReference.add(i.copy()); - }; - if (partyCodeableConcept != null) { - dst.partyCodeableConcept = new ArrayList(); - for (CodeableConcept i : partyCodeableConcept) - dst.partyCodeableConcept.add(i.copy()); - }; - if (purpose != null) { - dst.purpose = new ArrayList(); - for (CodeableConcept i : purpose) - dst.purpose.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof PermissionProcessingActivityComponent)) - return false; - PermissionProcessingActivityComponent o = (PermissionProcessingActivityComponent) other_; - return compareDeep(partyReference, o.partyReference, true) && compareDeep(partyCodeableConcept, o.partyCodeableConcept, true) - && compareDeep(purpose, o.purpose, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof PermissionProcessingActivityComponent)) - return false; - PermissionProcessingActivityComponent o = (PermissionProcessingActivityComponent) other_; - return true; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(partyReference, partyCodeableConcept - , purpose); - } - - public String fhirType() { - return "Permission.processingActivity"; - - } - - } - @Block() public static class PermissionJustificationComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot. - */ - @Child(name = "evidence", type = {Consent.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot", formalDefinition="Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot." ) - protected List evidence; - /** * This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR. */ - @Child(name = "grounds", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR", formalDefinition="This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR." ) - protected List grounds; + @Child(name = "basis", type = {CodeableConcept.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The regulatory grounds upon which this Permission builds", formalDefinition="This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-policy") + protected List basis; - private static final long serialVersionUID = -146214493L; + /** + * Justifing rational. + */ + @Child(name = "evidence", type = {Reference.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Justifing rational", formalDefinition="Justifing rational." ) + protected List evidence; + + private static final long serialVersionUID = -2023272721L; /** * Constructor @@ -554,7 +368,60 @@ public class Permission extends DomainResource { } /** - * @return {@link #evidence} (Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot.) + * @return {@link #basis} (This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.) + */ + public List getBasis() { + if (this.basis == null) + this.basis = new ArrayList(); + return this.basis; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public PermissionJustificationComponent setBasis(List theBasis) { + this.basis = theBasis; + return this; + } + + public boolean hasBasis() { + if (this.basis == null) + return false; + for (CodeableConcept item : this.basis) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addBasis() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.basis == null) + this.basis = new ArrayList(); + this.basis.add(t); + return t; + } + + public PermissionJustificationComponent addBasis(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.basis == null) + this.basis = new ArrayList(); + this.basis.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #basis}, creating it if it does not already exist {3} + */ + public CodeableConcept getBasisFirstRep() { + if (getBasis().isEmpty()) { + addBasis(); + } + return getBasis().get(0); + } + + /** + * @return {@link #evidence} (Justifing rational.) */ public List getEvidence() { if (this.evidence == null) @@ -606,70 +473,17 @@ public class Permission extends DomainResource { return getEvidence().get(0); } - /** - * @return {@link #grounds} (This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.) - */ - public List getGrounds() { - if (this.grounds == null) - this.grounds = new ArrayList(); - return this.grounds; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PermissionJustificationComponent setGrounds(List theGrounds) { - this.grounds = theGrounds; - return this; - } - - public boolean hasGrounds() { - if (this.grounds == null) - return false; - for (CodeableConcept item : this.grounds) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addGrounds() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.grounds == null) - this.grounds = new ArrayList(); - this.grounds.add(t); - return t; - } - - public PermissionJustificationComponent addGrounds(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.grounds == null) - this.grounds = new ArrayList(); - this.grounds.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #grounds}, creating it if it does not already exist {3} - */ - public CodeableConcept getGroundsFirstRep() { - if (getGrounds().isEmpty()) { - addGrounds(); - } - return getGrounds().get(0); - } - protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("evidence", "Reference(Consent)", "Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot.", 0, java.lang.Integer.MAX_VALUE, evidence)); - children.add(new Property("grounds", "CodeableConcept", "This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.", 0, java.lang.Integer.MAX_VALUE, grounds)); + children.add(new Property("basis", "CodeableConcept", "This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.", 0, java.lang.Integer.MAX_VALUE, basis)); + children.add(new Property("evidence", "Reference(Any)", "Justifing rational.", 0, java.lang.Integer.MAX_VALUE, evidence)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 382967383: /*evidence*/ return new Property("evidence", "Reference(Consent)", "Evidence – reference to consent, or a contract, or a policy, or a regulation, or an attachment that contains a screenshot.", 0, java.lang.Integer.MAX_VALUE, evidence); - case 293427148: /*grounds*/ return new Property("grounds", "CodeableConcept", "This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.", 0, java.lang.Integer.MAX_VALUE, grounds); + case 93508670: /*basis*/ return new Property("basis", "CodeableConcept", "This would be a codeableconcept, or a coding, which can be constrained to , for example, the 6 grounds for processing in GDPR.", 0, java.lang.Integer.MAX_VALUE, basis); + case 382967383: /*evidence*/ return new Property("evidence", "Reference(Any)", "Justifing rational.", 0, java.lang.Integer.MAX_VALUE, evidence); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -678,8 +492,8 @@ public class Permission extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { + case 93508670: /*basis*/ return this.basis == null ? new Base[0] : this.basis.toArray(new Base[this.basis.size()]); // CodeableConcept case 382967383: /*evidence*/ return this.evidence == null ? new Base[0] : this.evidence.toArray(new Base[this.evidence.size()]); // Reference - case 293427148: /*grounds*/ return this.grounds == null ? new Base[0] : this.grounds.toArray(new Base[this.grounds.size()]); // CodeableConcept default: return super.getProperty(hash, name, checkValid); } @@ -688,12 +502,12 @@ public class Permission extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { + case 93508670: // basis + this.getBasis().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; case 382967383: // evidence this.getEvidence().add(TypeConvertor.castToReference(value)); // Reference return value; - case 293427148: // grounds - this.getGrounds().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; default: return super.setProperty(hash, name, value); } @@ -701,10 +515,10 @@ public class Permission extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("evidence")) { + if (name.equals("basis")) { + this.getBasis().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("evidence")) { this.getEvidence().add(TypeConvertor.castToReference(value)); - } else if (name.equals("grounds")) { - this.getGrounds().add(TypeConvertor.castToCodeableConcept(value)); } else return super.setProperty(name, value); return value; @@ -713,8 +527,8 @@ public class Permission extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { + case 93508670: return addBasis(); case 382967383: return addEvidence(); - case 293427148: return addGrounds(); default: return super.makeProperty(hash, name); } @@ -723,8 +537,8 @@ public class Permission extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { + case 93508670: /*basis*/ return new String[] {"CodeableConcept"}; case 382967383: /*evidence*/ return new String[] {"Reference"}; - case 293427148: /*grounds*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -732,11 +546,11 @@ public class Permission extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("evidence")) { - return addEvidence(); + if (name.equals("basis")) { + return addBasis(); } - else if (name.equals("grounds")) { - return addGrounds(); + else if (name.equals("evidence")) { + return addEvidence(); } else return super.addChild(name); @@ -750,16 +564,16 @@ public class Permission extends DomainResource { public void copyValues(PermissionJustificationComponent dst) { super.copyValues(dst); + if (basis != null) { + dst.basis = new ArrayList(); + for (CodeableConcept i : basis) + dst.basis.add(i.copy()); + }; if (evidence != null) { dst.evidence = new ArrayList(); for (Reference i : evidence) dst.evidence.add(i.copy()); }; - if (grounds != null) { - dst.grounds = new ArrayList(); - for (CodeableConcept i : grounds) - dst.grounds.add(i.copy()); - }; } @Override @@ -769,7 +583,7 @@ public class Permission extends DomainResource { if (!(other_ instanceof PermissionJustificationComponent)) return false; PermissionJustificationComponent o = (PermissionJustificationComponent) other_; - return compareDeep(evidence, o.evidence, true) && compareDeep(grounds, o.grounds, true); + return compareDeep(basis, o.basis, true) && compareDeep(evidence, o.evidence, true); } @Override @@ -783,7 +597,7 @@ public class Permission extends DomainResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(evidence, grounds); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(basis, evidence); } public String fhirType() { @@ -791,6 +605,1395 @@ public class Permission extends DomainResource { } + } + + @Block() + public static class RuleComponent extends BackboneElement implements IBaseBackboneElement { + /** + * deny | permit. + */ + @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=true, summary=true) + @Description(shortDefinition="deny | permit", formalDefinition="deny | permit." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-provision-type") + protected Enumeration type; + + /** + * A description or definition of which activities are allowed to be done on the data. + */ + @Child(name = "data", type = {}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The selection criteria to identify data that is within scope of this provision", formalDefinition="A description or definition of which activities are allowed to be done on the data." ) + protected List data; + + /** + * A description or definition of which activities are allowed to be done on the data. + */ + @Child(name = "activity", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="A description or definition of which activities are allowed to be done on the data", formalDefinition="A description or definition of which activities are allowed to be done on the data." ) + protected List activity; + + /** + * What limits apply to the use of the data. + */ + @Child(name = "limit", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="What limits apply to the use of the data", formalDefinition="What limits apply to the use of the data." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/security-label-event-examples") + protected List limit; + + private static final long serialVersionUID = 547014420L; + + /** + * Constructor + */ + public RuleComponent() { + super(); + } + + /** + * @return {@link #type} (deny | permit.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public Enumeration getTypeElement() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RuleComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new Enumeration(new ConsentProvisionTypeEnumFactory()); // bb + return this.type; + } + + public boolean hasTypeElement() { + return this.type != null && !this.type.isEmpty(); + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (deny | permit.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public RuleComponent setTypeElement(Enumeration value) { + this.type = value; + return this; + } + + /** + * @return deny | permit. + */ + public ConsentProvisionType getType() { + return this.type == null ? null : this.type.getValue(); + } + + /** + * @param value deny | permit. + */ + public RuleComponent setType(ConsentProvisionType value) { + if (value == null) + this.type = null; + else { + if (this.type == null) + this.type = new Enumeration(new ConsentProvisionTypeEnumFactory()); + this.type.setValue(value); + } + return this; + } + + /** + * @return {@link #data} (A description or definition of which activities are allowed to be done on the data.) + */ + public List getData() { + if (this.data == null) + this.data = new ArrayList(); + return this.data; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleComponent setData(List theData) { + this.data = theData; + return this; + } + + public boolean hasData() { + if (this.data == null) + return false; + for (RuleDataComponent item : this.data) + if (!item.isEmpty()) + return true; + return false; + } + + public RuleDataComponent addData() { //3 + RuleDataComponent t = new RuleDataComponent(); + if (this.data == null) + this.data = new ArrayList(); + this.data.add(t); + return t; + } + + public RuleComponent addData(RuleDataComponent t) { //3 + if (t == null) + return this; + if (this.data == null) + this.data = new ArrayList(); + this.data.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #data}, creating it if it does not already exist {3} + */ + public RuleDataComponent getDataFirstRep() { + if (getData().isEmpty()) { + addData(); + } + return getData().get(0); + } + + /** + * @return {@link #activity} (A description or definition of which activities are allowed to be done on the data.) + */ + public List getActivity() { + if (this.activity == null) + this.activity = new ArrayList(); + return this.activity; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleComponent setActivity(List theActivity) { + this.activity = theActivity; + return this; + } + + public boolean hasActivity() { + if (this.activity == null) + return false; + for (RuleActivityComponent item : this.activity) + if (!item.isEmpty()) + return true; + return false; + } + + public RuleActivityComponent addActivity() { //3 + RuleActivityComponent t = new RuleActivityComponent(); + if (this.activity == null) + this.activity = new ArrayList(); + this.activity.add(t); + return t; + } + + public RuleComponent addActivity(RuleActivityComponent t) { //3 + if (t == null) + return this; + if (this.activity == null) + this.activity = new ArrayList(); + this.activity.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #activity}, creating it if it does not already exist {3} + */ + public RuleActivityComponent getActivityFirstRep() { + if (getActivity().isEmpty()) { + addActivity(); + } + return getActivity().get(0); + } + + /** + * @return {@link #limit} (What limits apply to the use of the data.) + */ + public List getLimit() { + if (this.limit == null) + this.limit = new ArrayList(); + return this.limit; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleComponent setLimit(List theLimit) { + this.limit = theLimit; + return this; + } + + public boolean hasLimit() { + if (this.limit == null) + return false; + for (CodeableConcept item : this.limit) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addLimit() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.limit == null) + this.limit = new ArrayList(); + this.limit.add(t); + return t; + } + + public RuleComponent addLimit(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.limit == null) + this.limit = new ArrayList(); + this.limit.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #limit}, creating it if it does not already exist {3} + */ + public CodeableConcept getLimitFirstRep() { + if (getLimit().isEmpty()) { + addLimit(); + } + return getLimit().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "code", "deny | permit.", 0, 1, type)); + children.add(new Property("data", "", "A description or definition of which activities are allowed to be done on the data.", 0, java.lang.Integer.MAX_VALUE, data)); + children.add(new Property("activity", "", "A description or definition of which activities are allowed to be done on the data.", 0, java.lang.Integer.MAX_VALUE, activity)); + children.add(new Property("limit", "CodeableConcept", "What limits apply to the use of the data.", 0, java.lang.Integer.MAX_VALUE, limit)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "code", "deny | permit.", 0, 1, type); + case 3076010: /*data*/ return new Property("data", "", "A description or definition of which activities are allowed to be done on the data.", 0, java.lang.Integer.MAX_VALUE, data); + case -1655966961: /*activity*/ return new Property("activity", "", "A description or definition of which activities are allowed to be done on the data.", 0, java.lang.Integer.MAX_VALUE, activity); + case 102976443: /*limit*/ return new Property("limit", "CodeableConcept", "What limits apply to the use of the data.", 0, java.lang.Integer.MAX_VALUE, limit); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 3076010: /*data*/ return this.data == null ? new Base[0] : this.data.toArray(new Base[this.data.size()]); // RuleDataComponent + case -1655966961: /*activity*/ return this.activity == null ? new Base[0] : this.activity.toArray(new Base[this.activity.size()]); // RuleActivityComponent + case 102976443: /*limit*/ return this.limit == null ? new Base[0] : this.limit.toArray(new Base[this.limit.size()]); // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + value = new ConsentProvisionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + return value; + case 3076010: // data + this.getData().add((RuleDataComponent) value); // RuleDataComponent + return value; + case -1655966961: // activity + this.getActivity().add((RuleActivityComponent) value); // RuleActivityComponent + return value; + case 102976443: // limit + this.getLimit().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + value = new ConsentProvisionTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + } else if (name.equals("data")) { + this.getData().add((RuleDataComponent) value); + } else if (name.equals("activity")) { + this.getActivity().add((RuleActivityComponent) value); + } else if (name.equals("limit")) { + this.getLimit().add(TypeConvertor.castToCodeableConcept(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getTypeElement(); + case 3076010: return addData(); + case -1655966961: return addActivity(); + case 102976443: return addLimit(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"code"}; + case 3076010: /*data*/ return new String[] {}; + case -1655966961: /*activity*/ return new String[] {}; + case 102976443: /*limit*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + throw new FHIRException("Cannot call addChild on a primitive type Permission.rule.type"); + } + else if (name.equals("data")) { + return addData(); + } + else if (name.equals("activity")) { + return addActivity(); + } + else if (name.equals("limit")) { + return addLimit(); + } + else + return super.addChild(name); + } + + public RuleComponent copy() { + RuleComponent dst = new RuleComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RuleComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + if (data != null) { + dst.data = new ArrayList(); + for (RuleDataComponent i : data) + dst.data.add(i.copy()); + }; + if (activity != null) { + dst.activity = new ArrayList(); + for (RuleActivityComponent i : activity) + dst.activity.add(i.copy()); + }; + if (limit != null) { + dst.limit = new ArrayList(); + for (CodeableConcept i : limit) + dst.limit.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RuleComponent)) + return false; + RuleComponent o = (RuleComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(data, o.data, true) && compareDeep(activity, o.activity, true) + && compareDeep(limit, o.limit, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RuleComponent)) + return false; + RuleComponent o = (RuleComponent) other_; + return compareValues(type, o.type, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, data, activity, limit + ); + } + + public String fhirType() { + return "Permission.rule"; + + } + + } + + @Block() + public static class RuleDataComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Explicit FHIR Resource references. + */ + @Child(name = "resource", type = {}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Explicit FHIR Resource references", formalDefinition="Explicit FHIR Resource references." ) + protected List resource; + + /** + * The data in scope are those with the given codes present in that data .meta.security element. + */ + @Child(name = "security", type = {Coding.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Security tag code on .meta.security", formalDefinition="The data in scope are those with the given codes present in that data .meta.security element." ) + protected List security; + + /** + * Clinical or Operational Relevant period of time that bounds the data controlled by this rule. + */ + @Child(name = "period", type = {Period.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Timeframe encompasing data create/update", formalDefinition="Clinical or Operational Relevant period of time that bounds the data controlled by this rule." ) + protected List period; + + /** + * Used when other data selection elements are insufficient. + */ + @Child(name = "expression", type = {Expression.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Expression identifying the data", formalDefinition="Used when other data selection elements are insufficient." ) + protected Expression expression; + + private static final long serialVersionUID = -239988835L; + + /** + * Constructor + */ + public RuleDataComponent() { + super(); + } + + /** + * @return {@link #resource} (Explicit FHIR Resource references.) + */ + public List getResource() { + if (this.resource == null) + this.resource = new ArrayList(); + return this.resource; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleDataComponent setResource(List theResource) { + this.resource = theResource; + return this; + } + + public boolean hasResource() { + if (this.resource == null) + return false; + for (RuleDataResourceComponent item : this.resource) + if (!item.isEmpty()) + return true; + return false; + } + + public RuleDataResourceComponent addResource() { //3 + RuleDataResourceComponent t = new RuleDataResourceComponent(); + if (this.resource == null) + this.resource = new ArrayList(); + this.resource.add(t); + return t; + } + + public RuleDataComponent addResource(RuleDataResourceComponent t) { //3 + if (t == null) + return this; + if (this.resource == null) + this.resource = new ArrayList(); + this.resource.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #resource}, creating it if it does not already exist {3} + */ + public RuleDataResourceComponent getResourceFirstRep() { + if (getResource().isEmpty()) { + addResource(); + } + return getResource().get(0); + } + + /** + * @return {@link #security} (The data in scope are those with the given codes present in that data .meta.security element.) + */ + public List getSecurity() { + if (this.security == null) + this.security = new ArrayList(); + return this.security; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleDataComponent setSecurity(List theSecurity) { + this.security = theSecurity; + return this; + } + + public boolean hasSecurity() { + if (this.security == null) + return false; + for (Coding item : this.security) + if (!item.isEmpty()) + return true; + return false; + } + + public Coding addSecurity() { //3 + Coding t = new Coding(); + if (this.security == null) + this.security = new ArrayList(); + this.security.add(t); + return t; + } + + public RuleDataComponent addSecurity(Coding t) { //3 + if (t == null) + return this; + if (this.security == null) + this.security = new ArrayList(); + this.security.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #security}, creating it if it does not already exist {3} + */ + public Coding getSecurityFirstRep() { + if (getSecurity().isEmpty()) { + addSecurity(); + } + return getSecurity().get(0); + } + + /** + * @return {@link #period} (Clinical or Operational Relevant period of time that bounds the data controlled by this rule.) + */ + public List getPeriod() { + if (this.period == null) + this.period = new ArrayList(); + return this.period; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleDataComponent setPeriod(List thePeriod) { + this.period = thePeriod; + return this; + } + + public boolean hasPeriod() { + if (this.period == null) + return false; + for (Period item : this.period) + if (!item.isEmpty()) + return true; + return false; + } + + public Period addPeriod() { //3 + Period t = new Period(); + if (this.period == null) + this.period = new ArrayList(); + this.period.add(t); + return t; + } + + public RuleDataComponent addPeriod(Period t) { //3 + if (t == null) + return this; + if (this.period == null) + this.period = new ArrayList(); + this.period.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #period}, creating it if it does not already exist {3} + */ + public Period getPeriodFirstRep() { + if (getPeriod().isEmpty()) { + addPeriod(); + } + return getPeriod().get(0); + } + + /** + * @return {@link #expression} (Used when other data selection elements are insufficient.) + */ + public Expression getExpression() { + if (this.expression == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RuleDataComponent.expression"); + else if (Configuration.doAutoCreate()) + this.expression = new Expression(); // cc + return this.expression; + } + + public boolean hasExpression() { + return this.expression != null && !this.expression.isEmpty(); + } + + /** + * @param value {@link #expression} (Used when other data selection elements are insufficient.) + */ + public RuleDataComponent setExpression(Expression value) { + this.expression = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("resource", "", "Explicit FHIR Resource references.", 0, java.lang.Integer.MAX_VALUE, resource)); + children.add(new Property("security", "Coding", "The data in scope are those with the given codes present in that data .meta.security element.", 0, java.lang.Integer.MAX_VALUE, security)); + children.add(new Property("period", "Period", "Clinical or Operational Relevant period of time that bounds the data controlled by this rule.", 0, java.lang.Integer.MAX_VALUE, period)); + children.add(new Property("expression", "Expression", "Used when other data selection elements are insufficient.", 0, 1, expression)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -341064690: /*resource*/ return new Property("resource", "", "Explicit FHIR Resource references.", 0, java.lang.Integer.MAX_VALUE, resource); + case 949122880: /*security*/ return new Property("security", "Coding", "The data in scope are those with the given codes present in that data .meta.security element.", 0, java.lang.Integer.MAX_VALUE, security); + case -991726143: /*period*/ return new Property("period", "Period", "Clinical or Operational Relevant period of time that bounds the data controlled by this rule.", 0, java.lang.Integer.MAX_VALUE, period); + case -1795452264: /*expression*/ return new Property("expression", "Expression", "Used when other data selection elements are insufficient.", 0, 1, expression); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -341064690: /*resource*/ return this.resource == null ? new Base[0] : this.resource.toArray(new Base[this.resource.size()]); // RuleDataResourceComponent + case 949122880: /*security*/ return this.security == null ? new Base[0] : this.security.toArray(new Base[this.security.size()]); // Coding + case -991726143: /*period*/ return this.period == null ? new Base[0] : this.period.toArray(new Base[this.period.size()]); // Period + case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -341064690: // resource + this.getResource().add((RuleDataResourceComponent) value); // RuleDataResourceComponent + return value; + case 949122880: // security + this.getSecurity().add(TypeConvertor.castToCoding(value)); // Coding + return value; + case -991726143: // period + this.getPeriod().add(TypeConvertor.castToPeriod(value)); // Period + return value; + case -1795452264: // expression + this.expression = TypeConvertor.castToExpression(value); // Expression + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("resource")) { + this.getResource().add((RuleDataResourceComponent) value); + } else if (name.equals("security")) { + this.getSecurity().add(TypeConvertor.castToCoding(value)); + } else if (name.equals("period")) { + this.getPeriod().add(TypeConvertor.castToPeriod(value)); + } else if (name.equals("expression")) { + this.expression = TypeConvertor.castToExpression(value); // Expression + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -341064690: return addResource(); + case 949122880: return addSecurity(); + case -991726143: return addPeriod(); + case -1795452264: return getExpression(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -341064690: /*resource*/ return new String[] {}; + case 949122880: /*security*/ return new String[] {"Coding"}; + case -991726143: /*period*/ return new String[] {"Period"}; + case -1795452264: /*expression*/ return new String[] {"Expression"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("resource")) { + return addResource(); + } + else if (name.equals("security")) { + return addSecurity(); + } + else if (name.equals("period")) { + return addPeriod(); + } + else if (name.equals("expression")) { + this.expression = new Expression(); + return this.expression; + } + else + return super.addChild(name); + } + + public RuleDataComponent copy() { + RuleDataComponent dst = new RuleDataComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RuleDataComponent dst) { + super.copyValues(dst); + if (resource != null) { + dst.resource = new ArrayList(); + for (RuleDataResourceComponent i : resource) + dst.resource.add(i.copy()); + }; + if (security != null) { + dst.security = new ArrayList(); + for (Coding i : security) + dst.security.add(i.copy()); + }; + if (period != null) { + dst.period = new ArrayList(); + for (Period i : period) + dst.period.add(i.copy()); + }; + dst.expression = expression == null ? null : expression.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RuleDataComponent)) + return false; + RuleDataComponent o = (RuleDataComponent) other_; + return compareDeep(resource, o.resource, true) && compareDeep(security, o.security, true) && compareDeep(period, o.period, true) + && compareDeep(expression, o.expression, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RuleDataComponent)) + return false; + RuleDataComponent o = (RuleDataComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(resource, security, period + , expression); + } + + public String fhirType() { + return "Permission.rule.data"; + + } + + } + + @Block() + public static class RuleDataResourceComponent extends BackboneElement implements IBaseBackboneElement { + /** + * How the resource reference is interpreted when testing consent restrictions. + */ + @Child(name = "meaning", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="instance | related | dependents | authoredby", formalDefinition="How the resource reference is interpreted when testing consent restrictions." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-data-meaning") + protected Enumeration meaning; + + /** + * A reference to a specific resource that defines which resources are covered by this consent. + */ + @Child(name = "reference", type = {Reference.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="The actual data reference", formalDefinition="A reference to a specific resource that defines which resources are covered by this consent." ) + protected Reference reference; + + private static final long serialVersionUID = 1735979153L; + + /** + * Constructor + */ + public RuleDataResourceComponent() { + super(); + } + + /** + * Constructor + */ + public RuleDataResourceComponent(ConsentDataMeaning meaning, Reference reference) { + super(); + this.setMeaning(meaning); + this.setReference(reference); + } + + /** + * @return {@link #meaning} (How the resource reference is interpreted when testing consent restrictions.). This is the underlying object with id, value and extensions. The accessor "getMeaning" gives direct access to the value + */ + public Enumeration getMeaningElement() { + if (this.meaning == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RuleDataResourceComponent.meaning"); + else if (Configuration.doAutoCreate()) + this.meaning = new Enumeration(new ConsentDataMeaningEnumFactory()); // bb + return this.meaning; + } + + public boolean hasMeaningElement() { + return this.meaning != null && !this.meaning.isEmpty(); + } + + public boolean hasMeaning() { + return this.meaning != null && !this.meaning.isEmpty(); + } + + /** + * @param value {@link #meaning} (How the resource reference is interpreted when testing consent restrictions.). This is the underlying object with id, value and extensions. The accessor "getMeaning" gives direct access to the value + */ + public RuleDataResourceComponent setMeaningElement(Enumeration value) { + this.meaning = value; + return this; + } + + /** + * @return How the resource reference is interpreted when testing consent restrictions. + */ + public ConsentDataMeaning getMeaning() { + return this.meaning == null ? null : this.meaning.getValue(); + } + + /** + * @param value How the resource reference is interpreted when testing consent restrictions. + */ + public RuleDataResourceComponent setMeaning(ConsentDataMeaning value) { + if (this.meaning == null) + this.meaning = new Enumeration(new ConsentDataMeaningEnumFactory()); + this.meaning.setValue(value); + return this; + } + + /** + * @return {@link #reference} (A reference to a specific resource that defines which resources are covered by this consent.) + */ + public Reference getReference() { + if (this.reference == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RuleDataResourceComponent.reference"); + else if (Configuration.doAutoCreate()) + this.reference = new Reference(); // cc + return this.reference; + } + + public boolean hasReference() { + return this.reference != null && !this.reference.isEmpty(); + } + + /** + * @param value {@link #reference} (A reference to a specific resource that defines which resources are covered by this consent.) + */ + public RuleDataResourceComponent setReference(Reference value) { + this.reference = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("meaning", "code", "How the resource reference is interpreted when testing consent restrictions.", 0, 1, meaning)); + children.add(new Property("reference", "Reference(Any)", "A reference to a specific resource that defines which resources are covered by this consent.", 0, 1, reference)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 938160637: /*meaning*/ return new Property("meaning", "code", "How the resource reference is interpreted when testing consent restrictions.", 0, 1, meaning); + case -925155509: /*reference*/ return new Property("reference", "Reference(Any)", "A reference to a specific resource that defines which resources are covered by this consent.", 0, 1, reference); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 938160637: /*meaning*/ return this.meaning == null ? new Base[0] : new Base[] {this.meaning}; // Enumeration + case -925155509: /*reference*/ return this.reference == null ? new Base[0] : new Base[] {this.reference}; // Reference + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 938160637: // meaning + value = new ConsentDataMeaningEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.meaning = (Enumeration) value; // Enumeration + return value; + case -925155509: // reference + this.reference = TypeConvertor.castToReference(value); // Reference + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("meaning")) { + value = new ConsentDataMeaningEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.meaning = (Enumeration) value; // Enumeration + } else if (name.equals("reference")) { + this.reference = TypeConvertor.castToReference(value); // Reference + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 938160637: return getMeaningElement(); + case -925155509: return getReference(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 938160637: /*meaning*/ return new String[] {"code"}; + case -925155509: /*reference*/ return new String[] {"Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("meaning")) { + throw new FHIRException("Cannot call addChild on a primitive type Permission.rule.data.resource.meaning"); + } + else if (name.equals("reference")) { + this.reference = new Reference(); + return this.reference; + } + else + return super.addChild(name); + } + + public RuleDataResourceComponent copy() { + RuleDataResourceComponent dst = new RuleDataResourceComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RuleDataResourceComponent dst) { + super.copyValues(dst); + dst.meaning = meaning == null ? null : meaning.copy(); + dst.reference = reference == null ? null : reference.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RuleDataResourceComponent)) + return false; + RuleDataResourceComponent o = (RuleDataResourceComponent) other_; + return compareDeep(meaning, o.meaning, true) && compareDeep(reference, o.reference, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RuleDataResourceComponent)) + return false; + RuleDataResourceComponent o = (RuleDataResourceComponent) other_; + return compareValues(meaning, o.meaning, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(meaning, reference); + } + + public String fhirType() { + return "Permission.rule.data.resource"; + + } + + } + + @Block() + public static class RuleActivityComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The actor(s) authorized for the defined activity. + */ + @Child(name = "actor", type = {Device.class, Group.class, CareTeam.class, Organization.class, Patient.class, Practitioner.class, RelatedPerson.class, PractitionerRole.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Authorized actor(s)", formalDefinition="The actor(s) authorized for the defined activity." ) + protected List actor; + + /** + * Actions controlled by this Rule. + */ + @Child(name = "action", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Actions controlled by this rule", formalDefinition="Actions controlled by this Rule." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/consent-action") + protected List action; + + /** + * The purpose for which the permission is given. + */ + @Child(name = "purpose", type = {CodeableConcept.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The purpose for which the permission is given", formalDefinition="The purpose for which the permission is given." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v3-PurposeOfUse") + protected List purpose; + + private static final long serialVersionUID = 1403721720L; + + /** + * Constructor + */ + public RuleActivityComponent() { + super(); + } + + /** + * @return {@link #actor} (The actor(s) authorized for the defined activity.) + */ + public List getActor() { + if (this.actor == null) + this.actor = new ArrayList(); + return this.actor; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleActivityComponent setActor(List theActor) { + this.actor = theActor; + return this; + } + + public boolean hasActor() { + if (this.actor == null) + return false; + for (Reference item : this.actor) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addActor() { //3 + Reference t = new Reference(); + if (this.actor == null) + this.actor = new ArrayList(); + this.actor.add(t); + return t; + } + + public RuleActivityComponent addActor(Reference t) { //3 + if (t == null) + return this; + if (this.actor == null) + this.actor = new ArrayList(); + this.actor.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #actor}, creating it if it does not already exist {3} + */ + public Reference getActorFirstRep() { + if (getActor().isEmpty()) { + addActor(); + } + return getActor().get(0); + } + + /** + * @return {@link #action} (Actions controlled by this Rule.) + */ + public List getAction() { + if (this.action == null) + this.action = new ArrayList(); + return this.action; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleActivityComponent setAction(List theAction) { + this.action = theAction; + return this; + } + + public boolean hasAction() { + if (this.action == null) + return false; + for (CodeableConcept item : this.action) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addAction() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.action == null) + this.action = new ArrayList(); + this.action.add(t); + return t; + } + + public RuleActivityComponent addAction(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.action == null) + this.action = new ArrayList(); + this.action.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} + */ + public CodeableConcept getActionFirstRep() { + if (getAction().isEmpty()) { + addAction(); + } + return getAction().get(0); + } + + /** + * @return {@link #purpose} (The purpose for which the permission is given.) + */ + public List getPurpose() { + if (this.purpose == null) + this.purpose = new ArrayList(); + return this.purpose; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RuleActivityComponent setPurpose(List thePurpose) { + this.purpose = thePurpose; + return this; + } + + public boolean hasPurpose() { + if (this.purpose == null) + return false; + for (CodeableConcept item : this.purpose) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addPurpose() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.purpose == null) + this.purpose = new ArrayList(); + this.purpose.add(t); + return t; + } + + public RuleActivityComponent addPurpose(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.purpose == null) + this.purpose = new ArrayList(); + this.purpose.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #purpose}, creating it if it does not already exist {3} + */ + public CodeableConcept getPurposeFirstRep() { + if (getPurpose().isEmpty()) { + addPurpose(); + } + return getPurpose().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("actor", "Reference(Device|Group|CareTeam|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The actor(s) authorized for the defined activity.", 0, java.lang.Integer.MAX_VALUE, actor)); + children.add(new Property("action", "CodeableConcept", "Actions controlled by this Rule.", 0, java.lang.Integer.MAX_VALUE, action)); + children.add(new Property("purpose", "CodeableConcept", "The purpose for which the permission is given.", 0, java.lang.Integer.MAX_VALUE, purpose)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 92645877: /*actor*/ return new Property("actor", "Reference(Device|Group|CareTeam|Organization|Patient|Practitioner|RelatedPerson|PractitionerRole)", "The actor(s) authorized for the defined activity.", 0, java.lang.Integer.MAX_VALUE, actor); + case -1422950858: /*action*/ return new Property("action", "CodeableConcept", "Actions controlled by this Rule.", 0, java.lang.Integer.MAX_VALUE, action); + case -220463842: /*purpose*/ return new Property("purpose", "CodeableConcept", "The purpose for which the permission is given.", 0, java.lang.Integer.MAX_VALUE, purpose); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // Reference + case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // CodeableConcept + case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // CodeableConcept + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 92645877: // actor + this.getActor().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -1422950858: // action + this.getAction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -220463842: // purpose + this.getPurpose().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("actor")) { + this.getActor().add(TypeConvertor.castToReference(value)); + } else if (name.equals("action")) { + this.getAction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("purpose")) { + this.getPurpose().add(TypeConvertor.castToCodeableConcept(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 92645877: return addActor(); + case -1422950858: return addAction(); + case -220463842: return addPurpose(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 92645877: /*actor*/ return new String[] {"Reference"}; + case -1422950858: /*action*/ return new String[] {"CodeableConcept"}; + case -220463842: /*purpose*/ return new String[] {"CodeableConcept"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("actor")) { + return addActor(); + } + else if (name.equals("action")) { + return addAction(); + } + else if (name.equals("purpose")) { + return addPurpose(); + } + else + return super.addChild(name); + } + + public RuleActivityComponent copy() { + RuleActivityComponent dst = new RuleActivityComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RuleActivityComponent dst) { + super.copyValues(dst); + if (actor != null) { + dst.actor = new ArrayList(); + for (Reference i : actor) + dst.actor.add(i.copy()); + }; + if (action != null) { + dst.action = new ArrayList(); + for (CodeableConcept i : action) + dst.action.add(i.copy()); + }; + if (purpose != null) { + dst.purpose = new ArrayList(); + for (CodeableConcept i : purpose) + dst.purpose.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RuleActivityComponent)) + return false; + RuleActivityComponent o = (RuleActivityComponent) other_; + return compareDeep(actor, o.actor, true) && compareDeep(action, o.action, true) && compareDeep(purpose, o.purpose, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RuleActivityComponent)) + return false; + RuleActivityComponent o = (RuleActivityComponent) other_; + return true; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actor, action, purpose); + } + + public String fhirType() { + return "Permission.rule.activity"; + + } + } /** @@ -801,70 +2004,50 @@ public class Permission extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/permission-status") protected Enumeration status; - /** - * grant|refuse. - */ - @Child(name = "intent", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="grant|refuse", formalDefinition="grant|refuse." ) - protected CodeableConcept intent; - /** * The person or entity that asserts the permission. */ - @Child(name = "asserter", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, Device.class, RelatedPerson.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "asserter", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, RelatedPerson.class, HealthcareService.class}, order=1, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The person or entity that asserts the permission", formalDefinition="The person or entity that asserts the permission." ) protected Reference asserter; /** * The date that permission was asserted. */ - @Child(name = "assertionDate", type = {DateTimeType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The date that permission was asserted", formalDefinition="The date that permission was asserted." ) - protected List assertionDate; + protected List date; /** * The period in which the permission is active. */ - @Child(name = "validity", type = {Period.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "validity", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The period in which the permission is active", formalDefinition="The period in which the permission is active." ) protected Period validity; - /** - * The purpose for which the permission is given. - */ - @Child(name = "purpose", type = {CodeableConcept.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="The purpose for which the permission is given", formalDefinition="The purpose for which the permission is given." ) - protected List purpose; - - /** - * This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements. - */ - @Child(name = "dataScope", type = {Expression.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements", formalDefinition="This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements." ) - protected List dataScope; - - /** - * A description or definition of which activities are allowed to be done on the data. - */ - @Child(name = "processingActivity", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="A description or definition of which activities are allowed to be done on the data", formalDefinition="A description or definition of which activities are allowed to be done on the data." ) - protected List processingActivity; - /** * The asserted justification for using the data. */ - @Child(name = "justification", type = {}, order=8, min=0, max=1, modifier=false, summary=true) + @Child(name = "justification", type = {}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The asserted justification for using the data", formalDefinition="The asserted justification for using the data." ) protected PermissionJustificationComponent justification; /** - * What limits apply to the use of the data. + * Defines a procedure for arriving at an access decision given the set of rules. */ - @Child(name = "usageLimitations", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="What limits apply to the use of the data", formalDefinition="What limits apply to the use of the data." ) - protected List usageLimitations; + @Child(name = "combining", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Description(shortDefinition="deny-overrides | permit-overrides | ordered-deny-overrides | ordered-permit-overrides | deny-unless-permit | permit-unless-deny", formalDefinition="Defines a procedure for arriving at an access decision given the set of rules." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/permission-rule-combining") + protected Enumeration combining; - private static final long serialVersionUID = -1764304363L; + /** + * A set of rules. + */ + @Child(name = "rule", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Constraints to the Permission", formalDefinition="A set of rules." ) + protected List rule; + + private static final long serialVersionUID = 1252321973L; /** * Constructor @@ -876,9 +2059,10 @@ public class Permission extends DomainResource { /** * Constructor */ - public Permission(PermissionStatus status) { + public Permission(PermissionStatus status, PermissionRuleCombining combining) { super(); this.setStatus(status); + this.setCombining(combining); } /** @@ -926,30 +2110,6 @@ public class Permission extends DomainResource { return this; } - /** - * @return {@link #intent} (grant|refuse.) - */ - public CodeableConcept getIntent() { - if (this.intent == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Permission.intent"); - else if (Configuration.doAutoCreate()) - this.intent = new CodeableConcept(); // cc - return this.intent; - } - - public boolean hasIntent() { - return this.intent != null && !this.intent.isEmpty(); - } - - /** - * @param value {@link #intent} (grant|refuse.) - */ - public Permission setIntent(CodeableConcept value) { - this.intent = value; - return this; - } - /** * @return {@link #asserter} (The person or entity that asserts the permission.) */ @@ -975,61 +2135,61 @@ public class Permission extends DomainResource { } /** - * @return {@link #assertionDate} (The date that permission was asserted.) + * @return {@link #date} (The date that permission was asserted.) */ - public List getAssertionDate() { - if (this.assertionDate == null) - this.assertionDate = new ArrayList(); - return this.assertionDate; + public List getDate() { + if (this.date == null) + this.date = new ArrayList(); + return this.date; } /** * @return Returns a reference to this for easy method chaining */ - public Permission setAssertionDate(List theAssertionDate) { - this.assertionDate = theAssertionDate; + public Permission setDate(List theDate) { + this.date = theDate; return this; } - public boolean hasAssertionDate() { - if (this.assertionDate == null) + public boolean hasDate() { + if (this.date == null) return false; - for (DateTimeType item : this.assertionDate) + for (DateTimeType item : this.date) if (!item.isEmpty()) return true; return false; } /** - * @return {@link #assertionDate} (The date that permission was asserted.) + * @return {@link #date} (The date that permission was asserted.) */ - public DateTimeType addAssertionDateElement() {//2 + public DateTimeType addDateElement() {//2 DateTimeType t = new DateTimeType(); - if (this.assertionDate == null) - this.assertionDate = new ArrayList(); - this.assertionDate.add(t); + if (this.date == null) + this.date = new ArrayList(); + this.date.add(t); return t; } /** - * @param value {@link #assertionDate} (The date that permission was asserted.) + * @param value {@link #date} (The date that permission was asserted.) */ - public Permission addAssertionDate(Date value) { //1 + public Permission addDate(Date value) { //1 DateTimeType t = new DateTimeType(); t.setValue(value); - if (this.assertionDate == null) - this.assertionDate = new ArrayList(); - this.assertionDate.add(t); + if (this.date == null) + this.date = new ArrayList(); + this.date.add(t); return this; } /** - * @param value {@link #assertionDate} (The date that permission was asserted.) + * @param value {@link #date} (The date that permission was asserted.) */ - public boolean hasAssertionDate(Date value) { - if (this.assertionDate == null) + public boolean hasDate(Date value) { + if (this.date == null) return false; - for (DateTimeType v : this.assertionDate) + for (DateTimeType v : this.date) if (v.getValue().equals(value)) // dateTime return true; return false; @@ -1059,165 +2219,6 @@ public class Permission extends DomainResource { return this; } - /** - * @return {@link #purpose} (The purpose for which the permission is given.) - */ - public List getPurpose() { - if (this.purpose == null) - this.purpose = new ArrayList(); - return this.purpose; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Permission setPurpose(List thePurpose) { - this.purpose = thePurpose; - return this; - } - - public boolean hasPurpose() { - if (this.purpose == null) - return false; - for (CodeableConcept item : this.purpose) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addPurpose() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.purpose == null) - this.purpose = new ArrayList(); - this.purpose.add(t); - return t; - } - - public Permission addPurpose(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.purpose == null) - this.purpose = new ArrayList(); - this.purpose.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #purpose}, creating it if it does not already exist {3} - */ - public CodeableConcept getPurposeFirstRep() { - if (getPurpose().isEmpty()) { - addPurpose(); - } - return getPurpose().get(0); - } - - /** - * @return {@link #dataScope} (This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements.) - */ - public List getDataScope() { - if (this.dataScope == null) - this.dataScope = new ArrayList(); - return this.dataScope; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Permission setDataScope(List theDataScope) { - this.dataScope = theDataScope; - return this; - } - - public boolean hasDataScope() { - if (this.dataScope == null) - return false; - for (Expression item : this.dataScope) - if (!item.isEmpty()) - return true; - return false; - } - - public Expression addDataScope() { //3 - Expression t = new Expression(); - if (this.dataScope == null) - this.dataScope = new ArrayList(); - this.dataScope.add(t); - return t; - } - - public Permission addDataScope(Expression t) { //3 - if (t == null) - return this; - if (this.dataScope == null) - this.dataScope = new ArrayList(); - this.dataScope.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #dataScope}, creating it if it does not already exist {3} - */ - public Expression getDataScopeFirstRep() { - if (getDataScope().isEmpty()) { - addDataScope(); - } - return getDataScope().get(0); - } - - /** - * @return {@link #processingActivity} (A description or definition of which activities are allowed to be done on the data.) - */ - public List getProcessingActivity() { - if (this.processingActivity == null) - this.processingActivity = new ArrayList(); - return this.processingActivity; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public Permission setProcessingActivity(List theProcessingActivity) { - this.processingActivity = theProcessingActivity; - return this; - } - - public boolean hasProcessingActivity() { - if (this.processingActivity == null) - return false; - for (PermissionProcessingActivityComponent item : this.processingActivity) - if (!item.isEmpty()) - return true; - return false; - } - - public PermissionProcessingActivityComponent addProcessingActivity() { //3 - PermissionProcessingActivityComponent t = new PermissionProcessingActivityComponent(); - if (this.processingActivity == null) - this.processingActivity = new ArrayList(); - this.processingActivity.add(t); - return t; - } - - public Permission addProcessingActivity(PermissionProcessingActivityComponent t) { //3 - if (t == null) - return this; - if (this.processingActivity == null) - this.processingActivity = new ArrayList(); - this.processingActivity.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #processingActivity}, creating it if it does not already exist {3} - */ - public PermissionProcessingActivityComponent getProcessingActivityFirstRep() { - if (getProcessingActivity().isEmpty()) { - addProcessingActivity(); - } - return getProcessingActivity().get(0); - } - /** * @return {@link #justification} (The asserted justification for using the data.) */ @@ -1243,85 +2244,124 @@ public class Permission extends DomainResource { } /** - * @return {@link #usageLimitations} (What limits apply to the use of the data.) + * @return {@link #combining} (Defines a procedure for arriving at an access decision given the set of rules.). This is the underlying object with id, value and extensions. The accessor "getCombining" gives direct access to the value */ - public List getUsageLimitations() { - if (this.usageLimitations == null) - this.usageLimitations = new ArrayList(); - return this.usageLimitations; + public Enumeration getCombiningElement() { + if (this.combining == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Permission.combining"); + else if (Configuration.doAutoCreate()) + this.combining = new Enumeration(new PermissionRuleCombiningEnumFactory()); // bb + return this.combining; + } + + public boolean hasCombiningElement() { + return this.combining != null && !this.combining.isEmpty(); + } + + public boolean hasCombining() { + return this.combining != null && !this.combining.isEmpty(); + } + + /** + * @param value {@link #combining} (Defines a procedure for arriving at an access decision given the set of rules.). This is the underlying object with id, value and extensions. The accessor "getCombining" gives direct access to the value + */ + public Permission setCombiningElement(Enumeration value) { + this.combining = value; + return this; + } + + /** + * @return Defines a procedure for arriving at an access decision given the set of rules. + */ + public PermissionRuleCombining getCombining() { + return this.combining == null ? null : this.combining.getValue(); + } + + /** + * @param value Defines a procedure for arriving at an access decision given the set of rules. + */ + public Permission setCombining(PermissionRuleCombining value) { + if (this.combining == null) + this.combining = new Enumeration(new PermissionRuleCombiningEnumFactory()); + this.combining.setValue(value); + return this; + } + + /** + * @return {@link #rule} (A set of rules.) + */ + public List getRule() { + if (this.rule == null) + this.rule = new ArrayList(); + return this.rule; } /** * @return Returns a reference to this for easy method chaining */ - public Permission setUsageLimitations(List theUsageLimitations) { - this.usageLimitations = theUsageLimitations; + public Permission setRule(List theRule) { + this.rule = theRule; return this; } - public boolean hasUsageLimitations() { - if (this.usageLimitations == null) + public boolean hasRule() { + if (this.rule == null) return false; - for (CodeableConcept item : this.usageLimitations) + for (RuleComponent item : this.rule) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addUsageLimitations() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.usageLimitations == null) - this.usageLimitations = new ArrayList(); - this.usageLimitations.add(t); + public RuleComponent addRule() { //3 + RuleComponent t = new RuleComponent(); + if (this.rule == null) + this.rule = new ArrayList(); + this.rule.add(t); return t; } - public Permission addUsageLimitations(CodeableConcept t) { //3 + public Permission addRule(RuleComponent t) { //3 if (t == null) return this; - if (this.usageLimitations == null) - this.usageLimitations = new ArrayList(); - this.usageLimitations.add(t); + if (this.rule == null) + this.rule = new ArrayList(); + this.rule.add(t); return this; } /** - * @return The first repetition of repeating field {@link #usageLimitations}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #rule}, creating it if it does not already exist {3} */ - public CodeableConcept getUsageLimitationsFirstRep() { - if (getUsageLimitations().isEmpty()) { - addUsageLimitations(); + public RuleComponent getRuleFirstRep() { + if (getRule().isEmpty()) { + addRule(); } - return getUsageLimitations().get(0); + return getRule().get(0); } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("status", "code", "Status.", 0, 1, status)); - children.add(new Property("intent", "CodeableConcept", "grant|refuse.", 0, 1, intent)); - children.add(new Property("asserter", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "The person or entity that asserts the permission.", 0, 1, asserter)); - children.add(new Property("assertionDate", "dateTime", "The date that permission was asserted.", 0, java.lang.Integer.MAX_VALUE, assertionDate)); + children.add(new Property("asserter", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|RelatedPerson|HealthcareService)", "The person or entity that asserts the permission.", 0, 1, asserter)); + children.add(new Property("date", "dateTime", "The date that permission was asserted.", 0, java.lang.Integer.MAX_VALUE, date)); children.add(new Property("validity", "Period", "The period in which the permission is active.", 0, 1, validity)); - children.add(new Property("purpose", "CodeableConcept", "The purpose for which the permission is given.", 0, java.lang.Integer.MAX_VALUE, purpose)); - children.add(new Property("dataScope", "Expression", "This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements.", 0, java.lang.Integer.MAX_VALUE, dataScope)); - children.add(new Property("processingActivity", "", "A description or definition of which activities are allowed to be done on the data.", 0, java.lang.Integer.MAX_VALUE, processingActivity)); children.add(new Property("justification", "", "The asserted justification for using the data.", 0, 1, justification)); - children.add(new Property("usageLimitations", "CodeableConcept", "What limits apply to the use of the data.", 0, java.lang.Integer.MAX_VALUE, usageLimitations)); + children.add(new Property("combining", "code", "Defines a procedure for arriving at an access decision given the set of rules.", 0, 1, combining)); + children.add(new Property("rule", "", "A set of rules.", 0, java.lang.Integer.MAX_VALUE, rule)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -892481550: /*status*/ return new Property("status", "code", "Status.", 0, 1, status); - case -1183762788: /*intent*/ return new Property("intent", "CodeableConcept", "grant|refuse.", 0, 1, intent); - case -373242253: /*asserter*/ return new Property("asserter", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "The person or entity that asserts the permission.", 0, 1, asserter); - case -1498338864: /*assertionDate*/ return new Property("assertionDate", "dateTime", "The date that permission was asserted.", 0, java.lang.Integer.MAX_VALUE, assertionDate); + case -373242253: /*asserter*/ return new Property("asserter", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|RelatedPerson|HealthcareService)", "The person or entity that asserts the permission.", 0, 1, asserter); + case 3076014: /*date*/ return new Property("date", "dateTime", "The date that permission was asserted.", 0, java.lang.Integer.MAX_VALUE, date); case -1421265102: /*validity*/ return new Property("validity", "Period", "The period in which the permission is active.", 0, 1, validity); - case -220463842: /*purpose*/ return new Property("purpose", "CodeableConcept", "The purpose for which the permission is given.", 0, java.lang.Integer.MAX_VALUE, purpose); - case -374957878: /*dataScope*/ return new Property("dataScope", "Expression", "This can be 1) the definition of data elements, or 2) a category or label) e.g. “sensitive”. It could also be a c) graph-like definition of a set of data elements.", 0, java.lang.Integer.MAX_VALUE, dataScope); - case -2117745854: /*processingActivity*/ return new Property("processingActivity", "", "A description or definition of which activities are allowed to be done on the data.", 0, java.lang.Integer.MAX_VALUE, processingActivity); case 1864993522: /*justification*/ return new Property("justification", "", "The asserted justification for using the data.", 0, 1, justification); - case -788364488: /*usageLimitations*/ return new Property("usageLimitations", "CodeableConcept", "What limits apply to the use of the data.", 0, java.lang.Integer.MAX_VALUE, usageLimitations); + case -1806252484: /*combining*/ return new Property("combining", "code", "Defines a procedure for arriving at an access decision given the set of rules.", 0, 1, combining); + case 3512060: /*rule*/ return new Property("rule", "", "A set of rules.", 0, java.lang.Integer.MAX_VALUE, rule); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1331,15 +2371,12 @@ public class Permission extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // CodeableConcept case -373242253: /*asserter*/ return this.asserter == null ? new Base[0] : new Base[] {this.asserter}; // Reference - case -1498338864: /*assertionDate*/ return this.assertionDate == null ? new Base[0] : this.assertionDate.toArray(new Base[this.assertionDate.size()]); // DateTimeType + case 3076014: /*date*/ return this.date == null ? new Base[0] : this.date.toArray(new Base[this.date.size()]); // DateTimeType case -1421265102: /*validity*/ return this.validity == null ? new Base[0] : new Base[] {this.validity}; // Period - case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : this.purpose.toArray(new Base[this.purpose.size()]); // CodeableConcept - case -374957878: /*dataScope*/ return this.dataScope == null ? new Base[0] : this.dataScope.toArray(new Base[this.dataScope.size()]); // Expression - case -2117745854: /*processingActivity*/ return this.processingActivity == null ? new Base[0] : this.processingActivity.toArray(new Base[this.processingActivity.size()]); // PermissionProcessingActivityComponent case 1864993522: /*justification*/ return this.justification == null ? new Base[0] : new Base[] {this.justification}; // PermissionJustificationComponent - case -788364488: /*usageLimitations*/ return this.usageLimitations == null ? new Base[0] : this.usageLimitations.toArray(new Base[this.usageLimitations.size()]); // CodeableConcept + case -1806252484: /*combining*/ return this.combining == null ? new Base[0] : new Base[] {this.combining}; // Enumeration + case 3512060: /*rule*/ return this.rule == null ? new Base[0] : this.rule.toArray(new Base[this.rule.size()]); // RuleComponent default: return super.getProperty(hash, name, checkValid); } @@ -1352,32 +2389,24 @@ public class Permission extends DomainResource { value = new PermissionStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration return value; - case -1183762788: // intent - this.intent = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; case -373242253: // asserter this.asserter = TypeConvertor.castToReference(value); // Reference return value; - case -1498338864: // assertionDate - this.getAssertionDate().add(TypeConvertor.castToDateTime(value)); // DateTimeType + case 3076014: // date + this.getDate().add(TypeConvertor.castToDateTime(value)); // DateTimeType return value; case -1421265102: // validity this.validity = TypeConvertor.castToPeriod(value); // Period return value; - case -220463842: // purpose - this.getPurpose().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - case -374957878: // dataScope - this.getDataScope().add(TypeConvertor.castToExpression(value)); // Expression - return value; - case -2117745854: // processingActivity - this.getProcessingActivity().add((PermissionProcessingActivityComponent) value); // PermissionProcessingActivityComponent - return value; case 1864993522: // justification this.justification = (PermissionJustificationComponent) value; // PermissionJustificationComponent return value; - case -788364488: // usageLimitations - this.getUsageLimitations().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + case -1806252484: // combining + value = new PermissionRuleCombiningEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.combining = (Enumeration) value; // Enumeration + return value; + case 3512060: // rule + this.getRule().add((RuleComponent) value); // RuleComponent return value; default: return super.setProperty(hash, name, value); } @@ -1389,24 +2418,19 @@ public class Permission extends DomainResource { if (name.equals("status")) { value = new PermissionStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration - } else if (name.equals("intent")) { - this.intent = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("asserter")) { this.asserter = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("assertionDate")) { - this.getAssertionDate().add(TypeConvertor.castToDateTime(value)); + } else if (name.equals("date")) { + this.getDate().add(TypeConvertor.castToDateTime(value)); } else if (name.equals("validity")) { this.validity = TypeConvertor.castToPeriod(value); // Period - } else if (name.equals("purpose")) { - this.getPurpose().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("dataScope")) { - this.getDataScope().add(TypeConvertor.castToExpression(value)); - } else if (name.equals("processingActivity")) { - this.getProcessingActivity().add((PermissionProcessingActivityComponent) value); } else if (name.equals("justification")) { this.justification = (PermissionJustificationComponent) value; // PermissionJustificationComponent - } else if (name.equals("usageLimitations")) { - this.getUsageLimitations().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("combining")) { + value = new PermissionRuleCombiningEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.combining = (Enumeration) value; // Enumeration + } else if (name.equals("rule")) { + this.getRule().add((RuleComponent) value); } else return super.setProperty(name, value); return value; @@ -1416,15 +2440,12 @@ public class Permission extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -892481550: return getStatusElement(); - case -1183762788: return getIntent(); case -373242253: return getAsserter(); - case -1498338864: return addAssertionDateElement(); + case 3076014: return addDateElement(); case -1421265102: return getValidity(); - case -220463842: return addPurpose(); - case -374957878: return addDataScope(); - case -2117745854: return addProcessingActivity(); case 1864993522: return getJustification(); - case -788364488: return addUsageLimitations(); + case -1806252484: return getCombiningElement(); + case 3512060: return addRule(); default: return super.makeProperty(hash, name); } @@ -1434,15 +2455,12 @@ public class Permission extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -892481550: /*status*/ return new String[] {"code"}; - case -1183762788: /*intent*/ return new String[] {"CodeableConcept"}; case -373242253: /*asserter*/ return new String[] {"Reference"}; - case -1498338864: /*assertionDate*/ return new String[] {"dateTime"}; + case 3076014: /*date*/ return new String[] {"dateTime"}; case -1421265102: /*validity*/ return new String[] {"Period"}; - case -220463842: /*purpose*/ return new String[] {"CodeableConcept"}; - case -374957878: /*dataScope*/ return new String[] {"Expression"}; - case -2117745854: /*processingActivity*/ return new String[] {}; case 1864993522: /*justification*/ return new String[] {}; - case -788364488: /*usageLimitations*/ return new String[] {"CodeableConcept"}; + case -1806252484: /*combining*/ return new String[] {"code"}; + case 3512060: /*rule*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -1453,36 +2471,26 @@ public class Permission extends DomainResource { if (name.equals("status")) { throw new FHIRException("Cannot call addChild on a primitive type Permission.status"); } - else if (name.equals("intent")) { - this.intent = new CodeableConcept(); - return this.intent; - } else if (name.equals("asserter")) { this.asserter = new Reference(); return this.asserter; } - else if (name.equals("assertionDate")) { - throw new FHIRException("Cannot call addChild on a primitive type Permission.assertionDate"); + else if (name.equals("date")) { + throw new FHIRException("Cannot call addChild on a primitive type Permission.date"); } else if (name.equals("validity")) { this.validity = new Period(); return this.validity; } - else if (name.equals("purpose")) { - return addPurpose(); - } - else if (name.equals("dataScope")) { - return addDataScope(); - } - else if (name.equals("processingActivity")) { - return addProcessingActivity(); - } else if (name.equals("justification")) { this.justification = new PermissionJustificationComponent(); return this.justification; } - else if (name.equals("usageLimitations")) { - return addUsageLimitations(); + else if (name.equals("combining")) { + throw new FHIRException("Cannot call addChild on a primitive type Permission.combining"); + } + else if (name.equals("rule")) { + return addRule(); } else return super.addChild(name); @@ -1502,34 +2510,19 @@ public class Permission extends DomainResource { public void copyValues(Permission dst) { super.copyValues(dst); dst.status = status == null ? null : status.copy(); - dst.intent = intent == null ? null : intent.copy(); dst.asserter = asserter == null ? null : asserter.copy(); - if (assertionDate != null) { - dst.assertionDate = new ArrayList(); - for (DateTimeType i : assertionDate) - dst.assertionDate.add(i.copy()); + if (date != null) { + dst.date = new ArrayList(); + for (DateTimeType i : date) + dst.date.add(i.copy()); }; dst.validity = validity == null ? null : validity.copy(); - if (purpose != null) { - dst.purpose = new ArrayList(); - for (CodeableConcept i : purpose) - dst.purpose.add(i.copy()); - }; - if (dataScope != null) { - dst.dataScope = new ArrayList(); - for (Expression i : dataScope) - dst.dataScope.add(i.copy()); - }; - if (processingActivity != null) { - dst.processingActivity = new ArrayList(); - for (PermissionProcessingActivityComponent i : processingActivity) - dst.processingActivity.add(i.copy()); - }; dst.justification = justification == null ? null : justification.copy(); - if (usageLimitations != null) { - dst.usageLimitations = new ArrayList(); - for (CodeableConcept i : usageLimitations) - dst.usageLimitations.add(i.copy()); + dst.combining = combining == null ? null : combining.copy(); + if (rule != null) { + dst.rule = new ArrayList(); + for (RuleComponent i : rule) + dst.rule.add(i.copy()); }; } @@ -1544,11 +2537,9 @@ public class Permission extends DomainResource { if (!(other_ instanceof Permission)) return false; Permission o = (Permission) other_; - return compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(asserter, o.asserter, true) - && compareDeep(assertionDate, o.assertionDate, true) && compareDeep(validity, o.validity, true) - && compareDeep(purpose, o.purpose, true) && compareDeep(dataScope, o.dataScope, true) && compareDeep(processingActivity, o.processingActivity, true) - && compareDeep(justification, o.justification, true) && compareDeep(usageLimitations, o.usageLimitations, true) - ; + return compareDeep(status, o.status, true) && compareDeep(asserter, o.asserter, true) && compareDeep(date, o.date, true) + && compareDeep(validity, o.validity, true) && compareDeep(justification, o.justification, true) + && compareDeep(combining, o.combining, true) && compareDeep(rule, o.rule, true); } @Override @@ -1558,14 +2549,13 @@ public class Permission extends DomainResource { if (!(other_ instanceof Permission)) return false; Permission o = (Permission) other_; - return compareValues(status, o.status, true) && compareValues(assertionDate, o.assertionDate, true) + return compareValues(status, o.status, true) && compareValues(date, o.date, true) && compareValues(combining, o.combining, true) ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(status, intent, asserter - , assertionDate, validity, purpose, dataScope, processingActivity, justification - , usageLimitations); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(status, asserter, date, validity + , justification, combining, rule); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Person.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Person.java index 3b9808191..af970f9a8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Person.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Person.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -184,10 +184,10 @@ public class Person extends DomainResource { @Block() public static class PersonCommunicationComponent extends BackboneElement implements IBaseBackboneElement { /** - * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. + * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English. */ @Child(name = "language", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The language which can be used to communicate with the person about his or her health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English." ) + @Description(shortDefinition="The language which can be used to communicate with the person about his or her health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") protected CodeableConcept language; @@ -216,7 +216,7 @@ public class Person extends DomainResource { } /** - * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) + * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English.) */ public CodeableConcept getLanguage() { if (this.language == null) @@ -232,7 +232,7 @@ public class Person extends DomainResource { } /** - * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) + * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English.) */ public PersonCommunicationComponent setLanguage(CodeableConcept value) { this.language = value; @@ -286,14 +286,14 @@ public class Person extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language)); + children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English.", 0, 1, language)); children.add(new Property("preferred", "boolean", "Indicates whether or not the person prefers this language (over other languages he masters up a certain level).", 0, 1, preferred)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language); + case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English.", 0, 1, language); case -1294005119: /*preferred*/ return new Property("preferred", "boolean", "Indicates whether or not the person prefers this language (over other languages he masters up a certain level).", 0, 1, preferred); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -650,7 +650,7 @@ public class Person extends DomainResource { /** * Identifier for a person within a particular scope. */ - @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="A human identifier for this person", formalDefinition="Identifier for a person within a particular scope." ) protected List identifier; @@ -700,7 +700,7 @@ public class Person extends DomainResource { /** * One or more addresses for the person. */ - @Child(name = "address", type = {Address.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "address", type = {Address.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="One or more addresses for the person", formalDefinition="One or more addresses for the person." ) protected List
address; @@ -719,20 +719,20 @@ public class Person extends DomainResource { @Description(shortDefinition="Image of the person", formalDefinition="An image that can be displayed as a thumbnail of the person to enhance the identification of the individual." ) protected List photo; - /** - * The organization that is the custodian of the person record. - */ - @Child(name = "managingOrganization", type = {Organization.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="The organization that is the custodian of the person record", formalDefinition="The organization that is the custodian of the person record." ) - protected Reference managingOrganization; - /** * A language which may be used to communicate with the person about his or her health. */ - @Child(name = "communication", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "communication", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A language which may be used to communicate with the person about his or her health", formalDefinition="A language which may be used to communicate with the person about his or her health." ) protected List communication; + /** + * The organization that is the custodian of the person record. + */ + @Child(name = "managingOrganization", type = {Organization.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="The organization that is the custodian of the person record", formalDefinition="The organization that is the custodian of the person record." ) + protected Reference managingOrganization; + /** * Link to a resource that concerns the same actual person. */ @@ -740,7 +740,7 @@ public class Person extends DomainResource { @Description(shortDefinition="Link to a resource that concerns the same actual person", formalDefinition="Link to a resource that concerns the same actual person." ) protected List link; - private static final long serialVersionUID = -1013247270L; + private static final long serialVersionUID = -1871612358L; /** * Constructor @@ -1232,30 +1232,6 @@ public class Person extends DomainResource { return getPhoto().get(0); } - /** - * @return {@link #managingOrganization} (The organization that is the custodian of the person record.) - */ - public Reference getManagingOrganization() { - if (this.managingOrganization == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Person.managingOrganization"); - else if (Configuration.doAutoCreate()) - this.managingOrganization = new Reference(); // cc - return this.managingOrganization; - } - - public boolean hasManagingOrganization() { - return this.managingOrganization != null && !this.managingOrganization.isEmpty(); - } - - /** - * @param value {@link #managingOrganization} (The organization that is the custodian of the person record.) - */ - public Person setManagingOrganization(Reference value) { - this.managingOrganization = value; - return this; - } - /** * @return {@link #communication} (A language which may be used to communicate with the person about his or her health.) */ @@ -1309,6 +1285,30 @@ public class Person extends DomainResource { return getCommunication().get(0); } + /** + * @return {@link #managingOrganization} (The organization that is the custodian of the person record.) + */ + public Reference getManagingOrganization() { + if (this.managingOrganization == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Person.managingOrganization"); + else if (Configuration.doAutoCreate()) + this.managingOrganization = new Reference(); // cc + return this.managingOrganization; + } + + public boolean hasManagingOrganization() { + return this.managingOrganization != null && !this.managingOrganization.isEmpty(); + } + + /** + * @param value {@link #managingOrganization} (The organization that is the custodian of the person record.) + */ + public Person setManagingOrganization(Reference value) { + this.managingOrganization = value; + return this; + } + /** * @return {@link #link} (Link to a resource that concerns the same actual person.) */ @@ -1374,8 +1374,8 @@ public class Person extends DomainResource { children.add(new Property("address", "Address", "One or more addresses for the person.", 0, java.lang.Integer.MAX_VALUE, address)); children.add(new Property("maritalStatus", "CodeableConcept", "This field contains a person's most recent marital (civil) status.", 0, 1, maritalStatus)); children.add(new Property("photo", "Attachment", "An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.", 0, java.lang.Integer.MAX_VALUE, photo)); - children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization)); children.add(new Property("communication", "", "A language which may be used to communicate with the person about his or her health.", 0, java.lang.Integer.MAX_VALUE, communication)); + children.add(new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization)); children.add(new Property("link", "", "Link to a resource that concerns the same actual person.", 0, java.lang.Integer.MAX_VALUE, link)); } @@ -1395,8 +1395,8 @@ public class Person extends DomainResource { case -1147692044: /*address*/ return new Property("address", "Address", "One or more addresses for the person.", 0, java.lang.Integer.MAX_VALUE, address); case 1756919302: /*maritalStatus*/ return new Property("maritalStatus", "CodeableConcept", "This field contains a person's most recent marital (civil) status.", 0, 1, maritalStatus); case 106642994: /*photo*/ return new Property("photo", "Attachment", "An image that can be displayed as a thumbnail of the person to enhance the identification of the individual.", 0, java.lang.Integer.MAX_VALUE, photo); - case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization); case -1035284522: /*communication*/ return new Property("communication", "", "A language which may be used to communicate with the person about his or her health.", 0, java.lang.Integer.MAX_VALUE, communication); + case -2058947787: /*managingOrganization*/ return new Property("managingOrganization", "Reference(Organization)", "The organization that is the custodian of the person record.", 0, 1, managingOrganization); case 3321850: /*link*/ return new Property("link", "", "Link to a resource that concerns the same actual person.", 0, java.lang.Integer.MAX_VALUE, link); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1416,8 +1416,8 @@ public class Person extends DomainResource { case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address case 1756919302: /*maritalStatus*/ return this.maritalStatus == null ? new Base[0] : new Base[] {this.maritalStatus}; // CodeableConcept case 106642994: /*photo*/ return this.photo == null ? new Base[0] : this.photo.toArray(new Base[this.photo.size()]); // Attachment - case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference case -1035284522: /*communication*/ return this.communication == null ? new Base[0] : this.communication.toArray(new Base[this.communication.size()]); // PersonCommunicationComponent + case -2058947787: /*managingOrganization*/ return this.managingOrganization == null ? new Base[0] : new Base[] {this.managingOrganization}; // Reference case 3321850: /*link*/ return this.link == null ? new Base[0] : this.link.toArray(new Base[this.link.size()]); // PersonLinkComponent default: return super.getProperty(hash, name, checkValid); } @@ -1458,12 +1458,12 @@ public class Person extends DomainResource { case 106642994: // photo this.getPhoto().add(TypeConvertor.castToAttachment(value)); // Attachment return value; - case -2058947787: // managingOrganization - this.managingOrganization = TypeConvertor.castToReference(value); // Reference - return value; case -1035284522: // communication this.getCommunication().add((PersonCommunicationComponent) value); // PersonCommunicationComponent return value; + case -2058947787: // managingOrganization + this.managingOrganization = TypeConvertor.castToReference(value); // Reference + return value; case 3321850: // link this.getLink().add((PersonLinkComponent) value); // PersonLinkComponent return value; @@ -1495,10 +1495,10 @@ public class Person extends DomainResource { this.maritalStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("photo")) { this.getPhoto().add(TypeConvertor.castToAttachment(value)); - } else if (name.equals("managingOrganization")) { - this.managingOrganization = TypeConvertor.castToReference(value); // Reference } else if (name.equals("communication")) { this.getCommunication().add((PersonCommunicationComponent) value); + } else if (name.equals("managingOrganization")) { + this.managingOrganization = TypeConvertor.castToReference(value); // Reference } else if (name.equals("link")) { this.getLink().add((PersonLinkComponent) value); } else @@ -1520,8 +1520,8 @@ public class Person extends DomainResource { case -1147692044: return addAddress(); case 1756919302: return getMaritalStatus(); case 106642994: return addPhoto(); - case -2058947787: return getManagingOrganization(); case -1035284522: return addCommunication(); + case -2058947787: return getManagingOrganization(); case 3321850: return addLink(); default: return super.makeProperty(hash, name); } @@ -1541,8 +1541,8 @@ public class Person extends DomainResource { case -1147692044: /*address*/ return new String[] {"Address"}; case 1756919302: /*maritalStatus*/ return new String[] {"CodeableConcept"}; case 106642994: /*photo*/ return new String[] {"Attachment"}; - case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; case -1035284522: /*communication*/ return new String[] {}; + case -2058947787: /*managingOrganization*/ return new String[] {"Reference"}; case 3321850: /*link*/ return new String[] {}; default: return super.getTypesForProperty(hash, name); } @@ -1587,13 +1587,13 @@ public class Person extends DomainResource { else if (name.equals("photo")) { return addPhoto(); } + else if (name.equals("communication")) { + return addCommunication(); + } else if (name.equals("managingOrganization")) { this.managingOrganization = new Reference(); return this.managingOrganization; } - else if (name.equals("communication")) { - return addCommunication(); - } else if (name.equals("link")) { return addLink(); } @@ -1644,12 +1644,12 @@ public class Person extends DomainResource { for (Attachment i : photo) dst.photo.add(i.copy()); }; - dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); if (communication != null) { dst.communication = new ArrayList(); for (PersonCommunicationComponent i : communication) dst.communication.add(i.copy()); }; + dst.managingOrganization = managingOrganization == null ? null : managingOrganization.copy(); if (link != null) { dst.link = new ArrayList(); for (PersonLinkComponent i : link) @@ -1671,8 +1671,8 @@ public class Person extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(name, o.name, true) && compareDeep(telecom, o.telecom, true) && compareDeep(gender, o.gender, true) && compareDeep(birthDate, o.birthDate, true) && compareDeep(deceased, o.deceased, true) && compareDeep(address, o.address, true) && compareDeep(maritalStatus, o.maritalStatus, true) - && compareDeep(photo, o.photo, true) && compareDeep(managingOrganization, o.managingOrganization, true) - && compareDeep(communication, o.communication, true) && compareDeep(link, o.link, true); + && compareDeep(photo, o.photo, true) && compareDeep(communication, o.communication, true) && compareDeep(managingOrganization, o.managingOrganization, true) + && compareDeep(link, o.link, true); } @Override @@ -1688,8 +1688,8 @@ public class Person extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, name - , telecom, gender, birthDate, deceased, address, maritalStatus, photo, managingOrganization - , communication, link); + , telecom, gender, birthDate, deceased, address, maritalStatus, photo, communication + , managingOrganization, link); } @Override @@ -2181,10 +2181,10 @@ public class Person extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ - @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) + @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) public static final String SP_EMAIL = "email"; /** * Fluent Client search parameter constant for email @@ -2198,7 +2198,7 @@ public class Person extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); @@ -2247,10 +2247,10 @@ public class Person extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ - @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) + @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) public static final String SP_PHONE = "phone"; /** * Fluent Client search parameter constant for phone @@ -2264,7 +2264,7 @@ public class Person extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); @@ -2313,10 +2313,10 @@ public class Person extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ - @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) + @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) public static final String SP_TELECOM = "telecom"; /** * Fluent Client search parameter constant for telecom @@ -2330,7 +2330,7 @@ public class Person extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PlanDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PlanDefinition.java index d1e02026c..f0009ecb9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PlanDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PlanDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1330,19 +1330,26 @@ public class PlanDefinition extends MetadataResource { /** * The type of participant in the action. */ - @Child(name = "typeReference", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Child(name = "typeCanonical", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) + protected CanonicalType typeCanonical; + + /** + * The type of participant in the action. + */ + @Child(name = "typeReference", type = {CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) protected Reference typeReference; /** * The role the participant should play in performing the described action. */ - @Child(name = "role", type = {CodeableConcept.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "role", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="E.g. Nurse, Surgeon, Parent", formalDefinition="The role the participant should play in performing the described action." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") protected CodeableConcept role; - private static final long serialVersionUID = -1613816809L; + private static final long serialVersionUID = 1881639157L; /** * Constructor @@ -1400,6 +1407,55 @@ public class PlanDefinition extends MetadataResource { return this; } + /** + * @return {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public CanonicalType getTypeCanonicalElement() { + if (this.typeCanonical == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PlanDefinitionActorOptionComponent.typeCanonical"); + else if (Configuration.doAutoCreate()) + this.typeCanonical = new CanonicalType(); // bb + return this.typeCanonical; + } + + public boolean hasTypeCanonicalElement() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + public boolean hasTypeCanonical() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + /** + * @param value {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public PlanDefinitionActorOptionComponent setTypeCanonicalElement(CanonicalType value) { + this.typeCanonical = value; + return this; + } + + /** + * @return The type of participant in the action. + */ + public String getTypeCanonical() { + return this.typeCanonical == null ? null : this.typeCanonical.getValue(); + } + + /** + * @param value The type of participant in the action. + */ + public PlanDefinitionActorOptionComponent setTypeCanonical(String value) { + if (Utilities.noString(value)) + this.typeCanonical = null; + else { + if (this.typeCanonical == null) + this.typeCanonical = new CanonicalType(); + this.typeCanonical.setValue(value); + } + return this; + } + /** * @return {@link #typeReference} (The type of participant in the action.) */ @@ -1451,7 +1507,8 @@ public class PlanDefinition extends MetadataResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); - children.add(new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); + children.add(new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical)); + children.add(new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); } @@ -1459,7 +1516,8 @@ public class PlanDefinition extends MetadataResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); - case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); + case -466635046: /*typeCanonical*/ return new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical); + case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1470,6 +1528,7 @@ public class PlanDefinition extends MetadataResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case -466635046: /*typeCanonical*/ return this.typeCanonical == null ? new Base[0] : new Base[] {this.typeCanonical}; // CanonicalType case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept default: return super.getProperty(hash, name, checkValid); @@ -1484,6 +1543,9 @@ public class PlanDefinition extends MetadataResource { value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration return value; + case -466635046: // typeCanonical + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + return value; case 2074825009: // typeReference this.typeReference = TypeConvertor.castToReference(value); // Reference return value; @@ -1500,6 +1562,8 @@ public class PlanDefinition extends MetadataResource { if (name.equals("type")) { value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration + } else if (name.equals("typeCanonical")) { + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("typeReference")) { this.typeReference = TypeConvertor.castToReference(value); // Reference } else if (name.equals("role")) { @@ -1513,6 +1577,7 @@ public class PlanDefinition extends MetadataResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: return getTypeElement(); + case -466635046: return getTypeCanonicalElement(); case 2074825009: return getTypeReference(); case 3506294: return getRole(); default: return super.makeProperty(hash, name); @@ -1524,6 +1589,7 @@ public class PlanDefinition extends MetadataResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"code"}; + case -466635046: /*typeCanonical*/ return new String[] {"canonical"}; case 2074825009: /*typeReference*/ return new String[] {"Reference"}; case 3506294: /*role*/ return new String[] {"CodeableConcept"}; default: return super.getTypesForProperty(hash, name); @@ -1536,6 +1602,9 @@ public class PlanDefinition extends MetadataResource { if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type PlanDefinition.actor.option.type"); } + else if (name.equals("typeCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type PlanDefinition.actor.option.typeCanonical"); + } else if (name.equals("typeReference")) { this.typeReference = new Reference(); return this.typeReference; @@ -1557,6 +1626,7 @@ public class PlanDefinition extends MetadataResource { public void copyValues(PlanDefinitionActorOptionComponent dst) { super.copyValues(dst); dst.type = type == null ? null : type.copy(); + dst.typeCanonical = typeCanonical == null ? null : typeCanonical.copy(); dst.typeReference = typeReference == null ? null : typeReference.copy(); dst.role = role == null ? null : role.copy(); } @@ -1568,8 +1638,8 @@ public class PlanDefinition extends MetadataResource { if (!(other_ instanceof PlanDefinitionActorOptionComponent)) return false; PlanDefinitionActorOptionComponent o = (PlanDefinitionActorOptionComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(typeReference, o.typeReference, true) && compareDeep(role, o.role, true) - ; + return compareDeep(type, o.type, true) && compareDeep(typeCanonical, o.typeCanonical, true) && compareDeep(typeReference, o.typeReference, true) + && compareDeep(role, o.role, true); } @Override @@ -1579,12 +1649,12 @@ public class PlanDefinition extends MetadataResource { if (!(other_ instanceof PlanDefinitionActorOptionComponent)) return false; PlanDefinitionActorOptionComponent o = (PlanDefinitionActorOptionComponent) other_; - return compareValues(type, o.type, true); + return compareValues(type, o.type, true) && compareValues(typeCanonical, o.typeCanonical, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeReference, role - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeCanonical, typeReference + , role); } public String fhirType() { @@ -1597,10 +1667,10 @@ public class PlanDefinition extends MetadataResource { @Block() public static class PlanDefinitionActionComponent extends BackboneElement implements IBaseBackboneElement { /** - * An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup. + * An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration. */ @Child(name = "linkId", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Unique id for the action in the PlanDefinition", formalDefinition="An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup." ) + @Description(shortDefinition="Unique id for the action in the PlanDefinition", formalDefinition="An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration." ) protected StringType linkId; /** @@ -1674,7 +1744,7 @@ public class PlanDefinition extends MetadataResource { */ @Child(name = "subject", type = {CodeableConcept.class, Group.class, CanonicalType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Type of individual the action is focused on", formalDefinition="A code, group definition, or canonical reference that describes the intended subject of the action and its children, if any. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -1819,7 +1889,7 @@ public class PlanDefinition extends MetadataResource { } /** - * @return {@link #linkId} (An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value + * @return {@link #linkId} (An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value */ public StringType getLinkIdElement() { if (this.linkId == null) @@ -1839,7 +1909,7 @@ public class PlanDefinition extends MetadataResource { } /** - * @param value {@link #linkId} (An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value + * @param value {@link #linkId} (An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value */ public PlanDefinitionActionComponent setLinkIdElement(StringType value) { this.linkId = value; @@ -1847,14 +1917,14 @@ public class PlanDefinition extends MetadataResource { } /** - * @return An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup. + * @return An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration. */ public String getLinkId() { return this.linkId == null ? null : this.linkId.getValue(); } /** - * @param value An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup. + * @param value An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration. */ public PlanDefinitionActionComponent setLinkId(String value) { if (Utilities.noString(value)) @@ -3269,7 +3339,7 @@ public class PlanDefinition extends MetadataResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("linkId", "string", "An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup.", 0, 1, linkId)); + children.add(new Property("linkId", "string", "An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration.", 0, 1, linkId)); children.add(new Property("prefix", "string", "A user-visible prefix for the action. For example a section or item numbering such as 1. or A.", 0, 1, prefix)); children.add(new Property("title", "string", "The textual description of the action displayed to a user. For example, when the action is a test to be performed, the title would be the title of the test such as Assay by HPLC.", 0, 1, title)); children.add(new Property("description", "string", "A brief description of the action used to provide a summary to display to the user.", 0, 1, description)); @@ -3303,7 +3373,7 @@ public class PlanDefinition extends MetadataResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1102667083: /*linkId*/ return new Property("linkId", "string", "An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestGroup.", 0, 1, linkId); + case -1102667083: /*linkId*/ return new Property("linkId", "string", "An identifier that is unique within the PlanDefinition to allow linkage within the realized CarePlan and/or RequestOrchestration.", 0, 1, linkId); case -980110702: /*prefix*/ return new Property("prefix", "string", "A user-visible prefix for the action. For example a section or item numbering such as 1. or A.", 0, 1, prefix); case 110371416: /*title*/ return new Property("title", "string", "The textual description of the action displayed to a user. For example, when the action is a test to be performed, the title would be the title of the test such as Assay by HPLC.", 0, 1, title); case -1724546052: /*description*/ return new Property("description", "string", "A brief description of the action used to provide a summary to display to the user.", 0, 1, description); @@ -5075,14 +5145,21 @@ public class PlanDefinition extends MetadataResource { /** * The type of participant in the action. */ - @Child(name = "typeReference", type = {CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "typeCanonical", type = {CanonicalType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) + protected CanonicalType typeCanonical; + + /** + * The type of participant in the action. + */ + @Child(name = "typeReference", type = {CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) protected Reference typeReference; /** * The role the participant should play in performing the described action. */ - @Child(name = "role", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "role", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="E.g. Nurse, Surgeon, Parent", formalDefinition="The role the participant should play in performing the described action." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") protected CodeableConcept role; @@ -5090,12 +5167,12 @@ public class PlanDefinition extends MetadataResource { /** * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. */ - @Child(name = "function", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "function", type = {CodeableConcept.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="E.g. Author, Reviewer, Witness, etc.", formalDefinition="Indicates how the actor will be involved in the action - author, reviewer, witness, etc." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-function") protected CodeableConcept function; - private static final long serialVersionUID = -1307587293L; + private static final long serialVersionUID = -1467052283L; /** * Constructor @@ -5202,6 +5279,55 @@ public class PlanDefinition extends MetadataResource { return this; } + /** + * @return {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public CanonicalType getTypeCanonicalElement() { + if (this.typeCanonical == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create PlanDefinitionActionParticipantComponent.typeCanonical"); + else if (Configuration.doAutoCreate()) + this.typeCanonical = new CanonicalType(); // bb + return this.typeCanonical; + } + + public boolean hasTypeCanonicalElement() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + public boolean hasTypeCanonical() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + /** + * @param value {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public PlanDefinitionActionParticipantComponent setTypeCanonicalElement(CanonicalType value) { + this.typeCanonical = value; + return this; + } + + /** + * @return The type of participant in the action. + */ + public String getTypeCanonical() { + return this.typeCanonical == null ? null : this.typeCanonical.getValue(); + } + + /** + * @param value The type of participant in the action. + */ + public PlanDefinitionActionParticipantComponent setTypeCanonical(String value) { + if (Utilities.noString(value)) + this.typeCanonical = null; + else { + if (this.typeCanonical == null) + this.typeCanonical = new CanonicalType(); + this.typeCanonical.setValue(value); + } + return this; + } + /** * @return {@link #typeReference} (The type of participant in the action.) */ @@ -5278,7 +5404,8 @@ public class PlanDefinition extends MetadataResource { super.listChildren(children); children.add(new Property("actorId", "string", "A reference to the id element of the actor who will participate in this action.", 0, 1, actorId)); children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); - children.add(new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); + children.add(new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical)); + children.add(new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); children.add(new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function)); } @@ -5288,7 +5415,8 @@ public class PlanDefinition extends MetadataResource { switch (_hash) { case -1161623056: /*actorId*/ return new Property("actorId", "string", "A reference to the id element of the actor who will participate in this action.", 0, 1, actorId); case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); - case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); + case -466635046: /*typeCanonical*/ return new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical); + case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -5301,6 +5429,7 @@ public class PlanDefinition extends MetadataResource { switch (hash) { case -1161623056: /*actorId*/ return this.actorId == null ? new Base[0] : new Base[] {this.actorId}; // StringType case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case -466635046: /*typeCanonical*/ return this.typeCanonical == null ? new Base[0] : new Base[] {this.typeCanonical}; // CanonicalType case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept @@ -5319,6 +5448,9 @@ public class PlanDefinition extends MetadataResource { value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration return value; + case -466635046: // typeCanonical + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + return value; case 2074825009: // typeReference this.typeReference = TypeConvertor.castToReference(value); // Reference return value; @@ -5340,6 +5472,8 @@ public class PlanDefinition extends MetadataResource { } else if (name.equals("type")) { value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration + } else if (name.equals("typeCanonical")) { + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("typeReference")) { this.typeReference = TypeConvertor.castToReference(value); // Reference } else if (name.equals("role")) { @@ -5356,6 +5490,7 @@ public class PlanDefinition extends MetadataResource { switch (hash) { case -1161623056: return getActorIdElement(); case 3575610: return getTypeElement(); + case -466635046: return getTypeCanonicalElement(); case 2074825009: return getTypeReference(); case 3506294: return getRole(); case 1380938712: return getFunction(); @@ -5369,6 +5504,7 @@ public class PlanDefinition extends MetadataResource { switch (hash) { case -1161623056: /*actorId*/ return new String[] {"string"}; case 3575610: /*type*/ return new String[] {"code"}; + case -466635046: /*typeCanonical*/ return new String[] {"canonical"}; case 2074825009: /*typeReference*/ return new String[] {"Reference"}; case 3506294: /*role*/ return new String[] {"CodeableConcept"}; case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; @@ -5385,6 +5521,9 @@ public class PlanDefinition extends MetadataResource { else if (name.equals("type")) { throw new FHIRException("Cannot call addChild on a primitive type PlanDefinition.action.participant.type"); } + else if (name.equals("typeCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type PlanDefinition.action.participant.typeCanonical"); + } else if (name.equals("typeReference")) { this.typeReference = new Reference(); return this.typeReference; @@ -5411,6 +5550,7 @@ public class PlanDefinition extends MetadataResource { super.copyValues(dst); dst.actorId = actorId == null ? null : actorId.copy(); dst.type = type == null ? null : type.copy(); + dst.typeCanonical = typeCanonical == null ? null : typeCanonical.copy(); dst.typeReference = typeReference == null ? null : typeReference.copy(); dst.role = role == null ? null : role.copy(); dst.function = function == null ? null : function.copy(); @@ -5423,8 +5563,9 @@ public class PlanDefinition extends MetadataResource { if (!(other_ instanceof PlanDefinitionActionParticipantComponent)) return false; PlanDefinitionActionParticipantComponent o = (PlanDefinitionActionParticipantComponent) other_; - return compareDeep(actorId, o.actorId, true) && compareDeep(type, o.type, true) && compareDeep(typeReference, o.typeReference, true) - && compareDeep(role, o.role, true) && compareDeep(function, o.function, true); + return compareDeep(actorId, o.actorId, true) && compareDeep(type, o.type, true) && compareDeep(typeCanonical, o.typeCanonical, true) + && compareDeep(typeReference, o.typeReference, true) && compareDeep(role, o.role, true) && compareDeep(function, o.function, true) + ; } @Override @@ -5434,12 +5575,13 @@ public class PlanDefinition extends MetadataResource { if (!(other_ instanceof PlanDefinitionActionParticipantComponent)) return false; PlanDefinitionActionParticipantComponent o = (PlanDefinitionActionParticipantComponent) other_; - return compareValues(actorId, o.actorId, true) && compareValues(type, o.type, true); + return compareValues(actorId, o.actorId, true) && compareValues(type, o.type, true) && compareValues(typeCanonical, o.typeCanonical, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actorId, type, typeReference - , role, function); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(actorId, type, typeCanonical + , typeReference, role, function); } public String fhirType() { @@ -5675,10 +5817,10 @@ public class PlanDefinition extends MetadataResource { } /** - * An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers. + * An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this plan definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this plan definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers." ) protected UriType url; /** @@ -5742,9 +5884,9 @@ public class PlanDefinition extends MetadataResource { /** * A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource. */ - @Child(name = "subject", type = {CodeableConcept.class, Group.class, CanonicalType.class}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "subject", type = {CodeableConcept.class, Group.class, MedicinalProductDefinition.class, SubstanceDefinition.class, AdministrableProductDefinition.class, ManufacturedItemDefinition.class, PackagedProductDefinition.class, CanonicalType.class}, order=9, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Type of individual the plan definition is focused on", formalDefinition="A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subject-type") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/participant-resource-types") protected DataType subject; /** @@ -5755,10 +5897,10 @@ public class PlanDefinition extends MetadataResource { protected DateTimeType date; /** - * The name of the organization or individual that published the plan definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition. */ @Child(name = "publisher", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the plan definition." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition." ) protected StringType publisher; /** @@ -5903,7 +6045,15 @@ public class PlanDefinition extends MetadataResource { @Description(shortDefinition="Action defined by the plan", formalDefinition="An action or group of actions to be taken as part of the plan. For example, in clinical care, an action would be to prescribe a particular indicated medication, or perform a particular test as appropriate. In pharmaceutical quality, an action would be the test that needs to be performed on a drug product as defined in the quality specification." ) protected List action; - private static final long serialVersionUID = -2104269622L; + /** + * If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc. + */ + @Child(name = "asNeeded", type = {BooleanType.class, CodeableConcept.class}, order=32, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Preconditions for service", formalDefinition="If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/medication-as-needed-reason") + protected DataType asNeeded; + + private static final long serialVersionUID = -915510607L; /** * Constructor @@ -5921,7 +6071,7 @@ public class PlanDefinition extends MetadataResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -5941,7 +6091,7 @@ public class PlanDefinition extends MetadataResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public PlanDefinition setUrlElement(UriType value) { this.url = value; @@ -5949,14 +6099,14 @@ public class PlanDefinition extends MetadataResource { } /** - * @return An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers. + * @return An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers. + * @param value An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers. */ public PlanDefinition setUrl(String value) { if (Utilities.noString(value)) @@ -6448,7 +6598,7 @@ public class PlanDefinition extends MetadataResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the plan definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -6468,7 +6618,7 @@ public class PlanDefinition extends MetadataResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the plan definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public PlanDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -6476,14 +6626,14 @@ public class PlanDefinition extends MetadataResource { } /** - * @return The name of the organization or individual that published the plan definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the plan definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition. */ public PlanDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -7511,9 +7661,137 @@ public class PlanDefinition extends MetadataResource { return getAction().get(0); } + /** + * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public DataType getAsNeeded() { + return this.asNeeded; + } + + /** + * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public BooleanType getAsNeededBooleanType() throws FHIRException { + if (this.asNeeded == null) + this.asNeeded = new BooleanType(); + if (!(this.asNeeded instanceof BooleanType)) + throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.asNeeded.getClass().getName()+" was encountered"); + return (BooleanType) this.asNeeded; + } + + public boolean hasAsNeededBooleanType() { + return this != null && this.asNeeded instanceof BooleanType; + } + + /** + * @return {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public CodeableConcept getAsNeededCodeableConcept() throws FHIRException { + if (this.asNeeded == null) + this.asNeeded = new CodeableConcept(); + if (!(this.asNeeded instanceof CodeableConcept)) + throw new FHIRException("Type mismatch: the type CodeableConcept was expected, but "+this.asNeeded.getClass().getName()+" was encountered"); + return (CodeableConcept) this.asNeeded; + } + + public boolean hasAsNeededCodeableConcept() { + return this != null && this.asNeeded instanceof CodeableConcept; + } + + public boolean hasAsNeeded() { + return this.asNeeded != null && !this.asNeeded.isEmpty(); + } + + /** + * @param value {@link #asNeeded} (If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example "pain", "on flare-up", etc.) + */ + public PlanDefinition setAsNeeded(DataType value) { + if (value != null && !(value instanceof BooleanType || value instanceof CodeableConcept)) + throw new Error("Not the right type for PlanDefinition.asNeeded[x]: "+value.fhirType()); + this.asNeeded = value; + return this; + } + + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public PlanDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public PlanDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public PlanDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"PlanDefinition\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -7522,9 +7800,9 @@ public class PlanDefinition extends MetadataResource { children.add(new Property("type", "CodeableConcept", "A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition.", 0, 1, type)); children.add(new Property("status", "code", "The status of this plan definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); - children.add(new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical(MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition|EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject)); + children.add(new Property("subject[x]", "CodeableConcept|Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)|canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the plan definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the plan definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the plan definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate plan definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -7545,12 +7823,13 @@ public class PlanDefinition extends MetadataResource { children.add(new Property("goal", "", "A goal describes an expected outcome that activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, meeting the acceptance criteria for a test as specified by a quality specification, etc.", 0, java.lang.Integer.MAX_VALUE, goal)); children.add(new Property("actor", "", "Actors represent the individuals or groups involved in the execution of the defined set of activities.", 0, java.lang.Integer.MAX_VALUE, actor)); children.add(new Property("action", "", "An action or group of actions to be taken as part of the plan. For example, in clinical care, an action would be to prescribe a particular indicated medication, or perform a particular test as appropriate. In pharmaceutical quality, an action would be the test that needs to be performed on a drug product as defined in the quality specification.", 0, java.lang.Integer.MAX_VALUE, action)); + children.add(new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this plan definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this plan definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the plan definition is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this plan definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the plan definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the plan definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. To provide a version consistent with the Decision Support Service specification, use the format Major.Minor.Revision (e.g. 1.0.0). For more information on versioning knowledge assets, refer to the Decision Support Service specification. Note that a version is required for non-experimental active artifacts.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the plan definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -7559,13 +7838,13 @@ public class PlanDefinition extends MetadataResource { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A high-level category for the plan definition that distinguishes the kinds of systems that would be interested in the plan definition.", 0, 1, type); case -892481550: /*status*/ return new Property("status", "code", "The status of this plan definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this plan definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); - case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical(MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition|EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); - case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group)|canonical(MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition|EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case -573640748: /*subject[x]*/ return new Property("subject[x]", "CodeableConcept|Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)|canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject[x]", "CodeableConcept|Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)|canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); case -1257122603: /*subjectCodeableConcept*/ return new Property("subject[x]", "CodeableConcept", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); - case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); - case -1768521432: /*subjectCanonical*/ return new Property("subject[x]", "canonical(MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition|EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case 772938623: /*subjectReference*/ return new Property("subject[x]", "Reference(Group|MedicinalProductDefinition|SubstanceDefinition|AdministrableProductDefinition|ManufacturedItemDefinition|PackagedProductDefinition)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); + case -1768521432: /*subjectCanonical*/ return new Property("subject[x]", "canonical(EvidenceVariable)", "A code, group definition, or canonical reference that describes or identifies the intended subject of the plan definition. Canonical references are allowed to support the definition of protocols for drug and substance quality specifications, and is allowed to reference a MedicinalProductDefinition, SubstanceDefinition, AdministrableProductDefinition, ManufacturedItemDefinition, or PackagedProductDefinition resource.", 0, 1, subject); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the plan definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the plan definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the plan definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the plan definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the plan definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate plan definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -7586,6 +7865,10 @@ public class PlanDefinition extends MetadataResource { case 3178259: /*goal*/ return new Property("goal", "", "A goal describes an expected outcome that activities within the plan are intended to achieve. For example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, meeting the acceptance criteria for a test as specified by a quality specification, etc.", 0, java.lang.Integer.MAX_VALUE, goal); case 92645877: /*actor*/ return new Property("actor", "", "Actors represent the individuals or groups involved in the execution of the defined set of activities.", 0, java.lang.Integer.MAX_VALUE, actor); case -1422950858: /*action*/ return new Property("action", "", "An action or group of actions to be taken as part of the plan. For example, in clinical care, an action would be to prescribe a particular indicated medication, or perform a particular test as appropriate. In pharmaceutical quality, an action would be the test that needs to be performed on a drug product as defined in the quality specification.", 0, java.lang.Integer.MAX_VALUE, action); + case -544329575: /*asNeeded[x]*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); + case -1432923513: /*asNeeded*/ return new Property("asNeeded[x]", "boolean|CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); + case -591717471: /*asNeededBoolean*/ return new Property("asNeeded[x]", "boolean", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); + case 1556420122: /*asNeededCodeableConcept*/ return new Property("asNeeded[x]", "CodeableConcept", "If a CodeableConcept is present, it indicates the pre-condition for performing the service. For example \"pain\", \"on flare-up\", etc.", 0, 1, asNeeded); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -7626,6 +7909,7 @@ public class PlanDefinition extends MetadataResource { case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // PlanDefinitionGoalComponent case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // PlanDefinitionActorComponent case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // PlanDefinitionActionComponent + case -1432923513: /*asNeeded*/ return this.asNeeded == null ? new Base[0] : new Base[] {this.asNeeded}; // DataType default: return super.getProperty(hash, name, checkValid); } @@ -7731,6 +8015,9 @@ public class PlanDefinition extends MetadataResource { case -1422950858: // action this.getAction().add((PlanDefinitionActionComponent) value); // PlanDefinitionActionComponent return value; + case -1432923513: // asNeeded + this.asNeeded = TypeConvertor.castToType(value); // DataType + return value; default: return super.setProperty(hash, name, value); } @@ -7803,6 +8090,8 @@ public class PlanDefinition extends MetadataResource { this.getActor().add((PlanDefinitionActorComponent) value); } else if (name.equals("action")) { this.getAction().add((PlanDefinitionActionComponent) value); + } else if (name.equals("asNeeded[x]")) { + this.asNeeded = TypeConvertor.castToType(value); // DataType } else return super.setProperty(name, value); return value; @@ -7844,6 +8133,8 @@ public class PlanDefinition extends MetadataResource { case 3178259: return addGoal(); case 92645877: return addActor(); case -1422950858: return addAction(); + case -544329575: return getAsNeeded(); + case -1432923513: return getAsNeeded(); default: return super.makeProperty(hash, name); } @@ -7884,6 +8175,7 @@ public class PlanDefinition extends MetadataResource { case 3178259: /*goal*/ return new String[] {}; case 92645877: /*actor*/ return new String[] {}; case -1422950858: /*action*/ return new String[] {}; + case -1432923513: /*asNeeded*/ return new String[] {"boolean", "CodeableConcept"}; default: return super.getTypesForProperty(hash, name); } @@ -7998,6 +8290,14 @@ public class PlanDefinition extends MetadataResource { else if (name.equals("action")) { return addAction(); } + else if (name.equals("asNeededBoolean")) { + this.asNeeded = new BooleanType(); + return this.asNeeded; + } + else if (name.equals("asNeededCodeableConcept")) { + this.asNeeded = new CodeableConcept(); + return this.asNeeded; + } else return super.addChild(name); } @@ -8103,6 +8403,7 @@ public class PlanDefinition extends MetadataResource { for (PlanDefinitionActionComponent i : action) dst.action.add(i.copy()); }; + dst.asNeeded = asNeeded == null ? null : asNeeded.copy(); } protected PlanDefinition typedCopy() { @@ -8127,7 +8428,7 @@ public class PlanDefinition extends MetadataResource { && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) && compareDeep(editor, o.editor, true) && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(library, o.library, true) && compareDeep(goal, o.goal, true) && compareDeep(actor, o.actor, true) - && compareDeep(action, o.action, true); + && compareDeep(action, o.action, true) && compareDeep(asNeeded, o.asNeeded, true); } @Override @@ -8151,7 +8452,7 @@ public class PlanDefinition extends MetadataResource { , name, title, subtitle, type, status, experimental, subject, date, publisher , contact, description, useContext, jurisdiction, purpose, usage, copyright, approvalDate , lastReviewDate, effectivePeriod, topic, author, editor, reviewer, endorser, relatedArtifact - , library, goal, actor, action); + , library, goal, actor, action, asNeeded); } @Override @@ -8167,7 +8468,7 @@ public class PlanDefinition extends MetadataResource { * Path: PlanDefinition.relatedArtifact.where(type='composed-of').resource
*

*/ - @SearchParamDefinition(name="composed-of", path="PlanDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="composed-of", path="PlanDefinition.relatedArtifact.where(type='composed-of').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_COMPOSED_OF = "composed-of"; /** * Fluent Client search parameter constant for composed-of @@ -8339,7 +8640,7 @@ public class PlanDefinition extends MetadataResource { * Path: PlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library
*

*/ - @SearchParamDefinition(name="depends-on", path="PlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="depends-on", path="PlanDefinition.relatedArtifact.where(type='depends-on').resource | PlanDefinition.library", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DEPENDS_ON = "depends-on"; /** * Fluent Client search parameter constant for depends-on @@ -8365,7 +8666,7 @@ public class PlanDefinition extends MetadataResource { * Path: PlanDefinition.relatedArtifact.where(type='derived-from').resource
*

*/ - @SearchParamDefinition(name="derived-from", path="PlanDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="derived-from", path="PlanDefinition.relatedArtifact.where(type='derived-from').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_DERIVED_FROM = "derived-from"; /** * Fluent Client search parameter constant for derived-from @@ -8491,7 +8792,7 @@ public class PlanDefinition extends MetadataResource { * Path: PlanDefinition.relatedArtifact.where(type='predecessor').resource
*

*/ - @SearchParamDefinition(name="predecessor", path="PlanDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="predecessor", path="PlanDefinition.relatedArtifact.where(type='predecessor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_PREDECESSOR = "predecessor"; /** * Fluent Client search parameter constant for predecessor @@ -8557,7 +8858,7 @@ public class PlanDefinition extends MetadataResource { * Path: PlanDefinition.relatedArtifact.where(type='successor').resource
*

*/ - @SearchParamDefinition(name="successor", path="PlanDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="successor", path="PlanDefinition.relatedArtifact.where(type='successor').resource", description="What resource is being referenced", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUCCESSOR = "successor"; /** * Fluent Client search parameter constant for successor diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Population.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Population.java index 4cf91f19c..8eeccb3d7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Population.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Population.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Population Type: A populatioof people with some set of grouping criteria. + * Population Type: A populatioof people with some set of grouping criteria. */ @DatatypeDef(name="Population") public class Population extends BackboneType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Practitioner.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Practitioner.java index 299c9b91b..fb7ab9496 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Practitioner.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Practitioner.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * A person who is directly or indirectly involved in the provisioning of healthcare. + * A person who is directly or indirectly involved in the provisioning of healthcare or related services. */ @ResourceDef(name="Practitioner", profile="http://hl7.org/fhir/StructureDefinition/Practitioner") public class Practitioner extends DomainResource { @@ -56,10 +56,10 @@ public class Practitioner extends DomainResource { @Block() public static class PractitionerQualificationComponent extends BackboneElement implements IBaseBackboneElement { /** - * An identifier that applies to this person's qualification in this role. + * An identifier that applies to this person's qualification. */ @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="An identifier for this qualification for the practitioner", formalDefinition="An identifier that applies to this person's qualification in this role." ) + @Description(shortDefinition="An identifier for this qualification for the practitioner", formalDefinition="An identifier that applies to this person's qualification." ) protected List identifier; /** @@ -102,7 +102,7 @@ public class Practitioner extends DomainResource { } /** - * @return {@link #identifier} (An identifier that applies to this person's qualification in this role.) + * @return {@link #identifier} (An identifier that applies to this person's qualification.) */ public List getIdentifier() { if (this.identifier == null) @@ -228,7 +228,7 @@ public class Practitioner extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("identifier", "Identifier", "An identifier that applies to this person's qualification in this role.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("identifier", "Identifier", "An identifier that applies to this person's qualification.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("code", "CodeableConcept", "Coded representation of the qualification.", 0, 1, code)); children.add(new Property("period", "Period", "Period during which the qualification is valid.", 0, 1, period)); children.add(new Property("issuer", "Reference(Organization)", "Organization that regulates and issues the qualification.", 0, 1, issuer)); @@ -237,7 +237,7 @@ public class Practitioner extends DomainResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "An identifier that applies to this person's qualification in this role.", 0, java.lang.Integer.MAX_VALUE, identifier); + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "An identifier that applies to this person's qualification.", 0, java.lang.Integer.MAX_VALUE, identifier); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Coded representation of the qualification.", 0, 1, code); case -991726143: /*period*/ return new Property("period", "Period", "Period during which the qualification is valid.", 0, 1, period); case -1179159879: /*issuer*/ return new Property("issuer", "Reference(Organization)", "Organization that regulates and issues the qualification.", 0, 1, issuer); @@ -399,7 +399,7 @@ public class Practitioner extends DomainResource { /** * Whether this practitioner's record is in active use. */ - @Child(name = "active", type = {BooleanType.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Child(name = "active", type = {BooleanType.class}, order=1, min=0, max=1, modifier=true, summary=true) @Description(shortDefinition="Whether this practitioner's record is in active use", formalDefinition="Whether this practitioner's record is in active use." ) protected BooleanType active; @@ -417,24 +417,10 @@ public class Practitioner extends DomainResource { @Description(shortDefinition="A contact detail for the practitioner (that apply to all roles)", formalDefinition="A contact detail for the practitioner, e.g. a telephone number or an email address." ) protected List telecom; - /** - * Indicates if the practitioner is deceased or not. - */ - @Child(name = "deceased", type = {BooleanType.class, DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Indicates if the practitioner is deceased or not", formalDefinition="Indicates if the practitioner is deceased or not." ) - protected DataType deceased; - - /** - * Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent. - */ - @Child(name = "address", type = {Address.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Address(es) of the practitioner that are not role specific (typically home address)", formalDefinition="Address(es) of the practitioner that are not role specific (typically home address). \rWork addresses are not typically entered in this property as they are usually role dependent." ) - protected List
address; - /** * Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. */ - @Child(name = "gender", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "gender", type = {CodeType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="male | female | other | unknown", formalDefinition="Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/administrative-gender") protected Enumeration gender; @@ -442,10 +428,24 @@ public class Practitioner extends DomainResource { /** * The date of birth for the practitioner. */ - @Child(name = "birthDate", type = {DateType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "birthDate", type = {DateType.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The date on which the practitioner was born", formalDefinition="The date of birth for the practitioner." ) protected DateType birthDate; + /** + * Indicates if the practitioner is deceased or not. + */ + @Child(name = "deceased", type = {BooleanType.class, DateTimeType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Indicates if the practitioner is deceased or not", formalDefinition="Indicates if the practitioner is deceased or not." ) + protected DataType deceased; + + /** + * Address(es) of the practitioner that are not role specific (typically home address). Work addresses are not typically entered in this property as they are usually role dependent. + */ + @Child(name = "address", type = {Address.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Address(es) of the practitioner that are not role specific (typically home address)", formalDefinition="Address(es) of the practitioner that are not role specific (typically home address). \rWork addresses are not typically entered in this property as they are usually role dependent." ) + protected List
address; + /** * Image of the person. */ @@ -454,10 +454,10 @@ public class Practitioner extends DomainResource { protected List photo; /** - * The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certain locality. + * The official qualifications, certifications, accreditations, training, licenses (and other types of educations/skills/capabilities) that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board of licensure authorizing the practitioner to practice medicine within a certain locality. */ @Child(name = "qualification", type = {}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Certification, licenses, or training pertaining to the provision of care", formalDefinition="The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certain locality." ) + @Description(shortDefinition="Qualifications, certifications, accreditations, licenses, training, etc pertaining to the provision of care", formalDefinition="The official qualifications, certifications, accreditations, training, licenses (and other types of educations/skills/capabilities) that authorize or otherwise pertain to the provision of care by the practitioner.\r\rFor example, a medical license issued by a medical board of licensure authorizing the practitioner to practice medicine within a certain locality." ) protected List qualification; /** @@ -468,7 +468,7 @@ public class Practitioner extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") protected List communication; - private static final long serialVersionUID = 908417317L; + private static final long serialVersionUID = 20718373L; /** * Constructor @@ -681,6 +681,104 @@ public class Practitioner extends DomainResource { return getTelecom().get(0); } + /** + * @return {@link #gender} (Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value + */ + public Enumeration getGenderElement() { + if (this.gender == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Practitioner.gender"); + else if (Configuration.doAutoCreate()) + this.gender = new Enumeration(new AdministrativeGenderEnumFactory()); // bb + return this.gender; + } + + public boolean hasGenderElement() { + return this.gender != null && !this.gender.isEmpty(); + } + + public boolean hasGender() { + return this.gender != null && !this.gender.isEmpty(); + } + + /** + * @param value {@link #gender} (Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value + */ + public Practitioner setGenderElement(Enumeration value) { + this.gender = value; + return this; + } + + /** + * @return Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. + */ + public AdministrativeGender getGender() { + return this.gender == null ? null : this.gender.getValue(); + } + + /** + * @param value Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. + */ + public Practitioner setGender(AdministrativeGender value) { + if (value == null) + this.gender = null; + else { + if (this.gender == null) + this.gender = new Enumeration(new AdministrativeGenderEnumFactory()); + this.gender.setValue(value); + } + return this; + } + + /** + * @return {@link #birthDate} (The date of birth for the practitioner.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value + */ + public DateType getBirthDateElement() { + if (this.birthDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Practitioner.birthDate"); + else if (Configuration.doAutoCreate()) + this.birthDate = new DateType(); // bb + return this.birthDate; + } + + public boolean hasBirthDateElement() { + return this.birthDate != null && !this.birthDate.isEmpty(); + } + + public boolean hasBirthDate() { + return this.birthDate != null && !this.birthDate.isEmpty(); + } + + /** + * @param value {@link #birthDate} (The date of birth for the practitioner.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value + */ + public Practitioner setBirthDateElement(DateType value) { + this.birthDate = value; + return this; + } + + /** + * @return The date of birth for the practitioner. + */ + public Date getBirthDate() { + return this.birthDate == null ? null : this.birthDate.getValue(); + } + + /** + * @param value The date of birth for the practitioner. + */ + public Practitioner setBirthDate(Date value) { + if (value == null) + this.birthDate = null; + else { + if (this.birthDate == null) + this.birthDate = new DateType(); + this.birthDate.setValue(value); + } + return this; + } + /** * @return {@link #deceased} (Indicates if the practitioner is deceased or not.) */ @@ -785,104 +883,6 @@ public class Practitioner extends DomainResource { return getAddress().get(0); } - /** - * @return {@link #gender} (Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value - */ - public Enumeration getGenderElement() { - if (this.gender == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Practitioner.gender"); - else if (Configuration.doAutoCreate()) - this.gender = new Enumeration(new AdministrativeGenderEnumFactory()); // bb - return this.gender; - } - - public boolean hasGenderElement() { - return this.gender != null && !this.gender.isEmpty(); - } - - public boolean hasGender() { - return this.gender != null && !this.gender.isEmpty(); - } - - /** - * @param value {@link #gender} (Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.). This is the underlying object with id, value and extensions. The accessor "getGender" gives direct access to the value - */ - public Practitioner setGenderElement(Enumeration value) { - this.gender = value; - return this; - } - - /** - * @return Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. - */ - public AdministrativeGender getGender() { - return this.gender == null ? null : this.gender.getValue(); - } - - /** - * @param value Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes. - */ - public Practitioner setGender(AdministrativeGender value) { - if (value == null) - this.gender = null; - else { - if (this.gender == null) - this.gender = new Enumeration(new AdministrativeGenderEnumFactory()); - this.gender.setValue(value); - } - return this; - } - - /** - * @return {@link #birthDate} (The date of birth for the practitioner.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value - */ - public DateType getBirthDateElement() { - if (this.birthDate == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Practitioner.birthDate"); - else if (Configuration.doAutoCreate()) - this.birthDate = new DateType(); // bb - return this.birthDate; - } - - public boolean hasBirthDateElement() { - return this.birthDate != null && !this.birthDate.isEmpty(); - } - - public boolean hasBirthDate() { - return this.birthDate != null && !this.birthDate.isEmpty(); - } - - /** - * @param value {@link #birthDate} (The date of birth for the practitioner.). This is the underlying object with id, value and extensions. The accessor "getBirthDate" gives direct access to the value - */ - public Practitioner setBirthDateElement(DateType value) { - this.birthDate = value; - return this; - } - - /** - * @return The date of birth for the practitioner. - */ - public Date getBirthDate() { - return this.birthDate == null ? null : this.birthDate.getValue(); - } - - /** - * @param value The date of birth for the practitioner. - */ - public Practitioner setBirthDate(Date value) { - if (value == null) - this.birthDate = null; - else { - if (this.birthDate == null) - this.birthDate = new DateType(); - this.birthDate.setValue(value); - } - return this; - } - /** * @return {@link #photo} (Image of the person.) */ @@ -937,7 +937,7 @@ public class Practitioner extends DomainResource { } /** - * @return {@link #qualification} (The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certain locality.) + * @return {@link #qualification} (The official qualifications, certifications, accreditations, training, licenses (and other types of educations/skills/capabilities) that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board of licensure authorizing the practitioner to practice medicine within a certain locality.) */ public List getQualification() { if (this.qualification == null) @@ -1048,12 +1048,12 @@ public class Practitioner extends DomainResource { children.add(new Property("active", "boolean", "Whether this practitioner's record is in active use.", 0, 1, active)); children.add(new Property("name", "HumanName", "The name(s) associated with the practitioner.", 0, java.lang.Integer.MAX_VALUE, name)); children.add(new Property("telecom", "ContactPoint", "A contact detail for the practitioner, e.g. a telephone number or an email address.", 0, java.lang.Integer.MAX_VALUE, telecom)); - children.add(new Property("deceased[x]", "boolean|dateTime", "Indicates if the practitioner is deceased or not.", 0, 1, deceased)); - children.add(new Property("address", "Address", "Address(es) of the practitioner that are not role specific (typically home address). \rWork addresses are not typically entered in this property as they are usually role dependent.", 0, java.lang.Integer.MAX_VALUE, address)); children.add(new Property("gender", "code", "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", 0, 1, gender)); children.add(new Property("birthDate", "date", "The date of birth for the practitioner.", 0, 1, birthDate)); + children.add(new Property("deceased[x]", "boolean|dateTime", "Indicates if the practitioner is deceased or not.", 0, 1, deceased)); + children.add(new Property("address", "Address", "Address(es) of the practitioner that are not role specific (typically home address). \rWork addresses are not typically entered in this property as they are usually role dependent.", 0, java.lang.Integer.MAX_VALUE, address)); children.add(new Property("photo", "Attachment", "Image of the person.", 0, java.lang.Integer.MAX_VALUE, photo)); - children.add(new Property("qualification", "", "The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certain locality.", 0, java.lang.Integer.MAX_VALUE, qualification)); + children.add(new Property("qualification", "", "The official qualifications, certifications, accreditations, training, licenses (and other types of educations/skills/capabilities) that authorize or otherwise pertain to the provision of care by the practitioner.\r\rFor example, a medical license issued by a medical board of licensure authorizing the practitioner to practice medicine within a certain locality.", 0, java.lang.Integer.MAX_VALUE, qualification)); children.add(new Property("communication", "CodeableConcept", "A language the practitioner can use in patient communication.", 0, java.lang.Integer.MAX_VALUE, communication)); } @@ -1064,15 +1064,15 @@ public class Practitioner extends DomainResource { case -1422950650: /*active*/ return new Property("active", "boolean", "Whether this practitioner's record is in active use.", 0, 1, active); case 3373707: /*name*/ return new Property("name", "HumanName", "The name(s) associated with the practitioner.", 0, java.lang.Integer.MAX_VALUE, name); case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "A contact detail for the practitioner, e.g. a telephone number or an email address.", 0, java.lang.Integer.MAX_VALUE, telecom); + case -1249512767: /*gender*/ return new Property("gender", "code", "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", 0, 1, gender); + case -1210031859: /*birthDate*/ return new Property("birthDate", "date", "The date of birth for the practitioner.", 0, 1, birthDate); case -1311442804: /*deceased[x]*/ return new Property("deceased[x]", "boolean|dateTime", "Indicates if the practitioner is deceased or not.", 0, 1, deceased); case 561497972: /*deceased*/ return new Property("deceased[x]", "boolean|dateTime", "Indicates if the practitioner is deceased or not.", 0, 1, deceased); case 497463828: /*deceasedBoolean*/ return new Property("deceased[x]", "boolean", "Indicates if the practitioner is deceased or not.", 0, 1, deceased); case -1971804369: /*deceasedDateTime*/ return new Property("deceased[x]", "dateTime", "Indicates if the practitioner is deceased or not.", 0, 1, deceased); case -1147692044: /*address*/ return new Property("address", "Address", "Address(es) of the practitioner that are not role specific (typically home address). \rWork addresses are not typically entered in this property as they are usually role dependent.", 0, java.lang.Integer.MAX_VALUE, address); - case -1249512767: /*gender*/ return new Property("gender", "code", "Administrative Gender - the gender that the person is considered to have for administration and record keeping purposes.", 0, 1, gender); - case -1210031859: /*birthDate*/ return new Property("birthDate", "date", "The date of birth for the practitioner.", 0, 1, birthDate); case 106642994: /*photo*/ return new Property("photo", "Attachment", "Image of the person.", 0, java.lang.Integer.MAX_VALUE, photo); - case -631333393: /*qualification*/ return new Property("qualification", "", "The official certifications, training, and licenses that authorize or otherwise pertain to the provision of care by the practitioner. For example, a medical license issued by a medical board authorizing the practitioner to practice medicine within a certain locality.", 0, java.lang.Integer.MAX_VALUE, qualification); + case -631333393: /*qualification*/ return new Property("qualification", "", "The official qualifications, certifications, accreditations, training, licenses (and other types of educations/skills/capabilities) that authorize or otherwise pertain to the provision of care by the practitioner.\r\rFor example, a medical license issued by a medical board of licensure authorizing the practitioner to practice medicine within a certain locality.", 0, java.lang.Integer.MAX_VALUE, qualification); case -1035284522: /*communication*/ return new Property("communication", "CodeableConcept", "A language the practitioner can use in patient communication.", 0, java.lang.Integer.MAX_VALUE, communication); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1086,10 +1086,10 @@ public class Practitioner extends DomainResource { case -1422950650: /*active*/ return this.active == null ? new Base[0] : new Base[] {this.active}; // BooleanType case 3373707: /*name*/ return this.name == null ? new Base[0] : this.name.toArray(new Base[this.name.size()]); // HumanName case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint - case 561497972: /*deceased*/ return this.deceased == null ? new Base[0] : new Base[] {this.deceased}; // DataType - case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address case -1249512767: /*gender*/ return this.gender == null ? new Base[0] : new Base[] {this.gender}; // Enumeration case -1210031859: /*birthDate*/ return this.birthDate == null ? new Base[0] : new Base[] {this.birthDate}; // DateType + case 561497972: /*deceased*/ return this.deceased == null ? new Base[0] : new Base[] {this.deceased}; // DataType + case -1147692044: /*address*/ return this.address == null ? new Base[0] : this.address.toArray(new Base[this.address.size()]); // Address case 106642994: /*photo*/ return this.photo == null ? new Base[0] : this.photo.toArray(new Base[this.photo.size()]); // Attachment case -631333393: /*qualification*/ return this.qualification == null ? new Base[0] : this.qualification.toArray(new Base[this.qualification.size()]); // PractitionerQualificationComponent case -1035284522: /*communication*/ return this.communication == null ? new Base[0] : this.communication.toArray(new Base[this.communication.size()]); // CodeableConcept @@ -1113,12 +1113,6 @@ public class Practitioner extends DomainResource { case -1429363305: // telecom this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint return value; - case 561497972: // deceased - this.deceased = TypeConvertor.castToType(value); // DataType - return value; - case -1147692044: // address - this.getAddress().add(TypeConvertor.castToAddress(value)); // Address - return value; case -1249512767: // gender value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); this.gender = (Enumeration) value; // Enumeration @@ -1126,6 +1120,12 @@ public class Practitioner extends DomainResource { case -1210031859: // birthDate this.birthDate = TypeConvertor.castToDate(value); // DateType return value; + case 561497972: // deceased + this.deceased = TypeConvertor.castToType(value); // DataType + return value; + case -1147692044: // address + this.getAddress().add(TypeConvertor.castToAddress(value)); // Address + return value; case 106642994: // photo this.getPhoto().add(TypeConvertor.castToAttachment(value)); // Attachment return value; @@ -1150,15 +1150,15 @@ public class Practitioner extends DomainResource { this.getName().add(TypeConvertor.castToHumanName(value)); } else if (name.equals("telecom")) { this.getTelecom().add(TypeConvertor.castToContactPoint(value)); - } else if (name.equals("deceased[x]")) { - this.deceased = TypeConvertor.castToType(value); // DataType - } else if (name.equals("address")) { - this.getAddress().add(TypeConvertor.castToAddress(value)); } else if (name.equals("gender")) { value = new AdministrativeGenderEnumFactory().fromType(TypeConvertor.castToCode(value)); this.gender = (Enumeration) value; // Enumeration } else if (name.equals("birthDate")) { this.birthDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("deceased[x]")) { + this.deceased = TypeConvertor.castToType(value); // DataType + } else if (name.equals("address")) { + this.getAddress().add(TypeConvertor.castToAddress(value)); } else if (name.equals("photo")) { this.getPhoto().add(TypeConvertor.castToAttachment(value)); } else if (name.equals("qualification")) { @@ -1177,11 +1177,11 @@ public class Practitioner extends DomainResource { case -1422950650: return getActiveElement(); case 3373707: return addName(); case -1429363305: return addTelecom(); + case -1249512767: return getGenderElement(); + case -1210031859: return getBirthDateElement(); case -1311442804: return getDeceased(); case 561497972: return getDeceased(); case -1147692044: return addAddress(); - case -1249512767: return getGenderElement(); - case -1210031859: return getBirthDateElement(); case 106642994: return addPhoto(); case -631333393: return addQualification(); case -1035284522: return addCommunication(); @@ -1197,10 +1197,10 @@ public class Practitioner extends DomainResource { case -1422950650: /*active*/ return new String[] {"boolean"}; case 3373707: /*name*/ return new String[] {"HumanName"}; case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; - case 561497972: /*deceased*/ return new String[] {"boolean", "dateTime"}; - case -1147692044: /*address*/ return new String[] {"Address"}; case -1249512767: /*gender*/ return new String[] {"code"}; case -1210031859: /*birthDate*/ return new String[] {"date"}; + case 561497972: /*deceased*/ return new String[] {"boolean", "dateTime"}; + case -1147692044: /*address*/ return new String[] {"Address"}; case 106642994: /*photo*/ return new String[] {"Attachment"}; case -631333393: /*qualification*/ return new String[] {}; case -1035284522: /*communication*/ return new String[] {"CodeableConcept"}; @@ -1223,6 +1223,12 @@ public class Practitioner extends DomainResource { else if (name.equals("telecom")) { return addTelecom(); } + else if (name.equals("gender")) { + throw new FHIRException("Cannot call addChild on a primitive type Practitioner.gender"); + } + else if (name.equals("birthDate")) { + throw new FHIRException("Cannot call addChild on a primitive type Practitioner.birthDate"); + } else if (name.equals("deceasedBoolean")) { this.deceased = new BooleanType(); return this.deceased; @@ -1234,12 +1240,6 @@ public class Practitioner extends DomainResource { else if (name.equals("address")) { return addAddress(); } - else if (name.equals("gender")) { - throw new FHIRException("Cannot call addChild on a primitive type Practitioner.gender"); - } - else if (name.equals("birthDate")) { - throw new FHIRException("Cannot call addChild on a primitive type Practitioner.birthDate"); - } else if (name.equals("photo")) { return addPhoto(); } @@ -1282,14 +1282,14 @@ public class Practitioner extends DomainResource { for (ContactPoint i : telecom) dst.telecom.add(i.copy()); }; + dst.gender = gender == null ? null : gender.copy(); + dst.birthDate = birthDate == null ? null : birthDate.copy(); dst.deceased = deceased == null ? null : deceased.copy(); if (address != null) { dst.address = new ArrayList
(); for (Address i : address) dst.address.add(i.copy()); }; - dst.gender = gender == null ? null : gender.copy(); - dst.birthDate = birthDate == null ? null : birthDate.copy(); if (photo != null) { dst.photo = new ArrayList(); for (Attachment i : photo) @@ -1319,8 +1319,8 @@ public class Practitioner extends DomainResource { return false; Practitioner o = (Practitioner) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(name, o.name, true) - && compareDeep(telecom, o.telecom, true) && compareDeep(deceased, o.deceased, true) && compareDeep(address, o.address, true) - && compareDeep(gender, o.gender, true) && compareDeep(birthDate, o.birthDate, true) && compareDeep(photo, o.photo, true) + && compareDeep(telecom, o.telecom, true) && compareDeep(gender, o.gender, true) && compareDeep(birthDate, o.birthDate, true) + && compareDeep(deceased, o.deceased, true) && compareDeep(address, o.address, true) && compareDeep(photo, o.photo, true) && compareDeep(qualification, o.qualification, true) && compareDeep(communication, o.communication, true) ; } @@ -1338,7 +1338,7 @@ public class Practitioner extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, name - , telecom, deceased, address, gender, birthDate, photo, qualification, communication + , telecom, gender, birthDate, deceased, address, photo, qualification, communication ); } @@ -1432,17 +1432,17 @@ public class Practitioner extends DomainResource { *

* Description: A practitioner's Identifier
* Type: token
- * Path: Practitioner.identifier
+ * Path: Practitioner.identifier | Practitioner.qualification.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="Practitioner.identifier", description="A practitioner's Identifier", type="token" ) + @SearchParamDefinition(name="identifier", path="Practitioner.identifier | Practitioner.qualification.identifier", description="A practitioner's Identifier", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier *

* Description: A practitioner's Identifier
* Type: token
- * Path: Practitioner.identifier
+ * Path: Practitioner.identifier | Practitioner.qualification.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -1467,6 +1467,26 @@ public class Practitioner extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); + /** + * Search parameter: qualification-period + *

+ * Description: The date(s) a qualification is valid for
+ * Type: date
+ * Path: Practitioner.qualification.period
+ *

+ */ + @SearchParamDefinition(name="qualification-period", path="Practitioner.qualification.period", description="The date(s) a qualification is valid for", type="date" ) + public static final String SP_QUALIFICATION_PERIOD = "qualification-period"; + /** + * Fluent Client search parameter constant for qualification-period + *

+ * Description: The date(s) a qualification is valid for
+ * Type: date
+ * Path: Practitioner.qualification.period
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam QUALIFICATION_PERIOD = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_QUALIFICATION_PERIOD); + /** * Search parameter: address-city *

@@ -1671,10 +1691,10 @@ public class Practitioner extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ - @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) + @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) public static final String SP_EMAIL = "email"; /** * Fluent Client search parameter constant for email @@ -1688,7 +1708,7 @@ public class Practitioner extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); @@ -1793,10 +1813,10 @@ public class Practitioner extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ - @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) + @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) public static final String SP_PHONE = "phone"; /** * Fluent Client search parameter constant for phone @@ -1810,7 +1830,7 @@ public class Practitioner extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); @@ -1859,10 +1879,10 @@ public class Practitioner extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ - @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) + @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) public static final String SP_TELECOM = "telecom"; /** * Fluent Client search parameter constant for telecom @@ -1876,7 +1896,7 @@ public class Practitioner extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PractitionerRole.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PractitionerRole.java index c67fd6b3c..8c9017213 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PractitionerRole.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/PractitionerRole.java @@ -29,12 +29,11 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; import java.util.List; -import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.r5.model.Enumerations.*; import org.hl7.fhir.instance.model.api.IBaseBackboneElement; import org.hl7.fhir.exceptions.FHIRException; @@ -48,647 +47,11 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. + * A specific set of Roles/Locations/specialties/services that a practitioner may perform, or has performed at an organization during a period of time. */ @ResourceDef(name="PractitionerRole", profile="http://hl7.org/fhir/StructureDefinition/PractitionerRole") public class PractitionerRole extends DomainResource { - @Block() - public static class PractitionerRoleAvailableTimeComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Indicates which days of the week are available between the start and end times. - */ - @Child(name = "daysOfWeek", type = {CodeType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="mon | tue | wed | thu | fri | sat | sun", formalDefinition="Indicates which days of the week are available between the start and end times." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/days-of-week") - protected List> daysOfWeek; - - /** - * Indicates always available, hence times are irrelevant. (i.e. 24-hour service). - */ - @Child(name = "allDay", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Always available? i.e. 24 hour service", formalDefinition="Indicates always available, hence times are irrelevant. (i.e. 24-hour service)." ) - protected BooleanType allDay; - - /** - * The opening time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - @Child(name = "availableStartTime", type = {TimeType.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Opening time of day (ignored if allDay = true)", formalDefinition="The opening time of day. Note: If the AllDay flag is set, then this time is ignored." ) - protected TimeType availableStartTime; - - /** - * The closing time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - @Child(name = "availableEndTime", type = {TimeType.class}, order=4, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Closing time of day (ignored if allDay = true)", formalDefinition="The closing time of day. Note: If the AllDay flag is set, then this time is ignored." ) - protected TimeType availableEndTime; - - private static final long serialVersionUID = -2139510127L; - - /** - * Constructor - */ - public PractitionerRoleAvailableTimeComponent() { - super(); - } - - /** - * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end times.) - */ - public List> getDaysOfWeek() { - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - return this.daysOfWeek; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PractitionerRoleAvailableTimeComponent setDaysOfWeek(List> theDaysOfWeek) { - this.daysOfWeek = theDaysOfWeek; - return this; - } - - public boolean hasDaysOfWeek() { - if (this.daysOfWeek == null) - return false; - for (Enumeration item : this.daysOfWeek) - if (!item.isEmpty()) - return true; - return false; - } - - /** - * @return {@link #daysOfWeek} (Indicates which days of the week are available between the start and end times.) - */ - public Enumeration addDaysOfWeekElement() {//2 - Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - this.daysOfWeek.add(t); - return t; - } - - /** - * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end times.) - */ - public PractitionerRoleAvailableTimeComponent addDaysOfWeek(DaysOfWeek value) { //1 - Enumeration t = new Enumeration(new DaysOfWeekEnumFactory()); - t.setValue(value); - if (this.daysOfWeek == null) - this.daysOfWeek = new ArrayList>(); - this.daysOfWeek.add(t); - return this; - } - - /** - * @param value {@link #daysOfWeek} (Indicates which days of the week are available between the start and end times.) - */ - public boolean hasDaysOfWeek(DaysOfWeek value) { - if (this.daysOfWeek == null) - return false; - for (Enumeration v : this.daysOfWeek) - if (v.getValue().equals(value)) // code - return true; - return false; - } - - /** - * @return {@link #allDay} (Indicates always available, hence times are irrelevant. (i.e. 24-hour service).). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value - */ - public BooleanType getAllDayElement() { - if (this.allDay == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PractitionerRoleAvailableTimeComponent.allDay"); - else if (Configuration.doAutoCreate()) - this.allDay = new BooleanType(); // bb - return this.allDay; - } - - public boolean hasAllDayElement() { - return this.allDay != null && !this.allDay.isEmpty(); - } - - public boolean hasAllDay() { - return this.allDay != null && !this.allDay.isEmpty(); - } - - /** - * @param value {@link #allDay} (Indicates always available, hence times are irrelevant. (i.e. 24-hour service).). This is the underlying object with id, value and extensions. The accessor "getAllDay" gives direct access to the value - */ - public PractitionerRoleAvailableTimeComponent setAllDayElement(BooleanType value) { - this.allDay = value; - return this; - } - - /** - * @return Indicates always available, hence times are irrelevant. (i.e. 24-hour service). - */ - public boolean getAllDay() { - return this.allDay == null || this.allDay.isEmpty() ? false : this.allDay.getValue(); - } - - /** - * @param value Indicates always available, hence times are irrelevant. (i.e. 24-hour service). - */ - public PractitionerRoleAvailableTimeComponent setAllDay(boolean value) { - if (this.allDay == null) - this.allDay = new BooleanType(); - this.allDay.setValue(value); - return this; - } - - /** - * @return {@link #availableStartTime} (The opening time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value - */ - public TimeType getAvailableStartTimeElement() { - if (this.availableStartTime == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PractitionerRoleAvailableTimeComponent.availableStartTime"); - else if (Configuration.doAutoCreate()) - this.availableStartTime = new TimeType(); // bb - return this.availableStartTime; - } - - public boolean hasAvailableStartTimeElement() { - return this.availableStartTime != null && !this.availableStartTime.isEmpty(); - } - - public boolean hasAvailableStartTime() { - return this.availableStartTime != null && !this.availableStartTime.isEmpty(); - } - - /** - * @param value {@link #availableStartTime} (The opening time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableStartTime" gives direct access to the value - */ - public PractitionerRoleAvailableTimeComponent setAvailableStartTimeElement(TimeType value) { - this.availableStartTime = value; - return this; - } - - /** - * @return The opening time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public String getAvailableStartTime() { - return this.availableStartTime == null ? null : this.availableStartTime.getValue(); - } - - /** - * @param value The opening time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public PractitionerRoleAvailableTimeComponent setAvailableStartTime(String value) { - if (value == null) - this.availableStartTime = null; - else { - if (this.availableStartTime == null) - this.availableStartTime = new TimeType(); - this.availableStartTime.setValue(value); - } - return this; - } - - /** - * @return {@link #availableEndTime} (The closing time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value - */ - public TimeType getAvailableEndTimeElement() { - if (this.availableEndTime == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PractitionerRoleAvailableTimeComponent.availableEndTime"); - else if (Configuration.doAutoCreate()) - this.availableEndTime = new TimeType(); // bb - return this.availableEndTime; - } - - public boolean hasAvailableEndTimeElement() { - return this.availableEndTime != null && !this.availableEndTime.isEmpty(); - } - - public boolean hasAvailableEndTime() { - return this.availableEndTime != null && !this.availableEndTime.isEmpty(); - } - - /** - * @param value {@link #availableEndTime} (The closing time of day. Note: If the AllDay flag is set, then this time is ignored.). This is the underlying object with id, value and extensions. The accessor "getAvailableEndTime" gives direct access to the value - */ - public PractitionerRoleAvailableTimeComponent setAvailableEndTimeElement(TimeType value) { - this.availableEndTime = value; - return this; - } - - /** - * @return The closing time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public String getAvailableEndTime() { - return this.availableEndTime == null ? null : this.availableEndTime.getValue(); - } - - /** - * @param value The closing time of day. Note: If the AllDay flag is set, then this time is ignored. - */ - public PractitionerRoleAvailableTimeComponent setAvailableEndTime(String value) { - if (value == null) - this.availableEndTime = null; - else { - if (this.availableEndTime == null) - this.availableEndTime = new TimeType(); - this.availableEndTime.setValue(value); - } - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek)); - children.add(new Property("allDay", "boolean", "Indicates always available, hence times are irrelevant. (i.e. 24-hour service).", 0, 1, allDay)); - children.add(new Property("availableStartTime", "time", "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableStartTime)); - children.add(new Property("availableEndTime", "time", "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableEndTime)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 68050338: /*daysOfWeek*/ return new Property("daysOfWeek", "code", "Indicates which days of the week are available between the start and end times.", 0, java.lang.Integer.MAX_VALUE, daysOfWeek); - case -1414913477: /*allDay*/ return new Property("allDay", "boolean", "Indicates always available, hence times are irrelevant. (i.e. 24-hour service).", 0, 1, allDay); - case -1039453818: /*availableStartTime*/ return new Property("availableStartTime", "time", "The opening time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableStartTime); - case 101151551: /*availableEndTime*/ return new Property("availableEndTime", "time", "The closing time of day. Note: If the AllDay flag is set, then this time is ignored.", 0, 1, availableEndTime); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 68050338: /*daysOfWeek*/ return this.daysOfWeek == null ? new Base[0] : this.daysOfWeek.toArray(new Base[this.daysOfWeek.size()]); // Enumeration - case -1414913477: /*allDay*/ return this.allDay == null ? new Base[0] : new Base[] {this.allDay}; // BooleanType - case -1039453818: /*availableStartTime*/ return this.availableStartTime == null ? new Base[0] : new Base[] {this.availableStartTime}; // TimeType - case 101151551: /*availableEndTime*/ return this.availableEndTime == null ? new Base[0] : new Base[] {this.availableEndTime}; // TimeType - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 68050338: // daysOfWeek - value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getDaysOfWeek().add((Enumeration) value); // Enumeration - return value; - case -1414913477: // allDay - this.allDay = TypeConvertor.castToBoolean(value); // BooleanType - return value; - case -1039453818: // availableStartTime - this.availableStartTime = TypeConvertor.castToTime(value); // TimeType - return value; - case 101151551: // availableEndTime - this.availableEndTime = TypeConvertor.castToTime(value); // TimeType - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("daysOfWeek")) { - value = new DaysOfWeekEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getDaysOfWeek().add((Enumeration) value); - } else if (name.equals("allDay")) { - this.allDay = TypeConvertor.castToBoolean(value); // BooleanType - } else if (name.equals("availableStartTime")) { - this.availableStartTime = TypeConvertor.castToTime(value); // TimeType - } else if (name.equals("availableEndTime")) { - this.availableEndTime = TypeConvertor.castToTime(value); // TimeType - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 68050338: return addDaysOfWeekElement(); - case -1414913477: return getAllDayElement(); - case -1039453818: return getAvailableStartTimeElement(); - case 101151551: return getAvailableEndTimeElement(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 68050338: /*daysOfWeek*/ return new String[] {"code"}; - case -1414913477: /*allDay*/ return new String[] {"boolean"}; - case -1039453818: /*availableStartTime*/ return new String[] {"time"}; - case 101151551: /*availableEndTime*/ return new String[] {"time"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("daysOfWeek")) { - throw new FHIRException("Cannot call addChild on a primitive type PractitionerRole.availableTime.daysOfWeek"); - } - else if (name.equals("allDay")) { - throw new FHIRException("Cannot call addChild on a primitive type PractitionerRole.availableTime.allDay"); - } - else if (name.equals("availableStartTime")) { - throw new FHIRException("Cannot call addChild on a primitive type PractitionerRole.availableTime.availableStartTime"); - } - else if (name.equals("availableEndTime")) { - throw new FHIRException("Cannot call addChild on a primitive type PractitionerRole.availableTime.availableEndTime"); - } - else - return super.addChild(name); - } - - public PractitionerRoleAvailableTimeComponent copy() { - PractitionerRoleAvailableTimeComponent dst = new PractitionerRoleAvailableTimeComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(PractitionerRoleAvailableTimeComponent dst) { - super.copyValues(dst); - if (daysOfWeek != null) { - dst.daysOfWeek = new ArrayList>(); - for (Enumeration i : daysOfWeek) - dst.daysOfWeek.add(i.copy()); - }; - dst.allDay = allDay == null ? null : allDay.copy(); - dst.availableStartTime = availableStartTime == null ? null : availableStartTime.copy(); - dst.availableEndTime = availableEndTime == null ? null : availableEndTime.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof PractitionerRoleAvailableTimeComponent)) - return false; - PractitionerRoleAvailableTimeComponent o = (PractitionerRoleAvailableTimeComponent) other_; - return compareDeep(daysOfWeek, o.daysOfWeek, true) && compareDeep(allDay, o.allDay, true) && compareDeep(availableStartTime, o.availableStartTime, true) - && compareDeep(availableEndTime, o.availableEndTime, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof PractitionerRoleAvailableTimeComponent)) - return false; - PractitionerRoleAvailableTimeComponent o = (PractitionerRoleAvailableTimeComponent) other_; - return compareValues(daysOfWeek, o.daysOfWeek, true) && compareValues(allDay, o.allDay, true) && compareValues(availableStartTime, o.availableStartTime, true) - && compareValues(availableEndTime, o.availableEndTime, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(daysOfWeek, allDay, availableStartTime - , availableEndTime); - } - - public String fhirType() { - return "PractitionerRole.availableTime"; - - } - - } - - @Block() - public static class PractitionerRoleNotAvailableComponent extends BackboneElement implements IBaseBackboneElement { - /** - * The reason that can be presented to the user as to why this time is not available. - */ - @Child(name = "description", type = {StringType.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Reason presented to the user explaining why time not available", formalDefinition="The reason that can be presented to the user as to why this time is not available." ) - protected StringType description; - - /** - * Service is not available (seasonally or for a public holiday) from this date. - */ - @Child(name = "during", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Service not available from this date", formalDefinition="Service is not available (seasonally or for a public holiday) from this date." ) - protected Period during; - - private static final long serialVersionUID = 310849929L; - - /** - * Constructor - */ - public PractitionerRoleNotAvailableComponent() { - super(); - } - - /** - * Constructor - */ - public PractitionerRoleNotAvailableComponent(String description) { - super(); - this.setDescription(description); - } - - /** - * @return {@link #description} (The reason that can be presented to the user as to why this time is not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public StringType getDescriptionElement() { - if (this.description == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PractitionerRoleNotAvailableComponent.description"); - else if (Configuration.doAutoCreate()) - this.description = new StringType(); // bb - return this.description; - } - - public boolean hasDescriptionElement() { - return this.description != null && !this.description.isEmpty(); - } - - public boolean hasDescription() { - return this.description != null && !this.description.isEmpty(); - } - - /** - * @param value {@link #description} (The reason that can be presented to the user as to why this time is not available.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value - */ - public PractitionerRoleNotAvailableComponent setDescriptionElement(StringType value) { - this.description = value; - return this; - } - - /** - * @return The reason that can be presented to the user as to why this time is not available. - */ - public String getDescription() { - return this.description == null ? null : this.description.getValue(); - } - - /** - * @param value The reason that can be presented to the user as to why this time is not available. - */ - public PractitionerRoleNotAvailableComponent setDescription(String value) { - if (this.description == null) - this.description = new StringType(); - this.description.setValue(value); - return this; - } - - /** - * @return {@link #during} (Service is not available (seasonally or for a public holiday) from this date.) - */ - public Period getDuring() { - if (this.during == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PractitionerRoleNotAvailableComponent.during"); - else if (Configuration.doAutoCreate()) - this.during = new Period(); // cc - return this.during; - } - - public boolean hasDuring() { - return this.during != null && !this.during.isEmpty(); - } - - /** - * @param value {@link #during} (Service is not available (seasonally or for a public holiday) from this date.) - */ - public PractitionerRoleNotAvailableComponent setDuring(Period value) { - this.during = value; - return this; - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("description", "string", "The reason that can be presented to the user as to why this time is not available.", 0, 1, description)); - children.add(new Property("during", "Period", "Service is not available (seasonally or for a public holiday) from this date.", 0, 1, during)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case -1724546052: /*description*/ return new Property("description", "string", "The reason that can be presented to the user as to why this time is not available.", 0, 1, description); - case -1320499647: /*during*/ return new Property("during", "Period", "Service is not available (seasonally or for a public holiday) from this date.", 0, 1, during); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType - case -1320499647: /*during*/ return this.during == null ? new Base[0] : new Base[] {this.during}; // Period - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case -1724546052: // description - this.description = TypeConvertor.castToString(value); // StringType - return value; - case -1320499647: // during - this.during = TypeConvertor.castToPeriod(value); // Period - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("description")) { - this.description = TypeConvertor.castToString(value); // StringType - } else if (name.equals("during")) { - this.during = TypeConvertor.castToPeriod(value); // Period - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -1724546052: return getDescriptionElement(); - case -1320499647: return getDuring(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case -1724546052: /*description*/ return new String[] {"string"}; - case -1320499647: /*during*/ return new String[] {"Period"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("description")) { - throw new FHIRException("Cannot call addChild on a primitive type PractitionerRole.notAvailable.description"); - } - else if (name.equals("during")) { - this.during = new Period(); - return this.during; - } - else - return super.addChild(name); - } - - public PractitionerRoleNotAvailableComponent copy() { - PractitionerRoleNotAvailableComponent dst = new PractitionerRoleNotAvailableComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(PractitionerRoleNotAvailableComponent dst) { - super.copyValues(dst); - dst.description = description == null ? null : description.copy(); - dst.during = during == null ? null : during.copy(); - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof PractitionerRoleNotAvailableComponent)) - return false; - PractitionerRoleNotAvailableComponent o = (PractitionerRoleNotAvailableComponent) other_; - return compareDeep(description, o.description, true) && compareDeep(during, o.during, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof PractitionerRoleNotAvailableComponent)) - return false; - PractitionerRoleNotAvailableComponent o = (PractitionerRoleNotAvailableComponent) other_; - return compareValues(description, o.description, true); - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(description, during); - } - - public String fhirType() { - return "PractitionerRole.notAvailable"; - - } - - } - /** * Business Identifiers that are specific to a role/location. */ @@ -733,10 +96,10 @@ public class PractitionerRole extends DomainResource { protected List code; /** - * A type of specialized or skilled care the practitioner is able to deliver in the context of this particular role. + * The specialty of a practitioner that describes the functional role they are practicing at a given organization or location. */ @Child(name = "specialty", type = {CodeableConcept.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Specific specialty of the practitioner", formalDefinition="A type of specialized or skilled care the practitioner is able to deliver in the context of this particular role." ) + @Description(shortDefinition="Specific specialty of the practitioner", formalDefinition="The specialty of a practitioner that describes the functional role they are practicing at a given organization or location." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-practice-codes") protected List specialty; @@ -761,42 +124,21 @@ public class PractitionerRole extends DomainResource { @Description(shortDefinition="Official contact details relating to this PractitionerRole", formalDefinition="The contact details of communication devices available relevant to the specific PractitionerRole. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites." ) protected List contact; - /** - * Contact details that are specific to the role/location/service. - */ - @Child(name = "telecom", type = {ContactPoint.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Deprecated - use contact.telecom", formalDefinition="Contact details that are specific to the role/location/service." ) - protected List telecom; - /** * A collection of times the practitioner is available or performing this role at the location and/or healthcareservice. */ - @Child(name = "availableTime", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Times the Service Site is available", formalDefinition="A collection of times the practitioner is available or performing this role at the location and/or healthcareservice." ) - protected List availableTime; - - /** - * The practitioner is not available or performing this role during this period of time due to the provided reason. - */ - @Child(name = "notAvailable", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Not available during this time due to provided reason", formalDefinition="The practitioner is not available or performing this role during this period of time due to the provided reason." ) - protected List notAvailable; - - /** - * A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. - */ - @Child(name = "availabilityExceptions", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Description of availability exceptions", formalDefinition="A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times." ) - protected StringType availabilityExceptions; + @Child(name = "availability", type = {Availability.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Times the Practitioner is available at this location and/or healthcare service (including exceptions)", formalDefinition="A collection of times the practitioner is available or performing this role at the location and/or healthcareservice." ) + protected List availability; /** * Technical endpoints providing access to services operated for the practitioner with this role. */ - @Child(name = "endpoint", type = {Endpoint.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "endpoint", type = {Endpoint.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Technical endpoints providing access to services operated for the practitioner with this role", formalDefinition="Technical endpoints providing access to services operated for the practitioner with this role." ) protected List endpoint; - private static final long serialVersionUID = 1173713774L; + private static final long serialVersionUID = -309346881L; /** * Constructor @@ -1029,7 +371,7 @@ public class PractitionerRole extends DomainResource { } /** - * @return {@link #specialty} (A type of specialized or skilled care the practitioner is able to deliver in the context of this particular role.) + * @return {@link #specialty} (The specialty of a practitioner that describes the functional role they are practicing at a given organization or location.) */ public List getSpecialty() { if (this.specialty == null) @@ -1241,211 +583,56 @@ public class PractitionerRole extends DomainResource { } /** - * @return {@link #telecom} (Contact details that are specific to the role/location/service.) + * @return {@link #availability} (A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.) */ - public List getTelecom() { - if (this.telecom == null) - this.telecom = new ArrayList(); - return this.telecom; + public List getAvailability() { + if (this.availability == null) + this.availability = new ArrayList(); + return this.availability; } /** * @return Returns a reference to this for easy method chaining */ - public PractitionerRole setTelecom(List theTelecom) { - this.telecom = theTelecom; + public PractitionerRole setAvailability(List theAvailability) { + this.availability = theAvailability; return this; } - public boolean hasTelecom() { - if (this.telecom == null) + public boolean hasAvailability() { + if (this.availability == null) return false; - for (ContactPoint item : this.telecom) + for (Availability item : this.availability) if (!item.isEmpty()) return true; return false; } - public ContactPoint addTelecom() { //3 - ContactPoint t = new ContactPoint(); - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); + public Availability addAvailability() { //3 + Availability t = new Availability(); + if (this.availability == null) + this.availability = new ArrayList(); + this.availability.add(t); return t; } - public PractitionerRole addTelecom(ContactPoint t) { //3 + public PractitionerRole addAvailability(Availability t) { //3 if (t == null) return this; - if (this.telecom == null) - this.telecom = new ArrayList(); - this.telecom.add(t); + if (this.availability == null) + this.availability = new ArrayList(); + this.availability.add(t); return this; } /** - * @return The first repetition of repeating field {@link #telecom}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #availability}, creating it if it does not already exist {3} */ - public ContactPoint getTelecomFirstRep() { - if (getTelecom().isEmpty()) { - addTelecom(); + public Availability getAvailabilityFirstRep() { + if (getAvailability().isEmpty()) { + addAvailability(); } - return getTelecom().get(0); - } - - /** - * @return {@link #availableTime} (A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.) - */ - public List getAvailableTime() { - if (this.availableTime == null) - this.availableTime = new ArrayList(); - return this.availableTime; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PractitionerRole setAvailableTime(List theAvailableTime) { - this.availableTime = theAvailableTime; - return this; - } - - public boolean hasAvailableTime() { - if (this.availableTime == null) - return false; - for (PractitionerRoleAvailableTimeComponent item : this.availableTime) - if (!item.isEmpty()) - return true; - return false; - } - - public PractitionerRoleAvailableTimeComponent addAvailableTime() { //3 - PractitionerRoleAvailableTimeComponent t = new PractitionerRoleAvailableTimeComponent(); - if (this.availableTime == null) - this.availableTime = new ArrayList(); - this.availableTime.add(t); - return t; - } - - public PractitionerRole addAvailableTime(PractitionerRoleAvailableTimeComponent t) { //3 - if (t == null) - return this; - if (this.availableTime == null) - this.availableTime = new ArrayList(); - this.availableTime.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #availableTime}, creating it if it does not already exist {3} - */ - public PractitionerRoleAvailableTimeComponent getAvailableTimeFirstRep() { - if (getAvailableTime().isEmpty()) { - addAvailableTime(); - } - return getAvailableTime().get(0); - } - - /** - * @return {@link #notAvailable} (The practitioner is not available or performing this role during this period of time due to the provided reason.) - */ - public List getNotAvailable() { - if (this.notAvailable == null) - this.notAvailable = new ArrayList(); - return this.notAvailable; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public PractitionerRole setNotAvailable(List theNotAvailable) { - this.notAvailable = theNotAvailable; - return this; - } - - public boolean hasNotAvailable() { - if (this.notAvailable == null) - return false; - for (PractitionerRoleNotAvailableComponent item : this.notAvailable) - if (!item.isEmpty()) - return true; - return false; - } - - public PractitionerRoleNotAvailableComponent addNotAvailable() { //3 - PractitionerRoleNotAvailableComponent t = new PractitionerRoleNotAvailableComponent(); - if (this.notAvailable == null) - this.notAvailable = new ArrayList(); - this.notAvailable.add(t); - return t; - } - - public PractitionerRole addNotAvailable(PractitionerRoleNotAvailableComponent t) { //3 - if (t == null) - return this; - if (this.notAvailable == null) - this.notAvailable = new ArrayList(); - this.notAvailable.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #notAvailable}, creating it if it does not already exist {3} - */ - public PractitionerRoleNotAvailableComponent getNotAvailableFirstRep() { - if (getNotAvailable().isEmpty()) { - addNotAvailable(); - } - return getNotAvailable().get(0); - } - - /** - * @return {@link #availabilityExceptions} (A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value - */ - public StringType getAvailabilityExceptionsElement() { - if (this.availabilityExceptions == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create PractitionerRole.availabilityExceptions"); - else if (Configuration.doAutoCreate()) - this.availabilityExceptions = new StringType(); // bb - return this.availabilityExceptions; - } - - public boolean hasAvailabilityExceptionsElement() { - return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); - } - - public boolean hasAvailabilityExceptions() { - return this.availabilityExceptions != null && !this.availabilityExceptions.isEmpty(); - } - - /** - * @param value {@link #availabilityExceptions} (A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.). This is the underlying object with id, value and extensions. The accessor "getAvailabilityExceptions" gives direct access to the value - */ - public PractitionerRole setAvailabilityExceptionsElement(StringType value) { - this.availabilityExceptions = value; - return this; - } - - /** - * @return A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. - */ - public String getAvailabilityExceptions() { - return this.availabilityExceptions == null ? null : this.availabilityExceptions.getValue(); - } - - /** - * @param value A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times. - */ - public PractitionerRole setAvailabilityExceptions(String value) { - if (Utilities.noString(value)) - this.availabilityExceptions = null; - else { - if (this.availabilityExceptions == null) - this.availabilityExceptions = new StringType(); - this.availabilityExceptions.setValue(value); - } - return this; + return getAvailability().get(0); } /** @@ -1509,14 +696,11 @@ public class PractitionerRole extends DomainResource { children.add(new Property("practitioner", "Reference(Practitioner)", "Practitioner that is able to provide the defined services for the organization.", 0, 1, practitioner)); children.add(new Property("organization", "Reference(Organization)", "The organization where the Practitioner performs the roles associated.", 0, 1, organization)); children.add(new Property("code", "CodeableConcept", "Roles which this practitioner is authorized to perform for the organization.", 0, java.lang.Integer.MAX_VALUE, code)); - children.add(new Property("specialty", "CodeableConcept", "A type of specialized or skilled care the practitioner is able to deliver in the context of this particular role.", 0, java.lang.Integer.MAX_VALUE, specialty)); + children.add(new Property("specialty", "CodeableConcept", "The specialty of a practitioner that describes the functional role they are practicing at a given organization or location.", 0, java.lang.Integer.MAX_VALUE, specialty)); children.add(new Property("location", "Reference(Location)", "The location(s) at which this practitioner provides care.", 0, java.lang.Integer.MAX_VALUE, location)); children.add(new Property("healthcareService", "Reference(HealthcareService)", "The list of healthcare services that this worker provides for this role's Organization/Location(s).", 0, java.lang.Integer.MAX_VALUE, healthcareService)); children.add(new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available relevant to the specific PractitionerRole. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact)); - children.add(new Property("telecom", "ContactPoint", "Contact details that are specific to the role/location/service.", 0, java.lang.Integer.MAX_VALUE, telecom)); - children.add(new Property("availableTime", "", "A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.", 0, java.lang.Integer.MAX_VALUE, availableTime)); - children.add(new Property("notAvailable", "", "The practitioner is not available or performing this role during this period of time due to the provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailable)); - children.add(new Property("availabilityExceptions", "string", "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.", 0, 1, availabilityExceptions)); + children.add(new Property("availability", "Availability", "A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.", 0, java.lang.Integer.MAX_VALUE, availability)); children.add(new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the practitioner with this role.", 0, java.lang.Integer.MAX_VALUE, endpoint)); } @@ -1529,14 +713,11 @@ public class PractitionerRole extends DomainResource { case 574573338: /*practitioner*/ return new Property("practitioner", "Reference(Practitioner)", "Practitioner that is able to provide the defined services for the organization.", 0, 1, practitioner); case 1178922291: /*organization*/ return new Property("organization", "Reference(Organization)", "The organization where the Practitioner performs the roles associated.", 0, 1, organization); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "Roles which this practitioner is authorized to perform for the organization.", 0, java.lang.Integer.MAX_VALUE, code); - case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "A type of specialized or skilled care the practitioner is able to deliver in the context of this particular role.", 0, java.lang.Integer.MAX_VALUE, specialty); + case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "The specialty of a practitioner that describes the functional role they are practicing at a given organization or location.", 0, java.lang.Integer.MAX_VALUE, specialty); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location(s) at which this practitioner provides care.", 0, java.lang.Integer.MAX_VALUE, location); case 1289661064: /*healthcareService*/ return new Property("healthcareService", "Reference(HealthcareService)", "The list of healthcare services that this worker provides for this role's Organization/Location(s).", 0, java.lang.Integer.MAX_VALUE, healthcareService); case 951526432: /*contact*/ return new Property("contact", "ExtendedContactDetail", "The contact details of communication devices available relevant to the specific PractitionerRole. This can include addresses, phone numbers, fax numbers, mobile numbers, email addresses and web sites.", 0, java.lang.Integer.MAX_VALUE, contact); - case -1429363305: /*telecom*/ return new Property("telecom", "ContactPoint", "Contact details that are specific to the role/location/service.", 0, java.lang.Integer.MAX_VALUE, telecom); - case 1873069366: /*availableTime*/ return new Property("availableTime", "", "A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.", 0, java.lang.Integer.MAX_VALUE, availableTime); - case -629572298: /*notAvailable*/ return new Property("notAvailable", "", "The practitioner is not available or performing this role during this period of time due to the provided reason.", 0, java.lang.Integer.MAX_VALUE, notAvailable); - case -1149143617: /*availabilityExceptions*/ return new Property("availabilityExceptions", "string", "A description of site availability exceptions, e.g. public holiday availability. Succinctly describing all possible exceptions to normal site availability as details in the available Times and not available Times.", 0, 1, availabilityExceptions); + case 1997542747: /*availability*/ return new Property("availability", "Availability", "A collection of times the practitioner is available or performing this role at the location and/or healthcareservice.", 0, java.lang.Integer.MAX_VALUE, availability); case 1741102485: /*endpoint*/ return new Property("endpoint", "Reference(Endpoint)", "Technical endpoints providing access to services operated for the practitioner with this role.", 0, java.lang.Integer.MAX_VALUE, endpoint); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1556,10 +737,7 @@ public class PractitionerRole extends DomainResource { case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // Reference case 1289661064: /*healthcareService*/ return this.healthcareService == null ? new Base[0] : this.healthcareService.toArray(new Base[this.healthcareService.size()]); // Reference case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ExtendedContactDetail - case -1429363305: /*telecom*/ return this.telecom == null ? new Base[0] : this.telecom.toArray(new Base[this.telecom.size()]); // ContactPoint - case 1873069366: /*availableTime*/ return this.availableTime == null ? new Base[0] : this.availableTime.toArray(new Base[this.availableTime.size()]); // PractitionerRoleAvailableTimeComponent - case -629572298: /*notAvailable*/ return this.notAvailable == null ? new Base[0] : this.notAvailable.toArray(new Base[this.notAvailable.size()]); // PractitionerRoleNotAvailableComponent - case -1149143617: /*availabilityExceptions*/ return this.availabilityExceptions == null ? new Base[0] : new Base[] {this.availabilityExceptions}; // StringType + case 1997542747: /*availability*/ return this.availability == null ? new Base[0] : this.availability.toArray(new Base[this.availability.size()]); // Availability case 1741102485: /*endpoint*/ return this.endpoint == null ? new Base[0] : this.endpoint.toArray(new Base[this.endpoint.size()]); // Reference default: return super.getProperty(hash, name, checkValid); } @@ -1599,17 +777,8 @@ public class PractitionerRole extends DomainResource { case 951526432: // contact this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); // ExtendedContactDetail return value; - case -1429363305: // telecom - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); // ContactPoint - return value; - case 1873069366: // availableTime - this.getAvailableTime().add((PractitionerRoleAvailableTimeComponent) value); // PractitionerRoleAvailableTimeComponent - return value; - case -629572298: // notAvailable - this.getNotAvailable().add((PractitionerRoleNotAvailableComponent) value); // PractitionerRoleNotAvailableComponent - return value; - case -1149143617: // availabilityExceptions - this.availabilityExceptions = TypeConvertor.castToString(value); // StringType + case 1997542747: // availability + this.getAvailability().add(TypeConvertor.castToAvailability(value)); // Availability return value; case 1741102485: // endpoint this.getEndpoint().add(TypeConvertor.castToReference(value)); // Reference @@ -1641,14 +810,8 @@ public class PractitionerRole extends DomainResource { this.getHealthcareService().add(TypeConvertor.castToReference(value)); } else if (name.equals("contact")) { this.getContact().add(TypeConvertor.castToExtendedContactDetail(value)); - } else if (name.equals("telecom")) { - this.getTelecom().add(TypeConvertor.castToContactPoint(value)); - } else if (name.equals("availableTime")) { - this.getAvailableTime().add((PractitionerRoleAvailableTimeComponent) value); - } else if (name.equals("notAvailable")) { - this.getNotAvailable().add((PractitionerRoleNotAvailableComponent) value); - } else if (name.equals("availabilityExceptions")) { - this.availabilityExceptions = TypeConvertor.castToString(value); // StringType + } else if (name.equals("availability")) { + this.getAvailability().add(TypeConvertor.castToAvailability(value)); } else if (name.equals("endpoint")) { this.getEndpoint().add(TypeConvertor.castToReference(value)); } else @@ -1669,10 +832,7 @@ public class PractitionerRole extends DomainResource { case 1901043637: return addLocation(); case 1289661064: return addHealthcareService(); case 951526432: return addContact(); - case -1429363305: return addTelecom(); - case 1873069366: return addAvailableTime(); - case -629572298: return addNotAvailable(); - case -1149143617: return getAvailabilityExceptionsElement(); + case 1997542747: return addAvailability(); case 1741102485: return addEndpoint(); default: return super.makeProperty(hash, name); } @@ -1692,10 +852,7 @@ public class PractitionerRole extends DomainResource { case 1901043637: /*location*/ return new String[] {"Reference"}; case 1289661064: /*healthcareService*/ return new String[] {"Reference"}; case 951526432: /*contact*/ return new String[] {"ExtendedContactDetail"}; - case -1429363305: /*telecom*/ return new String[] {"ContactPoint"}; - case 1873069366: /*availableTime*/ return new String[] {}; - case -629572298: /*notAvailable*/ return new String[] {}; - case -1149143617: /*availabilityExceptions*/ return new String[] {"string"}; + case 1997542747: /*availability*/ return new String[] {"Availability"}; case 1741102485: /*endpoint*/ return new String[] {"Reference"}; default: return super.getTypesForProperty(hash, name); } @@ -1737,17 +894,8 @@ public class PractitionerRole extends DomainResource { else if (name.equals("contact")) { return addContact(); } - else if (name.equals("telecom")) { - return addTelecom(); - } - else if (name.equals("availableTime")) { - return addAvailableTime(); - } - else if (name.equals("notAvailable")) { - return addNotAvailable(); - } - else if (name.equals("availabilityExceptions")) { - throw new FHIRException("Cannot call addChild on a primitive type PractitionerRole.availabilityExceptions"); + else if (name.equals("availability")) { + return addAvailability(); } else if (name.equals("endpoint")) { return addEndpoint(); @@ -1803,22 +951,11 @@ public class PractitionerRole extends DomainResource { for (ExtendedContactDetail i : contact) dst.contact.add(i.copy()); }; - if (telecom != null) { - dst.telecom = new ArrayList(); - for (ContactPoint i : telecom) - dst.telecom.add(i.copy()); + if (availability != null) { + dst.availability = new ArrayList(); + for (Availability i : availability) + dst.availability.add(i.copy()); }; - if (availableTime != null) { - dst.availableTime = new ArrayList(); - for (PractitionerRoleAvailableTimeComponent i : availableTime) - dst.availableTime.add(i.copy()); - }; - if (notAvailable != null) { - dst.notAvailable = new ArrayList(); - for (PractitionerRoleNotAvailableComponent i : notAvailable) - dst.notAvailable.add(i.copy()); - }; - dst.availabilityExceptions = availabilityExceptions == null ? null : availabilityExceptions.copy(); if (endpoint != null) { dst.endpoint = new ArrayList(); for (Reference i : endpoint) @@ -1841,9 +978,7 @@ public class PractitionerRole extends DomainResource { && compareDeep(practitioner, o.practitioner, true) && compareDeep(organization, o.organization, true) && compareDeep(code, o.code, true) && compareDeep(specialty, o.specialty, true) && compareDeep(location, o.location, true) && compareDeep(healthcareService, o.healthcareService, true) && compareDeep(contact, o.contact, true) - && compareDeep(telecom, o.telecom, true) && compareDeep(availableTime, o.availableTime, true) && compareDeep(notAvailable, o.notAvailable, true) - && compareDeep(availabilityExceptions, o.availabilityExceptions, true) && compareDeep(endpoint, o.endpoint, true) - ; + && compareDeep(availability, o.availability, true) && compareDeep(endpoint, o.endpoint, true); } @Override @@ -1853,14 +988,13 @@ public class PractitionerRole extends DomainResource { if (!(other_ instanceof PractitionerRole)) return false; PractitionerRole o = (PractitionerRole) other_; - return compareValues(active, o.active, true) && compareValues(availabilityExceptions, o.availabilityExceptions, true) - ; + return compareValues(active, o.active, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, period , practitioner, organization, code, specialty, location, healthcareService, contact - , telecom, availableTime, notAvailable, availabilityExceptions, endpoint); + , availability, endpoint); } @Override @@ -2110,10 +1244,10 @@ public class PractitionerRole extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ - @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) + @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) public static final String SP_EMAIL = "email"; /** * Fluent Client search parameter constant for email @@ -2127,7 +1261,7 @@ public class PractitionerRole extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); @@ -2144,10 +1278,10 @@ public class PractitionerRole extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ - @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) + @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) public static final String SP_PHONE = "phone"; /** * Fluent Client search parameter constant for phone @@ -2161,7 +1295,7 @@ public class PractitionerRole extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); @@ -2178,10 +1312,10 @@ public class PractitionerRole extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ - @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) + @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) public static final String SP_TELECOM = "telecom"; /** * Fluent Client search parameter constant for telecom @@ -2195,7 +1329,7 @@ public class PractitionerRole extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Procedure.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Procedure.java index cc59b5d02..c38dbe1cf 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Procedure.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Procedure.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -77,7 +77,14 @@ public class Procedure extends DomainResource { @Description(shortDefinition="Organization the device or practitioner was acting for", formalDefinition="The organization the device or practitioner was acting on behalf of." ) protected Reference onBehalfOf; - private static final long serialVersionUID = -1804820116L; + /** + * Time period during which the performer performed the procedure. + */ + @Child(name = "period", type = {Period.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the performer performed the procedure", formalDefinition="Time period during which the performer performed the procedure." ) + protected Period period; + + private static final long serialVersionUID = -1329650986L; /** * Constructor @@ -166,11 +173,36 @@ public class Procedure extends DomainResource { return this; } + /** + * @return {@link #period} (Time period during which the performer performed the procedure.) + */ + public Period getPeriod() { + if (this.period == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ProcedurePerformerComponent.period"); + else if (Configuration.doAutoCreate()) + this.period = new Period(); // cc + return this.period; + } + + public boolean hasPeriod() { + return this.period != null && !this.period.isEmpty(); + } + + /** + * @param value {@link #period} (Time period during which the performer performed the procedure.) + */ + public ProcedurePerformerComponent setPeriod(Period value) { + this.period = value; + return this; + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.", 0, 1, function)); children.add(new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device|CareTeam|HealthcareService)", "Indicates who or what performed the procedure.", 0, 1, actor)); children.add(new Property("onBehalfOf", "Reference(Organization)", "The organization the device or practitioner was acting on behalf of.", 0, 1, onBehalfOf)); + children.add(new Property("period", "Period", "Time period during which the performer performed the procedure.", 0, 1, period)); } @Override @@ -179,6 +211,7 @@ public class Procedure extends DomainResource { case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Distinguishes the type of involvement of the performer in the procedure. For example, surgeon, anaesthetist, endoscopist.", 0, 1, function); case 92645877: /*actor*/ return new Property("actor", "Reference(Practitioner|PractitionerRole|Organization|Patient|RelatedPerson|Device|CareTeam|HealthcareService)", "Indicates who or what performed the procedure.", 0, 1, actor); case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Organization)", "The organization the device or practitioner was acting on behalf of.", 0, 1, onBehalfOf); + case -991726143: /*period*/ return new Property("period", "Period", "Time period during which the performer performed the procedure.", 0, 1, period); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -190,6 +223,7 @@ public class Procedure extends DomainResource { case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // Reference case -14402964: /*onBehalfOf*/ return this.onBehalfOf == null ? new Base[0] : new Base[] {this.onBehalfOf}; // Reference + case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period default: return super.getProperty(hash, name, checkValid); } @@ -207,6 +241,9 @@ public class Procedure extends DomainResource { case -14402964: // onBehalfOf this.onBehalfOf = TypeConvertor.castToReference(value); // Reference return value; + case -991726143: // period + this.period = TypeConvertor.castToPeriod(value); // Period + return value; default: return super.setProperty(hash, name, value); } @@ -220,6 +257,8 @@ public class Procedure extends DomainResource { this.actor = TypeConvertor.castToReference(value); // Reference } else if (name.equals("onBehalfOf")) { this.onBehalfOf = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("period")) { + this.period = TypeConvertor.castToPeriod(value); // Period } else return super.setProperty(name, value); return value; @@ -231,6 +270,7 @@ public class Procedure extends DomainResource { case 1380938712: return getFunction(); case 92645877: return getActor(); case -14402964: return getOnBehalfOf(); + case -991726143: return getPeriod(); default: return super.makeProperty(hash, name); } @@ -242,6 +282,7 @@ public class Procedure extends DomainResource { case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; case 92645877: /*actor*/ return new String[] {"Reference"}; case -14402964: /*onBehalfOf*/ return new String[] {"Reference"}; + case -991726143: /*period*/ return new String[] {"Period"}; default: return super.getTypesForProperty(hash, name); } @@ -261,6 +302,10 @@ public class Procedure extends DomainResource { this.onBehalfOf = new Reference(); return this.onBehalfOf; } + else if (name.equals("period")) { + this.period = new Period(); + return this.period; + } else return super.addChild(name); } @@ -276,6 +321,7 @@ public class Procedure extends DomainResource { dst.function = function == null ? null : function.copy(); dst.actor = actor == null ? null : actor.copy(); dst.onBehalfOf = onBehalfOf == null ? null : onBehalfOf.copy(); + dst.period = period == null ? null : period.copy(); } @Override @@ -286,7 +332,7 @@ public class Procedure extends DomainResource { return false; ProcedurePerformerComponent o = (ProcedurePerformerComponent) other_; return compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true) && compareDeep(onBehalfOf, o.onBehalfOf, true) - ; + && compareDeep(period, o.period, true); } @Override @@ -301,7 +347,7 @@ public class Procedure extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(function, actor, onBehalfOf - ); + , period); } public String fhirType() { @@ -589,73 +635,80 @@ public class Procedure extends DomainResource { protected CodeableConcept code; /** - * On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). + * On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure. */ @Child(name = "subject", type = {Patient.class, Group.class, Device.class, Practitioner.class, Organization.class, Location.class}, order=9, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Individual or entity the procedure was performed on", formalDefinition="On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations)." ) + @Description(shortDefinition="Individual or entity the procedure was performed on", formalDefinition="On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure." ) protected Reference subject; + /** + * Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient. + */ + @Child(name = "focus", type = {Patient.class, Group.class, RelatedPerson.class, Practitioner.class, Organization.class, CareTeam.class, PractitionerRole.class}, order=10, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Who is the target of the procedure when it is not the subject of record only", formalDefinition="Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient." ) + protected Reference focus; + /** * The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated. */ - @Child(name = "encounter", type = {Encounter.class}, order=10, min=0, max=1, modifier=false, summary=true) + @Child(name = "encounter", type = {Encounter.class}, order=11, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The Encounter during which this Procedure was created", formalDefinition="The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated." ) protected Reference encounter; /** * Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured. */ - @Child(name = "occurrence", type = {DateTimeType.class, Period.class, StringType.class, Age.class, Range.class, Timing.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Child(name = "occurrence", type = {DateTimeType.class, Period.class, StringType.class, Age.class, Range.class, Timing.class}, order=12, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When the procedure occurred or is occurring", formalDefinition="Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured." ) protected DataType occurrence; /** * The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event). */ - @Child(name = "recorded", type = {DateTimeType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "recorded", type = {DateTimeType.class}, order=13, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When the procedure was first captured in the subject's record", formalDefinition="The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event)." ) protected DateTimeType recorded; /** * Individual who recorded the record and takes responsibility for its content. */ - @Child(name = "recorder", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "recorder", type = {Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class}, order=14, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Who recorded the procedure", formalDefinition="Individual who recorded the record and takes responsibility for its content." ) protected Reference recorder; /** * Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report. */ - @Child(name = "reported", type = {BooleanType.class, Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Organization.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Child(name = "reported", type = {BooleanType.class, Patient.class, RelatedPerson.class, Practitioner.class, PractitionerRole.class, Organization.class}, order=15, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Reported rather than primary record", formalDefinition="Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report." ) protected DataType reported; /** * Limited to "real" people rather than equipment. */ - @Child(name = "performer", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "performer", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The people who performed the procedure", formalDefinition="Limited to \"real\" people rather than equipment." ) protected List performer; /** * The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant. */ - @Child(name = "location", type = {Location.class}, order=16, min=0, max=1, modifier=false, summary=true) + @Child(name = "location", type = {Location.class}, order=17, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Where the procedure happened", formalDefinition="The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant." ) protected Reference location; /** - * The coded reason or reference why the procedure was performed. This may be a coded entity of some type, or may simply be present as text, or may be a reference to one of several resources that justify the procedure. + * The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure. */ - @Child(name = "reason", type = {CodeableReference.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="The justification that the procedure was performed", formalDefinition="The coded reason or reference why the procedure was performed. This may be a coded entity of some type, or may simply be present as text, or may be a reference to one of several resources that justify the procedure." ) + @Child(name = "reason", type = {CodeableReference.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The justification that the procedure was performed", formalDefinition="The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-reason") protected List reason; /** * Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion. */ - @Child(name = "bodySite", type = {CodeableConcept.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "bodySite", type = {CodeableConcept.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Target body sites", formalDefinition="Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/body-site") protected List bodySite; @@ -663,7 +716,7 @@ public class Procedure extends DomainResource { /** * The outcome of the procedure - did it resolve the reasons for the procedure being performed? */ - @Child(name = "outcome", type = {CodeableConcept.class}, order=19, min=0, max=1, modifier=false, summary=true) + @Child(name = "outcome", type = {CodeableConcept.class}, order=20, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The result of procedure", formalDefinition="The outcome of the procedure - did it resolve the reasons for the procedure being performed?" ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-outcome") protected CodeableConcept outcome; @@ -671,14 +724,14 @@ public class Procedure extends DomainResource { /** * This could be a histology result, pathology report, surgical report, etc. */ - @Child(name = "report", type = {DiagnosticReport.class, DocumentReference.class, Composition.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "report", type = {DiagnosticReport.class, DocumentReference.class, Composition.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Any report resulting from the procedure", formalDefinition="This could be a histology result, pathology report, surgical report, etc." ) protected List report; /** * Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues. */ - @Child(name = "complication", type = {CodeableConcept.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "complication", type = {CodeableConcept.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Complication following the procedure", formalDefinition="Any complications that occurred during the procedure, or in the immediate post-performance period. These are generally tracked separately from the notes, which will typically describe the procedure itself rather than any 'post procedure' issues." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/condition-code") protected List complication; @@ -686,14 +739,14 @@ public class Procedure extends DomainResource { /** * Any complications that occurred during the procedure, or in the immediate post-performance period. */ - @Child(name = "complicationDetail", type = {Condition.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "complicationDetail", type = {Condition.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A condition that is a result of the procedure", formalDefinition="Any complications that occurred during the procedure, or in the immediate post-performance period." ) protected List complicationDetail; /** * If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used. */ - @Child(name = "followUp", type = {CodeableConcept.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "followUp", type = {CodeableConcept.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Instructions for follow up", formalDefinition="If the procedure required specific follow up - e.g. removal of sutures. The follow up may be represented as a simple note or could potentially be more complex, in which case the CarePlan resource can be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-followup") protected List followUp; @@ -701,21 +754,21 @@ public class Procedure extends DomainResource { /** * Any other notes and comments about the procedure. */ - @Child(name = "note", type = {Annotation.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional information about the procedure", formalDefinition="Any other notes and comments about the procedure." ) protected List note; /** * A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure. */ - @Child(name = "focalDevice", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "focalDevice", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Manipulated, implanted, or removed device", formalDefinition="A device that is implanted, removed or otherwise manipulated (calibration, battery replacement, fitting a prosthesis, attaching a wound-vac, etc.) as a focal portion of the Procedure." ) protected List focalDevice; /** * Identifies medications, devices and any other substance used as part of the procedure. */ - @Child(name = "used", type = {CodeableReference.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "used", type = {CodeableReference.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Items used during procedure", formalDefinition="Identifies medications, devices and any other substance used as part of the procedure." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/device-type") protected List used; @@ -723,11 +776,11 @@ public class Procedure extends DomainResource { /** * Other resources from the patient record that may be relevant to the procedure. The information from these resources was either used to create the instance or is provided to help with its interpretation. This extension should not be used if more specific inline elements or extensions are available. */ - @Child(name = "supportingInfo", type = {Reference.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "supportingInfo", type = {Reference.class}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Extra information relevant to the procedure", formalDefinition="Other resources from the patient record that may be relevant to the procedure. The information from these resources was either used to create the instance or is provided to help with its interpretation. This extension should not be used if more specific inline elements or extensions are available." ) protected List supportingInfo; - private static final long serialVersionUID = -1752782660L; + private static final long serialVersionUID = -1682731069L; /** * Constructor @@ -1173,7 +1226,7 @@ public class Procedure extends DomainResource { } /** - * @return {@link #subject} (On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations).) + * @return {@link #subject} (On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure.) */ public Reference getSubject() { if (this.subject == null) @@ -1189,13 +1242,37 @@ public class Procedure extends DomainResource { } /** - * @param value {@link #subject} (On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations).) + * @param value {@link #subject} (On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure.) */ public Procedure setSubject(Reference value) { this.subject = value; return this; } + /** + * @return {@link #focus} (Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient.) + */ + public Reference getFocus() { + if (this.focus == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Procedure.focus"); + else if (Configuration.doAutoCreate()) + this.focus = new Reference(); // cc + return this.focus; + } + + public boolean hasFocus() { + return this.focus != null && !this.focus.isEmpty(); + } + + /** + * @param value {@link #focus} (Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient.) + */ + public Procedure setFocus(Reference value) { + this.focus = value; + return this; + } + /** * @return {@link #encounter} (The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.) */ @@ -1533,7 +1610,7 @@ public class Procedure extends DomainResource { } /** - * @return {@link #reason} (The coded reason or reference why the procedure was performed. This may be a coded entity of some type, or may simply be present as text, or may be a reference to one of several resources that justify the procedure.) + * @return {@link #reason} (The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure.) */ public List getReason() { if (this.reason == null) @@ -2097,7 +2174,8 @@ public class Procedure extends DomainResource { children.add(new Property("statusReason", "CodeableConcept", "Captures the reason for the current state of the procedure.", 0, 1, statusReason)); children.add(new Property("category", "CodeableConcept", "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, java.lang.Integer.MAX_VALUE, category)); children.add(new Property("code", "CodeableConcept", "The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\").", 0, 1, code)); - children.add(new Property("subject", "Reference(Patient|Group|Device|Practitioner|Organization|Location)", "On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations).", 0, 1, subject)); + children.add(new Property("subject", "Reference(Patient|Group|Device|Practitioner|Organization|Location)", "On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure.", 0, 1, subject)); + children.add(new Property("focus", "Reference(Patient|Group|RelatedPerson|Practitioner|Organization|CareTeam|PractitionerRole)", "Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient.", 0, 1, focus)); children.add(new Property("encounter", "Reference(Encounter)", "The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.", 0, 1, encounter)); children.add(new Property("occurrence[x]", "dateTime|Period|string|Age|Range|Timing", "Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, occurrence)); children.add(new Property("recorded", "dateTime", "The date the occurrence of the procedure was first captured in the record regardless of Procedure.status (potentially after the occurrence of the event).", 0, 1, recorded)); @@ -2105,7 +2183,7 @@ public class Procedure extends DomainResource { children.add(new Property("reported[x]", "boolean|Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Organization)", "Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report.", 0, 1, reported)); children.add(new Property("performer", "", "Limited to \"real\" people rather than equipment.", 0, java.lang.Integer.MAX_VALUE, performer)); children.add(new Property("location", "Reference(Location)", "The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.", 0, 1, location)); - children.add(new Property("reason", "CodeableReference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference)", "The coded reason or reference why the procedure was performed. This may be a coded entity of some type, or may simply be present as text, or may be a reference to one of several resources that justify the procedure.", 0, java.lang.Integer.MAX_VALUE, reason)); + children.add(new Property("reason", "CodeableReference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference)", "The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure.", 0, java.lang.Integer.MAX_VALUE, reason)); children.add(new Property("bodySite", "CodeableConcept", "Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.", 0, java.lang.Integer.MAX_VALUE, bodySite)); children.add(new Property("outcome", "CodeableConcept", "The outcome of the procedure - did it resolve the reasons for the procedure being performed?", 0, 1, outcome)); children.add(new Property("report", "Reference(DiagnosticReport|DocumentReference|Composition)", "This could be a histology result, pathology report, surgical report, etc.", 0, java.lang.Integer.MAX_VALUE, report)); @@ -2130,7 +2208,8 @@ public class Procedure extends DomainResource { case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "Captures the reason for the current state of the procedure.", 0, 1, statusReason); case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the procedure for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, java.lang.Integer.MAX_VALUE, category); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "The specific procedure that is performed. Use text if the exact nature of the procedure cannot be coded (e.g. \"Laparoscopic Appendectomy\").", 0, 1, code); - case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Practitioner|Organization|Location)", "On whom or what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations).", 0, 1, subject); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group|Device|Practitioner|Organization|Location)", "On whom or on what the procedure was performed. This is usually an individual human, but can also be performed on animals, groups of humans or animals, organizations or practitioners (for licensing), locations or devices (for safety inspections or regulatory authorizations). If the actual focus of the procedure is different from the subject, the focus element specifies the actual focus of the procedure.", 0, 1, subject); + case 97604824: /*focus*/ return new Property("focus", "Reference(Patient|Group|RelatedPerson|Practitioner|Organization|CareTeam|PractitionerRole)", "Who is the target of the procedure when it is not the subject of record only. If focus is not present, then subject is the focus. If focus is present and the subject is one of the targets of the procedure, include subject as a focus as well. If focus is present and the subject is not included in focus, it implies that the procedure was only targeted on the focus. For example, when a caregiver is given education for a patient, the caregiver would be the focus and the procedure record is associated with the subject (e.g. patient). For example, use focus when recording the target of the education, training, or counseling is the parent or relative of a patient.", 0, 1, focus); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The Encounter during which this Procedure was created or performed or to which the creation of this record is tightly associated.", 0, 1, encounter); case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|string|Age|Range|Timing", "Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, occurrence); case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|string|Age|Range|Timing", "Estimated or actual date, date-time, period, or age when the procedure did occur or is occurring. Allows a period to support complex procedures that span more than one date, and also allows for the length of the procedure to be captured.", 0, 1, occurrence); @@ -2148,7 +2227,7 @@ public class Procedure extends DomainResource { case 1198143416: /*reportedReference*/ return new Property("reported[x]", "Reference(Patient|RelatedPerson|Practitioner|PractitionerRole|Organization)", "Indicates if this record was captured as a secondary 'reported' record rather than as an original primary source-of-truth record. It may also indicate the source of the report.", 0, 1, reported); case 481140686: /*performer*/ return new Property("performer", "", "Limited to \"real\" people rather than equipment.", 0, java.lang.Integer.MAX_VALUE, performer); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "The location where the procedure actually happened. E.g. a newborn at home, a tracheostomy at a restaurant.", 0, 1, location); - case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference)", "The coded reason or reference why the procedure was performed. This may be a coded entity of some type, or may simply be present as text, or may be a reference to one of several resources that justify the procedure.", 0, java.lang.Integer.MAX_VALUE, reason); + case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|Procedure|DiagnosticReport|DocumentReference)", "The coded reason or reference why the procedure was performed. This may be a coded entity of some type, be present as text, or be a reference to one of several resources that justify the procedure.", 0, java.lang.Integer.MAX_VALUE, reason); case 1702620169: /*bodySite*/ return new Property("bodySite", "CodeableConcept", "Detailed and structured anatomical location information. Multiple locations are allowed - e.g. multiple punch biopsies of a lesion.", 0, java.lang.Integer.MAX_VALUE, bodySite); case -1106507950: /*outcome*/ return new Property("outcome", "CodeableConcept", "The outcome of the procedure - did it resolve the reasons for the procedure being performed?", 0, 1, outcome); case -934521548: /*report*/ return new Property("report", "Reference(DiagnosticReport|DocumentReference|Composition)", "This could be a histology result, pathology report, surgical report, etc.", 0, java.lang.Integer.MAX_VALUE, report); @@ -2177,6 +2256,7 @@ public class Procedure extends DomainResource { case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference + case 97604824: /*focus*/ return this.focus == null ? new Base[0] : new Base[] {this.focus}; // Reference case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType case -799233872: /*recorded*/ return this.recorded == null ? new Base[0] : new Base[] {this.recorded}; // DateTimeType @@ -2234,6 +2314,9 @@ public class Procedure extends DomainResource { case -1867885268: // subject this.subject = TypeConvertor.castToReference(value); // Reference return value; + case 97604824: // focus + this.focus = TypeConvertor.castToReference(value); // Reference + return value; case 1524132147: // encounter this.encounter = TypeConvertor.castToReference(value); // Reference return value; @@ -2316,6 +2399,8 @@ public class Procedure extends DomainResource { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("subject")) { this.subject = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("focus")) { + this.focus = TypeConvertor.castToReference(value); // Reference } else if (name.equals("encounter")) { this.encounter = TypeConvertor.castToReference(value); // Reference } else if (name.equals("occurrence[x]")) { @@ -2370,6 +2455,7 @@ public class Procedure extends DomainResource { case 50511102: return addCategory(); case 3059181: return getCode(); case -1867885268: return getSubject(); + case 97604824: return getFocus(); case 1524132147: return getEncounter(); case -2022646513: return getOccurrence(); case 1687874001: return getOccurrence(); @@ -2408,6 +2494,7 @@ public class Procedure extends DomainResource { case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case -1867885268: /*subject*/ return new String[] {"Reference"}; + case 97604824: /*focus*/ return new String[] {"Reference"}; case 1524132147: /*encounter*/ return new String[] {"Reference"}; case 1687874001: /*occurrence*/ return new String[] {"dateTime", "Period", "string", "Age", "Range", "Timing"}; case -799233872: /*recorded*/ return new String[] {"dateTime"}; @@ -2466,6 +2553,10 @@ public class Procedure extends DomainResource { this.subject = new Reference(); return this.subject; } + else if (name.equals("focus")) { + this.focus = new Reference(); + return this.focus; + } else if (name.equals("encounter")) { this.encounter = new Reference(); return this.encounter; @@ -2601,6 +2692,7 @@ public class Procedure extends DomainResource { }; dst.code = code == null ? null : code.copy(); dst.subject = subject == null ? null : subject.copy(); + dst.focus = focus == null ? null : focus.copy(); dst.encounter = encounter == null ? null : encounter.copy(); dst.occurrence = occurrence == null ? null : occurrence.copy(); dst.recorded = recorded == null ? null : recorded.copy(); @@ -2680,13 +2772,13 @@ public class Procedure extends DomainResource { && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(partOf, o.partOf, true) && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(category, o.category, true) && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) - && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) && compareDeep(recorded, o.recorded, true) - && compareDeep(recorder, o.recorder, true) && compareDeep(reported, o.reported, true) && compareDeep(performer, o.performer, true) - && compareDeep(location, o.location, true) && compareDeep(reason, o.reason, true) && compareDeep(bodySite, o.bodySite, true) - && compareDeep(outcome, o.outcome, true) && compareDeep(report, o.report, true) && compareDeep(complication, o.complication, true) - && compareDeep(complicationDetail, o.complicationDetail, true) && compareDeep(followUp, o.followUp, true) - && compareDeep(note, o.note, true) && compareDeep(focalDevice, o.focalDevice, true) && compareDeep(used, o.used, true) - && compareDeep(supportingInfo, o.supportingInfo, true); + && compareDeep(focus, o.focus, true) && compareDeep(encounter, o.encounter, true) && compareDeep(occurrence, o.occurrence, true) + && compareDeep(recorded, o.recorded, true) && compareDeep(recorder, o.recorder, true) && compareDeep(reported, o.reported, true) + && compareDeep(performer, o.performer, true) && compareDeep(location, o.location, true) && compareDeep(reason, o.reason, true) + && compareDeep(bodySite, o.bodySite, true) && compareDeep(outcome, o.outcome, true) && compareDeep(report, o.report, true) + && compareDeep(complication, o.complication, true) && compareDeep(complicationDetail, o.complicationDetail, true) + && compareDeep(followUp, o.followUp, true) && compareDeep(note, o.note, true) && compareDeep(focalDevice, o.focalDevice, true) + && compareDeep(used, o.used, true) && compareDeep(supportingInfo, o.supportingInfo, true); } @Override @@ -2703,9 +2795,9 @@ public class Procedure extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical , instantiatesUri, basedOn, partOf, status, statusReason, category, code, subject - , encounter, occurrence, recorded, recorder, reported, performer, location, reason - , bodySite, outcome, report, complication, complicationDetail, followUp, note - , focalDevice, used, supportingInfo); + , focus, encounter, occurrence, recorded, recorder, reported, performer, location + , reason, bodySite, outcome, report, complication, complicationDetail, followUp + , note, focalDevice, used, supportingInfo); } @Override @@ -3019,13 +3111,12 @@ public class Procedure extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) + @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n", type="token" ) public static final String SP_CODE = "code"; /** * Fluent Client search parameter constant for code @@ -3045,10 +3136,9 @@ public class Procedure extends DomainResource { * [MedicationUsage](medicationusage.html): Return statements of this medication code * [Observation](observation.html): The code of the observation type * [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered
* Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
+ * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); @@ -3277,7 +3367,7 @@ public class Procedure extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3286,10 +3376,10 @@ public class Procedure extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3321,7 +3411,7 @@ public class Procedure extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3330,7 +3420,7 @@ public class Procedure extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ProductShelfLife.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ProductShelfLife.java index be5afd090..8f153cb5d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ProductShelfLife.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ProductShelfLife.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class. + * ProductShelfLife Type: The shelf-life and storage information for a medicinal product item or container can be described using this class. */ @DatatypeDef(name="ProductShelfLife") public class ProductShelfLife extends BackboneType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Provenance.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Provenance.java index 5b9c2a381..2ecd15143 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Provenance.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Provenance.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -225,7 +225,7 @@ public class Provenance extends DomainResource { /** * The agent that delegated authority to perform the activity performed by the agent.who element. */ - @Child(name = "onBehalfOf", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class, RelatedPerson.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "onBehalfOf", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, Patient.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="The agent that delegated", formalDefinition="The agent that delegated authority to perform the activity performed by the agent.who element." ) protected Reference onBehalfOf; @@ -376,7 +376,7 @@ public class Provenance extends DomainResource { children.add(new Property("type", "CodeableConcept", "The Functional Role of the agent with respect to the activity.", 0, 1, type)); children.add(new Property("role", "CodeableConcept", "The structural roles of the agent indicating the agent's competency. The security role enabling the agent with respect to the activity.", 0, java.lang.Integer.MAX_VALUE, role)); children.add(new Property("who", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "Indicates who or what performed in the event.", 0, 1, who)); - children.add(new Property("onBehalfOf", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|RelatedPerson)", "The agent that delegated authority to perform the activity performed by the agent.who element.", 0, 1, onBehalfOf)); + children.add(new Property("onBehalfOf", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient)", "The agent that delegated authority to perform the activity performed by the agent.who element.", 0, 1, onBehalfOf)); } @Override @@ -385,7 +385,7 @@ public class Provenance extends DomainResource { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The Functional Role of the agent with respect to the activity.", 0, 1, type); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The structural roles of the agent indicating the agent's competency. The security role enabling the agent with respect to the activity.", 0, java.lang.Integer.MAX_VALUE, role); case 117694: /*who*/ return new Property("who", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|Device|RelatedPerson)", "Indicates who or what performed in the event.", 0, 1, who); - case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient|RelatedPerson)", "The agent that delegated authority to perform the activity performed by the agent.who element.", 0, 1, onBehalfOf); + case -14402964: /*onBehalfOf*/ return new Property("onBehalfOf", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|Patient)", "The agent that delegated authority to perform the activity performed by the agent.who element.", 0, 1, onBehalfOf); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -2012,7 +2012,7 @@ public class Provenance extends DomainResource { * Path: Provenance.entity.what
*

*/ - @SearchParamDefinition(name="entity", path="Provenance.entity.what", description="Identity of entity", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="entity", path="Provenance.entity.what", description="Identity of entity", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_ENTITY = "entity"; /** * Fluent Client search parameter constant for entity @@ -2130,7 +2130,7 @@ public class Provenance extends DomainResource { * Path: Provenance.target
*

*/ - @SearchParamDefinition(name="target", path="Provenance.target", description="Target Reference(s) (usually version specific)", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="target", path="Provenance.target", description="Target Reference(s) (usually version specific)", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_TARGET = "target"; /** * Fluent Client search parameter constant for target diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Quantity.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Quantity.java index 544436798..ed7d0f367 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Quantity.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Quantity.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Quantity Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. + * Quantity Type: A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. */ @DatatypeDef(name="Quantity") public class Quantity extends DataType implements ICompositeType, ICoding { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Questionnaire.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Questionnaire.java index 3b77b0aa6..5479c1cbf 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Questionnaire.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Questionnaire.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -551,11 +551,11 @@ public class Questionnaire extends MetadataResource { */ BOOLEAN, /** - * Question with is a real number answer (valueDecimal). + * Question with is a real number answer (valueDecimal). There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to computably convey the unit of measure associated with the answer for use when performing data extraction to an element of type Quantity. */ DECIMAL, /** - * Question with an integer answer (valueInteger). + * Question with an integer answer (valueInteger). There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to computably convey the unit of measure associated with the answer for use when performing data extraction to an element of type Quantity. */ INTEGER, /** @@ -571,7 +571,7 @@ public class Questionnaire extends MetadataResource { */ TIME, /** - * Question with a short (few words to short sentence) free-text entry answer (valueString). + * Question with a short (few words to short sentence) free-text entry answer (valueString). Strings SHOULD NOT contain carriage return or newline characters. If multi-line answers are needed, use the 'text' type. */ STRING, /** @@ -595,7 +595,7 @@ public class Questionnaire extends MetadataResource { */ REFERENCE, /** - * Question with a combination of a numeric value and unit, potentially with a comparator (<, >, etc.) as an answer. (valueQuantity) There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to define what unit should be captured (or the unit that has a ucum conversion from the provided unit). + * Question with a combination of a numeric value and unit as an answer. (valueSimpleQuantity) There are two extensions ('http://hl7.org/fhir/StructureDefinition/questionnaire-unitOption' and 'http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet') that can be used to define what unit should be selected for the Quantity.code and Quantity.system. */ QUANTITY, /** @@ -692,18 +692,18 @@ public class Questionnaire extends MetadataResource { case DISPLAY: return "Text for display that will not capture an answer or have child items."; case QUESTION: return "An item that defines a specific answer to be captured, and which may have child items. (the answer provided in the QuestionnaireResponse should be of the defined datatype)."; case BOOLEAN: return "Question with a yes/no answer (valueBoolean)."; - case DECIMAL: return "Question with is a real number answer (valueDecimal)."; - case INTEGER: return "Question with an integer answer (valueInteger)."; + case DECIMAL: return "Question with is a real number answer (valueDecimal). There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to computably convey the unit of measure associated with the answer for use when performing data extraction to an element of type Quantity."; + case INTEGER: return "Question with an integer answer (valueInteger). There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to computably convey the unit of measure associated with the answer for use when performing data extraction to an element of type Quantity."; case DATE: return "Question with a date answer (valueDate)."; case DATETIME: return "Question with a date and time answer (valueDateTime)."; case TIME: return "Question with a time (hour:minute:second) answer independent of date. (valueTime)."; - case STRING: return "Question with a short (few words to short sentence) free-text entry answer (valueString)."; + case STRING: return "Question with a short (few words to short sentence) free-text entry answer (valueString). Strings SHOULD NOT contain carriage return or newline characters. If multi-line answers are needed, use the 'text' type."; case TEXT: return "Question with a long (potentially multi-paragraph) free-text entry answer (valueString)."; case URL: return "Question with a URL (website, FTP site, etc.) answer (valueUri)."; case CODING: return "Question with a Coding - generally drawn from a list of possible answers (valueCoding)"; case ATTACHMENT: return "Question with binary content such as an image, PDF, etc. as an answer (valueAttachment)."; case REFERENCE: return "Question with a reference to another resource (practitioner, organization, etc.) as an answer (valueReference)."; - case QUANTITY: return "Question with a combination of a numeric value and unit, potentially with a comparator (<, >, etc.) as an answer. (valueQuantity) There is an extension 'http://hl7.org/fhir/StructureDefinition/questionnaire-unit' that can be used to define what unit should be captured (or the unit that has a ucum conversion from the provided unit)."; + case QUANTITY: return "Question with a combination of a numeric value and unit as an answer. (valueSimpleQuantity) There are two extensions ('http://hl7.org/fhir/StructureDefinition/questionnaire-unitOption' and 'http://hl7.org/fhir/StructureDefinition/questionnaire-unitValueSet') that can be used to define what unit should be selected for the Quantity.code and Quantity.system."; case NULL: return null; default: return "?"; } @@ -887,9 +887,9 @@ public class Questionnaire extends MetadataResource { /** * The name of a section, the text of a question or text content for a display item. */ - @Child(name = "text", type = {MarkdownType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Child(name = "text", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Primary text for the item", formalDefinition="The name of a section, the text of a question or text content for a display item." ) - protected MarkdownType text; + protected StringType text; /** * The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, Coding, etc.). @@ -930,10 +930,10 @@ public class Questionnaire extends MetadataResource { protected BooleanType required; /** - * An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups. + * An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items). */ @Child(name = "repeats", type = {BooleanType.class}, order=11, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Whether the item may repeat", formalDefinition="An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups." ) + @Description(shortDefinition="Whether the item may repeat", formalDefinition="An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items)." ) protected BooleanType repeats; /** @@ -986,7 +986,7 @@ public class Questionnaire extends MetadataResource { @Description(shortDefinition="Nested questionnaire items", formalDefinition="Text, questions and other groups to be nested beneath a question or group." ) protected List item; - private static final long serialVersionUID = 794112941L; + private static final long serialVersionUID = -1760914161L; /** * Constructor @@ -1203,12 +1203,12 @@ public class Questionnaire extends MetadataResource { /** * @return {@link #text} (The name of a section, the text of a question or text content for a display item.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value */ - public MarkdownType getTextElement() { + public StringType getTextElement() { if (this.text == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create QuestionnaireItemComponent.text"); else if (Configuration.doAutoCreate()) - this.text = new MarkdownType(); // bb + this.text = new StringType(); // bb return this.text; } @@ -1223,7 +1223,7 @@ public class Questionnaire extends MetadataResource { /** * @param value {@link #text} (The name of a section, the text of a question or text content for a display item.). This is the underlying object with id, value and extensions. The accessor "getText" gives direct access to the value */ - public QuestionnaireItemComponent setTextElement(MarkdownType value) { + public QuestionnaireItemComponent setTextElement(StringType value) { this.text = value; return this; } @@ -1239,11 +1239,11 @@ public class Questionnaire extends MetadataResource { * @param value The name of a section, the text of a question or text content for a display item. */ public QuestionnaireItemComponent setText(String value) { - if (value == null) + if (Utilities.noString(value)) this.text = null; else { if (this.text == null) - this.text = new MarkdownType(); + this.text = new StringType(); this.text.setValue(value); } return this; @@ -1491,7 +1491,7 @@ public class Questionnaire extends MetadataResource { } /** - * @return {@link #repeats} (An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups.). This is the underlying object with id, value and extensions. The accessor "getRepeats" gives direct access to the value + * @return {@link #repeats} (An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items).). This is the underlying object with id, value and extensions. The accessor "getRepeats" gives direct access to the value */ public BooleanType getRepeatsElement() { if (this.repeats == null) @@ -1511,7 +1511,7 @@ public class Questionnaire extends MetadataResource { } /** - * @param value {@link #repeats} (An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups.). This is the underlying object with id, value and extensions. The accessor "getRepeats" gives direct access to the value + * @param value {@link #repeats} (An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items).). This is the underlying object with id, value and extensions. The accessor "getRepeats" gives direct access to the value */ public QuestionnaireItemComponent setRepeatsElement(BooleanType value) { this.repeats = value; @@ -1519,14 +1519,14 @@ public class Questionnaire extends MetadataResource { } /** - * @return An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups. + * @return An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items). */ public boolean getRepeats() { return this.repeats == null || this.repeats.isEmpty() ? false : this.repeats.getValue(); } /** - * @param value An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups. + * @param value An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items). */ public QuestionnaireItemComponent setRepeats(boolean value) { if (this.repeats == null) @@ -1888,13 +1888,13 @@ public class Questionnaire extends MetadataResource { children.add(new Property("definition", "uri", "This element is a URI that refers to an [ElementDefinition](elementdefinition.html) that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in [Comments](questionnaire.html#definition), below.", 0, 1, definition)); children.add(new Property("code", "Coding", "A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).", 0, java.lang.Integer.MAX_VALUE, code)); children.add(new Property("prefix", "string", "A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.", 0, 1, prefix)); - children.add(new Property("text", "markdown", "The name of a section, the text of a question or text content for a display item.", 0, 1, text)); + children.add(new Property("text", "string", "The name of a section, the text of a question or text content for a display item.", 0, 1, text)); children.add(new Property("type", "code", "The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, Coding, etc.).", 0, 1, type)); children.add(new Property("enableWhen", "", "A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.", 0, java.lang.Integer.MAX_VALUE, enableWhen)); children.add(new Property("enableBehavior", "code", "Controls how multiple enableWhen values are interpreted - whether all or any must be true.", 0, 1, enableBehavior)); children.add(new Property("disabledDisplay", "code", "Indicates if and how items that are disabled (because enableWhen evaluates to 'false') should be displayed.", 0, 1, disabledDisplay)); children.add(new Property("required", "boolean", "An indication, if true, that the item must be present in a \"completed\" QuestionnaireResponse. If false, the item may be skipped when answering the questionnaire.", 0, 1, required)); - children.add(new Property("repeats", "boolean", "An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups.", 0, 1, repeats)); + children.add(new Property("repeats", "boolean", "An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items).", 0, 1, repeats)); children.add(new Property("readOnly", "boolean", "An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.", 0, 1, readOnly)); children.add(new Property("maxLength", "integer", "The maximum number of characters that are permitted in the answer to be considered a \"valid\" QuestionnaireResponse.", 0, 1, maxLength)); children.add(new Property("answerConstraint", "code", "For items that have a defined set of allowed answers (via answerOption or answerValueset), indicates whether values *other* than those specified can be selected.", 0, 1, answerConstraint)); @@ -1911,13 +1911,13 @@ public class Questionnaire extends MetadataResource { case -1014418093: /*definition*/ return new Property("definition", "uri", "This element is a URI that refers to an [ElementDefinition](elementdefinition.html) that provides information about this item, including information that might otherwise be included in the instance of the Questionnaire resource. A detailed description of the construction of the URI is shown in [Comments](questionnaire.html#definition), below.", 0, 1, definition); case 3059181: /*code*/ return new Property("code", "Coding", "A terminology code that corresponds to this group or question (e.g. a code from LOINC, which defines many questions and answers).", 0, java.lang.Integer.MAX_VALUE, code); case -980110702: /*prefix*/ return new Property("prefix", "string", "A short label for a particular group, question or set of display text within the questionnaire used for reference by the individual completing the questionnaire.", 0, 1, prefix); - case 3556653: /*text*/ return new Property("text", "markdown", "The name of a section, the text of a question or text content for a display item.", 0, 1, text); + case 3556653: /*text*/ return new Property("text", "string", "The name of a section, the text of a question or text content for a display item.", 0, 1, text); case 3575610: /*type*/ return new Property("type", "code", "The type of questionnaire item this is - whether text for display, a grouping of other items or a particular type of data to be captured (string, integer, Coding, etc.).", 0, 1, type); case 1893321565: /*enableWhen*/ return new Property("enableWhen", "", "A constraint indicating that this item should only be enabled (displayed/allow answers to be captured) when the specified condition is true.", 0, java.lang.Integer.MAX_VALUE, enableWhen); case 1854802165: /*enableBehavior*/ return new Property("enableBehavior", "code", "Controls how multiple enableWhen values are interpreted - whether all or any must be true.", 0, 1, enableBehavior); case -1254886746: /*disabledDisplay*/ return new Property("disabledDisplay", "code", "Indicates if and how items that are disabled (because enableWhen evaluates to 'false') should be displayed.", 0, 1, disabledDisplay); case -393139297: /*required*/ return new Property("required", "boolean", "An indication, if true, that the item must be present in a \"completed\" QuestionnaireResponse. If false, the item may be skipped when answering the questionnaire.", 0, 1, required); - case 1094288952: /*repeats*/ return new Property("repeats", "boolean", "An indication, if true, that the item may occur multiple times in the response, collecting multiple answers for questions or multiple sets of answers for groups.", 0, 1, repeats); + case 1094288952: /*repeats*/ return new Property("repeats", "boolean", "An indication, if true, that a QuestionnaireResponse for this item may include multiple answers associated with a single instance of this item (for question-type items) or multiple repetitions of the item (for group-type items).", 0, 1, repeats); case -867683742: /*readOnly*/ return new Property("readOnly", "boolean", "An indication, when true, that the value cannot be changed by a human respondent to the Questionnaire.", 0, 1, readOnly); case -791400086: /*maxLength*/ return new Property("maxLength", "integer", "The maximum number of characters that are permitted in the answer to be considered a \"valid\" QuestionnaireResponse.", 0, 1, maxLength); case 746396731: /*answerConstraint*/ return new Property("answerConstraint", "code", "For items that have a defined set of allowed answers (via answerOption or answerValueset), indicates whether values *other* than those specified can be selected.", 0, 1, answerConstraint); @@ -1937,7 +1937,7 @@ public class Questionnaire extends MetadataResource { case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // UriType case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // Coding case -980110702: /*prefix*/ return this.prefix == null ? new Base[0] : new Base[] {this.prefix}; // StringType - case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // MarkdownType + case 3556653: /*text*/ return this.text == null ? new Base[0] : new Base[] {this.text}; // StringType case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration case 1893321565: /*enableWhen*/ return this.enableWhen == null ? new Base[0] : this.enableWhen.toArray(new Base[this.enableWhen.size()]); // QuestionnaireItemEnableWhenComponent case 1854802165: /*enableBehavior*/ return this.enableBehavior == null ? new Base[0] : new Base[] {this.enableBehavior}; // Enumeration @@ -1972,7 +1972,7 @@ public class Questionnaire extends MetadataResource { this.prefix = TypeConvertor.castToString(value); // StringType return value; case 3556653: // text - this.text = TypeConvertor.castToMarkdown(value); // MarkdownType + this.text = TypeConvertor.castToString(value); // StringType return value; case 3575610: // type value = new QuestionnaireItemTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); @@ -2033,7 +2033,7 @@ public class Questionnaire extends MetadataResource { } else if (name.equals("prefix")) { this.prefix = TypeConvertor.castToString(value); // StringType } else if (name.equals("text")) { - this.text = TypeConvertor.castToMarkdown(value); // MarkdownType + this.text = TypeConvertor.castToString(value); // StringType } else if (name.equals("type")) { value = new QuestionnaireItemTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration @@ -2102,7 +2102,7 @@ public class Questionnaire extends MetadataResource { case -1014418093: /*definition*/ return new String[] {"uri"}; case 3059181: /*code*/ return new String[] {"Coding"}; case -980110702: /*prefix*/ return new String[] {"string"}; - case 3556653: /*text*/ return new String[] {"markdown"}; + case 3556653: /*text*/ return new String[] {"string"}; case 3575610: /*type*/ return new String[] {"code"}; case 1893321565: /*enableWhen*/ return new String[] {}; case 1854802165: /*enableBehavior*/ return new String[] {"code"}; @@ -3576,31 +3576,39 @@ public QuestionnaireItemComponent getQuestion(String linkId) { @Description(shortDefinition="Business version of the questionnaire", formalDefinition="The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this questionnaire (computer friendly)", formalDefinition="A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the questionnaire. */ - @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this questionnaire (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the questionnaire." ) protected StringType title; /** * The URL of a Questionnaire that this Questionnaire is based on. */ - @Child(name = "derivedFrom", type = {CanonicalType.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "derivedFrom", type = {CanonicalType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Instantiates protocol or definition", formalDefinition="The URL of a Questionnaire that this Questionnaire is based on." ) protected List derivedFrom; /** * The status of this questionnaire. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this questionnaire. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -3608,14 +3616,14 @@ public QuestionnaireItemComponent getQuestion(String linkId) { /** * A Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The types of subjects that can be the subject of responses created for the questionnaire. */ - @Child(name = "subjectType", type = {CodeType.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "subjectType", type = {CodeType.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Resource that can be subject of QuestionnaireResponse", formalDefinition="The types of subjects that can be the subject of responses created for the questionnaire." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") protected List subjectType; @@ -3623,42 +3631,42 @@ public QuestionnaireItemComponent getQuestion(String linkId) { /** * The date (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=10, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last formally published", formalDefinition="The date (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the questionnaire. + * The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire. */ - @Child(name = "publisher", type = {StringType.class}, order=10, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the questionnaire." ) + @Child(name = "publisher", type = {StringType.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the questionnaire from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the questionnaire", formalDefinition="A free text natural language description of the questionnaire from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances." ) protected List useContext; /** * A legal or geographic region in which the questionnaire is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for questionnaire (if applicable)", formalDefinition="A legal or geographic region in which the questionnaire is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -3666,42 +3674,49 @@ public QuestionnaireItemComponent getQuestion(String linkId) { /** * Explanation of why this questionnaire is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this questionnaire is defined", formalDefinition="Explanation of why this questionnaire is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** * A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire." ) protected MarkdownType copyright; + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. */ - @Child(name = "approvalDate", type = {DateType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "approvalDate", type = {DateType.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When the questionnaire was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) protected DateType approvalDate; /** * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. */ - @Child(name = "lastReviewDate", type = {DateType.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Child(name = "lastReviewDate", type = {DateType.class}, order=20, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When the questionnaire was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) protected DateType lastReviewDate; /** * The period during which the questionnaire content was or is planned to be in active use. */ - @Child(name = "effectivePeriod", type = {Period.class}, order=19, min=0, max=1, modifier=false, summary=true) + @Child(name = "effectivePeriod", type = {Period.class}, order=21, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="When the questionnaire is expected to be used", formalDefinition="The period during which the questionnaire content was or is planned to be in active use." ) protected Period effectivePeriod; /** * An identifier for this question or group of questions in a particular terminology such as LOINC. */ - @Child(name = "code", type = {Coding.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "code", type = {Coding.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Concept that represents the overall questionnaire", formalDefinition="An identifier for this question or group of questions in a particular terminology such as LOINC." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/questionnaire-questions") protected List code; @@ -3709,11 +3724,11 @@ public QuestionnaireItemComponent getQuestion(String linkId) { /** * A particular question, question grouping or display text that is part of the questionnaire. */ - @Child(name = "item", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "item", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Questions and sections within the Questionnaire", formalDefinition="A particular question, question grouping or display text that is part of the questionnaire." ) protected List item; - private static final long serialVersionUID = -2135957722L; + private static final long serialVersionUID = -863684953L; /** * Constructor @@ -3881,6 +3896,57 @@ public QuestionnaireItemComponent getQuestion(String linkId) { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Questionnaire setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for Questionnaire.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -4241,7 +4307,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { } /** - * @return {@link #publisher} (The name of the organization or individual that published the questionnaire.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -4261,7 +4327,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the questionnaire.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public Questionnaire setPublisherElement(StringType value) { this.publisher = value; @@ -4269,14 +4335,14 @@ public QuestionnaireItemComponent getQuestion(String linkId) { } /** - * @return The name of the organization or individual that published the questionnaire. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the questionnaire. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire. */ public Questionnaire setPublisher(String value) { if (Utilities.noString(value)) @@ -4595,6 +4661,55 @@ public QuestionnaireItemComponent getQuestion(String linkId) { return this; } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Questionnaire.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public Questionnaire setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public Questionnaire setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value */ @@ -4831,7 +4946,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { return 0; } /** - * @return {@link #topic} (Descriptive topics related to the content of the questionnaire. Topics provide a high-level categorization of the questionnaire that can be useful for filtering and searching.) + * @return {@link #topic} (Descriptive topics related to the content of the questionnaire. Topics provide a high-level categorization as well as keywords for the questionnaire that can be useful for filtering and searching.) */ public List getTopic() { return new ArrayList<>(); @@ -4840,23 +4955,23 @@ public QuestionnaireItemComponent getQuestion(String linkId) { * @return Returns a reference to this for easy method chaining */ public Questionnaire setTopic(List theTopic) { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); } public boolean hasTopic() { return false; } public CodeableConcept addTopic() { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); } public Questionnaire addTopic(CodeableConcept t) { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); } /** * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} */ public CodeableConcept getTopicFirstRep() { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"topic\""); } /** * not supported on this implementation @@ -4875,23 +4990,23 @@ public QuestionnaireItemComponent getQuestion(String linkId) { * @return Returns a reference to this for easy method chaining */ public Questionnaire setAuthor(List theAuthor) { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); } public boolean hasAuthor() { return false; } public ContactDetail addAuthor() { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); } public Questionnaire addAuthor(ContactDetail t) { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); } /** * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} */ public ContactDetail getAuthorFirstRep() { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"author\""); } /** * not supported on this implementation @@ -4910,23 +5025,23 @@ public QuestionnaireItemComponent getQuestion(String linkId) { * @return Returns a reference to this for easy method chaining */ public Questionnaire setEditor(List theEditor) { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); } public boolean hasEditor() { return false; } public ContactDetail addEditor() { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); } public Questionnaire addEditor(ContactDetail t) { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); } /** * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} */ public ContactDetail getEditorFirstRep() { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"editor\""); } /** * not supported on this implementation @@ -4945,23 +5060,23 @@ public QuestionnaireItemComponent getQuestion(String linkId) { * @return Returns a reference to this for easy method chaining */ public Questionnaire setReviewer(List theReviewer) { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); } public boolean hasReviewer() { return false; } public ContactDetail addReviewer() { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); } public Questionnaire addReviewer(ContactDetail t) { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); } /** * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} */ public ContactDetail getReviewerFirstRep() { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"reviewer\""); } /** * not supported on this implementation @@ -4980,23 +5095,23 @@ public QuestionnaireItemComponent getQuestion(String linkId) { * @return Returns a reference to this for easy method chaining */ public Questionnaire setEndorser(List theEndorser) { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); } public boolean hasEndorser() { return false; } public ContactDetail addEndorser() { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); } public Questionnaire addEndorser(ContactDetail t) { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); } /** * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} */ public ContactDetail getEndorserFirstRep() { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"endorser\""); } /** * not supported on this implementation @@ -5015,29 +5130,30 @@ public QuestionnaireItemComponent getQuestion(String linkId) { * @return Returns a reference to this for easy method chaining */ public Questionnaire setRelatedArtifact(List theRelatedArtifact) { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); } public boolean hasRelatedArtifact() { return false; } public RelatedArtifact addRelatedArtifact() { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); } public Questionnaire addRelatedArtifact(RelatedArtifact t) { //3 - throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); } /** * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} */ public RelatedArtifact getRelatedArtifactFirstRep() { - throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); + throw new Error("The resource type \"Questionnaire\" does not implement the property \"relatedArtifact\""); } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("url", "uri", "An absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this questionnaire is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the questionnaire is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the questionnaire.", 0, 1, title)); children.add(new Property("derivedFrom", "canonical(Questionnaire)", "The URL of a Questionnaire that this Questionnaire is based on.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); @@ -5045,13 +5161,14 @@ public QuestionnaireItemComponent getQuestion(String linkId) { children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("subjectType", "code", "The types of subjects that can be the subject of responses created for the questionnaire.", 0, java.lang.Integer.MAX_VALUE, subjectType)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the questionnaire.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the questionnaire from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the questionnaire is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this questionnaire is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); children.add(new Property("effectivePeriod", "Period", "The period during which the questionnaire content was or is planned to be in active use.", 0, 1, effectivePeriod)); @@ -5065,6 +5182,10 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this questionnaire when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this questionnaire is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the questionnaire is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this questionnaire when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the questionnaire when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the questionnaire author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the questionnaire. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the questionnaire.", 0, 1, title); case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "canonical(Questionnaire)", "The URL of a Questionnaire that this Questionnaire is based on.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); @@ -5072,13 +5193,14 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this questionnaire is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case -603200890: /*subjectType*/ return new Property("subjectType", "code", "The types of subjects that can be the subject of responses created for the questionnaire.", 0, java.lang.Integer.MAX_VALUE, subjectType); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the questionnaire was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the questionnaire changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the questionnaire.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the questionnaire.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the questionnaire from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate questionnaire instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the questionnaire is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this questionnaire is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the questionnaire and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the questionnaire.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the questionnaire content was or is planned to be in active use.", 0, 1, effectivePeriod); @@ -5095,6 +5217,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : this.derivedFrom.toArray(new Base[this.derivedFrom.size()]); // CanonicalType @@ -5109,6 +5232,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period @@ -5131,6 +5255,9 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -5174,6 +5301,9 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case 223539345: // approvalDate this.approvalDate = TypeConvertor.castToDate(value); // DateType return value; @@ -5202,6 +5332,8 @@ public QuestionnaireItemComponent getQuestion(String linkId) { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -5231,6 +5363,8 @@ public QuestionnaireItemComponent getQuestion(String linkId) { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("approvalDate")) { this.approvalDate = TypeConvertor.castToDate(value); // DateType } else if (name.equals("lastReviewDate")) { @@ -5252,6 +5386,8 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case 116079: return getUrlElement(); case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case 1077922663: return addDerivedFromElement(); @@ -5266,6 +5402,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case 223539345: return getApprovalDateElement(); case -1687512484: return getLastReviewDateElement(); case -403934648: return getEffectivePeriod(); @@ -5282,6 +5419,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case 116079: /*url*/ return new String[] {"uri"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case 1077922663: /*derivedFrom*/ return new String[] {"canonical"}; @@ -5296,6 +5434,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case 223539345: /*approvalDate*/ return new String[] {"date"}; case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; @@ -5317,6 +5456,14 @@ public QuestionnaireItemComponent getQuestion(String linkId) { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type Questionnaire.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type Questionnaire.name"); } @@ -5359,6 +5506,9 @@ public QuestionnaireItemComponent getQuestion(String linkId) { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type Questionnaire.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type Questionnaire.copyrightLabel"); + } else if (name.equals("approvalDate")) { throw new FHIRException("Cannot call addChild on a primitive type Questionnaire.approvalDate"); } @@ -5399,6 +5549,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { dst.identifier.add(i.copy()); }; dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); if (derivedFrom != null) { @@ -5433,6 +5584,7 @@ public QuestionnaireItemComponent getQuestion(String linkId) { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); @@ -5460,14 +5612,14 @@ public QuestionnaireItemComponent getQuestion(String linkId) { return false; Questionnaire o = (Questionnaire) other_; return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) - && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(derivedFrom, o.derivedFrom, true) - && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(subjectType, o.subjectType, true) - && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) - && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) + && compareDeep(derivedFrom, o.derivedFrom, true) && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) + && compareDeep(subjectType, o.subjectType, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) - && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(code, o.code, true) && compareDeep(item, o.item, true) - ; + && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(approvalDate, o.approvalDate, true) + && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(effectivePeriod, o.effectivePeriod, true) + && compareDeep(code, o.code, true) && compareDeep(item, o.item, true); } @Override @@ -5481,15 +5633,16 @@ public QuestionnaireItemComponent getQuestion(String linkId) { && compareValues(title, o.title, true) && compareValues(derivedFrom, o.derivedFrom, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(subjectType, o.subjectType, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) - && compareValues(lastReviewDate, o.lastReviewDate, true); + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version - , name, title, derivedFrom, status, experimental, subjectType, date, publisher - , contact, description, useContext, jurisdiction, purpose, copyright, approvalDate - , lastReviewDate, effectivePeriod, code, item); + , versionAlgorithm, name, title, derivedFrom, status, experimental, subjectType + , date, publisher, contact, description, useContext, jurisdiction, purpose, copyright + , copyrightLabel, approvalDate, lastReviewDate, effectivePeriod, code, item); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/QuestionnaireResponse.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/QuestionnaireResponse.java index 0d0a43b47..e9b592b68 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/QuestionnaireResponse.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/QuestionnaireResponse.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -1180,8 +1180,8 @@ public class QuestionnaireResponse extends DomainResource { /** * The Questionnaire that defines and organizes the questions for which answers are being provided. */ - @Child(name = "questionnaire", type = {CanonicalType.class}, order=3, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Form being answered", formalDefinition="The Questionnaire that defines and organizes the questions for which answers are being provided." ) + @Child(name = "questionnaire", type = {CanonicalType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Canonical URL of Questionnaire being answered", formalDefinition="The Questionnaire that defines and organizes the questions for which answers are being provided." ) protected CanonicalType questionnaire; /** @@ -1246,8 +1246,9 @@ public class QuestionnaireResponse extends DomainResource { /** * Constructor */ - public QuestionnaireResponse(QuestionnaireResponseStatus status) { + public QuestionnaireResponse(String questionnaire, QuestionnaireResponseStatus status) { super(); + this.setQuestionnaire(questionnaire); this.setStatus(status); } @@ -1449,13 +1450,9 @@ public class QuestionnaireResponse extends DomainResource { * @param value The Questionnaire that defines and organizes the questions for which answers are being provided. */ public QuestionnaireResponse setQuestionnaire(String value) { - if (Utilities.noString(value)) - this.questionnaire = null; - else { if (this.questionnaire == null) this.questionnaire = new CanonicalType(); this.questionnaire.setValue(value); - } return this; } @@ -2265,7 +2262,7 @@ public class QuestionnaireResponse extends DomainResource { * Path: QuestionnaireResponse.subject
*

*/ - @SearchParamDefinition(name="subject", path="QuestionnaireResponse.subject", description="The subject of the questionnaire response", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="subject", path="QuestionnaireResponse.subject", description="The subject of the questionnaire response", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Range.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Range.java index 06a711d99..e29ae8106 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Range.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Range.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Range Type: A set of ordered Quantities defined by a low and high limit. + * Range Type: A set of ordered Quantities defined by a low and high limit. */ @DatatypeDef(name="Range") public class Range extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ratio.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ratio.java index a005b754e..0242142c2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ratio.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Ratio.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator. + * Ratio Type: A relationship of two Quantity values - expressed as a numerator and a denominator. */ @DatatypeDef(name="Ratio") public class Ratio extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RatioRange.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RatioRange.java index 40d1e25bf..c559da848 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RatioRange.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RatioRange.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator. + * RatioRange Type: A range of ratios expressed as a low and high numerator and a denominator. */ @DatatypeDef(name="RatioRange") public class RatioRange extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Reference.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Reference.java index f697851b8..8668b7265 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Reference.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Reference.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -50,7 +50,7 @@ import org.hl7.fhir.instance.model.api.IBaseReference; import org.hl7.fhir.instance.model.api.ICompositeType; import org.hl7.fhir.instance.model.api.IIdType; /** - * Base StructureDefinition for Reference Type: A reference from one resource to another. + * Reference Type: A reference from one resource to another. */ @DatatypeDef(name="Reference") public class Reference extends BaseReference implements IBaseReference, ICompositeType { @@ -68,7 +68,7 @@ public class Reference extends BaseReference implements IBaseReference, IComposi The type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. "Patient" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources). */ @Child(name = "type", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Type the reference refers to (e.g. \"Patient\")", formalDefinition="The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.\n\nThe type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. \"Patient\" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)." ) + @Description(shortDefinition="Type the reference refers to (e.g. \"Patient\") - must be a resource in resources", formalDefinition="The expected type of the target of the reference. If both Reference.type and Reference.reference are populated and Reference.reference is a FHIR URL, both SHALL be consistent.\n\nThe type is the Canonical URL of Resource Definition that is the type this reference refers to. References are URLs that are relative to http://hl7.org/fhir/StructureDefinition/ e.g. \"Patient\" is a reference to http://hl7.org/fhir/StructureDefinition/Patient. Absolute URLs are only allowed for logical models (and can only be used in references in logical models, not resources)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") protected UriType type; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RegulatedAuthorization.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RegulatedAuthorization.java index c7cd512c0..30f7e6d3d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RegulatedAuthorization.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RegulatedAuthorization.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -472,7 +472,7 @@ public class RegulatedAuthorization extends DomainResource { /** * The product type, treatment, facility or activity that is being authorized. */ - @Child(name = "subject", type = {MedicinalProductDefinition.class, BiologicallyDerivedProduct.class, NutritionProduct.class, PackagedProductDefinition.class, Ingredient.class, SubstanceDefinition.class, DeviceDefinition.class, ResearchStudy.class, ActivityDefinition.class, PlanDefinition.class, ObservationDefinition.class, Practitioner.class, Organization.class, Location.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "subject", type = {MedicinalProductDefinition.class, BiologicallyDerivedProduct.class, NutritionProduct.class, PackagedProductDefinition.class, ManufacturedItemDefinition.class, Ingredient.class, SubstanceDefinition.class, DeviceDefinition.class, ResearchStudy.class, ActivityDefinition.class, PlanDefinition.class, ObservationDefinition.class, Practitioner.class, Organization.class, Location.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The product type, treatment, facility or activity that is being authorized", formalDefinition="The product type, treatment, facility or activity that is being authorized." ) protected List subject; @@ -524,9 +524,9 @@ public class RegulatedAuthorization extends DomainResource { /** * Condition for which the use of the regulated product applies. */ - @Child(name = "indication", type = {CodeableReference.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Child(name = "indication", type = {CodeableReference.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Condition for which the use of the regulated product applies", formalDefinition="Condition for which the use of the regulated product applies." ) - protected CodeableReference indication; + protected List indication; /** * The intended use of the product, e.g. prevention, treatment, diagnosis. @@ -572,7 +572,7 @@ public class RegulatedAuthorization extends DomainResource { @Description(shortDefinition="The case or regulatory procedure for granting or amending a regulated authorization. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page)", formalDefinition="The case or regulatory procedure for granting or amending a regulated authorization. An authorization is granted in response to submissions/applications by those seeking authorization. A case is the administrative process that deals with the application(s) that relate to this and assesses them. Note: This area is subject to ongoing review and the workgroup is seeking implementer feedback on its use (see link at bottom of page)." ) protected RegulatedAuthorizationCaseComponent case_; - private static final long serialVersionUID = 1242044467L; + private static final long serialVersionUID = 1227409639L; /** * Constructor @@ -913,25 +913,54 @@ public class RegulatedAuthorization extends DomainResource { /** * @return {@link #indication} (Condition for which the use of the regulated product applies.) */ - public CodeableReference getIndication() { + public List getIndication() { if (this.indication == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create RegulatedAuthorization.indication"); - else if (Configuration.doAutoCreate()) - this.indication = new CodeableReference(); // cc + this.indication = new ArrayList(); return this.indication; } + /** + * @return Returns a reference to this for easy method chaining + */ + public RegulatedAuthorization setIndication(List theIndication) { + this.indication = theIndication; + return this; + } + public boolean hasIndication() { - return this.indication != null && !this.indication.isEmpty(); + if (this.indication == null) + return false; + for (CodeableReference item : this.indication) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addIndication() { //3 + CodeableReference t = new CodeableReference(); + if (this.indication == null) + this.indication = new ArrayList(); + this.indication.add(t); + return t; + } + + public RegulatedAuthorization addIndication(CodeableReference t) { //3 + if (t == null) + return this; + if (this.indication == null) + this.indication = new ArrayList(); + this.indication.add(t); + return this; } /** - * @param value {@link #indication} (Condition for which the use of the regulated product applies.) + * @return The first repetition of repeating field {@link #indication}, creating it if it does not already exist {3} */ - public RegulatedAuthorization setIndication(CodeableReference value) { - this.indication = value; - return this; + public CodeableReference getIndicationFirstRep() { + if (getIndication().isEmpty()) { + addIndication(); + } + return getIndication().get(0); } /** @@ -1139,14 +1168,14 @@ public class RegulatedAuthorization extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "Identifier", "Business identifier for the authorization, typically assigned by the authorizing body.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("subject", "Reference(MedicinalProductDefinition|BiologicallyDerivedProduct|NutritionProduct|PackagedProductDefinition|Ingredient|SubstanceDefinition|DeviceDefinition|ResearchStudy|ActivityDefinition|PlanDefinition|ObservationDefinition|Practitioner|Organization|Location)", "The product type, treatment, facility or activity that is being authorized.", 0, java.lang.Integer.MAX_VALUE, subject)); + children.add(new Property("subject", "Reference(MedicinalProductDefinition|BiologicallyDerivedProduct|NutritionProduct|PackagedProductDefinition|ManufacturedItemDefinition|Ingredient|SubstanceDefinition|DeviceDefinition|ResearchStudy|ActivityDefinition|PlanDefinition|ObservationDefinition|Practitioner|Organization|Location)", "The product type, treatment, facility or activity that is being authorized.", 0, java.lang.Integer.MAX_VALUE, subject)); children.add(new Property("type", "CodeableConcept", "Overall type of this authorization, for example drug marketing approval, orphan drug designation.", 0, 1, type)); children.add(new Property("description", "markdown", "General textual supporting information.", 0, 1, description)); children.add(new Property("region", "CodeableConcept", "The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.", 0, java.lang.Integer.MAX_VALUE, region)); children.add(new Property("status", "CodeableConcept", "The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.", 0, 1, status)); children.add(new Property("statusDate", "dateTime", "The date at which the current status was assigned.", 0, 1, statusDate)); children.add(new Property("validityPeriod", "Period", "The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.", 0, 1, validityPeriod)); - children.add(new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, 1, indication)); + children.add(new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, java.lang.Integer.MAX_VALUE, indication)); children.add(new Property("intendedUse", "CodeableConcept", "The intended use of the product, e.g. prevention, treatment, diagnosis.", 0, 1, intendedUse)); children.add(new Property("basis", "CodeableConcept", "The legal or regulatory framework against which this authorization is granted, or other reasons for it.", 0, java.lang.Integer.MAX_VALUE, basis)); children.add(new Property("holder", "Reference(Organization)", "The organization that has been granted this authorization, by some authoritative body (the 'regulator').", 0, 1, holder)); @@ -1159,14 +1188,14 @@ public class RegulatedAuthorization extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifier for the authorization, typically assigned by the authorizing body.", 0, java.lang.Integer.MAX_VALUE, identifier); - case -1867885268: /*subject*/ return new Property("subject", "Reference(MedicinalProductDefinition|BiologicallyDerivedProduct|NutritionProduct|PackagedProductDefinition|Ingredient|SubstanceDefinition|DeviceDefinition|ResearchStudy|ActivityDefinition|PlanDefinition|ObservationDefinition|Practitioner|Organization|Location)", "The product type, treatment, facility or activity that is being authorized.", 0, java.lang.Integer.MAX_VALUE, subject); + case -1867885268: /*subject*/ return new Property("subject", "Reference(MedicinalProductDefinition|BiologicallyDerivedProduct|NutritionProduct|PackagedProductDefinition|ManufacturedItemDefinition|Ingredient|SubstanceDefinition|DeviceDefinition|ResearchStudy|ActivityDefinition|PlanDefinition|ObservationDefinition|Practitioner|Organization|Location)", "The product type, treatment, facility or activity that is being authorized.", 0, java.lang.Integer.MAX_VALUE, subject); case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Overall type of this authorization, for example drug marketing approval, orphan drug designation.", 0, 1, type); case -1724546052: /*description*/ return new Property("description", "markdown", "General textual supporting information.", 0, 1, description); case -934795532: /*region*/ return new Property("region", "CodeableConcept", "The territory (e.g., country, jurisdiction etc.) in which the authorization has been granted.", 0, java.lang.Integer.MAX_VALUE, region); case -892481550: /*status*/ return new Property("status", "CodeableConcept", "The status that is authorised e.g. approved. Intermediate states and actions can be tracked with cases and applications.", 0, 1, status); case 247524032: /*statusDate*/ return new Property("statusDate", "dateTime", "The date at which the current status was assigned.", 0, 1, statusDate); case -1434195053: /*validityPeriod*/ return new Property("validityPeriod", "Period", "The time period in which the regulatory approval, clearance or licencing is in effect. As an example, a Marketing Authorization includes the date of authorization and/or an expiration date.", 0, 1, validityPeriod); - case -597168804: /*indication*/ return new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, 1, indication); + case -597168804: /*indication*/ return new Property("indication", "CodeableReference(ClinicalUseDefinition)", "Condition for which the use of the regulated product applies.", 0, java.lang.Integer.MAX_VALUE, indication); case -1618671268: /*intendedUse*/ return new Property("intendedUse", "CodeableConcept", "The intended use of the product, e.g. prevention, treatment, diagnosis.", 0, 1, intendedUse); case 93508670: /*basis*/ return new Property("basis", "CodeableConcept", "The legal or regulatory framework against which this authorization is granted, or other reasons for it.", 0, java.lang.Integer.MAX_VALUE, basis); case -1211707988: /*holder*/ return new Property("holder", "Reference(Organization)", "The organization that has been granted this authorization, by some authoritative body (the 'regulator').", 0, 1, holder); @@ -1189,7 +1218,7 @@ public class RegulatedAuthorization extends DomainResource { case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeableConcept case 247524032: /*statusDate*/ return this.statusDate == null ? new Base[0] : new Base[] {this.statusDate}; // DateTimeType case -1434195053: /*validityPeriod*/ return this.validityPeriod == null ? new Base[0] : new Base[] {this.validityPeriod}; // Period - case -597168804: /*indication*/ return this.indication == null ? new Base[0] : new Base[] {this.indication}; // CodeableReference + case -597168804: /*indication*/ return this.indication == null ? new Base[0] : this.indication.toArray(new Base[this.indication.size()]); // CodeableReference case -1618671268: /*intendedUse*/ return this.intendedUse == null ? new Base[0] : new Base[] {this.intendedUse}; // CodeableConcept case 93508670: /*basis*/ return this.basis == null ? new Base[0] : this.basis.toArray(new Base[this.basis.size()]); // CodeableConcept case -1211707988: /*holder*/ return this.holder == null ? new Base[0] : new Base[] {this.holder}; // Reference @@ -1229,7 +1258,7 @@ public class RegulatedAuthorization extends DomainResource { this.validityPeriod = TypeConvertor.castToPeriod(value); // Period return value; case -597168804: // indication - this.indication = TypeConvertor.castToCodeableReference(value); // CodeableReference + this.getIndication().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; case -1618671268: // intendedUse this.intendedUse = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -1273,7 +1302,7 @@ public class RegulatedAuthorization extends DomainResource { } else if (name.equals("validityPeriod")) { this.validityPeriod = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("indication")) { - this.indication = TypeConvertor.castToCodeableReference(value); // CodeableReference + this.getIndication().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("intendedUse")) { this.intendedUse = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("basis")) { @@ -1302,7 +1331,7 @@ public class RegulatedAuthorization extends DomainResource { case -892481550: return getStatus(); case 247524032: return getStatusDateElement(); case -1434195053: return getValidityPeriod(); - case -597168804: return getIndication(); + case -597168804: return addIndication(); case -1618671268: return getIntendedUse(); case 93508670: return addBasis(); case -1211707988: return getHolder(); @@ -1367,8 +1396,7 @@ public class RegulatedAuthorization extends DomainResource { return this.validityPeriod; } else if (name.equals("indication")) { - this.indication = new CodeableReference(); - return this.indication; + return addIndication(); } else if (name.equals("intendedUse")) { this.intendedUse = new CodeableConcept(); @@ -1429,7 +1457,11 @@ public class RegulatedAuthorization extends DomainResource { dst.status = status == null ? null : status.copy(); dst.statusDate = statusDate == null ? null : statusDate.copy(); dst.validityPeriod = validityPeriod == null ? null : validityPeriod.copy(); - dst.indication = indication == null ? null : indication.copy(); + if (indication != null) { + dst.indication = new ArrayList(); + for (CodeableReference i : indication) + dst.indication.add(i.copy()); + }; dst.intendedUse = intendedUse == null ? null : intendedUse.copy(); if (basis != null) { dst.basis = new ArrayList(); @@ -1622,7 +1654,7 @@ public class RegulatedAuthorization extends DomainResource { * Path: RegulatedAuthorization.subject
*

*/ - @SearchParamDefinition(name="subject", path="RegulatedAuthorization.subject", description="The type of regulated product, treatment, facility or activity that is being authorized", type="reference", target={ActivityDefinition.class, BiologicallyDerivedProduct.class, DeviceDefinition.class, Ingredient.class, Location.class, MedicinalProductDefinition.class, NutritionProduct.class, ObservationDefinition.class, Organization.class, PackagedProductDefinition.class, PlanDefinition.class, Practitioner.class, ResearchStudy.class, SubstanceDefinition.class } ) + @SearchParamDefinition(name="subject", path="RegulatedAuthorization.subject", description="The type of regulated product, treatment, facility or activity that is being authorized", type="reference", target={ActivityDefinition.class, BiologicallyDerivedProduct.class, DeviceDefinition.class, Ingredient.class, Location.class, ManufacturedItemDefinition.class, MedicinalProductDefinition.class, NutritionProduct.class, ObservationDefinition.class, Organization.class, PackagedProductDefinition.class, PlanDefinition.class, Practitioner.class, ResearchStudy.class, SubstanceDefinition.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedArtifact.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedArtifact.java index b7e47122d..091c07ebb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedArtifact.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedArtifact.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references. + * RelatedArtifact Type: Related artifacts such as additional documentation, justification, or bibliographic references. */ @DatatypeDef(name="RelatedArtifact") public class RelatedArtifact extends DataType implements ICompositeType { @@ -65,11 +65,11 @@ public class RelatedArtifact extends DataType implements ICompositeType { */ CITATION, /** - * The previous version of the knowledge resource. + * The previous version of the knowledge artifact, used to establish an ordering of versions of an artifact, independent of the status of each version. */ PREDECESSOR, /** - * The next version of the knowledge resource. + * The subsequent version of the knowledge artfact, used to establish an ordering of versions of an artifact, independent of the status of each version. */ SUCCESSOR, /** @@ -161,11 +161,11 @@ public class RelatedArtifact extends DataType implements ICompositeType { */ SIMILARTO, /** - * This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness. + * This artifact provides additional support for the target artifact. The type of support is not documentation as it does not describe, explain, or instruct regarding the target artifact. */ SUPPORTS, /** - * The target artifact contains additional documentation for the knowledge resource. This could include additional instructions on usage as well as additional information on clinical context or appropriateness. + * The target artifact contains additional information related to the knowledge artifact but is not documentation as the additional information does not describe, explain, or instruct regarding the knowledge artifact content or application. This could include an associated dataset. */ SUPPORTEDWITH, /** @@ -180,6 +180,22 @@ public class RelatedArtifact extends DataType implements ICompositeType { * This artifact was generated by transforming a related artifact (e.g., format or language conversion), noted separately with the “transforms” relationship type. This transformation used the target artifact to inform the transformation. The target artifact may be a conversion script or translation guide. */ TRANSFORMEDWITH, + /** + * This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness. + */ + DOCUMENTS, + /** + * The target artifact is a precise description of a concept in this artifact. This may be used when the RelatedArtifact datatype is used in elements contained in this artifact. + */ + SPECIFICATIONOF, + /** + * This artifact was created with the target artifact. The target artifact is a tool or support material used in the creation of the artifact, and not content that the artifact was derived from. + */ + CREATEDWITH, + /** + * The related artifact is the citation for this artifact. + */ + CITEAS, /** * added to help the parsers with the generic types */ @@ -251,6 +267,14 @@ public class RelatedArtifact extends DataType implements ICompositeType { return TRANSFORMEDINTO; if ("transformed-with".equals(codeString)) return TRANSFORMEDWITH; + if ("documents".equals(codeString)) + return DOCUMENTS; + if ("specification-of".equals(codeString)) + return SPECIFICATIONOF; + if ("created-with".equals(codeString)) + return CREATEDWITH; + if ("cite-as".equals(codeString)) + return CITEAS; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -290,6 +314,10 @@ public class RelatedArtifact extends DataType implements ICompositeType { case TRANSFORMS: return "transforms"; case TRANSFORMEDINTO: return "transformed-into"; case TRANSFORMEDWITH: return "transformed-with"; + case DOCUMENTS: return "documents"; + case SPECIFICATIONOF: return "specification-of"; + case CREATEDWITH: return "created-with"; + case CITEAS: return "cite-as"; case NULL: return null; default: return "?"; } @@ -328,6 +356,10 @@ public class RelatedArtifact extends DataType implements ICompositeType { case TRANSFORMS: return "http://hl7.org/fhir/related-artifact-type"; case TRANSFORMEDINTO: return "http://hl7.org/fhir/related-artifact-type"; case TRANSFORMEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case DOCUMENTS: return "http://hl7.org/fhir/related-artifact-type"; + case SPECIFICATIONOF: return "http://hl7.org/fhir/related-artifact-type"; + case CREATEDWITH: return "http://hl7.org/fhir/related-artifact-type"; + case CITEAS: return "http://hl7.org/fhir/related-artifact-type"; case NULL: return null; default: return "?"; } @@ -337,8 +369,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { case DOCUMENTATION: return "Additional documentation for the knowledge resource. This would include additional instructions on usage as well as additional information on clinical context or appropriateness."; case JUSTIFICATION: return "The target artifact is a summary of the justification for the knowledge resource including supporting evidence, relevant guidelines, or other clinically important information. This information is intended to provide a way to make the justification for the knowledge resource available to the consumer of interventions or results produced by the knowledge resource."; case CITATION: return "Bibliographic citation for papers, references, or other relevant material for the knowledge resource. This is intended to allow for citation of related material, but that was not necessarily specifically prepared in connection with this knowledge resource."; - case PREDECESSOR: return "The previous version of the knowledge resource."; - case SUCCESSOR: return "The next version of the knowledge resource."; + case PREDECESSOR: return "The previous version of the knowledge artifact, used to establish an ordering of versions of an artifact, independent of the status of each version."; + case SUCCESSOR: return "The subsequent version of the knowledge artfact, used to establish an ordering of versions of an artifact, independent of the status of each version."; case DERIVEDFROM: return "This artifact is derived from the target artifact. This is intended to capture the relationship in which a particular knowledge resource is based on the content of another artifact, but is modified to capture either a different set of overall requirements, or a more specific set of requirements such as those involved in a particular institution or clinical setting. The artifact may be derived from one or more target artifacts."; case DEPENDSON: return "This artifact depends on the target artifact. There is a requirement to use the target artifact in the creation or interpretation of this artifact."; case COMPOSEDOF: return "This artifact is composed of the target artifact. This artifact is constructed with the target artifact as a component. The target artifact is a part of this artifact. (A dataset is composed of data.)."; @@ -361,11 +393,15 @@ public class RelatedArtifact extends DataType implements ICompositeType { case RETRACTEDBY: return "This artifact is retracted by the target artifact. The content that was published in this artifact should be considered removed from publication and should no longer be considered part of the public record."; case SIGNS: return "This artifact is a signature of the target artifact."; case SIMILARTO: return "This artifact has characteristics in common with the target artifact. This relationship may be used in systems to “deduplicate” knowledge artifacts from different sources, or in systems to show “similar items”."; - case SUPPORTS: return "This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness."; - case SUPPORTEDWITH: return "The target artifact contains additional documentation for the knowledge resource. This could include additional instructions on usage as well as additional information on clinical context or appropriateness."; + case SUPPORTS: return "This artifact provides additional support for the target artifact. The type of support is not documentation as it does not describe, explain, or instruct regarding the target artifact."; + case SUPPORTEDWITH: return "The target artifact contains additional information related to the knowledge artifact but is not documentation as the additional information does not describe, explain, or instruct regarding the knowledge artifact content or application. This could include an associated dataset."; case TRANSFORMS: return "This artifact was generated by transforming the target artifact (e.g., format or language conversion). This is intended to capture the relationship in which a particular knowledge resource is based on the content of another artifact, but changes are only apparent in form and there is only one target artifact with the “transforms” relationship type."; case TRANSFORMEDINTO: return "This artifact was transformed into the target artifact (e.g., by format or language conversion)."; case TRANSFORMEDWITH: return "This artifact was generated by transforming a related artifact (e.g., format or language conversion), noted separately with the “transforms” relationship type. This transformation used the target artifact to inform the transformation. The target artifact may be a conversion script or translation guide."; + case DOCUMENTS: return "This artifact provides additional documentation for the target artifact. This could include additional instructions on usage as well as additional information on clinical context or appropriateness."; + case SPECIFICATIONOF: return "The target artifact is a precise description of a concept in this artifact. This may be used when the RelatedArtifact datatype is used in elements contained in this artifact."; + case CREATEDWITH: return "This artifact was created with the target artifact. The target artifact is a tool or support material used in the creation of the artifact, and not content that the artifact was derived from."; + case CITEAS: return "The related artifact is the citation for this artifact."; case NULL: return null; default: return "?"; } @@ -404,6 +440,10 @@ public class RelatedArtifact extends DataType implements ICompositeType { case TRANSFORMS: return "Transforms"; case TRANSFORMEDINTO: return "Transformed Into"; case TRANSFORMEDWITH: return "Transformed With"; + case DOCUMENTS: return "Documents"; + case SPECIFICATIONOF: return "Specification Of"; + case CREATEDWITH: return "Created With"; + case CITEAS: return "Cite As"; case NULL: return null; default: return "?"; } @@ -479,6 +519,14 @@ public class RelatedArtifact extends DataType implements ICompositeType { return RelatedArtifactType.TRANSFORMEDINTO; if ("transformed-with".equals(codeString)) return RelatedArtifactType.TRANSFORMEDWITH; + if ("documents".equals(codeString)) + return RelatedArtifactType.DOCUMENTS; + if ("specification-of".equals(codeString)) + return RelatedArtifactType.SPECIFICATIONOF; + if ("created-with".equals(codeString)) + return RelatedArtifactType.CREATEDWITH; + if ("cite-as".equals(codeString)) + return RelatedArtifactType.CITEAS; throw new IllegalArgumentException("Unknown RelatedArtifactType code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -553,6 +601,14 @@ public class RelatedArtifact extends DataType implements ICompositeType { return new Enumeration(this, RelatedArtifactType.TRANSFORMEDINTO); if ("transformed-with".equals(codeString)) return new Enumeration(this, RelatedArtifactType.TRANSFORMEDWITH); + if ("documents".equals(codeString)) + return new Enumeration(this, RelatedArtifactType.DOCUMENTS); + if ("specification-of".equals(codeString)) + return new Enumeration(this, RelatedArtifactType.SPECIFICATIONOF); + if ("created-with".equals(codeString)) + return new Enumeration(this, RelatedArtifactType.CREATEDWITH); + if ("cite-as".equals(codeString)) + return new Enumeration(this, RelatedArtifactType.CITEAS); throw new FHIRException("Unknown RelatedArtifactType code '"+codeString+"'"); } public String toCode(RelatedArtifactType code) { @@ -620,6 +676,14 @@ public class RelatedArtifact extends DataType implements ICompositeType { return "transformed-into"; if (code == RelatedArtifactType.TRANSFORMEDWITH) return "transformed-with"; + if (code == RelatedArtifactType.DOCUMENTS) + return "documents"; + if (code == RelatedArtifactType.SPECIFICATIONOF) + return "specification-of"; + if (code == RelatedArtifactType.CREATEDWITH) + return "created-with"; + if (code == RelatedArtifactType.CITEAS) + return "cite-as"; return "?"; } public String toSystem(RelatedArtifactType code) { @@ -631,7 +695,7 @@ public class RelatedArtifact extends DataType implements ICompositeType { * The type of relationship to the related artifact. */ @Child(name = "type", type = {CodeType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with", formalDefinition="The type of relationship to the related artifact." ) + @Description(shortDefinition="documentation | justification | citation | predecessor | successor | derived-from | depends-on | composed-of | part-of | amends | amended-with | appends | appended-with | cites | cited-by | comments-on | comment-in | contains | contained-in | corrects | correction-in | replaces | replaced-with | retracts | retracted-by | signs | similar-to | supports | supported-with | transforms | transformed-into | transformed-with | documents | specification-of | created-with | cite-as", formalDefinition="The type of relationship to the related artifact." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/related-artifact-type") protected Enumeration type; @@ -685,7 +749,22 @@ public class RelatedArtifact extends DataType implements ICompositeType { @Description(shortDefinition="What artifact, if not a conformance resource", formalDefinition="The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource." ) protected Reference resourceReference; - private static final long serialVersionUID = 810506564L; + /** + * The publication status of the artifact being referred to. + */ + @Child(name = "publicationStatus", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The publication status of the artifact being referred to." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") + protected Enumeration publicationStatus; + + /** + * The date of publication of the artifact being referred to. + */ + @Child(name = "publicationDate", type = {DateType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Date of publication of the artifact being referred to", formalDefinition="The date of publication of the artifact being referred to." ) + protected DateType publicationDate; + + private static final long serialVersionUID = 556640693L; /** * Constructor @@ -1044,6 +1123,104 @@ public class RelatedArtifact extends DataType implements ICompositeType { return this; } + /** + * @return {@link #publicationStatus} (The publication status of the artifact being referred to.). This is the underlying object with id, value and extensions. The accessor "getPublicationStatus" gives direct access to the value + */ + public Enumeration getPublicationStatusElement() { + if (this.publicationStatus == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RelatedArtifact.publicationStatus"); + else if (Configuration.doAutoCreate()) + this.publicationStatus = new Enumeration(new PublicationStatusEnumFactory()); // bb + return this.publicationStatus; + } + + public boolean hasPublicationStatusElement() { + return this.publicationStatus != null && !this.publicationStatus.isEmpty(); + } + + public boolean hasPublicationStatus() { + return this.publicationStatus != null && !this.publicationStatus.isEmpty(); + } + + /** + * @param value {@link #publicationStatus} (The publication status of the artifact being referred to.). This is the underlying object with id, value and extensions. The accessor "getPublicationStatus" gives direct access to the value + */ + public RelatedArtifact setPublicationStatusElement(Enumeration value) { + this.publicationStatus = value; + return this; + } + + /** + * @return The publication status of the artifact being referred to. + */ + public PublicationStatus getPublicationStatus() { + return this.publicationStatus == null ? null : this.publicationStatus.getValue(); + } + + /** + * @param value The publication status of the artifact being referred to. + */ + public RelatedArtifact setPublicationStatus(PublicationStatus value) { + if (value == null) + this.publicationStatus = null; + else { + if (this.publicationStatus == null) + this.publicationStatus = new Enumeration(new PublicationStatusEnumFactory()); + this.publicationStatus.setValue(value); + } + return this; + } + + /** + * @return {@link #publicationDate} (The date of publication of the artifact being referred to.). This is the underlying object with id, value and extensions. The accessor "getPublicationDate" gives direct access to the value + */ + public DateType getPublicationDateElement() { + if (this.publicationDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RelatedArtifact.publicationDate"); + else if (Configuration.doAutoCreate()) + this.publicationDate = new DateType(); // bb + return this.publicationDate; + } + + public boolean hasPublicationDateElement() { + return this.publicationDate != null && !this.publicationDate.isEmpty(); + } + + public boolean hasPublicationDate() { + return this.publicationDate != null && !this.publicationDate.isEmpty(); + } + + /** + * @param value {@link #publicationDate} (The date of publication of the artifact being referred to.). This is the underlying object with id, value and extensions. The accessor "getPublicationDate" gives direct access to the value + */ + public RelatedArtifact setPublicationDateElement(DateType value) { + this.publicationDate = value; + return this; + } + + /** + * @return The date of publication of the artifact being referred to. + */ + public Date getPublicationDate() { + return this.publicationDate == null ? null : this.publicationDate.getValue(); + } + + /** + * @param value The date of publication of the artifact being referred to. + */ + public RelatedArtifact setPublicationDate(Date value) { + if (value == null) + this.publicationDate = null; + else { + if (this.publicationDate == null) + this.publicationDate = new DateType(); + this.publicationDate.setValue(value); + } + return this; + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "code", "The type of relationship to the related artifact.", 0, 1, type)); @@ -1054,6 +1231,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { children.add(new Property("document", "Attachment", "The document being referenced, represented as an attachment. This is exclusive with the resource element.", 0, 1, document)); children.add(new Property("resource", "canonical(Any)", "The related artifact, such as a library, value set, profile, or other knowledge resource.", 0, 1, resource)); children.add(new Property("resourceReference", "Reference(Any)", "The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource.", 0, 1, resourceReference)); + children.add(new Property("publicationStatus", "code", "The publication status of the artifact being referred to.", 0, 1, publicationStatus)); + children.add(new Property("publicationDate", "date", "The date of publication of the artifact being referred to.", 0, 1, publicationDate)); } @Override @@ -1067,6 +1246,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { case 861720859: /*document*/ return new Property("document", "Attachment", "The document being referenced, represented as an attachment. This is exclusive with the resource element.", 0, 1, document); case -341064690: /*resource*/ return new Property("resource", "canonical(Any)", "The related artifact, such as a library, value set, profile, or other knowledge resource.", 0, 1, resource); case -610120995: /*resourceReference*/ return new Property("resourceReference", "Reference(Any)", "The related artifact, if the artifact is not a canonical resource, or a resource reference to a canonical resource.", 0, 1, resourceReference); + case 616500542: /*publicationStatus*/ return new Property("publicationStatus", "code", "The publication status of the artifact being referred to.", 0, 1, publicationStatus); + case 1470566394: /*publicationDate*/ return new Property("publicationDate", "date", "The date of publication of the artifact being referred to.", 0, 1, publicationDate); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1083,6 +1264,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { case 861720859: /*document*/ return this.document == null ? new Base[0] : new Base[] {this.document}; // Attachment case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // CanonicalType case -610120995: /*resourceReference*/ return this.resourceReference == null ? new Base[0] : new Base[] {this.resourceReference}; // Reference + case 616500542: /*publicationStatus*/ return this.publicationStatus == null ? new Base[0] : new Base[] {this.publicationStatus}; // Enumeration + case 1470566394: /*publicationDate*/ return this.publicationDate == null ? new Base[0] : new Base[] {this.publicationDate}; // DateType default: return super.getProperty(hash, name, checkValid); } @@ -1116,6 +1299,13 @@ public class RelatedArtifact extends DataType implements ICompositeType { case -610120995: // resourceReference this.resourceReference = TypeConvertor.castToReference(value); // Reference return value; + case 616500542: // publicationStatus + value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.publicationStatus = (Enumeration) value; // Enumeration + return value; + case 1470566394: // publicationDate + this.publicationDate = TypeConvertor.castToDate(value); // DateType + return value; default: return super.setProperty(hash, name, value); } @@ -1140,6 +1330,11 @@ public class RelatedArtifact extends DataType implements ICompositeType { this.resource = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("resourceReference")) { this.resourceReference = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("publicationStatus")) { + value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.publicationStatus = (Enumeration) value; // Enumeration + } else if (name.equals("publicationDate")) { + this.publicationDate = TypeConvertor.castToDate(value); // DateType } else return super.setProperty(name, value); return value; @@ -1156,6 +1351,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { case 861720859: return getDocument(); case -341064690: return getResourceElement(); case -610120995: return getResourceReference(); + case 616500542: return getPublicationStatusElement(); + case 1470566394: return getPublicationDateElement(); default: return super.makeProperty(hash, name); } @@ -1172,6 +1369,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { case 861720859: /*document*/ return new String[] {"Attachment"}; case -341064690: /*resource*/ return new String[] {"canonical"}; case -610120995: /*resourceReference*/ return new String[] {"Reference"}; + case 616500542: /*publicationStatus*/ return new String[] {"code"}; + case 1470566394: /*publicationDate*/ return new String[] {"date"}; default: return super.getTypesForProperty(hash, name); } @@ -1205,6 +1404,12 @@ public class RelatedArtifact extends DataType implements ICompositeType { this.resourceReference = new Reference(); return this.resourceReference; } + else if (name.equals("publicationStatus")) { + throw new FHIRException("Cannot call addChild on a primitive type RelatedArtifact.publicationStatus"); + } + else if (name.equals("publicationDate")) { + throw new FHIRException("Cannot call addChild on a primitive type RelatedArtifact.publicationDate"); + } else return super.addChild(name); } @@ -1234,6 +1439,8 @@ public class RelatedArtifact extends DataType implements ICompositeType { dst.document = document == null ? null : document.copy(); dst.resource = resource == null ? null : resource.copy(); dst.resourceReference = resourceReference == null ? null : resourceReference.copy(); + dst.publicationStatus = publicationStatus == null ? null : publicationStatus.copy(); + dst.publicationDate = publicationDate == null ? null : publicationDate.copy(); } protected RelatedArtifact typedCopy() { @@ -1250,6 +1457,7 @@ public class RelatedArtifact extends DataType implements ICompositeType { return compareDeep(type, o.type, true) && compareDeep(classifier, o.classifier, true) && compareDeep(label, o.label, true) && compareDeep(display, o.display, true) && compareDeep(citation, o.citation, true) && compareDeep(document, o.document, true) && compareDeep(resource, o.resource, true) && compareDeep(resourceReference, o.resourceReference, true) + && compareDeep(publicationStatus, o.publicationStatus, true) && compareDeep(publicationDate, o.publicationDate, true) ; } @@ -1261,12 +1469,14 @@ public class RelatedArtifact extends DataType implements ICompositeType { return false; RelatedArtifact o = (RelatedArtifact) other_; return compareValues(type, o.type, true) && compareValues(label, o.label, true) && compareValues(display, o.display, true) - && compareValues(citation, o.citation, true) && compareValues(resource, o.resource, true); + && compareValues(citation, o.citation, true) && compareValues(resource, o.resource, true) && compareValues(publicationStatus, o.publicationStatus, true) + && compareValues(publicationDate, o.publicationDate, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, classifier, label - , display, citation, document, resource, resourceReference); + , display, citation, document, resource, resourceReference, publicationStatus, publicationDate + ); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedPerson.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedPerson.java index ffffa5edf..7c54cfeeb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedPerson.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RelatedPerson.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -56,10 +56,10 @@ public class RelatedPerson extends DomainResource { @Block() public static class RelatedPersonCommunicationComponent extends BackboneElement implements IBaseBackboneElement { /** - * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English. + * The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English. */ @Child(name = "language", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="The language which can be used to communicate with the related person about the patient's health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English." ) + @Description(shortDefinition="The language which can be used to communicate with the related person about the patient's health", formalDefinition="The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") protected CodeableConcept language; @@ -88,7 +88,7 @@ public class RelatedPerson extends DomainResource { } /** - * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) + * @return {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English.) */ public CodeableConcept getLanguage() { if (this.language == null) @@ -104,7 +104,7 @@ public class RelatedPerson extends DomainResource { } /** - * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-EN" for England English.) + * @param value {@link #language} (The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. "en" for English, or "en-US" for American English versus "en-AU" for Australian English.) */ public RelatedPersonCommunicationComponent setLanguage(CodeableConcept value) { this.language = value; @@ -158,14 +158,14 @@ public class RelatedPerson extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language)); + children.add(new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English.", 0, 1, language)); children.add(new Property("preferred", "boolean", "Indicates whether or not the related person prefers this language (over other languages he or she masters up a certain level).", 0, 1, preferred)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-EN\" for England English.", 0, 1, language); + case -1613589672: /*language*/ return new Property("language", "CodeableConcept", "The ISO-639-1 alpha 2 code in lower case for the language, optionally followed by a hyphen and the ISO-3166-1 alpha 2 code for the region in upper case; e.g. \"en\" for English, or \"en-US\" for American English versus \"en-AU\" for Australian English.", 0, 1, language); case -1294005119: /*preferred*/ return new Property("preferred", "boolean", "Indicates whether or not the related person prefers this language (over other languages he or she masters up a certain level).", 0, 1, preferred); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1640,10 +1640,10 @@ public class RelatedPerson extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ - @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) + @SearchParamDefinition(name="email", path="Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in an email contact\r\n* [Person](person.html): A value in an email contact\r\n* [Practitioner](practitioner.html): A value in an email contact\r\n* [PractitionerRole](practitionerrole.html): A value in an email contact\r\n* [RelatedPerson](relatedperson.html): A value in an email contact\r\n", type="token" ) public static final String SP_EMAIL = "email"; /** * Fluent Client search parameter constant for email @@ -1657,7 +1657,7 @@ public class RelatedPerson extends DomainResource { * [RelatedPerson](relatedperson.html): A value in an email contact
* Type: token
- * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
+ * Path: Patient.telecom.where(system='email') | Person.telecom.where(system='email') | Practitioner.telecom.where(system='email') | PractitionerRole.contact.telecom.where(system='email') | RelatedPerson.telecom.where(system='email')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EMAIL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EMAIL); @@ -1706,10 +1706,10 @@ public class RelatedPerson extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ - @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) + @SearchParamDefinition(name="phone", path="Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): A value in a phone contact\r\n* [Person](person.html): A value in a phone contact\r\n* [Practitioner](practitioner.html): A value in a phone contact\r\n* [PractitionerRole](practitionerrole.html): A value in a phone contact\r\n* [RelatedPerson](relatedperson.html): A value in a phone contact\r\n", type="token" ) public static final String SP_PHONE = "phone"; /** * Fluent Client search parameter constant for phone @@ -1723,7 +1723,7 @@ public class RelatedPerson extends DomainResource { * [RelatedPerson](relatedperson.html): A value in a phone contact
* Type: token
- * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
+ * Path: Patient.telecom.where(system='phone') | Person.telecom.where(system='phone') | Practitioner.telecom.where(system='phone') | PractitionerRole.contact.telecom.where(system='phone') | RelatedPerson.telecom.where(system='phone')
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam PHONE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PHONE); @@ -1772,10 +1772,10 @@ public class RelatedPerson extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ - @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) + @SearchParamDefinition(name="telecom", path="Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom", description="Multiple Resources: \r\n\r\n* [Patient](patient.html): The value in any kind of telecom details of the patient\r\n* [Person](person.html): The value in any kind of contact\r\n* [Practitioner](practitioner.html): The value in any kind of contact\r\n* [PractitionerRole](practitionerrole.html): The value in any kind of contact\r\n* [RelatedPerson](relatedperson.html): The value in any kind of contact\r\n", type="token" ) public static final String SP_TELECOM = "telecom"; /** * Fluent Client search parameter constant for telecom @@ -1789,7 +1789,7 @@ public class RelatedPerson extends DomainResource { * [RelatedPerson](relatedperson.html): The value in any kind of contact
* Type: token
- * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.telecom | RelatedPerson.telecom
+ * Path: Patient.telecom | Person.telecom | Practitioner.telecom | PractitionerRole.contact.telecom | RelatedPerson.telecom
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam TELECOM = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TELECOM); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestGroup.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestGroup.java index 7fc1adbed..0807ba173 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestGroup.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestGroup.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -96,7 +96,7 @@ public class RequestGroup extends DomainResource { @Child(name = "priority", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the action should be addressed with respect to other actions." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") - protected Enumeration priority; + protected CodeType priority; /** * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template. @@ -169,7 +169,7 @@ public class RequestGroup extends DomainResource { @Child(name = "groupingBehavior", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="visual-group | logical-group | sentence-group", formalDefinition="Defines the grouping behavior for the action and its children." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-grouping-behavior") - protected Enumeration groupingBehavior; + protected CodeType groupingBehavior; /** * Defines the selection behavior for the action and its children. @@ -177,7 +177,7 @@ public class RequestGroup extends DomainResource { @Child(name = "selectionBehavior", type = {CodeType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="any | all | all-or-none | exactly-one | at-most-one | one-or-more", formalDefinition="Defines the selection behavior for the action and its children." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-selection-behavior") - protected Enumeration selectionBehavior; + protected CodeType selectionBehavior; /** * Defines expectations around whether an action is required. @@ -185,7 +185,7 @@ public class RequestGroup extends DomainResource { @Child(name = "requiredBehavior", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="must | could | must-unless-documented", formalDefinition="Defines expectations around whether an action is required." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-required-behavior") - protected Enumeration requiredBehavior; + protected CodeType requiredBehavior; /** * Defines whether the action should usually be preselected. @@ -193,7 +193,7 @@ public class RequestGroup extends DomainResource { @Child(name = "precheckBehavior", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="yes | no", formalDefinition="Defines whether the action should usually be preselected." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-precheck-behavior") - protected Enumeration precheckBehavior; + protected CodeType precheckBehavior; /** * Defines whether the action can be selected multiple times. @@ -201,7 +201,7 @@ public class RequestGroup extends DomainResource { @Child(name = "cardinalityBehavior", type = {CodeType.class}, order=20, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="single | multiple", formalDefinition="Defines whether the action can be selected multiple times." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-cardinality-behavior") - protected Enumeration cardinalityBehavior; + protected CodeType cardinalityBehavior; /** * The resource that is the target of the action (e.g. CommunicationRequest). @@ -217,7 +217,7 @@ public class RequestGroup extends DomainResource { @Description(shortDefinition="Sub action", formalDefinition="Sub actions." ) protected List action; - private static final long serialVersionUID = 969411112L; + private static final long serialVersionUID = 478054352L; /** * Constructor @@ -474,12 +474,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #priority} (Indicates how quickly the action should be addressed with respect to other actions.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value */ - public Enumeration getPriorityElement() { + public CodeType getPriorityElement() { if (this.priority == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionComponent.priority"); else if (Configuration.doAutoCreate()) - this.priority = new Enumeration(new RequestPriorityEnumFactory()); // bb + this.priority = new CodeType(); // bb return this.priority; } @@ -494,7 +494,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #priority} (Indicates how quickly the action should be addressed with respect to other actions.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value */ - public RequestGroupActionComponent setPriorityElement(Enumeration value) { + public RequestGroupActionComponent setPriorityElement(CodeType value) { this.priority = value; return this; } @@ -502,19 +502,19 @@ public class RequestGroup extends DomainResource { /** * @return Indicates how quickly the action should be addressed with respect to other actions. */ - public RequestPriority getPriority() { + public String getPriority() { return this.priority == null ? null : this.priority.getValue(); } /** * @param value Indicates how quickly the action should be addressed with respect to other actions. */ - public RequestGroupActionComponent setPriority(RequestPriority value) { - if (value == null) + public RequestGroupActionComponent setPriority(String value) { + if (Utilities.noString(value)) this.priority = null; else { if (this.priority == null) - this.priority = new Enumeration(new RequestPriorityEnumFactory()); + this.priority = new CodeType(); this.priority.setValue(value); } return this; @@ -1000,12 +1000,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #groupingBehavior} (Defines the grouping behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getGroupingBehavior" gives direct access to the value */ - public Enumeration getGroupingBehaviorElement() { + public CodeType getGroupingBehaviorElement() { if (this.groupingBehavior == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionComponent.groupingBehavior"); else if (Configuration.doAutoCreate()) - this.groupingBehavior = new Enumeration(new ActionGroupingBehaviorEnumFactory()); // bb + this.groupingBehavior = new CodeType(); // bb return this.groupingBehavior; } @@ -1020,7 +1020,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #groupingBehavior} (Defines the grouping behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getGroupingBehavior" gives direct access to the value */ - public RequestGroupActionComponent setGroupingBehaviorElement(Enumeration value) { + public RequestGroupActionComponent setGroupingBehaviorElement(CodeType value) { this.groupingBehavior = value; return this; } @@ -1028,19 +1028,19 @@ public class RequestGroup extends DomainResource { /** * @return Defines the grouping behavior for the action and its children. */ - public ActionGroupingBehavior getGroupingBehavior() { + public String getGroupingBehavior() { return this.groupingBehavior == null ? null : this.groupingBehavior.getValue(); } /** * @param value Defines the grouping behavior for the action and its children. */ - public RequestGroupActionComponent setGroupingBehavior(ActionGroupingBehavior value) { - if (value == null) + public RequestGroupActionComponent setGroupingBehavior(String value) { + if (Utilities.noString(value)) this.groupingBehavior = null; else { if (this.groupingBehavior == null) - this.groupingBehavior = new Enumeration(new ActionGroupingBehaviorEnumFactory()); + this.groupingBehavior = new CodeType(); this.groupingBehavior.setValue(value); } return this; @@ -1049,12 +1049,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #selectionBehavior} (Defines the selection behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getSelectionBehavior" gives direct access to the value */ - public Enumeration getSelectionBehaviorElement() { + public CodeType getSelectionBehaviorElement() { if (this.selectionBehavior == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionComponent.selectionBehavior"); else if (Configuration.doAutoCreate()) - this.selectionBehavior = new Enumeration(new ActionSelectionBehaviorEnumFactory()); // bb + this.selectionBehavior = new CodeType(); // bb return this.selectionBehavior; } @@ -1069,7 +1069,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #selectionBehavior} (Defines the selection behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getSelectionBehavior" gives direct access to the value */ - public RequestGroupActionComponent setSelectionBehaviorElement(Enumeration value) { + public RequestGroupActionComponent setSelectionBehaviorElement(CodeType value) { this.selectionBehavior = value; return this; } @@ -1077,19 +1077,19 @@ public class RequestGroup extends DomainResource { /** * @return Defines the selection behavior for the action and its children. */ - public ActionSelectionBehavior getSelectionBehavior() { + public String getSelectionBehavior() { return this.selectionBehavior == null ? null : this.selectionBehavior.getValue(); } /** * @param value Defines the selection behavior for the action and its children. */ - public RequestGroupActionComponent setSelectionBehavior(ActionSelectionBehavior value) { - if (value == null) + public RequestGroupActionComponent setSelectionBehavior(String value) { + if (Utilities.noString(value)) this.selectionBehavior = null; else { if (this.selectionBehavior == null) - this.selectionBehavior = new Enumeration(new ActionSelectionBehaviorEnumFactory()); + this.selectionBehavior = new CodeType(); this.selectionBehavior.setValue(value); } return this; @@ -1098,12 +1098,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #requiredBehavior} (Defines expectations around whether an action is required.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value */ - public Enumeration getRequiredBehaviorElement() { + public CodeType getRequiredBehaviorElement() { if (this.requiredBehavior == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionComponent.requiredBehavior"); else if (Configuration.doAutoCreate()) - this.requiredBehavior = new Enumeration(new ActionRequiredBehaviorEnumFactory()); // bb + this.requiredBehavior = new CodeType(); // bb return this.requiredBehavior; } @@ -1118,7 +1118,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #requiredBehavior} (Defines expectations around whether an action is required.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value */ - public RequestGroupActionComponent setRequiredBehaviorElement(Enumeration value) { + public RequestGroupActionComponent setRequiredBehaviorElement(CodeType value) { this.requiredBehavior = value; return this; } @@ -1126,19 +1126,19 @@ public class RequestGroup extends DomainResource { /** * @return Defines expectations around whether an action is required. */ - public ActionRequiredBehavior getRequiredBehavior() { + public String getRequiredBehavior() { return this.requiredBehavior == null ? null : this.requiredBehavior.getValue(); } /** * @param value Defines expectations around whether an action is required. */ - public RequestGroupActionComponent setRequiredBehavior(ActionRequiredBehavior value) { - if (value == null) + public RequestGroupActionComponent setRequiredBehavior(String value) { + if (Utilities.noString(value)) this.requiredBehavior = null; else { if (this.requiredBehavior == null) - this.requiredBehavior = new Enumeration(new ActionRequiredBehaviorEnumFactory()); + this.requiredBehavior = new CodeType(); this.requiredBehavior.setValue(value); } return this; @@ -1147,12 +1147,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #precheckBehavior} (Defines whether the action should usually be preselected.). This is the underlying object with id, value and extensions. The accessor "getPrecheckBehavior" gives direct access to the value */ - public Enumeration getPrecheckBehaviorElement() { + public CodeType getPrecheckBehaviorElement() { if (this.precheckBehavior == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionComponent.precheckBehavior"); else if (Configuration.doAutoCreate()) - this.precheckBehavior = new Enumeration(new ActionPrecheckBehaviorEnumFactory()); // bb + this.precheckBehavior = new CodeType(); // bb return this.precheckBehavior; } @@ -1167,7 +1167,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #precheckBehavior} (Defines whether the action should usually be preselected.). This is the underlying object with id, value and extensions. The accessor "getPrecheckBehavior" gives direct access to the value */ - public RequestGroupActionComponent setPrecheckBehaviorElement(Enumeration value) { + public RequestGroupActionComponent setPrecheckBehaviorElement(CodeType value) { this.precheckBehavior = value; return this; } @@ -1175,19 +1175,19 @@ public class RequestGroup extends DomainResource { /** * @return Defines whether the action should usually be preselected. */ - public ActionPrecheckBehavior getPrecheckBehavior() { + public String getPrecheckBehavior() { return this.precheckBehavior == null ? null : this.precheckBehavior.getValue(); } /** * @param value Defines whether the action should usually be preselected. */ - public RequestGroupActionComponent setPrecheckBehavior(ActionPrecheckBehavior value) { - if (value == null) + public RequestGroupActionComponent setPrecheckBehavior(String value) { + if (Utilities.noString(value)) this.precheckBehavior = null; else { if (this.precheckBehavior == null) - this.precheckBehavior = new Enumeration(new ActionPrecheckBehaviorEnumFactory()); + this.precheckBehavior = new CodeType(); this.precheckBehavior.setValue(value); } return this; @@ -1196,12 +1196,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #cardinalityBehavior} (Defines whether the action can be selected multiple times.). This is the underlying object with id, value and extensions. The accessor "getCardinalityBehavior" gives direct access to the value */ - public Enumeration getCardinalityBehaviorElement() { + public CodeType getCardinalityBehaviorElement() { if (this.cardinalityBehavior == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionComponent.cardinalityBehavior"); else if (Configuration.doAutoCreate()) - this.cardinalityBehavior = new Enumeration(new ActionCardinalityBehaviorEnumFactory()); // bb + this.cardinalityBehavior = new CodeType(); // bb return this.cardinalityBehavior; } @@ -1216,7 +1216,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #cardinalityBehavior} (Defines whether the action can be selected multiple times.). This is the underlying object with id, value and extensions. The accessor "getCardinalityBehavior" gives direct access to the value */ - public RequestGroupActionComponent setCardinalityBehaviorElement(Enumeration value) { + public RequestGroupActionComponent setCardinalityBehaviorElement(CodeType value) { this.cardinalityBehavior = value; return this; } @@ -1224,19 +1224,19 @@ public class RequestGroup extends DomainResource { /** * @return Defines whether the action can be selected multiple times. */ - public ActionCardinalityBehavior getCardinalityBehavior() { + public String getCardinalityBehavior() { return this.cardinalityBehavior == null ? null : this.cardinalityBehavior.getValue(); } /** * @param value Defines whether the action can be selected multiple times. */ - public RequestGroupActionComponent setCardinalityBehavior(ActionCardinalityBehavior value) { - if (value == null) + public RequestGroupActionComponent setCardinalityBehavior(String value) { + if (Utilities.noString(value)) this.cardinalityBehavior = null; else { if (this.cardinalityBehavior == null) - this.cardinalityBehavior = new Enumeration(new ActionCardinalityBehaviorEnumFactory()); + this.cardinalityBehavior = new CodeType(); this.cardinalityBehavior.setValue(value); } return this; @@ -1390,7 +1390,7 @@ public class RequestGroup extends DomainResource { case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType case -900391049: /*textEquivalent*/ return this.textEquivalent == null ? new Base[0] : new Base[] {this.textEquivalent}; // StringType - case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration + case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeType case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : this.documentation.toArray(new Base[this.documentation.size()]); // RelatedArtifact case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference @@ -1400,11 +1400,11 @@ public class RequestGroup extends DomainResource { case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // CodeableReference case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // RequestGroupActionParticipantComponent case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept - case 586678389: /*groupingBehavior*/ return this.groupingBehavior == null ? new Base[0] : new Base[] {this.groupingBehavior}; // Enumeration - case 168639486: /*selectionBehavior*/ return this.selectionBehavior == null ? new Base[0] : new Base[] {this.selectionBehavior}; // Enumeration - case -1163906287: /*requiredBehavior*/ return this.requiredBehavior == null ? new Base[0] : new Base[] {this.requiredBehavior}; // Enumeration - case -1174249033: /*precheckBehavior*/ return this.precheckBehavior == null ? new Base[0] : new Base[] {this.precheckBehavior}; // Enumeration - case -922577408: /*cardinalityBehavior*/ return this.cardinalityBehavior == null ? new Base[0] : new Base[] {this.cardinalityBehavior}; // Enumeration + case 586678389: /*groupingBehavior*/ return this.groupingBehavior == null ? new Base[0] : new Base[] {this.groupingBehavior}; // CodeType + case 168639486: /*selectionBehavior*/ return this.selectionBehavior == null ? new Base[0] : new Base[] {this.selectionBehavior}; // CodeType + case -1163906287: /*requiredBehavior*/ return this.requiredBehavior == null ? new Base[0] : new Base[] {this.requiredBehavior}; // CodeType + case -1174249033: /*precheckBehavior*/ return this.precheckBehavior == null ? new Base[0] : new Base[] {this.precheckBehavior}; // CodeType + case -922577408: /*cardinalityBehavior*/ return this.cardinalityBehavior == null ? new Base[0] : new Base[] {this.cardinalityBehavior}; // CodeType case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Reference case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestGroupActionComponent default: return super.getProperty(hash, name, checkValid); @@ -1431,8 +1431,7 @@ public class RequestGroup extends DomainResource { this.textEquivalent = TypeConvertor.castToString(value); // StringType return value; case -1165461084: // priority - value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.priority = (Enumeration) value; // Enumeration + this.priority = TypeConvertor.castToCode(value); // CodeType return value; case 3059181: // code this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept @@ -1462,24 +1461,19 @@ public class RequestGroup extends DomainResource { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case 586678389: // groupingBehavior - value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.groupingBehavior = (Enumeration) value; // Enumeration + this.groupingBehavior = TypeConvertor.castToCode(value); // CodeType return value; case 168639486: // selectionBehavior - value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.selectionBehavior = (Enumeration) value; // Enumeration + this.selectionBehavior = TypeConvertor.castToCode(value); // CodeType return value; case -1163906287: // requiredBehavior - value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.requiredBehavior = (Enumeration) value; // Enumeration + this.requiredBehavior = TypeConvertor.castToCode(value); // CodeType return value; case -1174249033: // precheckBehavior - value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.precheckBehavior = (Enumeration) value; // Enumeration + this.precheckBehavior = TypeConvertor.castToCode(value); // CodeType return value; case -922577408: // cardinalityBehavior - value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.cardinalityBehavior = (Enumeration) value; // Enumeration + this.cardinalityBehavior = TypeConvertor.castToCode(value); // CodeType return value; case -341064690: // resource this.resource = TypeConvertor.castToReference(value); // Reference @@ -1505,8 +1499,7 @@ public class RequestGroup extends DomainResource { } else if (name.equals("textEquivalent")) { this.textEquivalent = TypeConvertor.castToString(value); // StringType } else if (name.equals("priority")) { - value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.priority = (Enumeration) value; // Enumeration + this.priority = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("code")) { this.getCode().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("documentation")) { @@ -1526,20 +1519,15 @@ public class RequestGroup extends DomainResource { } else if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("groupingBehavior")) { - value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.groupingBehavior = (Enumeration) value; // Enumeration + this.groupingBehavior = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("selectionBehavior")) { - value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.selectionBehavior = (Enumeration) value; // Enumeration + this.selectionBehavior = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("requiredBehavior")) { - value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.requiredBehavior = (Enumeration) value; // Enumeration + this.requiredBehavior = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("precheckBehavior")) { - value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.precheckBehavior = (Enumeration) value; // Enumeration + this.precheckBehavior = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("cardinalityBehavior")) { - value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.cardinalityBehavior = (Enumeration) value; // Enumeration + this.cardinalityBehavior = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("resource")) { this.resource = TypeConvertor.castToReference(value); // Reference } else if (name.equals("action")) { @@ -1821,7 +1809,7 @@ public class RequestGroup extends DomainResource { @Child(name = "kind", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="applicability | start | stop", formalDefinition="The kind of condition." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-condition-kind") - protected Enumeration kind; + protected CodeType kind; /** * An expression that returns true or false, indicating whether or not the condition is satisfied. @@ -1830,7 +1818,7 @@ public class RequestGroup extends DomainResource { @Description(shortDefinition="Boolean-valued expression", formalDefinition="An expression that returns true or false, indicating whether or not the condition is satisfied." ) protected Expression expression; - private static final long serialVersionUID = -455150438L; + private static final long serialVersionUID = 372366087L; /** * Constructor @@ -1842,7 +1830,7 @@ public class RequestGroup extends DomainResource { /** * Constructor */ - public RequestGroupActionConditionComponent(ActionConditionKind kind) { + public RequestGroupActionConditionComponent(String kind) { super(); this.setKind(kind); } @@ -1850,12 +1838,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #kind} (The kind of condition.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value */ - public Enumeration getKindElement() { + public CodeType getKindElement() { if (this.kind == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionConditionComponent.kind"); else if (Configuration.doAutoCreate()) - this.kind = new Enumeration(new ActionConditionKindEnumFactory()); // bb + this.kind = new CodeType(); // bb return this.kind; } @@ -1870,7 +1858,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #kind} (The kind of condition.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value */ - public RequestGroupActionConditionComponent setKindElement(Enumeration value) { + public RequestGroupActionConditionComponent setKindElement(CodeType value) { this.kind = value; return this; } @@ -1878,16 +1866,16 @@ public class RequestGroup extends DomainResource { /** * @return The kind of condition. */ - public ActionConditionKind getKind() { + public String getKind() { return this.kind == null ? null : this.kind.getValue(); } /** * @param value The kind of condition. */ - public RequestGroupActionConditionComponent setKind(ActionConditionKind value) { + public RequestGroupActionConditionComponent setKind(String value) { if (this.kind == null) - this.kind = new Enumeration(new ActionConditionKindEnumFactory()); + this.kind = new CodeType(); this.kind.setValue(value); return this; } @@ -1935,7 +1923,7 @@ public class RequestGroup extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration + case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // CodeType case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression default: return super.getProperty(hash, name, checkValid); } @@ -1946,8 +1934,7 @@ public class RequestGroup extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3292052: // kind - value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.kind = (Enumeration) value; // Enumeration + this.kind = TypeConvertor.castToCode(value); // CodeType return value; case -1795452264: // expression this.expression = TypeConvertor.castToExpression(value); // Expression @@ -1960,8 +1947,7 @@ public class RequestGroup extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("kind")) { - value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.kind = (Enumeration) value; // Enumeration + this.kind = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("expression")) { this.expression = TypeConvertor.castToExpression(value); // Expression } else @@ -2060,7 +2046,7 @@ public class RequestGroup extends DomainResource { @Child(name = "relationship", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end", formalDefinition="The relationship of this action to the related action." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-relationship-type") - protected Enumeration relationship; + protected CodeType relationship; /** * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. @@ -2069,7 +2055,7 @@ public class RequestGroup extends DomainResource { @Description(shortDefinition="Time offset for the relationship", formalDefinition="A duration or range of durations to apply to the relationship. For example, 30-60 minutes before." ) protected DataType offset; - private static final long serialVersionUID = -462773513L; + private static final long serialVersionUID = 1412792231L; /** * Constructor @@ -2081,7 +2067,7 @@ public class RequestGroup extends DomainResource { /** * Constructor */ - public RequestGroupActionRelatedActionComponent(String targetId, ActionRelationshipType relationship) { + public RequestGroupActionRelatedActionComponent(String targetId, String relationship) { super(); this.setTargetId(targetId); this.setRelationship(relationship); @@ -2135,12 +2121,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #relationship} (The relationship of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getRelationship" gives direct access to the value */ - public Enumeration getRelationshipElement() { + public CodeType getRelationshipElement() { if (this.relationship == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionRelatedActionComponent.relationship"); else if (Configuration.doAutoCreate()) - this.relationship = new Enumeration(new ActionRelationshipTypeEnumFactory()); // bb + this.relationship = new CodeType(); // bb return this.relationship; } @@ -2155,7 +2141,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #relationship} (The relationship of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getRelationship" gives direct access to the value */ - public RequestGroupActionRelatedActionComponent setRelationshipElement(Enumeration value) { + public RequestGroupActionRelatedActionComponent setRelationshipElement(CodeType value) { this.relationship = value; return this; } @@ -2163,16 +2149,16 @@ public class RequestGroup extends DomainResource { /** * @return The relationship of this action to the related action. */ - public ActionRelationshipType getRelationship() { + public String getRelationship() { return this.relationship == null ? null : this.relationship.getValue(); } /** * @param value The relationship of this action to the related action. */ - public RequestGroupActionRelatedActionComponent setRelationship(ActionRelationshipType value) { + public RequestGroupActionRelatedActionComponent setRelationship(String value) { if (this.relationship == null) - this.relationship = new Enumeration(new ActionRelationshipTypeEnumFactory()); + this.relationship = new CodeType(); this.relationship.setValue(value); return this; } @@ -2253,7 +2239,7 @@ public class RequestGroup extends DomainResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType - case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Enumeration + case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // CodeType case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // DataType default: return super.getProperty(hash, name, checkValid); } @@ -2267,8 +2253,7 @@ public class RequestGroup extends DomainResource { this.targetId = TypeConvertor.castToId(value); // IdType return value; case -261851592: // relationship - value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.relationship = (Enumeration) value; // Enumeration + this.relationship = TypeConvertor.castToCode(value); // CodeType return value; case -1019779949: // offset this.offset = TypeConvertor.castToType(value); // DataType @@ -2283,8 +2268,7 @@ public class RequestGroup extends DomainResource { if (name.equals("targetId")) { this.targetId = TypeConvertor.castToId(value); // IdType } else if (name.equals("relationship")) { - value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.relationship = (Enumeration) value; // Enumeration + this.relationship = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("offset[x]")) { this.offset = TypeConvertor.castToType(value); // DataType } else @@ -2390,7 +2374,7 @@ public class RequestGroup extends DomainResource { @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson", formalDefinition="The type of participant in the action." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-type") - protected Enumeration type; + protected CodeType type; /** * The type of participant in the action. @@ -2422,7 +2406,7 @@ public class RequestGroup extends DomainResource { @Description(shortDefinition="Who/what is participating?", formalDefinition="A reference to the actual participant." ) protected Reference actor; - private static final long serialVersionUID = -2026277374L; + private static final long serialVersionUID = 354939821L; /** * Constructor @@ -2434,12 +2418,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public Enumeration getTypeElement() { + public CodeType getTypeElement() { if (this.type == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroupActionParticipantComponent.type"); else if (Configuration.doAutoCreate()) - this.type = new Enumeration(new ActionParticipantTypeEnumFactory()); // bb + this.type = new CodeType(); // bb return this.type; } @@ -2454,7 +2438,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value */ - public RequestGroupActionParticipantComponent setTypeElement(Enumeration value) { + public RequestGroupActionParticipantComponent setTypeElement(CodeType value) { this.type = value; return this; } @@ -2462,19 +2446,19 @@ public class RequestGroup extends DomainResource { /** * @return The type of participant in the action. */ - public ActionParticipantType getType() { + public String getType() { return this.type == null ? null : this.type.getValue(); } /** * @param value The type of participant in the action. */ - public RequestGroupActionParticipantComponent setType(ActionParticipantType value) { - if (value == null) + public RequestGroupActionParticipantComponent setType(String value) { + if (Utilities.noString(value)) this.type = null; else { if (this.type == null) - this.type = new Enumeration(new ActionParticipantTypeEnumFactory()); + this.type = new CodeType(); this.type.setValue(value); } return this; @@ -2601,7 +2585,7 @@ public class RequestGroup extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeType case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept @@ -2615,8 +2599,7 @@ public class RequestGroup extends DomainResource { public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { case 3575610: // type - value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + this.type = TypeConvertor.castToCode(value); // CodeType return value; case 2074825009: // typeReference this.typeReference = TypeConvertor.castToReference(value); // Reference @@ -2638,8 +2621,7 @@ public class RequestGroup extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("type")) { - value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.type = (Enumeration) value; // Enumeration + this.type = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("typeReference")) { this.typeReference = TypeConvertor.castToReference(value); // Reference } else if (name.equals("role")) { @@ -2800,7 +2782,7 @@ public class RequestGroup extends DomainResource { @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="The current state of the request. For request groups, the status reflects the status of all the requests in the group." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") - protected Enumeration status; + protected CodeType status; /** * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. @@ -2808,7 +2790,7 @@ public class RequestGroup extends DomainResource { @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") - protected Enumeration intent; + protected CodeType intent; /** * Indicates how quickly the request should be addressed with respect to other requests. @@ -2816,7 +2798,7 @@ public class RequestGroup extends DomainResource { @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") - protected Enumeration priority; + protected CodeType priority; /** * A code that identifies what the overall request group is. @@ -2883,7 +2865,7 @@ public class RequestGroup extends DomainResource { @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) protected List action; - private static final long serialVersionUID = -2038374873L; + private static final long serialVersionUID = 248789676L; /** * Constructor @@ -2895,7 +2877,7 @@ public class RequestGroup extends DomainResource { /** * Constructor */ - public RequestGroup(RequestStatus status, RequestIntent intent) { + public RequestGroup(String status, String intent) { super(); this.setStatus(status); this.setIntent(intent); @@ -3209,12 +3191,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #status} (The current state of the request. For request groups, the status reflects the status of all the requests in the group.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ - public Enumeration getStatusElement() { + public CodeType getStatusElement() { if (this.status == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroup.status"); else if (Configuration.doAutoCreate()) - this.status = new Enumeration(new RequestStatusEnumFactory()); // bb + this.status = new CodeType(); // bb return this.status; } @@ -3229,7 +3211,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #status} (The current state of the request. For request groups, the status reflects the status of all the requests in the group.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value */ - public RequestGroup setStatusElement(Enumeration value) { + public RequestGroup setStatusElement(CodeType value) { this.status = value; return this; } @@ -3237,16 +3219,16 @@ public class RequestGroup extends DomainResource { /** * @return The current state of the request. For request groups, the status reflects the status of all the requests in the group. */ - public RequestStatus getStatus() { + public String getStatus() { return this.status == null ? null : this.status.getValue(); } /** * @param value The current state of the request. For request groups, the status reflects the status of all the requests in the group. */ - public RequestGroup setStatus(RequestStatus value) { + public RequestGroup setStatus(String value) { if (this.status == null) - this.status = new Enumeration(new RequestStatusEnumFactory()); + this.status = new CodeType(); this.status.setValue(value); return this; } @@ -3254,12 +3236,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #intent} (Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value */ - public Enumeration getIntentElement() { + public CodeType getIntentElement() { if (this.intent == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroup.intent"); else if (Configuration.doAutoCreate()) - this.intent = new Enumeration(new RequestIntentEnumFactory()); // bb + this.intent = new CodeType(); // bb return this.intent; } @@ -3274,7 +3256,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #intent} (Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value */ - public RequestGroup setIntentElement(Enumeration value) { + public RequestGroup setIntentElement(CodeType value) { this.intent = value; return this; } @@ -3282,16 +3264,16 @@ public class RequestGroup extends DomainResource { /** * @return Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. */ - public RequestIntent getIntent() { + public String getIntent() { return this.intent == null ? null : this.intent.getValue(); } /** * @param value Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. */ - public RequestGroup setIntent(RequestIntent value) { + public RequestGroup setIntent(String value) { if (this.intent == null) - this.intent = new Enumeration(new RequestIntentEnumFactory()); + this.intent = new CodeType(); this.intent.setValue(value); return this; } @@ -3299,12 +3281,12 @@ public class RequestGroup extends DomainResource { /** * @return {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value */ - public Enumeration getPriorityElement() { + public CodeType getPriorityElement() { if (this.priority == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create RequestGroup.priority"); else if (Configuration.doAutoCreate()) - this.priority = new Enumeration(new RequestPriorityEnumFactory()); // bb + this.priority = new CodeType(); // bb return this.priority; } @@ -3319,7 +3301,7 @@ public class RequestGroup extends DomainResource { /** * @param value {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value */ - public RequestGroup setPriorityElement(Enumeration value) { + public RequestGroup setPriorityElement(CodeType value) { this.priority = value; return this; } @@ -3327,19 +3309,19 @@ public class RequestGroup extends DomainResource { /** * @return Indicates how quickly the request should be addressed with respect to other requests. */ - public RequestPriority getPriority() { + public String getPriority() { return this.priority == null ? null : this.priority.getValue(); } /** * @param value Indicates how quickly the request should be addressed with respect to other requests. */ - public RequestGroup setPriority(RequestPriority value) { - if (value == null) + public RequestGroup setPriority(String value) { + if (Utilities.noString(value)) this.priority = null; else { if (this.priority == null) - this.priority = new Enumeration(new RequestPriorityEnumFactory()); + this.priority = new CodeType(); this.priority.setValue(value); } return this; @@ -3759,9 +3741,9 @@ public class RequestGroup extends DomainResource { case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier - case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration - case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration + case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // CodeType + case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // CodeType + case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // CodeType case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference @@ -3798,16 +3780,13 @@ public class RequestGroup extends DomainResource { this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier return value; case -892481550: // status - value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.status = (Enumeration) value; // Enumeration + this.status = TypeConvertor.castToCode(value); // CodeType return value; case -1183762788: // intent - value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.intent = (Enumeration) value; // Enumeration + this.intent = TypeConvertor.castToCode(value); // CodeType return value; case -1165461084: // priority - value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.priority = (Enumeration) value; // Enumeration + this.priority = TypeConvertor.castToCode(value); // CodeType return value; case 3059181: // code this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -3856,14 +3835,11 @@ public class RequestGroup extends DomainResource { } else if (name.equals("groupIdentifier")) { this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier } else if (name.equals("status")) { - value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.status = (Enumeration) value; // Enumeration + this.status = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("intent")) { - value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.intent = (Enumeration) value; // Enumeration + this.intent = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("priority")) { - value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.priority = (Enumeration) value; // Enumeration + this.priority = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("code")) { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("subject")) { @@ -4118,322 +4094,6 @@ public class RequestGroup extends DomainResource { return ResourceType.RequestGroup; } - /** - * Search parameter: author - *

- * Description: The author of the request group
- * Type: reference
- * Path: RequestGroup.author
- *

- */ - @SearchParamDefinition(name="author", path="RequestGroup.author", description="The author of the request group", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Practitioner.class, PractitionerRole.class } ) - public static final String SP_AUTHOR = "author"; - /** - * Fluent Client search parameter constant for author - *

- * Description: The author of the request group
- * Type: reference
- * Path: RequestGroup.author
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "RequestGroup:author". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("RequestGroup:author").toLocked(); - - /** - * Search parameter: authored - *

- * Description: The date the request group was authored
- * Type: date
- * Path: RequestGroup.authoredOn
- *

- */ - @SearchParamDefinition(name="authored", path="RequestGroup.authoredOn", description="The date the request group was authored", type="date" ) - public static final String SP_AUTHORED = "authored"; - /** - * Fluent Client search parameter constant for authored - *

- * Description: The date the request group was authored
- * Type: date
- * Path: RequestGroup.authoredOn
- *

- */ - public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); - - /** - * Search parameter: code - *

- * Description: The code of the request group
- * Type: token
- * Path: RequestGroup.code
- *

- */ - @SearchParamDefinition(name="code", path="RequestGroup.code", description="The code of the request group", type="token" ) - public static final String SP_CODE = "code"; - /** - * Fluent Client search parameter constant for code - *

- * Description: The code of the request group
- * Type: token
- * Path: RequestGroup.code
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); - - /** - * Search parameter: encounter - *

- * Description: The encounter the request group applies to
- * Type: reference
- * Path: RequestGroup.encounter
- *

- */ - @SearchParamDefinition(name="encounter", path="RequestGroup.encounter", description="The encounter the request group applies to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) - public static final String SP_ENCOUNTER = "encounter"; - /** - * Fluent Client search parameter constant for encounter - *

- * Description: The encounter the request group applies to
- * Type: reference
- * Path: RequestGroup.encounter
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "RequestGroup:encounter". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RequestGroup:encounter").toLocked(); - - /** - * Search parameter: group-identifier - *

- * Description: The group identifier for the request group
- * Type: token
- * Path: RequestGroup.groupIdentifier
- *

- */ - @SearchParamDefinition(name="group-identifier", path="RequestGroup.groupIdentifier", description="The group identifier for the request group", type="token" ) - public static final String SP_GROUP_IDENTIFIER = "group-identifier"; - /** - * Fluent Client search parameter constant for group-identifier - *

- * Description: The group identifier for the request group
- * Type: token
- * Path: RequestGroup.groupIdentifier
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); - - /** - * Search parameter: identifier - *

- * Description: External identifiers for the request group
- * Type: token
- * Path: RequestGroup.identifier
- *

- */ - @SearchParamDefinition(name="identifier", path="RequestGroup.identifier", description="External identifiers for the request group", type="token" ) - public static final String SP_IDENTIFIER = "identifier"; - /** - * Fluent Client search parameter constant for identifier - *

- * Description: External identifiers for the request group
- * Type: token
- * Path: RequestGroup.identifier
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); - - /** - * Search parameter: instantiates-canonical - *

- * Description: The FHIR-based definition from which the request group is realized
- * Type: reference
- * Path: RequestGroup.instantiatesCanonical
- *

- */ - @SearchParamDefinition(name="instantiates-canonical", path="RequestGroup.instantiatesCanonical", description="The FHIR-based definition from which the request group is realized", type="reference" ) - public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; - /** - * Fluent Client search parameter constant for instantiates-canonical - *

- * Description: The FHIR-based definition from which the request group is realized
- * Type: reference
- * Path: RequestGroup.instantiatesCanonical
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "RequestGroup:instantiates-canonical". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("RequestGroup:instantiates-canonical").toLocked(); - - /** - * Search parameter: instantiates-uri - *

- * Description: The external definition from which the request group is realized
- * Type: uri
- * Path: RequestGroup.instantiatesUri
- *

- */ - @SearchParamDefinition(name="instantiates-uri", path="RequestGroup.instantiatesUri", description="The external definition from which the request group is realized", type="uri" ) - public static final String SP_INSTANTIATES_URI = "instantiates-uri"; - /** - * Fluent Client search parameter constant for instantiates-uri - *

- * Description: The external definition from which the request group is realized
- * Type: uri
- * Path: RequestGroup.instantiatesUri
- *

- */ - public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); - - /** - * Search parameter: intent - *

- * Description: The intent of the request group
- * Type: token
- * Path: RequestGroup.intent
- *

- */ - @SearchParamDefinition(name="intent", path="RequestGroup.intent", description="The intent of the request group", type="token" ) - public static final String SP_INTENT = "intent"; - /** - * Fluent Client search parameter constant for intent - *

- * Description: The intent of the request group
- * Type: token
- * Path: RequestGroup.intent
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); - - /** - * Search parameter: participant - *

- * Description: The participant in the requests in the group
- * Type: reference
- * Path: RequestGroup.action.participant.actor
- *

- */ - @SearchParamDefinition(name="participant", path="RequestGroup.action.participant.actor", description="The participant in the requests in the group", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CareTeam.class, Device.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) - public static final String SP_PARTICIPANT = "participant"; - /** - * Fluent Client search parameter constant for participant - *

- * Description: The participant in the requests in the group
- * Type: reference
- * Path: RequestGroup.action.participant.actor
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "RequestGroup:participant". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("RequestGroup:participant").toLocked(); - - /** - * Search parameter: patient - *

- * Description: The identity of a patient to search for request groups
- * Type: reference
- * Path: RequestGroup.subject.where(resolve() is Patient)
- *

- */ - @SearchParamDefinition(name="patient", path="RequestGroup.subject.where(resolve() is Patient)", description="The identity of a patient to search for request groups", type="reference", target={Patient.class } ) - public static final String SP_PATIENT = "patient"; - /** - * Fluent Client search parameter constant for patient - *

- * Description: The identity of a patient to search for request groups
- * Type: reference
- * Path: RequestGroup.subject.where(resolve() is Patient)
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "RequestGroup:patient". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RequestGroup:patient").toLocked(); - - /** - * Search parameter: priority - *

- * Description: The priority of the request group
- * Type: token
- * Path: RequestGroup.priority
- *

- */ - @SearchParamDefinition(name="priority", path="RequestGroup.priority", description="The priority of the request group", type="token" ) - public static final String SP_PRIORITY = "priority"; - /** - * Fluent Client search parameter constant for priority - *

- * Description: The priority of the request group
- * Type: token
- * Path: RequestGroup.priority
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); - - /** - * Search parameter: status - *

- * Description: The status of the request group
- * Type: token
- * Path: RequestGroup.status
- *

- */ - @SearchParamDefinition(name="status", path="RequestGroup.status", description="The status of the request group", type="token" ) - public static final String SP_STATUS = "status"; - /** - * Fluent Client search parameter constant for status - *

- * Description: The status of the request group
- * Type: token
- * Path: RequestGroup.status
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); - - /** - * Search parameter: subject - *

- * Description: The subject that the request group is about
- * Type: reference
- * Path: RequestGroup.subject
- *

- */ - @SearchParamDefinition(name="subject", path="RequestGroup.subject", description="The subject that the request group is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class } ) - public static final String SP_SUBJECT = "subject"; - /** - * Fluent Client search parameter constant for subject - *

- * Description: The subject that the request group is about
- * Type: reference
- * Path: RequestGroup.subject
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "RequestGroup:subject". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RequestGroup:subject").toLocked(); - } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestOrchestration.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestOrchestration.java new file mode 100644 index 000000000..36158ea0c --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RequestOrchestration.java @@ -0,0 +1,5752 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * A set of related requests that can be used to capture intended activities that have inter-dependencies such as "give this medication after that one". + */ +@ResourceDef(name="RequestOrchestration", profile="http://hl7.org/fhir/StructureDefinition/RequestOrchestration") +public class RequestOrchestration extends DomainResource { + + @Block() + public static class RequestOrchestrationActionComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource. + */ + @Child(name = "linkId", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Pointer to specific item from the PlanDefinition", formalDefinition="The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource." ) + protected StringType linkId; + + /** + * A user-visible prefix for the action. For example a section or item numbering such as 1. or A. + */ + @Child(name = "prefix", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="User-visible prefix for the action (e.g. 1. or A.)", formalDefinition="A user-visible prefix for the action. For example a section or item numbering such as 1. or A." ) + protected StringType prefix; + + /** + * The title of the action displayed to a user. + */ + @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="User-visible title", formalDefinition="The title of the action displayed to a user." ) + protected StringType title; + + /** + * A short description of the action used to provide a summary to display to the user. + */ + @Child(name = "description", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Short description of the action", formalDefinition="A short description of the action used to provide a summary to display to the user." ) + protected StringType description; + + /** + * A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. + */ + @Child(name = "textEquivalent", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Static text equivalent of the action, used if the dynamic aspects cannot be interpreted by the receiving system", formalDefinition="A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically." ) + protected StringType textEquivalent; + + /** + * Indicates how quickly the action should be addressed with respect to other actions. + */ + @Child(name = "priority", type = {CodeType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the action should be addressed with respect to other actions." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") + protected Enumeration priority; + + /** + * A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Code representing the meaning of the action or sub-actions", formalDefinition="A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-code") + protected List code; + + /** + * Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources. + */ + @Child(name = "documentation", type = {RelatedArtifact.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Supporting documentation for the intended performer of the action", formalDefinition="Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources." ) + protected List documentation; + + /** + * Goals that are intended to be achieved by following the requests in this action. + */ + @Child(name = "goal", type = {Goal.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="What goals", formalDefinition="Goals that are intended to be achieved by following the requests in this action." ) + protected List goal; + + /** + * An expression that describes applicability criteria, or start/stop conditions for the action. + */ + @Child(name = "condition", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Whether or not the action is applicable", formalDefinition="An expression that describes applicability criteria, or start/stop conditions for the action." ) + protected List condition; + + /** + * Defines input data requirements for the action. + */ + @Child(name = "input", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Input data requirements", formalDefinition="Defines input data requirements for the action." ) + protected List input; + + /** + * Defines the outputs of the action, if any. + */ + @Child(name = "output", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Output data definition", formalDefinition="Defines the outputs of the action, if any." ) + protected List output; + + /** + * A relationship to another action such as "before" or "30-60 minutes after start of". + */ + @Child(name = "relatedAction", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Relationship to another action", formalDefinition="A relationship to another action such as \"before\" or \"30-60 minutes after start of\"." ) + protected List relatedAction; + + /** + * An optional value describing when the action should be performed. + */ + @Child(name = "timing", type = {DateTimeType.class, Age.class, Period.class, Duration.class, Range.class, Timing.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the action should take place", formalDefinition="An optional value describing when the action should be performed." ) + protected DataType timing; + + /** + * Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc. + */ + @Child(name = "location", type = {CodeableReference.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Where it should happen", formalDefinition="Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc." ) + protected CodeableReference location; + + /** + * The participant that should perform or be responsible for this action. + */ + @Child(name = "participant", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who should perform the action", formalDefinition="The participant that should perform or be responsible for this action." ) + protected List participant; + + /** + * The type of action to perform (create, update, remove). + */ + @Child(name = "type", type = {CodeableConcept.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="create | update | remove | fire-event", formalDefinition="The type of action to perform (create, update, remove)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-type") + protected CodeableConcept type; + + /** + * Defines the grouping behavior for the action and its children. + */ + @Child(name = "groupingBehavior", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="visual-group | logical-group | sentence-group", formalDefinition="Defines the grouping behavior for the action and its children." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-grouping-behavior") + protected Enumeration groupingBehavior; + + /** + * Defines the selection behavior for the action and its children. + */ + @Child(name = "selectionBehavior", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="any | all | all-or-none | exactly-one | at-most-one | one-or-more", formalDefinition="Defines the selection behavior for the action and its children." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-selection-behavior") + protected Enumeration selectionBehavior; + + /** + * Defines expectations around whether an action is required. + */ + @Child(name = "requiredBehavior", type = {CodeType.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="must | could | must-unless-documented", formalDefinition="Defines expectations around whether an action is required." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-required-behavior") + protected Enumeration requiredBehavior; + + /** + * Defines whether the action should usually be preselected. + */ + @Child(name = "precheckBehavior", type = {CodeType.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="yes | no", formalDefinition="Defines whether the action should usually be preselected." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-precheck-behavior") + protected Enumeration precheckBehavior; + + /** + * Defines whether the action can be selected multiple times. + */ + @Child(name = "cardinalityBehavior", type = {CodeType.class}, order=22, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="single | multiple", formalDefinition="Defines whether the action can be selected multiple times." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-cardinality-behavior") + protected Enumeration cardinalityBehavior; + + /** + * The resource that is the target of the action (e.g. CommunicationRequest). + */ + @Child(name = "resource", type = {Reference.class}, order=23, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The target of the action", formalDefinition="The resource that is the target of the action (e.g. CommunicationRequest)." ) + protected Reference resource; + + /** + * A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured. + */ + @Child(name = "definition", type = {CanonicalType.class, UriType.class}, order=24, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Description of the activity to be performed", formalDefinition="A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured." ) + protected DataType definition; + + /** + * A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. + */ + @Child(name = "transform", type = {CanonicalType.class}, order=25, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Transform to apply the template", formalDefinition="A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input." ) + protected CanonicalType transform; + + /** + * Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result. + */ + @Child(name = "dynamicValue", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Dynamic aspects of the definition", formalDefinition="Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result." ) + protected List dynamicValue; + + /** + * Sub actions. + */ + @Child(name = "action", type = {RequestOrchestrationActionComponent.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Sub action", formalDefinition="Sub actions." ) + protected List action; + + private static final long serialVersionUID = 984278550L; + + /** + * Constructor + */ + public RequestOrchestrationActionComponent() { + super(); + } + + /** + * @return {@link #linkId} (The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value + */ + public StringType getLinkIdElement() { + if (this.linkId == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.linkId"); + else if (Configuration.doAutoCreate()) + this.linkId = new StringType(); // bb + return this.linkId; + } + + public boolean hasLinkIdElement() { + return this.linkId != null && !this.linkId.isEmpty(); + } + + public boolean hasLinkId() { + return this.linkId != null && !this.linkId.isEmpty(); + } + + /** + * @param value {@link #linkId} (The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.). This is the underlying object with id, value and extensions. The accessor "getLinkId" gives direct access to the value + */ + public RequestOrchestrationActionComponent setLinkIdElement(StringType value) { + this.linkId = value; + return this; + } + + /** + * @return The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource. + */ + public String getLinkId() { + return this.linkId == null ? null : this.linkId.getValue(); + } + + /** + * @param value The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource. + */ + public RequestOrchestrationActionComponent setLinkId(String value) { + if (Utilities.noString(value)) + this.linkId = null; + else { + if (this.linkId == null) + this.linkId = new StringType(); + this.linkId.setValue(value); + } + return this; + } + + /** + * @return {@link #prefix} (A user-visible prefix for the action. For example a section or item numbering such as 1. or A.). This is the underlying object with id, value and extensions. The accessor "getPrefix" gives direct access to the value + */ + public StringType getPrefixElement() { + if (this.prefix == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.prefix"); + else if (Configuration.doAutoCreate()) + this.prefix = new StringType(); // bb + return this.prefix; + } + + public boolean hasPrefixElement() { + return this.prefix != null && !this.prefix.isEmpty(); + } + + public boolean hasPrefix() { + return this.prefix != null && !this.prefix.isEmpty(); + } + + /** + * @param value {@link #prefix} (A user-visible prefix for the action. For example a section or item numbering such as 1. or A.). This is the underlying object with id, value and extensions. The accessor "getPrefix" gives direct access to the value + */ + public RequestOrchestrationActionComponent setPrefixElement(StringType value) { + this.prefix = value; + return this; + } + + /** + * @return A user-visible prefix for the action. For example a section or item numbering such as 1. or A. + */ + public String getPrefix() { + return this.prefix == null ? null : this.prefix.getValue(); + } + + /** + * @param value A user-visible prefix for the action. For example a section or item numbering such as 1. or A. + */ + public RequestOrchestrationActionComponent setPrefix(String value) { + if (Utilities.noString(value)) + this.prefix = null; + else { + if (this.prefix == null) + this.prefix = new StringType(); + this.prefix.setValue(value); + } + return this; + } + + /** + * @return {@link #title} (The title of the action displayed to a user.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (The title of the action displayed to a user.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public RequestOrchestrationActionComponent setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return The title of the action displayed to a user. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value The title of the action displayed to a user. + */ + public RequestOrchestrationActionComponent setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + + /** + * @return {@link #description} (A short description of the action used to provide a summary to display to the user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public StringType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.description"); + else if (Configuration.doAutoCreate()) + this.description = new StringType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (A short description of the action used to provide a summary to display to the user.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public RequestOrchestrationActionComponent setDescriptionElement(StringType value) { + this.description = value; + return this; + } + + /** + * @return A short description of the action used to provide a summary to display to the user. + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value A short description of the action used to provide a summary to display to the user. + */ + public RequestOrchestrationActionComponent setDescription(String value) { + if (Utilities.noString(value)) + this.description = null; + else { + if (this.description == null) + this.description = new StringType(); + this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #textEquivalent} (A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.). This is the underlying object with id, value and extensions. The accessor "getTextEquivalent" gives direct access to the value + */ + public StringType getTextEquivalentElement() { + if (this.textEquivalent == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.textEquivalent"); + else if (Configuration.doAutoCreate()) + this.textEquivalent = new StringType(); // bb + return this.textEquivalent; + } + + public boolean hasTextEquivalentElement() { + return this.textEquivalent != null && !this.textEquivalent.isEmpty(); + } + + public boolean hasTextEquivalent() { + return this.textEquivalent != null && !this.textEquivalent.isEmpty(); + } + + /** + * @param value {@link #textEquivalent} (A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.). This is the underlying object with id, value and extensions. The accessor "getTextEquivalent" gives direct access to the value + */ + public RequestOrchestrationActionComponent setTextEquivalentElement(StringType value) { + this.textEquivalent = value; + return this; + } + + /** + * @return A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. + */ + public String getTextEquivalent() { + return this.textEquivalent == null ? null : this.textEquivalent.getValue(); + } + + /** + * @param value A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically. + */ + public RequestOrchestrationActionComponent setTextEquivalent(String value) { + if (Utilities.noString(value)) + this.textEquivalent = null; + else { + if (this.textEquivalent == null) + this.textEquivalent = new StringType(); + this.textEquivalent.setValue(value); + } + return this; + } + + /** + * @return {@link #priority} (Indicates how quickly the action should be addressed with respect to other actions.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value + */ + public Enumeration getPriorityElement() { + if (this.priority == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.priority"); + else if (Configuration.doAutoCreate()) + this.priority = new Enumeration(new RequestPriorityEnumFactory()); // bb + return this.priority; + } + + public boolean hasPriorityElement() { + return this.priority != null && !this.priority.isEmpty(); + } + + public boolean hasPriority() { + return this.priority != null && !this.priority.isEmpty(); + } + + /** + * @param value {@link #priority} (Indicates how quickly the action should be addressed with respect to other actions.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value + */ + public RequestOrchestrationActionComponent setPriorityElement(Enumeration value) { + this.priority = value; + return this; + } + + /** + * @return Indicates how quickly the action should be addressed with respect to other actions. + */ + public RequestPriority getPriority() { + return this.priority == null ? null : this.priority.getValue(); + } + + /** + * @param value Indicates how quickly the action should be addressed with respect to other actions. + */ + public RequestOrchestrationActionComponent setPriority(RequestPriority value) { + if (value == null) + this.priority = null; + else { + if (this.priority == null) + this.priority = new Enumeration(new RequestPriorityEnumFactory()); + this.priority.setValue(value); + } + return this; + } + + /** + * @return {@link #code} (A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.) + */ + public List getCode() { + if (this.code == null) + this.code = new ArrayList(); + return this.code; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setCode(List theCode) { + this.code = theCode; + return this; + } + + public boolean hasCode() { + if (this.code == null) + return false; + for (CodeableConcept item : this.code) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addCode() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.code == null) + this.code = new ArrayList(); + this.code.add(t); + return t; + } + + public RequestOrchestrationActionComponent addCode(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.code == null) + this.code = new ArrayList(); + this.code.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #code}, creating it if it does not already exist {3} + */ + public CodeableConcept getCodeFirstRep() { + if (getCode().isEmpty()) { + addCode(); + } + return getCode().get(0); + } + + /** + * @return {@link #documentation} (Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.) + */ + public List getDocumentation() { + if (this.documentation == null) + this.documentation = new ArrayList(); + return this.documentation; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setDocumentation(List theDocumentation) { + this.documentation = theDocumentation; + return this; + } + + public boolean hasDocumentation() { + if (this.documentation == null) + return false; + for (RelatedArtifact item : this.documentation) + if (!item.isEmpty()) + return true; + return false; + } + + public RelatedArtifact addDocumentation() { //3 + RelatedArtifact t = new RelatedArtifact(); + if (this.documentation == null) + this.documentation = new ArrayList(); + this.documentation.add(t); + return t; + } + + public RequestOrchestrationActionComponent addDocumentation(RelatedArtifact t) { //3 + if (t == null) + return this; + if (this.documentation == null) + this.documentation = new ArrayList(); + this.documentation.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #documentation}, creating it if it does not already exist {3} + */ + public RelatedArtifact getDocumentationFirstRep() { + if (getDocumentation().isEmpty()) { + addDocumentation(); + } + return getDocumentation().get(0); + } + + /** + * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this action.) + */ + public List getGoal() { + if (this.goal == null) + this.goal = new ArrayList(); + return this.goal; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setGoal(List theGoal) { + this.goal = theGoal; + return this; + } + + public boolean hasGoal() { + if (this.goal == null) + return false; + for (Reference item : this.goal) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addGoal() { //3 + Reference t = new Reference(); + if (this.goal == null) + this.goal = new ArrayList(); + this.goal.add(t); + return t; + } + + public RequestOrchestrationActionComponent addGoal(Reference t) { //3 + if (t == null) + return this; + if (this.goal == null) + this.goal = new ArrayList(); + this.goal.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} + */ + public Reference getGoalFirstRep() { + if (getGoal().isEmpty()) { + addGoal(); + } + return getGoal().get(0); + } + + /** + * @return {@link #condition} (An expression that describes applicability criteria, or start/stop conditions for the action.) + */ + public List getCondition() { + if (this.condition == null) + this.condition = new ArrayList(); + return this.condition; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setCondition(List theCondition) { + this.condition = theCondition; + return this; + } + + public boolean hasCondition() { + if (this.condition == null) + return false; + for (RequestOrchestrationActionConditionComponent item : this.condition) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionConditionComponent addCondition() { //3 + RequestOrchestrationActionConditionComponent t = new RequestOrchestrationActionConditionComponent(); + if (this.condition == null) + this.condition = new ArrayList(); + this.condition.add(t); + return t; + } + + public RequestOrchestrationActionComponent addCondition(RequestOrchestrationActionConditionComponent t) { //3 + if (t == null) + return this; + if (this.condition == null) + this.condition = new ArrayList(); + this.condition.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #condition}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionConditionComponent getConditionFirstRep() { + if (getCondition().isEmpty()) { + addCondition(); + } + return getCondition().get(0); + } + + /** + * @return {@link #input} (Defines input data requirements for the action.) + */ + public List getInput() { + if (this.input == null) + this.input = new ArrayList(); + return this.input; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setInput(List theInput) { + this.input = theInput; + return this; + } + + public boolean hasInput() { + if (this.input == null) + return false; + for (RequestOrchestrationActionInputComponent item : this.input) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionInputComponent addInput() { //3 + RequestOrchestrationActionInputComponent t = new RequestOrchestrationActionInputComponent(); + if (this.input == null) + this.input = new ArrayList(); + this.input.add(t); + return t; + } + + public RequestOrchestrationActionComponent addInput(RequestOrchestrationActionInputComponent t) { //3 + if (t == null) + return this; + if (this.input == null) + this.input = new ArrayList(); + this.input.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #input}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionInputComponent getInputFirstRep() { + if (getInput().isEmpty()) { + addInput(); + } + return getInput().get(0); + } + + /** + * @return {@link #output} (Defines the outputs of the action, if any.) + */ + public List getOutput() { + if (this.output == null) + this.output = new ArrayList(); + return this.output; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setOutput(List theOutput) { + this.output = theOutput; + return this; + } + + public boolean hasOutput() { + if (this.output == null) + return false; + for (RequestOrchestrationActionOutputComponent item : this.output) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionOutputComponent addOutput() { //3 + RequestOrchestrationActionOutputComponent t = new RequestOrchestrationActionOutputComponent(); + if (this.output == null) + this.output = new ArrayList(); + this.output.add(t); + return t; + } + + public RequestOrchestrationActionComponent addOutput(RequestOrchestrationActionOutputComponent t) { //3 + if (t == null) + return this; + if (this.output == null) + this.output = new ArrayList(); + this.output.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #output}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionOutputComponent getOutputFirstRep() { + if (getOutput().isEmpty()) { + addOutput(); + } + return getOutput().get(0); + } + + /** + * @return {@link #relatedAction} (A relationship to another action such as "before" or "30-60 minutes after start of".) + */ + public List getRelatedAction() { + if (this.relatedAction == null) + this.relatedAction = new ArrayList(); + return this.relatedAction; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setRelatedAction(List theRelatedAction) { + this.relatedAction = theRelatedAction; + return this; + } + + public boolean hasRelatedAction() { + if (this.relatedAction == null) + return false; + for (RequestOrchestrationActionRelatedActionComponent item : this.relatedAction) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionRelatedActionComponent addRelatedAction() { //3 + RequestOrchestrationActionRelatedActionComponent t = new RequestOrchestrationActionRelatedActionComponent(); + if (this.relatedAction == null) + this.relatedAction = new ArrayList(); + this.relatedAction.add(t); + return t; + } + + public RequestOrchestrationActionComponent addRelatedAction(RequestOrchestrationActionRelatedActionComponent t) { //3 + if (t == null) + return this; + if (this.relatedAction == null) + this.relatedAction = new ArrayList(); + this.relatedAction.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #relatedAction}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionRelatedActionComponent getRelatedActionFirstRep() { + if (getRelatedAction().isEmpty()) { + addRelatedAction(); + } + return getRelatedAction().get(0); + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public DataType getTiming() { + return this.timing; + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public DateTimeType getTimingDateTimeType() throws FHIRException { + if (this.timing == null) + this.timing = new DateTimeType(); + if (!(this.timing instanceof DateTimeType)) + throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.timing.getClass().getName()+" was encountered"); + return (DateTimeType) this.timing; + } + + public boolean hasTimingDateTimeType() { + return this != null && this.timing instanceof DateTimeType; + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public Age getTimingAge() throws FHIRException { + if (this.timing == null) + this.timing = new Age(); + if (!(this.timing instanceof Age)) + throw new FHIRException("Type mismatch: the type Age was expected, but "+this.timing.getClass().getName()+" was encountered"); + return (Age) this.timing; + } + + public boolean hasTimingAge() { + return this != null && this.timing instanceof Age; + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public Period getTimingPeriod() throws FHIRException { + if (this.timing == null) + this.timing = new Period(); + if (!(this.timing instanceof Period)) + throw new FHIRException("Type mismatch: the type Period was expected, but "+this.timing.getClass().getName()+" was encountered"); + return (Period) this.timing; + } + + public boolean hasTimingPeriod() { + return this != null && this.timing instanceof Period; + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public Duration getTimingDuration() throws FHIRException { + if (this.timing == null) + this.timing = new Duration(); + if (!(this.timing instanceof Duration)) + throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.timing.getClass().getName()+" was encountered"); + return (Duration) this.timing; + } + + public boolean hasTimingDuration() { + return this != null && this.timing instanceof Duration; + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public Range getTimingRange() throws FHIRException { + if (this.timing == null) + this.timing = new Range(); + if (!(this.timing instanceof Range)) + throw new FHIRException("Type mismatch: the type Range was expected, but "+this.timing.getClass().getName()+" was encountered"); + return (Range) this.timing; + } + + public boolean hasTimingRange() { + return this != null && this.timing instanceof Range; + } + + /** + * @return {@link #timing} (An optional value describing when the action should be performed.) + */ + public Timing getTimingTiming() throws FHIRException { + if (this.timing == null) + this.timing = new Timing(); + if (!(this.timing instanceof Timing)) + throw new FHIRException("Type mismatch: the type Timing was expected, but "+this.timing.getClass().getName()+" was encountered"); + return (Timing) this.timing; + } + + public boolean hasTimingTiming() { + return this != null && this.timing instanceof Timing; + } + + public boolean hasTiming() { + return this.timing != null && !this.timing.isEmpty(); + } + + /** + * @param value {@link #timing} (An optional value describing when the action should be performed.) + */ + public RequestOrchestrationActionComponent setTiming(DataType value) { + if (value != null && !(value instanceof DateTimeType || value instanceof Age || value instanceof Period || value instanceof Duration || value instanceof Range || value instanceof Timing)) + throw new Error("Not the right type for RequestOrchestration.action.timing[x]: "+value.fhirType()); + this.timing = value; + return this; + } + + /** + * @return {@link #location} (Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.) + */ + public CodeableReference getLocation() { + if (this.location == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.location"); + else if (Configuration.doAutoCreate()) + this.location = new CodeableReference(); // cc + return this.location; + } + + public boolean hasLocation() { + return this.location != null && !this.location.isEmpty(); + } + + /** + * @param value {@link #location} (Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.) + */ + public RequestOrchestrationActionComponent setLocation(CodeableReference value) { + this.location = value; + return this; + } + + /** + * @return {@link #participant} (The participant that should perform or be responsible for this action.) + */ + public List getParticipant() { + if (this.participant == null) + this.participant = new ArrayList(); + return this.participant; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setParticipant(List theParticipant) { + this.participant = theParticipant; + return this; + } + + public boolean hasParticipant() { + if (this.participant == null) + return false; + for (RequestOrchestrationActionParticipantComponent item : this.participant) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionParticipantComponent addParticipant() { //3 + RequestOrchestrationActionParticipantComponent t = new RequestOrchestrationActionParticipantComponent(); + if (this.participant == null) + this.participant = new ArrayList(); + this.participant.add(t); + return t; + } + + public RequestOrchestrationActionComponent addParticipant(RequestOrchestrationActionParticipantComponent t) { //3 + if (t == null) + return this; + if (this.participant == null) + this.participant = new ArrayList(); + this.participant.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #participant}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionParticipantComponent getParticipantFirstRep() { + if (getParticipant().isEmpty()) { + addParticipant(); + } + return getParticipant().get(0); + } + + /** + * @return {@link #type} (The type of action to perform (create, update, remove).) + */ + public CodeableConcept getType() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new CodeableConcept(); // cc + return this.type; + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (The type of action to perform (create, update, remove).) + */ + public RequestOrchestrationActionComponent setType(CodeableConcept value) { + this.type = value; + return this; + } + + /** + * @return {@link #groupingBehavior} (Defines the grouping behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getGroupingBehavior" gives direct access to the value + */ + public Enumeration getGroupingBehaviorElement() { + if (this.groupingBehavior == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.groupingBehavior"); + else if (Configuration.doAutoCreate()) + this.groupingBehavior = new Enumeration(new ActionGroupingBehaviorEnumFactory()); // bb + return this.groupingBehavior; + } + + public boolean hasGroupingBehaviorElement() { + return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); + } + + public boolean hasGroupingBehavior() { + return this.groupingBehavior != null && !this.groupingBehavior.isEmpty(); + } + + /** + * @param value {@link #groupingBehavior} (Defines the grouping behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getGroupingBehavior" gives direct access to the value + */ + public RequestOrchestrationActionComponent setGroupingBehaviorElement(Enumeration value) { + this.groupingBehavior = value; + return this; + } + + /** + * @return Defines the grouping behavior for the action and its children. + */ + public ActionGroupingBehavior getGroupingBehavior() { + return this.groupingBehavior == null ? null : this.groupingBehavior.getValue(); + } + + /** + * @param value Defines the grouping behavior for the action and its children. + */ + public RequestOrchestrationActionComponent setGroupingBehavior(ActionGroupingBehavior value) { + if (value == null) + this.groupingBehavior = null; + else { + if (this.groupingBehavior == null) + this.groupingBehavior = new Enumeration(new ActionGroupingBehaviorEnumFactory()); + this.groupingBehavior.setValue(value); + } + return this; + } + + /** + * @return {@link #selectionBehavior} (Defines the selection behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getSelectionBehavior" gives direct access to the value + */ + public Enumeration getSelectionBehaviorElement() { + if (this.selectionBehavior == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.selectionBehavior"); + else if (Configuration.doAutoCreate()) + this.selectionBehavior = new Enumeration(new ActionSelectionBehaviorEnumFactory()); // bb + return this.selectionBehavior; + } + + public boolean hasSelectionBehaviorElement() { + return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); + } + + public boolean hasSelectionBehavior() { + return this.selectionBehavior != null && !this.selectionBehavior.isEmpty(); + } + + /** + * @param value {@link #selectionBehavior} (Defines the selection behavior for the action and its children.). This is the underlying object with id, value and extensions. The accessor "getSelectionBehavior" gives direct access to the value + */ + public RequestOrchestrationActionComponent setSelectionBehaviorElement(Enumeration value) { + this.selectionBehavior = value; + return this; + } + + /** + * @return Defines the selection behavior for the action and its children. + */ + public ActionSelectionBehavior getSelectionBehavior() { + return this.selectionBehavior == null ? null : this.selectionBehavior.getValue(); + } + + /** + * @param value Defines the selection behavior for the action and its children. + */ + public RequestOrchestrationActionComponent setSelectionBehavior(ActionSelectionBehavior value) { + if (value == null) + this.selectionBehavior = null; + else { + if (this.selectionBehavior == null) + this.selectionBehavior = new Enumeration(new ActionSelectionBehaviorEnumFactory()); + this.selectionBehavior.setValue(value); + } + return this; + } + + /** + * @return {@link #requiredBehavior} (Defines expectations around whether an action is required.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value + */ + public Enumeration getRequiredBehaviorElement() { + if (this.requiredBehavior == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.requiredBehavior"); + else if (Configuration.doAutoCreate()) + this.requiredBehavior = new Enumeration(new ActionRequiredBehaviorEnumFactory()); // bb + return this.requiredBehavior; + } + + public boolean hasRequiredBehaviorElement() { + return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); + } + + public boolean hasRequiredBehavior() { + return this.requiredBehavior != null && !this.requiredBehavior.isEmpty(); + } + + /** + * @param value {@link #requiredBehavior} (Defines expectations around whether an action is required.). This is the underlying object with id, value and extensions. The accessor "getRequiredBehavior" gives direct access to the value + */ + public RequestOrchestrationActionComponent setRequiredBehaviorElement(Enumeration value) { + this.requiredBehavior = value; + return this; + } + + /** + * @return Defines expectations around whether an action is required. + */ + public ActionRequiredBehavior getRequiredBehavior() { + return this.requiredBehavior == null ? null : this.requiredBehavior.getValue(); + } + + /** + * @param value Defines expectations around whether an action is required. + */ + public RequestOrchestrationActionComponent setRequiredBehavior(ActionRequiredBehavior value) { + if (value == null) + this.requiredBehavior = null; + else { + if (this.requiredBehavior == null) + this.requiredBehavior = new Enumeration(new ActionRequiredBehaviorEnumFactory()); + this.requiredBehavior.setValue(value); + } + return this; + } + + /** + * @return {@link #precheckBehavior} (Defines whether the action should usually be preselected.). This is the underlying object with id, value and extensions. The accessor "getPrecheckBehavior" gives direct access to the value + */ + public Enumeration getPrecheckBehaviorElement() { + if (this.precheckBehavior == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.precheckBehavior"); + else if (Configuration.doAutoCreate()) + this.precheckBehavior = new Enumeration(new ActionPrecheckBehaviorEnumFactory()); // bb + return this.precheckBehavior; + } + + public boolean hasPrecheckBehaviorElement() { + return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); + } + + public boolean hasPrecheckBehavior() { + return this.precheckBehavior != null && !this.precheckBehavior.isEmpty(); + } + + /** + * @param value {@link #precheckBehavior} (Defines whether the action should usually be preselected.). This is the underlying object with id, value and extensions. The accessor "getPrecheckBehavior" gives direct access to the value + */ + public RequestOrchestrationActionComponent setPrecheckBehaviorElement(Enumeration value) { + this.precheckBehavior = value; + return this; + } + + /** + * @return Defines whether the action should usually be preselected. + */ + public ActionPrecheckBehavior getPrecheckBehavior() { + return this.precheckBehavior == null ? null : this.precheckBehavior.getValue(); + } + + /** + * @param value Defines whether the action should usually be preselected. + */ + public RequestOrchestrationActionComponent setPrecheckBehavior(ActionPrecheckBehavior value) { + if (value == null) + this.precheckBehavior = null; + else { + if (this.precheckBehavior == null) + this.precheckBehavior = new Enumeration(new ActionPrecheckBehaviorEnumFactory()); + this.precheckBehavior.setValue(value); + } + return this; + } + + /** + * @return {@link #cardinalityBehavior} (Defines whether the action can be selected multiple times.). This is the underlying object with id, value and extensions. The accessor "getCardinalityBehavior" gives direct access to the value + */ + public Enumeration getCardinalityBehaviorElement() { + if (this.cardinalityBehavior == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.cardinalityBehavior"); + else if (Configuration.doAutoCreate()) + this.cardinalityBehavior = new Enumeration(new ActionCardinalityBehaviorEnumFactory()); // bb + return this.cardinalityBehavior; + } + + public boolean hasCardinalityBehaviorElement() { + return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); + } + + public boolean hasCardinalityBehavior() { + return this.cardinalityBehavior != null && !this.cardinalityBehavior.isEmpty(); + } + + /** + * @param value {@link #cardinalityBehavior} (Defines whether the action can be selected multiple times.). This is the underlying object with id, value and extensions. The accessor "getCardinalityBehavior" gives direct access to the value + */ + public RequestOrchestrationActionComponent setCardinalityBehaviorElement(Enumeration value) { + this.cardinalityBehavior = value; + return this; + } + + /** + * @return Defines whether the action can be selected multiple times. + */ + public ActionCardinalityBehavior getCardinalityBehavior() { + return this.cardinalityBehavior == null ? null : this.cardinalityBehavior.getValue(); + } + + /** + * @param value Defines whether the action can be selected multiple times. + */ + public RequestOrchestrationActionComponent setCardinalityBehavior(ActionCardinalityBehavior value) { + if (value == null) + this.cardinalityBehavior = null; + else { + if (this.cardinalityBehavior == null) + this.cardinalityBehavior = new Enumeration(new ActionCardinalityBehaviorEnumFactory()); + this.cardinalityBehavior.setValue(value); + } + return this; + } + + /** + * @return {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) + */ + public Reference getResource() { + if (this.resource == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.resource"); + else if (Configuration.doAutoCreate()) + this.resource = new Reference(); // cc + return this.resource; + } + + public boolean hasResource() { + return this.resource != null && !this.resource.isEmpty(); + } + + /** + * @param value {@link #resource} (The resource that is the target of the action (e.g. CommunicationRequest).) + */ + public RequestOrchestrationActionComponent setResource(Reference value) { + this.resource = value; + return this; + } + + /** + * @return {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) + */ + public DataType getDefinition() { + return this.definition; + } + + /** + * @return {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) + */ + public CanonicalType getDefinitionCanonicalType() throws FHIRException { + if (this.definition == null) + this.definition = new CanonicalType(); + if (!(this.definition instanceof CanonicalType)) + throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.definition.getClass().getName()+" was encountered"); + return (CanonicalType) this.definition; + } + + public boolean hasDefinitionCanonicalType() { + return this != null && this.definition instanceof CanonicalType; + } + + /** + * @return {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) + */ + public UriType getDefinitionUriType() throws FHIRException { + if (this.definition == null) + this.definition = new UriType(); + if (!(this.definition instanceof UriType)) + throw new FHIRException("Type mismatch: the type UriType was expected, but "+this.definition.getClass().getName()+" was encountered"); + return (UriType) this.definition; + } + + public boolean hasDefinitionUriType() { + return this != null && this.definition instanceof UriType; + } + + public boolean hasDefinition() { + return this.definition != null && !this.definition.isEmpty(); + } + + /** + * @param value {@link #definition} (A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.) + */ + public RequestOrchestrationActionComponent setDefinition(DataType value) { + if (value != null && !(value instanceof CanonicalType || value instanceof UriType)) + throw new Error("Not the right type for RequestOrchestration.action.definition[x]: "+value.fhirType()); + this.definition = value; + return this; + } + + /** + * @return {@link #transform} (A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value + */ + public CanonicalType getTransformElement() { + if (this.transform == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionComponent.transform"); + else if (Configuration.doAutoCreate()) + this.transform = new CanonicalType(); // bb + return this.transform; + } + + public boolean hasTransformElement() { + return this.transform != null && !this.transform.isEmpty(); + } + + public boolean hasTransform() { + return this.transform != null && !this.transform.isEmpty(); + } + + /** + * @param value {@link #transform} (A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.). This is the underlying object with id, value and extensions. The accessor "getTransform" gives direct access to the value + */ + public RequestOrchestrationActionComponent setTransformElement(CanonicalType value) { + this.transform = value; + return this; + } + + /** + * @return A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. + */ + public String getTransform() { + return this.transform == null ? null : this.transform.getValue(); + } + + /** + * @param value A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input. + */ + public RequestOrchestrationActionComponent setTransform(String value) { + if (Utilities.noString(value)) + this.transform = null; + else { + if (this.transform == null) + this.transform = new CanonicalType(); + this.transform.setValue(value); + } + return this; + } + + /** + * @return {@link #dynamicValue} (Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.) + */ + public List getDynamicValue() { + if (this.dynamicValue == null) + this.dynamicValue = new ArrayList(); + return this.dynamicValue; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setDynamicValue(List theDynamicValue) { + this.dynamicValue = theDynamicValue; + return this; + } + + public boolean hasDynamicValue() { + if (this.dynamicValue == null) + return false; + for (RequestOrchestrationActionDynamicValueComponent item : this.dynamicValue) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionDynamicValueComponent addDynamicValue() { //3 + RequestOrchestrationActionDynamicValueComponent t = new RequestOrchestrationActionDynamicValueComponent(); + if (this.dynamicValue == null) + this.dynamicValue = new ArrayList(); + this.dynamicValue.add(t); + return t; + } + + public RequestOrchestrationActionComponent addDynamicValue(RequestOrchestrationActionDynamicValueComponent t) { //3 + if (t == null) + return this; + if (this.dynamicValue == null) + this.dynamicValue = new ArrayList(); + this.dynamicValue.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #dynamicValue}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionDynamicValueComponent getDynamicValueFirstRep() { + if (getDynamicValue().isEmpty()) { + addDynamicValue(); + } + return getDynamicValue().get(0); + } + + /** + * @return {@link #action} (Sub actions.) + */ + public List getAction() { + if (this.action == null) + this.action = new ArrayList(); + return this.action; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestrationActionComponent setAction(List theAction) { + this.action = theAction; + return this; + } + + public boolean hasAction() { + if (this.action == null) + return false; + for (RequestOrchestrationActionComponent item : this.action) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionComponent addAction() { //3 + RequestOrchestrationActionComponent t = new RequestOrchestrationActionComponent(); + if (this.action == null) + this.action = new ArrayList(); + this.action.add(t); + return t; + } + + public RequestOrchestrationActionComponent addAction(RequestOrchestrationActionComponent t) { //3 + if (t == null) + return this; + if (this.action == null) + this.action = new ArrayList(); + this.action.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionComponent getActionFirstRep() { + if (getAction().isEmpty()) { + addAction(); + } + return getAction().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("linkId", "string", "The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.", 0, 1, linkId)); + children.add(new Property("prefix", "string", "A user-visible prefix for the action. For example a section or item numbering such as 1. or A.", 0, 1, prefix)); + children.add(new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title)); + children.add(new Property("description", "string", "A short description of the action used to provide a summary to display to the user.", 0, 1, description)); + children.add(new Property("textEquivalent", "string", "A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.", 0, 1, textEquivalent)); + children.add(new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority)); + children.add(new Property("code", "CodeableConcept", "A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.", 0, java.lang.Integer.MAX_VALUE, code)); + children.add(new Property("documentation", "RelatedArtifact", "Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.", 0, java.lang.Integer.MAX_VALUE, documentation)); + children.add(new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this action.", 0, java.lang.Integer.MAX_VALUE, goal)); + children.add(new Property("condition", "", "An expression that describes applicability criteria, or start/stop conditions for the action.", 0, java.lang.Integer.MAX_VALUE, condition)); + children.add(new Property("input", "", "Defines input data requirements for the action.", 0, java.lang.Integer.MAX_VALUE, input)); + children.add(new Property("output", "", "Defines the outputs of the action, if any.", 0, java.lang.Integer.MAX_VALUE, output)); + children.add(new Property("relatedAction", "", "A relationship to another action such as \"before\" or \"30-60 minutes after start of\".", 0, java.lang.Integer.MAX_VALUE, relatedAction)); + children.add(new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing)); + children.add(new Property("location", "CodeableReference(Location)", "Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location)); + children.add(new Property("participant", "", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant)); + children.add(new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type)); + children.add(new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior)); + children.add(new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior)); + children.add(new Property("requiredBehavior", "code", "Defines expectations around whether an action is required.", 0, 1, requiredBehavior)); + children.add(new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior)); + children.add(new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior)); + children.add(new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource)); + children.add(new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition)); + children.add(new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform)); + children.add(new Property("dynamicValue", "", "Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue)); + children.add(new Property("action", "@RequestOrchestration.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1102667083: /*linkId*/ return new Property("linkId", "string", "The linkId of the action from the PlanDefinition that corresponds to this action in the RequestOrchestration resource.", 0, 1, linkId); + case -980110702: /*prefix*/ return new Property("prefix", "string", "A user-visible prefix for the action. For example a section or item numbering such as 1. or A.", 0, 1, prefix); + case 110371416: /*title*/ return new Property("title", "string", "The title of the action displayed to a user.", 0, 1, title); + case -1724546052: /*description*/ return new Property("description", "string", "A short description of the action used to provide a summary to display to the user.", 0, 1, description); + case -900391049: /*textEquivalent*/ return new Property("textEquivalent", "string", "A text equivalent of the action to be performed. This provides a human-interpretable description of the action when the definition is consumed by a system that might not be capable of interpreting it dynamically.", 0, 1, textEquivalent); + case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the action should be addressed with respect to other actions.", 0, 1, priority); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that provides meaning for the action or action group. For example, a section may have a LOINC code for a section of a documentation template.", 0, java.lang.Integer.MAX_VALUE, code); + case 1587405498: /*documentation*/ return new Property("documentation", "RelatedArtifact", "Didactic or other informational resources associated with the action that can be provided to the CDS recipient. Information resources can include inline text commentary and links to web resources.", 0, java.lang.Integer.MAX_VALUE, documentation); + case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this action.", 0, java.lang.Integer.MAX_VALUE, goal); + case -861311717: /*condition*/ return new Property("condition", "", "An expression that describes applicability criteria, or start/stop conditions for the action.", 0, java.lang.Integer.MAX_VALUE, condition); + case 100358090: /*input*/ return new Property("input", "", "Defines input data requirements for the action.", 0, java.lang.Integer.MAX_VALUE, input); + case -1005512447: /*output*/ return new Property("output", "", "Defines the outputs of the action, if any.", 0, java.lang.Integer.MAX_VALUE, output); + case -384107967: /*relatedAction*/ return new Property("relatedAction", "", "A relationship to another action such as \"before\" or \"30-60 minutes after start of\".", 0, java.lang.Integer.MAX_VALUE, relatedAction); + case 164632566: /*timing[x]*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); + case -873664438: /*timing*/ return new Property("timing[x]", "dateTime|Age|Period|Duration|Range|Timing", "An optional value describing when the action should be performed.", 0, 1, timing); + case -1837458939: /*timingDateTime*/ return new Property("timing[x]", "dateTime", "An optional value describing when the action should be performed.", 0, 1, timing); + case 164607061: /*timingAge*/ return new Property("timing[x]", "Age", "An optional value describing when the action should be performed.", 0, 1, timing); + case -615615829: /*timingPeriod*/ return new Property("timing[x]", "Period", "An optional value describing when the action should be performed.", 0, 1, timing); + case -1327253506: /*timingDuration*/ return new Property("timing[x]", "Duration", "An optional value describing when the action should be performed.", 0, 1, timing); + case -710871277: /*timingRange*/ return new Property("timing[x]", "Range", "An optional value describing when the action should be performed.", 0, 1, timing); + case -497554124: /*timingTiming*/ return new Property("timing[x]", "Timing", "An optional value describing when the action should be performed.", 0, 1, timing); + case 1901043637: /*location*/ return new Property("location", "CodeableReference(Location)", "Identifies the facility where the action will occur; e.g. home, hospital, specific clinic, etc.", 0, 1, location); + case 767422259: /*participant*/ return new Property("participant", "", "The participant that should perform or be responsible for this action.", 0, java.lang.Integer.MAX_VALUE, participant); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The type of action to perform (create, update, remove).", 0, 1, type); + case 586678389: /*groupingBehavior*/ return new Property("groupingBehavior", "code", "Defines the grouping behavior for the action and its children.", 0, 1, groupingBehavior); + case 168639486: /*selectionBehavior*/ return new Property("selectionBehavior", "code", "Defines the selection behavior for the action and its children.", 0, 1, selectionBehavior); + case -1163906287: /*requiredBehavior*/ return new Property("requiredBehavior", "code", "Defines expectations around whether an action is required.", 0, 1, requiredBehavior); + case -1174249033: /*precheckBehavior*/ return new Property("precheckBehavior", "code", "Defines whether the action should usually be preselected.", 0, 1, precheckBehavior); + case -922577408: /*cardinalityBehavior*/ return new Property("cardinalityBehavior", "code", "Defines whether the action can be selected multiple times.", 0, 1, cardinalityBehavior); + case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "The resource that is the target of the action (e.g. CommunicationRequest).", 0, 1, resource); + case -1139422643: /*definition[x]*/ return new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); + case -1014418093: /*definition*/ return new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)|uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); + case 933485793: /*definitionCanonical*/ return new Property("definition[x]", "canonical(ActivityDefinition|ObservationDefinition|PlanDefinition|Questionnaire|SpecimenDefinition)", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); + case -1139428583: /*definitionUri*/ return new Property("definition[x]", "uri", "A reference to an ActivityDefinition that describes the action to be taken in detail, a PlanDefinition that describes a series of actions to be taken, a Questionnaire that should be filled out, a SpecimenDefinition describing a specimen to be collected, or an ObservationDefinition that specifies what observation should be captured.", 0, 1, definition); + case 1052666732: /*transform*/ return new Property("transform", "canonical(StructureMap)", "A reference to a StructureMap resource that defines a transform that can be executed to produce the intent resource using the ActivityDefinition instance as the input.", 0, 1, transform); + case 572625010: /*dynamicValue*/ return new Property("dynamicValue", "", "Customizations that should be applied to the statically defined resource. For example, if the dosage of a medication must be computed based on the patient's weight, a customization would be used to specify an expression that calculated the weight, and the path on the resource that would contain the result.", 0, java.lang.Integer.MAX_VALUE, dynamicValue); + case -1422950858: /*action*/ return new Property("action", "@RequestOrchestration.action", "Sub actions.", 0, java.lang.Integer.MAX_VALUE, action); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1102667083: /*linkId*/ return this.linkId == null ? new Base[0] : new Base[] {this.linkId}; // StringType + case -980110702: /*prefix*/ return this.prefix == null ? new Base[0] : new Base[] {this.prefix}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType + case -900391049: /*textEquivalent*/ return this.textEquivalent == null ? new Base[0] : new Base[] {this.textEquivalent}; // StringType + case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration + case 3059181: /*code*/ return this.code == null ? new Base[0] : this.code.toArray(new Base[this.code.size()]); // CodeableConcept + case 1587405498: /*documentation*/ return this.documentation == null ? new Base[0] : this.documentation.toArray(new Base[this.documentation.size()]); // RelatedArtifact + case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference + case -861311717: /*condition*/ return this.condition == null ? new Base[0] : this.condition.toArray(new Base[this.condition.size()]); // RequestOrchestrationActionConditionComponent + case 100358090: /*input*/ return this.input == null ? new Base[0] : this.input.toArray(new Base[this.input.size()]); // RequestOrchestrationActionInputComponent + case -1005512447: /*output*/ return this.output == null ? new Base[0] : this.output.toArray(new Base[this.output.size()]); // RequestOrchestrationActionOutputComponent + case -384107967: /*relatedAction*/ return this.relatedAction == null ? new Base[0] : this.relatedAction.toArray(new Base[this.relatedAction.size()]); // RequestOrchestrationActionRelatedActionComponent + case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // DataType + case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // CodeableReference + case 767422259: /*participant*/ return this.participant == null ? new Base[0] : this.participant.toArray(new Base[this.participant.size()]); // RequestOrchestrationActionParticipantComponent + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept + case 586678389: /*groupingBehavior*/ return this.groupingBehavior == null ? new Base[0] : new Base[] {this.groupingBehavior}; // Enumeration + case 168639486: /*selectionBehavior*/ return this.selectionBehavior == null ? new Base[0] : new Base[] {this.selectionBehavior}; // Enumeration + case -1163906287: /*requiredBehavior*/ return this.requiredBehavior == null ? new Base[0] : new Base[] {this.requiredBehavior}; // Enumeration + case -1174249033: /*precheckBehavior*/ return this.precheckBehavior == null ? new Base[0] : new Base[] {this.precheckBehavior}; // Enumeration + case -922577408: /*cardinalityBehavior*/ return this.cardinalityBehavior == null ? new Base[0] : new Base[] {this.cardinalityBehavior}; // Enumeration + case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Reference + case -1014418093: /*definition*/ return this.definition == null ? new Base[0] : new Base[] {this.definition}; // DataType + case 1052666732: /*transform*/ return this.transform == null ? new Base[0] : new Base[] {this.transform}; // CanonicalType + case 572625010: /*dynamicValue*/ return this.dynamicValue == null ? new Base[0] : this.dynamicValue.toArray(new Base[this.dynamicValue.size()]); // RequestOrchestrationActionDynamicValueComponent + case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestOrchestrationActionComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1102667083: // linkId + this.linkId = TypeConvertor.castToString(value); // StringType + return value; + case -980110702: // prefix + this.prefix = TypeConvertor.castToString(value); // StringType + return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; + case -1724546052: // description + this.description = TypeConvertor.castToString(value); // StringType + return value; + case -900391049: // textEquivalent + this.textEquivalent = TypeConvertor.castToString(value); // StringType + return value; + case -1165461084: // priority + value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.priority = (Enumeration) value; // Enumeration + return value; + case 3059181: // code + this.getCode().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case 1587405498: // documentation + this.getDocumentation().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact + return value; + case 3178259: // goal + this.getGoal().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -861311717: // condition + this.getCondition().add((RequestOrchestrationActionConditionComponent) value); // RequestOrchestrationActionConditionComponent + return value; + case 100358090: // input + this.getInput().add((RequestOrchestrationActionInputComponent) value); // RequestOrchestrationActionInputComponent + return value; + case -1005512447: // output + this.getOutput().add((RequestOrchestrationActionOutputComponent) value); // RequestOrchestrationActionOutputComponent + return value; + case -384107967: // relatedAction + this.getRelatedAction().add((RequestOrchestrationActionRelatedActionComponent) value); // RequestOrchestrationActionRelatedActionComponent + return value; + case -873664438: // timing + this.timing = TypeConvertor.castToType(value); // DataType + return value; + case 1901043637: // location + this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference + return value; + case 767422259: // participant + this.getParticipant().add((RequestOrchestrationActionParticipantComponent) value); // RequestOrchestrationActionParticipantComponent + return value; + case 3575610: // type + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 586678389: // groupingBehavior + value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.groupingBehavior = (Enumeration) value; // Enumeration + return value; + case 168639486: // selectionBehavior + value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.selectionBehavior = (Enumeration) value; // Enumeration + return value; + case -1163906287: // requiredBehavior + value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.requiredBehavior = (Enumeration) value; // Enumeration + return value; + case -1174249033: // precheckBehavior + value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.precheckBehavior = (Enumeration) value; // Enumeration + return value; + case -922577408: // cardinalityBehavior + value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.cardinalityBehavior = (Enumeration) value; // Enumeration + return value; + case -341064690: // resource + this.resource = TypeConvertor.castToReference(value); // Reference + return value; + case -1014418093: // definition + this.definition = TypeConvertor.castToType(value); // DataType + return value; + case 1052666732: // transform + this.transform = TypeConvertor.castToCanonical(value); // CanonicalType + return value; + case 572625010: // dynamicValue + this.getDynamicValue().add((RequestOrchestrationActionDynamicValueComponent) value); // RequestOrchestrationActionDynamicValueComponent + return value; + case -1422950858: // action + this.getAction().add((RequestOrchestrationActionComponent) value); // RequestOrchestrationActionComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("linkId")) { + this.linkId = TypeConvertor.castToString(value); // StringType + } else if (name.equals("prefix")) { + this.prefix = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType + } else if (name.equals("description")) { + this.description = TypeConvertor.castToString(value); // StringType + } else if (name.equals("textEquivalent")) { + this.textEquivalent = TypeConvertor.castToString(value); // StringType + } else if (name.equals("priority")) { + value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.priority = (Enumeration) value; // Enumeration + } else if (name.equals("code")) { + this.getCode().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("documentation")) { + this.getDocumentation().add(TypeConvertor.castToRelatedArtifact(value)); + } else if (name.equals("goal")) { + this.getGoal().add(TypeConvertor.castToReference(value)); + } else if (name.equals("condition")) { + this.getCondition().add((RequestOrchestrationActionConditionComponent) value); + } else if (name.equals("input")) { + this.getInput().add((RequestOrchestrationActionInputComponent) value); + } else if (name.equals("output")) { + this.getOutput().add((RequestOrchestrationActionOutputComponent) value); + } else if (name.equals("relatedAction")) { + this.getRelatedAction().add((RequestOrchestrationActionRelatedActionComponent) value); + } else if (name.equals("timing[x]")) { + this.timing = TypeConvertor.castToType(value); // DataType + } else if (name.equals("location")) { + this.location = TypeConvertor.castToCodeableReference(value); // CodeableReference + } else if (name.equals("participant")) { + this.getParticipant().add((RequestOrchestrationActionParticipantComponent) value); + } else if (name.equals("type")) { + this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("groupingBehavior")) { + value = new ActionGroupingBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.groupingBehavior = (Enumeration) value; // Enumeration + } else if (name.equals("selectionBehavior")) { + value = new ActionSelectionBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.selectionBehavior = (Enumeration) value; // Enumeration + } else if (name.equals("requiredBehavior")) { + value = new ActionRequiredBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.requiredBehavior = (Enumeration) value; // Enumeration + } else if (name.equals("precheckBehavior")) { + value = new ActionPrecheckBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.precheckBehavior = (Enumeration) value; // Enumeration + } else if (name.equals("cardinalityBehavior")) { + value = new ActionCardinalityBehaviorEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.cardinalityBehavior = (Enumeration) value; // Enumeration + } else if (name.equals("resource")) { + this.resource = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("definition[x]")) { + this.definition = TypeConvertor.castToType(value); // DataType + } else if (name.equals("transform")) { + this.transform = TypeConvertor.castToCanonical(value); // CanonicalType + } else if (name.equals("dynamicValue")) { + this.getDynamicValue().add((RequestOrchestrationActionDynamicValueComponent) value); + } else if (name.equals("action")) { + this.getAction().add((RequestOrchestrationActionComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1102667083: return getLinkIdElement(); + case -980110702: return getPrefixElement(); + case 110371416: return getTitleElement(); + case -1724546052: return getDescriptionElement(); + case -900391049: return getTextEquivalentElement(); + case -1165461084: return getPriorityElement(); + case 3059181: return addCode(); + case 1587405498: return addDocumentation(); + case 3178259: return addGoal(); + case -861311717: return addCondition(); + case 100358090: return addInput(); + case -1005512447: return addOutput(); + case -384107967: return addRelatedAction(); + case 164632566: return getTiming(); + case -873664438: return getTiming(); + case 1901043637: return getLocation(); + case 767422259: return addParticipant(); + case 3575610: return getType(); + case 586678389: return getGroupingBehaviorElement(); + case 168639486: return getSelectionBehaviorElement(); + case -1163906287: return getRequiredBehaviorElement(); + case -1174249033: return getPrecheckBehaviorElement(); + case -922577408: return getCardinalityBehaviorElement(); + case -341064690: return getResource(); + case -1139422643: return getDefinition(); + case -1014418093: return getDefinition(); + case 1052666732: return getTransformElement(); + case 572625010: return addDynamicValue(); + case -1422950858: return addAction(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1102667083: /*linkId*/ return new String[] {"string"}; + case -980110702: /*prefix*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; + case -1724546052: /*description*/ return new String[] {"string"}; + case -900391049: /*textEquivalent*/ return new String[] {"string"}; + case -1165461084: /*priority*/ return new String[] {"code"}; + case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case 1587405498: /*documentation*/ return new String[] {"RelatedArtifact"}; + case 3178259: /*goal*/ return new String[] {"Reference"}; + case -861311717: /*condition*/ return new String[] {}; + case 100358090: /*input*/ return new String[] {}; + case -1005512447: /*output*/ return new String[] {}; + case -384107967: /*relatedAction*/ return new String[] {}; + case -873664438: /*timing*/ return new String[] {"dateTime", "Age", "Period", "Duration", "Range", "Timing"}; + case 1901043637: /*location*/ return new String[] {"CodeableReference"}; + case 767422259: /*participant*/ return new String[] {}; + case 3575610: /*type*/ return new String[] {"CodeableConcept"}; + case 586678389: /*groupingBehavior*/ return new String[] {"code"}; + case 168639486: /*selectionBehavior*/ return new String[] {"code"}; + case -1163906287: /*requiredBehavior*/ return new String[] {"code"}; + case -1174249033: /*precheckBehavior*/ return new String[] {"code"}; + case -922577408: /*cardinalityBehavior*/ return new String[] {"code"}; + case -341064690: /*resource*/ return new String[] {"Reference"}; + case -1014418093: /*definition*/ return new String[] {"canonical", "uri"}; + case 1052666732: /*transform*/ return new String[] {"canonical"}; + case 572625010: /*dynamicValue*/ return new String[] {}; + case -1422950858: /*action*/ return new String[] {"@RequestOrchestration.action"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("linkId")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.linkId"); + } + else if (name.equals("prefix")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.prefix"); + } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.title"); + } + else if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.description"); + } + else if (name.equals("textEquivalent")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.textEquivalent"); + } + else if (name.equals("priority")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.priority"); + } + else if (name.equals("code")) { + return addCode(); + } + else if (name.equals("documentation")) { + return addDocumentation(); + } + else if (name.equals("goal")) { + return addGoal(); + } + else if (name.equals("condition")) { + return addCondition(); + } + else if (name.equals("input")) { + return addInput(); + } + else if (name.equals("output")) { + return addOutput(); + } + else if (name.equals("relatedAction")) { + return addRelatedAction(); + } + else if (name.equals("timingDateTime")) { + this.timing = new DateTimeType(); + return this.timing; + } + else if (name.equals("timingAge")) { + this.timing = new Age(); + return this.timing; + } + else if (name.equals("timingPeriod")) { + this.timing = new Period(); + return this.timing; + } + else if (name.equals("timingDuration")) { + this.timing = new Duration(); + return this.timing; + } + else if (name.equals("timingRange")) { + this.timing = new Range(); + return this.timing; + } + else if (name.equals("timingTiming")) { + this.timing = new Timing(); + return this.timing; + } + else if (name.equals("location")) { + this.location = new CodeableReference(); + return this.location; + } + else if (name.equals("participant")) { + return addParticipant(); + } + else if (name.equals("type")) { + this.type = new CodeableConcept(); + return this.type; + } + else if (name.equals("groupingBehavior")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.groupingBehavior"); + } + else if (name.equals("selectionBehavior")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.selectionBehavior"); + } + else if (name.equals("requiredBehavior")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.requiredBehavior"); + } + else if (name.equals("precheckBehavior")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.precheckBehavior"); + } + else if (name.equals("cardinalityBehavior")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.cardinalityBehavior"); + } + else if (name.equals("resource")) { + this.resource = new Reference(); + return this.resource; + } + else if (name.equals("definitionCanonical")) { + this.definition = new CanonicalType(); + return this.definition; + } + else if (name.equals("definitionUri")) { + this.definition = new UriType(); + return this.definition; + } + else if (name.equals("transform")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.transform"); + } + else if (name.equals("dynamicValue")) { + return addDynamicValue(); + } + else if (name.equals("action")) { + return addAction(); + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionComponent copy() { + RequestOrchestrationActionComponent dst = new RequestOrchestrationActionComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionComponent dst) { + super.copyValues(dst); + dst.linkId = linkId == null ? null : linkId.copy(); + dst.prefix = prefix == null ? null : prefix.copy(); + dst.title = title == null ? null : title.copy(); + dst.description = description == null ? null : description.copy(); + dst.textEquivalent = textEquivalent == null ? null : textEquivalent.copy(); + dst.priority = priority == null ? null : priority.copy(); + if (code != null) { + dst.code = new ArrayList(); + for (CodeableConcept i : code) + dst.code.add(i.copy()); + }; + if (documentation != null) { + dst.documentation = new ArrayList(); + for (RelatedArtifact i : documentation) + dst.documentation.add(i.copy()); + }; + if (goal != null) { + dst.goal = new ArrayList(); + for (Reference i : goal) + dst.goal.add(i.copy()); + }; + if (condition != null) { + dst.condition = new ArrayList(); + for (RequestOrchestrationActionConditionComponent i : condition) + dst.condition.add(i.copy()); + }; + if (input != null) { + dst.input = new ArrayList(); + for (RequestOrchestrationActionInputComponent i : input) + dst.input.add(i.copy()); + }; + if (output != null) { + dst.output = new ArrayList(); + for (RequestOrchestrationActionOutputComponent i : output) + dst.output.add(i.copy()); + }; + if (relatedAction != null) { + dst.relatedAction = new ArrayList(); + for (RequestOrchestrationActionRelatedActionComponent i : relatedAction) + dst.relatedAction.add(i.copy()); + }; + dst.timing = timing == null ? null : timing.copy(); + dst.location = location == null ? null : location.copy(); + if (participant != null) { + dst.participant = new ArrayList(); + for (RequestOrchestrationActionParticipantComponent i : participant) + dst.participant.add(i.copy()); + }; + dst.type = type == null ? null : type.copy(); + dst.groupingBehavior = groupingBehavior == null ? null : groupingBehavior.copy(); + dst.selectionBehavior = selectionBehavior == null ? null : selectionBehavior.copy(); + dst.requiredBehavior = requiredBehavior == null ? null : requiredBehavior.copy(); + dst.precheckBehavior = precheckBehavior == null ? null : precheckBehavior.copy(); + dst.cardinalityBehavior = cardinalityBehavior == null ? null : cardinalityBehavior.copy(); + dst.resource = resource == null ? null : resource.copy(); + dst.definition = definition == null ? null : definition.copy(); + dst.transform = transform == null ? null : transform.copy(); + if (dynamicValue != null) { + dst.dynamicValue = new ArrayList(); + for (RequestOrchestrationActionDynamicValueComponent i : dynamicValue) + dst.dynamicValue.add(i.copy()); + }; + if (action != null) { + dst.action = new ArrayList(); + for (RequestOrchestrationActionComponent i : action) + dst.action.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionComponent)) + return false; + RequestOrchestrationActionComponent o = (RequestOrchestrationActionComponent) other_; + return compareDeep(linkId, o.linkId, true) && compareDeep(prefix, o.prefix, true) && compareDeep(title, o.title, true) + && compareDeep(description, o.description, true) && compareDeep(textEquivalent, o.textEquivalent, true) + && compareDeep(priority, o.priority, true) && compareDeep(code, o.code, true) && compareDeep(documentation, o.documentation, true) + && compareDeep(goal, o.goal, true) && compareDeep(condition, o.condition, true) && compareDeep(input, o.input, true) + && compareDeep(output, o.output, true) && compareDeep(relatedAction, o.relatedAction, true) && compareDeep(timing, o.timing, true) + && compareDeep(location, o.location, true) && compareDeep(participant, o.participant, true) && compareDeep(type, o.type, true) + && compareDeep(groupingBehavior, o.groupingBehavior, true) && compareDeep(selectionBehavior, o.selectionBehavior, true) + && compareDeep(requiredBehavior, o.requiredBehavior, true) && compareDeep(precheckBehavior, o.precheckBehavior, true) + && compareDeep(cardinalityBehavior, o.cardinalityBehavior, true) && compareDeep(resource, o.resource, true) + && compareDeep(definition, o.definition, true) && compareDeep(transform, o.transform, true) && compareDeep(dynamicValue, o.dynamicValue, true) + && compareDeep(action, o.action, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionComponent)) + return false; + RequestOrchestrationActionComponent o = (RequestOrchestrationActionComponent) other_; + return compareValues(linkId, o.linkId, true) && compareValues(prefix, o.prefix, true) && compareValues(title, o.title, true) + && compareValues(description, o.description, true) && compareValues(textEquivalent, o.textEquivalent, true) + && compareValues(priority, o.priority, true) && compareValues(groupingBehavior, o.groupingBehavior, true) + && compareValues(selectionBehavior, o.selectionBehavior, true) && compareValues(requiredBehavior, o.requiredBehavior, true) + && compareValues(precheckBehavior, o.precheckBehavior, true) && compareValues(cardinalityBehavior, o.cardinalityBehavior, true) + && compareValues(transform, o.transform, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(linkId, prefix, title, description + , textEquivalent, priority, code, documentation, goal, condition, input, output + , relatedAction, timing, location, participant, type, groupingBehavior, selectionBehavior + , requiredBehavior, precheckBehavior, cardinalityBehavior, resource, definition, transform + , dynamicValue, action); + } + + public String fhirType() { + return "RequestOrchestration.action"; + + } + + } + + @Block() + public static class RequestOrchestrationActionConditionComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The kind of condition. + */ + @Child(name = "kind", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="applicability | start | stop", formalDefinition="The kind of condition." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-condition-kind") + protected Enumeration kind; + + /** + * An expression that returns true or false, indicating whether or not the condition is satisfied. + */ + @Child(name = "expression", type = {Expression.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Boolean-valued expression", formalDefinition="An expression that returns true or false, indicating whether or not the condition is satisfied." ) + protected Expression expression; + + private static final long serialVersionUID = -455150438L; + + /** + * Constructor + */ + public RequestOrchestrationActionConditionComponent() { + super(); + } + + /** + * Constructor + */ + public RequestOrchestrationActionConditionComponent(ActionConditionKind kind) { + super(); + this.setKind(kind); + } + + /** + * @return {@link #kind} (The kind of condition.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value + */ + public Enumeration getKindElement() { + if (this.kind == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionConditionComponent.kind"); + else if (Configuration.doAutoCreate()) + this.kind = new Enumeration(new ActionConditionKindEnumFactory()); // bb + return this.kind; + } + + public boolean hasKindElement() { + return this.kind != null && !this.kind.isEmpty(); + } + + public boolean hasKind() { + return this.kind != null && !this.kind.isEmpty(); + } + + /** + * @param value {@link #kind} (The kind of condition.). This is the underlying object with id, value and extensions. The accessor "getKind" gives direct access to the value + */ + public RequestOrchestrationActionConditionComponent setKindElement(Enumeration value) { + this.kind = value; + return this; + } + + /** + * @return The kind of condition. + */ + public ActionConditionKind getKind() { + return this.kind == null ? null : this.kind.getValue(); + } + + /** + * @param value The kind of condition. + */ + public RequestOrchestrationActionConditionComponent setKind(ActionConditionKind value) { + if (this.kind == null) + this.kind = new Enumeration(new ActionConditionKindEnumFactory()); + this.kind.setValue(value); + return this; + } + + /** + * @return {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.) + */ + public Expression getExpression() { + if (this.expression == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionConditionComponent.expression"); + else if (Configuration.doAutoCreate()) + this.expression = new Expression(); // cc + return this.expression; + } + + public boolean hasExpression() { + return this.expression != null && !this.expression.isEmpty(); + } + + /** + * @param value {@link #expression} (An expression that returns true or false, indicating whether or not the condition is satisfied.) + */ + public RequestOrchestrationActionConditionComponent setExpression(Expression value) { + this.expression = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("kind", "code", "The kind of condition.", 0, 1, kind)); + children.add(new Property("expression", "Expression", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3292052: /*kind*/ return new Property("kind", "code", "The kind of condition.", 0, 1, kind); + case -1795452264: /*expression*/ return new Property("expression", "Expression", "An expression that returns true or false, indicating whether or not the condition is satisfied.", 0, 1, expression); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3292052: /*kind*/ return this.kind == null ? new Base[0] : new Base[] {this.kind}; // Enumeration + case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3292052: // kind + value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.kind = (Enumeration) value; // Enumeration + return value; + case -1795452264: // expression + this.expression = TypeConvertor.castToExpression(value); // Expression + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("kind")) { + value = new ActionConditionKindEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.kind = (Enumeration) value; // Enumeration + } else if (name.equals("expression")) { + this.expression = TypeConvertor.castToExpression(value); // Expression + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3292052: return getKindElement(); + case -1795452264: return getExpression(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3292052: /*kind*/ return new String[] {"code"}; + case -1795452264: /*expression*/ return new String[] {"Expression"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("kind")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.condition.kind"); + } + else if (name.equals("expression")) { + this.expression = new Expression(); + return this.expression; + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionConditionComponent copy() { + RequestOrchestrationActionConditionComponent dst = new RequestOrchestrationActionConditionComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionConditionComponent dst) { + super.copyValues(dst); + dst.kind = kind == null ? null : kind.copy(); + dst.expression = expression == null ? null : expression.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionConditionComponent)) + return false; + RequestOrchestrationActionConditionComponent o = (RequestOrchestrationActionConditionComponent) other_; + return compareDeep(kind, o.kind, true) && compareDeep(expression, o.expression, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionConditionComponent)) + return false; + RequestOrchestrationActionConditionComponent o = (RequestOrchestrationActionConditionComponent) other_; + return compareValues(kind, o.kind, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(kind, expression); + } + + public String fhirType() { + return "RequestOrchestration.action.condition"; + + } + + } + + @Block() + public static class RequestOrchestrationActionInputComponent extends BackboneElement implements IBaseBackboneElement { + /** + * A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. + */ + @Child(name = "title", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="User-visible title", formalDefinition="A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers." ) + protected StringType title; + + /** + * Defines the data that is to be provided as input to the action. + */ + @Child(name = "requirement", type = {DataRequirement.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="What data is provided", formalDefinition="Defines the data that is to be provided as input to the action." ) + protected DataRequirement requirement; + + /** + * Points to an existing input or output element that provides data to this input. + */ + @Child(name = "relatedData", type = {IdType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="What data is provided", formalDefinition="Points to an existing input or output element that provides data to this input." ) + protected IdType relatedData; + + private static final long serialVersionUID = -1064046709L; + + /** + * Constructor + */ + public RequestOrchestrationActionInputComponent() { + super(); + } + + /** + * @return {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionInputComponent.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public RequestOrchestrationActionInputComponent setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. + */ + public RequestOrchestrationActionInputComponent setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + + /** + * @return {@link #requirement} (Defines the data that is to be provided as input to the action.) + */ + public DataRequirement getRequirement() { + if (this.requirement == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionInputComponent.requirement"); + else if (Configuration.doAutoCreate()) + this.requirement = new DataRequirement(); // cc + return this.requirement; + } + + public boolean hasRequirement() { + return this.requirement != null && !this.requirement.isEmpty(); + } + + /** + * @param value {@link #requirement} (Defines the data that is to be provided as input to the action.) + */ + public RequestOrchestrationActionInputComponent setRequirement(DataRequirement value) { + this.requirement = value; + return this; + } + + /** + * @return {@link #relatedData} (Points to an existing input or output element that provides data to this input.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value + */ + public IdType getRelatedDataElement() { + if (this.relatedData == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionInputComponent.relatedData"); + else if (Configuration.doAutoCreate()) + this.relatedData = new IdType(); // bb + return this.relatedData; + } + + public boolean hasRelatedDataElement() { + return this.relatedData != null && !this.relatedData.isEmpty(); + } + + public boolean hasRelatedData() { + return this.relatedData != null && !this.relatedData.isEmpty(); + } + + /** + * @param value {@link #relatedData} (Points to an existing input or output element that provides data to this input.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value + */ + public RequestOrchestrationActionInputComponent setRelatedDataElement(IdType value) { + this.relatedData = value; + return this; + } + + /** + * @return Points to an existing input or output element that provides data to this input. + */ + public String getRelatedData() { + return this.relatedData == null ? null : this.relatedData.getValue(); + } + + /** + * @param value Points to an existing input or output element that provides data to this input. + */ + public RequestOrchestrationActionInputComponent setRelatedData(String value) { + if (Utilities.noString(value)) + this.relatedData = null; + else { + if (this.relatedData == null) + this.relatedData = new IdType(); + this.relatedData.setValue(value); + } + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title)); + children.add(new Property("requirement", "DataRequirement", "Defines the data that is to be provided as input to the action.", 0, 1, requirement)); + children.add(new Property("relatedData", "id", "Points to an existing input or output element that provides data to this input.", 0, 1, relatedData)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 110371416: /*title*/ return new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title); + case 363387971: /*requirement*/ return new Property("requirement", "DataRequirement", "Defines the data that is to be provided as input to the action.", 0, 1, requirement); + case 1112535669: /*relatedData*/ return new Property("relatedData", "id", "Points to an existing input or output element that provides data to this input.", 0, 1, relatedData); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType + case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // DataRequirement + case 1112535669: /*relatedData*/ return this.relatedData == null ? new Base[0] : new Base[] {this.relatedData}; // IdType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; + case 363387971: // requirement + this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement + return value; + case 1112535669: // relatedData + this.relatedData = TypeConvertor.castToId(value); // IdType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType + } else if (name.equals("requirement")) { + this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement + } else if (name.equals("relatedData")) { + this.relatedData = TypeConvertor.castToId(value); // IdType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 110371416: return getTitleElement(); + case 363387971: return getRequirement(); + case 1112535669: return getRelatedDataElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 110371416: /*title*/ return new String[] {"string"}; + case 363387971: /*requirement*/ return new String[] {"DataRequirement"}; + case 1112535669: /*relatedData*/ return new String[] {"id"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.input.title"); + } + else if (name.equals("requirement")) { + this.requirement = new DataRequirement(); + return this.requirement; + } + else if (name.equals("relatedData")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.input.relatedData"); + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionInputComponent copy() { + RequestOrchestrationActionInputComponent dst = new RequestOrchestrationActionInputComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionInputComponent dst) { + super.copyValues(dst); + dst.title = title == null ? null : title.copy(); + dst.requirement = requirement == null ? null : requirement.copy(); + dst.relatedData = relatedData == null ? null : relatedData.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionInputComponent)) + return false; + RequestOrchestrationActionInputComponent o = (RequestOrchestrationActionInputComponent) other_; + return compareDeep(title, o.title, true) && compareDeep(requirement, o.requirement, true) && compareDeep(relatedData, o.relatedData, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionInputComponent)) + return false; + RequestOrchestrationActionInputComponent o = (RequestOrchestrationActionInputComponent) other_; + return compareValues(title, o.title, true) && compareValues(relatedData, o.relatedData, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, requirement, relatedData + ); + } + + public String fhirType() { + return "RequestOrchestration.action.input"; + + } + + } + + @Block() + public static class RequestOrchestrationActionOutputComponent extends BackboneElement implements IBaseBackboneElement { + /** + * A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. + */ + @Child(name = "title", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="User-visible title", formalDefinition="A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers." ) + protected StringType title; + + /** + * Defines the data that results as output from the action. + */ + @Child(name = "requirement", type = {DataRequirement.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="What data is provided", formalDefinition="Defines the data that results as output from the action." ) + protected DataRequirement requirement; + + /** + * Points to an existing input or output element that is results as output from the action. + */ + @Child(name = "relatedData", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="What data is provided", formalDefinition="Points to an existing input or output element that is results as output from the action." ) + protected StringType relatedData; + + private static final long serialVersionUID = 1822414421L; + + /** + * Constructor + */ + public RequestOrchestrationActionOutputComponent() { + super(); + } + + /** + * @return {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionOutputComponent.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public RequestOrchestrationActionOutputComponent setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers. + */ + public RequestOrchestrationActionOutputComponent setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + + /** + * @return {@link #requirement} (Defines the data that results as output from the action.) + */ + public DataRequirement getRequirement() { + if (this.requirement == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionOutputComponent.requirement"); + else if (Configuration.doAutoCreate()) + this.requirement = new DataRequirement(); // cc + return this.requirement; + } + + public boolean hasRequirement() { + return this.requirement != null && !this.requirement.isEmpty(); + } + + /** + * @param value {@link #requirement} (Defines the data that results as output from the action.) + */ + public RequestOrchestrationActionOutputComponent setRequirement(DataRequirement value) { + this.requirement = value; + return this; + } + + /** + * @return {@link #relatedData} (Points to an existing input or output element that is results as output from the action.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value + */ + public StringType getRelatedDataElement() { + if (this.relatedData == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionOutputComponent.relatedData"); + else if (Configuration.doAutoCreate()) + this.relatedData = new StringType(); // bb + return this.relatedData; + } + + public boolean hasRelatedDataElement() { + return this.relatedData != null && !this.relatedData.isEmpty(); + } + + public boolean hasRelatedData() { + return this.relatedData != null && !this.relatedData.isEmpty(); + } + + /** + * @param value {@link #relatedData} (Points to an existing input or output element that is results as output from the action.). This is the underlying object with id, value and extensions. The accessor "getRelatedData" gives direct access to the value + */ + public RequestOrchestrationActionOutputComponent setRelatedDataElement(StringType value) { + this.relatedData = value; + return this; + } + + /** + * @return Points to an existing input or output element that is results as output from the action. + */ + public String getRelatedData() { + return this.relatedData == null ? null : this.relatedData.getValue(); + } + + /** + * @param value Points to an existing input or output element that is results as output from the action. + */ + public RequestOrchestrationActionOutputComponent setRelatedData(String value) { + if (Utilities.noString(value)) + this.relatedData = null; + else { + if (this.relatedData == null) + this.relatedData = new StringType(); + this.relatedData.setValue(value); + } + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title)); + children.add(new Property("requirement", "DataRequirement", "Defines the data that results as output from the action.", 0, 1, requirement)); + children.add(new Property("relatedData", "string", "Points to an existing input or output element that is results as output from the action.", 0, 1, relatedData)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 110371416: /*title*/ return new Property("title", "string", "A human-readable label for the data requirement used to label data flows in BPMN or similar diagrams. Also provides a human readable label when rendering the data requirement that conveys its purpose to human readers.", 0, 1, title); + case 363387971: /*requirement*/ return new Property("requirement", "DataRequirement", "Defines the data that results as output from the action.", 0, 1, requirement); + case 1112535669: /*relatedData*/ return new Property("relatedData", "string", "Points to an existing input or output element that is results as output from the action.", 0, 1, relatedData); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType + case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // DataRequirement + case 1112535669: /*relatedData*/ return this.relatedData == null ? new Base[0] : new Base[] {this.relatedData}; // StringType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; + case 363387971: // requirement + this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement + return value; + case 1112535669: // relatedData + this.relatedData = TypeConvertor.castToString(value); // StringType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType + } else if (name.equals("requirement")) { + this.requirement = TypeConvertor.castToDataRequirement(value); // DataRequirement + } else if (name.equals("relatedData")) { + this.relatedData = TypeConvertor.castToString(value); // StringType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 110371416: return getTitleElement(); + case 363387971: return getRequirement(); + case 1112535669: return getRelatedDataElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 110371416: /*title*/ return new String[] {"string"}; + case 363387971: /*requirement*/ return new String[] {"DataRequirement"}; + case 1112535669: /*relatedData*/ return new String[] {"string"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.output.title"); + } + else if (name.equals("requirement")) { + this.requirement = new DataRequirement(); + return this.requirement; + } + else if (name.equals("relatedData")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.output.relatedData"); + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionOutputComponent copy() { + RequestOrchestrationActionOutputComponent dst = new RequestOrchestrationActionOutputComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionOutputComponent dst) { + super.copyValues(dst); + dst.title = title == null ? null : title.copy(); + dst.requirement = requirement == null ? null : requirement.copy(); + dst.relatedData = relatedData == null ? null : relatedData.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionOutputComponent)) + return false; + RequestOrchestrationActionOutputComponent o = (RequestOrchestrationActionOutputComponent) other_; + return compareDeep(title, o.title, true) && compareDeep(requirement, o.requirement, true) && compareDeep(relatedData, o.relatedData, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionOutputComponent)) + return false; + RequestOrchestrationActionOutputComponent o = (RequestOrchestrationActionOutputComponent) other_; + return compareValues(title, o.title, true) && compareValues(relatedData, o.relatedData, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(title, requirement, relatedData + ); + } + + public String fhirType() { + return "RequestOrchestration.action.output"; + + } + + } + + @Block() + public static class RequestOrchestrationActionRelatedActionComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The element id of the target related action. + */ + @Child(name = "targetId", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="What action this is related to", formalDefinition="The element id of the target related action." ) + protected IdType targetId; + + /** + * The relationship of this action to the related action. + */ + @Child(name = "relationship", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="before-start | before | before-end | concurrent-with-start | concurrent | concurrent-with-end | after-start | after | after-end", formalDefinition="The relationship of this action to the related action." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-relationship-type") + protected Enumeration relationship; + + /** + * A duration or range of durations to apply to the relationship. For example, 30-60 minutes before. + */ + @Child(name = "offset", type = {Duration.class, Range.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Time offset for the relationship", formalDefinition="A duration or range of durations to apply to the relationship. For example, 30-60 minutes before." ) + protected DataType offset; + + private static final long serialVersionUID = -462773513L; + + /** + * Constructor + */ + public RequestOrchestrationActionRelatedActionComponent() { + super(); + } + + /** + * Constructor + */ + public RequestOrchestrationActionRelatedActionComponent(String targetId, ActionRelationshipType relationship) { + super(); + this.setTargetId(targetId); + this.setRelationship(relationship); + } + + /** + * @return {@link #targetId} (The element id of the target related action.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value + */ + public IdType getTargetIdElement() { + if (this.targetId == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.targetId"); + else if (Configuration.doAutoCreate()) + this.targetId = new IdType(); // bb + return this.targetId; + } + + public boolean hasTargetIdElement() { + return this.targetId != null && !this.targetId.isEmpty(); + } + + public boolean hasTargetId() { + return this.targetId != null && !this.targetId.isEmpty(); + } + + /** + * @param value {@link #targetId} (The element id of the target related action.). This is the underlying object with id, value and extensions. The accessor "getTargetId" gives direct access to the value + */ + public RequestOrchestrationActionRelatedActionComponent setTargetIdElement(IdType value) { + this.targetId = value; + return this; + } + + /** + * @return The element id of the target related action. + */ + public String getTargetId() { + return this.targetId == null ? null : this.targetId.getValue(); + } + + /** + * @param value The element id of the target related action. + */ + public RequestOrchestrationActionRelatedActionComponent setTargetId(String value) { + if (this.targetId == null) + this.targetId = new IdType(); + this.targetId.setValue(value); + return this; + } + + /** + * @return {@link #relationship} (The relationship of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getRelationship" gives direct access to the value + */ + public Enumeration getRelationshipElement() { + if (this.relationship == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionRelatedActionComponent.relationship"); + else if (Configuration.doAutoCreate()) + this.relationship = new Enumeration(new ActionRelationshipTypeEnumFactory()); // bb + return this.relationship; + } + + public boolean hasRelationshipElement() { + return this.relationship != null && !this.relationship.isEmpty(); + } + + public boolean hasRelationship() { + return this.relationship != null && !this.relationship.isEmpty(); + } + + /** + * @param value {@link #relationship} (The relationship of this action to the related action.). This is the underlying object with id, value and extensions. The accessor "getRelationship" gives direct access to the value + */ + public RequestOrchestrationActionRelatedActionComponent setRelationshipElement(Enumeration value) { + this.relationship = value; + return this; + } + + /** + * @return The relationship of this action to the related action. + */ + public ActionRelationshipType getRelationship() { + return this.relationship == null ? null : this.relationship.getValue(); + } + + /** + * @param value The relationship of this action to the related action. + */ + public RequestOrchestrationActionRelatedActionComponent setRelationship(ActionRelationshipType value) { + if (this.relationship == null) + this.relationship = new Enumeration(new ActionRelationshipTypeEnumFactory()); + this.relationship.setValue(value); + return this; + } + + /** + * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) + */ + public DataType getOffset() { + return this.offset; + } + + /** + * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) + */ + public Duration getOffsetDuration() throws FHIRException { + if (this.offset == null) + this.offset = new Duration(); + if (!(this.offset instanceof Duration)) + throw new FHIRException("Type mismatch: the type Duration was expected, but "+this.offset.getClass().getName()+" was encountered"); + return (Duration) this.offset; + } + + public boolean hasOffsetDuration() { + return this != null && this.offset instanceof Duration; + } + + /** + * @return {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) + */ + public Range getOffsetRange() throws FHIRException { + if (this.offset == null) + this.offset = new Range(); + if (!(this.offset instanceof Range)) + throw new FHIRException("Type mismatch: the type Range was expected, but "+this.offset.getClass().getName()+" was encountered"); + return (Range) this.offset; + } + + public boolean hasOffsetRange() { + return this != null && this.offset instanceof Range; + } + + public boolean hasOffset() { + return this.offset != null && !this.offset.isEmpty(); + } + + /** + * @param value {@link #offset} (A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.) + */ + public RequestOrchestrationActionRelatedActionComponent setOffset(DataType value) { + if (value != null && !(value instanceof Duration || value instanceof Range)) + throw new Error("Not the right type for RequestOrchestration.action.relatedAction.offset[x]: "+value.fhirType()); + this.offset = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId)); + children.add(new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship)); + children.add(new Property("offset[x]", "Duration|Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -441951604: /*targetId*/ return new Property("targetId", "id", "The element id of the target related action.", 0, 1, targetId); + case -261851592: /*relationship*/ return new Property("relationship", "code", "The relationship of this action to the related action.", 0, 1, relationship); + case -1960684787: /*offset[x]*/ return new Property("offset[x]", "Duration|Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); + case -1019779949: /*offset*/ return new Property("offset[x]", "Duration|Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); + case 134075207: /*offsetDuration*/ return new Property("offset[x]", "Duration", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); + case 1263585386: /*offsetRange*/ return new Property("offset[x]", "Range", "A duration or range of durations to apply to the relationship. For example, 30-60 minutes before.", 0, 1, offset); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -441951604: /*targetId*/ return this.targetId == null ? new Base[0] : new Base[] {this.targetId}; // IdType + case -261851592: /*relationship*/ return this.relationship == null ? new Base[0] : new Base[] {this.relationship}; // Enumeration + case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // DataType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -441951604: // targetId + this.targetId = TypeConvertor.castToId(value); // IdType + return value; + case -261851592: // relationship + value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.relationship = (Enumeration) value; // Enumeration + return value; + case -1019779949: // offset + this.offset = TypeConvertor.castToType(value); // DataType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("targetId")) { + this.targetId = TypeConvertor.castToId(value); // IdType + } else if (name.equals("relationship")) { + value = new ActionRelationshipTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.relationship = (Enumeration) value; // Enumeration + } else if (name.equals("offset[x]")) { + this.offset = TypeConvertor.castToType(value); // DataType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -441951604: return getTargetIdElement(); + case -261851592: return getRelationshipElement(); + case -1960684787: return getOffset(); + case -1019779949: return getOffset(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -441951604: /*targetId*/ return new String[] {"id"}; + case -261851592: /*relationship*/ return new String[] {"code"}; + case -1019779949: /*offset*/ return new String[] {"Duration", "Range"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("targetId")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.relatedAction.targetId"); + } + else if (name.equals("relationship")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.relatedAction.relationship"); + } + else if (name.equals("offsetDuration")) { + this.offset = new Duration(); + return this.offset; + } + else if (name.equals("offsetRange")) { + this.offset = new Range(); + return this.offset; + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionRelatedActionComponent copy() { + RequestOrchestrationActionRelatedActionComponent dst = new RequestOrchestrationActionRelatedActionComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionRelatedActionComponent dst) { + super.copyValues(dst); + dst.targetId = targetId == null ? null : targetId.copy(); + dst.relationship = relationship == null ? null : relationship.copy(); + dst.offset = offset == null ? null : offset.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionRelatedActionComponent)) + return false; + RequestOrchestrationActionRelatedActionComponent o = (RequestOrchestrationActionRelatedActionComponent) other_; + return compareDeep(targetId, o.targetId, true) && compareDeep(relationship, o.relationship, true) + && compareDeep(offset, o.offset, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionRelatedActionComponent)) + return false; + RequestOrchestrationActionRelatedActionComponent o = (RequestOrchestrationActionRelatedActionComponent) other_; + return compareValues(targetId, o.targetId, true) && compareValues(relationship, o.relationship, true) + ; + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(targetId, relationship, offset + ); + } + + public String fhirType() { + return "RequestOrchestration.action.relatedAction"; + + } + + } + + @Block() + public static class RequestOrchestrationActionParticipantComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The type of participant in the action. + */ + @Child(name = "type", type = {CodeType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="careteam | device | group | healthcareservice | location | organization | patient | practitioner | practitionerrole | relatedperson", formalDefinition="The type of participant in the action." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-type") + protected Enumeration type; + + /** + * The type of participant in the action. + */ + @Child(name = "typeCanonical", type = {CanonicalType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) + protected CanonicalType typeCanonical; + + /** + * The type of participant in the action. + */ + @Child(name = "typeReference", type = {CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who or what can participate", formalDefinition="The type of participant in the action." ) + protected Reference typeReference; + + /** + * The role the participant should play in performing the described action. + */ + @Child(name = "role", type = {CodeableConcept.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="E.g. Nurse, Surgeon, Parent, etc.", formalDefinition="The role the participant should play in performing the described action." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/action-participant-role") + protected CodeableConcept role; + + /** + * Indicates how the actor will be involved in the action - author, reviewer, witness, etc. + */ + @Child(name = "function", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="E.g. Author, Reviewer, Witness, etc.", formalDefinition="Indicates how the actor will be involved in the action - author, reviewer, witness, etc." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-participant-function") + protected CodeableConcept function; + + /** + * A reference to the actual participant. + */ + @Child(name = "actor", type = {CanonicalType.class, CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who/what is participating?", formalDefinition="A reference to the actual participant." ) + protected DataType actor; + + private static final long serialVersionUID = -147206285L; + + /** + * Constructor + */ + public RequestOrchestrationActionParticipantComponent() { + super(); + } + + /** + * @return {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public Enumeration getTypeElement() { + if (this.type == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.type"); + else if (Configuration.doAutoCreate()) + this.type = new Enumeration(new ActionParticipantTypeEnumFactory()); // bb + return this.type; + } + + public boolean hasTypeElement() { + return this.type != null && !this.type.isEmpty(); + } + + public boolean hasType() { + return this.type != null && !this.type.isEmpty(); + } + + /** + * @param value {@link #type} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getType" gives direct access to the value + */ + public RequestOrchestrationActionParticipantComponent setTypeElement(Enumeration value) { + this.type = value; + return this; + } + + /** + * @return The type of participant in the action. + */ + public ActionParticipantType getType() { + return this.type == null ? null : this.type.getValue(); + } + + /** + * @param value The type of participant in the action. + */ + public RequestOrchestrationActionParticipantComponent setType(ActionParticipantType value) { + if (value == null) + this.type = null; + else { + if (this.type == null) + this.type = new Enumeration(new ActionParticipantTypeEnumFactory()); + this.type.setValue(value); + } + return this; + } + + /** + * @return {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public CanonicalType getTypeCanonicalElement() { + if (this.typeCanonical == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.typeCanonical"); + else if (Configuration.doAutoCreate()) + this.typeCanonical = new CanonicalType(); // bb + return this.typeCanonical; + } + + public boolean hasTypeCanonicalElement() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + public boolean hasTypeCanonical() { + return this.typeCanonical != null && !this.typeCanonical.isEmpty(); + } + + /** + * @param value {@link #typeCanonical} (The type of participant in the action.). This is the underlying object with id, value and extensions. The accessor "getTypeCanonical" gives direct access to the value + */ + public RequestOrchestrationActionParticipantComponent setTypeCanonicalElement(CanonicalType value) { + this.typeCanonical = value; + return this; + } + + /** + * @return The type of participant in the action. + */ + public String getTypeCanonical() { + return this.typeCanonical == null ? null : this.typeCanonical.getValue(); + } + + /** + * @param value The type of participant in the action. + */ + public RequestOrchestrationActionParticipantComponent setTypeCanonical(String value) { + if (Utilities.noString(value)) + this.typeCanonical = null; + else { + if (this.typeCanonical == null) + this.typeCanonical = new CanonicalType(); + this.typeCanonical.setValue(value); + } + return this; + } + + /** + * @return {@link #typeReference} (The type of participant in the action.) + */ + public Reference getTypeReference() { + if (this.typeReference == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.typeReference"); + else if (Configuration.doAutoCreate()) + this.typeReference = new Reference(); // cc + return this.typeReference; + } + + public boolean hasTypeReference() { + return this.typeReference != null && !this.typeReference.isEmpty(); + } + + /** + * @param value {@link #typeReference} (The type of participant in the action.) + */ + public RequestOrchestrationActionParticipantComponent setTypeReference(Reference value) { + this.typeReference = value; + return this; + } + + /** + * @return {@link #role} (The role the participant should play in performing the described action.) + */ + public CodeableConcept getRole() { + if (this.role == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.role"); + else if (Configuration.doAutoCreate()) + this.role = new CodeableConcept(); // cc + return this.role; + } + + public boolean hasRole() { + return this.role != null && !this.role.isEmpty(); + } + + /** + * @param value {@link #role} (The role the participant should play in performing the described action.) + */ + public RequestOrchestrationActionParticipantComponent setRole(CodeableConcept value) { + this.role = value; + return this; + } + + /** + * @return {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) + */ + public CodeableConcept getFunction() { + if (this.function == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionParticipantComponent.function"); + else if (Configuration.doAutoCreate()) + this.function = new CodeableConcept(); // cc + return this.function; + } + + public boolean hasFunction() { + return this.function != null && !this.function.isEmpty(); + } + + /** + * @param value {@link #function} (Indicates how the actor will be involved in the action - author, reviewer, witness, etc.) + */ + public RequestOrchestrationActionParticipantComponent setFunction(CodeableConcept value) { + this.function = value; + return this; + } + + /** + * @return {@link #actor} (A reference to the actual participant.) + */ + public DataType getActor() { + return this.actor; + } + + /** + * @return {@link #actor} (A reference to the actual participant.) + */ + public CanonicalType getActorCanonicalType() throws FHIRException { + if (this.actor == null) + this.actor = new CanonicalType(); + if (!(this.actor instanceof CanonicalType)) + throw new FHIRException("Type mismatch: the type CanonicalType was expected, but "+this.actor.getClass().getName()+" was encountered"); + return (CanonicalType) this.actor; + } + + public boolean hasActorCanonicalType() { + return this != null && this.actor instanceof CanonicalType; + } + + /** + * @return {@link #actor} (A reference to the actual participant.) + */ + public Reference getActorReference() throws FHIRException { + if (this.actor == null) + this.actor = new Reference(); + if (!(this.actor instanceof Reference)) + throw new FHIRException("Type mismatch: the type Reference was expected, but "+this.actor.getClass().getName()+" was encountered"); + return (Reference) this.actor; + } + + public boolean hasActorReference() { + return this != null && this.actor instanceof Reference; + } + + public boolean hasActor() { + return this.actor != null && !this.actor.isEmpty(); + } + + /** + * @param value {@link #actor} (A reference to the actual participant.) + */ + public RequestOrchestrationActionParticipantComponent setActor(DataType value) { + if (value != null && !(value instanceof CanonicalType || value instanceof Reference)) + throw new Error("Not the right type for RequestOrchestration.action.participant.actor[x]: "+value.fhirType()); + this.actor = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("type", "code", "The type of participant in the action.", 0, 1, type)); + children.add(new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical)); + children.add(new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference)); + children.add(new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role)); + children.add(new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function)); + children.add(new Property("actor[x]", "canonical(CapabilityStatement)|Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3575610: /*type*/ return new Property("type", "code", "The type of participant in the action.", 0, 1, type); + case -466635046: /*typeCanonical*/ return new Property("typeCanonical", "canonical(CapabilityStatement)", "The type of participant in the action.", 0, 1, typeCanonical); + case 2074825009: /*typeReference*/ return new Property("typeReference", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The type of participant in the action.", 0, 1, typeReference); + case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role the participant should play in performing the described action.", 0, 1, role); + case 1380938712: /*function*/ return new Property("function", "CodeableConcept", "Indicates how the actor will be involved in the action - author, reviewer, witness, etc.", 0, 1, function); + case -1650558357: /*actor[x]*/ return new Property("actor[x]", "canonical(CapabilityStatement)|Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); + case 92645877: /*actor*/ return new Property("actor[x]", "canonical(CapabilityStatement)|Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); + case 1323531903: /*actorCanonical*/ return new Property("actor[x]", "canonical(CapabilityStatement)", "A reference to the actual participant.", 0, 1, actor); + case -429975338: /*actorReference*/ return new Property("actor[x]", "Reference(CareTeam|Device|DeviceDefinition|Endpoint|Group|HealthcareService|Location|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "A reference to the actual participant.", 0, 1, actor); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration + case -466635046: /*typeCanonical*/ return this.typeCanonical == null ? new Base[0] : new Base[] {this.typeCanonical}; // CanonicalType + case 2074825009: /*typeReference*/ return this.typeReference == null ? new Base[0] : new Base[] {this.typeReference}; // Reference + case 3506294: /*role*/ return this.role == null ? new Base[0] : new Base[] {this.role}; // CodeableConcept + case 1380938712: /*function*/ return this.function == null ? new Base[0] : new Base[] {this.function}; // CodeableConcept + case 92645877: /*actor*/ return this.actor == null ? new Base[0] : new Base[] {this.actor}; // DataType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3575610: // type + value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + return value; + case -466635046: // typeCanonical + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + return value; + case 2074825009: // typeReference + this.typeReference = TypeConvertor.castToReference(value); // Reference + return value; + case 3506294: // role + this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 1380938712: // function + this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 92645877: // actor + this.actor = TypeConvertor.castToType(value); // DataType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("type")) { + value = new ActionParticipantTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.type = (Enumeration) value; // Enumeration + } else if (name.equals("typeCanonical")) { + this.typeCanonical = TypeConvertor.castToCanonical(value); // CanonicalType + } else if (name.equals("typeReference")) { + this.typeReference = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("role")) { + this.role = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("function")) { + this.function = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("actor[x]")) { + this.actor = TypeConvertor.castToType(value); // DataType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: return getTypeElement(); + case -466635046: return getTypeCanonicalElement(); + case 2074825009: return getTypeReference(); + case 3506294: return getRole(); + case 1380938712: return getFunction(); + case -1650558357: return getActor(); + case 92645877: return getActor(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3575610: /*type*/ return new String[] {"code"}; + case -466635046: /*typeCanonical*/ return new String[] {"canonical"}; + case 2074825009: /*typeReference*/ return new String[] {"Reference"}; + case 3506294: /*role*/ return new String[] {"CodeableConcept"}; + case 1380938712: /*function*/ return new String[] {"CodeableConcept"}; + case 92645877: /*actor*/ return new String[] {"canonical", "Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("type")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.participant.type"); + } + else if (name.equals("typeCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.participant.typeCanonical"); + } + else if (name.equals("typeReference")) { + this.typeReference = new Reference(); + return this.typeReference; + } + else if (name.equals("role")) { + this.role = new CodeableConcept(); + return this.role; + } + else if (name.equals("function")) { + this.function = new CodeableConcept(); + return this.function; + } + else if (name.equals("actorCanonical")) { + this.actor = new CanonicalType(); + return this.actor; + } + else if (name.equals("actorReference")) { + this.actor = new Reference(); + return this.actor; + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionParticipantComponent copy() { + RequestOrchestrationActionParticipantComponent dst = new RequestOrchestrationActionParticipantComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionParticipantComponent dst) { + super.copyValues(dst); + dst.type = type == null ? null : type.copy(); + dst.typeCanonical = typeCanonical == null ? null : typeCanonical.copy(); + dst.typeReference = typeReference == null ? null : typeReference.copy(); + dst.role = role == null ? null : role.copy(); + dst.function = function == null ? null : function.copy(); + dst.actor = actor == null ? null : actor.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionParticipantComponent)) + return false; + RequestOrchestrationActionParticipantComponent o = (RequestOrchestrationActionParticipantComponent) other_; + return compareDeep(type, o.type, true) && compareDeep(typeCanonical, o.typeCanonical, true) && compareDeep(typeReference, o.typeReference, true) + && compareDeep(role, o.role, true) && compareDeep(function, o.function, true) && compareDeep(actor, o.actor, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionParticipantComponent)) + return false; + RequestOrchestrationActionParticipantComponent o = (RequestOrchestrationActionParticipantComponent) other_; + return compareValues(type, o.type, true) && compareValues(typeCanonical, o.typeCanonical, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, typeCanonical, typeReference + , role, function, actor); + } + + public String fhirType() { + return "RequestOrchestration.action.participant"; + + } + + } + + @Block() + public static class RequestOrchestrationActionDynamicValueComponent extends BackboneElement implements IBaseBackboneElement { + /** + * The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). + */ + @Child(name = "path", type = {StringType.class}, order=1, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="The path to the element to be set dynamically", formalDefinition="The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details)." ) + protected StringType path; + + /** + * An expression specifying the value of the customized element. + */ + @Child(name = "expression", type = {Expression.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="An expression that provides the dynamic value for the customization", formalDefinition="An expression specifying the value of the customized element." ) + protected Expression expression; + + private static final long serialVersionUID = 1064529082L; + + /** + * Constructor + */ + public RequestOrchestrationActionDynamicValueComponent() { + super(); + } + + /** + * @return {@link #path} (The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value + */ + public StringType getPathElement() { + if (this.path == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionDynamicValueComponent.path"); + else if (Configuration.doAutoCreate()) + this.path = new StringType(); // bb + return this.path; + } + + public boolean hasPathElement() { + return this.path != null && !this.path.isEmpty(); + } + + public boolean hasPath() { + return this.path != null && !this.path.isEmpty(); + } + + /** + * @param value {@link #path} (The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).). This is the underlying object with id, value and extensions. The accessor "getPath" gives direct access to the value + */ + public RequestOrchestrationActionDynamicValueComponent setPathElement(StringType value) { + this.path = value; + return this; + } + + /** + * @return The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). + */ + public String getPath() { + return this.path == null ? null : this.path.getValue(); + } + + /** + * @param value The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details). + */ + public RequestOrchestrationActionDynamicValueComponent setPath(String value) { + if (Utilities.noString(value)) + this.path = null; + else { + if (this.path == null) + this.path = new StringType(); + this.path.setValue(value); + } + return this; + } + + /** + * @return {@link #expression} (An expression specifying the value of the customized element.) + */ + public Expression getExpression() { + if (this.expression == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestrationActionDynamicValueComponent.expression"); + else if (Configuration.doAutoCreate()) + this.expression = new Expression(); // cc + return this.expression; + } + + public boolean hasExpression() { + return this.expression != null && !this.expression.isEmpty(); + } + + /** + * @param value {@link #expression} (An expression specifying the value of the customized element.) + */ + public RequestOrchestrationActionDynamicValueComponent setExpression(Expression value) { + this.expression = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("path", "string", "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, 1, path)); + children.add(new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3433509: /*path*/ return new Property("path", "string", "The path to the element to be customized. This is the path on the resource that will hold the result of the calculation defined by the expression. The specified path SHALL be a FHIRPath resolveable on the specified target type of the ActivityDefinition, and SHALL consist only of identifiers, constant indexers, and a restricted subset of functions. The path is allowed to contain qualifiers (.) to traverse sub-elements, as well as indexers ([x]) to traverse multiple-cardinality sub-elements (see the [Simple FHIRPath Profile](fhirpath.html#simple) for full details).", 0, 1, path); + case -1795452264: /*expression*/ return new Property("expression", "Expression", "An expression specifying the value of the customized element.", 0, 1, expression); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType + case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // Expression + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3433509: // path + this.path = TypeConvertor.castToString(value); // StringType + return value; + case -1795452264: // expression + this.expression = TypeConvertor.castToExpression(value); // Expression + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("path")) { + this.path = TypeConvertor.castToString(value); // StringType + } else if (name.equals("expression")) { + this.expression = TypeConvertor.castToExpression(value); // Expression + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3433509: return getPathElement(); + case -1795452264: return getExpression(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3433509: /*path*/ return new String[] {"string"}; + case -1795452264: /*expression*/ return new String[] {"Expression"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("path")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.action.dynamicValue.path"); + } + else if (name.equals("expression")) { + this.expression = new Expression(); + return this.expression; + } + else + return super.addChild(name); + } + + public RequestOrchestrationActionDynamicValueComponent copy() { + RequestOrchestrationActionDynamicValueComponent dst = new RequestOrchestrationActionDynamicValueComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestrationActionDynamicValueComponent dst) { + super.copyValues(dst); + dst.path = path == null ? null : path.copy(); + dst.expression = expression == null ? null : expression.copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionDynamicValueComponent)) + return false; + RequestOrchestrationActionDynamicValueComponent o = (RequestOrchestrationActionDynamicValueComponent) other_; + return compareDeep(path, o.path, true) && compareDeep(expression, o.expression, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestrationActionDynamicValueComponent)) + return false; + RequestOrchestrationActionDynamicValueComponent o = (RequestOrchestrationActionDynamicValueComponent) other_; + return compareValues(path, o.path, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(path, expression); + } + + public String fhirType() { + return "RequestOrchestration.action.dynamicValue"; + + } + + } + + /** + * Allows a service to provide a unique, business identifier for the request. + */ + @Child(name = "identifier", type = {Identifier.class}, order=0, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Business identifier", formalDefinition="Allows a service to provide a unique, business identifier for the request." ) + protected List identifier; + + /** + * A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. + */ + @Child(name = "instantiatesCanonical", type = {CanonicalType.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Instantiates FHIR protocol or definition", formalDefinition="A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request." ) + protected List instantiatesCanonical; + + /** + * A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request. + */ + @Child(name = "instantiatesUri", type = {UriType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Instantiates external protocol or definition", formalDefinition="A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request." ) + protected List instantiatesUri; + + /** + * A plan, proposal or order that is fulfilled in whole or in part by this request. + */ + @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Fulfills plan, proposal, or order", formalDefinition="A plan, proposal or order that is fulfilled in whole or in part by this request." ) + protected List basedOn; + + /** + * Completed or terminated request(s) whose function is taken by this new request. + */ + @Child(name = "replaces", type = {Reference.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Request(s) replaced by this request", formalDefinition="Completed or terminated request(s) whose function is taken by this new request." ) + protected List replaces; + + /** + * A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form. + */ + @Child(name = "groupIdentifier", type = {Identifier.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Composite request this is part of", formalDefinition="A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form." ) + protected Identifier groupIdentifier; + + /** + * The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. + */ + @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) + @Description(shortDefinition="draft | active | on-hold | revoked | completed | entered-in-error | unknown", formalDefinition="The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-status") + protected Enumeration status; + + /** + * Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. + */ + @Child(name = "intent", type = {CodeType.class}, order=7, min=1, max=1, modifier=true, summary=true) + @Description(shortDefinition="proposal | plan | directive | order | original-order | reflex-order | filler-order | instance-order | option", formalDefinition="Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-intent") + protected Enumeration intent; + + /** + * Indicates how quickly the request should be addressed with respect to other requests. + */ + @Child(name = "priority", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="routine | urgent | asap | stat", formalDefinition="Indicates how quickly the request should be addressed with respect to other requests." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") + protected Enumeration priority; + + /** + * A code that identifies what the overall request orchestration is. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="What's being requested/ordered", formalDefinition="A code that identifies what the overall request orchestration is." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-code") + protected CodeableConcept code; + + /** + * The subject for which the request orchestration was created. + */ + @Child(name = "subject", type = {Patient.class, Group.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Who the request orchestration is about", formalDefinition="The subject for which the request orchestration was created." ) + protected Reference subject; + + /** + * Describes the context of the request orchestration, if any. + */ + @Child(name = "encounter", type = {Encounter.class}, order=11, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Created as part of", formalDefinition="Describes the context of the request orchestration, if any." ) + protected Reference encounter; + + /** + * Indicates when the request orchestration was created. + */ + @Child(name = "authoredOn", type = {DateTimeType.class}, order=12, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the request orchestration was authored", formalDefinition="Indicates when the request orchestration was created." ) + protected DateTimeType authoredOn; + + /** + * Provides a reference to the author of the request orchestration. + */ + @Child(name = "author", type = {Device.class, Practitioner.class, PractitionerRole.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Device or practitioner that authored the request orchestration", formalDefinition="Provides a reference to the author of the request orchestration." ) + protected Reference author; + + /** + * Describes the reason for the request orchestration in coded or textual form. + */ + @Child(name = "reason", type = {CodeableReference.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Why the request orchestration is needed", formalDefinition="Describes the reason for the request orchestration in coded or textual form." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/action-reason-code") + protected List reason; + + /** + * Goals that are intended to be achieved by following the requests in this RequestOrchestration. + */ + @Child(name = "goal", type = {Goal.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="What goals", formalDefinition="Goals that are intended to be achieved by following the requests in this RequestOrchestration." ) + protected List goal; + + /** + * Provides a mechanism to communicate additional information about the response. + */ + @Child(name = "note", type = {Annotation.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional notes about the response", formalDefinition="Provides a mechanism to communicate additional information about the response." ) + protected List note; + + /** + * The actions, if any, produced by the evaluation of the artifact. + */ + @Child(name = "action", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Proposed actions, if any", formalDefinition="The actions, if any, produced by the evaluation of the artifact." ) + protected List action; + + private static final long serialVersionUID = -683989911L; + + /** + * Constructor + */ + public RequestOrchestration() { + super(); + } + + /** + * Constructor + */ + public RequestOrchestration(RequestStatus status, RequestIntent intent) { + super(); + this.setStatus(status); + this.setIntent(intent); + } + + /** + * @return {@link #identifier} (Allows a service to provide a unique, business identifier for the request.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public RequestOrchestration addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + + /** + * @return {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public List getInstantiatesCanonical() { + if (this.instantiatesCanonical == null) + this.instantiatesCanonical = new ArrayList(); + return this.instantiatesCanonical; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setInstantiatesCanonical(List theInstantiatesCanonical) { + this.instantiatesCanonical = theInstantiatesCanonical; + return this; + } + + public boolean hasInstantiatesCanonical() { + if (this.instantiatesCanonical == null) + return false; + for (CanonicalType item : this.instantiatesCanonical) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public CanonicalType addInstantiatesCanonicalElement() {//2 + CanonicalType t = new CanonicalType(); + if (this.instantiatesCanonical == null) + this.instantiatesCanonical = new ArrayList(); + this.instantiatesCanonical.add(t); + return t; + } + + /** + * @param value {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public RequestOrchestration addInstantiatesCanonical(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); + if (this.instantiatesCanonical == null) + this.instantiatesCanonical = new ArrayList(); + this.instantiatesCanonical.add(t); + return this; + } + + /** + * @param value {@link #instantiatesCanonical} (A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public boolean hasInstantiatesCanonical(String value) { + if (this.instantiatesCanonical == null) + return false; + for (CanonicalType v : this.instantiatesCanonical) + if (v.getValue().equals(value)) // canonical + return true; + return false; + } + + /** + * @return {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public List getInstantiatesUri() { + if (this.instantiatesUri == null) + this.instantiatesUri = new ArrayList(); + return this.instantiatesUri; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setInstantiatesUri(List theInstantiatesUri) { + this.instantiatesUri = theInstantiatesUri; + return this; + } + + public boolean hasInstantiatesUri() { + if (this.instantiatesUri == null) + return false; + for (UriType item : this.instantiatesUri) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public UriType addInstantiatesUriElement() {//2 + UriType t = new UriType(); + if (this.instantiatesUri == null) + this.instantiatesUri = new ArrayList(); + this.instantiatesUri.add(t); + return t; + } + + /** + * @param value {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public RequestOrchestration addInstantiatesUri(String value) { //1 + UriType t = new UriType(); + t.setValue(value); + if (this.instantiatesUri == null) + this.instantiatesUri = new ArrayList(); + this.instantiatesUri.add(t); + return this; + } + + /** + * @param value {@link #instantiatesUri} (A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.) + */ + public boolean hasInstantiatesUri(String value) { + if (this.instantiatesUri == null) + return false; + for (UriType v : this.instantiatesUri) + if (v.getValue().equals(value)) // uri + return true; + return false; + } + + /** + * @return {@link #basedOn} (A plan, proposal or order that is fulfilled in whole or in part by this request.) + */ + public List getBasedOn() { + if (this.basedOn == null) + this.basedOn = new ArrayList(); + return this.basedOn; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setBasedOn(List theBasedOn) { + this.basedOn = theBasedOn; + return this; + } + + public boolean hasBasedOn() { + if (this.basedOn == null) + return false; + for (Reference item : this.basedOn) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addBasedOn() { //3 + Reference t = new Reference(); + if (this.basedOn == null) + this.basedOn = new ArrayList(); + this.basedOn.add(t); + return t; + } + + public RequestOrchestration addBasedOn(Reference t) { //3 + if (t == null) + return this; + if (this.basedOn == null) + this.basedOn = new ArrayList(); + this.basedOn.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #basedOn}, creating it if it does not already exist {3} + */ + public Reference getBasedOnFirstRep() { + if (getBasedOn().isEmpty()) { + addBasedOn(); + } + return getBasedOn().get(0); + } + + /** + * @return {@link #replaces} (Completed or terminated request(s) whose function is taken by this new request.) + */ + public List getReplaces() { + if (this.replaces == null) + this.replaces = new ArrayList(); + return this.replaces; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setReplaces(List theReplaces) { + this.replaces = theReplaces; + return this; + } + + public boolean hasReplaces() { + if (this.replaces == null) + return false; + for (Reference item : this.replaces) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addReplaces() { //3 + Reference t = new Reference(); + if (this.replaces == null) + this.replaces = new ArrayList(); + this.replaces.add(t); + return t; + } + + public RequestOrchestration addReplaces(Reference t) { //3 + if (t == null) + return this; + if (this.replaces == null) + this.replaces = new ArrayList(); + this.replaces.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #replaces}, creating it if it does not already exist {3} + */ + public Reference getReplacesFirstRep() { + if (getReplaces().isEmpty()) { + addReplaces(); + } + return getReplaces().get(0); + } + + /** + * @return {@link #groupIdentifier} (A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.) + */ + public Identifier getGroupIdentifier() { + if (this.groupIdentifier == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.groupIdentifier"); + else if (Configuration.doAutoCreate()) + this.groupIdentifier = new Identifier(); // cc + return this.groupIdentifier; + } + + public boolean hasGroupIdentifier() { + return this.groupIdentifier != null && !this.groupIdentifier.isEmpty(); + } + + /** + * @param value {@link #groupIdentifier} (A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.) + */ + public RequestOrchestration setGroupIdentifier(Identifier value) { + this.groupIdentifier = value; + return this; + } + + /** + * @return {@link #status} (The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + */ + public Enumeration getStatusElement() { + if (this.status == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.status"); + else if (Configuration.doAutoCreate()) + this.status = new Enumeration(new RequestStatusEnumFactory()); // bb + return this.status; + } + + public boolean hasStatusElement() { + return this.status != null && !this.status.isEmpty(); + } + + public boolean hasStatus() { + return this.status != null && !this.status.isEmpty(); + } + + /** + * @param value {@link #status} (The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + */ + public RequestOrchestration setStatusElement(Enumeration value) { + this.status = value; + return this; + } + + /** + * @return The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. + */ + public RequestStatus getStatus() { + return this.status == null ? null : this.status.getValue(); + } + + /** + * @param value The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration. + */ + public RequestOrchestration setStatus(RequestStatus value) { + if (this.status == null) + this.status = new Enumeration(new RequestStatusEnumFactory()); + this.status.setValue(value); + return this; + } + + /** + * @return {@link #intent} (Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value + */ + public Enumeration getIntentElement() { + if (this.intent == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.intent"); + else if (Configuration.doAutoCreate()) + this.intent = new Enumeration(new RequestIntentEnumFactory()); // bb + return this.intent; + } + + public boolean hasIntentElement() { + return this.intent != null && !this.intent.isEmpty(); + } + + public boolean hasIntent() { + return this.intent != null && !this.intent.isEmpty(); + } + + /** + * @param value {@link #intent} (Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.). This is the underlying object with id, value and extensions. The accessor "getIntent" gives direct access to the value + */ + public RequestOrchestration setIntentElement(Enumeration value) { + this.intent = value; + return this; + } + + /** + * @return Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. + */ + public RequestIntent getIntent() { + return this.intent == null ? null : this.intent.getValue(); + } + + /** + * @param value Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain. + */ + public RequestOrchestration setIntent(RequestIntent value) { + if (this.intent == null) + this.intent = new Enumeration(new RequestIntentEnumFactory()); + this.intent.setValue(value); + return this; + } + + /** + * @return {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value + */ + public Enumeration getPriorityElement() { + if (this.priority == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.priority"); + else if (Configuration.doAutoCreate()) + this.priority = new Enumeration(new RequestPriorityEnumFactory()); // bb + return this.priority; + } + + public boolean hasPriorityElement() { + return this.priority != null && !this.priority.isEmpty(); + } + + public boolean hasPriority() { + return this.priority != null && !this.priority.isEmpty(); + } + + /** + * @param value {@link #priority} (Indicates how quickly the request should be addressed with respect to other requests.). This is the underlying object with id, value and extensions. The accessor "getPriority" gives direct access to the value + */ + public RequestOrchestration setPriorityElement(Enumeration value) { + this.priority = value; + return this; + } + + /** + * @return Indicates how quickly the request should be addressed with respect to other requests. + */ + public RequestPriority getPriority() { + return this.priority == null ? null : this.priority.getValue(); + } + + /** + * @param value Indicates how quickly the request should be addressed with respect to other requests. + */ + public RequestOrchestration setPriority(RequestPriority value) { + if (value == null) + this.priority = null; + else { + if (this.priority == null) + this.priority = new Enumeration(new RequestPriorityEnumFactory()); + this.priority.setValue(value); + } + return this; + } + + /** + * @return {@link #code} (A code that identifies what the overall request orchestration is.) + */ + public CodeableConcept getCode() { + if (this.code == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeableConcept(); // cc + return this.code; + } + + public boolean hasCode() { + return this.code != null && !this.code.isEmpty(); + } + + /** + * @param value {@link #code} (A code that identifies what the overall request orchestration is.) + */ + public RequestOrchestration setCode(CodeableConcept value) { + this.code = value; + return this; + } + + /** + * @return {@link #subject} (The subject for which the request orchestration was created.) + */ + public Reference getSubject() { + if (this.subject == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.subject"); + else if (Configuration.doAutoCreate()) + this.subject = new Reference(); // cc + return this.subject; + } + + public boolean hasSubject() { + return this.subject != null && !this.subject.isEmpty(); + } + + /** + * @param value {@link #subject} (The subject for which the request orchestration was created.) + */ + public RequestOrchestration setSubject(Reference value) { + this.subject = value; + return this; + } + + /** + * @return {@link #encounter} (Describes the context of the request orchestration, if any.) + */ + public Reference getEncounter() { + if (this.encounter == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.encounter"); + else if (Configuration.doAutoCreate()) + this.encounter = new Reference(); // cc + return this.encounter; + } + + public boolean hasEncounter() { + return this.encounter != null && !this.encounter.isEmpty(); + } + + /** + * @param value {@link #encounter} (Describes the context of the request orchestration, if any.) + */ + public RequestOrchestration setEncounter(Reference value) { + this.encounter = value; + return this; + } + + /** + * @return {@link #authoredOn} (Indicates when the request orchestration was created.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value + */ + public DateTimeType getAuthoredOnElement() { + if (this.authoredOn == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.authoredOn"); + else if (Configuration.doAutoCreate()) + this.authoredOn = new DateTimeType(); // bb + return this.authoredOn; + } + + public boolean hasAuthoredOnElement() { + return this.authoredOn != null && !this.authoredOn.isEmpty(); + } + + public boolean hasAuthoredOn() { + return this.authoredOn != null && !this.authoredOn.isEmpty(); + } + + /** + * @param value {@link #authoredOn} (Indicates when the request orchestration was created.). This is the underlying object with id, value and extensions. The accessor "getAuthoredOn" gives direct access to the value + */ + public RequestOrchestration setAuthoredOnElement(DateTimeType value) { + this.authoredOn = value; + return this; + } + + /** + * @return Indicates when the request orchestration was created. + */ + public Date getAuthoredOn() { + return this.authoredOn == null ? null : this.authoredOn.getValue(); + } + + /** + * @param value Indicates when the request orchestration was created. + */ + public RequestOrchestration setAuthoredOn(Date value) { + if (value == null) + this.authoredOn = null; + else { + if (this.authoredOn == null) + this.authoredOn = new DateTimeType(); + this.authoredOn.setValue(value); + } + return this; + } + + /** + * @return {@link #author} (Provides a reference to the author of the request orchestration.) + */ + public Reference getAuthor() { + if (this.author == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequestOrchestration.author"); + else if (Configuration.doAutoCreate()) + this.author = new Reference(); // cc + return this.author; + } + + public boolean hasAuthor() { + return this.author != null && !this.author.isEmpty(); + } + + /** + * @param value {@link #author} (Provides a reference to the author of the request orchestration.) + */ + public RequestOrchestration setAuthor(Reference value) { + this.author = value; + return this; + } + + /** + * @return {@link #reason} (Describes the reason for the request orchestration in coded or textual form.) + */ + public List getReason() { + if (this.reason == null) + this.reason = new ArrayList(); + return this.reason; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setReason(List theReason) { + this.reason = theReason; + return this; + } + + public boolean hasReason() { + if (this.reason == null) + return false; + for (CodeableReference item : this.reason) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addReason() { //3 + CodeableReference t = new CodeableReference(); + if (this.reason == null) + this.reason = new ArrayList(); + this.reason.add(t); + return t; + } + + public RequestOrchestration addReason(CodeableReference t) { //3 + if (t == null) + return this; + if (this.reason == null) + this.reason = new ArrayList(); + this.reason.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} + */ + public CodeableReference getReasonFirstRep() { + if (getReason().isEmpty()) { + addReason(); + } + return getReason().get(0); + } + + /** + * @return {@link #goal} (Goals that are intended to be achieved by following the requests in this RequestOrchestration.) + */ + public List getGoal() { + if (this.goal == null) + this.goal = new ArrayList(); + return this.goal; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setGoal(List theGoal) { + this.goal = theGoal; + return this; + } + + public boolean hasGoal() { + if (this.goal == null) + return false; + for (Reference item : this.goal) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addGoal() { //3 + Reference t = new Reference(); + if (this.goal == null) + this.goal = new ArrayList(); + this.goal.add(t); + return t; + } + + public RequestOrchestration addGoal(Reference t) { //3 + if (t == null) + return this; + if (this.goal == null) + this.goal = new ArrayList(); + this.goal.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #goal}, creating it if it does not already exist {3} + */ + public Reference getGoalFirstRep() { + if (getGoal().isEmpty()) { + addGoal(); + } + return getGoal().get(0); + } + + /** + * @return {@link #note} (Provides a mechanism to communicate additional information about the response.) + */ + public List getNote() { + if (this.note == null) + this.note = new ArrayList(); + return this.note; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setNote(List theNote) { + this.note = theNote; + return this; + } + + public boolean hasNote() { + if (this.note == null) + return false; + for (Annotation item : this.note) + if (!item.isEmpty()) + return true; + return false; + } + + public Annotation addNote() { //3 + Annotation t = new Annotation(); + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); + return t; + } + + public RequestOrchestration addNote(Annotation t) { //3 + if (t == null) + return this; + if (this.note == null) + this.note = new ArrayList(); + this.note.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #note}, creating it if it does not already exist {3} + */ + public Annotation getNoteFirstRep() { + if (getNote().isEmpty()) { + addNote(); + } + return getNote().get(0); + } + + /** + * @return {@link #action} (The actions, if any, produced by the evaluation of the artifact.) + */ + public List getAction() { + if (this.action == null) + this.action = new ArrayList(); + return this.action; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequestOrchestration setAction(List theAction) { + this.action = theAction; + return this; + } + + public boolean hasAction() { + if (this.action == null) + return false; + for (RequestOrchestrationActionComponent item : this.action) + if (!item.isEmpty()) + return true; + return false; + } + + public RequestOrchestrationActionComponent addAction() { //3 + RequestOrchestrationActionComponent t = new RequestOrchestrationActionComponent(); + if (this.action == null) + this.action = new ArrayList(); + this.action.add(t); + return t; + } + + public RequestOrchestration addAction(RequestOrchestrationActionComponent t) { //3 + if (t == null) + return this; + if (this.action == null) + this.action = new ArrayList(); + this.action.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #action}, creating it if it does not already exist {3} + */ + public RequestOrchestrationActionComponent getActionFirstRep() { + if (getAction().isEmpty()) { + addAction(); + } + return getAction().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("identifier", "Identifier", "Allows a service to provide a unique, business identifier for the request.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("instantiatesCanonical", "canonical", "A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical)); + children.add(new Property("instantiatesUri", "uri", "A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri)); + children.add(new Property("basedOn", "Reference(Any)", "A plan, proposal or order that is fulfilled in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn)); + children.add(new Property("replaces", "Reference(Any)", "Completed or terminated request(s) whose function is taken by this new request.", 0, java.lang.Integer.MAX_VALUE, replaces)); + children.add(new Property("groupIdentifier", "Identifier", "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.", 0, 1, groupIdentifier)); + children.add(new Property("status", "code", "The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.", 0, 1, status)); + children.add(new Property("intent", "code", "Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.", 0, 1, intent)); + children.add(new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority)); + children.add(new Property("code", "CodeableConcept", "A code that identifies what the overall request orchestration is.", 0, 1, code)); + children.add(new Property("subject", "Reference(Patient|Group)", "The subject for which the request orchestration was created.", 0, 1, subject)); + children.add(new Property("encounter", "Reference(Encounter)", "Describes the context of the request orchestration, if any.", 0, 1, encounter)); + children.add(new Property("authoredOn", "dateTime", "Indicates when the request orchestration was created.", 0, 1, authoredOn)); + children.add(new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request orchestration.", 0, 1, author)); + children.add(new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the request orchestration in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason)); + children.add(new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this RequestOrchestration.", 0, java.lang.Integer.MAX_VALUE, goal)); + children.add(new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note)); + children.add(new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Allows a service to provide a unique, business identifier for the request.", 0, java.lang.Integer.MAX_VALUE, identifier); + case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical", "A canonical URL referencing a FHIR-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesCanonical); + case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "A URL referencing an externally defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, instantiatesUri); + case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "A plan, proposal or order that is fulfilled in whole or in part by this request.", 0, java.lang.Integer.MAX_VALUE, basedOn); + case -430332865: /*replaces*/ return new Property("replaces", "Reference(Any)", "Completed or terminated request(s) whose function is taken by this new request.", 0, java.lang.Integer.MAX_VALUE, replaces); + case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "A shared identifier common to all requests that were authorized more or less simultaneously by a single author, representing the identifier of the requisition, prescription or similar form.", 0, 1, groupIdentifier); + case -892481550: /*status*/ return new Property("status", "code", "The current state of the request. For request orchestrations, the status reflects the status of all the requests in the orchestration.", 0, 1, status); + case -1183762788: /*intent*/ return new Property("intent", "code", "Indicates the level of authority/intentionality associated with the request and where the request fits into the workflow chain.", 0, 1, intent); + case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the request should be addressed with respect to other requests.", 0, 1, priority); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies what the overall request orchestration is.", 0, 1, code); + case -1867885268: /*subject*/ return new Property("subject", "Reference(Patient|Group)", "The subject for which the request orchestration was created.", 0, 1, subject); + case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "Describes the context of the request orchestration, if any.", 0, 1, encounter); + case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "Indicates when the request orchestration was created.", 0, 1, authoredOn); + case -1406328437: /*author*/ return new Property("author", "Reference(Device|Practitioner|PractitionerRole)", "Provides a reference to the author of the request orchestration.", 0, 1, author); + case -934964668: /*reason*/ return new Property("reason", "CodeableReference(Condition|Observation|DiagnosticReport|DocumentReference)", "Describes the reason for the request orchestration in coded or textual form.", 0, java.lang.Integer.MAX_VALUE, reason); + case 3178259: /*goal*/ return new Property("goal", "Reference(Goal)", "Goals that are intended to be achieved by following the requests in this RequestOrchestration.", 0, java.lang.Integer.MAX_VALUE, goal); + case 3387378: /*note*/ return new Property("note", "Annotation", "Provides a mechanism to communicate additional information about the response.", 0, java.lang.Integer.MAX_VALUE, note); + case -1422950858: /*action*/ return new Property("action", "", "The actions, if any, produced by the evaluation of the artifact.", 0, java.lang.Integer.MAX_VALUE, action); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case 8911915: /*instantiatesCanonical*/ return this.instantiatesCanonical == null ? new Base[0] : this.instantiatesCanonical.toArray(new Base[this.instantiatesCanonical.size()]); // CanonicalType + case -1926393373: /*instantiatesUri*/ return this.instantiatesUri == null ? new Base[0] : this.instantiatesUri.toArray(new Base[this.instantiatesUri.size()]); // UriType + case -332612366: /*basedOn*/ return this.basedOn == null ? new Base[0] : this.basedOn.toArray(new Base[this.basedOn.size()]); // Reference + case -430332865: /*replaces*/ return this.replaces == null ? new Base[0] : this.replaces.toArray(new Base[this.replaces.size()]); // Reference + case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier + case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration + case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept + case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference + case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference + case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType + case -1406328437: /*author*/ return this.author == null ? new Base[0] : new Base[] {this.author}; // Reference + case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference + case 3178259: /*goal*/ return this.goal == null ? new Base[0] : this.goal.toArray(new Base[this.goal.size()]); // Reference + case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation + case -1422950858: /*action*/ return this.action == null ? new Base[0] : this.action.toArray(new Base[this.action.size()]); // RequestOrchestrationActionComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; + case 8911915: // instantiatesCanonical + this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); // CanonicalType + return value; + case -1926393373: // instantiatesUri + this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); // UriType + return value; + case -332612366: // basedOn + this.getBasedOn().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -430332865: // replaces + this.getReplaces().add(TypeConvertor.castToReference(value)); // Reference + return value; + case -445338488: // groupIdentifier + this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier + return value; + case -892481550: // status + value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + return value; + case -1183762788: // intent + value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.intent = (Enumeration) value; // Enumeration + return value; + case -1165461084: // priority + value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.priority = (Enumeration) value; // Enumeration + return value; + case 3059181: // code + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case -1867885268: // subject + this.subject = TypeConvertor.castToReference(value); // Reference + return value; + case 1524132147: // encounter + this.encounter = TypeConvertor.castToReference(value); // Reference + return value; + case -1500852503: // authoredOn + this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType + return value; + case -1406328437: // author + this.author = TypeConvertor.castToReference(value); // Reference + return value; + case -934964668: // reason + this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference + return value; + case 3178259: // goal + this.getGoal().add(TypeConvertor.castToReference(value)); // Reference + return value; + case 3387378: // note + this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation + return value; + case -1422950858: // action + this.getAction().add((RequestOrchestrationActionComponent) value); // RequestOrchestrationActionComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("instantiatesCanonical")) { + this.getInstantiatesCanonical().add(TypeConvertor.castToCanonical(value)); + } else if (name.equals("instantiatesUri")) { + this.getInstantiatesUri().add(TypeConvertor.castToUri(value)); + } else if (name.equals("basedOn")) { + this.getBasedOn().add(TypeConvertor.castToReference(value)); + } else if (name.equals("replaces")) { + this.getReplaces().add(TypeConvertor.castToReference(value)); + } else if (name.equals("groupIdentifier")) { + this.groupIdentifier = TypeConvertor.castToIdentifier(value); // Identifier + } else if (name.equals("status")) { + value = new RequestStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + } else if (name.equals("intent")) { + value = new RequestIntentEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.intent = (Enumeration) value; // Enumeration + } else if (name.equals("priority")) { + value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.priority = (Enumeration) value; // Enumeration + } else if (name.equals("code")) { + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("subject")) { + this.subject = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("encounter")) { + this.encounter = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("authoredOn")) { + this.authoredOn = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("author")) { + this.author = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("reason")) { + this.getReason().add(TypeConvertor.castToCodeableReference(value)); + } else if (name.equals("goal")) { + this.getGoal().add(TypeConvertor.castToReference(value)); + } else if (name.equals("note")) { + this.getNote().add(TypeConvertor.castToAnnotation(value)); + } else if (name.equals("action")) { + this.getAction().add((RequestOrchestrationActionComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: return addIdentifier(); + case 8911915: return addInstantiatesCanonicalElement(); + case -1926393373: return addInstantiatesUriElement(); + case -332612366: return addBasedOn(); + case -430332865: return addReplaces(); + case -445338488: return getGroupIdentifier(); + case -892481550: return getStatusElement(); + case -1183762788: return getIntentElement(); + case -1165461084: return getPriorityElement(); + case 3059181: return getCode(); + case -1867885268: return getSubject(); + case 1524132147: return getEncounter(); + case -1500852503: return getAuthoredOnElement(); + case -1406328437: return getAuthor(); + case -934964668: return addReason(); + case 3178259: return addGoal(); + case 3387378: return addNote(); + case -1422950858: return addAction(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case 8911915: /*instantiatesCanonical*/ return new String[] {"canonical"}; + case -1926393373: /*instantiatesUri*/ return new String[] {"uri"}; + case -332612366: /*basedOn*/ return new String[] {"Reference"}; + case -430332865: /*replaces*/ return new String[] {"Reference"}; + case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; + case -892481550: /*status*/ return new String[] {"code"}; + case -1183762788: /*intent*/ return new String[] {"code"}; + case -1165461084: /*priority*/ return new String[] {"code"}; + case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case -1867885268: /*subject*/ return new String[] {"Reference"}; + case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; + case -1406328437: /*author*/ return new String[] {"Reference"}; + case -934964668: /*reason*/ return new String[] {"CodeableReference"}; + case 3178259: /*goal*/ return new String[] {"Reference"}; + case 3387378: /*note*/ return new String[] {"Annotation"}; + case -1422950858: /*action*/ return new String[] {}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("identifier")) { + return addIdentifier(); + } + else if (name.equals("instantiatesCanonical")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.instantiatesCanonical"); + } + else if (name.equals("instantiatesUri")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.instantiatesUri"); + } + else if (name.equals("basedOn")) { + return addBasedOn(); + } + else if (name.equals("replaces")) { + return addReplaces(); + } + else if (name.equals("groupIdentifier")) { + this.groupIdentifier = new Identifier(); + return this.groupIdentifier; + } + else if (name.equals("status")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.status"); + } + else if (name.equals("intent")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.intent"); + } + else if (name.equals("priority")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.priority"); + } + else if (name.equals("code")) { + this.code = new CodeableConcept(); + return this.code; + } + else if (name.equals("subject")) { + this.subject = new Reference(); + return this.subject; + } + else if (name.equals("encounter")) { + this.encounter = new Reference(); + return this.encounter; + } + else if (name.equals("authoredOn")) { + throw new FHIRException("Cannot call addChild on a primitive type RequestOrchestration.authoredOn"); + } + else if (name.equals("author")) { + this.author = new Reference(); + return this.author; + } + else if (name.equals("reason")) { + return addReason(); + } + else if (name.equals("goal")) { + return addGoal(); + } + else if (name.equals("note")) { + return addNote(); + } + else if (name.equals("action")) { + return addAction(); + } + else + return super.addChild(name); + } + + public String fhirType() { + return "RequestOrchestration"; + + } + + public RequestOrchestration copy() { + RequestOrchestration dst = new RequestOrchestration(); + copyValues(dst); + return dst; + } + + public void copyValues(RequestOrchestration dst) { + super.copyValues(dst); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; + if (instantiatesCanonical != null) { + dst.instantiatesCanonical = new ArrayList(); + for (CanonicalType i : instantiatesCanonical) + dst.instantiatesCanonical.add(i.copy()); + }; + if (instantiatesUri != null) { + dst.instantiatesUri = new ArrayList(); + for (UriType i : instantiatesUri) + dst.instantiatesUri.add(i.copy()); + }; + if (basedOn != null) { + dst.basedOn = new ArrayList(); + for (Reference i : basedOn) + dst.basedOn.add(i.copy()); + }; + if (replaces != null) { + dst.replaces = new ArrayList(); + for (Reference i : replaces) + dst.replaces.add(i.copy()); + }; + dst.groupIdentifier = groupIdentifier == null ? null : groupIdentifier.copy(); + dst.status = status == null ? null : status.copy(); + dst.intent = intent == null ? null : intent.copy(); + dst.priority = priority == null ? null : priority.copy(); + dst.code = code == null ? null : code.copy(); + dst.subject = subject == null ? null : subject.copy(); + dst.encounter = encounter == null ? null : encounter.copy(); + dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); + dst.author = author == null ? null : author.copy(); + if (reason != null) { + dst.reason = new ArrayList(); + for (CodeableReference i : reason) + dst.reason.add(i.copy()); + }; + if (goal != null) { + dst.goal = new ArrayList(); + for (Reference i : goal) + dst.goal.add(i.copy()); + }; + if (note != null) { + dst.note = new ArrayList(); + for (Annotation i : note) + dst.note.add(i.copy()); + }; + if (action != null) { + dst.action = new ArrayList(); + for (RequestOrchestrationActionComponent i : action) + dst.action.add(i.copy()); + }; + } + + protected RequestOrchestration typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequestOrchestration)) + return false; + RequestOrchestration o = (RequestOrchestration) other_; + return compareDeep(identifier, o.identifier, true) && compareDeep(instantiatesCanonical, o.instantiatesCanonical, true) + && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) + && compareDeep(replaces, o.replaces, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) + && compareDeep(status, o.status, true) && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) + && compareDeep(code, o.code, true) && compareDeep(subject, o.subject, true) && compareDeep(encounter, o.encounter, true) + && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(author, o.author, true) && compareDeep(reason, o.reason, true) + && compareDeep(goal, o.goal, true) && compareDeep(note, o.note, true) && compareDeep(action, o.action, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequestOrchestration)) + return false; + RequestOrchestration o = (RequestOrchestration) other_; + return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) + && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) + && compareValues(authoredOn, o.authoredOn, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical + , instantiatesUri, basedOn, replaces, groupIdentifier, status, intent, priority + , code, subject, encounter, authoredOn, author, reason, goal, note, action + ); + } + + @Override + public ResourceType getResourceType() { + return ResourceType.RequestOrchestration; + } + + /** + * Search parameter: author + *

+ * Description: The author of the request orchestration
+ * Type: reference
+ * Path: RequestOrchestration.author
+ *

+ */ + @SearchParamDefinition(name="author", path="RequestOrchestration.author", description="The author of the request orchestration", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Device.class, Practitioner.class, PractitionerRole.class } ) + public static final String SP_AUTHOR = "author"; + /** + * Fluent Client search parameter constant for author + *

+ * Description: The author of the request orchestration
+ * Type: reference
+ * Path: RequestOrchestration.author
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_AUTHOR); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "RequestOrchestration:author". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_AUTHOR = new ca.uhn.fhir.model.api.Include("RequestOrchestration:author").toLocked(); + + /** + * Search parameter: authored + *

+ * Description: The date the request orchestration was authored
+ * Type: date
+ * Path: RequestOrchestration.authoredOn
+ *

+ */ + @SearchParamDefinition(name="authored", path="RequestOrchestration.authoredOn", description="The date the request orchestration was authored", type="date" ) + public static final String SP_AUTHORED = "authored"; + /** + * Fluent Client search parameter constant for authored + *

+ * Description: The date the request orchestration was authored
+ * Type: date
+ * Path: RequestOrchestration.authoredOn
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam AUTHORED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_AUTHORED); + + /** + * Search parameter: code + *

+ * Description: The code of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.code
+ *

+ */ + @SearchParamDefinition(name="code", path="RequestOrchestration.code", description="The code of the request orchestration", type="token" ) + public static final String SP_CODE = "code"; + /** + * Fluent Client search parameter constant for code + *

+ * Description: The code of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.code
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); + + /** + * Search parameter: encounter + *

+ * Description: The encounter the request orchestration applies to
+ * Type: reference
+ * Path: RequestOrchestration.encounter
+ *

+ */ + @SearchParamDefinition(name="encounter", path="RequestOrchestration.encounter", description="The encounter the request orchestration applies to", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Encounter") }, target={Encounter.class } ) + public static final String SP_ENCOUNTER = "encounter"; + /** + * Fluent Client search parameter constant for encounter + *

+ * Description: The encounter the request orchestration applies to
+ * Type: reference
+ * Path: RequestOrchestration.encounter
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ENCOUNTER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ENCOUNTER); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "RequestOrchestration:encounter". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_ENCOUNTER = new ca.uhn.fhir.model.api.Include("RequestOrchestration:encounter").toLocked(); + + /** + * Search parameter: group-identifier + *

+ * Description: The group identifier for the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.groupIdentifier
+ *

+ */ + @SearchParamDefinition(name="group-identifier", path="RequestOrchestration.groupIdentifier", description="The group identifier for the request orchestration", type="token" ) + public static final String SP_GROUP_IDENTIFIER = "group-identifier"; + /** + * Fluent Client search parameter constant for group-identifier + *

+ * Description: The group identifier for the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.groupIdentifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam GROUP_IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_GROUP_IDENTIFIER); + + /** + * Search parameter: identifier + *

+ * Description: External identifiers for the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.identifier
+ *

+ */ + @SearchParamDefinition(name="identifier", path="RequestOrchestration.identifier", description="External identifiers for the request orchestration", type="token" ) + public static final String SP_IDENTIFIER = "identifier"; + /** + * Fluent Client search parameter constant for identifier + *

+ * Description: External identifiers for the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.identifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + + /** + * Search parameter: instantiates-canonical + *

+ * Description: The FHIR-based definition from which the request orchestration is realized
+ * Type: reference
+ * Path: RequestOrchestration.instantiatesCanonical
+ *

+ */ + @SearchParamDefinition(name="instantiates-canonical", path="RequestOrchestration.instantiatesCanonical", description="The FHIR-based definition from which the request orchestration is realized", type="reference" ) + public static final String SP_INSTANTIATES_CANONICAL = "instantiates-canonical"; + /** + * Fluent Client search parameter constant for instantiates-canonical + *

+ * Description: The FHIR-based definition from which the request orchestration is realized
+ * Type: reference
+ * Path: RequestOrchestration.instantiatesCanonical
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam INSTANTIATES_CANONICAL = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_INSTANTIATES_CANONICAL); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "RequestOrchestration:instantiates-canonical". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_INSTANTIATES_CANONICAL = new ca.uhn.fhir.model.api.Include("RequestOrchestration:instantiates-canonical").toLocked(); + + /** + * Search parameter: instantiates-uri + *

+ * Description: The external definition from which the request orchestration is realized
+ * Type: uri
+ * Path: RequestOrchestration.instantiatesUri
+ *

+ */ + @SearchParamDefinition(name="instantiates-uri", path="RequestOrchestration.instantiatesUri", description="The external definition from which the request orchestration is realized", type="uri" ) + public static final String SP_INSTANTIATES_URI = "instantiates-uri"; + /** + * Fluent Client search parameter constant for instantiates-uri + *

+ * Description: The external definition from which the request orchestration is realized
+ * Type: uri
+ * Path: RequestOrchestration.instantiatesUri
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.UriClientParam INSTANTIATES_URI = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_INSTANTIATES_URI); + + /** + * Search parameter: intent + *

+ * Description: The intent of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.intent
+ *

+ */ + @SearchParamDefinition(name="intent", path="RequestOrchestration.intent", description="The intent of the request orchestration", type="token" ) + public static final String SP_INTENT = "intent"; + /** + * Fluent Client search parameter constant for intent + *

+ * Description: The intent of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.intent
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam INTENT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_INTENT); + + /** + * Search parameter: participant + *

+ * Description: The participant in the requests in the orchestration
+ * Type: reference
+ * Path: RequestOrchestration.action.participant.actor
+ *

+ */ + @SearchParamDefinition(name="participant", path="RequestOrchestration.action.participant.actor", description="The participant in the requests in the orchestration", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for RelatedPerson") }, target={CapabilityStatement.class, CareTeam.class, Device.class, DeviceDefinition.class, Endpoint.class, Group.class, HealthcareService.class, Location.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class } ) + public static final String SP_PARTICIPANT = "participant"; + /** + * Fluent Client search parameter constant for participant + *

+ * Description: The participant in the requests in the orchestration
+ * Type: reference
+ * Path: RequestOrchestration.action.participant.actor
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PARTICIPANT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PARTICIPANT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "RequestOrchestration:participant". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTICIPANT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:participant").toLocked(); + + /** + * Search parameter: patient + *

+ * Description: The identity of a patient to search for request orchestrations
+ * Type: reference
+ * Path: RequestOrchestration.subject.where(resolve() is Patient)
+ *

+ */ + @SearchParamDefinition(name="patient", path="RequestOrchestration.subject.where(resolve() is Patient)", description="The identity of a patient to search for request orchestrations", type="reference", target={Patient.class } ) + public static final String SP_PATIENT = "patient"; + /** + * Fluent Client search parameter constant for patient + *

+ * Description: The identity of a patient to search for request orchestrations
+ * Type: reference
+ * Path: RequestOrchestration.subject.where(resolve() is Patient)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "RequestOrchestration:patient". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:patient").toLocked(); + + /** + * Search parameter: priority + *

+ * Description: The priority of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.priority
+ *

+ */ + @SearchParamDefinition(name="priority", path="RequestOrchestration.priority", description="The priority of the request orchestration", type="token" ) + public static final String SP_PRIORITY = "priority"; + /** + * Fluent Client search parameter constant for priority + *

+ * Description: The priority of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.priority
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam PRIORITY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PRIORITY); + + /** + * Search parameter: status + *

+ * Description: The status of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.status
+ *

+ */ + @SearchParamDefinition(name="status", path="RequestOrchestration.status", description="The status of the request orchestration", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The status of the request orchestration
+ * Type: token
+ * Path: RequestOrchestration.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + + /** + * Search parameter: subject + *

+ * Description: The subject that the request orchestration is about
+ * Type: reference
+ * Path: RequestOrchestration.subject
+ *

+ */ + @SearchParamDefinition(name="subject", path="RequestOrchestration.subject", description="The subject that the request orchestration is about", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Group.class, Patient.class } ) + public static final String SP_SUBJECT = "subject"; + /** + * Fluent Client search parameter constant for subject + *

+ * Description: The subject that the request orchestration is about
+ * Type: reference
+ * Path: RequestOrchestration.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "RequestOrchestration:subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("RequestOrchestration:subject").toLocked(); + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java new file mode 100644 index 000000000..c5438381c --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java @@ -0,0 +1,2831 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.ResourceDef; +import ca.uhn.fhir.model.api.annotation.SearchParamDefinition; +import org.hl7.fhir.instance.model.api.IBaseBackboneElement; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * The Requirements resource is used to describe an actor - a human or an application that plays a role in data exchange, and that may have obligations associated with the role the actor plays. + */ +@ResourceDef(name="Requirements", profile="http://hl7.org/fhir/StructureDefinition/Requirements") +public class Requirements extends CanonicalResource { + + public enum ConformanceExpectation { + /** + * Support for the specified capability is required to be considered conformant. + */ + SHALL, + /** + * Support for the specified capability is strongly encouraged, and failure to support it should only occur after careful consideration. + */ + SHOULD, + /** + * Support for the specified capability is not necessary to be considered conformant, and the requirement should be considered strictly optional. + */ + MAY, + /** + * Support for the specified capability is strongly discouraged and should occur only after careful consideration. + */ + SHOULDNOT, + /** + * added to help the parsers with the generic types + */ + NULL; + public static ConformanceExpectation fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("SHALL".equals(codeString)) + return SHALL; + if ("SHOULD".equals(codeString)) + return SHOULD; + if ("MAY".equals(codeString)) + return MAY; + if ("SHOULD-NOT".equals(codeString)) + return SHOULDNOT; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown ConformanceExpectation code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case SHALL: return "SHALL"; + case SHOULD: return "SHOULD"; + case MAY: return "MAY"; + case SHOULDNOT: return "SHOULD-NOT"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case SHALL: return "http://hl7.org/fhir/conformance-expectation"; + case SHOULD: return "http://hl7.org/fhir/conformance-expectation"; + case MAY: return "http://hl7.org/fhir/conformance-expectation"; + case SHOULDNOT: return "http://hl7.org/fhir/conformance-expectation"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case SHALL: return "Support for the specified capability is required to be considered conformant."; + case SHOULD: return "Support for the specified capability is strongly encouraged, and failure to support it should only occur after careful consideration."; + case MAY: return "Support for the specified capability is not necessary to be considered conformant, and the requirement should be considered strictly optional."; + case SHOULDNOT: return "Support for the specified capability is strongly discouraged and should occur only after careful consideration."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case SHALL: return "SHALL"; + case SHOULD: return "SHOULD"; + case MAY: return "MAY"; + case SHOULDNOT: return "SHOULD-NOT"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class ConformanceExpectationEnumFactory implements EnumFactory { + public ConformanceExpectation fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("SHALL".equals(codeString)) + return ConformanceExpectation.SHALL; + if ("SHOULD".equals(codeString)) + return ConformanceExpectation.SHOULD; + if ("MAY".equals(codeString)) + return ConformanceExpectation.MAY; + if ("SHOULD-NOT".equals(codeString)) + return ConformanceExpectation.SHOULDNOT; + throw new IllegalArgumentException("Unknown ConformanceExpectation code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("SHALL".equals(codeString)) + return new Enumeration(this, ConformanceExpectation.SHALL); + if ("SHOULD".equals(codeString)) + return new Enumeration(this, ConformanceExpectation.SHOULD); + if ("MAY".equals(codeString)) + return new Enumeration(this, ConformanceExpectation.MAY); + if ("SHOULD-NOT".equals(codeString)) + return new Enumeration(this, ConformanceExpectation.SHOULDNOT); + throw new FHIRException("Unknown ConformanceExpectation code '"+codeString+"'"); + } + public String toCode(ConformanceExpectation code) { + if (code == ConformanceExpectation.SHALL) + return "SHALL"; + if (code == ConformanceExpectation.SHOULD) + return "SHOULD"; + if (code == ConformanceExpectation.MAY) + return "MAY"; + if (code == ConformanceExpectation.SHOULDNOT) + return "SHOULD-NOT"; + return "?"; + } + public String toSystem(ConformanceExpectation code) { + return code.getSystem(); + } + } + + @Block() + public static class RequirementsStatementComponent extends BackboneElement implements IBaseBackboneElement { + /** + * Key that identifies this statement (unique within this resource). + */ + @Child(name = "key", type = {IdType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Key that identifies this statement", formalDefinition="Key that identifies this statement (unique within this resource)." ) + protected IdType key; + + /** + * A short human usable label for this statement. + */ + @Child(name = "label", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Short Human label for this statement", formalDefinition="A short human usable label for this statement." ) + protected StringType label; + + /** + * A short human usable label for this statement. + */ + @Child(name = "conformance", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="SHALL | SHOULD | MAY | SHOULD-NOT", formalDefinition="A short human usable label for this statement." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/conformance-expectation") + protected Enumeration conformance; + + /** + * The actual requirement for human consumption. + */ + @Child(name = "requirement", type = {MarkdownType.class}, order=4, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="The actual requirement", formalDefinition="The actual requirement for human consumption." ) + protected MarkdownType requirement; + + /** + * Another statement on one of the requirements that this requirement clarifies or restricts. + */ + @Child(name = "derivedFrom", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Another statement this clarifies/restricts ([url#]key)", formalDefinition="Another statement on one of the requirements that this requirement clarifies or restricts." ) + protected StringType derivedFrom; + + /** + * A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc. + */ + @Child(name = "satisfiedBy", type = {UrlType.class}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Design artifact that satisfies this requirement", formalDefinition="A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc." ) + protected List satisfiedBy; + + /** + * A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere. + */ + @Child(name = "reference", type = {UrlType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Design artifact that creates this requirement", formalDefinition="A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere." ) + protected List reference; + + /** + * Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters. + */ + @Child(name = "source", type = {Patient.class, RelatedPerson.class, Practitioner.class, Organization.class, CareTeam.class, Group.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who asked for this statement", formalDefinition="Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters." ) + protected List source; + + private static final long serialVersionUID = 456033856L; + + /** + * Constructor + */ + public RequirementsStatementComponent() { + super(); + } + + /** + * Constructor + */ + public RequirementsStatementComponent(String key, String requirement) { + super(); + this.setKey(key); + this.setRequirement(requirement); + } + + /** + * @return {@link #key} (Key that identifies this statement (unique within this resource).). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value + */ + public IdType getKeyElement() { + if (this.key == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequirementsStatementComponent.key"); + else if (Configuration.doAutoCreate()) + this.key = new IdType(); // bb + return this.key; + } + + public boolean hasKeyElement() { + return this.key != null && !this.key.isEmpty(); + } + + public boolean hasKey() { + return this.key != null && !this.key.isEmpty(); + } + + /** + * @param value {@link #key} (Key that identifies this statement (unique within this resource).). This is the underlying object with id, value and extensions. The accessor "getKey" gives direct access to the value + */ + public RequirementsStatementComponent setKeyElement(IdType value) { + this.key = value; + return this; + } + + /** + * @return Key that identifies this statement (unique within this resource). + */ + public String getKey() { + return this.key == null ? null : this.key.getValue(); + } + + /** + * @param value Key that identifies this statement (unique within this resource). + */ + public RequirementsStatementComponent setKey(String value) { + if (this.key == null) + this.key = new IdType(); + this.key.setValue(value); + return this; + } + + /** + * @return {@link #label} (A short human usable label for this statement.). This is the underlying object with id, value and extensions. The accessor "getLabel" gives direct access to the value + */ + public StringType getLabelElement() { + if (this.label == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequirementsStatementComponent.label"); + else if (Configuration.doAutoCreate()) + this.label = new StringType(); // bb + return this.label; + } + + public boolean hasLabelElement() { + return this.label != null && !this.label.isEmpty(); + } + + public boolean hasLabel() { + return this.label != null && !this.label.isEmpty(); + } + + /** + * @param value {@link #label} (A short human usable label for this statement.). This is the underlying object with id, value and extensions. The accessor "getLabel" gives direct access to the value + */ + public RequirementsStatementComponent setLabelElement(StringType value) { + this.label = value; + return this; + } + + /** + * @return A short human usable label for this statement. + */ + public String getLabel() { + return this.label == null ? null : this.label.getValue(); + } + + /** + * @param value A short human usable label for this statement. + */ + public RequirementsStatementComponent setLabel(String value) { + if (Utilities.noString(value)) + this.label = null; + else { + if (this.label == null) + this.label = new StringType(); + this.label.setValue(value); + } + return this; + } + + /** + * @return {@link #conformance} (A short human usable label for this statement.). This is the underlying object with id, value and extensions. The accessor "getConformance" gives direct access to the value + */ + public Enumeration getConformanceElement() { + if (this.conformance == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequirementsStatementComponent.conformance"); + else if (Configuration.doAutoCreate()) + this.conformance = new Enumeration(new ConformanceExpectationEnumFactory()); // bb + return this.conformance; + } + + public boolean hasConformanceElement() { + return this.conformance != null && !this.conformance.isEmpty(); + } + + public boolean hasConformance() { + return this.conformance != null && !this.conformance.isEmpty(); + } + + /** + * @param value {@link #conformance} (A short human usable label for this statement.). This is the underlying object with id, value and extensions. The accessor "getConformance" gives direct access to the value + */ + public RequirementsStatementComponent setConformanceElement(Enumeration value) { + this.conformance = value; + return this; + } + + /** + * @return A short human usable label for this statement. + */ + public ConformanceExpectation getConformance() { + return this.conformance == null ? null : this.conformance.getValue(); + } + + /** + * @param value A short human usable label for this statement. + */ + public RequirementsStatementComponent setConformance(ConformanceExpectation value) { + if (value == null) + this.conformance = null; + else { + if (this.conformance == null) + this.conformance = new Enumeration(new ConformanceExpectationEnumFactory()); + this.conformance.setValue(value); + } + return this; + } + + /** + * @return {@link #requirement} (The actual requirement for human consumption.). This is the underlying object with id, value and extensions. The accessor "getRequirement" gives direct access to the value + */ + public MarkdownType getRequirementElement() { + if (this.requirement == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequirementsStatementComponent.requirement"); + else if (Configuration.doAutoCreate()) + this.requirement = new MarkdownType(); // bb + return this.requirement; + } + + public boolean hasRequirementElement() { + return this.requirement != null && !this.requirement.isEmpty(); + } + + public boolean hasRequirement() { + return this.requirement != null && !this.requirement.isEmpty(); + } + + /** + * @param value {@link #requirement} (The actual requirement for human consumption.). This is the underlying object with id, value and extensions. The accessor "getRequirement" gives direct access to the value + */ + public RequirementsStatementComponent setRequirementElement(MarkdownType value) { + this.requirement = value; + return this; + } + + /** + * @return The actual requirement for human consumption. + */ + public String getRequirement() { + return this.requirement == null ? null : this.requirement.getValue(); + } + + /** + * @param value The actual requirement for human consumption. + */ + public RequirementsStatementComponent setRequirement(String value) { + if (this.requirement == null) + this.requirement = new MarkdownType(); + this.requirement.setValue(value); + return this; + } + + /** + * @return {@link #derivedFrom} (Another statement on one of the requirements that this requirement clarifies or restricts.). This is the underlying object with id, value and extensions. The accessor "getDerivedFrom" gives direct access to the value + */ + public StringType getDerivedFromElement() { + if (this.derivedFrom == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create RequirementsStatementComponent.derivedFrom"); + else if (Configuration.doAutoCreate()) + this.derivedFrom = new StringType(); // bb + return this.derivedFrom; + } + + public boolean hasDerivedFromElement() { + return this.derivedFrom != null && !this.derivedFrom.isEmpty(); + } + + public boolean hasDerivedFrom() { + return this.derivedFrom != null && !this.derivedFrom.isEmpty(); + } + + /** + * @param value {@link #derivedFrom} (Another statement on one of the requirements that this requirement clarifies or restricts.). This is the underlying object with id, value and extensions. The accessor "getDerivedFrom" gives direct access to the value + */ + public RequirementsStatementComponent setDerivedFromElement(StringType value) { + this.derivedFrom = value; + return this; + } + + /** + * @return Another statement on one of the requirements that this requirement clarifies or restricts. + */ + public String getDerivedFrom() { + return this.derivedFrom == null ? null : this.derivedFrom.getValue(); + } + + /** + * @param value Another statement on one of the requirements that this requirement clarifies or restricts. + */ + public RequirementsStatementComponent setDerivedFrom(String value) { + if (Utilities.noString(value)) + this.derivedFrom = null; + else { + if (this.derivedFrom == null) + this.derivedFrom = new StringType(); + this.derivedFrom.setValue(value); + } + return this; + } + + /** + * @return {@link #satisfiedBy} (A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.) + */ + public List getSatisfiedBy() { + if (this.satisfiedBy == null) + this.satisfiedBy = new ArrayList(); + return this.satisfiedBy; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequirementsStatementComponent setSatisfiedBy(List theSatisfiedBy) { + this.satisfiedBy = theSatisfiedBy; + return this; + } + + public boolean hasSatisfiedBy() { + if (this.satisfiedBy == null) + return false; + for (UrlType item : this.satisfiedBy) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #satisfiedBy} (A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.) + */ + public UrlType addSatisfiedByElement() {//2 + UrlType t = new UrlType(); + if (this.satisfiedBy == null) + this.satisfiedBy = new ArrayList(); + this.satisfiedBy.add(t); + return t; + } + + /** + * @param value {@link #satisfiedBy} (A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.) + */ + public RequirementsStatementComponent addSatisfiedBy(String value) { //1 + UrlType t = new UrlType(); + t.setValue(value); + if (this.satisfiedBy == null) + this.satisfiedBy = new ArrayList(); + this.satisfiedBy.add(t); + return this; + } + + /** + * @param value {@link #satisfiedBy} (A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.) + */ + public boolean hasSatisfiedBy(String value) { + if (this.satisfiedBy == null) + return false; + for (UrlType v : this.satisfiedBy) + if (v.getValue().equals(value)) // url + return true; + return false; + } + + /** + * @return {@link #reference} (A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.) + */ + public List getReference() { + if (this.reference == null) + this.reference = new ArrayList(); + return this.reference; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequirementsStatementComponent setReference(List theReference) { + this.reference = theReference; + return this; + } + + public boolean hasReference() { + if (this.reference == null) + return false; + for (UrlType item : this.reference) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #reference} (A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.) + */ + public UrlType addReferenceElement() {//2 + UrlType t = new UrlType(); + if (this.reference == null) + this.reference = new ArrayList(); + this.reference.add(t); + return t; + } + + /** + * @param value {@link #reference} (A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.) + */ + public RequirementsStatementComponent addReference(String value) { //1 + UrlType t = new UrlType(); + t.setValue(value); + if (this.reference == null) + this.reference = new ArrayList(); + this.reference.add(t); + return this; + } + + /** + * @param value {@link #reference} (A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.) + */ + public boolean hasReference(String value) { + if (this.reference == null) + return false; + for (UrlType v : this.reference) + if (v.getValue().equals(value)) // url + return true; + return false; + } + + /** + * @return {@link #source} (Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.) + */ + public List getSource() { + if (this.source == null) + this.source = new ArrayList(); + return this.source; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public RequirementsStatementComponent setSource(List theSource) { + this.source = theSource; + return this; + } + + public boolean hasSource() { + if (this.source == null) + return false; + for (Reference item : this.source) + if (!item.isEmpty()) + return true; + return false; + } + + public Reference addSource() { //3 + Reference t = new Reference(); + if (this.source == null) + this.source = new ArrayList(); + this.source.add(t); + return t; + } + + public RequirementsStatementComponent addSource(Reference t) { //3 + if (t == null) + return this; + if (this.source == null) + this.source = new ArrayList(); + this.source.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #source}, creating it if it does not already exist {3} + */ + public Reference getSourceFirstRep() { + if (getSource().isEmpty()) { + addSource(); + } + return getSource().get(0); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("key", "id", "Key that identifies this statement (unique within this resource).", 0, 1, key)); + children.add(new Property("label", "string", "A short human usable label for this statement.", 0, 1, label)); + children.add(new Property("conformance", "code", "A short human usable label for this statement.", 0, 1, conformance)); + children.add(new Property("requirement", "markdown", "The actual requirement for human consumption.", 0, 1, requirement)); + children.add(new Property("derivedFrom", "string", "Another statement on one of the requirements that this requirement clarifies or restricts.", 0, 1, derivedFrom)); + children.add(new Property("satisfiedBy", "url", "A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.", 0, java.lang.Integer.MAX_VALUE, satisfiedBy)); + children.add(new Property("reference", "url", "A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.", 0, java.lang.Integer.MAX_VALUE, reference)); + children.add(new Property("source", "Reference(Patient|RelatedPerson|Practitioner|Organization|CareTeam|Group)", "Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.", 0, java.lang.Integer.MAX_VALUE, source)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 106079: /*key*/ return new Property("key", "id", "Key that identifies this statement (unique within this resource).", 0, 1, key); + case 102727412: /*label*/ return new Property("label", "string", "A short human usable label for this statement.", 0, 1, label); + case 1374858133: /*conformance*/ return new Property("conformance", "code", "A short human usable label for this statement.", 0, 1, conformance); + case 363387971: /*requirement*/ return new Property("requirement", "markdown", "The actual requirement for human consumption.", 0, 1, requirement); + case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "string", "Another statement on one of the requirements that this requirement clarifies or restricts.", 0, 1, derivedFrom); + case -1268787159: /*satisfiedBy*/ return new Property("satisfiedBy", "url", "A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.", 0, java.lang.Integer.MAX_VALUE, satisfiedBy); + case -925155509: /*reference*/ return new Property("reference", "url", "A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.", 0, java.lang.Integer.MAX_VALUE, reference); + case -896505829: /*source*/ return new Property("source", "Reference(Patient|RelatedPerson|Practitioner|Organization|CareTeam|Group)", "Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.", 0, java.lang.Integer.MAX_VALUE, source); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // IdType + case 102727412: /*label*/ return this.label == null ? new Base[0] : new Base[] {this.label}; // StringType + case 1374858133: /*conformance*/ return this.conformance == null ? new Base[0] : new Base[] {this.conformance}; // Enumeration + case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // MarkdownType + case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : new Base[] {this.derivedFrom}; // StringType + case -1268787159: /*satisfiedBy*/ return this.satisfiedBy == null ? new Base[0] : this.satisfiedBy.toArray(new Base[this.satisfiedBy.size()]); // UrlType + case -925155509: /*reference*/ return this.reference == null ? new Base[0] : this.reference.toArray(new Base[this.reference.size()]); // UrlType + case -896505829: /*source*/ return this.source == null ? new Base[0] : this.source.toArray(new Base[this.source.size()]); // Reference + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 106079: // key + this.key = TypeConvertor.castToId(value); // IdType + return value; + case 102727412: // label + this.label = TypeConvertor.castToString(value); // StringType + return value; + case 1374858133: // conformance + value = new ConformanceExpectationEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.conformance = (Enumeration) value; // Enumeration + return value; + case 363387971: // requirement + this.requirement = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 1077922663: // derivedFrom + this.derivedFrom = TypeConvertor.castToString(value); // StringType + return value; + case -1268787159: // satisfiedBy + this.getSatisfiedBy().add(TypeConvertor.castToUrl(value)); // UrlType + return value; + case -925155509: // reference + this.getReference().add(TypeConvertor.castToUrl(value)); // UrlType + return value; + case -896505829: // source + this.getSource().add(TypeConvertor.castToReference(value)); // Reference + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("key")) { + this.key = TypeConvertor.castToId(value); // IdType + } else if (name.equals("label")) { + this.label = TypeConvertor.castToString(value); // StringType + } else if (name.equals("conformance")) { + value = new ConformanceExpectationEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.conformance = (Enumeration) value; // Enumeration + } else if (name.equals("requirement")) { + this.requirement = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("derivedFrom")) { + this.derivedFrom = TypeConvertor.castToString(value); // StringType + } else if (name.equals("satisfiedBy")) { + this.getSatisfiedBy().add(TypeConvertor.castToUrl(value)); + } else if (name.equals("reference")) { + this.getReference().add(TypeConvertor.castToUrl(value)); + } else if (name.equals("source")) { + this.getSource().add(TypeConvertor.castToReference(value)); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 106079: return getKeyElement(); + case 102727412: return getLabelElement(); + case 1374858133: return getConformanceElement(); + case 363387971: return getRequirementElement(); + case 1077922663: return getDerivedFromElement(); + case -1268787159: return addSatisfiedByElement(); + case -925155509: return addReferenceElement(); + case -896505829: return addSource(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 106079: /*key*/ return new String[] {"id"}; + case 102727412: /*label*/ return new String[] {"string"}; + case 1374858133: /*conformance*/ return new String[] {"code"}; + case 363387971: /*requirement*/ return new String[] {"markdown"}; + case 1077922663: /*derivedFrom*/ return new String[] {"string"}; + case -1268787159: /*satisfiedBy*/ return new String[] {"url"}; + case -925155509: /*reference*/ return new String[] {"url"}; + case -896505829: /*source*/ return new String[] {"Reference"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("key")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.key"); + } + else if (name.equals("label")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.label"); + } + else if (name.equals("conformance")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.conformance"); + } + else if (name.equals("requirement")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.requirement"); + } + else if (name.equals("derivedFrom")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.derivedFrom"); + } + else if (name.equals("satisfiedBy")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.satisfiedBy"); + } + else if (name.equals("reference")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.statement.reference"); + } + else if (name.equals("source")) { + return addSource(); + } + else + return super.addChild(name); + } + + public RequirementsStatementComponent copy() { + RequirementsStatementComponent dst = new RequirementsStatementComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(RequirementsStatementComponent dst) { + super.copyValues(dst); + dst.key = key == null ? null : key.copy(); + dst.label = label == null ? null : label.copy(); + dst.conformance = conformance == null ? null : conformance.copy(); + dst.requirement = requirement == null ? null : requirement.copy(); + dst.derivedFrom = derivedFrom == null ? null : derivedFrom.copy(); + if (satisfiedBy != null) { + dst.satisfiedBy = new ArrayList(); + for (UrlType i : satisfiedBy) + dst.satisfiedBy.add(i.copy()); + }; + if (reference != null) { + dst.reference = new ArrayList(); + for (UrlType i : reference) + dst.reference.add(i.copy()); + }; + if (source != null) { + dst.source = new ArrayList(); + for (Reference i : source) + dst.source.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof RequirementsStatementComponent)) + return false; + RequirementsStatementComponent o = (RequirementsStatementComponent) other_; + return compareDeep(key, o.key, true) && compareDeep(label, o.label, true) && compareDeep(conformance, o.conformance, true) + && compareDeep(requirement, o.requirement, true) && compareDeep(derivedFrom, o.derivedFrom, true) + && compareDeep(satisfiedBy, o.satisfiedBy, true) && compareDeep(reference, o.reference, true) && compareDeep(source, o.source, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof RequirementsStatementComponent)) + return false; + RequirementsStatementComponent o = (RequirementsStatementComponent) other_; + return compareValues(key, o.key, true) && compareValues(label, o.label, true) && compareValues(conformance, o.conformance, true) + && compareValues(requirement, o.requirement, true) && compareValues(derivedFrom, o.derivedFrom, true) + && compareValues(satisfiedBy, o.satisfiedBy, true) && compareValues(reference, o.reference, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(key, label, conformance + , requirement, derivedFrom, satisfiedBy, reference, source); + } + + public String fhirType() { + return "Requirements.statement"; + + } + + } + + /** + * An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers. + */ + @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Canonical identifier for this Requirements, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers." ) + protected UriType url; + + /** + * A formal identifier that is used to identify this Requirements when it is represented in other formats, or referenced in a specification, model, design or an instance. + */ + @Child(name = "identifier", type = {Identifier.class}, order=1, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Additional identifier for the Requirements (business identifier)", formalDefinition="A formal identifier that is used to identify this Requirements when it is represented in other formats, or referenced in a specification, model, design or an instance." ) + protected List identifier; + + /** + * The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. + */ + @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Business version of the Requirements", formalDefinition="The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) + protected StringType version; + + /** + * A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + @Child(name = "name", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this Requirements (computer friendly)", formalDefinition="A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) + protected StringType name; + + /** + * A short, descriptive, user-friendly title for the Requirements. + */ + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name for this Requirements (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the Requirements." ) + protected StringType title; + + /** + * The status of this Requirements. Enables tracking the life-cycle of the content. + */ + @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this Requirements. Enables tracking the life-cycle of the content." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") + protected Enumeration status; + + /** + * A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) + protected BooleanType experimental; + + /** + * The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes. + */ + @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes." ) + protected DateTimeType date; + + /** + * The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements. + */ + @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements." ) + protected StringType publisher; + + /** + * Contact details to assist a user in finding and communicating with the publisher. + */ + @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) + protected List contact; + + /** + * A free text natural language description of the actor. + */ + @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Natural language description of the actor", formalDefinition="A free text natural language description of the actor." ) + protected MarkdownType description; + + /** + * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Requirements instances. + */ + @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Requirements instances." ) + protected List useContext; + + /** + * A legal or geographic region in which the Requirements is intended to be used. + */ + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Intended jurisdiction for Requirements (if applicable)", formalDefinition="A legal or geographic region in which the Requirements is intended to be used." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") + protected List jurisdiction; + + /** + * Explanation of why this Requirements is needed and why it has been designed as it has. + */ + @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Why this Requirements is defined", formalDefinition="Explanation of why this Requirements is needed and why it has been designed as it has." ) + protected MarkdownType purpose; + + /** + * A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements. + */ + @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements." ) + protected MarkdownType copyright; + + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + + /** + * Another set of Requirements that this set of Requirements builds on and updates. + */ + @Child(name = "derivedFrom", type = {CanonicalType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Other set of Requirements this builds on", formalDefinition="Another set of Requirements that this set of Requirements builds on and updates." ) + protected List derivedFrom; + + /** + * An actor these requirements are in regard to. + */ + @Child(name = "actor", type = {CanonicalType.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Actor for these requirements", formalDefinition="An actor these requirements are in regard to." ) + protected List actor; + + /** + * A statement of requirements. + */ + @Child(name = "statement", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Statement of requirements", formalDefinition="A statement of requirements." ) + protected List statement; + + private static final long serialVersionUID = -173486958L; + + /** + * Constructor + */ + public Requirements() { + super(); + } + + /** + * Constructor + */ + public Requirements(PublicationStatus status) { + super(); + this.setStatus(status); + } + + /** + * @return {@link #url} (An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + */ + public UriType getUrlElement() { + if (this.url == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.url"); + else if (Configuration.doAutoCreate()) + this.url = new UriType(); // bb + return this.url; + } + + public boolean hasUrlElement() { + return this.url != null && !this.url.isEmpty(); + } + + public boolean hasUrl() { + return this.url != null && !this.url.isEmpty(); + } + + /** + * @param value {@link #url} (An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + */ + public Requirements setUrlElement(UriType value) { + this.url = value; + return this; + } + + /** + * @return An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers. + */ + public String getUrl() { + return this.url == null ? null : this.url.getValue(); + } + + /** + * @param value An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers. + */ + public Requirements setUrl(String value) { + if (Utilities.noString(value)) + this.url = null; + else { + if (this.url == null) + this.url = new UriType(); + this.url.setValue(value); + } + return this; + } + + /** + * @return {@link #identifier} (A formal identifier that is used to identify this Requirements when it is represented in other formats, or referenced in a specification, model, design or an instance.) + */ + public List getIdentifier() { + if (this.identifier == null) + this.identifier = new ArrayList(); + return this.identifier; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setIdentifier(List theIdentifier) { + this.identifier = theIdentifier; + return this; + } + + public boolean hasIdentifier() { + if (this.identifier == null) + return false; + for (Identifier item : this.identifier) + if (!item.isEmpty()) + return true; + return false; + } + + public Identifier addIdentifier() { //3 + Identifier t = new Identifier(); + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return t; + } + + public Requirements addIdentifier(Identifier t) { //3 + if (t == null) + return this; + if (this.identifier == null) + this.identifier = new ArrayList(); + this.identifier.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (getIdentifier().isEmpty()) { + addIdentifier(); + } + return getIdentifier().get(0); + } + + /** + * @return {@link #version} (The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value + */ + public StringType getVersionElement() { + if (this.version == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.version"); + else if (Configuration.doAutoCreate()) + this.version = new StringType(); // bb + return this.version; + } + + public boolean hasVersionElement() { + return this.version != null && !this.version.isEmpty(); + } + + public boolean hasVersion() { + return this.version != null && !this.version.isEmpty(); + } + + /** + * @param value {@link #version} (The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value + */ + public Requirements setVersionElement(StringType value) { + this.version = value; + return this; + } + + /** + * @return The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. + */ + public String getVersion() { + return this.version == null ? null : this.version.getValue(); + } + + /** + * @param value The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence. + */ + public Requirements setVersion(String value) { + if (Utilities.noString(value)) + this.version = null; + else { + if (this.version == null) + this.version = new StringType(); + this.version.setValue(value); + } + return this; + } + + /** + * @return {@link #name} (A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public StringType getNameElement() { + if (this.name == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.name"); + else if (Configuration.doAutoCreate()) + this.name = new StringType(); // bb + return this.name; + } + + public boolean hasNameElement() { + return this.name != null && !this.name.isEmpty(); + } + + public boolean hasName() { + return this.name != null && !this.name.isEmpty(); + } + + /** + * @param value {@link #name} (A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public Requirements setNameElement(StringType value) { + this.name = value; + return this; + } + + /** + * @return A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public String getName() { + return this.name == null ? null : this.name.getValue(); + } + + /** + * @param value A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public Requirements setName(String value) { + if (Utilities.noString(value)) + this.name = null; + else { + if (this.name == null) + this.name = new StringType(); + this.name.setValue(value); + } + return this; + } + + /** + * @return {@link #title} (A short, descriptive, user-friendly title for the Requirements.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public StringType getTitleElement() { + if (this.title == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.title"); + else if (Configuration.doAutoCreate()) + this.title = new StringType(); // bb + return this.title; + } + + public boolean hasTitleElement() { + return this.title != null && !this.title.isEmpty(); + } + + public boolean hasTitle() { + return this.title != null && !this.title.isEmpty(); + } + + /** + * @param value {@link #title} (A short, descriptive, user-friendly title for the Requirements.). This is the underlying object with id, value and extensions. The accessor "getTitle" gives direct access to the value + */ + public Requirements setTitleElement(StringType value) { + this.title = value; + return this; + } + + /** + * @return A short, descriptive, user-friendly title for the Requirements. + */ + public String getTitle() { + return this.title == null ? null : this.title.getValue(); + } + + /** + * @param value A short, descriptive, user-friendly title for the Requirements. + */ + public Requirements setTitle(String value) { + if (Utilities.noString(value)) + this.title = null; + else { + if (this.title == null) + this.title = new StringType(); + this.title.setValue(value); + } + return this; + } + + /** + * @return {@link #status} (The status of this Requirements. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + */ + public Enumeration getStatusElement() { + if (this.status == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.status"); + else if (Configuration.doAutoCreate()) + this.status = new Enumeration(new PublicationStatusEnumFactory()); // bb + return this.status; + } + + public boolean hasStatusElement() { + return this.status != null && !this.status.isEmpty(); + } + + public boolean hasStatus() { + return this.status != null && !this.status.isEmpty(); + } + + /** + * @param value {@link #status} (The status of this Requirements. Enables tracking the life-cycle of the content.). This is the underlying object with id, value and extensions. The accessor "getStatus" gives direct access to the value + */ + public Requirements setStatusElement(Enumeration value) { + this.status = value; + return this; + } + + /** + * @return The status of this Requirements. Enables tracking the life-cycle of the content. + */ + public PublicationStatus getStatus() { + return this.status == null ? null : this.status.getValue(); + } + + /** + * @param value The status of this Requirements. Enables tracking the life-cycle of the content. + */ + public Requirements setStatus(PublicationStatus value) { + if (this.status == null) + this.status = new Enumeration(new PublicationStatusEnumFactory()); + this.status.setValue(value); + return this; + } + + /** + * @return {@link #experimental} (A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value + */ + public BooleanType getExperimentalElement() { + if (this.experimental == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.experimental"); + else if (Configuration.doAutoCreate()) + this.experimental = new BooleanType(); // bb + return this.experimental; + } + + public boolean hasExperimentalElement() { + return this.experimental != null && !this.experimental.isEmpty(); + } + + public boolean hasExperimental() { + return this.experimental != null && !this.experimental.isEmpty(); + } + + /** + * @param value {@link #experimental} (A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.). This is the underlying object with id, value and extensions. The accessor "getExperimental" gives direct access to the value + */ + public Requirements setExperimentalElement(BooleanType value) { + this.experimental = value; + return this; + } + + /** + * @return A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + public boolean getExperimental() { + return this.experimental == null || this.experimental.isEmpty() ? false : this.experimental.getValue(); + } + + /** + * @param value A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. + */ + public Requirements setExperimental(boolean value) { + if (this.experimental == null) + this.experimental = new BooleanType(); + this.experimental.setValue(value); + return this; + } + + /** + * @return {@link #date} (The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + */ + public DateTimeType getDateElement() { + if (this.date == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.date"); + else if (Configuration.doAutoCreate()) + this.date = new DateTimeType(); // bb + return this.date; + } + + public boolean hasDateElement() { + return this.date != null && !this.date.isEmpty(); + } + + public boolean hasDate() { + return this.date != null && !this.date.isEmpty(); + } + + /** + * @param value {@link #date} (The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes.). This is the underlying object with id, value and extensions. The accessor "getDate" gives direct access to the value + */ + public Requirements setDateElement(DateTimeType value) { + this.date = value; + return this; + } + + /** + * @return The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes. + */ + public Date getDate() { + return this.date == null ? null : this.date.getValue(); + } + + /** + * @param value The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes. + */ + public Requirements setDate(Date value) { + if (value == null) + this.date = null; + else { + if (this.date == null) + this.date = new DateTimeType(); + this.date.setValue(value); + } + return this; + } + + /** + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + */ + public StringType getPublisherElement() { + if (this.publisher == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.publisher"); + else if (Configuration.doAutoCreate()) + this.publisher = new StringType(); // bb + return this.publisher; + } + + public boolean hasPublisherElement() { + return this.publisher != null && !this.publisher.isEmpty(); + } + + public boolean hasPublisher() { + return this.publisher != null && !this.publisher.isEmpty(); + } + + /** + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + */ + public Requirements setPublisherElement(StringType value) { + this.publisher = value; + return this; + } + + /** + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements. + */ + public String getPublisher() { + return this.publisher == null ? null : this.publisher.getValue(); + } + + /** + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements. + */ + public Requirements setPublisher(String value) { + if (Utilities.noString(value)) + this.publisher = null; + else { + if (this.publisher == null) + this.publisher = new StringType(); + this.publisher.setValue(value); + } + return this; + } + + /** + * @return {@link #contact} (Contact details to assist a user in finding and communicating with the publisher.) + */ + public List getContact() { + if (this.contact == null) + this.contact = new ArrayList(); + return this.contact; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setContact(List theContact) { + this.contact = theContact; + return this; + } + + public boolean hasContact() { + if (this.contact == null) + return false; + for (ContactDetail item : this.contact) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addContact() { //3 + ContactDetail t = new ContactDetail(); + if (this.contact == null) + this.contact = new ArrayList(); + this.contact.add(t); + return t; + } + + public Requirements addContact(ContactDetail t) { //3 + if (t == null) + return this; + if (this.contact == null) + this.contact = new ArrayList(); + this.contact.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} + */ + public ContactDetail getContactFirstRep() { + if (getContact().isEmpty()) { + addContact(); + } + return getContact().get(0); + } + + /** + * @return {@link #description} (A free text natural language description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public MarkdownType getDescriptionElement() { + if (this.description == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.description"); + else if (Configuration.doAutoCreate()) + this.description = new MarkdownType(); // bb + return this.description; + } + + public boolean hasDescriptionElement() { + return this.description != null && !this.description.isEmpty(); + } + + public boolean hasDescription() { + return this.description != null && !this.description.isEmpty(); + } + + /** + * @param value {@link #description} (A free text natural language description of the actor.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + */ + public Requirements setDescriptionElement(MarkdownType value) { + this.description = value; + return this; + } + + /** + * @return A free text natural language description of the actor. + */ + public String getDescription() { + return this.description == null ? null : this.description.getValue(); + } + + /** + * @param value A free text natural language description of the actor. + */ + public Requirements setDescription(String value) { + if (value == null) + this.description = null; + else { + if (this.description == null) + this.description = new MarkdownType(); + this.description.setValue(value); + } + return this; + } + + /** + * @return {@link #useContext} (The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Requirements instances.) + */ + public List getUseContext() { + if (this.useContext == null) + this.useContext = new ArrayList(); + return this.useContext; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setUseContext(List theUseContext) { + this.useContext = theUseContext; + return this; + } + + public boolean hasUseContext() { + if (this.useContext == null) + return false; + for (UsageContext item : this.useContext) + if (!item.isEmpty()) + return true; + return false; + } + + public UsageContext addUseContext() { //3 + UsageContext t = new UsageContext(); + if (this.useContext == null) + this.useContext = new ArrayList(); + this.useContext.add(t); + return t; + } + + public Requirements addUseContext(UsageContext t) { //3 + if (t == null) + return this; + if (this.useContext == null) + this.useContext = new ArrayList(); + this.useContext.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #useContext}, creating it if it does not already exist {3} + */ + public UsageContext getUseContextFirstRep() { + if (getUseContext().isEmpty()) { + addUseContext(); + } + return getUseContext().get(0); + } + + /** + * @return {@link #jurisdiction} (A legal or geographic region in which the Requirements is intended to be used.) + */ + public List getJurisdiction() { + if (this.jurisdiction == null) + this.jurisdiction = new ArrayList(); + return this.jurisdiction; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setJurisdiction(List theJurisdiction) { + this.jurisdiction = theJurisdiction; + return this; + } + + public boolean hasJurisdiction() { + if (this.jurisdiction == null) + return false; + for (CodeableConcept item : this.jurisdiction) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addJurisdiction() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.jurisdiction == null) + this.jurisdiction = new ArrayList(); + this.jurisdiction.add(t); + return t; + } + + public Requirements addJurisdiction(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.jurisdiction == null) + this.jurisdiction = new ArrayList(); + this.jurisdiction.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #jurisdiction}, creating it if it does not already exist {3} + */ + public CodeableConcept getJurisdictionFirstRep() { + if (getJurisdiction().isEmpty()) { + addJurisdiction(); + } + return getJurisdiction().get(0); + } + + /** + * @return {@link #purpose} (Explanation of why this Requirements is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public MarkdownType getPurposeElement() { + if (this.purpose == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.purpose"); + else if (Configuration.doAutoCreate()) + this.purpose = new MarkdownType(); // bb + return this.purpose; + } + + public boolean hasPurposeElement() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + public boolean hasPurpose() { + return this.purpose != null && !this.purpose.isEmpty(); + } + + /** + * @param value {@link #purpose} (Explanation of why this Requirements is needed and why it has been designed as it has.). This is the underlying object with id, value and extensions. The accessor "getPurpose" gives direct access to the value + */ + public Requirements setPurposeElement(MarkdownType value) { + this.purpose = value; + return this; + } + + /** + * @return Explanation of why this Requirements is needed and why it has been designed as it has. + */ + public String getPurpose() { + return this.purpose == null ? null : this.purpose.getValue(); + } + + /** + * @param value Explanation of why this Requirements is needed and why it has been designed as it has. + */ + public Requirements setPurpose(String value) { + if (value == null) + this.purpose = null; + else { + if (this.purpose == null) + this.purpose = new MarkdownType(); + this.purpose.setValue(value); + } + return this; + } + + /** + * @return {@link #copyright} (A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public MarkdownType getCopyrightElement() { + if (this.copyright == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.copyright"); + else if (Configuration.doAutoCreate()) + this.copyright = new MarkdownType(); // bb + return this.copyright; + } + + public boolean hasCopyrightElement() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + public boolean hasCopyright() { + return this.copyright != null && !this.copyright.isEmpty(); + } + + /** + * @param value {@link #copyright} (A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + */ + public Requirements setCopyrightElement(MarkdownType value) { + this.copyright = value; + return this; + } + + /** + * @return A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements. + */ + public String getCopyright() { + return this.copyright == null ? null : this.copyright.getValue(); + } + + /** + * @param value A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements. + */ + public Requirements setCopyright(String value) { + if (value == null) + this.copyright = null; + else { + if (this.copyright == null) + this.copyright = new MarkdownType(); + this.copyright.setValue(value); + } + return this; + } + + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Requirements.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public Requirements setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public Requirements setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + + /** + * @return {@link #derivedFrom} (Another set of Requirements that this set of Requirements builds on and updates.) + */ + public List getDerivedFrom() { + if (this.derivedFrom == null) + this.derivedFrom = new ArrayList(); + return this.derivedFrom; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setDerivedFrom(List theDerivedFrom) { + this.derivedFrom = theDerivedFrom; + return this; + } + + public boolean hasDerivedFrom() { + if (this.derivedFrom == null) + return false; + for (CanonicalType item : this.derivedFrom) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #derivedFrom} (Another set of Requirements that this set of Requirements builds on and updates.) + */ + public CanonicalType addDerivedFromElement() {//2 + CanonicalType t = new CanonicalType(); + if (this.derivedFrom == null) + this.derivedFrom = new ArrayList(); + this.derivedFrom.add(t); + return t; + } + + /** + * @param value {@link #derivedFrom} (Another set of Requirements that this set of Requirements builds on and updates.) + */ + public Requirements addDerivedFrom(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); + if (this.derivedFrom == null) + this.derivedFrom = new ArrayList(); + this.derivedFrom.add(t); + return this; + } + + /** + * @param value {@link #derivedFrom} (Another set of Requirements that this set of Requirements builds on and updates.) + */ + public boolean hasDerivedFrom(String value) { + if (this.derivedFrom == null) + return false; + for (CanonicalType v : this.derivedFrom) + if (v.getValue().equals(value)) // canonical + return true; + return false; + } + + /** + * @return {@link #actor} (An actor these requirements are in regard to.) + */ + public List getActor() { + if (this.actor == null) + this.actor = new ArrayList(); + return this.actor; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setActor(List theActor) { + this.actor = theActor; + return this; + } + + public boolean hasActor() { + if (this.actor == null) + return false; + for (CanonicalType item : this.actor) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #actor} (An actor these requirements are in regard to.) + */ + public CanonicalType addActorElement() {//2 + CanonicalType t = new CanonicalType(); + if (this.actor == null) + this.actor = new ArrayList(); + this.actor.add(t); + return t; + } + + /** + * @param value {@link #actor} (An actor these requirements are in regard to.) + */ + public Requirements addActor(String value) { //1 + CanonicalType t = new CanonicalType(); + t.setValue(value); + if (this.actor == null) + this.actor = new ArrayList(); + this.actor.add(t); + return this; + } + + /** + * @param value {@link #actor} (An actor these requirements are in regard to.) + */ + public boolean hasActor(String value) { + if (this.actor == null) + return false; + for (CanonicalType v : this.actor) + if (v.getValue().equals(value)) // canonical + return true; + return false; + } + + /** + * @return {@link #statement} (A statement of requirements.) + */ + public List getStatement() { + if (this.statement == null) + this.statement = new ArrayList(); + return this.statement; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Requirements setStatement(List theStatement) { + this.statement = theStatement; + return this; + } + + public boolean hasStatement() { + if (this.statement == null) + return false; + for (RequirementsStatementComponent item : this.statement) + if (!item.isEmpty()) + return true; + return false; + } + + public RequirementsStatementComponent addStatement() { //3 + RequirementsStatementComponent t = new RequirementsStatementComponent(); + if (this.statement == null) + this.statement = new ArrayList(); + this.statement.add(t); + return t; + } + + public Requirements addStatement(RequirementsStatementComponent t) { //3 + if (t == null) + return this; + if (this.statement == null) + this.statement = new ArrayList(); + this.statement.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #statement}, creating it if it does not already exist {3} + */ + public RequirementsStatementComponent getStatementFirstRep() { + if (getStatement().isEmpty()) { + addStatement(); + } + return getStatement().get(0); + } + + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"Requirements\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"Requirements\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"Requirements\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Requirements setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"Requirements\" does not implement the property \"versionAlgorithm[x]\""); + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers.", 0, 1, url)); + children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this Requirements when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); + children.add(new Property("version", "string", "The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("name", "string", "A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); + children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the Requirements.", 0, 1, title)); + children.add(new Property("status", "code", "The status of this Requirements. Enables tracking the life-cycle of the content.", 0, 1, status)); + children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); + children.add(new Property("date", "dateTime", "The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes.", 0, 1, date)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements.", 0, 1, publisher)); + children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); + children.add(new Property("description", "markdown", "A free text natural language description of the actor.", 0, 1, description)); + children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Requirements instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); + children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the Requirements is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); + children.add(new Property("purpose", "markdown", "Explanation of why this Requirements is needed and why it has been designed as it has.", 0, 1, purpose)); + children.add(new Property("copyright", "markdown", "A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); + children.add(new Property("derivedFrom", "canonical(Requirements)", "Another set of Requirements that this set of Requirements builds on and updates.", 0, java.lang.Integer.MAX_VALUE, derivedFrom)); + children.add(new Property("actor", "canonical(ActorDefinition)", "An actor these requirements are in regard to.", 0, java.lang.Integer.MAX_VALUE, actor)); + children.add(new Property("statement", "", "A statement of requirements.", 0, java.lang.Integer.MAX_VALUE, statement)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this Requirements when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this Requirements is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the Requirements is stored on different servers.", 0, 1, url); + case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this Requirements when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); + case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the Requirements when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Requirements author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the Requirements. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); + case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the Requirements.", 0, 1, title); + case -892481550: /*status*/ return new Property("status", "code", "The status of this Requirements. Enables tracking the life-cycle of the content.", 0, 1, status); + case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this Requirements is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); + case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the Requirements was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the Requirements changes.", 0, 1, date); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the Requirements.", 0, 1, publisher); + case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); + case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the actor.", 0, 1, description); + case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate Requirements instances.", 0, java.lang.Integer.MAX_VALUE, useContext); + case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the Requirements is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); + case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this Requirements is needed and why it has been designed as it has.", 0, 1, purpose); + case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the Requirements and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the Requirements.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); + case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "canonical(Requirements)", "Another set of Requirements that this set of Requirements builds on and updates.", 0, java.lang.Integer.MAX_VALUE, derivedFrom); + case 92645877: /*actor*/ return new Property("actor", "canonical(ActorDefinition)", "An actor these requirements are in regard to.", 0, java.lang.Integer.MAX_VALUE, actor); + case -2085148305: /*statement*/ return new Property("statement", "", "A statement of requirements.", 0, java.lang.Integer.MAX_VALUE, statement); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType + case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier + case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType + case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration + case -404562712: /*experimental*/ return this.experimental == null ? new Base[0] : new Base[] {this.experimental}; // BooleanType + case 3076014: /*date*/ return this.date == null ? new Base[0] : new Base[] {this.date}; // DateTimeType + case 1447404028: /*publisher*/ return this.publisher == null ? new Base[0] : new Base[] {this.publisher}; // StringType + case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail + case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType + case -669707736: /*useContext*/ return this.useContext == null ? new Base[0] : this.useContext.toArray(new Base[this.useContext.size()]); // UsageContext + case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept + case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType + case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType + case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : this.derivedFrom.toArray(new Base[this.derivedFrom.size()]); // CanonicalType + case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // CanonicalType + case -2085148305: /*statement*/ return this.statement == null ? new Base[0] : this.statement.toArray(new Base[this.statement.size()]); // RequirementsStatementComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 116079: // url + this.url = TypeConvertor.castToUri(value); // UriType + return value; + case -1618432855: // identifier + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); // Identifier + return value; + case 351608024: // version + this.version = TypeConvertor.castToString(value); // StringType + return value; + case 3373707: // name + this.name = TypeConvertor.castToString(value); // StringType + return value; + case 110371416: // title + this.title = TypeConvertor.castToString(value); // StringType + return value; + case -892481550: // status + value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + return value; + case -404562712: // experimental + this.experimental = TypeConvertor.castToBoolean(value); // BooleanType + return value; + case 3076014: // date + this.date = TypeConvertor.castToDateTime(value); // DateTimeType + return value; + case 1447404028: // publisher + this.publisher = TypeConvertor.castToString(value); // StringType + return value; + case 951526432: // contact + this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -1724546052: // description + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case -669707736: // useContext + this.getUseContext().add(TypeConvertor.castToUsageContext(value)); // UsageContext + return value; + case -507075711: // jurisdiction + this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -220463842: // purpose + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 1522889671: // copyright + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; + case 1077922663: // derivedFrom + this.getDerivedFrom().add(TypeConvertor.castToCanonical(value)); // CanonicalType + return value; + case 92645877: // actor + this.getActor().add(TypeConvertor.castToCanonical(value)); // CanonicalType + return value; + case -2085148305: // statement + this.getStatement().add((RequirementsStatementComponent) value); // RequirementsStatementComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("url")) { + this.url = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("identifier")) { + this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); + } else if (name.equals("version")) { + this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("name")) { + this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("title")) { + this.title = TypeConvertor.castToString(value); // StringType + } else if (name.equals("status")) { + value = new PublicationStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.status = (Enumeration) value; // Enumeration + } else if (name.equals("experimental")) { + this.experimental = TypeConvertor.castToBoolean(value); // BooleanType + } else if (name.equals("date")) { + this.date = TypeConvertor.castToDateTime(value); // DateTimeType + } else if (name.equals("publisher")) { + this.publisher = TypeConvertor.castToString(value); // StringType + } else if (name.equals("contact")) { + this.getContact().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("description")) { + this.description = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("useContext")) { + this.getUseContext().add(TypeConvertor.castToUsageContext(value)); + } else if (name.equals("jurisdiction")) { + this.getJurisdiction().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("purpose")) { + this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyright")) { + this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + } else if (name.equals("derivedFrom")) { + this.getDerivedFrom().add(TypeConvertor.castToCanonical(value)); + } else if (name.equals("actor")) { + this.getActor().add(TypeConvertor.castToCanonical(value)); + } else if (name.equals("statement")) { + this.getStatement().add((RequirementsStatementComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 116079: return getUrlElement(); + case -1618432855: return addIdentifier(); + case 351608024: return getVersionElement(); + case 3373707: return getNameElement(); + case 110371416: return getTitleElement(); + case -892481550: return getStatusElement(); + case -404562712: return getExperimentalElement(); + case 3076014: return getDateElement(); + case 1447404028: return getPublisherElement(); + case 951526432: return addContact(); + case -1724546052: return getDescriptionElement(); + case -669707736: return addUseContext(); + case -507075711: return addJurisdiction(); + case -220463842: return getPurposeElement(); + case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); + case 1077922663: return addDerivedFromElement(); + case 92645877: return addActorElement(); + case -2085148305: return addStatement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 116079: /*url*/ return new String[] {"uri"}; + case -1618432855: /*identifier*/ return new String[] {"Identifier"}; + case 351608024: /*version*/ return new String[] {"string"}; + case 3373707: /*name*/ return new String[] {"string"}; + case 110371416: /*title*/ return new String[] {"string"}; + case -892481550: /*status*/ return new String[] {"code"}; + case -404562712: /*experimental*/ return new String[] {"boolean"}; + case 3076014: /*date*/ return new String[] {"dateTime"}; + case 1447404028: /*publisher*/ return new String[] {"string"}; + case 951526432: /*contact*/ return new String[] {"ContactDetail"}; + case -1724546052: /*description*/ return new String[] {"markdown"}; + case -669707736: /*useContext*/ return new String[] {"UsageContext"}; + case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; + case -220463842: /*purpose*/ return new String[] {"markdown"}; + case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; + case 1077922663: /*derivedFrom*/ return new String[] {"canonical"}; + case 92645877: /*actor*/ return new String[] {"canonical"}; + case -2085148305: /*statement*/ return new String[] {}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("url")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.url"); + } + else if (name.equals("identifier")) { + return addIdentifier(); + } + else if (name.equals("version")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.version"); + } + else if (name.equals("name")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.name"); + } + else if (name.equals("title")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.title"); + } + else if (name.equals("status")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.status"); + } + else if (name.equals("experimental")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.experimental"); + } + else if (name.equals("date")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.date"); + } + else if (name.equals("publisher")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.publisher"); + } + else if (name.equals("contact")) { + return addContact(); + } + else if (name.equals("description")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.description"); + } + else if (name.equals("useContext")) { + return addUseContext(); + } + else if (name.equals("jurisdiction")) { + return addJurisdiction(); + } + else if (name.equals("purpose")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.purpose"); + } + else if (name.equals("copyright")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.copyright"); + } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.copyrightLabel"); + } + else if (name.equals("derivedFrom")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.derivedFrom"); + } + else if (name.equals("actor")) { + throw new FHIRException("Cannot call addChild on a primitive type Requirements.actor"); + } + else if (name.equals("statement")) { + return addStatement(); + } + else + return super.addChild(name); + } + + public String fhirType() { + return "Requirements"; + + } + + public Requirements copy() { + Requirements dst = new Requirements(); + copyValues(dst); + return dst; + } + + public void copyValues(Requirements dst) { + super.copyValues(dst); + dst.url = url == null ? null : url.copy(); + if (identifier != null) { + dst.identifier = new ArrayList(); + for (Identifier i : identifier) + dst.identifier.add(i.copy()); + }; + dst.version = version == null ? null : version.copy(); + dst.name = name == null ? null : name.copy(); + dst.title = title == null ? null : title.copy(); + dst.status = status == null ? null : status.copy(); + dst.experimental = experimental == null ? null : experimental.copy(); + dst.date = date == null ? null : date.copy(); + dst.publisher = publisher == null ? null : publisher.copy(); + if (contact != null) { + dst.contact = new ArrayList(); + for (ContactDetail i : contact) + dst.contact.add(i.copy()); + }; + dst.description = description == null ? null : description.copy(); + if (useContext != null) { + dst.useContext = new ArrayList(); + for (UsageContext i : useContext) + dst.useContext.add(i.copy()); + }; + if (jurisdiction != null) { + dst.jurisdiction = new ArrayList(); + for (CodeableConcept i : jurisdiction) + dst.jurisdiction.add(i.copy()); + }; + dst.purpose = purpose == null ? null : purpose.copy(); + dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); + if (derivedFrom != null) { + dst.derivedFrom = new ArrayList(); + for (CanonicalType i : derivedFrom) + dst.derivedFrom.add(i.copy()); + }; + if (actor != null) { + dst.actor = new ArrayList(); + for (CanonicalType i : actor) + dst.actor.add(i.copy()); + }; + if (statement != null) { + dst.statement = new ArrayList(); + for (RequirementsStatementComponent i : statement) + dst.statement.add(i.copy()); + }; + } + + protected Requirements typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof Requirements)) + return false; + Requirements o = (Requirements) other_; + return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) + && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) + && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) + && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(derivedFrom, o.derivedFrom, true) + && compareDeep(actor, o.actor, true) && compareDeep(statement, o.statement, true); + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof Requirements)) + return false; + Requirements o = (Requirements) other_; + return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) + && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) + && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(derivedFrom, o.derivedFrom, true) && compareValues(actor, o.actor, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version + , name, title, status, experimental, date, publisher, contact, description, useContext + , jurisdiction, purpose, copyright, copyrightLabel, derivedFrom, actor, statement + ); + } + + @Override + public ResourceType getResourceType() { + return ResourceType.Requirements; + } + + /** + * Search parameter: actor + *

+ * Description: An actor these requirements are for
+ * Type: reference
+ * Path: Requirements.actor
+ *

+ */ + @SearchParamDefinition(name="actor", path="Requirements.actor", description="An actor these requirements are for", type="reference", target={ActorDefinition.class } ) + public static final String SP_ACTOR = "actor"; + /** + * Fluent Client search parameter constant for actor + *

+ * Description: An actor these requirements are for
+ * Type: reference
+ * Path: Requirements.actor
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam ACTOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_ACTOR); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Requirements:actor". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_ACTOR = new ca.uhn.fhir.model.api.Include("Requirements:actor").toLocked(); + + /** + * Search parameter: context-quantity + *

+ * Description: A quantity- or range-valued use context assigned to the requirements
+ * Type: quantity
+ * Path: (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range)
+ *

+ */ + @SearchParamDefinition(name="context-quantity", path="(Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range)", description="A quantity- or range-valued use context assigned to the requirements", type="quantity" ) + public static final String SP_CONTEXT_QUANTITY = "context-quantity"; + /** + * Fluent Client search parameter constant for context-quantity + *

+ * Description: A quantity- or range-valued use context assigned to the requirements
+ * Type: quantity
+ * Path: (Requirements.useContext.value as Quantity) | (Requirements.useContext.value as Range)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.QuantityClientParam CONTEXT_QUANTITY = new ca.uhn.fhir.rest.gclient.QuantityClientParam(SP_CONTEXT_QUANTITY); + + /** + * Search parameter: context-type-quantity + *

+ * Description: A use context type and quantity- or range-based value assigned to the requirements
+ * Type: composite
+ * Path: Requirements.useContext
+ *

+ */ + @SearchParamDefinition(name="context-type-quantity", path="Requirements.useContext", description="A use context type and quantity- or range-based value assigned to the requirements", type="composite", compositeOf={"context-type", "context-quantity"} ) + public static final String SP_CONTEXT_TYPE_QUANTITY = "context-type-quantity"; + /** + * Fluent Client search parameter constant for context-type-quantity + *

+ * Description: A use context type and quantity- or range-based value assigned to the requirements
+ * Type: composite
+ * Path: Requirements.useContext
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.CompositeClientParam CONTEXT_TYPE_QUANTITY = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_CONTEXT_TYPE_QUANTITY); + + /** + * Search parameter: context-type-value + *

+ * Description: A use context type and value assigned to the requirements
+ * Type: composite
+ * Path: Requirements.useContext
+ *

+ */ + @SearchParamDefinition(name="context-type-value", path="Requirements.useContext", description="A use context type and value assigned to the requirements", type="composite", compositeOf={"context-type", "context"} ) + public static final String SP_CONTEXT_TYPE_VALUE = "context-type-value"; + /** + * Fluent Client search parameter constant for context-type-value + *

+ * Description: A use context type and value assigned to the requirements
+ * Type: composite
+ * Path: Requirements.useContext
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.CompositeClientParam CONTEXT_TYPE_VALUE = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_CONTEXT_TYPE_VALUE); + + /** + * Search parameter: context-type + *

+ * Description: A type of use context assigned to the requirements
+ * Type: token
+ * Path: Requirements.useContext.code
+ *

+ */ + @SearchParamDefinition(name="context-type", path="Requirements.useContext.code", description="A type of use context assigned to the requirements", type="token" ) + public static final String SP_CONTEXT_TYPE = "context-type"; + /** + * Fluent Client search parameter constant for context-type + *

+ * Description: A type of use context assigned to the requirements
+ * Type: token
+ * Path: Requirements.useContext.code
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT_TYPE); + + /** + * Search parameter: context + *

+ * Description: A use context assigned to the requirements
+ * Type: token
+ * Path: (Requirements.useContext.value as CodeableConcept)
+ *

+ */ + @SearchParamDefinition(name="context", path="(Requirements.useContext.value as CodeableConcept)", description="A use context assigned to the requirements", type="token" ) + public static final String SP_CONTEXT = "context"; + /** + * Fluent Client search parameter constant for context + *

+ * Description: A use context assigned to the requirements
+ * Type: token
+ * Path: (Requirements.useContext.value as CodeableConcept)
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CONTEXT); + + /** + * Search parameter: date + *

+ * Description: The requirements publication date
+ * Type: date
+ * Path: Requirements.date
+ *

+ */ + @SearchParamDefinition(name="date", path="Requirements.date", description="The requirements publication date", type="date" ) + public static final String SP_DATE = "date"; + /** + * Fluent Client search parameter constant for date + *

+ * Description: The requirements publication date
+ * Type: date
+ * Path: Requirements.date
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); + + /** + * Search parameter: derived-from + *

+ * Description: The requirements these are derived from
+ * Type: reference
+ * Path: Requirements.derivedFrom
+ *

+ */ + @SearchParamDefinition(name="derived-from", path="Requirements.derivedFrom", description="The requirements these are derived from", type="reference", target={Requirements.class } ) + public static final String SP_DERIVED_FROM = "derived-from"; + /** + * Fluent Client search parameter constant for derived-from + *

+ * Description: The requirements these are derived from
+ * Type: reference
+ * Path: Requirements.derivedFrom
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Requirements:derived-from". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("Requirements:derived-from").toLocked(); + + /** + * Search parameter: description + *

+ * Description: The description of the requirements
+ * Type: string
+ * Path: Requirements.description
+ *

+ */ + @SearchParamDefinition(name="description", path="Requirements.description", description="The description of the requirements", type="string" ) + public static final String SP_DESCRIPTION = "description"; + /** + * Fluent Client search parameter constant for description + *

+ * Description: The description of the requirements
+ * Type: string
+ * Path: Requirements.description
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); + + /** + * Search parameter: identifier + *

+ * Description: External identifier for the requirements
+ * Type: token
+ * Path: Requirements.identifier
+ *

+ */ + @SearchParamDefinition(name="identifier", path="Requirements.identifier", description="External identifier for the requirements", type="token" ) + public static final String SP_IDENTIFIER = "identifier"; + /** + * Fluent Client search parameter constant for identifier + *

+ * Description: External identifier for the requirements
+ * Type: token
+ * Path: Requirements.identifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + + /** + * Search parameter: jurisdiction + *

+ * Description: Intended jurisdiction for the requirements
+ * Type: token
+ * Path: Requirements.jurisdiction
+ *

+ */ + @SearchParamDefinition(name="jurisdiction", path="Requirements.jurisdiction", description="Intended jurisdiction for the requirements", type="token" ) + public static final String SP_JURISDICTION = "jurisdiction"; + /** + * Fluent Client search parameter constant for jurisdiction + *

+ * Description: Intended jurisdiction for the requirements
+ * Type: token
+ * Path: Requirements.jurisdiction
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam JURISDICTION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_JURISDICTION); + + /** + * Search parameter: name + *

+ * Description: Computationally friendly name of the requirements
+ * Type: string
+ * Path: Requirements.name
+ *

+ */ + @SearchParamDefinition(name="name", path="Requirements.name", description="Computationally friendly name of the requirements", type="string" ) + public static final String SP_NAME = "name"; + /** + * Fluent Client search parameter constant for name + *

+ * Description: Computationally friendly name of the requirements
+ * Type: string
+ * Path: Requirements.name
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); + + /** + * Search parameter: publisher + *

+ * Description: Name of the publisher of the requirements
+ * Type: string
+ * Path: Requirements.publisher
+ *

+ */ + @SearchParamDefinition(name="publisher", path="Requirements.publisher", description="Name of the publisher of the requirements", type="string" ) + public static final String SP_PUBLISHER = "publisher"; + /** + * Fluent Client search parameter constant for publisher + *

+ * Description: Name of the publisher of the requirements
+ * Type: string
+ * Path: Requirements.publisher
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam PUBLISHER = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_PUBLISHER); + + /** + * Search parameter: status + *

+ * Description: The current status of the requirements
+ * Type: token
+ * Path: Requirements.status
+ *

+ */ + @SearchParamDefinition(name="status", path="Requirements.status", description="The current status of the requirements", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: The current status of the requirements
+ * Type: token
+ * Path: Requirements.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + + /** + * Search parameter: title + *

+ * Description: The human-friendly name of the requirements
+ * Type: string
+ * Path: Requirements.title
+ *

+ */ + @SearchParamDefinition(name="title", path="Requirements.title", description="The human-friendly name of the requirements", type="string" ) + public static final String SP_TITLE = "title"; + /** + * Fluent Client search parameter constant for title + *

+ * Description: The human-friendly name of the requirements
+ * Type: string
+ * Path: Requirements.title
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam TITLE = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_TITLE); + + /** + * Search parameter: url + *

+ * Description: The uri that identifies the requirements
+ * Type: uri
+ * Path: Requirements.url
+ *

+ */ + @SearchParamDefinition(name="url", path="Requirements.url", description="The uri that identifies the requirements", type="uri" ) + public static final String SP_URL = "url"; + /** + * Fluent Client search parameter constant for url + *

+ * Description: The uri that identifies the requirements
+ * Type: uri
+ * Path: Requirements.url
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.UriClientParam URL = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_URL); + + /** + * Search parameter: version + *

+ * Description: The business version of the requirements
+ * Type: token
+ * Path: Requirements.version
+ *

+ */ + @SearchParamDefinition(name="version", path="Requirements.version", description="The business version of the requirements", type="token" ) + public static final String SP_VERSION = "version"; + /** + * Fluent Client search parameter constant for version + *

+ * Description: The business version of the requirements
+ * Type: token
+ * Path: Requirements.version
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchStudy.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchStudy.java index e25d855ee..1df50fa6f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchStudy.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchStudy.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. + * A scientific study of nature that sometimes includes processes involved in health and disease. For example, clinical trials are research studies that involve people. These studies may be related to new ways to screen, prevent, diagnose, and treat disease. They may also study certain outcomes and certain groups of people by looking at data collected in the past or future. */ @ResourceDef(name="ResearchStudy", profile="http://hl7.org/fhir/StructureDefinition/ResearchStudy") public class ResearchStudy extends DomainResource { @@ -583,241 +583,6 @@ public class ResearchStudy extends DomainResource { } - } - - @Block() - public static class ResearchStudyClassificationComponent extends BackboneElement implements IBaseBackboneElement { - /** - * Type of classifier. - */ - @Child(name = "type", type = {CodeableConcept.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="phase | category | keyword ", formalDefinition="Type of classifier." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-classification-type") - protected CodeableConcept type; - - /** - * Value of classifier. - */ - @Child(name = "classifier", type = {CodeableConcept.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="n-a | early-phase-1 | phase-1 | phase-1-phase-2 | phase-2 | phase-2-phase-3 | phase-3 | phase-4", formalDefinition="Value of classifier." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-classifiers") - protected List classifier; - - private static final long serialVersionUID = -283121869L; - - /** - * Constructor - */ - public ResearchStudyClassificationComponent() { - super(); - } - - /** - * @return {@link #type} (Type of classifier.) - */ - public CodeableConcept getType() { - if (this.type == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResearchStudyClassificationComponent.type"); - else if (Configuration.doAutoCreate()) - this.type = new CodeableConcept(); // cc - return this.type; - } - - public boolean hasType() { - return this.type != null && !this.type.isEmpty(); - } - - /** - * @param value {@link #type} (Type of classifier.) - */ - public ResearchStudyClassificationComponent setType(CodeableConcept value) { - this.type = value; - return this; - } - - /** - * @return {@link #classifier} (Value of classifier.) - */ - public List getClassifier() { - if (this.classifier == null) - this.classifier = new ArrayList(); - return this.classifier; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ResearchStudyClassificationComponent setClassifier(List theClassifier) { - this.classifier = theClassifier; - return this; - } - - public boolean hasClassifier() { - if (this.classifier == null) - return false; - for (CodeableConcept item : this.classifier) - if (!item.isEmpty()) - return true; - return false; - } - - public CodeableConcept addClassifier() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.classifier == null) - this.classifier = new ArrayList(); - this.classifier.add(t); - return t; - } - - public ResearchStudyClassificationComponent addClassifier(CodeableConcept t) { //3 - if (t == null) - return this; - if (this.classifier == null) - this.classifier = new ArrayList(); - this.classifier.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #classifier}, creating it if it does not already exist {3} - */ - public CodeableConcept getClassifierFirstRep() { - if (getClassifier().isEmpty()) { - addClassifier(); - } - return getClassifier().get(0); - } - - protected void listChildren(List children) { - super.listChildren(children); - children.add(new Property("type", "CodeableConcept", "Type of classifier.", 0, 1, type)); - children.add(new Property("classifier", "CodeableConcept", "Value of classifier.", 0, java.lang.Integer.MAX_VALUE, classifier)); - } - - @Override - public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { - switch (_hash) { - case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Type of classifier.", 0, 1, type); - case -281470431: /*classifier*/ return new Property("classifier", "CodeableConcept", "Value of classifier.", 0, java.lang.Integer.MAX_VALUE, classifier); - default: return super.getNamedProperty(_hash, _name, _checkValid); - } - - } - - @Override - public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept - case -281470431: /*classifier*/ return this.classifier == null ? new Base[0] : this.classifier.toArray(new Base[this.classifier.size()]); // CodeableConcept - default: return super.getProperty(hash, name, checkValid); - } - - } - - @Override - public Base setProperty(int hash, String name, Base value) throws FHIRException { - switch (hash) { - case 3575610: // type - this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -281470431: // classifier - this.getClassifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - default: return super.setProperty(hash, name, value); - } - - } - - @Override - public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("type")) { - this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("classifier")) { - this.getClassifier().add(TypeConvertor.castToCodeableConcept(value)); - } else - return super.setProperty(name, value); - return value; - } - - @Override - public Base makeProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: return getType(); - case -281470431: return addClassifier(); - default: return super.makeProperty(hash, name); - } - - } - - @Override - public String[] getTypesForProperty(int hash, String name) throws FHIRException { - switch (hash) { - case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case -281470431: /*classifier*/ return new String[] {"CodeableConcept"}; - default: return super.getTypesForProperty(hash, name); - } - - } - - @Override - public Base addChild(String name) throws FHIRException { - if (name.equals("type")) { - this.type = new CodeableConcept(); - return this.type; - } - else if (name.equals("classifier")) { - return addClassifier(); - } - else - return super.addChild(name); - } - - public ResearchStudyClassificationComponent copy() { - ResearchStudyClassificationComponent dst = new ResearchStudyClassificationComponent(); - copyValues(dst); - return dst; - } - - public void copyValues(ResearchStudyClassificationComponent dst) { - super.copyValues(dst); - dst.type = type == null ? null : type.copy(); - if (classifier != null) { - dst.classifier = new ArrayList(); - for (CodeableConcept i : classifier) - dst.classifier.add(i.copy()); - }; - } - - @Override - public boolean equalsDeep(Base other_) { - if (!super.equalsDeep(other_)) - return false; - if (!(other_ instanceof ResearchStudyClassificationComponent)) - return false; - ResearchStudyClassificationComponent o = (ResearchStudyClassificationComponent) other_; - return compareDeep(type, o.type, true) && compareDeep(classifier, o.classifier, true); - } - - @Override - public boolean equalsShallow(Base other_) { - if (!super.equalsShallow(other_)) - return false; - if (!(other_ instanceof ResearchStudyClassificationComponent)) - return false; - ResearchStudyClassificationComponent o = (ResearchStudyClassificationComponent) other_; - return true; - } - - public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, classifier); - } - - public String fhirType() { - return "ResearchStudy.classification"; - - } - } @Block() @@ -833,7 +598,7 @@ public class ResearchStudy extends DomainResource { * Type of association. */ @Child(name = "role", type = {CodeableConcept.class}, order=2, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="sponsor | lead-sponsor | sponsor-investigator | primary-investigator | collaborator | funding-source | recruitment-contact | sub-investigator | study-director | study-chair", formalDefinition="Type of association." ) + @Description(shortDefinition="sponsor | lead-sponsor | sponsor-investigator | primary-investigator | collaborator | funding-source | general-contact | recruitment-contact | sub-investigator | study-director | study-chair", formalDefinition="Type of association." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-party-role") protected CodeableConcept role; @@ -845,10 +610,10 @@ public class ResearchStudy extends DomainResource { protected List period; /** - * Organisational type of association. + * A categorization other than role for the associated party. */ @Child(name = "classifier", type = {CodeableConcept.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="nih | fda", formalDefinition="Organisational type of association." ) + @Description(shortDefinition="nih | fda | government | nonprofit | academic | industry", formalDefinition="A categorization other than role for the associated party." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-party-org-type") protected List classifier; @@ -1003,7 +768,7 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #classifier} (Organisational type of association.) + * @return {@link #classifier} (A categorization other than role for the associated party.) */ public List getClassifier() { if (this.classifier == null) @@ -1084,7 +849,7 @@ public class ResearchStudy extends DomainResource { children.add(new Property("name", "string", "Name of associated party.", 0, 1, name)); children.add(new Property("role", "CodeableConcept", "Type of association.", 0, 1, role)); children.add(new Property("period", "Period", "Identifies the start date and the end date of the associated party in the role.", 0, java.lang.Integer.MAX_VALUE, period)); - children.add(new Property("classifier", "CodeableConcept", "Organisational type of association.", 0, java.lang.Integer.MAX_VALUE, classifier)); + children.add(new Property("classifier", "CodeableConcept", "A categorization other than role for the associated party.", 0, java.lang.Integer.MAX_VALUE, classifier)); children.add(new Property("party", "Reference(Practitioner|PractitionerRole|Organization)", "Individual or organization associated with study (use practitionerRole to specify their organisation).", 0, 1, party)); } @@ -1094,7 +859,7 @@ public class ResearchStudy extends DomainResource { case 3373707: /*name*/ return new Property("name", "string", "Name of associated party.", 0, 1, name); case 3506294: /*role*/ return new Property("role", "CodeableConcept", "Type of association.", 0, 1, role); case -991726143: /*period*/ return new Property("period", "Period", "Identifies the start date and the end date of the associated party in the role.", 0, java.lang.Integer.MAX_VALUE, period); - case -281470431: /*classifier*/ return new Property("classifier", "CodeableConcept", "Organisational type of association.", 0, java.lang.Integer.MAX_VALUE, classifier); + case -281470431: /*classifier*/ return new Property("classifier", "CodeableConcept", "A categorization other than role for the associated party.", 0, java.lang.Integer.MAX_VALUE, classifier); case 106437350: /*party*/ return new Property("party", "Reference(Practitioner|PractitionerRole|Organization)", "Individual or organization associated with study (use practitionerRole to specify their organisation).", 0, 1, party); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1260,78 +1025,77 @@ public class ResearchStudy extends DomainResource { } @Block() - public static class ResearchStudyStatusDateComponent extends BackboneElement implements IBaseBackboneElement { + public static class ResearchStudyProgressStatusComponent extends BackboneElement implements IBaseBackboneElement { /** - * Label for status or state. + * Label for status or state (e.g. recruitment status). */ - @Child(name = "activity", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) - @Description(shortDefinition="Record-Verification | Overall-Study | Primary-Outcome-Data-Collection | Registration-Submission | Registration-Submission-QC | Registration-Posting | Results-Submission | Results-Submission-QC | Results-Posting | Disposition-Submission | Disposition-Submission-QC | Disposition-Posting | Update-Submission | Update-Posting", formalDefinition="Label for status or state." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-statusDate-activity") - protected CodeableConcept activity; + @Child(name = "state", type = {CodeableConcept.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Label for status or state (e.g. recruitment status)", formalDefinition="Label for status or state (e.g. recruitment status)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-status") + protected CodeableConcept state; /** - * Actual if true else anticipated. + * An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date. */ @Child(name = "actual", type = {BooleanType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Actual if true else anticipated", formalDefinition="Actual if true else anticipated." ) + @Description(shortDefinition="Actual if true else anticipated", formalDefinition="An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date." ) protected BooleanType actual; /** * Date range. */ - @Child(name = "period", type = {Period.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Child(name = "period", type = {Period.class}, order=3, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date range", formalDefinition="Date range." ) protected Period period; - private static final long serialVersionUID = 1123586924L; + private static final long serialVersionUID = 1232680620L; /** * Constructor */ - public ResearchStudyStatusDateComponent() { + public ResearchStudyProgressStatusComponent() { super(); } /** * Constructor */ - public ResearchStudyStatusDateComponent(CodeableConcept activity, Period period) { + public ResearchStudyProgressStatusComponent(CodeableConcept state) { super(); - this.setActivity(activity); - this.setPeriod(period); + this.setState(state); } /** - * @return {@link #activity} (Label for status or state.) + * @return {@link #state} (Label for status or state (e.g. recruitment status).) */ - public CodeableConcept getActivity() { - if (this.activity == null) + public CodeableConcept getState() { + if (this.state == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResearchStudyStatusDateComponent.activity"); + throw new Error("Attempt to auto-create ResearchStudyProgressStatusComponent.state"); else if (Configuration.doAutoCreate()) - this.activity = new CodeableConcept(); // cc - return this.activity; + this.state = new CodeableConcept(); // cc + return this.state; } - public boolean hasActivity() { - return this.activity != null && !this.activity.isEmpty(); + public boolean hasState() { + return this.state != null && !this.state.isEmpty(); } /** - * @param value {@link #activity} (Label for status or state.) + * @param value {@link #state} (Label for status or state (e.g. recruitment status).) */ - public ResearchStudyStatusDateComponent setActivity(CodeableConcept value) { - this.activity = value; + public ResearchStudyProgressStatusComponent setState(CodeableConcept value) { + this.state = value; return this; } /** - * @return {@link #actual} (Actual if true else anticipated.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value + * @return {@link #actual} (An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value */ public BooleanType getActualElement() { if (this.actual == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResearchStudyStatusDateComponent.actual"); + throw new Error("Attempt to auto-create ResearchStudyProgressStatusComponent.actual"); else if (Configuration.doAutoCreate()) this.actual = new BooleanType(); // bb return this.actual; @@ -1346,24 +1110,24 @@ public class ResearchStudy extends DomainResource { } /** - * @param value {@link #actual} (Actual if true else anticipated.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value + * @param value {@link #actual} (An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date.). This is the underlying object with id, value and extensions. The accessor "getActual" gives direct access to the value */ - public ResearchStudyStatusDateComponent setActualElement(BooleanType value) { + public ResearchStudyProgressStatusComponent setActualElement(BooleanType value) { this.actual = value; return this; } /** - * @return Actual if true else anticipated. + * @return An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date. */ public boolean getActual() { return this.actual == null || this.actual.isEmpty() ? false : this.actual.getValue(); } /** - * @param value Actual if true else anticipated. + * @param value An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date. */ - public ResearchStudyStatusDateComponent setActual(boolean value) { + public ResearchStudyProgressStatusComponent setActual(boolean value) { if (this.actual == null) this.actual = new BooleanType(); this.actual.setValue(value); @@ -1376,7 +1140,7 @@ public class ResearchStudy extends DomainResource { public Period getPeriod() { if (this.period == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResearchStudyStatusDateComponent.period"); + throw new Error("Attempt to auto-create ResearchStudyProgressStatusComponent.period"); else if (Configuration.doAutoCreate()) this.period = new Period(); // cc return this.period; @@ -1389,23 +1153,23 @@ public class ResearchStudy extends DomainResource { /** * @param value {@link #period} (Date range.) */ - public ResearchStudyStatusDateComponent setPeriod(Period value) { + public ResearchStudyProgressStatusComponent setPeriod(Period value) { this.period = value; return this; } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("activity", "CodeableConcept", "Label for status or state.", 0, 1, activity)); - children.add(new Property("actual", "boolean", "Actual if true else anticipated.", 0, 1, actual)); + children.add(new Property("state", "CodeableConcept", "Label for status or state (e.g. recruitment status).", 0, 1, state)); + children.add(new Property("actual", "boolean", "An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date.", 0, 1, actual)); children.add(new Property("period", "Period", "Date range.", 0, 1, period)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1655966961: /*activity*/ return new Property("activity", "CodeableConcept", "Label for status or state.", 0, 1, activity); - case -1422939762: /*actual*/ return new Property("actual", "boolean", "Actual if true else anticipated.", 0, 1, actual); + case 109757585: /*state*/ return new Property("state", "CodeableConcept", "Label for status or state (e.g. recruitment status).", 0, 1, state); + case -1422939762: /*actual*/ return new Property("actual", "boolean", "An indication of whether or not the date is a known date when the state changed or will change. A value of true indicates a known date. A value of false indicates an estimated date.", 0, 1, actual); case -991726143: /*period*/ return new Property("period", "Period", "Date range.", 0, 1, period); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1415,7 +1179,7 @@ public class ResearchStudy extends DomainResource { @Override public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { - case -1655966961: /*activity*/ return this.activity == null ? new Base[0] : new Base[] {this.activity}; // CodeableConcept + case 109757585: /*state*/ return this.state == null ? new Base[0] : new Base[] {this.state}; // CodeableConcept case -1422939762: /*actual*/ return this.actual == null ? new Base[0] : new Base[] {this.actual}; // BooleanType case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period default: return super.getProperty(hash, name, checkValid); @@ -1426,8 +1190,8 @@ public class ResearchStudy extends DomainResource { @Override public Base setProperty(int hash, String name, Base value) throws FHIRException { switch (hash) { - case -1655966961: // activity - this.activity = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + case 109757585: // state + this.state = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case -1422939762: // actual this.actual = TypeConvertor.castToBoolean(value); // BooleanType @@ -1442,8 +1206,8 @@ public class ResearchStudy extends DomainResource { @Override public Base setProperty(String name, Base value) throws FHIRException { - if (name.equals("activity")) { - this.activity = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + if (name.equals("state")) { + this.state = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("actual")) { this.actual = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("period")) { @@ -1456,7 +1220,7 @@ public class ResearchStudy extends DomainResource { @Override public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1655966961: return getActivity(); + case 109757585: return getState(); case -1422939762: return getActualElement(); case -991726143: return getPeriod(); default: return super.makeProperty(hash, name); @@ -1467,7 +1231,7 @@ public class ResearchStudy extends DomainResource { @Override public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { - case -1655966961: /*activity*/ return new String[] {"CodeableConcept"}; + case 109757585: /*state*/ return new String[] {"CodeableConcept"}; case -1422939762: /*actual*/ return new String[] {"boolean"}; case -991726143: /*period*/ return new String[] {"Period"}; default: return super.getTypesForProperty(hash, name); @@ -1477,12 +1241,12 @@ public class ResearchStudy extends DomainResource { @Override public Base addChild(String name) throws FHIRException { - if (name.equals("activity")) { - this.activity = new CodeableConcept(); - return this.activity; + if (name.equals("state")) { + this.state = new CodeableConcept(); + return this.state; } else if (name.equals("actual")) { - throw new FHIRException("Cannot call addChild on a primitive type ResearchStudy.statusDate.actual"); + throw new FHIRException("Cannot call addChild on a primitive type ResearchStudy.progressStatus.actual"); } else if (name.equals("period")) { this.period = new Period(); @@ -1492,15 +1256,15 @@ public class ResearchStudy extends DomainResource { return super.addChild(name); } - public ResearchStudyStatusDateComponent copy() { - ResearchStudyStatusDateComponent dst = new ResearchStudyStatusDateComponent(); + public ResearchStudyProgressStatusComponent copy() { + ResearchStudyProgressStatusComponent dst = new ResearchStudyProgressStatusComponent(); copyValues(dst); return dst; } - public void copyValues(ResearchStudyStatusDateComponent dst) { + public void copyValues(ResearchStudyProgressStatusComponent dst) { super.copyValues(dst); - dst.activity = activity == null ? null : activity.copy(); + dst.state = state == null ? null : state.copy(); dst.actual = actual == null ? null : actual.copy(); dst.period = period == null ? null : period.copy(); } @@ -1509,10 +1273,10 @@ public class ResearchStudy extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof ResearchStudyStatusDateComponent)) + if (!(other_ instanceof ResearchStudyProgressStatusComponent)) return false; - ResearchStudyStatusDateComponent o = (ResearchStudyStatusDateComponent) other_; - return compareDeep(activity, o.activity, true) && compareDeep(actual, o.actual, true) && compareDeep(period, o.period, true) + ResearchStudyProgressStatusComponent o = (ResearchStudyProgressStatusComponent) other_; + return compareDeep(state, o.state, true) && compareDeep(actual, o.actual, true) && compareDeep(period, o.period, true) ; } @@ -1520,19 +1284,18 @@ public class ResearchStudy extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof ResearchStudyStatusDateComponent)) + if (!(other_ instanceof ResearchStudyProgressStatusComponent)) return false; - ResearchStudyStatusDateComponent o = (ResearchStudyStatusDateComponent) other_; + ResearchStudyProgressStatusComponent o = (ResearchStudyProgressStatusComponent) other_; return compareValues(actual, o.actual, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(activity, actual, period - ); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(state, actual, period); } public String fhirType() { - return "ResearchStudy.statusDate"; + return "ResearchStudy.progressStatus"; } @@ -3302,10 +3065,10 @@ public class ResearchStudy extends DomainResource { protected List identifier; /** - * Business identifier for the study record. + * The business version for the study record. */ @Child(name = "version", type = {StringType.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Business identifier for the study record", formalDefinition="Business identifier for the study record." ) + @Description(shortDefinition="The business version for the study record", formalDefinition="The business version for the study record." ) protected StringType version; /** @@ -3384,9 +3147,10 @@ public class ResearchStudy extends DomainResource { /** * Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc. */ - @Child(name = "category", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Classifications for the study", formalDefinition="Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc." ) - protected List category; + @Child(name = "studyDesign", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Classifications of the study design characteristics", formalDefinition="Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/study-design") + protected List studyDesign; /** * The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about. @@ -3411,25 +3175,25 @@ public class ResearchStudy extends DomainResource { protected List keyword; /** - * Indicates a country, state or other region where the study is taking place. + * A country, state or other area where the study is taking place rather than its precise geographic location or address. */ - @Child(name = "location", type = {CodeableConcept.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Geographic region(s) for study", formalDefinition="Indicates a country, state or other region where the study is taking place." ) + @Child(name = "region", type = {CodeableConcept.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Geographic area for the study", formalDefinition="A country, state or other area where the study is taking place rather than its precise geographic location or address." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") - protected List location; + protected List region; /** - * A brief summary of the study description. + * A brief text for explaining the study. */ @Child(name = "descriptionSummary", type = {MarkdownType.class}, order=18, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="A brief summary of the study description", formalDefinition="A brief summary of the study description." ) + @Description(shortDefinition="Brief text explaining the study", formalDefinition="A brief text for explaining the study." ) protected MarkdownType descriptionSummary; /** - * A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description. + * A detailed and human-readable narrative of the study. E.g., study abstract. */ @Child(name = "description", type = {MarkdownType.class}, order=19, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="What this is study doing", formalDefinition="A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description." ) + @Description(shortDefinition="Detailed narrative of the study", formalDefinition="A detailed and human-readable narrative of the study. E.g., study abstract." ) protected MarkdownType description; /** @@ -3439,74 +3203,46 @@ public class ResearchStudy extends DomainResource { @Description(shortDefinition="When the study began and ended", formalDefinition="Identifies the start date and the expected (or actual, depending on status) end date for the study." ) protected Period period; - /** - * Contact details to assist a user in learning more about or engaging with the study. - */ - @Child(name = "contact", type = {ContactDetail.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Contact details for the study", formalDefinition="Contact details to assist a user in learning more about or engaging with the study." ) - protected List contact; - - /** - * An organization that initiates the investigation and is legally responsible for the study. - */ - @Child(name = "sponsor", type = {Organization.class}, order=22, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Organization that initiates and is legally responsible for the study", formalDefinition="An organization that initiates the investigation and is legally responsible for the study." ) - protected Reference sponsor; - - /** - * A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation. - */ - @Child(name = "principalInvestigator", type = {Practitioner.class, PractitionerRole.class}, order=23, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Researcher who oversees multiple aspects of the study", formalDefinition="A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation." ) - protected Reference principalInvestigator; - /** * A facility in which study activities are conducted. */ - @Child(name = "site", type = {Location.class, ResearchStudy.class, Organization.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "site", type = {Location.class, ResearchStudy.class, Organization.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Facility where study activities are conducted", formalDefinition="A facility in which study activities are conducted." ) protected List site; /** * Comments made about the study by the performer, subject or other participants. */ - @Child(name = "note", type = {Annotation.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Comments made about the study", formalDefinition="Comments made about the study by the performer, subject or other participants." ) protected List note; /** - * Classification for the study. + * Additional grouping mechanism or categorization of a research study. Example: FDA regulated device, FDA regulated drug, MPG Paragraph 23b (a German legal requirement), IRB-exempt, etc. Implementation Note: do not use the classifier element to support existing semantics that are already supported thru explicit elements in the resource. */ - @Child(name = "classification", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Classification for the study", formalDefinition="Classification for the study." ) - protected List classification; + @Child(name = "classifier", type = {CodeableConcept.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Classification for the study", formalDefinition="Additional grouping mechanism or categorization of a research study. Example: FDA regulated device, FDA regulated drug, MPG Paragraph 23b (a German legal requirement), IRB-exempt, etc. Implementation Note: do not use the classifier element to support existing semantics that are already supported thru explicit elements in the resource." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-classifiers") + protected List classifier; /** * Sponsors, collaborators, and other parties. */ - @Child(name = "associatedParty", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "associatedParty", type = {}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Sponsors, collaborators, and other parties", formalDefinition="Sponsors, collaborators, and other parties." ) protected List associatedParty; - /** - * Current status of the study. - */ - @Child(name = "currentState", type = {CodeableConcept.class}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="active | active-but-not-recruiting | administratively-completed | approved | closed-to-accrual | closed-to-accrual-and-intervention | completed | disapproved | enrolling-by-invitation | in-review | not-yet-recruiting | recruiting | temporarily-closed-to-accrual | temporarily-closed-to-accrual-and-intervention | terminated | withdrawn", formalDefinition="Current status of the study." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-status") - protected List currentState; - /** * Status of study with time for that status. */ - @Child(name = "statusDate", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "progressStatus", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Status of study with time for that status", formalDefinition="Status of study with time for that status." ) - protected List statusDate; + protected List progressStatus; /** * A description and/or code explaining the premature termination of the study. */ - @Child(name = "whyStopped", type = {CodeableConcept.class}, order=30, min=0, max=1, modifier=false, summary=true) + @Child(name = "whyStopped", type = {CodeableConcept.class}, order=26, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="accrual-goal-met | closed-due-to-toxicity | closed-due-to-lack-of-study-progress | temporarily-closed-per-study-design", formalDefinition="A description and/or code explaining the premature termination of the study." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-study-reason-stopped") protected CodeableConcept whyStopped; @@ -3514,46 +3250,46 @@ public class ResearchStudy extends DomainResource { /** * Target or actual group of participants enrolled in study. */ - @Child(name = "recruitment", type = {}, order=31, min=0, max=1, modifier=false, summary=true) + @Child(name = "recruitment", type = {}, order=27, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Target or actual group of participants enrolled in study", formalDefinition="Target or actual group of participants enrolled in study." ) protected ResearchStudyRecruitmentComponent recruitment; /** * Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up. */ - @Child(name = "comparisonGroup", type = {}, order=32, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "comparisonGroup", type = {}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Defined path through the study for a subject", formalDefinition="Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up." ) protected List comparisonGroup; /** * A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study. */ - @Child(name = "objective", type = {}, order=33, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "objective", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A goal for the study", formalDefinition="A goal that the study is aiming to achieve in terms of a scientific question to be answered by the analysis of data collected during the study." ) protected List objective; /** * An outcome or planned variable to measure during the study. */ - @Child(name = "outcomeMeasure", type = {}, order=34, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "outcomeMeasure", type = {}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="An outcome or planned variable to measure during the study", formalDefinition="An outcome or planned variable to measure during the study." ) protected List outcomeMeasure; /** * Link to one or more sets of results generated by the study. Could also link to a research registry holding the results such as ClinicalTrials.gov. */ - @Child(name = "result", type = {EvidenceReport.class, Citation.class, DiagnosticReport.class}, order=35, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "result", type = {EvidenceReport.class, Citation.class, DiagnosticReport.class}, order=31, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Link to results generated during the study", formalDefinition="Link to one or more sets of results generated by the study. Could also link to a research registry holding the results such as ClinicalTrials.gov." ) protected List result; /** * A general storage or archive location for the study. This may contain an assortment of content which is not specified in advance. */ - @Child(name = "webLocation", type = {}, order=36, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "webLocation", type = {}, order=32, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Archive location for the study", formalDefinition="A general storage or archive location for the study. This may contain an assortment of content which is not specified in advance." ) protected List webLocation; - private static final long serialVersionUID = 1378717503L; + private static final long serialVersionUID = 1995353917L; /** * Constructor @@ -3673,7 +3409,7 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #version} (Business identifier for the study record.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value + * @return {@link #version} (The business version for the study record.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value */ public StringType getVersionElement() { if (this.version == null) @@ -3693,7 +3429,7 @@ public class ResearchStudy extends DomainResource { } /** - * @param value {@link #version} (Business identifier for the study record.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value + * @param value {@link #version} (The business version for the study record.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value */ public ResearchStudy setVersionElement(StringType value) { this.version = value; @@ -3701,14 +3437,14 @@ public class ResearchStudy extends DomainResource { } /** - * @return Business identifier for the study record. + * @return The business version for the study record. */ public String getVersion() { return this.version == null ? null : this.version.getValue(); } /** - * @param value Business identifier for the study record. + * @param value The business version for the study record. */ public ResearchStudy setVersion(String value) { if (Utilities.noString(value)) @@ -4174,56 +3910,56 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #category} (Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.) + * @return {@link #studyDesign} (Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.) */ - public List getCategory() { - if (this.category == null) - this.category = new ArrayList(); - return this.category; + public List getStudyDesign() { + if (this.studyDesign == null) + this.studyDesign = new ArrayList(); + return this.studyDesign; } /** * @return Returns a reference to this for easy method chaining */ - public ResearchStudy setCategory(List theCategory) { - this.category = theCategory; + public ResearchStudy setStudyDesign(List theStudyDesign) { + this.studyDesign = theStudyDesign; return this; } - public boolean hasCategory() { - if (this.category == null) + public boolean hasStudyDesign() { + if (this.studyDesign == null) return false; - for (CodeableConcept item : this.category) + for (CodeableConcept item : this.studyDesign) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addCategory() { //3 + public CodeableConcept addStudyDesign() { //3 CodeableConcept t = new CodeableConcept(); - if (this.category == null) - this.category = new ArrayList(); - this.category.add(t); + if (this.studyDesign == null) + this.studyDesign = new ArrayList(); + this.studyDesign.add(t); return t; } - public ResearchStudy addCategory(CodeableConcept t) { //3 + public ResearchStudy addStudyDesign(CodeableConcept t) { //3 if (t == null) return this; - if (this.category == null) - this.category = new ArrayList(); - this.category.add(t); + if (this.studyDesign == null) + this.studyDesign = new ArrayList(); + this.studyDesign.add(t); return this; } /** - * @return The first repetition of repeating field {@link #category}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #studyDesign}, creating it if it does not already exist {3} */ - public CodeableConcept getCategoryFirstRep() { - if (getCategory().isEmpty()) { - addCategory(); + public CodeableConcept getStudyDesignFirstRep() { + if (getStudyDesign().isEmpty()) { + addStudyDesign(); } - return getCategory().get(0); + return getStudyDesign().get(0); } /** @@ -4386,60 +4122,60 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #location} (Indicates a country, state or other region where the study is taking place.) + * @return {@link #region} (A country, state or other area where the study is taking place rather than its precise geographic location or address.) */ - public List getLocation() { - if (this.location == null) - this.location = new ArrayList(); - return this.location; + public List getRegion() { + if (this.region == null) + this.region = new ArrayList(); + return this.region; } /** * @return Returns a reference to this for easy method chaining */ - public ResearchStudy setLocation(List theLocation) { - this.location = theLocation; + public ResearchStudy setRegion(List theRegion) { + this.region = theRegion; return this; } - public boolean hasLocation() { - if (this.location == null) + public boolean hasRegion() { + if (this.region == null) return false; - for (CodeableConcept item : this.location) + for (CodeableConcept item : this.region) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addLocation() { //3 + public CodeableConcept addRegion() { //3 CodeableConcept t = new CodeableConcept(); - if (this.location == null) - this.location = new ArrayList(); - this.location.add(t); + if (this.region == null) + this.region = new ArrayList(); + this.region.add(t); return t; } - public ResearchStudy addLocation(CodeableConcept t) { //3 + public ResearchStudy addRegion(CodeableConcept t) { //3 if (t == null) return this; - if (this.location == null) - this.location = new ArrayList(); - this.location.add(t); + if (this.region == null) + this.region = new ArrayList(); + this.region.add(t); return this; } /** - * @return The first repetition of repeating field {@link #location}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #region}, creating it if it does not already exist {3} */ - public CodeableConcept getLocationFirstRep() { - if (getLocation().isEmpty()) { - addLocation(); + public CodeableConcept getRegionFirstRep() { + if (getRegion().isEmpty()) { + addRegion(); } - return getLocation().get(0); + return getRegion().get(0); } /** - * @return {@link #descriptionSummary} (A brief summary of the study description.). This is the underlying object with id, value and extensions. The accessor "getDescriptionSummary" gives direct access to the value + * @return {@link #descriptionSummary} (A brief text for explaining the study.). This is the underlying object with id, value and extensions. The accessor "getDescriptionSummary" gives direct access to the value */ public MarkdownType getDescriptionSummaryElement() { if (this.descriptionSummary == null) @@ -4459,7 +4195,7 @@ public class ResearchStudy extends DomainResource { } /** - * @param value {@link #descriptionSummary} (A brief summary of the study description.). This is the underlying object with id, value and extensions. The accessor "getDescriptionSummary" gives direct access to the value + * @param value {@link #descriptionSummary} (A brief text for explaining the study.). This is the underlying object with id, value and extensions. The accessor "getDescriptionSummary" gives direct access to the value */ public ResearchStudy setDescriptionSummaryElement(MarkdownType value) { this.descriptionSummary = value; @@ -4467,14 +4203,14 @@ public class ResearchStudy extends DomainResource { } /** - * @return A brief summary of the study description. + * @return A brief text for explaining the study. */ public String getDescriptionSummary() { return this.descriptionSummary == null ? null : this.descriptionSummary.getValue(); } /** - * @param value A brief summary of the study description. + * @param value A brief text for explaining the study. */ public ResearchStudy setDescriptionSummary(String value) { if (value == null) @@ -4488,7 +4224,7 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #description} (A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @return {@link #description} (A detailed and human-readable narrative of the study. E.g., study abstract.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public MarkdownType getDescriptionElement() { if (this.description == null) @@ -4508,7 +4244,7 @@ public class ResearchStudy extends DomainResource { } /** - * @param value {@link #description} (A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value + * @param value {@link #description} (A detailed and human-readable narrative of the study. E.g., study abstract.). This is the underlying object with id, value and extensions. The accessor "getDescription" gives direct access to the value */ public ResearchStudy setDescriptionElement(MarkdownType value) { this.description = value; @@ -4516,14 +4252,14 @@ public class ResearchStudy extends DomainResource { } /** - * @return A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description. + * @return A detailed and human-readable narrative of the study. E.g., study abstract. */ public String getDescription() { return this.description == null ? null : this.description.getValue(); } /** - * @param value A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description. + * @param value A detailed and human-readable narrative of the study. E.g., study abstract. */ public ResearchStudy setDescription(String value) { if (value == null) @@ -4560,107 +4296,6 @@ public class ResearchStudy extends DomainResource { return this; } - /** - * @return {@link #contact} (Contact details to assist a user in learning more about or engaging with the study.) - */ - public List getContact() { - if (this.contact == null) - this.contact = new ArrayList(); - return this.contact; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ResearchStudy setContact(List theContact) { - this.contact = theContact; - return this; - } - - public boolean hasContact() { - if (this.contact == null) - return false; - for (ContactDetail item : this.contact) - if (!item.isEmpty()) - return true; - return false; - } - - public ContactDetail addContact() { //3 - ContactDetail t = new ContactDetail(); - if (this.contact == null) - this.contact = new ArrayList(); - this.contact.add(t); - return t; - } - - public ResearchStudy addContact(ContactDetail t) { //3 - if (t == null) - return this; - if (this.contact == null) - this.contact = new ArrayList(); - this.contact.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #contact}, creating it if it does not already exist {3} - */ - public ContactDetail getContactFirstRep() { - if (getContact().isEmpty()) { - addContact(); - } - return getContact().get(0); - } - - /** - * @return {@link #sponsor} (An organization that initiates the investigation and is legally responsible for the study.) - */ - public Reference getSponsor() { - if (this.sponsor == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResearchStudy.sponsor"); - else if (Configuration.doAutoCreate()) - this.sponsor = new Reference(); // cc - return this.sponsor; - } - - public boolean hasSponsor() { - return this.sponsor != null && !this.sponsor.isEmpty(); - } - - /** - * @param value {@link #sponsor} (An organization that initiates the investigation and is legally responsible for the study.) - */ - public ResearchStudy setSponsor(Reference value) { - this.sponsor = value; - return this; - } - - /** - * @return {@link #principalInvestigator} (A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation.) - */ - public Reference getPrincipalInvestigator() { - if (this.principalInvestigator == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ResearchStudy.principalInvestigator"); - else if (Configuration.doAutoCreate()) - this.principalInvestigator = new Reference(); // cc - return this.principalInvestigator; - } - - public boolean hasPrincipalInvestigator() { - return this.principalInvestigator != null && !this.principalInvestigator.isEmpty(); - } - - /** - * @param value {@link #principalInvestigator} (A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation.) - */ - public ResearchStudy setPrincipalInvestigator(Reference value) { - this.principalInvestigator = value; - return this; - } - /** * @return {@link #site} (A facility in which study activities are conducted.) */ @@ -4768,56 +4403,56 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #classification} (Classification for the study.) + * @return {@link #classifier} (Additional grouping mechanism or categorization of a research study. Example: FDA regulated device, FDA regulated drug, MPG Paragraph 23b (a German legal requirement), IRB-exempt, etc. Implementation Note: do not use the classifier element to support existing semantics that are already supported thru explicit elements in the resource.) */ - public List getClassification() { - if (this.classification == null) - this.classification = new ArrayList(); - return this.classification; + public List getClassifier() { + if (this.classifier == null) + this.classifier = new ArrayList(); + return this.classifier; } /** * @return Returns a reference to this for easy method chaining */ - public ResearchStudy setClassification(List theClassification) { - this.classification = theClassification; + public ResearchStudy setClassifier(List theClassifier) { + this.classifier = theClassifier; return this; } - public boolean hasClassification() { - if (this.classification == null) + public boolean hasClassifier() { + if (this.classifier == null) return false; - for (ResearchStudyClassificationComponent item : this.classification) + for (CodeableConcept item : this.classifier) if (!item.isEmpty()) return true; return false; } - public ResearchStudyClassificationComponent addClassification() { //3 - ResearchStudyClassificationComponent t = new ResearchStudyClassificationComponent(); - if (this.classification == null) - this.classification = new ArrayList(); - this.classification.add(t); + public CodeableConcept addClassifier() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.classifier == null) + this.classifier = new ArrayList(); + this.classifier.add(t); return t; } - public ResearchStudy addClassification(ResearchStudyClassificationComponent t) { //3 + public ResearchStudy addClassifier(CodeableConcept t) { //3 if (t == null) return this; - if (this.classification == null) - this.classification = new ArrayList(); - this.classification.add(t); + if (this.classifier == null) + this.classifier = new ArrayList(); + this.classifier.add(t); return this; } /** - * @return The first repetition of repeating field {@link #classification}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #classifier}, creating it if it does not already exist {3} */ - public ResearchStudyClassificationComponent getClassificationFirstRep() { - if (getClassification().isEmpty()) { - addClassification(); + public CodeableConcept getClassifierFirstRep() { + if (getClassifier().isEmpty()) { + addClassifier(); } - return getClassification().get(0); + return getClassifier().get(0); } /** @@ -4874,109 +4509,56 @@ public class ResearchStudy extends DomainResource { } /** - * @return {@link #currentState} (Current status of the study.) + * @return {@link #progressStatus} (Status of study with time for that status.) */ - public List getCurrentState() { - if (this.currentState == null) - this.currentState = new ArrayList(); - return this.currentState; + public List getProgressStatus() { + if (this.progressStatus == null) + this.progressStatus = new ArrayList(); + return this.progressStatus; } /** * @return Returns a reference to this for easy method chaining */ - public ResearchStudy setCurrentState(List theCurrentState) { - this.currentState = theCurrentState; + public ResearchStudy setProgressStatus(List theProgressStatus) { + this.progressStatus = theProgressStatus; return this; } - public boolean hasCurrentState() { - if (this.currentState == null) + public boolean hasProgressStatus() { + if (this.progressStatus == null) return false; - for (CodeableConcept item : this.currentState) + for (ResearchStudyProgressStatusComponent item : this.progressStatus) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addCurrentState() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.currentState == null) - this.currentState = new ArrayList(); - this.currentState.add(t); + public ResearchStudyProgressStatusComponent addProgressStatus() { //3 + ResearchStudyProgressStatusComponent t = new ResearchStudyProgressStatusComponent(); + if (this.progressStatus == null) + this.progressStatus = new ArrayList(); + this.progressStatus.add(t); return t; } - public ResearchStudy addCurrentState(CodeableConcept t) { //3 + public ResearchStudy addProgressStatus(ResearchStudyProgressStatusComponent t) { //3 if (t == null) return this; - if (this.currentState == null) - this.currentState = new ArrayList(); - this.currentState.add(t); + if (this.progressStatus == null) + this.progressStatus = new ArrayList(); + this.progressStatus.add(t); return this; } /** - * @return The first repetition of repeating field {@link #currentState}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #progressStatus}, creating it if it does not already exist {3} */ - public CodeableConcept getCurrentStateFirstRep() { - if (getCurrentState().isEmpty()) { - addCurrentState(); + public ResearchStudyProgressStatusComponent getProgressStatusFirstRep() { + if (getProgressStatus().isEmpty()) { + addProgressStatus(); } - return getCurrentState().get(0); - } - - /** - * @return {@link #statusDate} (Status of study with time for that status.) - */ - public List getStatusDate() { - if (this.statusDate == null) - this.statusDate = new ArrayList(); - return this.statusDate; - } - - /** - * @return Returns a reference to this for easy method chaining - */ - public ResearchStudy setStatusDate(List theStatusDate) { - this.statusDate = theStatusDate; - return this; - } - - public boolean hasStatusDate() { - if (this.statusDate == null) - return false; - for (ResearchStudyStatusDateComponent item : this.statusDate) - if (!item.isEmpty()) - return true; - return false; - } - - public ResearchStudyStatusDateComponent addStatusDate() { //3 - ResearchStudyStatusDateComponent t = new ResearchStudyStatusDateComponent(); - if (this.statusDate == null) - this.statusDate = new ArrayList(); - this.statusDate.add(t); - return t; - } - - public ResearchStudy addStatusDate(ResearchStudyStatusDateComponent t) { //3 - if (t == null) - return this; - if (this.statusDate == null) - this.statusDate = new ArrayList(); - this.statusDate.add(t); - return this; - } - - /** - * @return The first repetition of repeating field {@link #statusDate}, creating it if it does not already exist {3} - */ - public ResearchStudyStatusDateComponent getStatusDateFirstRep() { - if (getStatusDate().isEmpty()) { - addStatusDate(); - } - return getStatusDate().get(0); + return getProgressStatus().get(0); } /** @@ -5296,7 +4878,7 @@ public class ResearchStudy extends DomainResource { super.listChildren(children); children.add(new Property("url", "uri", "Canonical identifier for this study resource, represented as a globally unique URI.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "Identifiers assigned to this research study by the sponsor or other systems.", 0, java.lang.Integer.MAX_VALUE, identifier)); - children.add(new Property("version", "string", "Business identifier for the study record.", 0, 1, version)); + children.add(new Property("version", "string", "The business version for the study record.", 0, 1, version)); children.add(new Property("name", "string", "Name for this study (computer friendly).", 0, 1, name)); children.add(new Property("title", "string", "The human readable name of the research study.", 0, 1, title)); children.add(new Property("label", "", "Additional names for the study.", 0, java.lang.Integer.MAX_VALUE, label)); @@ -5307,23 +4889,19 @@ public class ResearchStudy extends DomainResource { children.add(new Property("status", "code", "The publication state of the resource (not of the study).", 0, 1, status)); children.add(new Property("primaryPurposeType", "CodeableConcept", "The type of study based upon the intent of the study activities. A classification of the intent of the study.", 0, 1, primaryPurposeType)); children.add(new Property("phase", "CodeableConcept", "The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation.", 0, 1, phase)); - children.add(new Property("category", "CodeableConcept", "Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.", 0, java.lang.Integer.MAX_VALUE, category)); + children.add(new Property("studyDesign", "CodeableConcept", "Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.", 0, java.lang.Integer.MAX_VALUE, studyDesign)); children.add(new Property("focus", "", "The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about.", 0, java.lang.Integer.MAX_VALUE, focus)); children.add(new Property("condition", "CodeableConcept", "The condition that is the focus of the study. For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion \"healthy volunteer\", but the target condition code would be a Lupus SNOMED code.", 0, java.lang.Integer.MAX_VALUE, condition)); children.add(new Property("keyword", "CodeableConcept", "Key terms to aid in searching for or filtering the study.", 0, java.lang.Integer.MAX_VALUE, keyword)); - children.add(new Property("location", "CodeableConcept", "Indicates a country, state or other region where the study is taking place.", 0, java.lang.Integer.MAX_VALUE, location)); - children.add(new Property("descriptionSummary", "markdown", "A brief summary of the study description.", 0, 1, descriptionSummary)); - children.add(new Property("description", "markdown", "A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description.", 0, 1, description)); + children.add(new Property("region", "CodeableConcept", "A country, state or other area where the study is taking place rather than its precise geographic location or address.", 0, java.lang.Integer.MAX_VALUE, region)); + children.add(new Property("descriptionSummary", "markdown", "A brief text for explaining the study.", 0, 1, descriptionSummary)); + children.add(new Property("description", "markdown", "A detailed and human-readable narrative of the study. E.g., study abstract.", 0, 1, description)); children.add(new Property("period", "Period", "Identifies the start date and the expected (or actual, depending on status) end date for the study.", 0, 1, period)); - children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in learning more about or engaging with the study.", 0, java.lang.Integer.MAX_VALUE, contact)); - children.add(new Property("sponsor", "Reference(Organization)", "An organization that initiates the investigation and is legally responsible for the study.", 0, 1, sponsor)); - children.add(new Property("principalInvestigator", "Reference(Practitioner|PractitionerRole)", "A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation.", 0, 1, principalInvestigator)); children.add(new Property("site", "Reference(Location|ResearchStudy|Organization)", "A facility in which study activities are conducted.", 0, java.lang.Integer.MAX_VALUE, site)); children.add(new Property("note", "Annotation", "Comments made about the study by the performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note)); - children.add(new Property("classification", "", "Classification for the study.", 0, java.lang.Integer.MAX_VALUE, classification)); + children.add(new Property("classifier", "CodeableConcept", "Additional grouping mechanism or categorization of a research study. Example: FDA regulated device, FDA regulated drug, MPG Paragraph 23b (a German legal requirement), IRB-exempt, etc. Implementation Note: do not use the classifier element to support existing semantics that are already supported thru explicit elements in the resource.", 0, java.lang.Integer.MAX_VALUE, classifier)); children.add(new Property("associatedParty", "", "Sponsors, collaborators, and other parties.", 0, java.lang.Integer.MAX_VALUE, associatedParty)); - children.add(new Property("currentState", "CodeableConcept", "Current status of the study.", 0, java.lang.Integer.MAX_VALUE, currentState)); - children.add(new Property("statusDate", "", "Status of study with time for that status.", 0, java.lang.Integer.MAX_VALUE, statusDate)); + children.add(new Property("progressStatus", "", "Status of study with time for that status.", 0, java.lang.Integer.MAX_VALUE, progressStatus)); children.add(new Property("whyStopped", "CodeableConcept", "A description and/or code explaining the premature termination of the study.", 0, 1, whyStopped)); children.add(new Property("recruitment", "", "Target or actual group of participants enrolled in study.", 0, 1, recruitment)); children.add(new Property("comparisonGroup", "", "Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up.", 0, java.lang.Integer.MAX_VALUE, comparisonGroup)); @@ -5338,7 +4916,7 @@ public class ResearchStudy extends DomainResource { switch (_hash) { case 116079: /*url*/ return new Property("url", "uri", "Canonical identifier for this study resource, represented as a globally unique URI.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Identifiers assigned to this research study by the sponsor or other systems.", 0, java.lang.Integer.MAX_VALUE, identifier); - case 351608024: /*version*/ return new Property("version", "string", "Business identifier for the study record.", 0, 1, version); + case 351608024: /*version*/ return new Property("version", "string", "The business version for the study record.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "Name for this study (computer friendly).", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "The human readable name of the research study.", 0, 1, title); case 102727412: /*label*/ return new Property("label", "", "Additional names for the study.", 0, java.lang.Integer.MAX_VALUE, label); @@ -5349,23 +4927,19 @@ public class ResearchStudy extends DomainResource { case -892481550: /*status*/ return new Property("status", "code", "The publication state of the resource (not of the study).", 0, 1, status); case -2132842986: /*primaryPurposeType*/ return new Property("primaryPurposeType", "CodeableConcept", "The type of study based upon the intent of the study activities. A classification of the intent of the study.", 0, 1, primaryPurposeType); case 106629499: /*phase*/ return new Property("phase", "CodeableConcept", "The stage in the progression of a therapy from initial experimental use in humans in clinical trials to post-market evaluation.", 0, 1, phase); - case 50511102: /*category*/ return new Property("category", "CodeableConcept", "Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.", 0, java.lang.Integer.MAX_VALUE, category); + case 1709211879: /*studyDesign*/ return new Property("studyDesign", "CodeableConcept", "Codes categorizing the type of study such as investigational vs. observational, type of blinding, type of randomization, safety vs. efficacy, etc.", 0, java.lang.Integer.MAX_VALUE, studyDesign); case 97604824: /*focus*/ return new Property("focus", "", "The medication(s), food(s), therapy(ies), device(s) or other concerns or interventions that the study is seeking to gain more information about.", 0, java.lang.Integer.MAX_VALUE, focus); case -861311717: /*condition*/ return new Property("condition", "CodeableConcept", "The condition that is the focus of the study. For example, In a study to examine risk factors for Lupus, might have as an inclusion criterion \"healthy volunteer\", but the target condition code would be a Lupus SNOMED code.", 0, java.lang.Integer.MAX_VALUE, condition); case -814408215: /*keyword*/ return new Property("keyword", "CodeableConcept", "Key terms to aid in searching for or filtering the study.", 0, java.lang.Integer.MAX_VALUE, keyword); - case 1901043637: /*location*/ return new Property("location", "CodeableConcept", "Indicates a country, state or other region where the study is taking place.", 0, java.lang.Integer.MAX_VALUE, location); - case 21530634: /*descriptionSummary*/ return new Property("descriptionSummary", "markdown", "A brief summary of the study description.", 0, 1, descriptionSummary); - case -1724546052: /*description*/ return new Property("description", "markdown", "A full description of how the study is being conducted. For a description of what the study objectives are see ResearchStudy.objective.description.", 0, 1, description); + case -934795532: /*region*/ return new Property("region", "CodeableConcept", "A country, state or other area where the study is taking place rather than its precise geographic location or address.", 0, java.lang.Integer.MAX_VALUE, region); + case 21530634: /*descriptionSummary*/ return new Property("descriptionSummary", "markdown", "A brief text for explaining the study.", 0, 1, descriptionSummary); + case -1724546052: /*description*/ return new Property("description", "markdown", "A detailed and human-readable narrative of the study. E.g., study abstract.", 0, 1, description); case -991726143: /*period*/ return new Property("period", "Period", "Identifies the start date and the expected (or actual, depending on status) end date for the study.", 0, 1, period); - case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in learning more about or engaging with the study.", 0, java.lang.Integer.MAX_VALUE, contact); - case -1998892262: /*sponsor*/ return new Property("sponsor", "Reference(Organization)", "An organization that initiates the investigation and is legally responsible for the study.", 0, 1, sponsor); - case 1437117175: /*principalInvestigator*/ return new Property("principalInvestigator", "Reference(Practitioner|PractitionerRole)", "A researcher in a study who oversees multiple aspects of the study, such as concept development, protocol writing, protocol submission for IRB approval, participant recruitment, informed consent, data collection, analysis, interpretation and presentation.", 0, 1, principalInvestigator); case 3530567: /*site*/ return new Property("site", "Reference(Location|ResearchStudy|Organization)", "A facility in which study activities are conducted.", 0, java.lang.Integer.MAX_VALUE, site); case 3387378: /*note*/ return new Property("note", "Annotation", "Comments made about the study by the performer, subject or other participants.", 0, java.lang.Integer.MAX_VALUE, note); - case 382350310: /*classification*/ return new Property("classification", "", "Classification for the study.", 0, java.lang.Integer.MAX_VALUE, classification); + case -281470431: /*classifier*/ return new Property("classifier", "CodeableConcept", "Additional grouping mechanism or categorization of a research study. Example: FDA regulated device, FDA regulated drug, MPG Paragraph 23b (a German legal requirement), IRB-exempt, etc. Implementation Note: do not use the classifier element to support existing semantics that are already supported thru explicit elements in the resource.", 0, java.lang.Integer.MAX_VALUE, classifier); case -1841460864: /*associatedParty*/ return new Property("associatedParty", "", "Sponsors, collaborators, and other parties.", 0, java.lang.Integer.MAX_VALUE, associatedParty); - case 1457822360: /*currentState*/ return new Property("currentState", "CodeableConcept", "Current status of the study.", 0, java.lang.Integer.MAX_VALUE, currentState); - case 247524032: /*statusDate*/ return new Property("statusDate", "", "Status of study with time for that status.", 0, java.lang.Integer.MAX_VALUE, statusDate); + case -1897502593: /*progressStatus*/ return new Property("progressStatus", "", "Status of study with time for that status.", 0, java.lang.Integer.MAX_VALUE, progressStatus); case -699986715: /*whyStopped*/ return new Property("whyStopped", "CodeableConcept", "A description and/or code explaining the premature termination of the study.", 0, 1, whyStopped); case 780783004: /*recruitment*/ return new Property("recruitment", "", "Target or actual group of participants enrolled in study.", 0, 1, recruitment); case -138266634: /*comparisonGroup*/ return new Property("comparisonGroup", "", "Describes an expected sequence of events for one of the participants of a study. E.g. Exposure to drug A, wash-out, exposure to drug B, wash-out, follow-up.", 0, java.lang.Integer.MAX_VALUE, comparisonGroup); @@ -5394,23 +4968,19 @@ public class ResearchStudy extends DomainResource { case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -2132842986: /*primaryPurposeType*/ return this.primaryPurposeType == null ? new Base[0] : new Base[] {this.primaryPurposeType}; // CodeableConcept case 106629499: /*phase*/ return this.phase == null ? new Base[0] : new Base[] {this.phase}; // CodeableConcept - case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept + case 1709211879: /*studyDesign*/ return this.studyDesign == null ? new Base[0] : this.studyDesign.toArray(new Base[this.studyDesign.size()]); // CodeableConcept case 97604824: /*focus*/ return this.focus == null ? new Base[0] : this.focus.toArray(new Base[this.focus.size()]); // ResearchStudyFocusComponent case -861311717: /*condition*/ return this.condition == null ? new Base[0] : this.condition.toArray(new Base[this.condition.size()]); // CodeableConcept case -814408215: /*keyword*/ return this.keyword == null ? new Base[0] : this.keyword.toArray(new Base[this.keyword.size()]); // CodeableConcept - case 1901043637: /*location*/ return this.location == null ? new Base[0] : this.location.toArray(new Base[this.location.size()]); // CodeableConcept + case -934795532: /*region*/ return this.region == null ? new Base[0] : this.region.toArray(new Base[this.region.size()]); // CodeableConcept case 21530634: /*descriptionSummary*/ return this.descriptionSummary == null ? new Base[0] : new Base[] {this.descriptionSummary}; // MarkdownType case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // MarkdownType case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // Period - case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactDetail - case -1998892262: /*sponsor*/ return this.sponsor == null ? new Base[0] : new Base[] {this.sponsor}; // Reference - case 1437117175: /*principalInvestigator*/ return this.principalInvestigator == null ? new Base[0] : new Base[] {this.principalInvestigator}; // Reference case 3530567: /*site*/ return this.site == null ? new Base[0] : this.site.toArray(new Base[this.site.size()]); // Reference case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation - case 382350310: /*classification*/ return this.classification == null ? new Base[0] : this.classification.toArray(new Base[this.classification.size()]); // ResearchStudyClassificationComponent + case -281470431: /*classifier*/ return this.classifier == null ? new Base[0] : this.classifier.toArray(new Base[this.classifier.size()]); // CodeableConcept case -1841460864: /*associatedParty*/ return this.associatedParty == null ? new Base[0] : this.associatedParty.toArray(new Base[this.associatedParty.size()]); // ResearchStudyAssociatedPartyComponent - case 1457822360: /*currentState*/ return this.currentState == null ? new Base[0] : this.currentState.toArray(new Base[this.currentState.size()]); // CodeableConcept - case 247524032: /*statusDate*/ return this.statusDate == null ? new Base[0] : this.statusDate.toArray(new Base[this.statusDate.size()]); // ResearchStudyStatusDateComponent + case -1897502593: /*progressStatus*/ return this.progressStatus == null ? new Base[0] : this.progressStatus.toArray(new Base[this.progressStatus.size()]); // ResearchStudyProgressStatusComponent case -699986715: /*whyStopped*/ return this.whyStopped == null ? new Base[0] : new Base[] {this.whyStopped}; // CodeableConcept case 780783004: /*recruitment*/ return this.recruitment == null ? new Base[0] : new Base[] {this.recruitment}; // ResearchStudyRecruitmentComponent case -138266634: /*comparisonGroup*/ return this.comparisonGroup == null ? new Base[0] : this.comparisonGroup.toArray(new Base[this.comparisonGroup.size()]); // ResearchStudyComparisonGroupComponent @@ -5466,8 +5036,8 @@ public class ResearchStudy extends DomainResource { case 106629499: // phase this.phase = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; - case 50511102: // category - this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + case 1709211879: // studyDesign + this.getStudyDesign().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 97604824: // focus this.getFocus().add((ResearchStudyFocusComponent) value); // ResearchStudyFocusComponent @@ -5478,8 +5048,8 @@ public class ResearchStudy extends DomainResource { case -814408215: // keyword this.getKeyword().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; - case 1901043637: // location - this.getLocation().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + case -934795532: // region + this.getRegion().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case 21530634: // descriptionSummary this.descriptionSummary = TypeConvertor.castToMarkdown(value); // MarkdownType @@ -5490,32 +5060,20 @@ public class ResearchStudy extends DomainResource { case -991726143: // period this.period = TypeConvertor.castToPeriod(value); // Period return value; - case 951526432: // contact - this.getContact().add(TypeConvertor.castToContactDetail(value)); // ContactDetail - return value; - case -1998892262: // sponsor - this.sponsor = TypeConvertor.castToReference(value); // Reference - return value; - case 1437117175: // principalInvestigator - this.principalInvestigator = TypeConvertor.castToReference(value); // Reference - return value; case 3530567: // site this.getSite().add(TypeConvertor.castToReference(value)); // Reference return value; case 3387378: // note this.getNote().add(TypeConvertor.castToAnnotation(value)); // Annotation return value; - case 382350310: // classification - this.getClassification().add((ResearchStudyClassificationComponent) value); // ResearchStudyClassificationComponent + case -281470431: // classifier + this.getClassifier().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; case -1841460864: // associatedParty this.getAssociatedParty().add((ResearchStudyAssociatedPartyComponent) value); // ResearchStudyAssociatedPartyComponent return value; - case 1457822360: // currentState - this.getCurrentState().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept - return value; - case 247524032: // statusDate - this.getStatusDate().add((ResearchStudyStatusDateComponent) value); // ResearchStudyStatusDateComponent + case -1897502593: // progressStatus + this.getProgressStatus().add((ResearchStudyProgressStatusComponent) value); // ResearchStudyProgressStatusComponent return value; case -699986715: // whyStopped this.whyStopped = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -5572,40 +5130,32 @@ public class ResearchStudy extends DomainResource { this.primaryPurposeType = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("phase")) { this.phase = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("category")) { - this.getCategory().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("studyDesign")) { + this.getStudyDesign().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("focus")) { this.getFocus().add((ResearchStudyFocusComponent) value); } else if (name.equals("condition")) { this.getCondition().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("keyword")) { this.getKeyword().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("location")) { - this.getLocation().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("region")) { + this.getRegion().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("descriptionSummary")) { this.descriptionSummary = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("description")) { this.description = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("period")) { this.period = TypeConvertor.castToPeriod(value); // Period - } else if (name.equals("contact")) { - this.getContact().add(TypeConvertor.castToContactDetail(value)); - } else if (name.equals("sponsor")) { - this.sponsor = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("principalInvestigator")) { - this.principalInvestigator = TypeConvertor.castToReference(value); // Reference } else if (name.equals("site")) { this.getSite().add(TypeConvertor.castToReference(value)); } else if (name.equals("note")) { this.getNote().add(TypeConvertor.castToAnnotation(value)); - } else if (name.equals("classification")) { - this.getClassification().add((ResearchStudyClassificationComponent) value); + } else if (name.equals("classifier")) { + this.getClassifier().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("associatedParty")) { this.getAssociatedParty().add((ResearchStudyAssociatedPartyComponent) value); - } else if (name.equals("currentState")) { - this.getCurrentState().add(TypeConvertor.castToCodeableConcept(value)); - } else if (name.equals("statusDate")) { - this.getStatusDate().add((ResearchStudyStatusDateComponent) value); + } else if (name.equals("progressStatus")) { + this.getProgressStatus().add((ResearchStudyProgressStatusComponent) value); } else if (name.equals("whyStopped")) { this.whyStopped = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("recruitment")) { @@ -5641,23 +5191,19 @@ public class ResearchStudy extends DomainResource { case -892481550: return getStatusElement(); case -2132842986: return getPrimaryPurposeType(); case 106629499: return getPhase(); - case 50511102: return addCategory(); + case 1709211879: return addStudyDesign(); case 97604824: return addFocus(); case -861311717: return addCondition(); case -814408215: return addKeyword(); - case 1901043637: return addLocation(); + case -934795532: return addRegion(); case 21530634: return getDescriptionSummaryElement(); case -1724546052: return getDescriptionElement(); case -991726143: return getPeriod(); - case 951526432: return addContact(); - case -1998892262: return getSponsor(); - case 1437117175: return getPrincipalInvestigator(); case 3530567: return addSite(); case 3387378: return addNote(); - case 382350310: return addClassification(); + case -281470431: return addClassifier(); case -1841460864: return addAssociatedParty(); - case 1457822360: return addCurrentState(); - case 247524032: return addStatusDate(); + case -1897502593: return addProgressStatus(); case -699986715: return getWhyStopped(); case 780783004: return getRecruitment(); case -138266634: return addComparisonGroup(); @@ -5686,23 +5232,19 @@ public class ResearchStudy extends DomainResource { case -892481550: /*status*/ return new String[] {"code"}; case -2132842986: /*primaryPurposeType*/ return new String[] {"CodeableConcept"}; case 106629499: /*phase*/ return new String[] {"CodeableConcept"}; - case 50511102: /*category*/ return new String[] {"CodeableConcept"}; + case 1709211879: /*studyDesign*/ return new String[] {"CodeableConcept"}; case 97604824: /*focus*/ return new String[] {}; case -861311717: /*condition*/ return new String[] {"CodeableConcept"}; case -814408215: /*keyword*/ return new String[] {"CodeableConcept"}; - case 1901043637: /*location*/ return new String[] {"CodeableConcept"}; + case -934795532: /*region*/ return new String[] {"CodeableConcept"}; case 21530634: /*descriptionSummary*/ return new String[] {"markdown"}; case -1724546052: /*description*/ return new String[] {"markdown"}; case -991726143: /*period*/ return new String[] {"Period"}; - case 951526432: /*contact*/ return new String[] {"ContactDetail"}; - case -1998892262: /*sponsor*/ return new String[] {"Reference"}; - case 1437117175: /*principalInvestigator*/ return new String[] {"Reference"}; case 3530567: /*site*/ return new String[] {"Reference"}; case 3387378: /*note*/ return new String[] {"Annotation"}; - case 382350310: /*classification*/ return new String[] {}; + case -281470431: /*classifier*/ return new String[] {"CodeableConcept"}; case -1841460864: /*associatedParty*/ return new String[] {}; - case 1457822360: /*currentState*/ return new String[] {"CodeableConcept"}; - case 247524032: /*statusDate*/ return new String[] {}; + case -1897502593: /*progressStatus*/ return new String[] {}; case -699986715: /*whyStopped*/ return new String[] {"CodeableConcept"}; case 780783004: /*recruitment*/ return new String[] {}; case -138266634: /*comparisonGroup*/ return new String[] {}; @@ -5758,8 +5300,8 @@ public class ResearchStudy extends DomainResource { this.phase = new CodeableConcept(); return this.phase; } - else if (name.equals("category")) { - return addCategory(); + else if (name.equals("studyDesign")) { + return addStudyDesign(); } else if (name.equals("focus")) { return addFocus(); @@ -5770,8 +5312,8 @@ public class ResearchStudy extends DomainResource { else if (name.equals("keyword")) { return addKeyword(); } - else if (name.equals("location")) { - return addLocation(); + else if (name.equals("region")) { + return addRegion(); } else if (name.equals("descriptionSummary")) { throw new FHIRException("Cannot call addChild on a primitive type ResearchStudy.descriptionSummary"); @@ -5783,34 +5325,20 @@ public class ResearchStudy extends DomainResource { this.period = new Period(); return this.period; } - else if (name.equals("contact")) { - return addContact(); - } - else if (name.equals("sponsor")) { - this.sponsor = new Reference(); - return this.sponsor; - } - else if (name.equals("principalInvestigator")) { - this.principalInvestigator = new Reference(); - return this.principalInvestigator; - } else if (name.equals("site")) { return addSite(); } else if (name.equals("note")) { return addNote(); } - else if (name.equals("classification")) { - return addClassification(); + else if (name.equals("classifier")) { + return addClassifier(); } else if (name.equals("associatedParty")) { return addAssociatedParty(); } - else if (name.equals("currentState")) { - return addCurrentState(); - } - else if (name.equals("statusDate")) { - return addStatusDate(); + else if (name.equals("progressStatus")) { + return addProgressStatus(); } else if (name.equals("whyStopped")) { this.whyStopped = new CodeableConcept(); @@ -5885,10 +5413,10 @@ public class ResearchStudy extends DomainResource { dst.status = status == null ? null : status.copy(); dst.primaryPurposeType = primaryPurposeType == null ? null : primaryPurposeType.copy(); dst.phase = phase == null ? null : phase.copy(); - if (category != null) { - dst.category = new ArrayList(); - for (CodeableConcept i : category) - dst.category.add(i.copy()); + if (studyDesign != null) { + dst.studyDesign = new ArrayList(); + for (CodeableConcept i : studyDesign) + dst.studyDesign.add(i.copy()); }; if (focus != null) { dst.focus = new ArrayList(); @@ -5905,21 +5433,14 @@ public class ResearchStudy extends DomainResource { for (CodeableConcept i : keyword) dst.keyword.add(i.copy()); }; - if (location != null) { - dst.location = new ArrayList(); - for (CodeableConcept i : location) - dst.location.add(i.copy()); + if (region != null) { + dst.region = new ArrayList(); + for (CodeableConcept i : region) + dst.region.add(i.copy()); }; dst.descriptionSummary = descriptionSummary == null ? null : descriptionSummary.copy(); dst.description = description == null ? null : description.copy(); dst.period = period == null ? null : period.copy(); - if (contact != null) { - dst.contact = new ArrayList(); - for (ContactDetail i : contact) - dst.contact.add(i.copy()); - }; - dst.sponsor = sponsor == null ? null : sponsor.copy(); - dst.principalInvestigator = principalInvestigator == null ? null : principalInvestigator.copy(); if (site != null) { dst.site = new ArrayList(); for (Reference i : site) @@ -5930,25 +5451,20 @@ public class ResearchStudy extends DomainResource { for (Annotation i : note) dst.note.add(i.copy()); }; - if (classification != null) { - dst.classification = new ArrayList(); - for (ResearchStudyClassificationComponent i : classification) - dst.classification.add(i.copy()); + if (classifier != null) { + dst.classifier = new ArrayList(); + for (CodeableConcept i : classifier) + dst.classifier.add(i.copy()); }; if (associatedParty != null) { dst.associatedParty = new ArrayList(); for (ResearchStudyAssociatedPartyComponent i : associatedParty) dst.associatedParty.add(i.copy()); }; - if (currentState != null) { - dst.currentState = new ArrayList(); - for (CodeableConcept i : currentState) - dst.currentState.add(i.copy()); - }; - if (statusDate != null) { - dst.statusDate = new ArrayList(); - for (ResearchStudyStatusDateComponent i : statusDate) - dst.statusDate.add(i.copy()); + if (progressStatus != null) { + dst.progressStatus = new ArrayList(); + for (ResearchStudyProgressStatusComponent i : progressStatus) + dst.progressStatus.add(i.copy()); }; dst.whyStopped = whyStopped == null ? null : whyStopped.copy(); dst.recruitment = recruitment == null ? null : recruitment.copy(); @@ -5994,17 +5510,15 @@ public class ResearchStudy extends DomainResource { && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(label, o.label, true) && compareDeep(protocol, o.protocol, true) && compareDeep(partOf, o.partOf, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) && compareDeep(date, o.date, true) && compareDeep(status, o.status, true) && compareDeep(primaryPurposeType, o.primaryPurposeType, true) - && compareDeep(phase, o.phase, true) && compareDeep(category, o.category, true) && compareDeep(focus, o.focus, true) - && compareDeep(condition, o.condition, true) && compareDeep(keyword, o.keyword, true) && compareDeep(location, o.location, true) + && compareDeep(phase, o.phase, true) && compareDeep(studyDesign, o.studyDesign, true) && compareDeep(focus, o.focus, true) + && compareDeep(condition, o.condition, true) && compareDeep(keyword, o.keyword, true) && compareDeep(region, o.region, true) && compareDeep(descriptionSummary, o.descriptionSummary, true) && compareDeep(description, o.description, true) - && compareDeep(period, o.period, true) && compareDeep(contact, o.contact, true) && compareDeep(sponsor, o.sponsor, true) - && compareDeep(principalInvestigator, o.principalInvestigator, true) && compareDeep(site, o.site, true) - && compareDeep(note, o.note, true) && compareDeep(classification, o.classification, true) && compareDeep(associatedParty, o.associatedParty, true) - && compareDeep(currentState, o.currentState, true) && compareDeep(statusDate, o.statusDate, true) - && compareDeep(whyStopped, o.whyStopped, true) && compareDeep(recruitment, o.recruitment, true) - && compareDeep(comparisonGroup, o.comparisonGroup, true) && compareDeep(objective, o.objective, true) - && compareDeep(outcomeMeasure, o.outcomeMeasure, true) && compareDeep(result, o.result, true) && compareDeep(webLocation, o.webLocation, true) - ; + && compareDeep(period, o.period, true) && compareDeep(site, o.site, true) && compareDeep(note, o.note, true) + && compareDeep(classifier, o.classifier, true) && compareDeep(associatedParty, o.associatedParty, true) + && compareDeep(progressStatus, o.progressStatus, true) && compareDeep(whyStopped, o.whyStopped, true) + && compareDeep(recruitment, o.recruitment, true) && compareDeep(comparisonGroup, o.comparisonGroup, true) + && compareDeep(objective, o.objective, true) && compareDeep(outcomeMeasure, o.outcomeMeasure, true) + && compareDeep(result, o.result, true) && compareDeep(webLocation, o.webLocation, true); } @Override @@ -6023,10 +5537,9 @@ public class ResearchStudy extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , name, title, label, protocol, partOf, relatedArtifact, date, status, primaryPurposeType - , phase, category, focus, condition, keyword, location, descriptionSummary, description - , period, contact, sponsor, principalInvestigator, site, note, classification - , associatedParty, currentState, statusDate, whyStopped, recruitment, comparisonGroup - , objective, outcomeMeasure, result, webLocation); + , phase, studyDesign, focus, condition, keyword, region, descriptionSummary, description + , period, site, note, classifier, associatedParty, progressStatus, whyStopped + , recruitment, comparisonGroup, objective, outcomeMeasure, result, webLocation); } @Override @@ -6034,26 +5547,6 @@ public class ResearchStudy extends DomainResource { return ResourceType.ResearchStudy; } - /** - * Search parameter: category - *

- * Description: Classifications for the study
- * Type: token
- * Path: ResearchStudy.category
- *

- */ - @SearchParamDefinition(name="category", path="ResearchStudy.category", description="Classifications for the study", type="token" ) - public static final String SP_CATEGORY = "category"; - /** - * Fluent Client search parameter constant for category - *

- * Description: Classifications for the study
- * Type: token
- * Path: ResearchStudy.category
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); - /** * Search parameter: condition *

@@ -6154,26 +5647,6 @@ public class ResearchStudy extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam KEYWORD = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_KEYWORD); - /** - * Search parameter: location - *

- * Description: Geographic region(s) for study
- * Type: token
- * Path: ResearchStudy.location
- *

- */ - @SearchParamDefinition(name="location", path="ResearchStudy.location", description="Geographic region(s) for study", type="token" ) - public static final String SP_LOCATION = "location"; - /** - * Fluent Client search parameter constant for location - *

- * Description: Geographic region(s) for study
- * Type: token
- * Path: ResearchStudy.location
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam LOCATION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_LOCATION); - /** * Search parameter: partof *

@@ -6200,32 +5673,6 @@ public class ResearchStudy extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_PARTOF = new ca.uhn.fhir.model.api.Include("ResearchStudy:partof").toLocked(); - /** - * Search parameter: principalinvestigator - *

- * Description: Researcher who oversees multiple aspects of the study
- * Type: reference
- * Path: ResearchStudy.principalInvestigator
- *

- */ - @SearchParamDefinition(name="principalinvestigator", path="ResearchStudy.principalInvestigator", description="Researcher who oversees multiple aspects of the study", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Practitioner") }, target={Practitioner.class, PractitionerRole.class } ) - public static final String SP_PRINCIPALINVESTIGATOR = "principalinvestigator"; - /** - * Fluent Client search parameter constant for principalinvestigator - *

- * Description: Researcher who oversees multiple aspects of the study
- * Type: reference
- * Path: ResearchStudy.principalInvestigator
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PRINCIPALINVESTIGATOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PRINCIPALINVESTIGATOR); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ResearchStudy:principalinvestigator". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_PRINCIPALINVESTIGATOR = new ca.uhn.fhir.model.api.Include("ResearchStudy:principalinvestigator").toLocked(); - /** * Search parameter: protocol *

@@ -6292,6 +5739,26 @@ public class ResearchStudy extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.NumberClientParam RECRUITMENTTARGET = new ca.uhn.fhir.rest.gclient.NumberClientParam(SP_RECRUITMENTTARGET); + /** + * Search parameter: region + *

+ * Description: Geographic area for the study
+ * Type: token
+ * Path: ResearchStudy.region
+ *

+ */ + @SearchParamDefinition(name="region", path="ResearchStudy.region", description="Geographic area for the study", type="token" ) + public static final String SP_REGION = "region"; + /** + * Fluent Client search parameter constant for region + *

+ * Description: Geographic area for the study
+ * Type: token
+ * Path: ResearchStudy.region
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam REGION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_REGION); + /** * Search parameter: site *

@@ -6318,32 +5785,6 @@ public class ResearchStudy extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_SITE = new ca.uhn.fhir.model.api.Include("ResearchStudy:site").toLocked(); - /** - * Search parameter: sponsor - *

- * Description: Organization that initiates and is legally responsible for the study
- * Type: reference
- * Path: ResearchStudy.sponsor
- *

- */ - @SearchParamDefinition(name="sponsor", path="ResearchStudy.sponsor", description="Organization that initiates and is legally responsible for the study", type="reference", target={Organization.class } ) - public static final String SP_SPONSOR = "sponsor"; - /** - * Fluent Client search parameter constant for sponsor - *

- * Description: Organization that initiates and is legally responsible for the study
- * Type: reference
- * Path: ResearchStudy.sponsor
- *

- */ - public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SPONSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SPONSOR); - -/** - * Constant for fluent queries to be used to add include statements. Specifies - * the path value of "ResearchStudy:sponsor". - */ - public static final ca.uhn.fhir.model.api.Include INCLUDE_SPONSOR = new ca.uhn.fhir.model.api.Include("ResearchStudy:sponsor").toLocked(); - /** * Search parameter: status *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchSubject.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchSubject.java index 837443198..625e5d34d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchSubject.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResearchSubject.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -68,7 +68,7 @@ public class ResearchSubject extends DomainResource { */ @Child(name = "subjectState", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn", formalDefinition="The current state of the subject." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-subject-progress") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/research-subject-state") protected CodeableConcept subjectState; /** @@ -1171,6 +1171,164 @@ public class ResearchSubject extends DomainResource { return ResourceType.ResearchSubject; } + /** + * Search parameter: date + *

+ * Description: Start and end of participation
+ * Type: date
+ * Path: ResearchSubject.period
+ *

+ */ + @SearchParamDefinition(name="date", path="ResearchSubject.period", description="Start and end of participation", type="date" ) + public static final String SP_DATE = "date"; + /** + * Fluent Client search parameter constant for date + *

+ * Description: Start and end of participation
+ * Type: date
+ * Path: ResearchSubject.period
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam DATE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_DATE); + + /** + * Search parameter: identifier + *

+ * Description: Business Identifier for research subject in a study
+ * Type: token
+ * Path: ResearchSubject.identifier
+ *

+ */ + @SearchParamDefinition(name="identifier", path="ResearchSubject.identifier", description="Business Identifier for research subject in a study", type="token" ) + public static final String SP_IDENTIFIER = "identifier"; + /** + * Fluent Client search parameter constant for identifier + *

+ * Description: Business Identifier for research subject in a study
+ * Type: token
+ * Path: ResearchSubject.identifier
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + + /** + * Search parameter: patient + *

+ * Description: Who or what is part of study
+ * Type: reference
+ * Path: ResearchSubject.subject
+ *

+ */ + @SearchParamDefinition(name="patient", path="ResearchSubject.subject", description="Who or what is part of study", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Medication.class, Patient.class, Specimen.class, Substance.class } ) + public static final String SP_PATIENT = "patient"; + /** + * Fluent Client search parameter constant for patient + *

+ * Description: Who or what is part of study
+ * Type: reference
+ * Path: ResearchSubject.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ResearchSubject:patient". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("ResearchSubject:patient").toLocked(); + + /** + * Search parameter: status + *

+ * Description: draft | active | retired | unknown
+ * Type: token
+ * Path: ResearchSubject.status
+ *

+ */ + @SearchParamDefinition(name="status", path="ResearchSubject.status", description="draft | active | retired | unknown", type="token" ) + public static final String SP_STATUS = "status"; + /** + * Fluent Client search parameter constant for status + *

+ * Description: draft | active | retired | unknown
+ * Type: token
+ * Path: ResearchSubject.status
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam STATUS = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_STATUS); + + /** + * Search parameter: study + *

+ * Description: Study subject is part of
+ * Type: reference
+ * Path: ResearchSubject.study
+ *

+ */ + @SearchParamDefinition(name="study", path="ResearchSubject.study", description="Study subject is part of", type="reference", target={ResearchStudy.class } ) + public static final String SP_STUDY = "study"; + /** + * Fluent Client search parameter constant for study + *

+ * Description: Study subject is part of
+ * Type: reference
+ * Path: ResearchSubject.study
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam STUDY = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_STUDY); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ResearchSubject:study". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_STUDY = new ca.uhn.fhir.model.api.Include("ResearchSubject:study").toLocked(); + + /** + * Search parameter: subject + *

+ * Description: Who or what is part of study
+ * Type: reference
+ * Path: ResearchSubject.subject
+ *

+ */ + @SearchParamDefinition(name="subject", path="ResearchSubject.subject", description="Who or what is part of study", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Device"), @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Medication.class, Patient.class, Specimen.class, Substance.class } ) + public static final String SP_SUBJECT = "subject"; + /** + * Fluent Client search parameter constant for subject + *

+ * Description: Who or what is part of study
+ * Type: reference
+ * Path: ResearchSubject.subject
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam SUBJECT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_SUBJECT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ResearchSubject:subject". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("ResearchSubject:subject").toLocked(); + + /** + * Search parameter: subject_state + *

+ * Description: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn
+ * Type: token
+ * Path: ResearchSubject.progress.subjectState
+ *

+ */ + @SearchParamDefinition(name="subject_state", path="ResearchSubject.progress.subjectState", description="candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn", type="token" ) + public static final String SP_SUBJECTSTATE = "subject_state"; + /** + * Fluent Client search parameter constant for subject_state + *

+ * Description: candidate | eligible | follow-up | ineligible | not-registered | off-study | on-study | on-study-intervention | on-study-observation | pending-on-study | potential-candidate | screening | withdrawn
+ * Type: token
+ * Path: ResearchSubject.progress.subjectState
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam SUBJECTSTATE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_SUBJECTSTATE); + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceFactory.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceFactory.java index cc5ff3808..ce1131d54 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceFactory.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceFactory.java @@ -28,7 +28,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent @@ -41,6 +41,8 @@ public class ResourceFactory extends Factory { return new Account(); if ("ActivityDefinition".equals(name)) return new ActivityDefinition(); + if ("ActorDefinition".equals(name)) + return new ActorDefinition(); if ("AdministrableProductDefinition".equals(name)) return new AdministrableProductDefinition(); if ("AdverseEvent".equals(name)) @@ -67,8 +69,6 @@ public class ResourceFactory extends Factory { return new Bundle(); if ("CapabilityStatement".equals(name)) return new CapabilityStatement(); - if ("CapabilityStatement2".equals(name)) - return new CapabilityStatement2(); if ("CarePlan".equals(name)) return new CarePlan(); if ("CareTeam".equals(name)) @@ -161,6 +161,8 @@ public class ResourceFactory extends Factory { return new Flag(); if ("FormularyItem".equals(name)) return new FormularyItem(); + if ("GenomicStudy".equals(name)) + return new GenomicStudy(); if ("Goal".equals(name)) return new Goal(); if ("GraphDefinition".equals(name)) @@ -279,6 +281,10 @@ public class ResourceFactory extends Factory { return new RelatedPerson(); if ("RequestGroup".equals(name)) return new RequestGroup(); + if ("RequestOrchestration".equals(name)) + return new RequestOrchestration(); + if ("Requirements".equals(name)) + return new Requirements(); if ("ResearchStudy".equals(name)) return new ResearchStudy(); if ("ResearchSubject".equals(name)) @@ -395,6 +401,8 @@ public class ResourceFactory extends Factory { return new Annotation(); if ("Attachment".equals(name)) return new Attachment(); + if ("Availability".equals(name)) + return new Availability(); if ("CodeableConcept".equals(name)) return new CodeableConcept(); if ("CodeableReference".equals(name)) @@ -433,6 +441,8 @@ public class ResourceFactory extends Factory { return new MarketingStatus(); if ("Meta".equals(name)) return new Meta(); + if ("MonetaryComponent".equals(name)) + return new MonetaryComponent(); if ("Money".equals(name)) return new Money(); if ("Narrative".equals(name)) @@ -467,6 +477,8 @@ public class ResourceFactory extends Factory { return new TriggerDefinition(); if ("UsageContext".equals(name)) return new UsageContext(); + if ("VirtualServiceDetail".equals(name)) + return new VirtualServiceDetail(); else throw new FHIRException("Unknown Type Name '"+name+"'"); } @@ -494,6 +506,7 @@ public class ResourceFactory extends Factory { case 3601339: return new UuidType(); case 487334413: return new Account(); case 851278306: return new ActivityDefinition(); + case 454247688: return new ActorDefinition(); case 1643210993: return new AdministrableProductDefinition(); case -329624856: return new AdverseEvent(); case 1721380104: return new AllergyIntolerance(); @@ -507,7 +520,6 @@ public class ResourceFactory extends Factory { case -202769967: return new BodyStructure(); case 2000952482: return new Bundle(); case -871422185: return new CapabilityStatement(); - case -1244283909: return new CapabilityStatement2(); case 57208314: return new CarePlan(); case 57320750: return new CareTeam(); case -883723257: return new ChargeItem(); @@ -554,6 +566,7 @@ public class ResourceFactory extends Factory { case 1260711798: return new FamilyMemberHistory(); case 2192268: return new Flag(); case 1238228672: return new FormularyItem(); + case -1128240127: return new GenomicStudy(); case 2224947: return new Goal(); case -180371167: return new GraphDefinition(); case 69076575: return new Group(); @@ -613,6 +626,8 @@ public class ResourceFactory extends Factory { case 2137545436: return new RegulatedAuthorization(); case 846088000: return new RelatedPerson(); case 1445374288: return new RequestGroup(); + case 1880382482: return new RequestOrchestration(); + case -1455554384: return new Requirements(); case 1312904398: return new ResearchStudy(); case -1008013583: return new ResearchSubject(); case -766422255: return new RiskAssessment(); @@ -648,6 +663,7 @@ public class ResourceFactory extends Factory { case 65759: return new Age(); case 438421327: return new Annotation(); case 29963587: return new Attachment(); + case -2133104261: return new Availability(); case -1153521791: return new CodeableConcept(); case -464287196: return new CodeableReference(); case 2023747466: return new Coding(); @@ -667,6 +683,7 @@ public class ResourceFactory extends Factory { case 375032009: return new Identifier(); case -926250600: return new MarketingStatus(); case 2394661: return new Meta(); + case -1336076400: return new MonetaryComponent(); case 74526880: return new Money(); case -540546990: return new Narrative(); case 671337916: return new ParameterDefinition(); @@ -684,6 +701,7 @@ public class ResourceFactory extends Factory { case -1789797270: return new Timing(); case 770498827: return new TriggerDefinition(); case 1071332590: return new UsageContext(); + case 1218149947: return new VirtualServiceDetail(); default: throw new FHIRException("Unknown Resource or Type Name '"+name+"'"); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceType.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceType.java index 26502d9b0..bc219234c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceType.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ResourceType.java @@ -28,7 +28,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent @@ -37,6 +37,7 @@ import org.hl7.fhir.exceptions.FHIRException; public enum ResourceType { Account, ActivityDefinition, + ActorDefinition, AdministrableProductDefinition, AdverseEvent, AllergyIntolerance, @@ -50,7 +51,6 @@ Account, BodyStructure, Bundle, CapabilityStatement, - CapabilityStatement2, CarePlan, CareTeam, ChargeItem, @@ -97,6 +97,7 @@ Account, FamilyMemberHistory, Flag, FormularyItem, + GenomicStudy, Goal, GraphDefinition, Group, @@ -156,6 +157,8 @@ Account, RegulatedAuthorization, RelatedPerson, RequestGroup, + RequestOrchestration, + Requirements, ResearchStudy, ResearchSubject, RiskAssessment, @@ -195,6 +198,8 @@ Account, return "account"; case ActivityDefinition: return "activitydefinition"; + case ActorDefinition: + return "actordefinition"; case AdministrableProductDefinition: return "administrableproductdefinition"; case AdverseEvent: @@ -221,8 +226,6 @@ Account, return "bundle"; case CapabilityStatement: return "capabilitystatement"; - case CapabilityStatement2: - return "capabilitystatement2"; case CarePlan: return "careplan"; case CareTeam: @@ -315,6 +318,8 @@ Account, return "flag"; case FormularyItem: return "formularyitem"; + case GenomicStudy: + return "genomicstudy"; case Goal: return "goal"; case GraphDefinition: @@ -433,6 +438,10 @@ Account, return "relatedperson"; case RequestGroup: return "requestgroup"; + case RequestOrchestration: + return "requestorchestration"; + case Requirements: + return "requirements"; case ResearchStudy: return "researchstudy"; case ResearchSubject: @@ -506,6 +515,8 @@ Account, return Account; if ("ActivityDefinition".equals(code)) return ActivityDefinition; + if ("ActorDefinition".equals(code)) + return ActorDefinition; if ("AdministrableProductDefinition".equals(code)) return AdministrableProductDefinition; if ("AdverseEvent".equals(code)) @@ -532,8 +543,6 @@ Account, return Bundle; if ("CapabilityStatement".equals(code)) return CapabilityStatement; - if ("CapabilityStatement2".equals(code)) - return CapabilityStatement2; if ("CarePlan".equals(code)) return CarePlan; if ("CareTeam".equals(code)) @@ -626,6 +635,8 @@ Account, return Flag; if ("FormularyItem".equals(code)) return FormularyItem; + if ("GenomicStudy".equals(code)) + return GenomicStudy; if ("Goal".equals(code)) return Goal; if ("GraphDefinition".equals(code)) @@ -744,6 +755,10 @@ Account, return RelatedPerson; if ("RequestGroup".equals(code)) return RequestGroup; + if ("RequestOrchestration".equals(code)) + return RequestOrchestration; + if ("Requirements".equals(code)) + return Requirements; if ("ResearchStudy".equals(code)) return ResearchStudy; if ("ResearchSubject".equals(code)) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RiskAssessment.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RiskAssessment.java index daace583b..b5c6e4ebb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RiskAssessment.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/RiskAssessment.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2050,7 +2050,7 @@ public class RiskAssessment extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2059,10 +2059,10 @@ public class RiskAssessment extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2094,7 +2094,7 @@ public class RiskAssessment extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2103,7 +2103,7 @@ public class RiskAssessment extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SampledData.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SampledData.java index 3df07a4d7..5fbf9287b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SampledData.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SampledData.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. + * SampledData Type: A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. */ @DatatypeDef(name="SampledData") public class SampledData extends DataType implements ICompositeType { @@ -60,48 +60,56 @@ public class SampledData extends DataType implements ICompositeType { protected Quantity origin; /** - * The length of time between sampling times, measured in milliseconds. + * Amount of intervalUnits between samples, eg. milliseconds for time-based sampling. */ - @Child(name = "period", type = {DecimalType.class}, order=1, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Number of milliseconds between samples", formalDefinition="The length of time between sampling times, measured in milliseconds." ) - protected DecimalType period; + @Child(name = "interval", type = {DecimalType.class}, order=1, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Number of intervalUnits between samples", formalDefinition="Amount of intervalUnits between samples, eg. milliseconds for time-based sampling." ) + protected DecimalType interval; + + /** + * The measurement unit in which the sample interval is expressed. + */ + @Child(name = "intervalUnit", type = {CodeType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="The measurement unit of the interval between samples", formalDefinition="The measurement unit in which the sample interval is expressed." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/ucum-units") + protected CodeType intervalUnit; /** * A correction factor that is applied to the sampled data points before they are added to the origin. */ - @Child(name = "factor", type = {DecimalType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "factor", type = {DecimalType.class}, order=3, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Multiply data by this before adding to origin", formalDefinition="A correction factor that is applied to the sampled data points before they are added to the origin." ) protected DecimalType factor; /** * The lower limit of detection of the measured points. This is needed if any of the data points have the value "L" (lower than detection limit). */ - @Child(name = "lowerLimit", type = {DecimalType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "lowerLimit", type = {DecimalType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Lower limit of detection", formalDefinition="The lower limit of detection of the measured points. This is needed if any of the data points have the value \"L\" (lower than detection limit)." ) protected DecimalType lowerLimit; /** * The upper limit of detection of the measured points. This is needed if any of the data points have the value "U" (higher than detection limit). */ - @Child(name = "upperLimit", type = {DecimalType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "upperLimit", type = {DecimalType.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Upper limit of detection", formalDefinition="The upper limit of detection of the measured points. This is needed if any of the data points have the value \"U\" (higher than detection limit)." ) protected DecimalType upperLimit; /** * The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once. */ - @Child(name = "dimensions", type = {PositiveIntType.class}, order=5, min=1, max=1, modifier=false, summary=true) + @Child(name = "dimensions", type = {PositiveIntType.class}, order=6, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Number of sample points at each time point", formalDefinition="The number of sample points at each time point. If this value is greater than one, then the dimensions will be interlaced - all the sample points for a point in time will be recorded at once." ) protected PositiveIntType dimensions; /** * A series of data points which are decimal values separated by a single space (character u20). The special values "E" (error), "L" (below detection limit) and "U" (above detection limit) can also be used in place of a decimal value. */ - @Child(name = "data", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "data", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Decimal values with spaces, or \"E\" | \"U\" | \"L\"", formalDefinition="A series of data points which are decimal values separated by a single space (character u20). The special values \"E\" (error), \"L\" (below detection limit) and \"U\" (above detection limit) can also be used in place of a decimal value." ) protected StringType data; - private static final long serialVersionUID = -1984181262L; + private static final long serialVersionUID = -1635523658L; /** * Constructor @@ -113,10 +121,11 @@ public class SampledData extends DataType implements ICompositeType { /** * Constructor */ - public SampledData(Quantity origin, BigDecimal period, int dimensions) { + public SampledData(Quantity origin, BigDecimal interval, String intervalUnit, int dimensions) { super(); this.setOrigin(origin); - this.setPeriod(period); + this.setInterval(interval); + this.setIntervalUnit(intervalUnit); this.setDimensions(dimensions); } @@ -145,65 +154,110 @@ public class SampledData extends DataType implements ICompositeType { } /** - * @return {@link #period} (The length of time between sampling times, measured in milliseconds.). This is the underlying object with id, value and extensions. The accessor "getPeriod" gives direct access to the value + * @return {@link #interval} (Amount of intervalUnits between samples, eg. milliseconds for time-based sampling.). This is the underlying object with id, value and extensions. The accessor "getInterval" gives direct access to the value */ - public DecimalType getPeriodElement() { - if (this.period == null) + public DecimalType getIntervalElement() { + if (this.interval == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SampledData.period"); + throw new Error("Attempt to auto-create SampledData.interval"); else if (Configuration.doAutoCreate()) - this.period = new DecimalType(); // bb - return this.period; + this.interval = new DecimalType(); // bb + return this.interval; } - public boolean hasPeriodElement() { - return this.period != null && !this.period.isEmpty(); + public boolean hasIntervalElement() { + return this.interval != null && !this.interval.isEmpty(); } - public boolean hasPeriod() { - return this.period != null && !this.period.isEmpty(); + public boolean hasInterval() { + return this.interval != null && !this.interval.isEmpty(); } /** - * @param value {@link #period} (The length of time between sampling times, measured in milliseconds.). This is the underlying object with id, value and extensions. The accessor "getPeriod" gives direct access to the value + * @param value {@link #interval} (Amount of intervalUnits between samples, eg. milliseconds for time-based sampling.). This is the underlying object with id, value and extensions. The accessor "getInterval" gives direct access to the value */ - public SampledData setPeriodElement(DecimalType value) { - this.period = value; + public SampledData setIntervalElement(DecimalType value) { + this.interval = value; return this; } /** - * @return The length of time between sampling times, measured in milliseconds. + * @return Amount of intervalUnits between samples, eg. milliseconds for time-based sampling. */ - public BigDecimal getPeriod() { - return this.period == null ? null : this.period.getValue(); + public BigDecimal getInterval() { + return this.interval == null ? null : this.interval.getValue(); } /** - * @param value The length of time between sampling times, measured in milliseconds. + * @param value Amount of intervalUnits between samples, eg. milliseconds for time-based sampling. */ - public SampledData setPeriod(BigDecimal value) { - if (this.period == null) - this.period = new DecimalType(); - this.period.setValue(value); + public SampledData setInterval(BigDecimal value) { + if (this.interval == null) + this.interval = new DecimalType(); + this.interval.setValue(value); return this; } /** - * @param value The length of time between sampling times, measured in milliseconds. + * @param value Amount of intervalUnits between samples, eg. milliseconds for time-based sampling. */ - public SampledData setPeriod(long value) { - this.period = new DecimalType(); - this.period.setValue(value); + public SampledData setInterval(long value) { + this.interval = new DecimalType(); + this.interval.setValue(value); return this; } /** - * @param value The length of time between sampling times, measured in milliseconds. + * @param value Amount of intervalUnits between samples, eg. milliseconds for time-based sampling. */ - public SampledData setPeriod(double value) { - this.period = new DecimalType(); - this.period.setValue(value); + public SampledData setInterval(double value) { + this.interval = new DecimalType(); + this.interval.setValue(value); + return this; + } + + /** + * @return {@link #intervalUnit} (The measurement unit in which the sample interval is expressed.). This is the underlying object with id, value and extensions. The accessor "getIntervalUnit" gives direct access to the value + */ + public CodeType getIntervalUnitElement() { + if (this.intervalUnit == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SampledData.intervalUnit"); + else if (Configuration.doAutoCreate()) + this.intervalUnit = new CodeType(); // bb + return this.intervalUnit; + } + + public boolean hasIntervalUnitElement() { + return this.intervalUnit != null && !this.intervalUnit.isEmpty(); + } + + public boolean hasIntervalUnit() { + return this.intervalUnit != null && !this.intervalUnit.isEmpty(); + } + + /** + * @param value {@link #intervalUnit} (The measurement unit in which the sample interval is expressed.). This is the underlying object with id, value and extensions. The accessor "getIntervalUnit" gives direct access to the value + */ + public SampledData setIntervalUnitElement(CodeType value) { + this.intervalUnit = value; + return this; + } + + /** + * @return The measurement unit in which the sample interval is expressed. + */ + public String getIntervalUnit() { + return this.intervalUnit == null ? null : this.intervalUnit.getValue(); + } + + /** + * @param value The measurement unit in which the sample interval is expressed. + */ + public SampledData setIntervalUnit(String value) { + if (this.intervalUnit == null) + this.intervalUnit = new CodeType(); + this.intervalUnit.setValue(value); return this; } @@ -505,7 +559,8 @@ public class SampledData extends DataType implements ICompositeType { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("origin", "Quantity", "The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.", 0, 1, origin)); - children.add(new Property("period", "decimal", "The length of time between sampling times, measured in milliseconds.", 0, 1, period)); + children.add(new Property("interval", "decimal", "Amount of intervalUnits between samples, eg. milliseconds for time-based sampling.", 0, 1, interval)); + children.add(new Property("intervalUnit", "code", "The measurement unit in which the sample interval is expressed.", 0, 1, intervalUnit)); children.add(new Property("factor", "decimal", "A correction factor that is applied to the sampled data points before they are added to the origin.", 0, 1, factor)); children.add(new Property("lowerLimit", "decimal", "The lower limit of detection of the measured points. This is needed if any of the data points have the value \"L\" (lower than detection limit).", 0, 1, lowerLimit)); children.add(new Property("upperLimit", "decimal", "The upper limit of detection of the measured points. This is needed if any of the data points have the value \"U\" (higher than detection limit).", 0, 1, upperLimit)); @@ -517,7 +572,8 @@ public class SampledData extends DataType implements ICompositeType { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1008619738: /*origin*/ return new Property("origin", "Quantity", "The base quantity that a measured value of zero represents. In addition, this provides the units of the entire measurement series.", 0, 1, origin); - case -991726143: /*period*/ return new Property("period", "decimal", "The length of time between sampling times, measured in milliseconds.", 0, 1, period); + case 570418373: /*interval*/ return new Property("interval", "decimal", "Amount of intervalUnits between samples, eg. milliseconds for time-based sampling.", 0, 1, interval); + case -1569830935: /*intervalUnit*/ return new Property("intervalUnit", "code", "The measurement unit in which the sample interval is expressed.", 0, 1, intervalUnit); case -1282148017: /*factor*/ return new Property("factor", "decimal", "A correction factor that is applied to the sampled data points before they are added to the origin.", 0, 1, factor); case 1209133370: /*lowerLimit*/ return new Property("lowerLimit", "decimal", "The lower limit of detection of the measured points. This is needed if any of the data points have the value \"L\" (lower than detection limit).", 0, 1, lowerLimit); case -1681713095: /*upperLimit*/ return new Property("upperLimit", "decimal", "The upper limit of detection of the measured points. This is needed if any of the data points have the value \"U\" (higher than detection limit).", 0, 1, upperLimit); @@ -532,7 +588,8 @@ public class SampledData extends DataType implements ICompositeType { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1008619738: /*origin*/ return this.origin == null ? new Base[0] : new Base[] {this.origin}; // Quantity - case -991726143: /*period*/ return this.period == null ? new Base[0] : new Base[] {this.period}; // DecimalType + case 570418373: /*interval*/ return this.interval == null ? new Base[0] : new Base[] {this.interval}; // DecimalType + case -1569830935: /*intervalUnit*/ return this.intervalUnit == null ? new Base[0] : new Base[] {this.intervalUnit}; // CodeType case -1282148017: /*factor*/ return this.factor == null ? new Base[0] : new Base[] {this.factor}; // DecimalType case 1209133370: /*lowerLimit*/ return this.lowerLimit == null ? new Base[0] : new Base[] {this.lowerLimit}; // DecimalType case -1681713095: /*upperLimit*/ return this.upperLimit == null ? new Base[0] : new Base[] {this.upperLimit}; // DecimalType @@ -549,8 +606,11 @@ public class SampledData extends DataType implements ICompositeType { case -1008619738: // origin this.origin = TypeConvertor.castToQuantity(value); // Quantity return value; - case -991726143: // period - this.period = TypeConvertor.castToDecimal(value); // DecimalType + case 570418373: // interval + this.interval = TypeConvertor.castToDecimal(value); // DecimalType + return value; + case -1569830935: // intervalUnit + this.intervalUnit = TypeConvertor.castToCode(value); // CodeType return value; case -1282148017: // factor this.factor = TypeConvertor.castToDecimal(value); // DecimalType @@ -576,8 +636,10 @@ public class SampledData extends DataType implements ICompositeType { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("origin")) { this.origin = TypeConvertor.castToQuantity(value); // Quantity - } else if (name.equals("period")) { - this.period = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("interval")) { + this.interval = TypeConvertor.castToDecimal(value); // DecimalType + } else if (name.equals("intervalUnit")) { + this.intervalUnit = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("factor")) { this.factor = TypeConvertor.castToDecimal(value); // DecimalType } else if (name.equals("lowerLimit")) { @@ -597,7 +659,8 @@ public class SampledData extends DataType implements ICompositeType { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1008619738: return getOrigin(); - case -991726143: return getPeriodElement(); + case 570418373: return getIntervalElement(); + case -1569830935: return getIntervalUnitElement(); case -1282148017: return getFactorElement(); case 1209133370: return getLowerLimitElement(); case -1681713095: return getUpperLimitElement(); @@ -612,7 +675,8 @@ public class SampledData extends DataType implements ICompositeType { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1008619738: /*origin*/ return new String[] {"Quantity"}; - case -991726143: /*period*/ return new String[] {"decimal"}; + case 570418373: /*interval*/ return new String[] {"decimal"}; + case -1569830935: /*intervalUnit*/ return new String[] {"code"}; case -1282148017: /*factor*/ return new String[] {"decimal"}; case 1209133370: /*lowerLimit*/ return new String[] {"decimal"}; case -1681713095: /*upperLimit*/ return new String[] {"decimal"}; @@ -629,8 +693,11 @@ public class SampledData extends DataType implements ICompositeType { this.origin = new Quantity(); return this.origin; } - else if (name.equals("period")) { - throw new FHIRException("Cannot call addChild on a primitive type SampledData.period"); + else if (name.equals("interval")) { + throw new FHIRException("Cannot call addChild on a primitive type SampledData.interval"); + } + else if (name.equals("intervalUnit")) { + throw new FHIRException("Cannot call addChild on a primitive type SampledData.intervalUnit"); } else if (name.equals("factor")) { throw new FHIRException("Cannot call addChild on a primitive type SampledData.factor"); @@ -665,7 +732,8 @@ public class SampledData extends DataType implements ICompositeType { public void copyValues(SampledData dst) { super.copyValues(dst); dst.origin = origin == null ? null : origin.copy(); - dst.period = period == null ? null : period.copy(); + dst.interval = interval == null ? null : interval.copy(); + dst.intervalUnit = intervalUnit == null ? null : intervalUnit.copy(); dst.factor = factor == null ? null : factor.copy(); dst.lowerLimit = lowerLimit == null ? null : lowerLimit.copy(); dst.upperLimit = upperLimit == null ? null : upperLimit.copy(); @@ -684,9 +752,9 @@ public class SampledData extends DataType implements ICompositeType { if (!(other_ instanceof SampledData)) return false; SampledData o = (SampledData) other_; - return compareDeep(origin, o.origin, true) && compareDeep(period, o.period, true) && compareDeep(factor, o.factor, true) - && compareDeep(lowerLimit, o.lowerLimit, true) && compareDeep(upperLimit, o.upperLimit, true) && compareDeep(dimensions, o.dimensions, true) - && compareDeep(data, o.data, true); + return compareDeep(origin, o.origin, true) && compareDeep(interval, o.interval, true) && compareDeep(intervalUnit, o.intervalUnit, true) + && compareDeep(factor, o.factor, true) && compareDeep(lowerLimit, o.lowerLimit, true) && compareDeep(upperLimit, o.upperLimit, true) + && compareDeep(dimensions, o.dimensions, true) && compareDeep(data, o.data, true); } @Override @@ -696,14 +764,14 @@ public class SampledData extends DataType implements ICompositeType { if (!(other_ instanceof SampledData)) return false; SampledData o = (SampledData) other_; - return compareValues(period, o.period, true) && compareValues(factor, o.factor, true) && compareValues(lowerLimit, o.lowerLimit, true) - && compareValues(upperLimit, o.upperLimit, true) && compareValues(dimensions, o.dimensions, true) && compareValues(data, o.data, true) - ; + return compareValues(interval, o.interval, true) && compareValues(intervalUnit, o.intervalUnit, true) + && compareValues(factor, o.factor, true) && compareValues(lowerLimit, o.lowerLimit, true) && compareValues(upperLimit, o.upperLimit, true) + && compareValues(dimensions, o.dimensions, true) && compareValues(data, o.data, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(origin, period, factor, lowerLimit - , upperLimit, dimensions, data); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(origin, interval, intervalUnit + , factor, lowerLimit, upperLimit, dimensions, data); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Schedule.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Schedule.java index 2400ffa40..db33aaae1 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Schedule.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Schedule.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -91,28 +91,35 @@ public class Schedule extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/c80-practice-codes") protected List specialty; + /** + * Further description of the schedule as it would be presented to a consumer while searching. + */ + @Child(name = "name", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Human-readable label", formalDefinition="Further description of the schedule as it would be presented to a consumer while searching." ) + protected StringType name; + /** * Slots that reference this schedule resource provide the availability details to these referenced resource(s). */ - @Child(name = "actor", type = {Patient.class, Practitioner.class, PractitionerRole.class, CareTeam.class, RelatedPerson.class, Device.class, HealthcareService.class, Location.class}, order=5, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "actor", type = {Patient.class, Practitioner.class, PractitionerRole.class, CareTeam.class, RelatedPerson.class, Device.class, HealthcareService.class, Location.class}, order=6, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Resource(s) that availability information is being provided for", formalDefinition="Slots that reference this schedule resource provide the availability details to these referenced resource(s)." ) protected List actor; /** * The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a "template" for planning outside these dates. */ - @Child(name = "planningHorizon", type = {Period.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "planningHorizon", type = {Period.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Period of time covered by schedule", formalDefinition="The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a \"template\" for planning outside these dates." ) protected Period planningHorizon; /** * Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated. */ - @Child(name = "comment", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=false) + @Child(name = "comment", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Comments on availability", formalDefinition="Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated." ) protected StringType comment; - private static final long serialVersionUID = 929720115L; + private static final long serialVersionUID = 1315529085L; /** * Constructor @@ -386,6 +393,55 @@ public class Schedule extends DomainResource { return getSpecialty().get(0); } + /** + * @return {@link #name} (Further description of the schedule as it would be presented to a consumer while searching.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public StringType getNameElement() { + if (this.name == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Schedule.name"); + else if (Configuration.doAutoCreate()) + this.name = new StringType(); // bb + return this.name; + } + + public boolean hasNameElement() { + return this.name != null && !this.name.isEmpty(); + } + + public boolean hasName() { + return this.name != null && !this.name.isEmpty(); + } + + /** + * @param value {@link #name} (Further description of the schedule as it would be presented to a consumer while searching.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public Schedule setNameElement(StringType value) { + this.name = value; + return this; + } + + /** + * @return Further description of the schedule as it would be presented to a consumer while searching. + */ + public String getName() { + return this.name == null ? null : this.name.getValue(); + } + + /** + * @param value Further description of the schedule as it would be presented to a consumer while searching. + */ + public Schedule setName(String value) { + if (Utilities.noString(value)) + this.name = null; + else { + if (this.name == null) + this.name = new StringType(); + this.name.setValue(value); + } + return this; + } + /** * @return {@link #actor} (Slots that reference this schedule resource provide the availability details to these referenced resource(s).) */ @@ -519,6 +575,7 @@ public class Schedule extends DomainResource { children.add(new Property("serviceCategory", "CodeableConcept", "A broad categorization of the service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceCategory)); children.add(new Property("serviceType", "CodeableReference(HealthcareService)", "The specific service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceType)); children.add(new Property("specialty", "CodeableConcept", "The specialty of a practitioner that would be required to perform the service requested in this appointment.", 0, java.lang.Integer.MAX_VALUE, specialty)); + children.add(new Property("name", "string", "Further description of the schedule as it would be presented to a consumer while searching.", 0, 1, name)); children.add(new Property("actor", "Reference(Patient|Practitioner|PractitionerRole|CareTeam|RelatedPerson|Device|HealthcareService|Location)", "Slots that reference this schedule resource provide the availability details to these referenced resource(s).", 0, java.lang.Integer.MAX_VALUE, actor)); children.add(new Property("planningHorizon", "Period", "The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a \"template\" for planning outside these dates.", 0, 1, planningHorizon)); children.add(new Property("comment", "string", "Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated.", 0, 1, comment)); @@ -532,6 +589,7 @@ public class Schedule extends DomainResource { case 1281188563: /*serviceCategory*/ return new Property("serviceCategory", "CodeableConcept", "A broad categorization of the service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceCategory); case -1928370289: /*serviceType*/ return new Property("serviceType", "CodeableReference(HealthcareService)", "The specific service that is to be performed during this appointment.", 0, java.lang.Integer.MAX_VALUE, serviceType); case -1694759682: /*specialty*/ return new Property("specialty", "CodeableConcept", "The specialty of a practitioner that would be required to perform the service requested in this appointment.", 0, java.lang.Integer.MAX_VALUE, specialty); + case 3373707: /*name*/ return new Property("name", "string", "Further description of the schedule as it would be presented to a consumer while searching.", 0, 1, name); case 92645877: /*actor*/ return new Property("actor", "Reference(Patient|Practitioner|PractitionerRole|CareTeam|RelatedPerson|Device|HealthcareService|Location)", "Slots that reference this schedule resource provide the availability details to these referenced resource(s).", 0, java.lang.Integer.MAX_VALUE, actor); case -1718507650: /*planningHorizon*/ return new Property("planningHorizon", "Period", "The period of time that the slots that reference this Schedule resource cover (even if none exist). These cover the amount of time that an organization's planning horizon; the interval for which they are currently accepting appointments. This does not define a \"template\" for planning outside these dates.", 0, 1, planningHorizon); case 950398559: /*comment*/ return new Property("comment", "string", "Comments on the availability to describe any extended information. Such as custom constraints on the slots that may be associated.", 0, 1, comment); @@ -548,6 +606,7 @@ public class Schedule extends DomainResource { case 1281188563: /*serviceCategory*/ return this.serviceCategory == null ? new Base[0] : this.serviceCategory.toArray(new Base[this.serviceCategory.size()]); // CodeableConcept case -1928370289: /*serviceType*/ return this.serviceType == null ? new Base[0] : this.serviceType.toArray(new Base[this.serviceType.size()]); // CodeableReference case -1694759682: /*specialty*/ return this.specialty == null ? new Base[0] : this.specialty.toArray(new Base[this.specialty.size()]); // CodeableConcept + case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 92645877: /*actor*/ return this.actor == null ? new Base[0] : this.actor.toArray(new Base[this.actor.size()]); // Reference case -1718507650: /*planningHorizon*/ return this.planningHorizon == null ? new Base[0] : new Base[] {this.planningHorizon}; // Period case 950398559: /*comment*/ return this.comment == null ? new Base[0] : new Base[] {this.comment}; // StringType @@ -574,6 +633,9 @@ public class Schedule extends DomainResource { case -1694759682: // specialty this.getSpecialty().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept return value; + case 3373707: // name + this.name = TypeConvertor.castToString(value); // StringType + return value; case 92645877: // actor this.getActor().add(TypeConvertor.castToReference(value)); // Reference return value; @@ -600,6 +662,8 @@ public class Schedule extends DomainResource { this.getServiceType().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("specialty")) { this.getSpecialty().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("name")) { + this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("actor")) { this.getActor().add(TypeConvertor.castToReference(value)); } else if (name.equals("planningHorizon")) { @@ -619,6 +683,7 @@ public class Schedule extends DomainResource { case 1281188563: return addServiceCategory(); case -1928370289: return addServiceType(); case -1694759682: return addSpecialty(); + case 3373707: return getNameElement(); case 92645877: return addActor(); case -1718507650: return getPlanningHorizon(); case 950398559: return getCommentElement(); @@ -635,6 +700,7 @@ public class Schedule extends DomainResource { case 1281188563: /*serviceCategory*/ return new String[] {"CodeableConcept"}; case -1928370289: /*serviceType*/ return new String[] {"CodeableReference"}; case -1694759682: /*specialty*/ return new String[] {"CodeableConcept"}; + case 3373707: /*name*/ return new String[] {"string"}; case 92645877: /*actor*/ return new String[] {"Reference"}; case -1718507650: /*planningHorizon*/ return new String[] {"Period"}; case 950398559: /*comment*/ return new String[] {"string"}; @@ -660,6 +726,9 @@ public class Schedule extends DomainResource { else if (name.equals("specialty")) { return addSpecialty(); } + else if (name.equals("name")) { + throw new FHIRException("Cannot call addChild on a primitive type Schedule.name"); + } else if (name.equals("actor")) { return addActor(); } @@ -708,6 +777,7 @@ public class Schedule extends DomainResource { for (CodeableConcept i : specialty) dst.specialty.add(i.copy()); }; + dst.name = name == null ? null : name.copy(); if (actor != null) { dst.actor = new ArrayList(); for (Reference i : actor) @@ -729,8 +799,8 @@ public class Schedule extends DomainResource { return false; Schedule o = (Schedule) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(active, o.active, true) && compareDeep(serviceCategory, o.serviceCategory, true) - && compareDeep(serviceType, o.serviceType, true) && compareDeep(specialty, o.specialty, true) && compareDeep(actor, o.actor, true) - && compareDeep(planningHorizon, o.planningHorizon, true) && compareDeep(comment, o.comment, true) + && compareDeep(serviceType, o.serviceType, true) && compareDeep(specialty, o.specialty, true) && compareDeep(name, o.name, true) + && compareDeep(actor, o.actor, true) && compareDeep(planningHorizon, o.planningHorizon, true) && compareDeep(comment, o.comment, true) ; } @@ -741,12 +811,13 @@ public class Schedule extends DomainResource { if (!(other_ instanceof Schedule)) return false; Schedule o = (Schedule) other_; - return compareValues(active, o.active, true) && compareValues(comment, o.comment, true); + return compareValues(active, o.active, true) && compareValues(name, o.name, true) && compareValues(comment, o.comment, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, active, serviceCategory - , serviceType, specialty, actor, planningHorizon, comment); + , serviceType, specialty, name, actor, planningHorizon, comment); } @Override @@ -840,6 +911,26 @@ public class Schedule extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); + /** + * Search parameter: name + *

+ * Description: A portion of the Schedule name
+ * Type: string
+ * Path: Schedule.name
+ *

+ */ + @SearchParamDefinition(name="name", path="Schedule.name", description="A portion of the Schedule name", type="string" ) + public static final String SP_NAME = "name"; + /** + * Fluent Client search parameter constant for name + *

+ * Description: A portion of the Schedule name
+ * Type: string
+ * Path: Schedule.name
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam NAME = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_NAME); + /** * Search parameter: service-category *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java index 071f4f59a..1e6b4977a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -279,7 +279,7 @@ public class SearchParameter extends CanonicalResource { */ NOT, /** - * The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, or Identifier.type.text. + * The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, Identifier.type.text, or Reference.display. */ TEXT, /** @@ -310,6 +310,18 @@ public class SearchParameter extends CanonicalResource { * The search parameter has the format system|code|value, where the system and code refer to an Identifier.type.coding.system and .code, and match if any of the type codes match. All 3 parts must be present. */ OFTYPE, + /** + * Tests whether the textual display value in a resource (e.g., CodeableConcept.text, Coding.display, or Reference.display) matches the supplied parameter value. + */ + CODETEXT, + /** + * Tests whether the value in a resource matches the supplied parameter value using advanced text handling that searches text associated with the code/value - e.g., CodeableConcept.text, Coding.display, or Identifier.type.text. + */ + TEXTADVANCED, + /** + * The search parameter indicates an inclusion directive (_include, _revinclude) that is applied to an included resource instead of the matching resource. + */ + ITERATE, /** * added to help the parsers with the generic types */ @@ -339,8 +351,14 @@ public class SearchParameter extends CanonicalResource { return TYPE; if ("identifier".equals(codeString)) return IDENTIFIER; - if ("ofType".equals(codeString)) + if ("of-type".equals(codeString)) return OFTYPE; + if ("code-text".equals(codeString)) + return CODETEXT; + if ("text-advanced".equals(codeString)) + return TEXTADVANCED; + if ("iterate".equals(codeString)) + return ITERATE; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -359,7 +377,10 @@ public class SearchParameter extends CanonicalResource { case ABOVE: return "above"; case TYPE: return "type"; case IDENTIFIER: return "identifier"; - case OFTYPE: return "ofType"; + case OFTYPE: return "of-type"; + case CODETEXT: return "code-text"; + case TEXTADVANCED: return "text-advanced"; + case ITERATE: return "iterate"; case NULL: return null; default: return "?"; } @@ -378,6 +399,9 @@ public class SearchParameter extends CanonicalResource { case TYPE: return "http://hl7.org/fhir/search-modifier-code"; case IDENTIFIER: return "http://hl7.org/fhir/search-modifier-code"; case OFTYPE: return "http://hl7.org/fhir/search-modifier-code"; + case CODETEXT: return "http://hl7.org/fhir/search-modifier-code"; + case TEXTADVANCED: return "http://hl7.org/fhir/search-modifier-code"; + case ITERATE: return "http://hl7.org/fhir/search-modifier-code"; case NULL: return null; default: return "?"; } @@ -388,7 +412,7 @@ public class SearchParameter extends CanonicalResource { case EXACT: return "The search parameter returns resources that have a value that exactly matches the supplied parameter (the whole string, including casing and accents)."; case CONTAINS: return "The search parameter returns resources that include the supplied parameter value anywhere within the field being searched."; case NOT: return "The search parameter returns resources that do not contain a match."; - case TEXT: return "The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, or Identifier.type.text."; + case TEXT: return "The search parameter is processed as a string that searches text associated with the code/value - either CodeableConcept.text, Coding.display, Identifier.type.text, or Reference.display."; case IN: return "The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is in the specified value set."; case NOTIN: return "The search parameter is a URI (relative or absolute) that identifies a value set, and the search parameter tests whether the coding is not in the specified value set."; case BELOW: return "The search parameter tests whether the value in a resource is subsumed by the specified value (is-a, or hierarchical relationships)."; @@ -396,6 +420,9 @@ public class SearchParameter extends CanonicalResource { case TYPE: return "The search parameter only applies to the Resource Type specified as a modifier (e.g. the modifier is not actually :type, but :Patient etc.)."; case IDENTIFIER: return "The search parameter applies to the identifier on the resource, not the reference."; case OFTYPE: return "The search parameter has the format system|code|value, where the system and code refer to an Identifier.type.coding.system and .code, and match if any of the type codes match. All 3 parts must be present."; + case CODETEXT: return "Tests whether the textual display value in a resource (e.g., CodeableConcept.text, Coding.display, or Reference.display) matches the supplied parameter value."; + case TEXTADVANCED: return "Tests whether the value in a resource matches the supplied parameter value using advanced text handling that searches text associated with the code/value - e.g., CodeableConcept.text, Coding.display, or Identifier.type.text."; + case ITERATE: return "The search parameter indicates an inclusion directive (_include, _revinclude) that is applied to an included resource instead of the matching resource."; case NULL: return null; default: return "?"; } @@ -414,6 +441,9 @@ public class SearchParameter extends CanonicalResource { case TYPE: return "Type"; case IDENTIFIER: return "Identifier"; case OFTYPE: return "Of Type"; + case CODETEXT: return "Code Text"; + case TEXTADVANCED: return "Text Advanced"; + case ITERATE: return "Iterate"; case NULL: return null; default: return "?"; } @@ -447,8 +477,14 @@ public class SearchParameter extends CanonicalResource { return SearchModifierCode.TYPE; if ("identifier".equals(codeString)) return SearchModifierCode.IDENTIFIER; - if ("ofType".equals(codeString)) + if ("of-type".equals(codeString)) return SearchModifierCode.OFTYPE; + if ("code-text".equals(codeString)) + return SearchModifierCode.CODETEXT; + if ("text-advanced".equals(codeString)) + return SearchModifierCode.TEXTADVANCED; + if ("iterate".equals(codeString)) + return SearchModifierCode.ITERATE; throw new IllegalArgumentException("Unknown SearchModifierCode code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -481,8 +517,14 @@ public class SearchParameter extends CanonicalResource { return new Enumeration(this, SearchModifierCode.TYPE); if ("identifier".equals(codeString)) return new Enumeration(this, SearchModifierCode.IDENTIFIER); - if ("ofType".equals(codeString)) + if ("of-type".equals(codeString)) return new Enumeration(this, SearchModifierCode.OFTYPE); + if ("code-text".equals(codeString)) + return new Enumeration(this, SearchModifierCode.CODETEXT); + if ("text-advanced".equals(codeString)) + return new Enumeration(this, SearchModifierCode.TEXTADVANCED); + if ("iterate".equals(codeString)) + return new Enumeration(this, SearchModifierCode.ITERATE); throw new FHIRException("Unknown SearchModifierCode code '"+codeString+"'"); } public String toCode(SearchModifierCode code) { @@ -509,7 +551,13 @@ public class SearchParameter extends CanonicalResource { if (code == SearchModifierCode.IDENTIFIER) return "identifier"; if (code == SearchModifierCode.OFTYPE) - return "ofType"; + return "of-type"; + if (code == SearchModifierCode.CODETEXT) + return "code-text"; + if (code == SearchModifierCode.TEXTADVANCED) + return "text-advanced"; + if (code == SearchModifierCode.ITERATE) + return "iterate"; return "?"; } public String toSystem(SearchModifierCode code) { @@ -517,7 +565,7 @@ public class SearchParameter extends CanonicalResource { } } - public enum XPathUsageType { + public enum SearchProcessingModeType { /** * The search parameter is derived directly from the selected nodes based on the type definitions. */ @@ -534,7 +582,7 @@ public class SearchParameter extends CanonicalResource { * added to help the parsers with the generic types */ NULL; - public static XPathUsageType fromCode(String codeString) throws FHIRException { + public static SearchProcessingModeType fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; if ("normal".equals(codeString)) @@ -546,7 +594,7 @@ public class SearchParameter extends CanonicalResource { if (Configuration.isAcceptInvalidEnums()) return null; else - throw new FHIRException("Unknown XPathUsageType code '"+codeString+"'"); + throw new FHIRException("Unknown SearchProcessingModeType code '"+codeString+"'"); } public String toCode() { switch (this) { @@ -559,9 +607,9 @@ public class SearchParameter extends CanonicalResource { } public String getSystem() { switch (this) { - case NORMAL: return "http://hl7.org/fhir/search-xpath-usage"; - case PHONETIC: return "http://hl7.org/fhir/search-xpath-usage"; - case OTHER: return "http://hl7.org/fhir/search-xpath-usage"; + case NORMAL: return "http://hl7.org/fhir/search-processingmode"; + case PHONETIC: return "http://hl7.org/fhir/search-processingmode"; + case OTHER: return "http://hl7.org/fhir/search-processingmode"; case NULL: return null; default: return "?"; } @@ -586,45 +634,45 @@ public class SearchParameter extends CanonicalResource { } } - public static class XPathUsageTypeEnumFactory implements EnumFactory { - public XPathUsageType fromCode(String codeString) throws IllegalArgumentException { + public static class SearchProcessingModeTypeEnumFactory implements EnumFactory { + public SearchProcessingModeType fromCode(String codeString) throws IllegalArgumentException { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; if ("normal".equals(codeString)) - return XPathUsageType.NORMAL; + return SearchProcessingModeType.NORMAL; if ("phonetic".equals(codeString)) - return XPathUsageType.PHONETIC; + return SearchProcessingModeType.PHONETIC; if ("other".equals(codeString)) - return XPathUsageType.OTHER; - throw new IllegalArgumentException("Unknown XPathUsageType code '"+codeString+"'"); + return SearchProcessingModeType.OTHER; + throw new IllegalArgumentException("Unknown SearchProcessingModeType code '"+codeString+"'"); } - public Enumeration fromType(Base code) throws FHIRException { + public Enumeration fromType(Base code) throws FHIRException { if (code == null) return null; if (code.isEmpty()) - return new Enumeration(this); + return new Enumeration(this); String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; if ("normal".equals(codeString)) - return new Enumeration(this, XPathUsageType.NORMAL); + return new Enumeration(this, SearchProcessingModeType.NORMAL); if ("phonetic".equals(codeString)) - return new Enumeration(this, XPathUsageType.PHONETIC); + return new Enumeration(this, SearchProcessingModeType.PHONETIC); if ("other".equals(codeString)) - return new Enumeration(this, XPathUsageType.OTHER); - throw new FHIRException("Unknown XPathUsageType code '"+codeString+"'"); + return new Enumeration(this, SearchProcessingModeType.OTHER); + throw new FHIRException("Unknown SearchProcessingModeType code '"+codeString+"'"); } - public String toCode(XPathUsageType code) { - if (code == XPathUsageType.NORMAL) + public String toCode(SearchProcessingModeType code) { + if (code == SearchProcessingModeType.NORMAL) return "normal"; - if (code == XPathUsageType.PHONETIC) + if (code == SearchProcessingModeType.PHONETIC) return "phonetic"; - if (code == XPathUsageType.OTHER) + if (code == SearchProcessingModeType.OTHER) return "other"; return "?"; } - public String toSystem(XPathUsageType code) { + public String toSystem(SearchProcessingModeType code) { return code.getSystem(); } } @@ -882,10 +930,10 @@ public class SearchParameter extends CanonicalResource { } /** - * An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers. + * An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this search parameter, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this search parameter, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers." ) protected UriType url; /** @@ -895,31 +943,39 @@ public class SearchParameter extends CanonicalResource { @Description(shortDefinition="Business version of the search parameter", formalDefinition="The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this search parameter (computer friendly)", formalDefinition="A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the search parameter. */ - @Child(name = "title", type = {StringType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this search parameter (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the search parameter." ) protected StringType title; /** * Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. i.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter. */ - @Child(name = "derivedFrom", type = {CanonicalType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "derivedFrom", type = {CanonicalType.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Original definition for the search parameter", formalDefinition="Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. i.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter." ) protected CanonicalType derivedFrom; /** * The status of this search parameter. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this search parameter. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -927,49 +983,49 @@ public class SearchParameter extends CanonicalResource { /** * A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the search parameter was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the search parameter was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the search parameter. + * The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter. */ - @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the search parameter." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * And how it used. */ - @Child(name = "description", type = {MarkdownType.class}, order=10, min=1, max=1, modifier=false, summary=true) + @Child(name = "description", type = {MarkdownType.class}, order=11, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Natural language description of the search parameter", formalDefinition="And how it used." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate search parameter instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate search parameter instances." ) protected List useContext; /** * A legal or geographic region in which the search parameter is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for search parameter (if applicable)", formalDefinition="A legal or geographic region in which the search parameter is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -977,29 +1033,29 @@ public class SearchParameter extends CanonicalResource { /** * Explanation of why this search parameter is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this search parameter is defined", formalDefinition="Explanation of why this search parameter is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** - * The code used in the URL or the parameter name in a parameters resource for this search parameter. + * The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code. */ - @Child(name = "code", type = {CodeType.class}, order=14, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Code used in URL", formalDefinition="The code used in the URL or the parameter name in a parameters resource for this search parameter." ) + @Child(name = "code", type = {CodeType.class}, order=15, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="Recommended name for parameter in search url", formalDefinition="The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code." ) protected CodeType code; /** * The base resource type(s) that this search parameter can be used against. */ - @Child(name = "base", type = {CodeType.class}, order=15, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "base", type = {CodeType.class}, order=16, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The resource type(s) this search parameter applies to", formalDefinition="The base resource type(s) that this search parameter can be used against." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") - protected List base; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-resource-types") + protected List> base; /** * The type of value that a search parameter may contain, and how the content is interpreted. */ - @Child(name = "type", type = {CodeType.class}, order=16, min=1, max=1, modifier=false, summary=true) + @Child(name = "type", type = {CodeType.class}, order=17, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="number | date | string | token | reference | composite | quantity | uri | special", formalDefinition="The type of value that a search parameter may contain, and how the content is interpreted." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-param-type") protected Enumeration type; @@ -1007,29 +1063,29 @@ public class SearchParameter extends CanonicalResource { /** * A FHIRPath expression that returns a set of elements for the search parameter. */ - @Child(name = "expression", type = {StringType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "expression", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="FHIRPath expression that extracts the values", formalDefinition="A FHIRPath expression that returns a set of elements for the search parameter." ) protected StringType expression; /** - * An XPath expression that returns a set of elements for the search parameter. + * How the search parameter relates to the set of elements returned by evaluating the expression query. */ - @Child(name = "xpath", type = {StringType.class}, order=18, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="XPath that extracts the values", formalDefinition="An XPath expression that returns a set of elements for the search parameter." ) - protected StringType xpath; + @Child(name = "processingMode", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="normal | phonetic | other", formalDefinition="How the search parameter relates to the set of elements returned by evaluating the expression query." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-processingmode") + protected Enumeration processingMode; /** - * How the search parameter relates to the set of elements returned by evaluating the xpath query. + * FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable. */ - @Child(name = "xpathUsage", type = {CodeType.class}, order=19, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="normal | phonetic | other", formalDefinition="How the search parameter relates to the set of elements returned by evaluating the xpath query." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-xpath-usage") - protected Enumeration xpathUsage; + @Child(name = "constraint", type = {StringType.class}, order=20, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="FHIRPath expression that constraints the usage of this SearchParamete", formalDefinition="FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable." ) + protected StringType constraint; /** * Types of resource (if a resource is referenced). */ - @Child(name = "target", type = {CodeType.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "target", type = {CodeType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Types of resource (if a resource reference)", formalDefinition="Types of resource (if a resource is referenced)." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/resource-types") protected List target; @@ -1037,21 +1093,21 @@ public class SearchParameter extends CanonicalResource { /** * Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match. */ - @Child(name = "multipleOr", type = {BooleanType.class}, order=21, min=0, max=1, modifier=false, summary=false) + @Child(name = "multipleOr", type = {BooleanType.class}, order=22, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Allow multiple values per parameter (or)", formalDefinition="Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match." ) protected BooleanType multipleOr; /** * Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match. */ - @Child(name = "multipleAnd", type = {BooleanType.class}, order=22, min=0, max=1, modifier=false, summary=false) + @Child(name = "multipleAnd", type = {BooleanType.class}, order=23, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Allow multiple parameters (and)", formalDefinition="Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match." ) protected BooleanType multipleAnd; /** * Comparators supported for the search parameter. */ - @Child(name = "comparator", type = {CodeType.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "comparator", type = {CodeType.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="eq | ne | gt | lt | ge | le | sa | eb | ap", formalDefinition="Comparators supported for the search parameter." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-comparator") protected List> comparator; @@ -1059,26 +1115,26 @@ public class SearchParameter extends CanonicalResource { /** * A modifier supported for the search parameter. */ - @Child(name = "modifier", type = {CodeType.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="missing | exact | contains | not | text | in | not-in | below | above | type | identifier | ofType", formalDefinition="A modifier supported for the search parameter." ) + @Child(name = "modifier", type = {CodeType.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="missing | exact | contains | not | text | in | not-in | below | above | type | identifier | of-type | code-text | text-advanced | iterate", formalDefinition="A modifier supported for the search parameter." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/search-modifier-code") protected List> modifier; /** * Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from SearchParameter.code for a parameter on the target resource type. */ - @Child(name = "chain", type = {StringType.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "chain", type = {StringType.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Chained names supported", formalDefinition="Contains the names of any search parameters which may be chained to the containing search parameter. Chained parameters may be added to search parameters of type reference and specify that resources will only be returned if they contain a reference to a resource which matches the chained parameter value. Values for this field should be drawn from SearchParameter.code for a parameter on the target resource type." ) protected List chain; /** * Used to define the parts of a composite search parameter. */ - @Child(name = "component", type = {}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "component", type = {}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="For Composite resources to define the parts", formalDefinition="Used to define the parts of a composite search parameter." ) protected List component; - private static final long serialVersionUID = -1284509007L; + private static final long serialVersionUID = 1875846540L; /** * Constructor @@ -1090,7 +1146,7 @@ public class SearchParameter extends CanonicalResource { /** * Constructor */ - public SearchParameter(String url, String name, PublicationStatus status, String description, String code, String base, SearchParamType type) { + public SearchParameter(String url, String name, PublicationStatus status, String description, String code, AllResourceTypes base, SearchParamType type) { super(); this.setUrl(url); this.setName(name); @@ -1102,7 +1158,7 @@ public class SearchParameter extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1122,7 +1178,7 @@ public class SearchParameter extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public SearchParameter setUrlElement(UriType value) { this.url = value; @@ -1130,14 +1186,14 @@ public class SearchParameter extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers. + * @return An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers. + * @param value An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers. */ public SearchParameter setUrl(String value) { if (this.url == null) @@ -1195,6 +1251,57 @@ public class SearchParameter extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public SearchParameter setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for SearchParameter.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -1478,7 +1585,7 @@ public class SearchParameter extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -1498,7 +1605,7 @@ public class SearchParameter extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public SearchParameter setPublisherElement(StringType value) { this.publisher = value; @@ -1506,14 +1613,14 @@ public class SearchParameter extends CanonicalResource { } /** - * @return The name of the organization or individual that published the search parameter. + * @return The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the search parameter. + * @param value The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter. */ public SearchParameter setPublisher(String value) { if (Utilities.noString(value)) @@ -1780,7 +1887,7 @@ public class SearchParameter extends CanonicalResource { } /** - * @return {@link #code} (The code used in the URL or the parameter name in a parameters resource for this search parameter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + * @return {@link #code} (The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value */ public CodeType getCodeElement() { if (this.code == null) @@ -1800,7 +1907,7 @@ public class SearchParameter extends CanonicalResource { } /** - * @param value {@link #code} (The code used in the URL or the parameter name in a parameters resource for this search parameter.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + * @param value {@link #code} (The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value */ public SearchParameter setCodeElement(CodeType value) { this.code = value; @@ -1808,14 +1915,14 @@ public class SearchParameter extends CanonicalResource { } /** - * @return The code used in the URL or the parameter name in a parameters resource for this search parameter. + * @return The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code. */ public String getCode() { return this.code == null ? null : this.code.getValue(); } /** - * @param value The code used in the URL or the parameter name in a parameters resource for this search parameter. + * @param value The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code. */ public SearchParameter setCode(String value) { if (this.code == null) @@ -1827,16 +1934,16 @@ public class SearchParameter extends CanonicalResource { /** * @return {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public List getBase() { + public List> getBase() { if (this.base == null) - this.base = new ArrayList(); + this.base = new ArrayList>(); return this.base; } /** * @return Returns a reference to this for easy method chaining */ - public SearchParameter setBase(List theBase) { + public SearchParameter setBase(List> theBase) { this.base = theBase; return this; } @@ -1844,7 +1951,7 @@ public class SearchParameter extends CanonicalResource { public boolean hasBase() { if (this.base == null) return false; - for (CodeType item : this.base) + for (Enumeration item : this.base) if (!item.isEmpty()) return true; return false; @@ -1853,10 +1960,10 @@ public class SearchParameter extends CanonicalResource { /** * @return {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public CodeType addBaseElement() {//2 - CodeType t = new CodeType(); + public Enumeration addBaseElement() {//2 + Enumeration t = new Enumeration(new AllResourceTypesEnumFactory()); if (this.base == null) - this.base = new ArrayList(); + this.base = new ArrayList>(); this.base.add(t); return t; } @@ -1864,11 +1971,11 @@ public class SearchParameter extends CanonicalResource { /** * @param value {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public SearchParameter addBase(String value) { //1 - CodeType t = new CodeType(); + public SearchParameter addBase(AllResourceTypes value) { //1 + Enumeration t = new Enumeration(new AllResourceTypesEnumFactory()); t.setValue(value); if (this.base == null) - this.base = new ArrayList(); + this.base = new ArrayList>(); this.base.add(t); return this; } @@ -1876,10 +1983,10 @@ public class SearchParameter extends CanonicalResource { /** * @param value {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public boolean hasBase(String value) { + public boolean hasBase(AllResourceTypes value) { if (this.base == null) return false; - for (CodeType v : this.base) + for (Enumeration v : this.base) if (v.getValue().equals(value)) // code return true; return false; @@ -1980,99 +2087,99 @@ public class SearchParameter extends CanonicalResource { } /** - * @return {@link #xpath} (An XPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getXpath" gives direct access to the value + * @return {@link #processingMode} (How the search parameter relates to the set of elements returned by evaluating the expression query.). This is the underlying object with id, value and extensions. The accessor "getProcessingMode" gives direct access to the value */ - public StringType getXpathElement() { - if (this.xpath == null) + public Enumeration getProcessingModeElement() { + if (this.processingMode == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SearchParameter.xpath"); + throw new Error("Attempt to auto-create SearchParameter.processingMode"); else if (Configuration.doAutoCreate()) - this.xpath = new StringType(); // bb - return this.xpath; + this.processingMode = new Enumeration(new SearchProcessingModeTypeEnumFactory()); // bb + return this.processingMode; } - public boolean hasXpathElement() { - return this.xpath != null && !this.xpath.isEmpty(); + public boolean hasProcessingModeElement() { + return this.processingMode != null && !this.processingMode.isEmpty(); } - public boolean hasXpath() { - return this.xpath != null && !this.xpath.isEmpty(); + public boolean hasProcessingMode() { + return this.processingMode != null && !this.processingMode.isEmpty(); } /** - * @param value {@link #xpath} (An XPath expression that returns a set of elements for the search parameter.). This is the underlying object with id, value and extensions. The accessor "getXpath" gives direct access to the value + * @param value {@link #processingMode} (How the search parameter relates to the set of elements returned by evaluating the expression query.). This is the underlying object with id, value and extensions. The accessor "getProcessingMode" gives direct access to the value */ - public SearchParameter setXpathElement(StringType value) { - this.xpath = value; + public SearchParameter setProcessingModeElement(Enumeration value) { + this.processingMode = value; return this; } /** - * @return An XPath expression that returns a set of elements for the search parameter. + * @return How the search parameter relates to the set of elements returned by evaluating the expression query. */ - public String getXpath() { - return this.xpath == null ? null : this.xpath.getValue(); + public SearchProcessingModeType getProcessingMode() { + return this.processingMode == null ? null : this.processingMode.getValue(); } /** - * @param value An XPath expression that returns a set of elements for the search parameter. + * @param value How the search parameter relates to the set of elements returned by evaluating the expression query. */ - public SearchParameter setXpath(String value) { - if (Utilities.noString(value)) - this.xpath = null; + public SearchParameter setProcessingMode(SearchProcessingModeType value) { + if (value == null) + this.processingMode = null; else { - if (this.xpath == null) - this.xpath = new StringType(); - this.xpath.setValue(value); + if (this.processingMode == null) + this.processingMode = new Enumeration(new SearchProcessingModeTypeEnumFactory()); + this.processingMode.setValue(value); } return this; } /** - * @return {@link #xpathUsage} (How the search parameter relates to the set of elements returned by evaluating the xpath query.). This is the underlying object with id, value and extensions. The accessor "getXpathUsage" gives direct access to the value + * @return {@link #constraint} (FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.). This is the underlying object with id, value and extensions. The accessor "getConstraint" gives direct access to the value */ - public Enumeration getXpathUsageElement() { - if (this.xpathUsage == null) + public StringType getConstraintElement() { + if (this.constraint == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SearchParameter.xpathUsage"); + throw new Error("Attempt to auto-create SearchParameter.constraint"); else if (Configuration.doAutoCreate()) - this.xpathUsage = new Enumeration(new XPathUsageTypeEnumFactory()); // bb - return this.xpathUsage; + this.constraint = new StringType(); // bb + return this.constraint; } - public boolean hasXpathUsageElement() { - return this.xpathUsage != null && !this.xpathUsage.isEmpty(); + public boolean hasConstraintElement() { + return this.constraint != null && !this.constraint.isEmpty(); } - public boolean hasXpathUsage() { - return this.xpathUsage != null && !this.xpathUsage.isEmpty(); + public boolean hasConstraint() { + return this.constraint != null && !this.constraint.isEmpty(); } /** - * @param value {@link #xpathUsage} (How the search parameter relates to the set of elements returned by evaluating the xpath query.). This is the underlying object with id, value and extensions. The accessor "getXpathUsage" gives direct access to the value + * @param value {@link #constraint} (FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.). This is the underlying object with id, value and extensions. The accessor "getConstraint" gives direct access to the value */ - public SearchParameter setXpathUsageElement(Enumeration value) { - this.xpathUsage = value; + public SearchParameter setConstraintElement(StringType value) { + this.constraint = value; return this; } /** - * @return How the search parameter relates to the set of elements returned by evaluating the xpath query. + * @return FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable. */ - public XPathUsageType getXpathUsage() { - return this.xpathUsage == null ? null : this.xpathUsage.getValue(); + public String getConstraint() { + return this.constraint == null ? null : this.constraint.getValue(); } /** - * @param value How the search parameter relates to the set of elements returned by evaluating the xpath query. + * @param value FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable. */ - public SearchParameter setXpathUsage(XPathUsageType value) { - if (value == null) - this.xpathUsage = null; + public SearchParameter setConstraint(String value) { + if (Utilities.noString(value)) + this.constraint = null; else { - if (this.xpathUsage == null) - this.xpathUsage = new Enumeration(new XPathUsageTypeEnumFactory()); - this.xpathUsage.setValue(value); + if (this.constraint == null) + this.constraint = new StringType(); + this.constraint.setValue(value); } return this; } @@ -2481,23 +2588,23 @@ public class SearchParameter extends CanonicalResource { * @return Returns a reference to this for easy method chaining */ public SearchParameter setIdentifier(List theIdentifier) { - throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); } public boolean hasIdentifier() { return false; } public Identifier addIdentifier() { //3 - throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); } public SearchParameter addIdentifier(Identifier t) { //3 - throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); } /** * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {2} */ public Identifier getIdentifierFirstRep() { - throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"identifier\""); } /** * not supported on this implementation @@ -2524,39 +2631,76 @@ public class SearchParameter extends CanonicalResource { * @param value {@link #copyright} (A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the search parameter.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public SearchParameter setCopyrightElement(MarkdownType value) { - throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); } public String getCopyright() { - throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); } /** * @param value A copyright statement relating to the search parameter and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the search parameter. */ public SearchParameter setCopyright(String value) { - throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyright\""); + } + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public SearchParameter setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public SearchParameter setCopyrightLabel(String value) { + throw new Error("The resource type \"SearchParameter\" does not implement the property \"copyrightLabel\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.", 0, 1, url)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the search parameter.", 0, 1, title)); children.add(new Property("derivedFrom", "canonical(SearchParameter)", "Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. i.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter.", 0, 1, derivedFrom)); children.add(new Property("status", "code", "The status of this search parameter. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the search parameter was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the search parameter.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "And how it used.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate search parameter instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the search parameter is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this search parameter is needed and why it has been designed as it has.", 0, 1, purpose)); - children.add(new Property("code", "code", "The code used in the URL or the parameter name in a parameters resource for this search parameter.", 0, 1, code)); + children.add(new Property("code", "code", "The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code.", 0, 1, code)); children.add(new Property("base", "code", "The base resource type(s) that this search parameter can be used against.", 0, java.lang.Integer.MAX_VALUE, base)); children.add(new Property("type", "code", "The type of value that a search parameter may contain, and how the content is interpreted.", 0, 1, type)); children.add(new Property("expression", "string", "A FHIRPath expression that returns a set of elements for the search parameter.", 0, 1, expression)); - children.add(new Property("xpath", "string", "An XPath expression that returns a set of elements for the search parameter.", 0, 1, xpath)); - children.add(new Property("xpathUsage", "code", "How the search parameter relates to the set of elements returned by evaluating the xpath query.", 0, 1, xpathUsage)); + children.add(new Property("processingMode", "code", "How the search parameter relates to the set of elements returned by evaluating the expression query.", 0, 1, processingMode)); + children.add(new Property("constraint", "string", "FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.", 0, 1, constraint)); children.add(new Property("target", "code", "Types of resource (if a resource is referenced).", 0, java.lang.Integer.MAX_VALUE, target)); children.add(new Property("multipleOr", "boolean", "Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match.", 0, 1, multipleOr)); children.add(new Property("multipleAnd", "boolean", "Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.", 0, 1, multipleAnd)); @@ -2569,26 +2713,30 @@ public class SearchParameter extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this search parameter when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this search parameter is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the search parameter is stored on different servers.", 0, 1, url); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the search parameter when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the search parameter author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the search parameter. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the search parameter.", 0, 1, title); case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "canonical(SearchParameter)", "Where this search parameter is originally defined. If a derivedFrom is provided, then the details in the search parameter must be consistent with the definition from which it is defined. i.e. the parameter should have the same meaning, and (usually) the functionality should be a proper subset of the underlying search parameter.", 0, 1, derivedFrom); case -892481550: /*status*/ return new Property("status", "code", "The status of this search parameter. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this search parameter is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the search parameter was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the search parameter changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the search parameter.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual tresponsible for the release and ongoing maintenance of the search parameter.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "And how it used.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate search parameter instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the search parameter is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this search parameter is needed and why it has been designed as it has.", 0, 1, purpose); - case 3059181: /*code*/ return new Property("code", "code", "The code used in the URL or the parameter name in a parameters resource for this search parameter.", 0, 1, code); + case 3059181: /*code*/ return new Property("code", "code", "The label that is recommended to be used in the URL or the parameter name in a parameters resource for this search parameter. In some cases, servers may need to use a different CapabilityStatement searchParam.name to differentiate between multiple SearchParameters that happen to have the same code.", 0, 1, code); case 3016401: /*base*/ return new Property("base", "code", "The base resource type(s) that this search parameter can be used against.", 0, java.lang.Integer.MAX_VALUE, base); case 3575610: /*type*/ return new Property("type", "code", "The type of value that a search parameter may contain, and how the content is interpreted.", 0, 1, type); case -1795452264: /*expression*/ return new Property("expression", "string", "A FHIRPath expression that returns a set of elements for the search parameter.", 0, 1, expression); - case 114256029: /*xpath*/ return new Property("xpath", "string", "An XPath expression that returns a set of elements for the search parameter.", 0, 1, xpath); - case 1801322244: /*xpathUsage*/ return new Property("xpathUsage", "code", "How the search parameter relates to the set of elements returned by evaluating the xpath query.", 0, 1, xpathUsage); + case 195763030: /*processingMode*/ return new Property("processingMode", "code", "How the search parameter relates to the set of elements returned by evaluating the expression query.", 0, 1, processingMode); + case -190376483: /*constraint*/ return new Property("constraint", "string", "FHIRPath expression that defines/sets a complex constraint for when this SearchParameter is applicable.", 0, 1, constraint); case -880905839: /*target*/ return new Property("target", "code", "Types of resource (if a resource is referenced).", 0, java.lang.Integer.MAX_VALUE, target); case 1265069075: /*multipleOr*/ return new Property("multipleOr", "boolean", "Whether multiple values are allowed for each time the parameter exists. Values are separated by commas, and the parameter matches if any of the values match.", 0, 1, multipleOr); case 562422183: /*multipleAnd*/ return new Property("multipleAnd", "boolean", "Whether multiple parameters are allowed - e.g. more than one parameter with the same name. The search matches if all the parameters match.", 0, 1, multipleAnd); @@ -2606,6 +2754,7 @@ public class SearchParameter extends CanonicalResource { switch (hash) { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : new Base[] {this.derivedFrom}; // CanonicalType @@ -2619,11 +2768,11 @@ public class SearchParameter extends CanonicalResource { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType - case 3016401: /*base*/ return this.base == null ? new Base[0] : this.base.toArray(new Base[this.base.size()]); // CodeType + case 3016401: /*base*/ return this.base == null ? new Base[0] : this.base.toArray(new Base[this.base.size()]); // Enumeration case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration case -1795452264: /*expression*/ return this.expression == null ? new Base[0] : new Base[] {this.expression}; // StringType - case 114256029: /*xpath*/ return this.xpath == null ? new Base[0] : new Base[] {this.xpath}; // StringType - case 1801322244: /*xpathUsage*/ return this.xpathUsage == null ? new Base[0] : new Base[] {this.xpathUsage}; // Enumeration + case 195763030: /*processingMode*/ return this.processingMode == null ? new Base[0] : new Base[] {this.processingMode}; // Enumeration + case -190376483: /*constraint*/ return this.constraint == null ? new Base[0] : new Base[] {this.constraint}; // StringType case -880905839: /*target*/ return this.target == null ? new Base[0] : this.target.toArray(new Base[this.target.size()]); // CodeType case 1265069075: /*multipleOr*/ return this.multipleOr == null ? new Base[0] : new Base[] {this.multipleOr}; // BooleanType case 562422183: /*multipleAnd*/ return this.multipleAnd == null ? new Base[0] : new Base[] {this.multipleAnd}; // BooleanType @@ -2645,6 +2794,9 @@ public class SearchParameter extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -2686,7 +2838,8 @@ public class SearchParameter extends CanonicalResource { this.code = TypeConvertor.castToCode(value); // CodeType return value; case 3016401: // base - this.getBase().add(TypeConvertor.castToCode(value)); // CodeType + value = new AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getBase().add((Enumeration) value); // Enumeration return value; case 3575610: // type value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); @@ -2695,12 +2848,12 @@ public class SearchParameter extends CanonicalResource { case -1795452264: // expression this.expression = TypeConvertor.castToString(value); // StringType return value; - case 114256029: // xpath - this.xpath = TypeConvertor.castToString(value); // StringType + case 195763030: // processingMode + value = new SearchProcessingModeTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.processingMode = (Enumeration) value; // Enumeration return value; - case 1801322244: // xpathUsage - value = new XPathUsageTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.xpathUsage = (Enumeration) value; // Enumeration + case -190376483: // constraint + this.constraint = TypeConvertor.castToString(value); // StringType return value; case -880905839: // target this.getTarget().add(TypeConvertor.castToCode(value)); // CodeType @@ -2736,6 +2889,8 @@ public class SearchParameter extends CanonicalResource { this.url = TypeConvertor.castToUri(value); // UriType } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -2764,17 +2919,18 @@ public class SearchParameter extends CanonicalResource { } else if (name.equals("code")) { this.code = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("base")) { - this.getBase().add(TypeConvertor.castToCode(value)); + value = new AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getBase().add((Enumeration) value); } else if (name.equals("type")) { value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration } else if (name.equals("expression")) { this.expression = TypeConvertor.castToString(value); // StringType - } else if (name.equals("xpath")) { - this.xpath = TypeConvertor.castToString(value); // StringType - } else if (name.equals("xpathUsage")) { - value = new XPathUsageTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.xpathUsage = (Enumeration) value; // Enumeration + } else if (name.equals("processingMode")) { + value = new SearchProcessingModeTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.processingMode = (Enumeration) value; // Enumeration + } else if (name.equals("constraint")) { + this.constraint = TypeConvertor.castToString(value); // StringType } else if (name.equals("target")) { this.getTarget().add(TypeConvertor.castToCode(value)); } else if (name.equals("multipleOr")) { @@ -2801,6 +2957,8 @@ public class SearchParameter extends CanonicalResource { switch (hash) { case 116079: return getUrlElement(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case 1077922663: return getDerivedFromElement(); @@ -2817,8 +2975,8 @@ public class SearchParameter extends CanonicalResource { case 3016401: return addBaseElement(); case 3575610: return getTypeElement(); case -1795452264: return getExpressionElement(); - case 114256029: return getXpathElement(); - case 1801322244: return getXpathUsageElement(); + case 195763030: return getProcessingModeElement(); + case -190376483: return getConstraintElement(); case -880905839: return addTargetElement(); case 1265069075: return getMultipleOrElement(); case 562422183: return getMultipleAndElement(); @@ -2836,6 +2994,7 @@ public class SearchParameter extends CanonicalResource { switch (hash) { case 116079: /*url*/ return new String[] {"uri"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case 1077922663: /*derivedFrom*/ return new String[] {"canonical"}; @@ -2852,8 +3011,8 @@ public class SearchParameter extends CanonicalResource { case 3016401: /*base*/ return new String[] {"code"}; case 3575610: /*type*/ return new String[] {"code"}; case -1795452264: /*expression*/ return new String[] {"string"}; - case 114256029: /*xpath*/ return new String[] {"string"}; - case 1801322244: /*xpathUsage*/ return new String[] {"code"}; + case 195763030: /*processingMode*/ return new String[] {"code"}; + case -190376483: /*constraint*/ return new String[] {"string"}; case -880905839: /*target*/ return new String[] {"code"}; case 1265069075: /*multipleOr*/ return new String[] {"boolean"}; case 562422183: /*multipleAnd*/ return new String[] {"boolean"}; @@ -2874,6 +3033,14 @@ public class SearchParameter extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.name"); } @@ -2922,11 +3089,11 @@ public class SearchParameter extends CanonicalResource { else if (name.equals("expression")) { throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.expression"); } - else if (name.equals("xpath")) { - throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.xpath"); + else if (name.equals("processingMode")) { + throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.processingMode"); } - else if (name.equals("xpathUsage")) { - throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.xpathUsage"); + else if (name.equals("constraint")) { + throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.constraint"); } else if (name.equals("target")) { throw new FHIRException("Cannot call addChild on a primitive type SearchParameter.target"); @@ -2968,6 +3135,7 @@ public class SearchParameter extends CanonicalResource { super.copyValues(dst); dst.url = url == null ? null : url.copy(); dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.derivedFrom = derivedFrom == null ? null : derivedFrom.copy(); @@ -2994,14 +3162,14 @@ public class SearchParameter extends CanonicalResource { dst.purpose = purpose == null ? null : purpose.copy(); dst.code = code == null ? null : code.copy(); if (base != null) { - dst.base = new ArrayList(); - for (CodeType i : base) + dst.base = new ArrayList>(); + for (Enumeration i : base) dst.base.add(i.copy()); }; dst.type = type == null ? null : type.copy(); dst.expression = expression == null ? null : expression.copy(); - dst.xpath = xpath == null ? null : xpath.copy(); - dst.xpathUsage = xpathUsage == null ? null : xpathUsage.copy(); + dst.processingMode = processingMode == null ? null : processingMode.copy(); + dst.constraint = constraint == null ? null : constraint.copy(); if (target != null) { dst.target = new ArrayList(); for (CodeType i : target) @@ -3042,16 +3210,17 @@ public class SearchParameter extends CanonicalResource { if (!(other_ instanceof SearchParameter)) return false; SearchParameter o = (SearchParameter) other_; - return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(name, o.name, true) - && compareDeep(title, o.title, true) && compareDeep(derivedFrom, o.derivedFrom, true) && compareDeep(status, o.status, true) - && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) - && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) - && compareDeep(base, o.base, true) && compareDeep(type, o.type, true) && compareDeep(expression, o.expression, true) - && compareDeep(xpath, o.xpath, true) && compareDeep(xpathUsage, o.xpathUsage, true) && compareDeep(target, o.target, true) - && compareDeep(multipleOr, o.multipleOr, true) && compareDeep(multipleAnd, o.multipleAnd, true) - && compareDeep(comparator, o.comparator, true) && compareDeep(modifier, o.modifier, true) && compareDeep(chain, o.chain, true) - && compareDeep(component, o.component, true); + return compareDeep(url, o.url, true) && compareDeep(version, o.version, true) && compareDeep(versionAlgorithm, o.versionAlgorithm, true) + && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(derivedFrom, o.derivedFrom, true) + && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) + && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(code, o.code, true) && compareDeep(base, o.base, true) + && compareDeep(type, o.type, true) && compareDeep(expression, o.expression, true) && compareDeep(processingMode, o.processingMode, true) + && compareDeep(constraint, o.constraint, true) && compareDeep(target, o.target, true) && compareDeep(multipleOr, o.multipleOr, true) + && compareDeep(multipleAnd, o.multipleAnd, true) && compareDeep(comparator, o.comparator, true) + && compareDeep(modifier, o.modifier, true) && compareDeep(chain, o.chain, true) && compareDeep(component, o.component, true) + ; } @Override @@ -3066,17 +3235,18 @@ public class SearchParameter extends CanonicalResource { && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(purpose, o.purpose, true) && compareValues(code, o.code, true) && compareValues(base, o.base, true) && compareValues(type, o.type, true) && compareValues(expression, o.expression, true) - && compareValues(xpath, o.xpath, true) && compareValues(xpathUsage, o.xpathUsage, true) && compareValues(target, o.target, true) - && compareValues(multipleOr, o.multipleOr, true) && compareValues(multipleAnd, o.multipleAnd, true) + && compareValues(processingMode, o.processingMode, true) && compareValues(constraint, o.constraint, true) + && compareValues(target, o.target, true) && compareValues(multipleOr, o.multipleOr, true) && compareValues(multipleAnd, o.multipleAnd, true) && compareValues(comparator, o.comparator, true) && compareValues(modifier, o.modifier, true) && compareValues(chain, o.chain, true) ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, name, title - , derivedFrom, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, code, base, type, expression, xpath, xpathUsage, target - , multipleOr, multipleAnd, comparator, modifier, chain, component); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, version, versionAlgorithm + , name, title, derivedFrom, status, experimental, date, publisher, contact, description + , useContext, jurisdiction, purpose, code, base, type, expression, processingMode + , constraint, target, multipleOr, multipleAnd, comparator, modifier, chain, component + ); } @Override @@ -3794,7 +3964,7 @@ public class SearchParameter extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -3810,7 +3980,7 @@ public class SearchParameter extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -3820,7 +3990,7 @@ public class SearchParameter extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ServiceRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ServiceRequest.java index dba757368..c0d8ca215 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ServiceRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ServiceRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -135,12 +135,12 @@ public class ServiceRequest extends DomainResource { protected BooleanType doNotPerform; /** - * A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested. + * A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested. */ - @Child(name = "code", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="What is being requested/ordered", formalDefinition="A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested." ) + @Child(name = "code", type = {CodeableReference.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="What is being requested/ordered", formalDefinition="A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/procedure-code") - protected CodeableConcept code; + protected CodeableReference code; /** * Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied. @@ -295,7 +295,7 @@ public class ServiceRequest extends DomainResource { @Description(shortDefinition="Request provenance", formalDefinition="Key events in the history of the request." ) protected List relevantHistory; - private static final long serialVersionUID = 475754062L; + private static final long serialVersionUID = -1812493109L; /** * Constructor @@ -857,14 +857,14 @@ public class ServiceRequest extends DomainResource { } /** - * @return {@link #code} (A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.) + * @return {@link #code} (A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.) */ - public CodeableConcept getCode() { + public CodeableReference getCode() { if (this.code == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create ServiceRequest.code"); else if (Configuration.doAutoCreate()) - this.code = new CodeableConcept(); // cc + this.code = new CodeableReference(); // cc return this.code; } @@ -873,9 +873,9 @@ public class ServiceRequest extends DomainResource { } /** - * @param value {@link #code} (A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.) + * @param value {@link #code} (A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.) */ - public ServiceRequest setCode(CodeableConcept value) { + public ServiceRequest setCode(CodeableReference value) { this.code = value; return this; } @@ -1877,7 +1877,7 @@ public class ServiceRequest extends DomainResource { children.add(new Property("category", "CodeableConcept", "A code that classifies the service for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, java.lang.Integer.MAX_VALUE, category)); children.add(new Property("priority", "code", "Indicates how quickly the ServiceRequest should be addressed with respect to other requests.", 0, 1, priority)); children.add(new Property("doNotPerform", "boolean", "Set this to true if the record is saying that the service/procedure should NOT be performed.", 0, 1, doNotPerform)); - children.add(new Property("code", "CodeableConcept", "A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.", 0, 1, code)); + children.add(new Property("code", "CodeableReference(ActivityDefinition|PlanDefinition)", "A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.", 0, 1, code)); children.add(new Property("orderDetail", "CodeableConcept", "Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied.", 0, java.lang.Integer.MAX_VALUE, orderDetail)); children.add(new Property("quantity[x]", "Quantity|Ratio|Range", "An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction).", 0, 1, quantity)); children.add(new Property("subject", "Reference(Patient|Group|Location|Device)", "On whom or what the service is to be performed. This is usually a human patient, but can also be requested on animals, groups of humans or animals, devices such as dialysis machines, or even locations (typically for environmental scans).", 0, 1, subject)); @@ -1915,7 +1915,7 @@ public class ServiceRequest extends DomainResource { case 50511102: /*category*/ return new Property("category", "CodeableConcept", "A code that classifies the service for searching, sorting and display purposes (e.g. \"Surgical Procedure\").", 0, java.lang.Integer.MAX_VALUE, category); case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the ServiceRequest should be addressed with respect to other requests.", 0, 1, priority); case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "Set this to true if the record is saying that the service/procedure should NOT be performed.", 0, 1, doNotPerform); - case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.", 0, 1, code); + case 3059181: /*code*/ return new Property("code", "CodeableReference(ActivityDefinition|PlanDefinition)", "A code or reference that identifies a particular service (i.e., procedure, diagnostic investigation, or panel of investigations) that have been requested.", 0, 1, code); case 1187338559: /*orderDetail*/ return new Property("orderDetail", "CodeableConcept", "Additional details and instructions about the how the services are to be delivered. For example, and order for a urinary catheter may have an order detail for an external or indwelling catheter, or an order for a bandage may require additional instructions specifying how the bandage should be applied.", 0, java.lang.Integer.MAX_VALUE, orderDetail); case -515002347: /*quantity[x]*/ return new Property("quantity[x]", "Quantity|Ratio|Range", "An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction).", 0, 1, quantity); case -1285004149: /*quantity*/ return new Property("quantity[x]", "Quantity|Ratio|Range", "An amount of service being requested which can be a quantity ( for example $1,500 home modification), a ratio ( for example, 20 half day visits per month), or a range (2.0 to 1.8 Gy per fraction).", 0, 1, quantity); @@ -1967,7 +1967,7 @@ public class ServiceRequest extends DomainResource { case 50511102: /*category*/ return this.category == null ? new Base[0] : this.category.toArray(new Base[this.category.size()]); // CodeableConcept case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType - case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableReference case 1187338559: /*orderDetail*/ return this.orderDetail == null ? new Base[0] : this.orderDetail.toArray(new Base[this.orderDetail.size()]); // CodeableConcept case -1285004149: /*quantity*/ return this.quantity == null ? new Base[0] : new Base[] {this.quantity}; // DataType case -1867885268: /*subject*/ return this.subject == null ? new Base[0] : new Base[] {this.subject}; // Reference @@ -2034,7 +2034,7 @@ public class ServiceRequest extends DomainResource { this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType return value; case 3059181: // code - this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.code = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; case 1187338559: // orderDetail this.getOrderDetail().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept @@ -2132,7 +2132,7 @@ public class ServiceRequest extends DomainResource { } else if (name.equals("doNotPerform")) { this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("code")) { - this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.code = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("orderDetail")) { this.getOrderDetail().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("quantity[x]")) { @@ -2238,7 +2238,7 @@ public class ServiceRequest extends DomainResource { case 50511102: /*category*/ return new String[] {"CodeableConcept"}; case -1165461084: /*priority*/ return new String[] {"code"}; case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; - case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case 3059181: /*code*/ return new String[] {"CodeableReference"}; case 1187338559: /*orderDetail*/ return new String[] {"CodeableConcept"}; case -1285004149: /*quantity*/ return new String[] {"Quantity", "Ratio", "Range"}; case -1867885268: /*subject*/ return new String[] {"Reference"}; @@ -2302,7 +2302,7 @@ public class ServiceRequest extends DomainResource { throw new FHIRException("Cannot call addChild on a primitive type ServiceRequest.doNotPerform"); } else if (name.equals("code")) { - this.code = new CodeableConcept(); + this.code = new CodeableReference(); return this.code; } else if (name.equals("orderDetail")) { @@ -2681,6 +2681,52 @@ public class ServiceRequest extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CATEGORY = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CATEGORY); + /** + * Search parameter: code-concept + *

+ * Description: What is being requested/ordered
+ * Type: token
+ * Path: ServiceRequest.code.concept
+ *

+ */ + @SearchParamDefinition(name="code-concept", path="ServiceRequest.code.concept", description="What is being requested/ordered", type="token" ) + public static final String SP_CODE_CONCEPT = "code-concept"; + /** + * Fluent Client search parameter constant for code-concept + *

+ * Description: What is being requested/ordered
+ * Type: token
+ * Path: ServiceRequest.code.concept
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE_CONCEPT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE_CONCEPT); + + /** + * Search parameter: code-reference + *

+ * Description: What is being requested/ordered
+ * Type: reference
+ * Path: ServiceRequest.code.reference
+ *

+ */ + @SearchParamDefinition(name="code-reference", path="ServiceRequest.code.reference", description="What is being requested/ordered", type="reference" ) + public static final String SP_CODE_REFERENCE = "code-reference"; + /** + * Fluent Client search parameter constant for code-reference + *

+ * Description: What is being requested/ordered
+ * Type: reference
+ * Path: ServiceRequest.code.reference
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam CODE_REFERENCE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_CODE_REFERENCE); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ServiceRequest:code-reference". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_CODE_REFERENCE = new ca.uhn.fhir.model.api.Include("ServiceRequest:code-reference").toLocked(); + /** * Search parameter: instantiates-canonical *

@@ -2977,58 +3023,6 @@ public class ServiceRequest extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_SUBJECT = new ca.uhn.fhir.model.api.Include("ServiceRequest:subject").toLocked(); - /** - * Search parameter: code - *

- * Description: Multiple Resources: - -* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance -* [Condition](condition.html): Code for the condition -* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered -* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result -* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code -* [List](list.html): What the purpose of this list is -* [Medication](medication.html): Returns medications for a specific code -* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code -* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code -* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code -* [MedicationUsage](medicationusage.html): Return statements of this medication code -* [Observation](observation.html): The code of the observation type -* [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered -
- * Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
- *

- */ - @SearchParamDefinition(name="code", path="AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance\r\n* [Condition](condition.html): Code for the condition\r\n* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered\r\n* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result\r\n* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code\r\n* [List](list.html): What the purpose of this list is\r\n* [Medication](medication.html): Returns medications for a specific code\r\n* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code\r\n* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code\r\n* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code\r\n* [MedicationUsage](medicationusage.html): Return statements of this medication code\r\n* [Observation](observation.html): The code of the observation type\r\n* [Procedure](procedure.html): A code to identify a procedure\r\n* [ServiceRequest](servicerequest.html): What is being requested/ordered\r\n", type="token" ) - public static final String SP_CODE = "code"; - /** - * Fluent Client search parameter constant for code - *

- * Description: Multiple Resources: - -* [AllergyIntolerance](allergyintolerance.html): Code that identifies the allergy or intolerance -* [Condition](condition.html): Code for the condition -* [DeviceRequest](devicerequest.html): Code for what is being requested/ordered -* [DiagnosticReport](diagnosticreport.html): The code for the report, as opposed to codes for the atomic results, which are the names on the observation resource referred to from the result -* [FamilyMemberHistory](familymemberhistory.html): A search by a condition code -* [List](list.html): What the purpose of this list is -* [Medication](medication.html): Returns medications for a specific code -* [MedicationAdministration](medicationadministration.html): Return administrations of this medication code -* [MedicationDispense](medicationdispense.html): Returns dispenses of this medicine code -* [MedicationRequest](medicationrequest.html): Return prescriptions of this medication code -* [MedicationUsage](medicationusage.html): Return statements of this medication code -* [Observation](observation.html): The code of the observation type -* [Procedure](procedure.html): A code to identify a procedure -* [ServiceRequest](servicerequest.html): What is being requested/ordered -
- * Type: token
- * Path: AllergyIntolerance.code | AllergyIntolerance.reaction.substance | Condition.code | DeviceRequest.code.concept | DiagnosticReport.code | FamilyMemberHistory.condition.code | List.code | Medication.code | MedicationAdministration.medication.concept | MedicationDispense.medication.concept | MedicationRequest.medication.concept | MedicationUsage.medication.concept | Observation.code | Procedure.code | ServiceRequest.code
- *

- */ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); - /** * Search parameter: encounter *

@@ -3195,7 +3189,7 @@ public class ServiceRequest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3204,10 +3198,10 @@ public class ServiceRequest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -3239,7 +3233,7 @@ public class ServiceRequest extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -3248,7 +3242,7 @@ public class ServiceRequest extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Signature.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Signature.java index bb56b39b5..e8c5f61a4 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Signature.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Signature.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Signature Type: A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities. + * Signature Type: A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities. */ @DatatypeDef(name="Signature") public class Signature extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Slot.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Slot.java index 38187806e..62f565d7d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Slot.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Slot.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Specimen.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Specimen.java index 5d45244a5..da99fedc5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Specimen.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Specimen.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -53,6 +53,102 @@ import ca.uhn.fhir.model.api.annotation.Block; @ResourceDef(name="Specimen", profile="http://hl7.org/fhir/StructureDefinition/Specimen") public class Specimen extends DomainResource { + public enum SpecimenCombined { + /** + * The specimen is in a group. + */ + GROUPED, + /** + * The specimen is pooled. + */ + POOLED, + /** + * added to help the parsers with the generic types + */ + NULL; + public static SpecimenCombined fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("grouped".equals(codeString)) + return GROUPED; + if ("pooled".equals(codeString)) + return POOLED; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown SpecimenCombined code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case GROUPED: return "grouped"; + case POOLED: return "pooled"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case GROUPED: return "http://hl7.org/fhir/specimen-combined"; + case POOLED: return "http://hl7.org/fhir/specimen-combined"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case GROUPED: return "The specimen is in a group."; + case POOLED: return "The specimen is pooled."; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case GROUPED: return "Grouped"; + case POOLED: return "Pooled"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class SpecimenCombinedEnumFactory implements EnumFactory { + public SpecimenCombined fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("grouped".equals(codeString)) + return SpecimenCombined.GROUPED; + if ("pooled".equals(codeString)) + return SpecimenCombined.POOLED; + throw new IllegalArgumentException("Unknown SpecimenCombined code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("grouped".equals(codeString)) + return new Enumeration(this, SpecimenCombined.GROUPED); + if ("pooled".equals(codeString)) + return new Enumeration(this, SpecimenCombined.POOLED); + throw new FHIRException("Unknown SpecimenCombined code '"+codeString+"'"); + } + public String toCode(SpecimenCombined code) { + if (code == SpecimenCombined.GROUPED) + return "grouped"; + if (code == SpecimenCombined.POOLED) + return "pooled"; + return "?"; + } + public String toSystem(SpecimenCombined code) { + return code.getSystem(); + } + } + public enum SpecimenStatus { /** * The physical specimen is present and in good condition. @@ -1714,38 +1810,54 @@ public class Specimen extends DomainResource { @Description(shortDefinition="Why the specimen was collected", formalDefinition="Details concerning a service request that required a specimen to be collected." ) protected List request; + /** + * This element signifies if the specimen is part of a group or pooled. + */ + @Child(name = "combined", type = {CodeType.class}, order=8, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="grouped | pooled", formalDefinition="This element signifies if the specimen is part of a group or pooled." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/specimen-combined") + protected Enumeration combined; + + /** + * The role or reason for the specimen in the testing workflow. + */ + @Child(name = "role", type = {CodeableConcept.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="The role the specimen serves", formalDefinition="The role or reason for the specimen in the testing workflow." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/specimen-role") + protected List role; + /** * A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location). */ - @Child(name = "feature", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "feature", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The physical feature of a specimen ", formalDefinition="A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location)." ) protected List feature; /** * Details concerning the specimen collection. */ - @Child(name = "collection", type = {}, order=9, min=0, max=1, modifier=false, summary=false) + @Child(name = "collection", type = {}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Collection details", formalDefinition="Details concerning the specimen collection." ) protected SpecimenCollectionComponent collection; /** * Details concerning processing and processing steps for the specimen. */ - @Child(name = "processing", type = {}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "processing", type = {}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Processing and processing step details", formalDefinition="Details concerning processing and processing steps for the specimen." ) protected List processing; /** * The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here. */ - @Child(name = "container", type = {}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "container", type = {}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Direct container of specimen (tube/slide, etc.)", formalDefinition="The container holding the specimen. The recursive nature of containers; i.e. blood in tube in tray in rack is not addressed here." ) protected List container; /** * A mode or state of being that describes the nature of the specimen. */ - @Child(name = "condition", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "condition", type = {CodeableConcept.class}, order=14, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="State of the specimen", formalDefinition="A mode or state of being that describes the nature of the specimen." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://terminology.hl7.org/ValueSet/v2-0493") protected List condition; @@ -1753,11 +1865,11 @@ public class Specimen extends DomainResource { /** * To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen). */ - @Child(name = "note", type = {Annotation.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Comments", formalDefinition="To communicate any details or issues about the specimen or during the specimen collection. (for example: broken vial, sent with patient, frozen)." ) protected List note; - private static final long serialVersionUID = 1193796650L; + private static final long serialVersionUID = -445425000L; /** * Constructor @@ -2095,6 +2207,108 @@ public class Specimen extends DomainResource { return getRequest().get(0); } + /** + * @return {@link #combined} (This element signifies if the specimen is part of a group or pooled.). This is the underlying object with id, value and extensions. The accessor "getCombined" gives direct access to the value + */ + public Enumeration getCombinedElement() { + if (this.combined == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Specimen.combined"); + else if (Configuration.doAutoCreate()) + this.combined = new Enumeration(new SpecimenCombinedEnumFactory()); // bb + return this.combined; + } + + public boolean hasCombinedElement() { + return this.combined != null && !this.combined.isEmpty(); + } + + public boolean hasCombined() { + return this.combined != null && !this.combined.isEmpty(); + } + + /** + * @param value {@link #combined} (This element signifies if the specimen is part of a group or pooled.). This is the underlying object with id, value and extensions. The accessor "getCombined" gives direct access to the value + */ + public Specimen setCombinedElement(Enumeration value) { + this.combined = value; + return this; + } + + /** + * @return This element signifies if the specimen is part of a group or pooled. + */ + public SpecimenCombined getCombined() { + return this.combined == null ? null : this.combined.getValue(); + } + + /** + * @param value This element signifies if the specimen is part of a group or pooled. + */ + public Specimen setCombined(SpecimenCombined value) { + if (value == null) + this.combined = null; + else { + if (this.combined == null) + this.combined = new Enumeration(new SpecimenCombinedEnumFactory()); + this.combined.setValue(value); + } + return this; + } + + /** + * @return {@link #role} (The role or reason for the specimen in the testing workflow.) + */ + public List getRole() { + if (this.role == null) + this.role = new ArrayList(); + return this.role; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public Specimen setRole(List theRole) { + this.role = theRole; + return this; + } + + public boolean hasRole() { + if (this.role == null) + return false; + for (CodeableConcept item : this.role) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addRole() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.role == null) + this.role = new ArrayList(); + this.role.add(t); + return t; + } + + public Specimen addRole(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.role == null) + this.role = new ArrayList(); + this.role.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #role}, creating it if it does not already exist {3} + */ + public CodeableConcept getRoleFirstRep() { + if (getRole().isEmpty()) { + addRole(); + } + return getRole().get(0); + } + /** * @return {@link #feature} (A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location).) */ @@ -2394,6 +2608,8 @@ public class Specimen extends DomainResource { children.add(new Property("receivedTime", "dateTime", "Time when specimen is received by the testing laboratory for processing or testing.", 0, 1, receivedTime)); children.add(new Property("parent", "Reference(Specimen)", "Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.", 0, java.lang.Integer.MAX_VALUE, parent)); children.add(new Property("request", "Reference(ServiceRequest)", "Details concerning a service request that required a specimen to be collected.", 0, java.lang.Integer.MAX_VALUE, request)); + children.add(new Property("combined", "code", "This element signifies if the specimen is part of a group or pooled.", 0, 1, combined)); + children.add(new Property("role", "CodeableConcept", "The role or reason for the specimen in the testing workflow.", 0, java.lang.Integer.MAX_VALUE, role)); children.add(new Property("feature", "", "A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location).", 0, java.lang.Integer.MAX_VALUE, feature)); children.add(new Property("collection", "", "Details concerning the specimen collection.", 0, 1, collection)); children.add(new Property("processing", "", "Details concerning processing and processing steps for the specimen.", 0, java.lang.Integer.MAX_VALUE, processing)); @@ -2413,6 +2629,8 @@ public class Specimen extends DomainResource { case -767961010: /*receivedTime*/ return new Property("receivedTime", "dateTime", "Time when specimen is received by the testing laboratory for processing or testing.", 0, 1, receivedTime); case -995424086: /*parent*/ return new Property("parent", "Reference(Specimen)", "Reference to the parent (source) specimen which is used when the specimen was either derived from or a component of another specimen.", 0, java.lang.Integer.MAX_VALUE, parent); case 1095692943: /*request*/ return new Property("request", "Reference(ServiceRequest)", "Details concerning a service request that required a specimen to be collected.", 0, java.lang.Integer.MAX_VALUE, request); + case -612455675: /*combined*/ return new Property("combined", "code", "This element signifies if the specimen is part of a group or pooled.", 0, 1, combined); + case 3506294: /*role*/ return new Property("role", "CodeableConcept", "The role or reason for the specimen in the testing workflow.", 0, java.lang.Integer.MAX_VALUE, role); case -979207434: /*feature*/ return new Property("feature", "", "A physical feature or landmark on a specimen, highlighted for context by the collector of the specimen (e.g. surgeon), that identifies the type of feature as well as its meaning (e.g. the red ink indicating the resection margin of the right lobe of the excised prostate tissue or wire loop at radiologically suspected tumor location).", 0, java.lang.Integer.MAX_VALUE, feature); case -1741312354: /*collection*/ return new Property("collection", "", "Details concerning the specimen collection.", 0, 1, collection); case 422194963: /*processing*/ return new Property("processing", "", "Details concerning processing and processing steps for the specimen.", 0, java.lang.Integer.MAX_VALUE, processing); @@ -2435,6 +2653,8 @@ public class Specimen extends DomainResource { case -767961010: /*receivedTime*/ return this.receivedTime == null ? new Base[0] : new Base[] {this.receivedTime}; // DateTimeType case -995424086: /*parent*/ return this.parent == null ? new Base[0] : this.parent.toArray(new Base[this.parent.size()]); // Reference case 1095692943: /*request*/ return this.request == null ? new Base[0] : this.request.toArray(new Base[this.request.size()]); // Reference + case -612455675: /*combined*/ return this.combined == null ? new Base[0] : new Base[] {this.combined}; // Enumeration + case 3506294: /*role*/ return this.role == null ? new Base[0] : this.role.toArray(new Base[this.role.size()]); // CodeableConcept case -979207434: /*feature*/ return this.feature == null ? new Base[0] : this.feature.toArray(new Base[this.feature.size()]); // SpecimenFeatureComponent case -1741312354: /*collection*/ return this.collection == null ? new Base[0] : new Base[] {this.collection}; // SpecimenCollectionComponent case 422194963: /*processing*/ return this.processing == null ? new Base[0] : this.processing.toArray(new Base[this.processing.size()]); // SpecimenProcessingComponent @@ -2474,6 +2694,13 @@ public class Specimen extends DomainResource { case 1095692943: // request this.getRequest().add(TypeConvertor.castToReference(value)); // Reference return value; + case -612455675: // combined + value = new SpecimenCombinedEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.combined = (Enumeration) value; // Enumeration + return value; + case 3506294: // role + this.getRole().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; case -979207434: // feature this.getFeature().add((SpecimenFeatureComponent) value); // SpecimenFeatureComponent return value; @@ -2516,6 +2743,11 @@ public class Specimen extends DomainResource { this.getParent().add(TypeConvertor.castToReference(value)); } else if (name.equals("request")) { this.getRequest().add(TypeConvertor.castToReference(value)); + } else if (name.equals("combined")) { + value = new SpecimenCombinedEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.combined = (Enumeration) value; // Enumeration + } else if (name.equals("role")) { + this.getRole().add(TypeConvertor.castToCodeableConcept(value)); } else if (name.equals("feature")) { this.getFeature().add((SpecimenFeatureComponent) value); } else if (name.equals("collection")) { @@ -2544,6 +2776,8 @@ public class Specimen extends DomainResource { case -767961010: return getReceivedTimeElement(); case -995424086: return addParent(); case 1095692943: return addRequest(); + case -612455675: return getCombinedElement(); + case 3506294: return addRole(); case -979207434: return addFeature(); case -1741312354: return getCollection(); case 422194963: return addProcessing(); @@ -2566,6 +2800,8 @@ public class Specimen extends DomainResource { case -767961010: /*receivedTime*/ return new String[] {"dateTime"}; case -995424086: /*parent*/ return new String[] {"Reference"}; case 1095692943: /*request*/ return new String[] {"Reference"}; + case -612455675: /*combined*/ return new String[] {"code"}; + case 3506294: /*role*/ return new String[] {"CodeableConcept"}; case -979207434: /*feature*/ return new String[] {}; case -1741312354: /*collection*/ return new String[] {}; case 422194963: /*processing*/ return new String[] {}; @@ -2606,6 +2842,12 @@ public class Specimen extends DomainResource { else if (name.equals("request")) { return addRequest(); } + else if (name.equals("combined")) { + throw new FHIRException("Cannot call addChild on a primitive type Specimen.combined"); + } + else if (name.equals("role")) { + return addRole(); + } else if (name.equals("feature")) { return addFeature(); } @@ -2662,6 +2904,12 @@ public class Specimen extends DomainResource { for (Reference i : request) dst.request.add(i.copy()); }; + dst.combined = combined == null ? null : combined.copy(); + if (role != null) { + dst.role = new ArrayList(); + for (CodeableConcept i : role) + dst.role.add(i.copy()); + }; if (feature != null) { dst.feature = new ArrayList(); for (SpecimenFeatureComponent i : feature) @@ -2704,9 +2952,9 @@ public class Specimen extends DomainResource { return compareDeep(identifier, o.identifier, true) && compareDeep(accessionIdentifier, o.accessionIdentifier, true) && compareDeep(status, o.status, true) && compareDeep(type, o.type, true) && compareDeep(subject, o.subject, true) && compareDeep(receivedTime, o.receivedTime, true) && compareDeep(parent, o.parent, true) && compareDeep(request, o.request, true) - && compareDeep(feature, o.feature, true) && compareDeep(collection, o.collection, true) && compareDeep(processing, o.processing, true) - && compareDeep(container, o.container, true) && compareDeep(condition, o.condition, true) && compareDeep(note, o.note, true) - ; + && compareDeep(combined, o.combined, true) && compareDeep(role, o.role, true) && compareDeep(feature, o.feature, true) + && compareDeep(collection, o.collection, true) && compareDeep(processing, o.processing, true) && compareDeep(container, o.container, true) + && compareDeep(condition, o.condition, true) && compareDeep(note, o.note, true); } @Override @@ -2716,13 +2964,14 @@ public class Specimen extends DomainResource { if (!(other_ instanceof Specimen)) return false; Specimen o = (Specimen) other_; - return compareValues(status, o.status, true) && compareValues(receivedTime, o.receivedTime, true); + return compareValues(status, o.status, true) && compareValues(receivedTime, o.receivedTime, true) && compareValues(combined, o.combined, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, accessionIdentifier - , status, type, subject, receivedTime, parent, request, feature, collection - , processing, container, condition, note); + , status, type, subject, receivedTime, parent, request, combined, role, feature + , collection, processing, container, condition, note); } @Override @@ -2920,6 +3169,32 @@ public class Specimen extends DomainResource { */ public static final ca.uhn.fhir.model.api.Include INCLUDE_PATIENT = new ca.uhn.fhir.model.api.Include("Specimen:patient").toLocked(); + /** + * Search parameter: procedure + *

+ * Description: The procedure that collected the specimen
+ * Type: reference
+ * Path: Specimen.collection.procedure
+ *

+ */ + @SearchParamDefinition(name="procedure", path="Specimen.collection.procedure", description="The procedure that collected the specimen", type="reference", target={Procedure.class } ) + public static final String SP_PROCEDURE = "procedure"; + /** + * Fluent Client search parameter constant for procedure + *

+ * Description: The procedure that collected the specimen
+ * Type: reference
+ * Path: Specimen.collection.procedure
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PROCEDURE = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PROCEDURE); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Specimen:procedure". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PROCEDURE = new ca.uhn.fhir.model.api.Include("Specimen:procedure").toLocked(); + /** * Search parameter: status *

diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SpecimenDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SpecimenDefinition.java index fc35bf725..69c73fe61 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SpecimenDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SpecimenDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2091,7 +2091,7 @@ public class SpecimenDefinition extends DomainResource { /** * A flag to indicate that this SpecimenDefinition is not authored for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=true, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If this SpecimenDefinition is not for real usage", formalDefinition="A flag to indicate that this SpecimenDefinition is not authored for genuine usage." ) protected BooleanType experimental; @@ -2284,30 +2284,64 @@ public class SpecimenDefinition extends DomainResource { return this; } + /** * @return {@link #identifier} (A business identifier assigned to this SpecimenDefinition.) */ - public Identifier getIdentifier() { - if (this.identifier == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SpecimenDefinition.identifier"); - else if (Configuration.doAutoCreate()) - this.identifier = new Identifier(); // cc - return this.identifier; + public List getIdentifier() { + List list = new ArrayList(); + if (this.identifier == null) { + list.add(identifier); + } + return list; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setIdentifier(List theIdentifier) { + if (theIdentifier.size() == 0) { + this.identifier = null; + } else if (theIdentifier.size() == 1) { + this.identifier = theIdentifier.get(0); + } else { + throw new Error("Cannot have more than one SpecimenDefinition.identifier"); + } + return this; } public boolean hasIdentifier() { return this.identifier != null && !this.identifier.isEmpty(); } - /** - * @param value {@link #identifier} (A business identifier assigned to this SpecimenDefinition.) - */ - public SpecimenDefinition setIdentifier(Identifier value) { - this.identifier = value; + public Identifier addIdentifier() { //3 + if (this.identifier == null) { + this.identifier = new Identifier(); + } else { + throw new Error("Cannot have more than one SpecimenDefinition.identifier"); + } + return this.identifier; + } + + public SpecimenDefinition addIdentifier(Identifier t) { //3 + if (this.identifier == null) { + this.identifier = t; + } else { + throw new Error("Cannot have more than one SpecimenDefinition.identifier"); + } return this; } + /** + * @return The first repetition of repeating field {@link #identifier}, creating it if it does not already exist {3} + */ + public Identifier getIdentifierFirstRep() { + if (identifier == null) { + addIdentifier(); + } + return identifier; + } + /** * @return {@link #version} (The identifier that is used to identify this version of the SpecimenDefinition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the SpecimenDefinition author and is not expected to be globally unique.). This is the underlying object with id, value and extensions. The accessor "getVersion" gives direct access to the value */ @@ -3402,6 +3436,281 @@ public class SpecimenDefinition extends DomainResource { return getTypeTested().get(0); } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public SpecimenDefinition setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"versionAlgorithm[x]\""); + } + + + /** + * @return {@link #name} (A natural language name identifying the specimen definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public StringType getNameElement() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"name\""); + } + + public boolean hasNameElement() { + return false; + } + public boolean hasName() { + return false; + } + + /** + * @param value {@link #name} (A natural language name identifying the specimen definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value + */ + public SpecimenDefinition setNameElement(StringType value) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"name\""); + } + public String getName() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"name\""); + } + /** + * @param value A natural language name identifying the specimen definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. + */ + public SpecimenDefinition setName(String value) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"name\""); + } + + + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public SpecimenDefinition setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public SpecimenDefinition setCopyrightLabel(String value) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"copyrightLabel\""); + } + + /** + * @return {@link #topic} (Descriptive topics related to the content of the specimen definition. Topics provide a high-level categorization as well as keywords for the specimen definition that can be useful for filtering and searching.) + */ + public List getTopic() { + return new ArrayList<>(); + } + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setTopic(List theTopic) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"topic\""); + } + public boolean hasTopic() { + return false; + } + + public CodeableConcept addTopic() { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"topic\""); + } + public SpecimenDefinition addTopic(CodeableConcept t) { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"topic\""); + } + /** + * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {2} + */ + public CodeableConcept getTopicFirstRep() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"topic\""); + } + + + /** + * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the specimen definition.) + */ + public List getAuthor() { + return new ArrayList<>(); + } + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setAuthor(List theAuthor) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"author\""); + } + public boolean hasAuthor() { + return false; + } + + public ContactDetail addAuthor() { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"author\""); + } + public SpecimenDefinition addAuthor(ContactDetail t) { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"author\""); + } + /** + * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {2} + */ + public ContactDetail getAuthorFirstRep() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"author\""); + } + + + /** + * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the specimen definition.) + */ + public List getEditor() { + return new ArrayList<>(); + } + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setEditor(List theEditor) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"editor\""); + } + public boolean hasEditor() { + return false; + } + + public ContactDetail addEditor() { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"editor\""); + } + public SpecimenDefinition addEditor(ContactDetail t) { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"editor\""); + } + /** + * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {2} + */ + public ContactDetail getEditorFirstRep() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"editor\""); + } + + + /** + * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the specimen definition.) + */ + public List getReviewer() { + return new ArrayList<>(); + } + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setReviewer(List theReviewer) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"reviewer\""); + } + public boolean hasReviewer() { + return false; + } + + public ContactDetail addReviewer() { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"reviewer\""); + } + public SpecimenDefinition addReviewer(ContactDetail t) { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"reviewer\""); + } + /** + * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {2} + */ + public ContactDetail getReviewerFirstRep() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"reviewer\""); + } + + + /** + * @return {@link #endorser} (An individual or organization responsible for officially endorsing the specimen definition for use in some setting.) + */ + public List getEndorser() { + return new ArrayList<>(); + } + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setEndorser(List theEndorser) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"endorser\""); + } + public boolean hasEndorser() { + return false; + } + + public ContactDetail addEndorser() { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"endorser\""); + } + public SpecimenDefinition addEndorser(ContactDetail t) { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"endorser\""); + } + /** + * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {2} + */ + public ContactDetail getEndorserFirstRep() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"endorser\""); + } + + + /** + * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) + */ + public List getRelatedArtifact() { + return new ArrayList<>(); + } + /** + * @return Returns a reference to this for easy method chaining + */ + public SpecimenDefinition setRelatedArtifact(List theRelatedArtifact) { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"relatedArtifact\""); + } + public boolean hasRelatedArtifact() { + return false; + } + + public RelatedArtifact addRelatedArtifact() { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"relatedArtifact\""); + } + public SpecimenDefinition addRelatedArtifact(RelatedArtifact t) { //3 + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"relatedArtifact\""); + } + /** + * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {2} + */ + public RelatedArtifact getRelatedArtifactFirstRep() { + throw new Error("The resource type \"SpecimenDefinition\" does not implement the property \"relatedArtifact\""); + } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("url", "uri", "An absolute URL that is used to identify this SpecimenDefinition when it is referenced in a specification, model, design or an instance. This SHALL be a URL, SHOULD be globally unique, and SHOULD be an address at which this SpecimenDefinition is (or will be) published. The URL SHOULD include the major version of the SpecimenDefinition. For more information see Technical and Business Versions.", 0, 1, url)); @@ -3646,7 +3955,7 @@ public class SpecimenDefinition extends DomainResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case 116079: return getUrlElement(); - case -1618432855: return getIdentifier(); + case -1618432855: return getIdentifierFirstRep(); case 351608024: return getVersionElement(); case 110371416: return getTitleElement(); case -978133683: return addDerivedFromCanonicalElement(); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureDefinition.java index 2495672ea..19bb2ef99 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -175,7 +175,7 @@ public class StructureDefinition extends CanonicalResource { */ COMPLEXTYPE, /** - * A 'resource' - a directed acyclic graph of elements that aggregrates other types into an identifiable entity. The base FHIR resources are defined by the FHIR specification itself but other 'resources' can be defined in additional specifications (though these will not be recognised as 'resources' by the FHIR specification (i.e. they do not get end-points etc, or act as the targets of references in FHIR defined resources - though other specificatiosn can treat them this way). + * A 'resource' - a directed acyclic graph of elements that aggregrates other types into an identifiable entity. The base FHIR resources are defined by the FHIR specification itself but other 'resources' can be defined in additional specifications (though these will not be recognised as 'resources' by the FHIR specification; i.e. they do not get end-points etc, or act as the targets of references in FHIR defined resources - though other specifications can treat them this way). */ RESOURCE, /** @@ -226,7 +226,7 @@ public class StructureDefinition extends CanonicalResource { switch (this) { case PRIMITIVETYPE: return "A primitive type that has a value and an extension. These can be used throughout complex datatype, Resource and extension definitions. Only the base specification can define primitive types."; case COMPLEXTYPE: return "A complex structure that defines a set of data elements that is suitable for use in 'resources'. The base specification defines a number of complex types, and other specifications can define additional types. These structures do not have a maintained identity."; - case RESOURCE: return "A 'resource' - a directed acyclic graph of elements that aggregrates other types into an identifiable entity. The base FHIR resources are defined by the FHIR specification itself but other 'resources' can be defined in additional specifications (though these will not be recognised as 'resources' by the FHIR specification (i.e. they do not get end-points etc, or act as the targets of references in FHIR defined resources - though other specificatiosn can treat them this way)."; + case RESOURCE: return "A 'resource' - a directed acyclic graph of elements that aggregrates other types into an identifiable entity. The base FHIR resources are defined by the FHIR specification itself but other 'resources' can be defined in additional specifications (though these will not be recognised as 'resources' by the FHIR specification; i.e. they do not get end-points etc, or act as the targets of references in FHIR defined resources - though other specifications can treat them this way)."; case LOGICAL: return "A pattern or a template that is not intended to be a real resource or complex type."; case NULL: return null; default: return "?"; @@ -295,7 +295,7 @@ public class StructureDefinition extends CanonicalResource { public enum TypeDerivationRule { /** - * This definition defines a new type that adds additional elements to the base type. + * This definition defines a new type that adds additional elements and optionally additional rules to the base type. */ SPECIALIZATION, /** @@ -336,7 +336,7 @@ public class StructureDefinition extends CanonicalResource { } public String getDefinition() { switch (this) { - case SPECIALIZATION: return "This definition defines a new type that adds additional elements to the base type."; + case SPECIALIZATION: return "This definition defines a new type that adds additional elements and optionally additional rules to the base type."; case CONSTRAINT: return "This definition adds additional rules to an existing concrete type."; case NULL: return null; default: return "?"; @@ -1429,10 +1429,10 @@ public class StructureDefinition extends CanonicalResource { } /** - * An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers. + * An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this structure definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this structure definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers." ) protected UriType url; /** @@ -1449,24 +1449,32 @@ public class StructureDefinition extends CanonicalResource { @Description(shortDefinition="Business version of the structure definition", formalDefinition="The identifier that is used to identify this version of the structure definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this structure definition (computer friendly)", formalDefinition="A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the structure definition. */ - @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this structure definition (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the structure definition." ) protected StringType title; /** * The status of this structure definition. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this structure definition. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -1474,49 +1482,49 @@ public class StructureDefinition extends CanonicalResource { /** * A Boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the structure definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the structure definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the structure definition. + * The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition. */ - @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the structure definition." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the structure definition from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the structure definition", formalDefinition="A free text natural language description of the structure definition from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure definition instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure definition instances." ) protected List useContext; /** * A legal or geographic region in which the structure definition is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for structure definition (if applicable)", formalDefinition="A legal or geographic region in which the structure definition is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -1524,29 +1532,36 @@ public class StructureDefinition extends CanonicalResource { /** * Explanation of why this structure definition is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this structure definition is defined", formalDefinition="Explanation of why this structure definition is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** - * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. + * A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition." ) + @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element." ) protected MarkdownType copyright; /** - * A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes. + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). */ - @Child(name = "keyword", type = {Coding.class}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Assist with indexing and finding", formalDefinition="A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes." ) + @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + + /** + * (DEPRECATED) A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes. + */ + @Child(name = "keyword", type = {Coding.class}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Assist with indexing and finding", formalDefinition="(DEPRECATED) A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-use") protected List keyword; /** * The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version. */ - @Child(name = "fhirVersion", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=true) + @Child(name = "fhirVersion", type = {CodeType.class}, order=18, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="FHIR Version this StructureDefinition targets", formalDefinition="The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/FHIR-version") protected Enumeration fhirVersion; @@ -1554,14 +1569,14 @@ public class StructureDefinition extends CanonicalResource { /** * An external specification that the content is mapped to. */ - @Child(name = "mapping", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "mapping", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="External specification that the content is mapped to", formalDefinition="An external specification that the content is mapped to." ) protected List mapping; /** * Defines the kind of structure that this definition is describing. */ - @Child(name = "kind", type = {CodeType.class}, order=18, min=1, max=1, modifier=false, summary=true) + @Child(name = "kind", type = {CodeType.class}, order=20, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="primitive-type | complex-type | resource | logical", formalDefinition="Defines the kind of structure that this definition is describing." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/structure-definition-kind") protected Enumeration kind; @@ -1569,43 +1584,43 @@ public class StructureDefinition extends CanonicalResource { /** * Whether structure this definition describes is abstract or not - that is, whether the structure is not intended to be instantiated. For Resources and Data types, abstract types will never be exchanged between systems. */ - @Child(name = "abstract", type = {BooleanType.class}, order=19, min=1, max=1, modifier=false, summary=true) + @Child(name = "abstract", type = {BooleanType.class}, order=21, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Whether the structure is abstract", formalDefinition="Whether structure this definition describes is abstract or not - that is, whether the structure is not intended to be instantiated. For Resources and Data types, abstract types will never be exchanged between systems." ) protected BooleanType abstract_; /** * Identifies the types of resource or data type elements to which the extension can be applied. */ - @Child(name = "context", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "context", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="If an extension, where it can be used in instances", formalDefinition="Identifies the types of resource or data type elements to which the extension can be applied." ) protected List context; /** * A set of rules as FHIRPath Invariants about when the extension can be used (e.g. co-occurrence variants for the extension). All the rules must be true. */ - @Child(name = "contextInvariant", type = {StringType.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contextInvariant", type = {StringType.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="FHIRPath invariants - when the extension can be used", formalDefinition="A set of rules as FHIRPath Invariants about when the extension can be used (e.g. co-occurrence variants for the extension). All the rules must be true." ) protected List contextInvariant; /** * The type this structure describes. If the derivation kind is 'specialization' then this is the master definition for a type, and there is always one of these (a data type, an extension, a resource, including abstract ones). Otherwise the structure definition is a constraint on the stated type (and in this case, the type cannot be an abstract type). References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. "string" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models. */ - @Child(name = "type", type = {UriType.class}, order=22, min=1, max=1, modifier=false, summary=true) + @Child(name = "type", type = {UriType.class}, order=24, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Type defined or constrained by this structure", formalDefinition="The type this structure describes. If the derivation kind is 'specialization' then this is the master definition for a type, and there is always one of these (a data type, an extension, a resource, including abstract ones). Otherwise the structure definition is a constraint on the stated type (and in this case, the type cannot be an abstract type). References are URLs that are relative to http://hl7.org/fhir/StructureDefinition e.g. \"string\" is a reference to http://hl7.org/fhir/StructureDefinition/string. Absolute URLs are only allowed in logical models." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") protected UriType type; /** * An absolute URI that is the base structure from which this type is derived, either by specialization or constraint. */ - @Child(name = "baseDefinition", type = {CanonicalType.class}, order=23, min=0, max=1, modifier=false, summary=true) + @Child(name = "baseDefinition", type = {CanonicalType.class}, order=25, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Definition that this type is constrained/specialized from", formalDefinition="An absolute URI that is the base structure from which this type is derived, either by specialization or constraint." ) protected CanonicalType baseDefinition; /** * How the type relates to the baseDefinition. */ - @Child(name = "derivation", type = {CodeType.class}, order=24, min=0, max=1, modifier=false, summary=true) + @Child(name = "derivation", type = {CodeType.class}, order=26, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="specialization | constraint - How relates to base definition", formalDefinition="How the type relates to the baseDefinition." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/type-derivation-rule") protected Enumeration derivation; @@ -1613,18 +1628,18 @@ public class StructureDefinition extends CanonicalResource { /** * A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition. */ - @Child(name = "snapshot", type = {}, order=25, min=0, max=1, modifier=false, summary=false) + @Child(name = "snapshot", type = {}, order=27, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Snapshot view of the structure", formalDefinition="A snapshot view is expressed in a standalone form that can be used and interpreted without considering the base StructureDefinition." ) protected StructureDefinitionSnapshotComponent snapshot; /** * A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies. */ - @Child(name = "differential", type = {}, order=26, min=0, max=1, modifier=false, summary=false) + @Child(name = "differential", type = {}, order=28, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Differential view of the structure", formalDefinition="A differential view is expressed relative to the base StructureDefinition - a statement of differences that it applies." ) protected StructureDefinitionDifferentialComponent differential; - private static final long serialVersionUID = -101902378L; + private static final long serialVersionUID = -1127285723L; /** * Constructor @@ -1647,7 +1662,7 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -1667,7 +1682,7 @@ public class StructureDefinition extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public StructureDefinition setUrlElement(UriType value) { this.url = value; @@ -1675,14 +1690,14 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers. + * @return An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers. + * @param value An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers. */ public StructureDefinition setUrl(String value) { if (this.url == null) @@ -1793,6 +1808,57 @@ public class StructureDefinition extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StructureDefinition setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for StructureDefinition.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -2027,7 +2093,7 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the structure definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -2047,7 +2113,7 @@ public class StructureDefinition extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the structure definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StructureDefinition setPublisherElement(StringType value) { this.publisher = value; @@ -2055,14 +2121,14 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return The name of the organization or individual that published the structure definition. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the structure definition. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition. */ public StructureDefinition setPublisher(String value) { if (Utilities.noString(value)) @@ -2333,7 +2399,7 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return {@link #copyright} (A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + * @return {@link #copyright} (A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public MarkdownType getCopyrightElement() { if (this.copyright == null) @@ -2353,7 +2419,7 @@ public class StructureDefinition extends CanonicalResource { } /** - * @param value {@link #copyright} (A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value + * @param value {@link #copyright} (A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element.). This is the underlying object with id, value and extensions. The accessor "getCopyright" gives direct access to the value */ public StructureDefinition setCopyrightElement(MarkdownType value) { this.copyright = value; @@ -2361,14 +2427,14 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. + * @return A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element. */ public String getCopyright() { return this.copyright == null ? null : this.copyright.getValue(); } /** - * @param value A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. + * @param value A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element. */ public StructureDefinition setCopyright(String value) { if (value == null) @@ -2382,7 +2448,56 @@ public class StructureDefinition extends CanonicalResource { } /** - * @return {@link #keyword} (A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.) + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create StructureDefinition.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StructureDefinition setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public StructureDefinition setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + + /** + * @return {@link #keyword} ((DEPRECATED) A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.) */ public List getKeyword() { if (this.keyword == null) @@ -2933,22 +3048,24 @@ public class StructureDefinition extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this structure definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the structure definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the structure definition.", 0, 1, title)); children.add(new Property("status", "code", "The status of this structure definition. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the structure definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the structure definition.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the structure definition from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the structure definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this structure definition is needed and why it has been designed as it has.", 0, 1, purpose)); - children.add(new Property("copyright", "markdown", "A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.", 0, 1, copyright)); - children.add(new Property("keyword", "Coding", "A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.", 0, java.lang.Integer.MAX_VALUE, keyword)); + children.add(new Property("copyright", "markdown", "A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); + children.add(new Property("keyword", "Coding", "(DEPRECATED) A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.", 0, java.lang.Integer.MAX_VALUE, keyword)); children.add(new Property("fhirVersion", "code", "The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.", 0, 1, fhirVersion)); children.add(new Property("mapping", "", "An external specification that the content is mapped to.", 0, java.lang.Integer.MAX_VALUE, mapping)); children.add(new Property("kind", "code", "Defines the kind of structure that this definition is describing.", 0, 1, kind)); @@ -2965,22 +3082,27 @@ public class StructureDefinition extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this structure definition when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure definition is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure definition is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this structure definition when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the structure definition when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure definition author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the structure definition. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the structure definition.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this structure definition. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this structure definition is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the structure definition was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure definition changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the structure definition.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the structure definition.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the structure definition from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure definition instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the structure definition is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this structure definition is needed and why it has been designed as it has.", 0, 1, purpose); - case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition.", 0, 1, copyright); - case -814408215: /*keyword*/ return new Property("keyword", "Coding", "A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.", 0, java.lang.Integer.MAX_VALUE, keyword); + case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the structure definition and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure definition. The short copyright declaration (e.g. (c) '2015+ xyz organization' should be sent in the copyrightLabel element.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); + case -814408215: /*keyword*/ return new Property("keyword", "Coding", "(DEPRECATED) A set of key words or terms from external terminologies that may be used to assist with indexing and searching of templates nby describing the use of this structure definition, or the content it describes.", 0, java.lang.Integer.MAX_VALUE, keyword); case 461006061: /*fhirVersion*/ return new Property("fhirVersion", "code", "The version of the FHIR specification on which this StructureDefinition is based - this is the formal version of the specification, without the revision number, e.g. [publication].[major].[minor], which is 4.6.0. for this version.", 0, 1, fhirVersion); case 837556430: /*mapping*/ return new Property("mapping", "", "An external specification that the content is mapped to.", 0, java.lang.Integer.MAX_VALUE, mapping); case 3292052: /*kind*/ return new Property("kind", "code", "Defines the kind of structure that this definition is describing.", 0, 1, kind); @@ -3003,6 +3125,7 @@ public class StructureDefinition extends CanonicalResource { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -3015,6 +3138,7 @@ public class StructureDefinition extends CanonicalResource { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case -814408215: /*keyword*/ return this.keyword == null ? new Base[0] : this.keyword.toArray(new Base[this.keyword.size()]); // Coding case 461006061: /*fhirVersion*/ return this.fhirVersion == null ? new Base[0] : new Base[] {this.fhirVersion}; // Enumeration case 837556430: /*mapping*/ return this.mapping == null ? new Base[0] : this.mapping.toArray(new Base[this.mapping.size()]); // StructureDefinitionMappingComponent @@ -3044,6 +3168,9 @@ public class StructureDefinition extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -3081,6 +3208,9 @@ public class StructureDefinition extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case -814408215: // keyword this.getKeyword().add(TypeConvertor.castToCoding(value)); // Coding return value; @@ -3133,6 +3263,8 @@ public class StructureDefinition extends CanonicalResource { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -3158,6 +3290,8 @@ public class StructureDefinition extends CanonicalResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("keyword")) { this.getKeyword().add(TypeConvertor.castToCoding(value)); } else if (name.equals("fhirVersion")) { @@ -3196,6 +3330,8 @@ public class StructureDefinition extends CanonicalResource { case 116079: return getUrlElement(); case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); @@ -3208,6 +3344,7 @@ public class StructureDefinition extends CanonicalResource { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case -814408215: return addKeyword(); case 461006061: return getFhirVersionElement(); case 837556430: return addMapping(); @@ -3231,6 +3368,7 @@ public class StructureDefinition extends CanonicalResource { case 116079: /*url*/ return new String[] {"uri"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -3243,6 +3381,7 @@ public class StructureDefinition extends CanonicalResource { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case -814408215: /*keyword*/ return new String[] {"Coding"}; case 461006061: /*fhirVersion*/ return new String[] {"code"}; case 837556430: /*mapping*/ return new String[] {}; @@ -3271,6 +3410,14 @@ public class StructureDefinition extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type StructureDefinition.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type StructureDefinition.name"); } @@ -3307,6 +3454,9 @@ public class StructureDefinition extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type StructureDefinition.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type StructureDefinition.copyrightLabel"); + } else if (name.equals("keyword")) { return addKeyword(); } @@ -3369,6 +3519,7 @@ public class StructureDefinition extends CanonicalResource { dst.identifier.add(i.copy()); }; dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); @@ -3393,6 +3544,7 @@ public class StructureDefinition extends CanonicalResource { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); if (keyword != null) { dst.keyword = new ArrayList(); for (Coding i : keyword) @@ -3435,10 +3587,11 @@ public class StructureDefinition extends CanonicalResource { return false; StructureDefinition o = (StructureDefinition) other_; return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) - && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) - && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) - && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) + && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) + && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(keyword, o.keyword, true) && compareDeep(fhirVersion, o.fhirVersion, true) && compareDeep(mapping, o.mapping, true) && compareDeep(kind, o.kind, true) && compareDeep(abstract_, o.abstract_, true) && compareDeep(context, o.context, true) && compareDeep(contextInvariant, o.contextInvariant, true) && compareDeep(type, o.type, true) && compareDeep(baseDefinition, o.baseDefinition, true) @@ -3456,18 +3609,18 @@ public class StructureDefinition extends CanonicalResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(fhirVersion, o.fhirVersion, true) - && compareValues(kind, o.kind, true) && compareValues(abstract_, o.abstract_, true) && compareValues(contextInvariant, o.contextInvariant, true) - && compareValues(type, o.type, true) && compareValues(baseDefinition, o.baseDefinition, true) && compareValues(derivation, o.derivation, true) - ; + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(fhirVersion, o.fhirVersion, true) && compareValues(kind, o.kind, true) && compareValues(abstract_, o.abstract_, true) + && compareValues(contextInvariant, o.contextInvariant, true) && compareValues(type, o.type, true) && compareValues(baseDefinition, o.baseDefinition, true) + && compareValues(derivation, o.derivation, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version - , name, title, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, copyright, keyword, fhirVersion, mapping, kind, abstract_ - , context, contextInvariant, type, baseDefinition, derivation, snapshot, differential - ); + , versionAlgorithm, name, title, status, experimental, date, publisher, contact + , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, keyword + , fhirVersion, mapping, kind, abstract_, context, contextInvariant, type, baseDefinition + , derivation, snapshot, differential); } @Override @@ -3581,25 +3734,65 @@ public class StructureDefinition extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXPERIMENTAL = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXPERIMENTAL); + /** + * Search parameter: ext-context-expression + *

+ * Description: An expression of extension context assigned to the structure definition
+ * Type: token
+ * Path: StructureDefinition.context.expression
+ *

+ */ + @SearchParamDefinition(name="ext-context-expression", path="StructureDefinition.context.expression", description="An expression of extension context assigned to the structure definition", type="token" ) + public static final String SP_EXT_CONTEXT_EXPRESSION = "ext-context-expression"; + /** + * Fluent Client search parameter constant for ext-context-expression + *

+ * Description: An expression of extension context assigned to the structure definition
+ * Type: token
+ * Path: StructureDefinition.context.expression
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXT_CONTEXT_EXPRESSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXT_CONTEXT_EXPRESSION); + + /** + * Search parameter: ext-context-type + *

+ * Description: A type of extension context assigned to the structure definition
+ * Type: token
+ * Path: StructureDefinition.context.type
+ *

+ */ + @SearchParamDefinition(name="ext-context-type", path="StructureDefinition.context.type", description="A type of extension context assigned to the structure definition", type="token" ) + public static final String SP_EXT_CONTEXT_TYPE = "ext-context-type"; + /** + * Fluent Client search parameter constant for ext-context-type + *

+ * Description: A type of extension context assigned to the structure definition
+ * Type: token
+ * Path: StructureDefinition.context.type
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXT_CONTEXT_TYPE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXT_CONTEXT_TYPE); + /** * Search parameter: ext-context *

- * Description: The system is the URL for the context-type: e.g. http://hl7.org/fhir/extension-context-type#element|CodeableConcept.text
- * Type: token
+ * Description: An extension context assigned to the structure definition
+ * Type: composite
* Path: StructureDefinition.context
*

*/ - @SearchParamDefinition(name="ext-context", path="StructureDefinition.context", description="The system is the URL for the context-type: e.g. http://hl7.org/fhir/extension-context-type#element|CodeableConcept.text", type="token" ) + @SearchParamDefinition(name="ext-context", path="StructureDefinition.context", description="An extension context assigned to the structure definition", type="composite", compositeOf={"ext-context-type", "ext-context-expression"} ) public static final String SP_EXT_CONTEXT = "ext-context"; /** * Fluent Client search parameter constant for ext-context *

- * Description: The system is the URL for the context-type: e.g. http://hl7.org/fhir/extension-context-type#element|CodeableConcept.text
- * Type: token
+ * Description: An extension context assigned to the structure definition
+ * Type: composite
* Path: StructureDefinition.context
*

*/ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam EXT_CONTEXT = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_EXT_CONTEXT); + public static final ca.uhn.fhir.rest.gclient.CompositeClientParam EXT_CONTEXT = new ca.uhn.fhir.rest.gclient.CompositeClientParam(SP_EXT_CONTEXT); /** * Search parameter: keyword @@ -4079,16 +4272,17 @@ public class StructureDefinition extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -4098,13 +4292,14 @@ public class StructureDefinition extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -4367,7 +4562,7 @@ public class StructureDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -4383,7 +4578,7 @@ public class StructureDefinition extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -4393,7 +4588,7 @@ public class StructureDefinition extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureMap.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureMap.java index 0a3d0afb0..408ca0315 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureMap.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/StructureMap.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -5032,10 +5032,10 @@ public String toString() { } /** - * An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. + * An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this structure map, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this structure map, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers." ) protected UriType url; /** @@ -5052,24 +5052,32 @@ public String toString() { @Description(shortDefinition="Business version of the structure map", formalDefinition="The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this structure map (computer friendly)", formalDefinition="A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the structure map. */ - @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this structure map (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the structure map." ) protected StringType title; /** * The status of this structure map. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this structure map. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -5077,49 +5085,49 @@ public String toString() { /** * A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the structure map. + * The name of the organization or individual responsible for the release and ongoing maintenance of the structure map. */ - @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the structure map." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the structure map." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the structure map from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the structure map", formalDefinition="A free text natural language description of the structure map from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances." ) protected List useContext; /** * A legal or geographic region in which the structure map is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for structure map (if applicable)", formalDefinition="A legal or geographic region in which the structure map is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -5127,39 +5135,46 @@ public String toString() { /** * Explanation of why this structure map is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this structure map is defined", formalDefinition="Explanation of why this structure map is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** * A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map." ) protected MarkdownType copyright; + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced. */ - @Child(name = "structure", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "structure", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Structure Definition used by this map", formalDefinition="A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced." ) protected List structure; /** * Other maps used by this map (canonical URLs). */ - @Child(name = "import", type = {CanonicalType.class}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "import", type = {CanonicalType.class}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Other maps used by this map (canonical URLs)", formalDefinition="Other maps used by this map (canonical URLs)." ) protected List import_; /** * Organizes the mapping into manageable chunks for human review/ease of maintenance. */ - @Child(name = "group", type = {}, order=17, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "group", type = {}, order=19, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Named sections for reader convenience", formalDefinition="Organizes the mapping into manageable chunks for human review/ease of maintenance." ) protected List group; - private static final long serialVersionUID = 573973893L; + private static final long serialVersionUID = 694707734L; /** * Constructor @@ -5180,7 +5195,7 @@ public String toString() { } /** - * @return {@link #url} (An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -5200,7 +5215,7 @@ public String toString() { } /** - * @param value {@link #url} (An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public StructureMap setUrlElement(UriType value) { this.url = value; @@ -5208,14 +5223,14 @@ public String toString() { } /** - * @return An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. + * @return An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. + * @param value An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers. */ public StructureMap setUrl(String value) { if (this.url == null) @@ -5326,6 +5341,57 @@ public String toString() { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StructureMap setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for StructureMap.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -5560,7 +5626,7 @@ public String toString() { } /** - * @return {@link #publisher} (The name of the organization or individual that published the structure map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the structure map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -5580,7 +5646,7 @@ public String toString() { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the structure map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the structure map.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StructureMap setPublisherElement(StringType value) { this.publisher = value; @@ -5588,14 +5654,14 @@ public String toString() { } /** - * @return The name of the organization or individual that published the structure map. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the structure map. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the structure map. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the structure map. */ public StructureMap setPublisher(String value) { if (Utilities.noString(value)) @@ -5914,6 +5980,55 @@ public String toString() { return this; } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create StructureMap.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StructureMap setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public StructureMap setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #structure} (A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.) */ @@ -6083,21 +6198,23 @@ public String toString() { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the structure map.", 0, 1, title)); children.add(new Property("status", "code", "The status of this structure map. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the structure map.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the structure map.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the structure map from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the structure map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this structure map is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("structure", "", "A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.", 0, java.lang.Integer.MAX_VALUE, structure)); children.add(new Property("import", "canonical(StructureMap)", "Other maps used by this map (canonical URLs).", 0, java.lang.Integer.MAX_VALUE, import_)); children.add(new Property("group", "", "Organizes the mapping into manageable chunks for human review/ease of maintenance.", 0, java.lang.Integer.MAX_VALUE, group)); @@ -6106,21 +6223,26 @@ public String toString() { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this structure map when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this structure map is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the structure map is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this structure map when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the structure map when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the structure map author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the structure map. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the structure map.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this structure map. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this structure map is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the structure map was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the structure map changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the structure map.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the structure map.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the structure map from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate structure map instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the structure map is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this structure map is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the structure map and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the structure map.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case 144518515: /*structure*/ return new Property("structure", "", "A structure definition used by this map. The structure definition may describe instances that are converted, or the instances that are produced.", 0, java.lang.Integer.MAX_VALUE, structure); case -1184795739: /*import*/ return new Property("import", "canonical(StructureMap)", "Other maps used by this map (canonical URLs).", 0, java.lang.Integer.MAX_VALUE, import_); case 98629247: /*group*/ return new Property("group", "", "Organizes the mapping into manageable chunks for human review/ease of maintenance.", 0, java.lang.Integer.MAX_VALUE, group); @@ -6135,6 +6257,7 @@ public String toString() { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -6147,6 +6270,7 @@ public String toString() { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case 144518515: /*structure*/ return this.structure == null ? new Base[0] : this.structure.toArray(new Base[this.structure.size()]); // StructureMapStructureComponent case -1184795739: /*import*/ return this.import_ == null ? new Base[0] : this.import_.toArray(new Base[this.import_.size()]); // CanonicalType case 98629247: /*group*/ return this.group == null ? new Base[0] : this.group.toArray(new Base[this.group.size()]); // StructureMapGroupComponent @@ -6167,6 +6291,9 @@ public String toString() { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -6204,6 +6331,9 @@ public String toString() { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case 144518515: // structure this.getStructure().add((StructureMapStructureComponent) value); // StructureMapStructureComponent return value; @@ -6226,6 +6356,8 @@ public String toString() { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -6251,6 +6383,8 @@ public String toString() { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("structure")) { this.getStructure().add((StructureMapStructureComponent) value); } else if (name.equals("import")) { @@ -6268,6 +6402,8 @@ public String toString() { case 116079: return getUrlElement(); case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); @@ -6280,6 +6416,7 @@ public String toString() { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case 144518515: return addStructure(); case -1184795739: return addImportElement(); case 98629247: return addGroup(); @@ -6294,6 +6431,7 @@ public String toString() { case 116079: /*url*/ return new String[] {"uri"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -6306,6 +6444,7 @@ public String toString() { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case 144518515: /*structure*/ return new String[] {}; case -1184795739: /*import*/ return new String[] {"canonical"}; case 98629247: /*group*/ return new String[] {}; @@ -6325,6 +6464,14 @@ public String toString() { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type StructureMap.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type StructureMap.name"); } @@ -6361,6 +6508,9 @@ public String toString() { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type StructureMap.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type StructureMap.copyrightLabel"); + } else if (name.equals("structure")) { return addStructure(); } @@ -6394,6 +6544,7 @@ public String toString() { dst.identifier.add(i.copy()); }; dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); @@ -6418,6 +6569,7 @@ public String toString() { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); if (structure != null) { dst.structure = new ArrayList(); for (StructureMapStructureComponent i : structure) @@ -6447,10 +6599,11 @@ public String toString() { return false; StructureMap o = (StructureMap) other_; return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) - && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) - && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) - && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) + && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) + && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(structure, o.structure, true) && compareDeep(import_, o.import_, true) && compareDeep(group, o.group, true) ; } @@ -6465,14 +6618,15 @@ public String toString() { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(import_, o.import_, true) - ; + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(import_, o.import_, true); } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version - , name, title, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, copyright, structure, import_, group); + , versionAlgorithm, name, title, status, experimental, date, publisher, contact + , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, structure + , import_, group); } @Override @@ -6852,16 +7006,17 @@ public String toString() { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -6871,13 +7026,14 @@ public String toString() { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -7140,7 +7296,7 @@ public String toString() { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -7156,7 +7312,7 @@ public String toString() { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -7166,7 +7322,7 @@ public String toString() { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Subscription.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Subscription.java index a71e13b0a..87343d3d5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Subscription.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Subscription.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -172,14 +172,14 @@ public class Subscription extends DomainResource { */ @Child(name = "resourceType", type = {UriType.class}, order=1, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Allowed Data type or Resource (reference to definition) for this Subscription", formalDefinition="If the element is a reference to another resource, this element contains \"Reference\", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient)." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") protected UriType resourceType; /** - * The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element. + * The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element. */ @Child(name = "filterParameter", type = {StringType.class}, order=2, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Filter label defined in SubscriptionTopic", formalDefinition="The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element." ) + @Description(shortDefinition="Filter label defined in SubscriptionTopic", formalDefinition="The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element." ) protected StringType filterParameter; /** @@ -265,7 +265,7 @@ public class Subscription extends DomainResource { } /** - * @return {@link #filterParameter} (The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.). This is the underlying object with id, value and extensions. The accessor "getFilterParameter" gives direct access to the value + * @return {@link #filterParameter} (The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.). This is the underlying object with id, value and extensions. The accessor "getFilterParameter" gives direct access to the value */ public StringType getFilterParameterElement() { if (this.filterParameter == null) @@ -285,7 +285,7 @@ public class Subscription extends DomainResource { } /** - * @param value {@link #filterParameter} (The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.). This is the underlying object with id, value and extensions. The accessor "getFilterParameter" gives direct access to the value + * @param value {@link #filterParameter} (The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.). This is the underlying object with id, value and extensions. The accessor "getFilterParameter" gives direct access to the value */ public SubscriptionFilterByComponent setFilterParameterElement(StringType value) { this.filterParameter = value; @@ -293,14 +293,14 @@ public class Subscription extends DomainResource { } /** - * @return The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element. + * @return The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element. */ public String getFilterParameter() { return this.filterParameter == null ? null : this.filterParameter.getValue(); } /** - * @param value The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element. + * @param value The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element. */ public SubscriptionFilterByComponent setFilterParameter(String value) { if (this.filterParameter == null) @@ -406,7 +406,7 @@ public class Subscription extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("resourceType", "uri", "If the element is a reference to another resource, this element contains \"Reference\", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient).", 0, 1, resourceType)); - children.add(new Property("filterParameter", "string", "The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.", 0, 1, filterParameter)); + children.add(new Property("filterParameter", "string", "The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.", 0, 1, filterParameter)); children.add(new Property("modifier", "code", "Operator to apply when determining matches (Search Modifiers), from the list of allowed modifiers for this filter in the relevant SubscriptionTopic.", 0, 1, modifier)); children.add(new Property("value", "string", "The literal value or resource path as is legal in search - for example, \"Patient/123\" or \"le1950\".", 0, 1, value)); } @@ -415,7 +415,7 @@ public class Subscription extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -384364440: /*resourceType*/ return new Property("resourceType", "uri", "If the element is a reference to another resource, this element contains \"Reference\", and the targetProfile element defines what resources can be referenced. The targetProfile may be a reference to the general definition of a resource (e.g. http://hl7.org/fhir/StructureDefinition/Patient).", 0, 1, resourceType); - case 618257: /*filterParameter*/ return new Property("filterParameter", "string", "The filter label (=key) as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.", 0, 1, filterParameter); + case 618257: /*filterParameter*/ return new Property("filterParameter", "string", "The filter as defined in the `SubscriptionTopic.canfilterBy.filterParameter` element.", 0, 1, filterParameter); case -615513385: /*modifier*/ return new Property("modifier", "code", "Operator to apply when determining matches (Search Modifiers), from the list of allowed modifiers for this filter in the relevant SubscriptionTopic.", 0, 1, modifier); case 111972721: /*value*/ return new Property("value", "string", "The literal value or resource path as is legal in search - for example, \"Patient/123\" or \"le1950\".", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -605,24 +605,31 @@ public class Subscription extends DomainResource { @Description(shortDefinition="When to automatically delete the subscription", formalDefinition="The time for the server to turn the subscription off." ) protected InstantType end; + /** + * Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose. + */ + @Child(name = "managingEntity", type = {CareTeam.class, HealthcareService.class, Organization.class, RelatedPerson.class, Patient.class, Practitioner.class, PractitionerRole.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Entity responsible for Subscription changes", formalDefinition="Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose." ) + protected Reference managingEntity; + /** * A description of why this subscription is defined. */ - @Child(name = "reason", type = {StringType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "reason", type = {StringType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Description of why this subscription was created", formalDefinition="A description of why this subscription is defined." ) protected StringType reason; /** * The filter properties to be applied to narrow the subscription topic stream. When multiple filters are applied, evaluates to true if all the conditions are met; otherwise it returns false. (i.e., logical AND). */ - @Child(name = "filterBy", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "filterBy", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Criteria for narrowing the subscription topic stream", formalDefinition="The filter properties to be applied to narrow the subscription topic stream. When multiple filters are applied, evaluates to true if all the conditions are met; otherwise it returns false. (i.e., logical AND)." ) protected List filterBy; /** * The type of channel to send notifications on. */ - @Child(name = "channelType", type = {Coding.class}, order=8, min=1, max=1, modifier=false, summary=true) + @Child(name = "channelType", type = {Coding.class}, order=9, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Channel type for notifications", formalDefinition="The type of channel to send notifications on." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subscription-channel-type") protected Coding channelType; @@ -630,35 +637,35 @@ public class Subscription extends DomainResource { /** * The url that describes the actual end-point to send messages to. */ - @Child(name = "endpoint", type = {UrlType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Child(name = "endpoint", type = {UrlType.class}, order=10, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Where the channel points to", formalDefinition="The url that describes the actual end-point to send messages to." ) protected UrlType endpoint; /** * Additional headers / information to send as part of the notification. */ - @Child(name = "header", type = {StringType.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "header", type = {StringType.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Usage depends on the channel type", formalDefinition="Additional headers / information to send as part of the notification." ) protected List header; /** * If present, a 'hearbeat" notification (keepalive) is sent via this channel with an the interval period equal to this elements integer value in seconds. If not present, a heartbeat notification is not sent. */ - @Child(name = "heartbeatPeriod", type = {UnsignedIntType.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Child(name = "heartbeatPeriod", type = {UnsignedIntType.class}, order=12, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Interval in seconds to send 'heartbeat' notification", formalDefinition="If present, a 'hearbeat\" notification (keepalive) is sent via this channel with an the interval period equal to this elements integer value in seconds. If not present, a heartbeat notification is not sent." ) protected UnsignedIntType heartbeatPeriod; /** * If present, the maximum amount of time a server will allow before failing a notification attempt. */ - @Child(name = "timeout", type = {UnsignedIntType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "timeout", type = {UnsignedIntType.class}, order=13, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Timeout in seconds to attempt notification delivery", formalDefinition="If present, the maximum amount of time a server will allow before failing a notification attempt." ) protected UnsignedIntType timeout; /** * The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. The MIME types "text/plain" and "text/html" may also be used for Email subscriptions. */ - @Child(name = "contentType", type = {CodeType.class}, order=13, min=0, max=1, modifier=false, summary=true) + @Child(name = "contentType", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="MIME type to send, or omit for no payload", formalDefinition="The mime type to send the payload in - either application/fhir+xml, or application/fhir+json. The MIME types \"text/plain\" and \"text/html\" may also be used for Email subscriptions." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/mimetypes") protected CodeType contentType; @@ -666,7 +673,7 @@ public class Subscription extends DomainResource { /** * How much of the resource content to deliver in the notification payload. The choices are an empty payload, only the resource id, or the full resource content. */ - @Child(name = "content", type = {CodeType.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Child(name = "content", type = {CodeType.class}, order=15, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="empty | id-only | full-resource", formalDefinition="How much of the resource content to deliver in the notification payload. The choices are an empty payload, only the resource id, or the full resource content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/subscription-payload-content") protected Enumeration content; @@ -674,11 +681,11 @@ public class Subscription extends DomainResource { /** * If present, the maximum number of triggering resources that will be included in a notification bundle (e.g., a server will not include more than this number of trigger resources in a single notification). Note that this is not a strict limit on the number of entries in a bundle, as dependent resources can be included. */ - @Child(name = "maxCount", type = {PositiveIntType.class}, order=15, min=0, max=1, modifier=false, summary=true) + @Child(name = "maxCount", type = {PositiveIntType.class}, order=16, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Maximum number of triggering resources included in notification bundles", formalDefinition="If present, the maximum number of triggering resources that will be included in a notification bundle (e.g., a server will not include more than this number of trigger resources in a single notification). Note that this is not a strict limit on the number of entries in a bundle, as dependent resources can be included." ) protected PositiveIntType maxCount; - private static final long serialVersionUID = -881003340L; + private static final long serialVersionUID = 715551030L; /** * Constructor @@ -991,6 +998,30 @@ public class Subscription extends DomainResource { return this; } + /** + * @return {@link #managingEntity} (Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose.) + */ + public Reference getManagingEntity() { + if (this.managingEntity == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Subscription.managingEntity"); + else if (Configuration.doAutoCreate()) + this.managingEntity = new Reference(); // cc + return this.managingEntity; + } + + public boolean hasManagingEntity() { + return this.managingEntity != null && !this.managingEntity.isEmpty(); + } + + /** + * @param value {@link #managingEntity} (Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose.) + */ + public Subscription setManagingEntity(Reference value) { + this.managingEntity = value; + return this; + } + /** * @return {@link #reason} (A description of why this subscription is defined.). This is the underlying object with id, value and extensions. The accessor "getReason" gives direct access to the value */ @@ -1468,6 +1499,7 @@ public class Subscription extends DomainResource { children.add(new Property("topic", "canonical(SubscriptionTopic)", "The reference to the subscription topic to be notified about.", 0, 1, topic)); children.add(new Property("contact", "ContactPoint", "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("end", "instant", "The time for the server to turn the subscription off.", 0, 1, end)); + children.add(new Property("managingEntity", "Reference(CareTeam|HealthcareService|Organization|RelatedPerson|Patient|Practitioner|PractitionerRole)", "Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose.", 0, 1, managingEntity)); children.add(new Property("reason", "string", "A description of why this subscription is defined.", 0, 1, reason)); children.add(new Property("filterBy", "", "The filter properties to be applied to narrow the subscription topic stream. When multiple filters are applied, evaluates to true if all the conditions are met; otherwise it returns false. (i.e., logical AND).", 0, java.lang.Integer.MAX_VALUE, filterBy)); children.add(new Property("channelType", "Coding", "The type of channel to send notifications on.", 0, 1, channelType)); @@ -1489,6 +1521,7 @@ public class Subscription extends DomainResource { case 110546223: /*topic*/ return new Property("topic", "canonical(SubscriptionTopic)", "The reference to the subscription topic to be notified about.", 0, 1, topic); case 951526432: /*contact*/ return new Property("contact", "ContactPoint", "Contact details for a human to contact about the subscription. The primary use of this for system administrator troubleshooting.", 0, java.lang.Integer.MAX_VALUE, contact); case 100571: /*end*/ return new Property("end", "instant", "The time for the server to turn the subscription off.", 0, 1, end); + case -988474523: /*managingEntity*/ return new Property("managingEntity", "Reference(CareTeam|HealthcareService|Organization|RelatedPerson|Patient|Practitioner|PractitionerRole)", "Entity with authorization to make subsequent revisions to the Subscription and also determines what data the subscription is authorized to disclose.", 0, 1, managingEntity); case -934964668: /*reason*/ return new Property("reason", "string", "A description of why this subscription is defined.", 0, 1, reason); case -721168913: /*filterBy*/ return new Property("filterBy", "", "The filter properties to be applied to narrow the subscription topic stream. When multiple filters are applied, evaluates to true if all the conditions are met; otherwise it returns false. (i.e., logical AND).", 0, java.lang.Integer.MAX_VALUE, filterBy); case 274155229: /*channelType*/ return new Property("channelType", "Coding", "The type of channel to send notifications on.", 0, 1, channelType); @@ -1513,6 +1546,7 @@ public class Subscription extends DomainResource { case 110546223: /*topic*/ return this.topic == null ? new Base[0] : new Base[] {this.topic}; // CanonicalType case 951526432: /*contact*/ return this.contact == null ? new Base[0] : this.contact.toArray(new Base[this.contact.size()]); // ContactPoint case 100571: /*end*/ return this.end == null ? new Base[0] : new Base[] {this.end}; // InstantType + case -988474523: /*managingEntity*/ return this.managingEntity == null ? new Base[0] : new Base[] {this.managingEntity}; // Reference case -934964668: /*reason*/ return this.reason == null ? new Base[0] : new Base[] {this.reason}; // StringType case -721168913: /*filterBy*/ return this.filterBy == null ? new Base[0] : this.filterBy.toArray(new Base[this.filterBy.size()]); // SubscriptionFilterByComponent case 274155229: /*channelType*/ return this.channelType == null ? new Base[0] : new Base[] {this.channelType}; // Coding @@ -1550,6 +1584,9 @@ public class Subscription extends DomainResource { case 100571: // end this.end = TypeConvertor.castToInstant(value); // InstantType return value; + case -988474523: // managingEntity + this.managingEntity = TypeConvertor.castToReference(value); // Reference + return value; case -934964668: // reason this.reason = TypeConvertor.castToString(value); // StringType return value; @@ -1601,6 +1638,8 @@ public class Subscription extends DomainResource { this.getContact().add(TypeConvertor.castToContactPoint(value)); } else if (name.equals("end")) { this.end = TypeConvertor.castToInstant(value); // InstantType + } else if (name.equals("managingEntity")) { + this.managingEntity = TypeConvertor.castToReference(value); // Reference } else if (name.equals("reason")) { this.reason = TypeConvertor.castToString(value); // StringType } else if (name.equals("filterBy")) { @@ -1636,6 +1675,7 @@ public class Subscription extends DomainResource { case 110546223: return getTopicElement(); case 951526432: return addContact(); case 100571: return getEndElement(); + case -988474523: return getManagingEntity(); case -934964668: return getReasonElement(); case -721168913: return addFilterBy(); case 274155229: return getChannelType(); @@ -1660,6 +1700,7 @@ public class Subscription extends DomainResource { case 110546223: /*topic*/ return new String[] {"canonical"}; case 951526432: /*contact*/ return new String[] {"ContactPoint"}; case 100571: /*end*/ return new String[] {"instant"}; + case -988474523: /*managingEntity*/ return new String[] {"Reference"}; case -934964668: /*reason*/ return new String[] {"string"}; case -721168913: /*filterBy*/ return new String[] {}; case 274155229: /*channelType*/ return new String[] {"Coding"}; @@ -1695,6 +1736,10 @@ public class Subscription extends DomainResource { else if (name.equals("end")) { throw new FHIRException("Cannot call addChild on a primitive type Subscription.end"); } + else if (name.equals("managingEntity")) { + this.managingEntity = new Reference(); + return this.managingEntity; + } else if (name.equals("reason")) { throw new FHIRException("Cannot call addChild on a primitive type Subscription.reason"); } @@ -1757,6 +1802,7 @@ public class Subscription extends DomainResource { dst.contact.add(i.copy()); }; dst.end = end == null ? null : end.copy(); + dst.managingEntity = managingEntity == null ? null : managingEntity.copy(); dst.reason = reason == null ? null : reason.copy(); if (filterBy != null) { dst.filterBy = new ArrayList(); @@ -1790,10 +1836,11 @@ public class Subscription extends DomainResource { Subscription o = (Subscription) other_; return compareDeep(identifier, o.identifier, true) && compareDeep(name, o.name, true) && compareDeep(status, o.status, true) && compareDeep(topic, o.topic, true) && compareDeep(contact, o.contact, true) && compareDeep(end, o.end, true) - && compareDeep(reason, o.reason, true) && compareDeep(filterBy, o.filterBy, true) && compareDeep(channelType, o.channelType, true) - && compareDeep(endpoint, o.endpoint, true) && compareDeep(header, o.header, true) && compareDeep(heartbeatPeriod, o.heartbeatPeriod, true) - && compareDeep(timeout, o.timeout, true) && compareDeep(contentType, o.contentType, true) && compareDeep(content, o.content, true) - && compareDeep(maxCount, o.maxCount, true); + && compareDeep(managingEntity, o.managingEntity, true) && compareDeep(reason, o.reason, true) && compareDeep(filterBy, o.filterBy, true) + && compareDeep(channelType, o.channelType, true) && compareDeep(endpoint, o.endpoint, true) && compareDeep(header, o.header, true) + && compareDeep(heartbeatPeriod, o.heartbeatPeriod, true) && compareDeep(timeout, o.timeout, true) + && compareDeep(contentType, o.contentType, true) && compareDeep(content, o.content, true) && compareDeep(maxCount, o.maxCount, true) + ; } @Override @@ -1812,8 +1859,8 @@ public class Subscription extends DomainResource { public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, name, status - , topic, contact, end, reason, filterBy, channelType, endpoint, header, heartbeatPeriod - , timeout, contentType, content, maxCount); + , topic, contact, end, managingEntity, reason, filterBy, channelType, endpoint + , header, heartbeatPeriod, timeout, contentType, content, maxCount); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionStatus.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionStatus.java index e3d520b3c..ee279f44c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionStatus.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionStatus.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -48,7 +48,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * The SubscriptionStatus resource describes the state of a Subscription during notifications. + * The SubscriptionStatus resource describes the state of a Subscription during notifications. It is not persisted. */ @ResourceDef(name="SubscriptionStatus", profile="http://hl7.org/fhir/StructureDefinition/SubscriptionStatus") public class SubscriptionStatus extends DomainResource { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionTopic.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionTopic.java index 5ec2d20b3..b1cf20e36 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionTopic.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubscriptionTopic.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -275,7 +275,7 @@ public class SubscriptionTopic extends CanonicalResource { */ @Child(name = "resource", type = {UriType.class}, order=2, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Data Type or Resource (reference to definition) for this trigger definition", formalDefinition="URL of the Resource that is the type used in this resource trigger. Relative URLs are relative to the StructureDefinition root of the implemented FHIR version (e.g., http://hl7.org/fhir/StructureDefinition). For example, \"Patient\" maps to http://hl7.org/fhir/StructureDefinition/Patient. For more information, see ElementDefinition.type.code." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") protected UriType resource; /** @@ -1213,7 +1213,7 @@ public class SubscriptionTopic extends CanonicalResource { */ @Child(name = "resource", type = {UriType.class}, order=3, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Data Type or Resource (reference to definition) for this trigger definition", formalDefinition="URL of the Resource that is the focus type used in this event trigger. Relative URLs are relative to the StructureDefinition root of the implemented FHIR version (e.g., http://hl7.org/fhir/StructureDefinition). For example, \"Patient\" maps to http://hl7.org/fhir/StructureDefinition/Patient. For more information, see ElementDefinition.type.code." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") protected UriType resource; private static final long serialVersionUID = 1818872110L; @@ -1510,7 +1510,7 @@ public class SubscriptionTopic extends CanonicalResource { */ @Child(name = "resource", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="URL of the triggering Resource that this filter applies to", formalDefinition="URL of the Resource that is the type used in this filter. This is the \"focus\" of the topic (or one of them if there are more than one). It will be the same, a generality, or a specificity of SubscriptionTopic.resourceTrigger.resource or SubscriptionTopic.eventTrigger.resource when they are present." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") protected UriType resource; /** @@ -1991,7 +1991,7 @@ public class SubscriptionTopic extends CanonicalResource { */ @Child(name = "resource", type = {UriType.class}, order=1, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="URL of the Resource that is the focus (main) resource in a notification shape", formalDefinition="URL of the Resource that is the type used in this shape. This is the \"focus\" of the topic (or one of them if there are more than one) and the root resource for this shape definition. It will be the same, a generality, or a specificity of SubscriptionTopic.resourceTrigger.resource or SubscriptionTopic.eventTrigger.resource when they are present." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/fhir-types") protected UriType resource; /** @@ -2344,10 +2344,10 @@ public class SubscriptionTopic extends CanonicalResource { } /** - * An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers. + * An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=1, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this subscription topic definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this subscription topic definition, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers." ) protected UriType url; /** @@ -2389,7 +2389,7 @@ public class SubscriptionTopic extends CanonicalResource { /** * A flag to indicate that this TopSubscriptionTopicic is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=true, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="If for testing purposes, not real usage", formalDefinition="A flag to indicate that this TopSubscriptionTopicic is authored for testing purposes (or education/evaluation/marketing), and is not intended to be used for genuine usage." ) protected BooleanType experimental; @@ -2450,56 +2450,63 @@ public class SubscriptionTopic extends CanonicalResource { @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the SubscriptionTopic and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SubscriptionTopic." ) protected MarkdownType copyright; + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage. */ - @Child(name = "approvalDate", type = {DateType.class}, order=15, min=0, max=1, modifier=false, summary=false) + @Child(name = "approvalDate", type = {DateType.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="When SubscriptionTopic is/was approved by publisher", formalDefinition="The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) protected DateType approvalDate; /** * The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date. */ - @Child(name = "lastReviewDate", type = {DateType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "lastReviewDate", type = {DateType.class}, order=17, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Date the Subscription Topic was last reviewed by the publisher", formalDefinition="The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date." ) protected DateType lastReviewDate; /** * The period during which the SubscriptionTopic content was or is planned to be effective. */ - @Child(name = "effectivePeriod", type = {Period.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Child(name = "effectivePeriod", type = {Period.class}, order=18, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="The effective date range for the SubscriptionTopic", formalDefinition="The period during which the SubscriptionTopic content was or is planned to be effective." ) protected Period effectivePeriod; /** * A definition of a resource-based event that triggers a notification based on the SubscriptionTopic. The criteria may be just a human readable description and/or a full FHIR search string or FHIRPath expression. Multiple triggers are considered OR joined (e.g., a resource update matching ANY of the definitions will trigger a notification). */ - @Child(name = "resourceTrigger", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "resourceTrigger", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Definition of a resource-based trigger for the subscription topic", formalDefinition="A definition of a resource-based event that triggers a notification based on the SubscriptionTopic. The criteria may be just a human readable description and/or a full FHIR search string or FHIRPath expression. Multiple triggers are considered OR joined (e.g., a resource update matching ANY of the definitions will trigger a notification)." ) protected List resourceTrigger; /** * Event definition which can be used to trigger the SubscriptionTopic. */ - @Child(name = "eventTrigger", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "eventTrigger", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Event definitions the SubscriptionTopic", formalDefinition="Event definition which can be used to trigger the SubscriptionTopic." ) protected List eventTrigger; /** * List of properties by which Subscriptions on the SubscriptionTopic can be filtered. May be defined Search Parameters (e.g., Encounter.patient) or parameters defined within this SubscriptionTopic context (e.g., hub.event). */ - @Child(name = "canFilterBy", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "canFilterBy", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Properties by which a Subscription can filter notifications from the SubscriptionTopic", formalDefinition="List of properties by which Subscriptions on the SubscriptionTopic can be filtered. May be defined Search Parameters (e.g., Encounter.patient) or parameters defined within this SubscriptionTopic context (e.g., hub.event)." ) protected List canFilterBy; /** * List of properties to describe the shape (e.g., resources) included in notifications from this Subscription Topic. */ - @Child(name = "notificationShape", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "notificationShape", type = {}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Properties for describing the shape of notifications generated by this topic", formalDefinition="List of properties to describe the shape (e.g., resources) included in notifications from this Subscription Topic." ) protected List notificationShape; - private static final long serialVersionUID = -1726252832L; + private static final long serialVersionUID = -117076104L; /** * Constructor @@ -2518,7 +2525,7 @@ public class SubscriptionTopic extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -2538,7 +2545,7 @@ public class SubscriptionTopic extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public SubscriptionTopic setUrlElement(UriType value) { this.url = value; @@ -2546,14 +2553,14 @@ public class SubscriptionTopic extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers. + * @return An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers. + * @param value An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers. */ public SubscriptionTopic setUrl(String value) { if (this.url == null) @@ -3268,6 +3275,55 @@ public class SubscriptionTopic extends CanonicalResource { return this; } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create SubscriptionTopic.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public SubscriptionTopic setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public SubscriptionTopic setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #approvalDate} (The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value */ @@ -3602,6 +3658,47 @@ public class SubscriptionTopic extends CanonicalResource { return getNotificationShape().get(0); } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public SubscriptionTopic setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"versionAlgorithm[x]\""); + } + /** * not supported on this implementation */ @@ -3627,20 +3724,20 @@ public class SubscriptionTopic extends CanonicalResource { * @param value {@link #name} (A natural language name identifying the subscription topic. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ public SubscriptionTopic setNameElement(StringType value) { - throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"name\""); + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"name\""); } public String getName() { - throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"name\""); + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"name\""); } /** * @param value A natural language name identifying the subscription topic. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ public SubscriptionTopic setName(String value) { - throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"name\""); + throw new Error("The resource type \"SubscriptionTopic\" does not implement the property \"name\""); } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "Business identifiers assigned to this subscription topic by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the subscription topic when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Topic author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions are orderable.", 0, 1, version)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the SubscriptionTopic, for example, \"admission\".", 0, 1, title)); @@ -3655,6 +3752,7 @@ public class SubscriptionTopic extends CanonicalResource { children.add(new Property("jurisdiction", "CodeableConcept", "A jurisdiction in which the Topic is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explains why this Topic is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the SubscriptionTopic and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SubscriptionTopic.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("approvalDate", "date", "The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); children.add(new Property("lastReviewDate", "date", "The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.", 0, 1, lastReviewDate)); children.add(new Property("effectivePeriod", "Period", "The period during which the SubscriptionTopic content was or is planned to be effective.", 0, 1, effectivePeriod)); @@ -3667,7 +3765,7 @@ public class SubscriptionTopic extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this subscription topic when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this subscription topic is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the subscription topic is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "Business identifiers assigned to this subscription topic by the performer and/or other systems. These identifiers remain constant as the resource is updated and propagates from server to server.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the subscription topic when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the Topic author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions are orderable.", 0, 1, version); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the SubscriptionTopic, for example, \"admission\".", 0, 1, title); @@ -3682,6 +3780,7 @@ public class SubscriptionTopic extends CanonicalResource { case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A jurisdiction in which the Topic is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explains why this Topic is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the SubscriptionTopic and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the SubscriptionTopic.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the asset content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the asset content was last reviewed. Review happens periodically after that, but doesn't change the original approval date.", 0, 1, lastReviewDate); case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the SubscriptionTopic content was or is planned to be effective.", 0, 1, effectivePeriod); @@ -3712,6 +3811,7 @@ public class SubscriptionTopic extends CanonicalResource { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period @@ -3773,6 +3873,9 @@ public class SubscriptionTopic extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case 223539345: // approvalDate this.approvalDate = TypeConvertor.castToDate(value); // DateType return value; @@ -3832,6 +3935,8 @@ public class SubscriptionTopic extends CanonicalResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("approvalDate")) { this.approvalDate = TypeConvertor.castToDate(value); // DateType } else if (name.equals("lastReviewDate")) { @@ -3869,6 +3974,7 @@ public class SubscriptionTopic extends CanonicalResource { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case 223539345: return getApprovalDateElement(); case -1687512484: return getLastReviewDateElement(); case -403934648: return getEffectivePeriod(); @@ -3899,6 +4005,7 @@ public class SubscriptionTopic extends CanonicalResource { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case 223539345: /*approvalDate*/ return new String[] {"date"}; case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; @@ -3958,6 +4065,9 @@ public class SubscriptionTopic extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type SubscriptionTopic.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type SubscriptionTopic.copyrightLabel"); + } else if (name.equals("approvalDate")) { throw new FHIRException("Cannot call addChild on a primitive type SubscriptionTopic.approvalDate"); } @@ -4032,6 +4142,7 @@ public class SubscriptionTopic extends CanonicalResource { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); @@ -4073,10 +4184,11 @@ public class SubscriptionTopic extends CanonicalResource { && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) - && compareDeep(approvalDate, o.approvalDate, true) && compareDeep(lastReviewDate, o.lastReviewDate, true) - && compareDeep(effectivePeriod, o.effectivePeriod, true) && compareDeep(resourceTrigger, o.resourceTrigger, true) - && compareDeep(eventTrigger, o.eventTrigger, true) && compareDeep(canFilterBy, o.canFilterBy, true) - && compareDeep(notificationShape, o.notificationShape, true); + && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(approvalDate, o.approvalDate, true) + && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(effectivePeriod, o.effectivePeriod, true) + && compareDeep(resourceTrigger, o.resourceTrigger, true) && compareDeep(eventTrigger, o.eventTrigger, true) + && compareDeep(canFilterBy, o.canFilterBy, true) && compareDeep(notificationShape, o.notificationShape, true) + ; } @Override @@ -4089,15 +4201,16 @@ public class SubscriptionTopic extends CanonicalResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(title, o.title, true) && compareValues(derivedFrom, o.derivedFrom, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(approvalDate, o.approvalDate, true) - && compareValues(lastReviewDate, o.lastReviewDate, true); + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , title, derivedFrom, status, experimental, date, publisher, contact, description - , useContext, jurisdiction, purpose, copyright, approvalDate, lastReviewDate, effectivePeriod - , resourceTrigger, eventTrigger, canFilterBy, notificationShape); + , useContext, jurisdiction, purpose, copyright, copyrightLabel, approvalDate, lastReviewDate + , effectivePeriod, resourceTrigger, eventTrigger, canFilterBy, notificationShape); } @Override diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Substance.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Substance.java index 7c0cfb838..69a9fee88 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Substance.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Substance.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceDefinition.java index 4d52d61c0..5801a535a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceNucleicAcid.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceNucleicAcid.java index 018f9d670..e3dcb9748 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceNucleicAcid.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceNucleicAcid.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstancePolymer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstancePolymer.java index 1b33082bf..4b65ebead 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstancePolymer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstancePolymer.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceProtein.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceProtein.java index e5d469735..1ab1302e8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceProtein.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceProtein.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceReferenceInformation.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceReferenceInformation.java index b5ba8cbfd..d0c6d12e5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceReferenceInformation.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceReferenceInformation.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceSourceMaterial.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceSourceMaterial.java index a5ddfb740..c10a3c9d5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceSourceMaterial.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SubstanceSourceMaterial.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyDelivery.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyDelivery.java index 38327e2d4..3f13947e1 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyDelivery.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyDelivery.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -184,18 +184,18 @@ public class SupplyDelivery extends DomainResource { @Block() public static class SupplyDeliverySuppliedItemComponent extends BackboneElement implements IBaseBackboneElement { /** - * The amount of supply that has been dispensed. Includes unit of measure. + * The amount of the item that has been supplied. Unit of measure may be included. */ @Child(name = "quantity", type = {Quantity.class}, order=1, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Amount dispensed", formalDefinition="The amount of supply that has been dispensed. Includes unit of measure." ) + @Description(shortDefinition="Amount supplied", formalDefinition="The amount of the item that has been supplied. Unit of measure may be included." ) protected Quantity quantity; /** - * Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. + * Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list. */ - @Child(name = "item", type = {CodeableConcept.class, Medication.class, Substance.class, Device.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Medication, Substance, or Device supplied", formalDefinition="Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/supply-item") + @Child(name = "item", type = {CodeableConcept.class, Medication.class, Substance.class, Device.class, BiologicallyDerivedProduct.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Medication, Substance, Device or Biologically Derived Product supplied", formalDefinition="Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/supplydelivery-supplyitemtype") protected DataType item; private static final long serialVersionUID = -615919419L; @@ -208,7 +208,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #quantity} (The amount of supply that has been dispensed. Includes unit of measure.) + * @return {@link #quantity} (The amount of the item that has been supplied. Unit of measure may be included.) */ public Quantity getQuantity() { if (this.quantity == null) @@ -224,7 +224,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @param value {@link #quantity} (The amount of supply that has been dispensed. Includes unit of measure.) + * @param value {@link #quantity} (The amount of the item that has been supplied. Unit of measure may be included.) */ public SupplyDeliverySuppliedItemComponent setQuantity(Quantity value) { this.quantity = value; @@ -232,14 +232,14 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #item} (Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) + * @return {@link #item} (Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) */ public DataType getItem() { return this.item; } /** - * @return {@link #item} (Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) + * @return {@link #item} (Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) */ public CodeableConcept getItemCodeableConcept() throws FHIRException { if (this.item == null) @@ -254,7 +254,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #item} (Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) + * @return {@link #item} (Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) */ public Reference getItemReference() throws FHIRException { if (this.item == null) @@ -273,7 +273,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @param value {@link #item} (Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) + * @param value {@link #item} (Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.) */ public SupplyDeliverySuppliedItemComponent setItem(DataType value) { if (value != null && !(value instanceof CodeableConcept || value instanceof Reference)) @@ -284,18 +284,18 @@ public class SupplyDelivery extends DomainResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("quantity", "Quantity", "The amount of supply that has been dispensed. Includes unit of measure.", 0, 1, quantity)); - children.add(new Property("item[x]", "CodeableConcept|Reference(Medication|Substance|Device)", "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item)); + children.add(new Property("quantity", "Quantity", "The amount of the item that has been supplied. Unit of measure may be included.", 0, 1, quantity)); + children.add(new Property("item[x]", "CodeableConcept|Reference(Medication|Substance|Device|BiologicallyDerivedProduct)", "Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The amount of supply that has been dispensed. Includes unit of measure.", 0, 1, quantity); - case 2116201613: /*item[x]*/ return new Property("item[x]", "CodeableConcept|Reference(Medication|Substance|Device)", "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); - case 3242771: /*item*/ return new Property("item[x]", "CodeableConcept|Reference(Medication|Substance|Device)", "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); - case 106644494: /*itemCodeableConcept*/ return new Property("item[x]", "CodeableConcept", "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); - case 1376364920: /*itemReference*/ return new Property("item[x]", "Reference(Medication|Substance|Device)", "Identifies the medication, substance or device being dispensed. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); + case -1285004149: /*quantity*/ return new Property("quantity", "Quantity", "The amount of the item that has been supplied. Unit of measure may be included.", 0, 1, quantity); + case 2116201613: /*item[x]*/ return new Property("item[x]", "CodeableConcept|Reference(Medication|Substance|Device|BiologicallyDerivedProduct)", "Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); + case 3242771: /*item*/ return new Property("item[x]", "CodeableConcept|Reference(Medication|Substance|Device|BiologicallyDerivedProduct)", "Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); + case 106644494: /*itemCodeableConcept*/ return new Property("item[x]", "CodeableConcept", "Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); + case 1376364920: /*itemReference*/ return new Property("item[x]", "Reference(Medication|Substance|Device|BiologicallyDerivedProduct)", "Identifies the medication, substance, device or biologically derived product being supplied. This is either a link to a resource representing the details of the item or a code that identifies the item from a known list.", 0, 1, item); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -455,19 +455,19 @@ public class SupplyDelivery extends DomainResource { protected Reference patient; /** - * Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc. + * Indicates the type of supply being provided. Examples include: Medication, Device, Biologically Derived Product. */ @Child(name = "type", type = {CodeableConcept.class}, order=5, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Category of dispense event", formalDefinition="Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/supplydelivery-type") + @Description(shortDefinition="Category of supply event", formalDefinition="Indicates the type of supply being provided. Examples include: Medication, Device, Biologically Derived Product." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/supplydelivery-supplyitemtype") protected CodeableConcept type; /** * The item that is being delivered or has been supplied. */ - @Child(name = "suppliedItem", type = {}, order=6, min=0, max=1, modifier=false, summary=false) + @Child(name = "suppliedItem", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="The item that is delivered or supplied", formalDefinition="The item that is being delivered or has been supplied." ) - protected SupplyDeliverySuppliedItemComponent suppliedItem; + protected List suppliedItem; /** * The date or time(s) the activity occurred. @@ -477,27 +477,27 @@ public class SupplyDelivery extends DomainResource { protected DataType occurrence; /** - * The individual responsible for dispensing the medication, supplier or device. + * The individual or organization responsible for supplying the delivery. */ @Child(name = "supplier", type = {Practitioner.class, PractitionerRole.class, Organization.class}, order=8, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Dispenser", formalDefinition="The individual responsible for dispensing the medication, supplier or device." ) + @Description(shortDefinition="The item supplier", formalDefinition="The individual or organization responsible for supplying the delivery." ) protected Reference supplier; /** - * Identification of the facility/location where the Supply was shipped to, as part of the dispense event. + * Identification of the facility/location where the delivery was shipped to. */ @Child(name = "destination", type = {Location.class}, order=9, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Where the Supply was sent", formalDefinition="Identification of the facility/location where the Supply was shipped to, as part of the dispense event." ) + @Description(shortDefinition="Where the delivery was sent", formalDefinition="Identification of the facility/location where the delivery was shipped to." ) protected Reference destination; /** - * Identifies the person who picked up the Supply. + * Identifies the person or organization that received the delivery. */ @Child(name = "receiver", type = {Practitioner.class, PractitionerRole.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Who collected the Supply", formalDefinition="Identifies the person who picked up the Supply." ) + @Description(shortDefinition="Who received the delivery", formalDefinition="Identifies the person or organization that received the delivery." ) protected List receiver; - private static final long serialVersionUID = -841753644L; + private static final long serialVersionUID = -734856482L; /** * Constructor @@ -739,7 +739,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #type} (Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.) + * @return {@link #type} (Indicates the type of supply being provided. Examples include: Medication, Device, Biologically Derived Product.) */ public CodeableConcept getType() { if (this.type == null) @@ -755,7 +755,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @param value {@link #type} (Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.) + * @param value {@link #type} (Indicates the type of supply being provided. Examples include: Medication, Device, Biologically Derived Product.) */ public SupplyDelivery setType(CodeableConcept value) { this.type = value; @@ -765,25 +765,54 @@ public class SupplyDelivery extends DomainResource { /** * @return {@link #suppliedItem} (The item that is being delivered or has been supplied.) */ - public SupplyDeliverySuppliedItemComponent getSuppliedItem() { + public List getSuppliedItem() { if (this.suppliedItem == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create SupplyDelivery.suppliedItem"); - else if (Configuration.doAutoCreate()) - this.suppliedItem = new SupplyDeliverySuppliedItemComponent(); // cc + this.suppliedItem = new ArrayList(); return this.suppliedItem; } + /** + * @return Returns a reference to this for easy method chaining + */ + public SupplyDelivery setSuppliedItem(List theSuppliedItem) { + this.suppliedItem = theSuppliedItem; + return this; + } + public boolean hasSuppliedItem() { - return this.suppliedItem != null && !this.suppliedItem.isEmpty(); + if (this.suppliedItem == null) + return false; + for (SupplyDeliverySuppliedItemComponent item : this.suppliedItem) + if (!item.isEmpty()) + return true; + return false; + } + + public SupplyDeliverySuppliedItemComponent addSuppliedItem() { //3 + SupplyDeliverySuppliedItemComponent t = new SupplyDeliverySuppliedItemComponent(); + if (this.suppliedItem == null) + this.suppliedItem = new ArrayList(); + this.suppliedItem.add(t); + return t; + } + + public SupplyDelivery addSuppliedItem(SupplyDeliverySuppliedItemComponent t) { //3 + if (t == null) + return this; + if (this.suppliedItem == null) + this.suppliedItem = new ArrayList(); + this.suppliedItem.add(t); + return this; } /** - * @param value {@link #suppliedItem} (The item that is being delivered or has been supplied.) + * @return The first repetition of repeating field {@link #suppliedItem}, creating it if it does not already exist {3} */ - public SupplyDelivery setSuppliedItem(SupplyDeliverySuppliedItemComponent value) { - this.suppliedItem = value; - return this; + public SupplyDeliverySuppliedItemComponent getSuppliedItemFirstRep() { + if (getSuppliedItem().isEmpty()) { + addSuppliedItem(); + } + return getSuppliedItem().get(0); } /** @@ -853,7 +882,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #supplier} (The individual responsible for dispensing the medication, supplier or device.) + * @return {@link #supplier} (The individual or organization responsible for supplying the delivery.) */ public Reference getSupplier() { if (this.supplier == null) @@ -869,7 +898,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @param value {@link #supplier} (The individual responsible for dispensing the medication, supplier or device.) + * @param value {@link #supplier} (The individual or organization responsible for supplying the delivery.) */ public SupplyDelivery setSupplier(Reference value) { this.supplier = value; @@ -877,7 +906,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #destination} (Identification of the facility/location where the Supply was shipped to, as part of the dispense event.) + * @return {@link #destination} (Identification of the facility/location where the delivery was shipped to.) */ public Reference getDestination() { if (this.destination == null) @@ -893,7 +922,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @param value {@link #destination} (Identification of the facility/location where the Supply was shipped to, as part of the dispense event.) + * @param value {@link #destination} (Identification of the facility/location where the delivery was shipped to.) */ public SupplyDelivery setDestination(Reference value) { this.destination = value; @@ -901,7 +930,7 @@ public class SupplyDelivery extends DomainResource { } /** - * @return {@link #receiver} (Identifies the person who picked up the Supply.) + * @return {@link #receiver} (Identifies the person or organization that received the delivery.) */ public List getReceiver() { if (this.receiver == null) @@ -960,12 +989,12 @@ public class SupplyDelivery extends DomainResource { children.add(new Property("partOf", "Reference(SupplyDelivery|Contract)", "A larger event of which this particular event is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf)); children.add(new Property("status", "code", "A code specifying the state of the dispense event.", 0, 1, status)); children.add(new Property("patient", "Reference(Patient)", "A link to a resource representing the person whom the delivered item is for.", 0, 1, patient)); - children.add(new Property("type", "CodeableConcept", "Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.", 0, 1, type)); - children.add(new Property("suppliedItem", "", "The item that is being delivered or has been supplied.", 0, 1, suppliedItem)); + children.add(new Property("type", "CodeableConcept", "Indicates the type of supply being provided. Examples include: Medication, Device, Biologically Derived Product.", 0, 1, type)); + children.add(new Property("suppliedItem", "", "The item that is being delivered or has been supplied.", 0, java.lang.Integer.MAX_VALUE, suppliedItem)); children.add(new Property("occurrence[x]", "dateTime|Period|Timing", "The date or time(s) the activity occurred.", 0, 1, occurrence)); - children.add(new Property("supplier", "Reference(Practitioner|PractitionerRole|Organization)", "The individual responsible for dispensing the medication, supplier or device.", 0, 1, supplier)); - children.add(new Property("destination", "Reference(Location)", "Identification of the facility/location where the Supply was shipped to, as part of the dispense event.", 0, 1, destination)); - children.add(new Property("receiver", "Reference(Practitioner|PractitionerRole)", "Identifies the person who picked up the Supply.", 0, java.lang.Integer.MAX_VALUE, receiver)); + children.add(new Property("supplier", "Reference(Practitioner|PractitionerRole|Organization)", "The individual or organization responsible for supplying the delivery.", 0, 1, supplier)); + children.add(new Property("destination", "Reference(Location)", "Identification of the facility/location where the delivery was shipped to.", 0, 1, destination)); + children.add(new Property("receiver", "Reference(Practitioner|PractitionerRole)", "Identifies the person or organization that received the delivery.", 0, java.lang.Integer.MAX_VALUE, receiver)); } @Override @@ -976,16 +1005,16 @@ public class SupplyDelivery extends DomainResource { case -995410646: /*partOf*/ return new Property("partOf", "Reference(SupplyDelivery|Contract)", "A larger event of which this particular event is a component or step.", 0, java.lang.Integer.MAX_VALUE, partOf); case -892481550: /*status*/ return new Property("status", "code", "A code specifying the state of the dispense event.", 0, 1, status); case -791418107: /*patient*/ return new Property("patient", "Reference(Patient)", "A link to a resource representing the person whom the delivered item is for.", 0, 1, patient); - case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Indicates the type of dispensing event that is performed. Examples include: Trial Fill, Completion of Trial, Partial Fill, Emergency Fill, Samples, etc.", 0, 1, type); - case 1993333233: /*suppliedItem*/ return new Property("suppliedItem", "", "The item that is being delivered or has been supplied.", 0, 1, suppliedItem); + case 3575610: /*type*/ return new Property("type", "CodeableConcept", "Indicates the type of supply being provided. Examples include: Medication, Device, Biologically Derived Product.", 0, 1, type); + case 1993333233: /*suppliedItem*/ return new Property("suppliedItem", "", "The item that is being delivered or has been supplied.", 0, java.lang.Integer.MAX_VALUE, suppliedItem); case -2022646513: /*occurrence[x]*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date or time(s) the activity occurred.", 0, 1, occurrence); case 1687874001: /*occurrence*/ return new Property("occurrence[x]", "dateTime|Period|Timing", "The date or time(s) the activity occurred.", 0, 1, occurrence); case -298443636: /*occurrenceDateTime*/ return new Property("occurrence[x]", "dateTime", "The date or time(s) the activity occurred.", 0, 1, occurrence); case 1397156594: /*occurrencePeriod*/ return new Property("occurrence[x]", "Period", "The date or time(s) the activity occurred.", 0, 1, occurrence); case 1515218299: /*occurrenceTiming*/ return new Property("occurrence[x]", "Timing", "The date or time(s) the activity occurred.", 0, 1, occurrence); - case -1663305268: /*supplier*/ return new Property("supplier", "Reference(Practitioner|PractitionerRole|Organization)", "The individual responsible for dispensing the medication, supplier or device.", 0, 1, supplier); - case -1429847026: /*destination*/ return new Property("destination", "Reference(Location)", "Identification of the facility/location where the Supply was shipped to, as part of the dispense event.", 0, 1, destination); - case -808719889: /*receiver*/ return new Property("receiver", "Reference(Practitioner|PractitionerRole)", "Identifies the person who picked up the Supply.", 0, java.lang.Integer.MAX_VALUE, receiver); + case -1663305268: /*supplier*/ return new Property("supplier", "Reference(Practitioner|PractitionerRole|Organization)", "The individual or organization responsible for supplying the delivery.", 0, 1, supplier); + case -1429847026: /*destination*/ return new Property("destination", "Reference(Location)", "Identification of the facility/location where the delivery was shipped to.", 0, 1, destination); + case -808719889: /*receiver*/ return new Property("receiver", "Reference(Practitioner|PractitionerRole)", "Identifies the person or organization that received the delivery.", 0, java.lang.Integer.MAX_VALUE, receiver); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1000,7 +1029,7 @@ public class SupplyDelivery extends DomainResource { case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration case -791418107: /*patient*/ return this.patient == null ? new Base[0] : new Base[] {this.patient}; // Reference case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // CodeableConcept - case 1993333233: /*suppliedItem*/ return this.suppliedItem == null ? new Base[0] : new Base[] {this.suppliedItem}; // SupplyDeliverySuppliedItemComponent + case 1993333233: /*suppliedItem*/ return this.suppliedItem == null ? new Base[0] : this.suppliedItem.toArray(new Base[this.suppliedItem.size()]); // SupplyDeliverySuppliedItemComponent case 1687874001: /*occurrence*/ return this.occurrence == null ? new Base[0] : new Base[] {this.occurrence}; // DataType case -1663305268: /*supplier*/ return this.supplier == null ? new Base[0] : new Base[] {this.supplier}; // Reference case -1429847026: /*destination*/ return this.destination == null ? new Base[0] : new Base[] {this.destination}; // Reference @@ -1033,7 +1062,7 @@ public class SupplyDelivery extends DomainResource { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; case 1993333233: // suppliedItem - this.suppliedItem = (SupplyDeliverySuppliedItemComponent) value; // SupplyDeliverySuppliedItemComponent + this.getSuppliedItem().add((SupplyDeliverySuppliedItemComponent) value); // SupplyDeliverySuppliedItemComponent return value; case 1687874001: // occurrence this.occurrence = TypeConvertor.castToType(value); // DataType @@ -1068,7 +1097,7 @@ public class SupplyDelivery extends DomainResource { } else if (name.equals("type")) { this.type = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("suppliedItem")) { - this.suppliedItem = (SupplyDeliverySuppliedItemComponent) value; // SupplyDeliverySuppliedItemComponent + this.getSuppliedItem().add((SupplyDeliverySuppliedItemComponent) value); } else if (name.equals("occurrence[x]")) { this.occurrence = TypeConvertor.castToType(value); // DataType } else if (name.equals("supplier")) { @@ -1091,7 +1120,7 @@ public class SupplyDelivery extends DomainResource { case -892481550: return getStatusElement(); case -791418107: return getPatient(); case 3575610: return getType(); - case 1993333233: return getSuppliedItem(); + case 1993333233: return addSuppliedItem(); case -2022646513: return getOccurrence(); case 1687874001: return getOccurrence(); case -1663305268: return getSupplier(); @@ -1144,8 +1173,7 @@ public class SupplyDelivery extends DomainResource { return this.type; } else if (name.equals("suppliedItem")) { - this.suppliedItem = new SupplyDeliverySuppliedItemComponent(); - return this.suppliedItem; + return addSuppliedItem(); } else if (name.equals("occurrenceDateTime")) { this.occurrence = new DateTimeType(); @@ -1205,7 +1233,11 @@ public class SupplyDelivery extends DomainResource { dst.status = status == null ? null : status.copy(); dst.patient = patient == null ? null : patient.copy(); dst.type = type == null ? null : type.copy(); - dst.suppliedItem = suppliedItem == null ? null : suppliedItem.copy(); + if (suppliedItem != null) { + dst.suppliedItem = new ArrayList(); + for (SupplyDeliverySuppliedItemComponent i : suppliedItem) + dst.suppliedItem.add(i.copy()); + }; dst.occurrence = occurrence == null ? null : occurrence.copy(); dst.supplier = supplier == null ? null : supplier.copy(); dst.destination = destination == null ? null : destination.copy(); @@ -1441,7 +1473,7 @@ public class SupplyDelivery extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1450,10 +1482,10 @@ public class SupplyDelivery extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -1485,7 +1517,7 @@ public class SupplyDelivery extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -1494,7 +1526,7 @@ public class SupplyDelivery extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyRequest.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyRequest.java index 40617db9f..5c3d3a17e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyRequest.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SupplyRequest.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Task.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Task.java index ac80bb8c3..4f87bfead 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Task.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Task.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -87,7 +87,7 @@ public class Task extends DomainResource { */ INSTANCEORDER, /** - * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used. + * The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used. */ OPTION, /** @@ -160,7 +160,7 @@ public class Task extends DomainResource { case REFLEXORDER: return "The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization."; case FILLERORDER: return "The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order."; case INSTANCEORDER: return "An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence. E.g. The administration of a single dose of a drug."; - case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used."; + case OPTION: return "The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used."; case NULL: return null; default: return "?"; } @@ -527,10 +527,10 @@ public class Task extends DomainResource { protected PositiveIntType repetitions; /** - * Over what time-period is fulfillment sought. + * The time-period for which fulfillment is sought. This must fall within the overall time period authorized in the referenced request. E.g. ServiceRequest.occurance[x]. */ @Child(name = "period", type = {Period.class}, order=2, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="When fulfillment sought", formalDefinition="Over what time-period is fulfillment sought." ) + @Description(shortDefinition="When fulfillment is sought", formalDefinition="The time-period for which fulfillment is sought. This must fall within the overall time period authorized in the referenced request. E.g. ServiceRequest.occurance[x]." ) protected Period period; /** @@ -595,7 +595,7 @@ public class Task extends DomainResource { } /** - * @return {@link #period} (Over what time-period is fulfillment sought.) + * @return {@link #period} (The time-period for which fulfillment is sought. This must fall within the overall time period authorized in the referenced request. E.g. ServiceRequest.occurance[x].) */ public Period getPeriod() { if (this.period == null) @@ -611,7 +611,7 @@ public class Task extends DomainResource { } /** - * @param value {@link #period} (Over what time-period is fulfillment sought.) + * @param value {@link #period} (The time-period for which fulfillment is sought. This must fall within the overall time period authorized in the referenced request. E.g. ServiceRequest.occurance[x].) */ public TaskRestrictionComponent setPeriod(Period value) { this.period = value; @@ -674,7 +674,7 @@ public class Task extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("repetitions", "positiveInt", "Indicates the number of times the requested action should occur.", 0, 1, repetitions)); - children.add(new Property("period", "Period", "Over what time-period is fulfillment sought.", 0, 1, period)); + children.add(new Property("period", "Period", "The time-period for which fulfillment is sought. This must fall within the overall time period authorized in the referenced request. E.g. ServiceRequest.occurance[x].", 0, 1, period)); children.add(new Property("recipient", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|Group|Organization)", "For requests that are targeted to more than one potential recipient/target, to identify who is fulfillment is sought for.", 0, java.lang.Integer.MAX_VALUE, recipient)); } @@ -682,7 +682,7 @@ public class Task extends DomainResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 984367650: /*repetitions*/ return new Property("repetitions", "positiveInt", "Indicates the number of times the requested action should occur.", 0, 1, repetitions); - case -991726143: /*period*/ return new Property("period", "Period", "Over what time-period is fulfillment sought.", 0, 1, period); + case -991726143: /*period*/ return new Property("period", "Period", "The time-period for which fulfillment is sought. This must fall within the overall time period authorized in the referenced request. E.g. ServiceRequest.occurance[x].", 0, 1, period); case 820081177: /*recipient*/ return new Property("recipient", "Reference(Patient|Practitioner|PractitionerRole|RelatedPerson|Group|Organization)", "For requests that are targeted to more than one potential recipient/target, to identify who is fulfillment is sought for.", 0, java.lang.Integer.MAX_VALUE, recipient); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -819,7 +819,7 @@ public class Task extends DomainResource { } @Block() - public static class ParameterComponent extends BackboneElement implements IBaseBackboneElement { + public static class TaskInputComponent extends BackboneElement implements IBaseBackboneElement { /** * A code or description indicating how the input is intended to be used as part of the task execution. */ @@ -830,7 +830,7 @@ public class Task extends DomainResource { /** * The value of the input parameter as a basic type. */ - @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Content to use in performing the task", formalDefinition="The value of the input parameter as a basic type." ) protected DataType value; @@ -839,14 +839,14 @@ public class Task extends DomainResource { /** * Constructor */ - public ParameterComponent() { + public TaskInputComponent() { super(); } /** * Constructor */ - public ParameterComponent(CodeableConcept type, DataType value) { + public TaskInputComponent(CodeableConcept type, DataType value) { super(); this.setType(type); this.setValue(value); @@ -858,7 +858,7 @@ public class Task extends DomainResource { public CodeableConcept getType() { if (this.type == null) if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create ParameterComponent.type"); + throw new Error("Attempt to auto-create TaskInputComponent.type"); else if (Configuration.doAutoCreate()) this.type = new CodeableConcept(); // cc return this.type; @@ -871,7 +871,7 @@ public class Task extends DomainResource { /** * @param value {@link #type} (A code or description indicating how the input is intended to be used as part of the task execution.) */ - public ParameterComponent setType(CodeableConcept value) { + public TaskInputComponent setType(CodeableConcept value) { this.type = value; return this; } @@ -1543,21 +1543,6 @@ public class Task extends DomainResource { return this != null && this.value instanceof ContactDetail; } - /** - * @return {@link #value} (The value of the input parameter as a basic type.) - */ - public Contributor getValueContributor() throws FHIRException { - if (this.value == null) - this.value = new Contributor(); - if (!(this.value instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.value.getClass().getName()+" was encountered"); - return (Contributor) this.value; - } - - public boolean hasValueContributor() { - return this != null && this.value instanceof Contributor; - } - /** * @return {@link #value} (The value of the input parameter as a basic type.) */ @@ -1648,6 +1633,36 @@ public class Task extends DomainResource { return this != null && this.value instanceof UsageContext; } + /** + * @return {@link #value} (The value of the input parameter as a basic type.) + */ + public Availability getValueAvailability() throws FHIRException { + if (this.value == null) + this.value = new Availability(); + if (!(this.value instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Availability) this.value; + } + + public boolean hasValueAvailability() { + return this != null && this.value instanceof Availability; + } + + /** + * @return {@link #value} (The value of the input parameter as a basic type.) + */ + public ExtendedContactDetail getValueExtendedContactDetail() throws FHIRException { + if (this.value == null) + this.value = new ExtendedContactDetail(); + if (!(this.value instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.value.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.value; + } + + public boolean hasValueExtendedContactDetail() { + return this != null && this.value instanceof ExtendedContactDetail; + } + /** * @return {@link #value} (The value of the input parameter as a basic type.) */ @@ -1685,8 +1700,8 @@ public class Task extends DomainResource { /** * @param value {@link #value} (The value of the input parameter as a basic type.) */ - public ParameterComponent setValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + public TaskInputComponent setValue(DataType value) { + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for Task.input.value[x]: "+value.fhirType()); this.value = value; return this; @@ -1695,15 +1710,15 @@ public class Task extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "A code or description indicating how the input is intended to be used as part of the task execution.", 0, 1, type)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A code or description indicating how the input is intended to be used as part of the task execution.", 0, 1, type); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "The value of the input parameter as a basic type.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the input parameter as a basic type.", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "The value of the input parameter as a basic type.", 0, 1, value); @@ -1748,13 +1763,14 @@ public class Task extends DomainResource { case -540985785: /*valueSignature*/ return new Property("value[x]", "Signature", "The value of the input parameter as a basic type.", 0, 1, value); case -1406282469: /*valueTiming*/ return new Property("value[x]", "Timing", "The value of the input parameter as a basic type.", 0, 1, value); case -1125200224: /*valueContactDetail*/ return new Property("value[x]", "ContactDetail", "The value of the input parameter as a basic type.", 0, 1, value); - case 1281021610: /*valueContributor*/ return new Property("value[x]", "Contributor", "The value of the input parameter as a basic type.", 0, 1, value); case 1710554248: /*valueDataRequirement*/ return new Property("value[x]", "DataRequirement", "The value of the input parameter as a basic type.", 0, 1, value); case -307517719: /*valueExpression*/ return new Property("value[x]", "Expression", "The value of the input parameter as a basic type.", 0, 1, value); case 1387478187: /*valueParameterDefinition*/ return new Property("value[x]", "ParameterDefinition", "The value of the input parameter as a basic type.", 0, 1, value); case 1748214124: /*valueRelatedArtifact*/ return new Property("value[x]", "RelatedArtifact", "The value of the input parameter as a basic type.", 0, 1, value); case 976830394: /*valueTriggerDefinition*/ return new Property("value[x]", "TriggerDefinition", "The value of the input parameter as a basic type.", 0, 1, value); case 588000479: /*valueUsageContext*/ return new Property("value[x]", "UsageContext", "The value of the input parameter as a basic type.", 0, 1, value); + case 1678530924: /*valueAvailability*/ return new Property("value[x]", "Availability", "The value of the input parameter as a basic type.", 0, 1, value); + case -1567222041: /*valueExtendedContactDetail*/ return new Property("value[x]", "ExtendedContactDetail", "The value of the input parameter as a basic type.", 0, 1, value); case -1858636920: /*valueDosage*/ return new Property("value[x]", "Dosage", "The value of the input parameter as a basic type.", 0, 1, value); case -765920490: /*valueMeta*/ return new Property("value[x]", "Meta", "The value of the input parameter as a basic type.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1812,7 +1828,7 @@ public class Task extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; default: return super.getTypesForProperty(hash, name); } @@ -2000,10 +2016,6 @@ public class Task extends DomainResource { this.value = new ContactDetail(); return this.value; } - else if (name.equals("valueContributor")) { - this.value = new Contributor(); - return this.value; - } else if (name.equals("valueDataRequirement")) { this.value = new DataRequirement(); return this.value; @@ -2028,6 +2040,14 @@ public class Task extends DomainResource { this.value = new UsageContext(); return this.value; } + else if (name.equals("valueAvailability")) { + this.value = new Availability(); + return this.value; + } + else if (name.equals("valueExtendedContactDetail")) { + this.value = new ExtendedContactDetail(); + return this.value; + } else if (name.equals("valueDosage")) { this.value = new Dosage(); return this.value; @@ -2040,13 +2060,13 @@ public class Task extends DomainResource { return super.addChild(name); } - public ParameterComponent copy() { - ParameterComponent dst = new ParameterComponent(); + public TaskInputComponent copy() { + TaskInputComponent dst = new TaskInputComponent(); copyValues(dst); return dst; } - public void copyValues(ParameterComponent dst) { + public void copyValues(TaskInputComponent dst) { super.copyValues(dst); dst.type = type == null ? null : type.copy(); dst.value = value == null ? null : value.copy(); @@ -2056,9 +2076,9 @@ public class Task extends DomainResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof ParameterComponent)) + if (!(other_ instanceof TaskInputComponent)) return false; - ParameterComponent o = (ParameterComponent) other_; + TaskInputComponent o = (TaskInputComponent) other_; return compareDeep(type, o.type, true) && compareDeep(value, o.value, true); } @@ -2066,9 +2086,9 @@ public class Task extends DomainResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof ParameterComponent)) + if (!(other_ instanceof TaskInputComponent)) return false; - ParameterComponent o = (ParameterComponent) other_; + TaskInputComponent o = (TaskInputComponent) other_; return true; } @@ -2095,7 +2115,7 @@ public class Task extends DomainResource { /** * The value of the Output parameter as a basic type. */ - @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Result of output", formalDefinition="The value of the Output parameter as a basic type." ) protected DataType value; @@ -2808,21 +2828,6 @@ public class Task extends DomainResource { return this != null && this.value instanceof ContactDetail; } - /** - * @return {@link #value} (The value of the Output parameter as a basic type.) - */ - public Contributor getValueContributor() throws FHIRException { - if (this.value == null) - this.value = new Contributor(); - if (!(this.value instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.value.getClass().getName()+" was encountered"); - return (Contributor) this.value; - } - - public boolean hasValueContributor() { - return this != null && this.value instanceof Contributor; - } - /** * @return {@link #value} (The value of the Output parameter as a basic type.) */ @@ -2913,6 +2918,36 @@ public class Task extends DomainResource { return this != null && this.value instanceof UsageContext; } + /** + * @return {@link #value} (The value of the Output parameter as a basic type.) + */ + public Availability getValueAvailability() throws FHIRException { + if (this.value == null) + this.value = new Availability(); + if (!(this.value instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Availability) this.value; + } + + public boolean hasValueAvailability() { + return this != null && this.value instanceof Availability; + } + + /** + * @return {@link #value} (The value of the Output parameter as a basic type.) + */ + public ExtendedContactDetail getValueExtendedContactDetail() throws FHIRException { + if (this.value == null) + this.value = new ExtendedContactDetail(); + if (!(this.value instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.value.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.value; + } + + public boolean hasValueExtendedContactDetail() { + return this != null && this.value instanceof ExtendedContactDetail; + } + /** * @return {@link #value} (The value of the Output parameter as a basic type.) */ @@ -2951,7 +2986,7 @@ public class Task extends DomainResource { * @param value {@link #value} (The value of the Output parameter as a basic type.) */ public TaskOutputComponent setValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for Task.output.value[x]: "+value.fhirType()); this.value = value; return this; @@ -2960,15 +2995,15 @@ public class Task extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "The name of the Output parameter.", 0, 1, type)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The name of the Output parameter.", 0, 1, type); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "The value of the Output parameter as a basic type.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the Output parameter as a basic type.", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "The value of the Output parameter as a basic type.", 0, 1, value); @@ -3013,13 +3048,14 @@ public class Task extends DomainResource { case -540985785: /*valueSignature*/ return new Property("value[x]", "Signature", "The value of the Output parameter as a basic type.", 0, 1, value); case -1406282469: /*valueTiming*/ return new Property("value[x]", "Timing", "The value of the Output parameter as a basic type.", 0, 1, value); case -1125200224: /*valueContactDetail*/ return new Property("value[x]", "ContactDetail", "The value of the Output parameter as a basic type.", 0, 1, value); - case 1281021610: /*valueContributor*/ return new Property("value[x]", "Contributor", "The value of the Output parameter as a basic type.", 0, 1, value); case 1710554248: /*valueDataRequirement*/ return new Property("value[x]", "DataRequirement", "The value of the Output parameter as a basic type.", 0, 1, value); case -307517719: /*valueExpression*/ return new Property("value[x]", "Expression", "The value of the Output parameter as a basic type.", 0, 1, value); case 1387478187: /*valueParameterDefinition*/ return new Property("value[x]", "ParameterDefinition", "The value of the Output parameter as a basic type.", 0, 1, value); case 1748214124: /*valueRelatedArtifact*/ return new Property("value[x]", "RelatedArtifact", "The value of the Output parameter as a basic type.", 0, 1, value); case 976830394: /*valueTriggerDefinition*/ return new Property("value[x]", "TriggerDefinition", "The value of the Output parameter as a basic type.", 0, 1, value); case 588000479: /*valueUsageContext*/ return new Property("value[x]", "UsageContext", "The value of the Output parameter as a basic type.", 0, 1, value); + case 1678530924: /*valueAvailability*/ return new Property("value[x]", "Availability", "The value of the Output parameter as a basic type.", 0, 1, value); + case -1567222041: /*valueExtendedContactDetail*/ return new Property("value[x]", "ExtendedContactDetail", "The value of the Output parameter as a basic type.", 0, 1, value); case -1858636920: /*valueDosage*/ return new Property("value[x]", "Dosage", "The value of the Output parameter as a basic type.", 0, 1, value); case -765920490: /*valueMeta*/ return new Property("value[x]", "Meta", "The value of the Output parameter as a basic type.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -3077,7 +3113,7 @@ public class Task extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; default: return super.getTypesForProperty(hash, name); } @@ -3265,10 +3301,6 @@ public class Task extends DomainResource { this.value = new ContactDetail(); return this.value; } - else if (name.equals("valueContributor")) { - this.value = new Contributor(); - return this.value; - } else if (name.equals("valueDataRequirement")) { this.value = new DataRequirement(); return this.value; @@ -3293,6 +3325,14 @@ public class Task extends DomainResource { this.value = new UsageContext(); return this.value; } + else if (name.equals("valueAvailability")) { + this.value = new Availability(); + return this.value; + } + else if (name.equals("valueExtendedContactDetail")) { + this.value = new ExtendedContactDetail(); + return this.value; + } else if (name.equals("valueDosage")) { this.value = new Dosage(); return this.value; @@ -3370,10 +3410,10 @@ public class Task extends DomainResource { protected UriType instantiatesUri; /** - * BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient. + * BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by focus. For example, based on a CarePlan (= basedOn), a task is created to fulfill a ServiceRequest ( = focus ) to collect a specimen from a patient. */ @Child(name = "basedOn", type = {Reference.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) - @Description(shortDefinition="Request fulfilled by this task", formalDefinition="BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a \"request\" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient." ) + @Description(shortDefinition="Request fulfilled by this task", formalDefinition="BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a \"request\" resource such as a ServiceRequest, MedicationRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill. This latter resource is referenced by focus. For example, based on a CarePlan (= basedOn), a task is created to fulfill a ServiceRequest ( = focus ) to collect a specimen from a patient." ) protected List basedOn; /** @@ -3401,9 +3441,10 @@ public class Task extends DomainResource { /** * An explanation as to why this task is held, failed, was refused, etc. */ - @Child(name = "statusReason", type = {CodeableConcept.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "statusReason", type = {CodeableReference.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Reason for current status", formalDefinition="An explanation as to why this task is held, failed, was refused, etc." ) - protected CodeableConcept statusReason; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/task-status-reason") + protected CodeableReference statusReason; /** * Contains business-specific nuances of the business state. @@ -3428,10 +3469,17 @@ public class Task extends DomainResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/request-priority") protected Enumeration priority; + /** + * If true indicates that the Task is asking for the specified action to *not* occur. + */ + @Child(name = "doNotPerform", type = {BooleanType.class}, order=11, min=0, max=1, modifier=true, summary=true) + @Description(shortDefinition="True if Task is prohibiting action", formalDefinition="If true indicates that the Task is asking for the specified action to *not* occur." ) + protected BooleanType doNotPerform; + /** * A name or code (or both) briefly describing what the task involves. */ - @Child(name = "code", type = {CodeableConcept.class}, order=11, min=0, max=1, modifier=false, summary=true) + @Child(name = "code", type = {CodeableConcept.class}, order=12, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Task Type", formalDefinition="A name or code (or both) briefly describing what the task involves." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/task-code") protected CodeableConcept code; @@ -3439,138 +3487,138 @@ public class Task extends DomainResource { /** * A free-text description of what is to be performed. */ - @Child(name = "description", type = {StringType.class}, order=12, min=0, max=1, modifier=false, summary=true) + @Child(name = "description", type = {StringType.class}, order=13, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Human-readable explanation of task", formalDefinition="A free-text description of what is to be performed." ) protected StringType description; /** - * The request being actioned or the resource being manipulated by this task. + * The request being fulfilled or the resource being manipulated (changed, suspended, etc.) by this task. */ - @Child(name = "focus", type = {Reference.class}, order=13, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="What task is acting on", formalDefinition="The request being actioned or the resource being manipulated by this task." ) + @Child(name = "focus", type = {Reference.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="What task is acting on", formalDefinition="The request being fulfilled or the resource being manipulated (changed, suspended, etc.) by this task." ) protected Reference focus; /** * The entity who benefits from the performance of the service specified in the task (e.g., the patient). */ - @Child(name = "for", type = {Reference.class}, order=14, min=0, max=1, modifier=false, summary=true) + @Child(name = "for", type = {Reference.class}, order=15, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Beneficiary of the Task", formalDefinition="The entity who benefits from the performance of the service specified in the task (e.g., the patient)." ) protected Reference for_; /** * The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created. */ - @Child(name = "encounter", type = {Encounter.class}, order=15, min=0, max=1, modifier=false, summary=true) + @Child(name = "encounter", type = {Encounter.class}, order=16, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Healthcare event during which this task originated", formalDefinition="The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created." ) protected Reference encounter; + /** + * Indicates the start and/or end of the period of time when completion of the task is desired to take place. + */ + @Child(name = "requestedPeriod", type = {Period.class}, order=17, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When the task should be performed", formalDefinition="Indicates the start and/or end of the period of time when completion of the task is desired to take place." ) + protected Period requestedPeriod; + /** * Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end). */ - @Child(name = "executionPeriod", type = {Period.class}, order=16, min=0, max=1, modifier=false, summary=true) + @Child(name = "executionPeriod", type = {Period.class}, order=18, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Start and end time of execution", formalDefinition="Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end)." ) protected Period executionPeriod; /** * The date and time this task was created. */ - @Child(name = "authoredOn", type = {DateTimeType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "authoredOn", type = {DateTimeType.class}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Task Creation Date", formalDefinition="The date and time this task was created." ) protected DateTimeType authoredOn; /** * The date and time of last modification to this task. */ - @Child(name = "lastModified", type = {DateTimeType.class}, order=18, min=0, max=1, modifier=false, summary=true) + @Child(name = "lastModified", type = {DateTimeType.class}, order=20, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Task Last Modified Date", formalDefinition="The date and time of last modification to this task." ) protected DateTimeType lastModified; /** * The creator of the task. */ - @Child(name = "requester", type = {Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=19, min=0, max=1, modifier=false, summary=true) + @Child(name = "requester", type = {Device.class, Organization.class, Patient.class, Practitioner.class, PractitionerRole.class, RelatedPerson.class}, order=21, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Who is asking for task to be done", formalDefinition="The creator of the task." ) protected Reference requester; /** - * The kind of participant that should perform the task. + * The kind of participant or specific participant that should perform the task. */ - @Child(name = "performerType", type = {CodeableConcept.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Requested performer", formalDefinition="The kind of participant that should perform the task." ) + @Child(name = "requestedPerformer", type = {CodeableReference.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who should perform Task", formalDefinition="The kind of participant or specific participant that should perform the task." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/performer-role") - protected List performerType; + protected List requestedPerformer; /** * Individual organization or Device currently responsible for task execution. */ - @Child(name = "owner", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, HealthcareService.class, Patient.class, Device.class, RelatedPerson.class}, order=21, min=0, max=1, modifier=false, summary=true) + @Child(name = "owner", type = {Practitioner.class, PractitionerRole.class, Organization.class, CareTeam.class, HealthcareService.class, Patient.class, Device.class, RelatedPerson.class}, order=23, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Responsible individual", formalDefinition="Individual organization or Device currently responsible for task execution." ) protected Reference owner; /** * Principal physical location where the this task is performed. */ - @Child(name = "location", type = {Location.class}, order=22, min=0, max=1, modifier=false, summary=true) + @Child(name = "location", type = {Location.class}, order=24, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Where task occurs", formalDefinition="Principal physical location where the this task is performed." ) protected Reference location; /** - * A description or code indicating why this task needs to be performed. + * A description, code, or reference indicating why this task needs to be performed. */ - @Child(name = "reasonCode", type = {CodeableConcept.class}, order=23, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Why task is needed", formalDefinition="A description or code indicating why this task needs to be performed." ) - protected CodeableConcept reasonCode; - - /** - * A resource reference indicating why this task needs to be performed. - */ - @Child(name = "reasonReference", type = {Reference.class}, order=24, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Why task is needed", formalDefinition="A resource reference indicating why this task needs to be performed." ) - protected Reference reasonReference; + @Child(name = "reason", type = {CodeableReference.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Why task is needed", formalDefinition="A description, code, or reference indicating why this task needs to be performed." ) + protected List reason; /** * Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task. */ - @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "insurance", type = {Coverage.class, ClaimResponse.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Associated insurance coverage", formalDefinition="Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task." ) protected List insurance; /** * Free-text information captured about the task as it progresses. */ - @Child(name = "note", type = {Annotation.class}, order=26, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "note", type = {Annotation.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Comments made about the task", formalDefinition="Free-text information captured about the task as it progresses." ) protected List note; /** * Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task. */ - @Child(name = "relevantHistory", type = {Provenance.class}, order=27, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "relevantHistory", type = {Provenance.class}, order=28, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Key events in history of the Task", formalDefinition="Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task." ) protected List relevantHistory; /** * If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned. */ - @Child(name = "restriction", type = {}, order=28, min=0, max=1, modifier=false, summary=false) + @Child(name = "restriction", type = {}, order=29, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Constraints on fulfillment tasks", formalDefinition="If the Task.focus is a request resource and the task is seeking fulfillment (i.e. is asking for the request to be actioned), this element identifies any limitations on what parts of the referenced request should be actioned." ) protected TaskRestrictionComponent restriction; /** * Additional information that may be needed in the execution of the task. */ - @Child(name = "input", type = {}, order=29, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "input", type = {}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information used to perform task", formalDefinition="Additional information that may be needed in the execution of the task." ) - protected List input; + protected List input; /** * Outputs produced by the Task. */ - @Child(name = "output", type = {}, order=30, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "output", type = {}, order=31, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Information produced as part of task", formalDefinition="Outputs produced by the Task." ) protected List output; - private static final long serialVersionUID = -1820039698L; + private static final long serialVersionUID = -15240003L; /** * Constructor @@ -3740,7 +3788,7 @@ public class Task extends DomainResource { } /** - * @return {@link #basedOn} (BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient.) + * @return {@link #basedOn} (BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a "request" resource such as a ServiceRequest, MedicationRequest, CarePlan, etc. which is distinct from the "request" resource the task is seeking to fulfill. This latter resource is referenced by focus. For example, based on a CarePlan (= basedOn), a task is created to fulfill a ServiceRequest ( = focus ) to collect a specimen from a patient.) */ public List getBasedOn() { if (this.basedOn == null) @@ -3917,12 +3965,12 @@ public class Task extends DomainResource { /** * @return {@link #statusReason} (An explanation as to why this task is held, failed, was refused, etc.) */ - public CodeableConcept getStatusReason() { + public CodeableReference getStatusReason() { if (this.statusReason == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create Task.statusReason"); else if (Configuration.doAutoCreate()) - this.statusReason = new CodeableConcept(); // cc + this.statusReason = new CodeableReference(); // cc return this.statusReason; } @@ -3933,7 +3981,7 @@ public class Task extends DomainResource { /** * @param value {@link #statusReason} (An explanation as to why this task is held, failed, was refused, etc.) */ - public Task setStatusReason(CodeableConcept value) { + public Task setStatusReason(CodeableReference value) { this.statusReason = value; return this; } @@ -4056,6 +4104,51 @@ public class Task extends DomainResource { return this; } + /** + * @return {@link #doNotPerform} (If true indicates that the Task is asking for the specified action to *not* occur.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value + */ + public BooleanType getDoNotPerformElement() { + if (this.doNotPerform == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Task.doNotPerform"); + else if (Configuration.doAutoCreate()) + this.doNotPerform = new BooleanType(); // bb + return this.doNotPerform; + } + + public boolean hasDoNotPerformElement() { + return this.doNotPerform != null && !this.doNotPerform.isEmpty(); + } + + public boolean hasDoNotPerform() { + return this.doNotPerform != null && !this.doNotPerform.isEmpty(); + } + + /** + * @param value {@link #doNotPerform} (If true indicates that the Task is asking for the specified action to *not* occur.). This is the underlying object with id, value and extensions. The accessor "getDoNotPerform" gives direct access to the value + */ + public Task setDoNotPerformElement(BooleanType value) { + this.doNotPerform = value; + return this; + } + + /** + * @return If true indicates that the Task is asking for the specified action to *not* occur. + */ + public boolean getDoNotPerform() { + return this.doNotPerform == null || this.doNotPerform.isEmpty() ? false : this.doNotPerform.getValue(); + } + + /** + * @param value If true indicates that the Task is asking for the specified action to *not* occur. + */ + public Task setDoNotPerform(boolean value) { + if (this.doNotPerform == null) + this.doNotPerform = new BooleanType(); + this.doNotPerform.setValue(value); + return this; + } + /** * @return {@link #code} (A name or code (or both) briefly describing what the task involves.) */ @@ -4130,7 +4223,7 @@ public class Task extends DomainResource { } /** - * @return {@link #focus} (The request being actioned or the resource being manipulated by this task.) + * @return {@link #focus} (The request being fulfilled or the resource being manipulated (changed, suspended, etc.) by this task.) */ public Reference getFocus() { if (this.focus == null) @@ -4146,7 +4239,7 @@ public class Task extends DomainResource { } /** - * @param value {@link #focus} (The request being actioned or the resource being manipulated by this task.) + * @param value {@link #focus} (The request being fulfilled or the resource being manipulated (changed, suspended, etc.) by this task.) */ public Task setFocus(Reference value) { this.focus = value; @@ -4201,6 +4294,30 @@ public class Task extends DomainResource { return this; } + /** + * @return {@link #requestedPeriod} (Indicates the start and/or end of the period of time when completion of the task is desired to take place.) + */ + public Period getRequestedPeriod() { + if (this.requestedPeriod == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create Task.requestedPeriod"); + else if (Configuration.doAutoCreate()) + this.requestedPeriod = new Period(); // cc + return this.requestedPeriod; + } + + public boolean hasRequestedPeriod() { + return this.requestedPeriod != null && !this.requestedPeriod.isEmpty(); + } + + /** + * @param value {@link #requestedPeriod} (Indicates the start and/or end of the period of time when completion of the task is desired to take place.) + */ + public Task setRequestedPeriod(Period value) { + this.requestedPeriod = value; + return this; + } + /** * @return {@link #executionPeriod} (Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end).) */ @@ -4348,56 +4465,56 @@ public class Task extends DomainResource { } /** - * @return {@link #performerType} (The kind of participant that should perform the task.) + * @return {@link #requestedPerformer} (The kind of participant or specific participant that should perform the task.) */ - public List getPerformerType() { - if (this.performerType == null) - this.performerType = new ArrayList(); - return this.performerType; + public List getRequestedPerformer() { + if (this.requestedPerformer == null) + this.requestedPerformer = new ArrayList(); + return this.requestedPerformer; } /** * @return Returns a reference to this for easy method chaining */ - public Task setPerformerType(List thePerformerType) { - this.performerType = thePerformerType; + public Task setRequestedPerformer(List theRequestedPerformer) { + this.requestedPerformer = theRequestedPerformer; return this; } - public boolean hasPerformerType() { - if (this.performerType == null) + public boolean hasRequestedPerformer() { + if (this.requestedPerformer == null) return false; - for (CodeableConcept item : this.performerType) + for (CodeableReference item : this.requestedPerformer) if (!item.isEmpty()) return true; return false; } - public CodeableConcept addPerformerType() { //3 - CodeableConcept t = new CodeableConcept(); - if (this.performerType == null) - this.performerType = new ArrayList(); - this.performerType.add(t); + public CodeableReference addRequestedPerformer() { //3 + CodeableReference t = new CodeableReference(); + if (this.requestedPerformer == null) + this.requestedPerformer = new ArrayList(); + this.requestedPerformer.add(t); return t; } - public Task addPerformerType(CodeableConcept t) { //3 + public Task addRequestedPerformer(CodeableReference t) { //3 if (t == null) return this; - if (this.performerType == null) - this.performerType = new ArrayList(); - this.performerType.add(t); + if (this.requestedPerformer == null) + this.requestedPerformer = new ArrayList(); + this.requestedPerformer.add(t); return this; } /** - * @return The first repetition of repeating field {@link #performerType}, creating it if it does not already exist {3} + * @return The first repetition of repeating field {@link #requestedPerformer}, creating it if it does not already exist {3} */ - public CodeableConcept getPerformerTypeFirstRep() { - if (getPerformerType().isEmpty()) { - addPerformerType(); + public CodeableReference getRequestedPerformerFirstRep() { + if (getRequestedPerformer().isEmpty()) { + addRequestedPerformer(); } - return getPerformerType().get(0); + return getRequestedPerformer().get(0); } /** @@ -4449,51 +4566,56 @@ public class Task extends DomainResource { } /** - * @return {@link #reasonCode} (A description or code indicating why this task needs to be performed.) + * @return {@link #reason} (A description, code, or reference indicating why this task needs to be performed.) */ - public CodeableConcept getReasonCode() { - if (this.reasonCode == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Task.reasonCode"); - else if (Configuration.doAutoCreate()) - this.reasonCode = new CodeableConcept(); // cc - return this.reasonCode; - } - - public boolean hasReasonCode() { - return this.reasonCode != null && !this.reasonCode.isEmpty(); + public List getReason() { + if (this.reason == null) + this.reason = new ArrayList(); + return this.reason; } /** - * @param value {@link #reasonCode} (A description or code indicating why this task needs to be performed.) + * @return Returns a reference to this for easy method chaining */ - public Task setReasonCode(CodeableConcept value) { - this.reasonCode = value; + public Task setReason(List theReason) { + this.reason = theReason; + return this; + } + + public boolean hasReason() { + if (this.reason == null) + return false; + for (CodeableReference item : this.reason) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableReference addReason() { //3 + CodeableReference t = new CodeableReference(); + if (this.reason == null) + this.reason = new ArrayList(); + this.reason.add(t); + return t; + } + + public Task addReason(CodeableReference t) { //3 + if (t == null) + return this; + if (this.reason == null) + this.reason = new ArrayList(); + this.reason.add(t); return this; } /** - * @return {@link #reasonReference} (A resource reference indicating why this task needs to be performed.) + * @return The first repetition of repeating field {@link #reason}, creating it if it does not already exist {3} */ - public Reference getReasonReference() { - if (this.reasonReference == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create Task.reasonReference"); - else if (Configuration.doAutoCreate()) - this.reasonReference = new Reference(); // cc - return this.reasonReference; - } - - public boolean hasReasonReference() { - return this.reasonReference != null && !this.reasonReference.isEmpty(); - } - - /** - * @param value {@link #reasonReference} (A resource reference indicating why this task needs to be performed.) - */ - public Task setReasonReference(Reference value) { - this.reasonReference = value; - return this; + public CodeableReference getReasonFirstRep() { + if (getReason().isEmpty()) { + addReason(); + } + return getReason().get(0); } /** @@ -4682,16 +4804,16 @@ public class Task extends DomainResource { /** * @return {@link #input} (Additional information that may be needed in the execution of the task.) */ - public List getInput() { + public List getInput() { if (this.input == null) - this.input = new ArrayList(); + this.input = new ArrayList(); return this.input; } /** * @return Returns a reference to this for easy method chaining */ - public Task setInput(List theInput) { + public Task setInput(List theInput) { this.input = theInput; return this; } @@ -4699,25 +4821,25 @@ public class Task extends DomainResource { public boolean hasInput() { if (this.input == null) return false; - for (ParameterComponent item : this.input) + for (TaskInputComponent item : this.input) if (!item.isEmpty()) return true; return false; } - public ParameterComponent addInput() { //3 - ParameterComponent t = new ParameterComponent(); + public TaskInputComponent addInput() { //3 + TaskInputComponent t = new TaskInputComponent(); if (this.input == null) - this.input = new ArrayList(); + this.input = new ArrayList(); this.input.add(t); return t; } - public Task addInput(ParameterComponent t) { //3 + public Task addInput(TaskInputComponent t) { //3 if (t == null) return this; if (this.input == null) - this.input = new ArrayList(); + this.input = new ArrayList(); this.input.add(t); return this; } @@ -4725,7 +4847,7 @@ public class Task extends DomainResource { /** * @return The first repetition of repeating field {@link #input}, creating it if it does not already exist {3} */ - public ParameterComponent getInputFirstRep() { + public TaskInputComponent getInputFirstRep() { if (getInput().isEmpty()) { addInput(); } @@ -4790,28 +4912,29 @@ public class Task extends DomainResource { children.add(new Property("identifier", "Identifier", "The business identifier for this task.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("instantiatesCanonical", "canonical(ActivityDefinition)", "The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.", 0, 1, instantiatesCanonical)); children.add(new Property("instantiatesUri", "uri", "The URL pointing to an *externally* maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.", 0, 1, instantiatesUri)); - children.add(new Property("basedOn", "Reference(Any)", "BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a \"request\" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient.", 0, java.lang.Integer.MAX_VALUE, basedOn)); + children.add(new Property("basedOn", "Reference(Any)", "BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a \"request\" resource such as a ServiceRequest, MedicationRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill. This latter resource is referenced by focus. For example, based on a CarePlan (= basedOn), a task is created to fulfill a ServiceRequest ( = focus ) to collect a specimen from a patient.", 0, java.lang.Integer.MAX_VALUE, basedOn)); children.add(new Property("groupIdentifier", "Identifier", "An identifier that links together multiple tasks and other requests that were created in the same context.", 0, 1, groupIdentifier)); children.add(new Property("partOf", "Reference(Task)", "Task that this particular task is part of.", 0, java.lang.Integer.MAX_VALUE, partOf)); children.add(new Property("status", "code", "The current status of the task.", 0, 1, status)); - children.add(new Property("statusReason", "CodeableConcept", "An explanation as to why this task is held, failed, was refused, etc.", 0, 1, statusReason)); + children.add(new Property("statusReason", "CodeableReference", "An explanation as to why this task is held, failed, was refused, etc.", 0, 1, statusReason)); children.add(new Property("businessStatus", "CodeableConcept", "Contains business-specific nuances of the business state.", 0, 1, businessStatus)); children.add(new Property("intent", "code", "Indicates the \"level\" of actionability associated with the Task, i.e. i+R[9]Cs this a proposed task, a planned task, an actionable task, etc.", 0, 1, intent)); children.add(new Property("priority", "code", "Indicates how quickly the Task should be addressed with respect to other requests.", 0, 1, priority)); + children.add(new Property("doNotPerform", "boolean", "If true indicates that the Task is asking for the specified action to *not* occur.", 0, 1, doNotPerform)); children.add(new Property("code", "CodeableConcept", "A name or code (or both) briefly describing what the task involves.", 0, 1, code)); children.add(new Property("description", "string", "A free-text description of what is to be performed.", 0, 1, description)); - children.add(new Property("focus", "Reference(Any)", "The request being actioned or the resource being manipulated by this task.", 0, 1, focus)); + children.add(new Property("focus", "Reference(Any)", "The request being fulfilled or the resource being manipulated (changed, suspended, etc.) by this task.", 0, 1, focus)); children.add(new Property("for", "Reference(Any)", "The entity who benefits from the performance of the service specified in the task (e.g., the patient).", 0, 1, for_)); children.add(new Property("encounter", "Reference(Encounter)", "The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created.", 0, 1, encounter)); + children.add(new Property("requestedPeriod", "Period", "Indicates the start and/or end of the period of time when completion of the task is desired to take place.", 0, 1, requestedPeriod)); children.add(new Property("executionPeriod", "Period", "Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end).", 0, 1, executionPeriod)); children.add(new Property("authoredOn", "dateTime", "The date and time this task was created.", 0, 1, authoredOn)); children.add(new Property("lastModified", "dateTime", "The date and time of last modification to this task.", 0, 1, lastModified)); children.add(new Property("requester", "Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The creator of the task.", 0, 1, requester)); - children.add(new Property("performerType", "CodeableConcept", "The kind of participant that should perform the task.", 0, java.lang.Integer.MAX_VALUE, performerType)); + children.add(new Property("requestedPerformer", "CodeableReference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The kind of participant or specific participant that should perform the task.", 0, java.lang.Integer.MAX_VALUE, requestedPerformer)); children.add(new Property("owner", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "Individual organization or Device currently responsible for task execution.", 0, 1, owner)); children.add(new Property("location", "Reference(Location)", "Principal physical location where the this task is performed.", 0, 1, location)); - children.add(new Property("reasonCode", "CodeableConcept", "A description or code indicating why this task needs to be performed.", 0, 1, reasonCode)); - children.add(new Property("reasonReference", "Reference(Any)", "A resource reference indicating why this task needs to be performed.", 0, 1, reasonReference)); + children.add(new Property("reason", "CodeableReference", "A description, code, or reference indicating why this task needs to be performed.", 0, java.lang.Integer.MAX_VALUE, reason)); children.add(new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task.", 0, java.lang.Integer.MAX_VALUE, insurance)); children.add(new Property("note", "Annotation", "Free-text information captured about the task as it progresses.", 0, java.lang.Integer.MAX_VALUE, note)); children.add(new Property("relevantHistory", "Reference(Provenance)", "Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task.", 0, java.lang.Integer.MAX_VALUE, relevantHistory)); @@ -4826,28 +4949,29 @@ public class Task extends DomainResource { case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "The business identifier for this task.", 0, java.lang.Integer.MAX_VALUE, identifier); case 8911915: /*instantiatesCanonical*/ return new Property("instantiatesCanonical", "canonical(ActivityDefinition)", "The URL pointing to a *FHIR*-defined protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.", 0, 1, instantiatesCanonical); case -1926393373: /*instantiatesUri*/ return new Property("instantiatesUri", "uri", "The URL pointing to an *externally* maintained protocol, guideline, orderset or other definition that is adhered to in whole or in part by this Task.", 0, 1, instantiatesUri); - case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a \"request\" resource such as a ServiceRequest, MedicationRequest, ServiceRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill. This latter resource is referenced by FocusOn. For example, based on a ServiceRequest (= BasedOn), a task is created to fulfill a procedureRequest ( = FocusOn ) to collect a specimen from a patient.", 0, java.lang.Integer.MAX_VALUE, basedOn); + case -332612366: /*basedOn*/ return new Property("basedOn", "Reference(Any)", "BasedOn refers to a higher-level authorization that triggered the creation of the task. It references a \"request\" resource such as a ServiceRequest, MedicationRequest, CarePlan, etc. which is distinct from the \"request\" resource the task is seeking to fulfill. This latter resource is referenced by focus. For example, based on a CarePlan (= basedOn), a task is created to fulfill a ServiceRequest ( = focus ) to collect a specimen from a patient.", 0, java.lang.Integer.MAX_VALUE, basedOn); case -445338488: /*groupIdentifier*/ return new Property("groupIdentifier", "Identifier", "An identifier that links together multiple tasks and other requests that were created in the same context.", 0, 1, groupIdentifier); case -995410646: /*partOf*/ return new Property("partOf", "Reference(Task)", "Task that this particular task is part of.", 0, java.lang.Integer.MAX_VALUE, partOf); case -892481550: /*status*/ return new Property("status", "code", "The current status of the task.", 0, 1, status); - case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableConcept", "An explanation as to why this task is held, failed, was refused, etc.", 0, 1, statusReason); + case 2051346646: /*statusReason*/ return new Property("statusReason", "CodeableReference", "An explanation as to why this task is held, failed, was refused, etc.", 0, 1, statusReason); case 2008591314: /*businessStatus*/ return new Property("businessStatus", "CodeableConcept", "Contains business-specific nuances of the business state.", 0, 1, businessStatus); case -1183762788: /*intent*/ return new Property("intent", "code", "Indicates the \"level\" of actionability associated with the Task, i.e. i+R[9]Cs this a proposed task, a planned task, an actionable task, etc.", 0, 1, intent); case -1165461084: /*priority*/ return new Property("priority", "code", "Indicates how quickly the Task should be addressed with respect to other requests.", 0, 1, priority); + case -1788508167: /*doNotPerform*/ return new Property("doNotPerform", "boolean", "If true indicates that the Task is asking for the specified action to *not* occur.", 0, 1, doNotPerform); case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A name or code (or both) briefly describing what the task involves.", 0, 1, code); case -1724546052: /*description*/ return new Property("description", "string", "A free-text description of what is to be performed.", 0, 1, description); - case 97604824: /*focus*/ return new Property("focus", "Reference(Any)", "The request being actioned or the resource being manipulated by this task.", 0, 1, focus); + case 97604824: /*focus*/ return new Property("focus", "Reference(Any)", "The request being fulfilled or the resource being manipulated (changed, suspended, etc.) by this task.", 0, 1, focus); case 101577: /*for*/ return new Property("for", "Reference(Any)", "The entity who benefits from the performance of the service specified in the task (e.g., the patient).", 0, 1, for_); case 1524132147: /*encounter*/ return new Property("encounter", "Reference(Encounter)", "The healthcare event (e.g. a patient and healthcare provider interaction) during which this task was created.", 0, 1, encounter); + case -897241393: /*requestedPeriod*/ return new Property("requestedPeriod", "Period", "Indicates the start and/or end of the period of time when completion of the task is desired to take place.", 0, 1, requestedPeriod); case 1218624249: /*executionPeriod*/ return new Property("executionPeriod", "Period", "Identifies the time action was first taken against the task (start) and/or the time final action was taken against the task prior to marking it as completed (end).", 0, 1, executionPeriod); case -1500852503: /*authoredOn*/ return new Property("authoredOn", "dateTime", "The date and time this task was created.", 0, 1, authoredOn); case 1959003007: /*lastModified*/ return new Property("lastModified", "dateTime", "The date and time of last modification to this task.", 0, 1, lastModified); case 693933948: /*requester*/ return new Property("requester", "Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The creator of the task.", 0, 1, requester); - case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "The kind of participant that should perform the task.", 0, java.lang.Integer.MAX_VALUE, performerType); + case 2072749056: /*requestedPerformer*/ return new Property("requestedPerformer", "CodeableReference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "The kind of participant or specific participant that should perform the task.", 0, java.lang.Integer.MAX_VALUE, requestedPerformer); case 106164915: /*owner*/ return new Property("owner", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "Individual organization or Device currently responsible for task execution.", 0, 1, owner); case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "Principal physical location where the this task is performed.", 0, 1, location); - case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "A description or code indicating why this task needs to be performed.", 0, 1, reasonCode); - case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Any)", "A resource reference indicating why this task needs to be performed.", 0, 1, reasonReference); + case -934964668: /*reason*/ return new Property("reason", "CodeableReference", "A description, code, or reference indicating why this task needs to be performed.", 0, java.lang.Integer.MAX_VALUE, reason); case 73049818: /*insurance*/ return new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Task.", 0, java.lang.Integer.MAX_VALUE, insurance); case 3387378: /*note*/ return new Property("note", "Annotation", "Free-text information captured about the task as it progresses.", 0, java.lang.Integer.MAX_VALUE, note); case 1538891575: /*relevantHistory*/ return new Property("relevantHistory", "Reference(Provenance)", "Links to Provenance records for past versions of this Task that identify key state transitions or updates that are likely to be relevant to a user looking at the current version of the task.", 0, java.lang.Integer.MAX_VALUE, relevantHistory); @@ -4869,29 +4993,30 @@ public class Task extends DomainResource { case -445338488: /*groupIdentifier*/ return this.groupIdentifier == null ? new Base[0] : new Base[] {this.groupIdentifier}; // Identifier case -995410646: /*partOf*/ return this.partOf == null ? new Base[0] : this.partOf.toArray(new Base[this.partOf.size()]); // Reference case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration - case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // CodeableConcept + case 2051346646: /*statusReason*/ return this.statusReason == null ? new Base[0] : new Base[] {this.statusReason}; // CodeableReference case 2008591314: /*businessStatus*/ return this.businessStatus == null ? new Base[0] : new Base[] {this.businessStatus}; // CodeableConcept case -1183762788: /*intent*/ return this.intent == null ? new Base[0] : new Base[] {this.intent}; // Enumeration case -1165461084: /*priority*/ return this.priority == null ? new Base[0] : new Base[] {this.priority}; // Enumeration + case -1788508167: /*doNotPerform*/ return this.doNotPerform == null ? new Base[0] : new Base[] {this.doNotPerform}; // BooleanType case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept case -1724546052: /*description*/ return this.description == null ? new Base[0] : new Base[] {this.description}; // StringType case 97604824: /*focus*/ return this.focus == null ? new Base[0] : new Base[] {this.focus}; // Reference case 101577: /*for*/ return this.for_ == null ? new Base[0] : new Base[] {this.for_}; // Reference case 1524132147: /*encounter*/ return this.encounter == null ? new Base[0] : new Base[] {this.encounter}; // Reference + case -897241393: /*requestedPeriod*/ return this.requestedPeriod == null ? new Base[0] : new Base[] {this.requestedPeriod}; // Period case 1218624249: /*executionPeriod*/ return this.executionPeriod == null ? new Base[0] : new Base[] {this.executionPeriod}; // Period case -1500852503: /*authoredOn*/ return this.authoredOn == null ? new Base[0] : new Base[] {this.authoredOn}; // DateTimeType case 1959003007: /*lastModified*/ return this.lastModified == null ? new Base[0] : new Base[] {this.lastModified}; // DateTimeType case 693933948: /*requester*/ return this.requester == null ? new Base[0] : new Base[] {this.requester}; // Reference - case -901444568: /*performerType*/ return this.performerType == null ? new Base[0] : this.performerType.toArray(new Base[this.performerType.size()]); // CodeableConcept + case 2072749056: /*requestedPerformer*/ return this.requestedPerformer == null ? new Base[0] : this.requestedPerformer.toArray(new Base[this.requestedPerformer.size()]); // CodeableReference case 106164915: /*owner*/ return this.owner == null ? new Base[0] : new Base[] {this.owner}; // Reference case 1901043637: /*location*/ return this.location == null ? new Base[0] : new Base[] {this.location}; // Reference - case 722137681: /*reasonCode*/ return this.reasonCode == null ? new Base[0] : new Base[] {this.reasonCode}; // CodeableConcept - case -1146218137: /*reasonReference*/ return this.reasonReference == null ? new Base[0] : new Base[] {this.reasonReference}; // Reference + case -934964668: /*reason*/ return this.reason == null ? new Base[0] : this.reason.toArray(new Base[this.reason.size()]); // CodeableReference case 73049818: /*insurance*/ return this.insurance == null ? new Base[0] : this.insurance.toArray(new Base[this.insurance.size()]); // Reference case 3387378: /*note*/ return this.note == null ? new Base[0] : this.note.toArray(new Base[this.note.size()]); // Annotation case 1538891575: /*relevantHistory*/ return this.relevantHistory == null ? new Base[0] : this.relevantHistory.toArray(new Base[this.relevantHistory.size()]); // Reference case -1561062452: /*restriction*/ return this.restriction == null ? new Base[0] : new Base[] {this.restriction}; // TaskRestrictionComponent - case 100358090: /*input*/ return this.input == null ? new Base[0] : this.input.toArray(new Base[this.input.size()]); // ParameterComponent + case 100358090: /*input*/ return this.input == null ? new Base[0] : this.input.toArray(new Base[this.input.size()]); // TaskInputComponent case -1005512447: /*output*/ return this.output == null ? new Base[0] : this.output.toArray(new Base[this.output.size()]); // TaskOutputComponent default: return super.getProperty(hash, name, checkValid); } @@ -4924,7 +5049,7 @@ public class Task extends DomainResource { this.status = (Enumeration) value; // Enumeration return value; case 2051346646: // statusReason - this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.statusReason = TypeConvertor.castToCodeableReference(value); // CodeableReference return value; case 2008591314: // businessStatus this.businessStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept @@ -4937,6 +5062,9 @@ public class Task extends DomainResource { value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); this.priority = (Enumeration) value; // Enumeration return value; + case -1788508167: // doNotPerform + this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType + return value; case 3059181: // code this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept return value; @@ -4952,6 +5080,9 @@ public class Task extends DomainResource { case 1524132147: // encounter this.encounter = TypeConvertor.castToReference(value); // Reference return value; + case -897241393: // requestedPeriod + this.requestedPeriod = TypeConvertor.castToPeriod(value); // Period + return value; case 1218624249: // executionPeriod this.executionPeriod = TypeConvertor.castToPeriod(value); // Period return value; @@ -4964,8 +5095,8 @@ public class Task extends DomainResource { case 693933948: // requester this.requester = TypeConvertor.castToReference(value); // Reference return value; - case -901444568: // performerType - this.getPerformerType().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + case 2072749056: // requestedPerformer + this.getRequestedPerformer().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; case 106164915: // owner this.owner = TypeConvertor.castToReference(value); // Reference @@ -4973,11 +5104,8 @@ public class Task extends DomainResource { case 1901043637: // location this.location = TypeConvertor.castToReference(value); // Reference return value; - case 722137681: // reasonCode - this.reasonCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - return value; - case -1146218137: // reasonReference - this.reasonReference = TypeConvertor.castToReference(value); // Reference + case -934964668: // reason + this.getReason().add(TypeConvertor.castToCodeableReference(value)); // CodeableReference return value; case 73049818: // insurance this.getInsurance().add(TypeConvertor.castToReference(value)); // Reference @@ -4992,7 +5120,7 @@ public class Task extends DomainResource { this.restriction = (TaskRestrictionComponent) value; // TaskRestrictionComponent return value; case 100358090: // input - this.getInput().add((ParameterComponent) value); // ParameterComponent + this.getInput().add((TaskInputComponent) value); // TaskInputComponent return value; case -1005512447: // output this.getOutput().add((TaskOutputComponent) value); // TaskOutputComponent @@ -5020,7 +5148,7 @@ public class Task extends DomainResource { value = new TaskStatusEnumFactory().fromType(TypeConvertor.castToCode(value)); this.status = (Enumeration) value; // Enumeration } else if (name.equals("statusReason")) { - this.statusReason = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + this.statusReason = TypeConvertor.castToCodeableReference(value); // CodeableReference } else if (name.equals("businessStatus")) { this.businessStatus = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("intent")) { @@ -5029,6 +5157,8 @@ public class Task extends DomainResource { } else if (name.equals("priority")) { value = new RequestPriorityEnumFactory().fromType(TypeConvertor.castToCode(value)); this.priority = (Enumeration) value; // Enumeration + } else if (name.equals("doNotPerform")) { + this.doNotPerform = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("code")) { this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept } else if (name.equals("description")) { @@ -5039,6 +5169,8 @@ public class Task extends DomainResource { this.for_ = TypeConvertor.castToReference(value); // Reference } else if (name.equals("encounter")) { this.encounter = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("requestedPeriod")) { + this.requestedPeriod = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("executionPeriod")) { this.executionPeriod = TypeConvertor.castToPeriod(value); // Period } else if (name.equals("authoredOn")) { @@ -5047,16 +5179,14 @@ public class Task extends DomainResource { this.lastModified = TypeConvertor.castToDateTime(value); // DateTimeType } else if (name.equals("requester")) { this.requester = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("performerType")) { - this.getPerformerType().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("requestedPerformer")) { + this.getRequestedPerformer().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("owner")) { this.owner = TypeConvertor.castToReference(value); // Reference } else if (name.equals("location")) { this.location = TypeConvertor.castToReference(value); // Reference - } else if (name.equals("reasonCode")) { - this.reasonCode = TypeConvertor.castToCodeableConcept(value); // CodeableConcept - } else if (name.equals("reasonReference")) { - this.reasonReference = TypeConvertor.castToReference(value); // Reference + } else if (name.equals("reason")) { + this.getReason().add(TypeConvertor.castToCodeableReference(value)); } else if (name.equals("insurance")) { this.getInsurance().add(TypeConvertor.castToReference(value)); } else if (name.equals("note")) { @@ -5066,7 +5196,7 @@ public class Task extends DomainResource { } else if (name.equals("restriction")) { this.restriction = (TaskRestrictionComponent) value; // TaskRestrictionComponent } else if (name.equals("input")) { - this.getInput().add((ParameterComponent) value); + this.getInput().add((TaskInputComponent) value); } else if (name.equals("output")) { this.getOutput().add((TaskOutputComponent) value); } else @@ -5088,20 +5218,21 @@ public class Task extends DomainResource { case 2008591314: return getBusinessStatus(); case -1183762788: return getIntentElement(); case -1165461084: return getPriorityElement(); + case -1788508167: return getDoNotPerformElement(); case 3059181: return getCode(); case -1724546052: return getDescriptionElement(); case 97604824: return getFocus(); case 101577: return getFor(); case 1524132147: return getEncounter(); + case -897241393: return getRequestedPeriod(); case 1218624249: return getExecutionPeriod(); case -1500852503: return getAuthoredOnElement(); case 1959003007: return getLastModifiedElement(); case 693933948: return getRequester(); - case -901444568: return addPerformerType(); + case 2072749056: return addRequestedPerformer(); case 106164915: return getOwner(); case 1901043637: return getLocation(); - case 722137681: return getReasonCode(); - case -1146218137: return getReasonReference(); + case -934964668: return addReason(); case 73049818: return addInsurance(); case 3387378: return addNote(); case 1538891575: return addRelevantHistory(); @@ -5123,24 +5254,25 @@ public class Task extends DomainResource { case -445338488: /*groupIdentifier*/ return new String[] {"Identifier"}; case -995410646: /*partOf*/ return new String[] {"Reference"}; case -892481550: /*status*/ return new String[] {"code"}; - case 2051346646: /*statusReason*/ return new String[] {"CodeableConcept"}; + case 2051346646: /*statusReason*/ return new String[] {"CodeableReference"}; case 2008591314: /*businessStatus*/ return new String[] {"CodeableConcept"}; case -1183762788: /*intent*/ return new String[] {"code"}; case -1165461084: /*priority*/ return new String[] {"code"}; + case -1788508167: /*doNotPerform*/ return new String[] {"boolean"}; case 3059181: /*code*/ return new String[] {"CodeableConcept"}; case -1724546052: /*description*/ return new String[] {"string"}; case 97604824: /*focus*/ return new String[] {"Reference"}; case 101577: /*for*/ return new String[] {"Reference"}; case 1524132147: /*encounter*/ return new String[] {"Reference"}; + case -897241393: /*requestedPeriod*/ return new String[] {"Period"}; case 1218624249: /*executionPeriod*/ return new String[] {"Period"}; case -1500852503: /*authoredOn*/ return new String[] {"dateTime"}; case 1959003007: /*lastModified*/ return new String[] {"dateTime"}; case 693933948: /*requester*/ return new String[] {"Reference"}; - case -901444568: /*performerType*/ return new String[] {"CodeableConcept"}; + case 2072749056: /*requestedPerformer*/ return new String[] {"CodeableReference"}; case 106164915: /*owner*/ return new String[] {"Reference"}; case 1901043637: /*location*/ return new String[] {"Reference"}; - case 722137681: /*reasonCode*/ return new String[] {"CodeableConcept"}; - case -1146218137: /*reasonReference*/ return new String[] {"Reference"}; + case -934964668: /*reason*/ return new String[] {"CodeableReference"}; case 73049818: /*insurance*/ return new String[] {"Reference"}; case 3387378: /*note*/ return new String[] {"Annotation"}; case 1538891575: /*relevantHistory*/ return new String[] {"Reference"}; @@ -5177,7 +5309,7 @@ public class Task extends DomainResource { throw new FHIRException("Cannot call addChild on a primitive type Task.status"); } else if (name.equals("statusReason")) { - this.statusReason = new CodeableConcept(); + this.statusReason = new CodeableReference(); return this.statusReason; } else if (name.equals("businessStatus")) { @@ -5190,6 +5322,9 @@ public class Task extends DomainResource { else if (name.equals("priority")) { throw new FHIRException("Cannot call addChild on a primitive type Task.priority"); } + else if (name.equals("doNotPerform")) { + throw new FHIRException("Cannot call addChild on a primitive type Task.doNotPerform"); + } else if (name.equals("code")) { this.code = new CodeableConcept(); return this.code; @@ -5209,6 +5344,10 @@ public class Task extends DomainResource { this.encounter = new Reference(); return this.encounter; } + else if (name.equals("requestedPeriod")) { + this.requestedPeriod = new Period(); + return this.requestedPeriod; + } else if (name.equals("executionPeriod")) { this.executionPeriod = new Period(); return this.executionPeriod; @@ -5223,8 +5362,8 @@ public class Task extends DomainResource { this.requester = new Reference(); return this.requester; } - else if (name.equals("performerType")) { - return addPerformerType(); + else if (name.equals("requestedPerformer")) { + return addRequestedPerformer(); } else if (name.equals("owner")) { this.owner = new Reference(); @@ -5234,13 +5373,8 @@ public class Task extends DomainResource { this.location = new Reference(); return this.location; } - else if (name.equals("reasonCode")) { - this.reasonCode = new CodeableConcept(); - return this.reasonCode; - } - else if (name.equals("reasonReference")) { - this.reasonReference = new Reference(); - return this.reasonReference; + else if (name.equals("reason")) { + return addReason(); } else if (name.equals("insurance")) { return addInsurance(); @@ -5301,24 +5435,29 @@ public class Task extends DomainResource { dst.businessStatus = businessStatus == null ? null : businessStatus.copy(); dst.intent = intent == null ? null : intent.copy(); dst.priority = priority == null ? null : priority.copy(); + dst.doNotPerform = doNotPerform == null ? null : doNotPerform.copy(); dst.code = code == null ? null : code.copy(); dst.description = description == null ? null : description.copy(); dst.focus = focus == null ? null : focus.copy(); dst.for_ = for_ == null ? null : for_.copy(); dst.encounter = encounter == null ? null : encounter.copy(); + dst.requestedPeriod = requestedPeriod == null ? null : requestedPeriod.copy(); dst.executionPeriod = executionPeriod == null ? null : executionPeriod.copy(); dst.authoredOn = authoredOn == null ? null : authoredOn.copy(); dst.lastModified = lastModified == null ? null : lastModified.copy(); dst.requester = requester == null ? null : requester.copy(); - if (performerType != null) { - dst.performerType = new ArrayList(); - for (CodeableConcept i : performerType) - dst.performerType.add(i.copy()); + if (requestedPerformer != null) { + dst.requestedPerformer = new ArrayList(); + for (CodeableReference i : requestedPerformer) + dst.requestedPerformer.add(i.copy()); }; dst.owner = owner == null ? null : owner.copy(); dst.location = location == null ? null : location.copy(); - dst.reasonCode = reasonCode == null ? null : reasonCode.copy(); - dst.reasonReference = reasonReference == null ? null : reasonReference.copy(); + if (reason != null) { + dst.reason = new ArrayList(); + for (CodeableReference i : reason) + dst.reason.add(i.copy()); + }; if (insurance != null) { dst.insurance = new ArrayList(); for (Reference i : insurance) @@ -5336,8 +5475,8 @@ public class Task extends DomainResource { }; dst.restriction = restriction == null ? null : restriction.copy(); if (input != null) { - dst.input = new ArrayList(); - for (ParameterComponent i : input) + dst.input = new ArrayList(); + for (TaskInputComponent i : input) dst.input.add(i.copy()); }; if (output != null) { @@ -5362,13 +5501,13 @@ public class Task extends DomainResource { && compareDeep(instantiatesUri, o.instantiatesUri, true) && compareDeep(basedOn, o.basedOn, true) && compareDeep(groupIdentifier, o.groupIdentifier, true) && compareDeep(partOf, o.partOf, true) && compareDeep(status, o.status, true) && compareDeep(statusReason, o.statusReason, true) && compareDeep(businessStatus, o.businessStatus, true) - && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) && compareDeep(code, o.code, true) - && compareDeep(description, o.description, true) && compareDeep(focus, o.focus, true) && compareDeep(for_, o.for_, true) - && compareDeep(encounter, o.encounter, true) && compareDeep(executionPeriod, o.executionPeriod, true) - && compareDeep(authoredOn, o.authoredOn, true) && compareDeep(lastModified, o.lastModified, true) - && compareDeep(requester, o.requester, true) && compareDeep(performerType, o.performerType, true) - && compareDeep(owner, o.owner, true) && compareDeep(location, o.location, true) && compareDeep(reasonCode, o.reasonCode, true) - && compareDeep(reasonReference, o.reasonReference, true) && compareDeep(insurance, o.insurance, true) + && compareDeep(intent, o.intent, true) && compareDeep(priority, o.priority, true) && compareDeep(doNotPerform, o.doNotPerform, true) + && compareDeep(code, o.code, true) && compareDeep(description, o.description, true) && compareDeep(focus, o.focus, true) + && compareDeep(for_, o.for_, true) && compareDeep(encounter, o.encounter, true) && compareDeep(requestedPeriod, o.requestedPeriod, true) + && compareDeep(executionPeriod, o.executionPeriod, true) && compareDeep(authoredOn, o.authoredOn, true) + && compareDeep(lastModified, o.lastModified, true) && compareDeep(requester, o.requester, true) + && compareDeep(requestedPerformer, o.requestedPerformer, true) && compareDeep(owner, o.owner, true) + && compareDeep(location, o.location, true) && compareDeep(reason, o.reason, true) && compareDeep(insurance, o.insurance, true) && compareDeep(note, o.note, true) && compareDeep(relevantHistory, o.relevantHistory, true) && compareDeep(restriction, o.restriction, true) && compareDeep(input, o.input, true) && compareDeep(output, o.output, true); } @@ -5382,17 +5521,18 @@ public class Task extends DomainResource { Task o = (Task) other_; return compareValues(instantiatesCanonical, o.instantiatesCanonical, true) && compareValues(instantiatesUri, o.instantiatesUri, true) && compareValues(status, o.status, true) && compareValues(intent, o.intent, true) && compareValues(priority, o.priority, true) - && compareValues(description, o.description, true) && compareValues(authoredOn, o.authoredOn, true) - && compareValues(lastModified, o.lastModified, true); + && compareValues(doNotPerform, o.doNotPerform, true) && compareValues(description, o.description, true) + && compareValues(authoredOn, o.authoredOn, true) && compareValues(lastModified, o.lastModified, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, instantiatesCanonical , instantiatesUri, basedOn, groupIdentifier, partOf, status, statusReason, businessStatus - , intent, priority, code, description, focus, for_, encounter, executionPeriod - , authoredOn, lastModified, requester, performerType, owner, location, reasonCode - , reasonReference, insurance, note, relevantHistory, restriction, input, output - ); + , intent, priority, doNotPerform, code, description, focus, for_, encounter + , requestedPeriod, executionPeriod, authoredOn, lastModified, requester, requestedPerformer + , owner, location, reason, insurance, note, relevantHistory, restriction, input + , output); } @Override @@ -5428,7 +5568,7 @@ public class Task extends DomainResource { * Path: Task.basedOn
*

*/ - @SearchParamDefinition(name="based-on", path="Task.basedOn", description="Search by requests this task is based on", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="based-on", path="Task.basedOn", description="Search by requests this task is based on", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_BASED_ON = "based-on"; /** * Fluent Client search parameter constant for based-on @@ -5520,7 +5660,7 @@ public class Task extends DomainResource { * Path: Task.focus
*

*/ - @SearchParamDefinition(name="focus", path="Task.focus", description="Search by task focus", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="focus", path="Task.focus", description="Search by task focus", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_FOCUS = "focus"; /** * Fluent Client search parameter constant for focus @@ -5618,6 +5758,32 @@ public class Task extends DomainResource { */ public static final ca.uhn.fhir.rest.gclient.DateClientParam MODIFIED = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_MODIFIED); + /** + * Search parameter: output + *

+ * Description: Search by task output
+ * Type: reference
+ * Path: Task.output
+ *

+ */ + @SearchParamDefinition(name="output", path="Task.output", description="Search by task output", type="reference" ) + public static final String SP_OUTPUT = "output"; + /** + * Fluent Client search parameter constant for output + *

+ * Description: Search by task output
+ * Type: reference
+ * Path: Task.output
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam OUTPUT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_OUTPUT); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Task:output". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_OUTPUT = new ca.uhn.fhir.model.api.Include("Task:output").toLocked(); + /** * Search parameter: owner *

@@ -5699,22 +5865,28 @@ public class Task extends DomainResource { /** * Search parameter: performer *

- * Description: Search by recommended type of performer (e.g., Requester, Performer, Scheduler).
- * Type: token
- * Path: Task.performerType
+ * Description: Search by specific requested performer.
+ * Type: reference
+ * Path: Task.requestedPerformer.reference
*

*/ - @SearchParamDefinition(name="performer", path="Task.performerType", description="Search by recommended type of performer (e.g., Requester, Performer, Scheduler).", type="token" ) + @SearchParamDefinition(name="performer", path="Task.requestedPerformer.reference", description="Search by specific requested performer.", type="reference" ) public static final String SP_PERFORMER = "performer"; /** * Fluent Client search parameter constant for performer *

- * Description: Search by recommended type of performer (e.g., Requester, Performer, Scheduler).
- * Type: token
- * Path: Task.performerType
+ * Description: Search by specific requested performer.
+ * Type: reference
+ * Path: Task.requestedPerformer.reference
*

*/ - public static final ca.uhn.fhir.rest.gclient.TokenClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_PERFORMER); + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PERFORMER = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PERFORMER); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "Task:performer". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PERFORMER = new ca.uhn.fhir.model.api.Include("Task:performer").toLocked(); /** * Search parameter: period @@ -5810,7 +5982,7 @@ public class Task extends DomainResource { * Path: Task.for
*

*/ - @SearchParamDefinition(name="subject", path="Task.for", description="Search by subject", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="subject", path="Task.for", description="Search by subject", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SUBJECT = "subject"; /** * Fluent Client search parameter constant for subject diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TerminologyCapabilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TerminologyCapabilities.java index 88313040c..78262a9f8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TerminologyCapabilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TerminologyCapabilities.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -55,13 +55,17 @@ public class TerminologyCapabilities extends CanonicalResource { public enum CodeSearchSupport { /** - * The search for code on ValueSet only includes codes explicitly detailed on includes or expansions. + * The search for code on ValueSet returns ValueSet resources where the code is included in the extensional definition of the ValueSet. */ - EXPLICIT, + INCOMPOSE, /** - * The search for code on ValueSet only includes all codes based on the expansion of the value set. + * The search for code on ValueSet returns ValueSet resources where the code is contained in the ValueSet expansion. */ - ALL, + INEXPANSION, + /** + * The search for code on ValueSet returns ValueSet resources where the code is included in the extensional definition or contained in the ValueSet expansion. + */ + INCOMPOSEOREXPANSION, /** * added to help the parsers with the generic types */ @@ -69,10 +73,12 @@ public class TerminologyCapabilities extends CanonicalResource { public static CodeSearchSupport fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) return null; - if ("explicit".equals(codeString)) - return EXPLICIT; - if ("all".equals(codeString)) - return ALL; + if ("in-compose".equals(codeString)) + return INCOMPOSE; + if ("in-expansion".equals(codeString)) + return INEXPANSION; + if ("in-compose-or-expansion".equals(codeString)) + return INCOMPOSEOREXPANSION; if (Configuration.isAcceptInvalidEnums()) return null; else @@ -80,32 +86,36 @@ public class TerminologyCapabilities extends CanonicalResource { } public String toCode() { switch (this) { - case EXPLICIT: return "explicit"; - case ALL: return "all"; + case INCOMPOSE: return "in-compose"; + case INEXPANSION: return "in-expansion"; + case INCOMPOSEOREXPANSION: return "in-compose-or-expansion"; case NULL: return null; default: return "?"; } } public String getSystem() { switch (this) { - case EXPLICIT: return "http://hl7.org/fhir/code-search-support"; - case ALL: return "http://hl7.org/fhir/code-search-support"; + case INCOMPOSE: return "http://hl7.org/fhir/code-search-support"; + case INEXPANSION: return "http://hl7.org/fhir/code-search-support"; + case INCOMPOSEOREXPANSION: return "http://hl7.org/fhir/code-search-support"; case NULL: return null; default: return "?"; } } public String getDefinition() { switch (this) { - case EXPLICIT: return "The search for code on ValueSet only includes codes explicitly detailed on includes or expansions."; - case ALL: return "The search for code on ValueSet only includes all codes based on the expansion of the value set."; + case INCOMPOSE: return "The search for code on ValueSet returns ValueSet resources where the code is included in the extensional definition of the ValueSet."; + case INEXPANSION: return "The search for code on ValueSet returns ValueSet resources where the code is contained in the ValueSet expansion."; + case INCOMPOSEOREXPANSION: return "The search for code on ValueSet returns ValueSet resources where the code is included in the extensional definition or contained in the ValueSet expansion."; case NULL: return null; default: return "?"; } } public String getDisplay() { switch (this) { - case EXPLICIT: return "Explicit Codes"; - case ALL: return "Implicit Codes"; + case INCOMPOSE: return "In Compose"; + case INEXPANSION: return "In Expansion"; + case INCOMPOSEOREXPANSION: return "In Compose Or Expansion"; case NULL: return null; default: return "?"; } @@ -117,10 +127,12 @@ public class TerminologyCapabilities extends CanonicalResource { if (codeString == null || "".equals(codeString)) if (codeString == null || "".equals(codeString)) return null; - if ("explicit".equals(codeString)) - return CodeSearchSupport.EXPLICIT; - if ("all".equals(codeString)) - return CodeSearchSupport.ALL; + if ("in-compose".equals(codeString)) + return CodeSearchSupport.INCOMPOSE; + if ("in-expansion".equals(codeString)) + return CodeSearchSupport.INEXPANSION; + if ("in-compose-or-expansion".equals(codeString)) + return CodeSearchSupport.INCOMPOSEOREXPANSION; throw new IllegalArgumentException("Unknown CodeSearchSupport code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -131,17 +143,21 @@ public class TerminologyCapabilities extends CanonicalResource { String codeString = ((PrimitiveType) code).asStringValue(); if (codeString == null || "".equals(codeString)) return null; - if ("explicit".equals(codeString)) - return new Enumeration(this, CodeSearchSupport.EXPLICIT); - if ("all".equals(codeString)) - return new Enumeration(this, CodeSearchSupport.ALL); + if ("in-compose".equals(codeString)) + return new Enumeration(this, CodeSearchSupport.INCOMPOSE); + if ("in-expansion".equals(codeString)) + return new Enumeration(this, CodeSearchSupport.INEXPANSION); + if ("in-compose-or-expansion".equals(codeString)) + return new Enumeration(this, CodeSearchSupport.INCOMPOSEOREXPANSION); throw new FHIRException("Unknown CodeSearchSupport code '"+codeString+"'"); } public String toCode(CodeSearchSupport code) { - if (code == CodeSearchSupport.EXPLICIT) - return "explicit"; - if (code == CodeSearchSupport.ALL) - return "all"; + if (code == CodeSearchSupport.INCOMPOSE) + return "in-compose"; + if (code == CodeSearchSupport.INEXPANSION) + return "in-expansion"; + if (code == CodeSearchSupport.INCOMPOSEOREXPANSION) + return "in-compose-or-expansion"; return "?"; } public String toSystem(CodeSearchSupport code) { @@ -149,6 +165,982 @@ public class TerminologyCapabilities extends CanonicalResource { } } + public enum CommonLanguages { + /** + * + */ + AR, + /** + * + */ + BN, + /** + * + */ + CS, + /** + * + */ + DA, + /** + * + */ + DE, + /** + * + */ + DEAT, + /** + * + */ + DECH, + /** + * + */ + DEDE, + /** + * + */ + EL, + /** + * + */ + EN, + /** + * + */ + ENAU, + /** + * + */ + ENCA, + /** + * + */ + ENGB, + /** + * + */ + ENIN, + /** + * + */ + ENNZ, + /** + * + */ + ENSG, + /** + * + */ + ENUS, + /** + * + */ + ES, + /** + * + */ + ESAR, + /** + * + */ + ESES, + /** + * + */ + ESUY, + /** + * + */ + FI, + /** + * + */ + FR, + /** + * + */ + FRBE, + /** + * + */ + FRCH, + /** + * + */ + FRFR, + /** + * + */ + FRCA, + /** + * + */ + FY, + /** + * + */ + FYNL, + /** + * + */ + HI, + /** + * + */ + HR, + /** + * + */ + IT, + /** + * + */ + ITCH, + /** + * + */ + ITIT, + /** + * + */ + JA, + /** + * + */ + KO, + /** + * + */ + NL, + /** + * + */ + NLBE, + /** + * + */ + NLNL, + /** + * + */ + NO, + /** + * + */ + NONO, + /** + * + */ + PA, + /** + * + */ + PL, + /** + * + */ + PT, + /** + * + */ + PTBR, + /** + * + */ + RU, + /** + * + */ + RURU, + /** + * + */ + SR, + /** + * + */ + SRRS, + /** + * + */ + SV, + /** + * + */ + SVSE, + /** + * + */ + TE, + /** + * + */ + ZH, + /** + * + */ + ZHCN, + /** + * + */ + ZHHK, + /** + * + */ + ZHSG, + /** + * + */ + ZHTW, + /** + * added to help the parsers with the generic types + */ + NULL; + public static CommonLanguages fromCode(String codeString) throws FHIRException { + if (codeString == null || "".equals(codeString)) + return null; + if ("ar".equals(codeString)) + return AR; + if ("bn".equals(codeString)) + return BN; + if ("cs".equals(codeString)) + return CS; + if ("da".equals(codeString)) + return DA; + if ("de".equals(codeString)) + return DE; + if ("de-AT".equals(codeString)) + return DEAT; + if ("de-CH".equals(codeString)) + return DECH; + if ("de-DE".equals(codeString)) + return DEDE; + if ("el".equals(codeString)) + return EL; + if ("en".equals(codeString)) + return EN; + if ("en-AU".equals(codeString)) + return ENAU; + if ("en-CA".equals(codeString)) + return ENCA; + if ("en-GB".equals(codeString)) + return ENGB; + if ("en-IN".equals(codeString)) + return ENIN; + if ("en-NZ".equals(codeString)) + return ENNZ; + if ("en-SG".equals(codeString)) + return ENSG; + if ("en-US".equals(codeString)) + return ENUS; + if ("es".equals(codeString)) + return ES; + if ("es-AR".equals(codeString)) + return ESAR; + if ("es-ES".equals(codeString)) + return ESES; + if ("es-UY".equals(codeString)) + return ESUY; + if ("fi".equals(codeString)) + return FI; + if ("fr".equals(codeString)) + return FR; + if ("fr-BE".equals(codeString)) + return FRBE; + if ("fr-CH".equals(codeString)) + return FRCH; + if ("fr-FR".equals(codeString)) + return FRFR; + if ("fr-CA".equals(codeString)) + return FRCA; + if ("fy".equals(codeString)) + return FY; + if ("fy-NL".equals(codeString)) + return FYNL; + if ("hi".equals(codeString)) + return HI; + if ("hr".equals(codeString)) + return HR; + if ("it".equals(codeString)) + return IT; + if ("it-CH".equals(codeString)) + return ITCH; + if ("it-IT".equals(codeString)) + return ITIT; + if ("ja".equals(codeString)) + return JA; + if ("ko".equals(codeString)) + return KO; + if ("nl".equals(codeString)) + return NL; + if ("nl-BE".equals(codeString)) + return NLBE; + if ("nl-NL".equals(codeString)) + return NLNL; + if ("no".equals(codeString)) + return NO; + if ("no-NO".equals(codeString)) + return NONO; + if ("pa".equals(codeString)) + return PA; + if ("pl".equals(codeString)) + return PL; + if ("pt".equals(codeString)) + return PT; + if ("pt-BR".equals(codeString)) + return PTBR; + if ("ru".equals(codeString)) + return RU; + if ("ru-RU".equals(codeString)) + return RURU; + if ("sr".equals(codeString)) + return SR; + if ("sr-RS".equals(codeString)) + return SRRS; + if ("sv".equals(codeString)) + return SV; + if ("sv-SE".equals(codeString)) + return SVSE; + if ("te".equals(codeString)) + return TE; + if ("zh".equals(codeString)) + return ZH; + if ("zh-CN".equals(codeString)) + return ZHCN; + if ("zh-HK".equals(codeString)) + return ZHHK; + if ("zh-SG".equals(codeString)) + return ZHSG; + if ("zh-TW".equals(codeString)) + return ZHTW; + if (Configuration.isAcceptInvalidEnums()) + return null; + else + throw new FHIRException("Unknown CommonLanguages code '"+codeString+"'"); + } + public String toCode() { + switch (this) { + case AR: return "ar"; + case BN: return "bn"; + case CS: return "cs"; + case DA: return "da"; + case DE: return "de"; + case DEAT: return "de-AT"; + case DECH: return "de-CH"; + case DEDE: return "de-DE"; + case EL: return "el"; + case EN: return "en"; + case ENAU: return "en-AU"; + case ENCA: return "en-CA"; + case ENGB: return "en-GB"; + case ENIN: return "en-IN"; + case ENNZ: return "en-NZ"; + case ENSG: return "en-SG"; + case ENUS: return "en-US"; + case ES: return "es"; + case ESAR: return "es-AR"; + case ESES: return "es-ES"; + case ESUY: return "es-UY"; + case FI: return "fi"; + case FR: return "fr"; + case FRBE: return "fr-BE"; + case FRCH: return "fr-CH"; + case FRFR: return "fr-FR"; + case FRCA: return "fr-CA"; + case FY: return "fy"; + case FYNL: return "fy-NL"; + case HI: return "hi"; + case HR: return "hr"; + case IT: return "it"; + case ITCH: return "it-CH"; + case ITIT: return "it-IT"; + case JA: return "ja"; + case KO: return "ko"; + case NL: return "nl"; + case NLBE: return "nl-BE"; + case NLNL: return "nl-NL"; + case NO: return "no"; + case NONO: return "no-NO"; + case PA: return "pa"; + case PL: return "pl"; + case PT: return "pt"; + case PTBR: return "pt-BR"; + case RU: return "ru"; + case RURU: return "ru-RU"; + case SR: return "sr"; + case SRRS: return "sr-RS"; + case SV: return "sv"; + case SVSE: return "sv-SE"; + case TE: return "te"; + case ZH: return "zh"; + case ZHCN: return "zh-CN"; + case ZHHK: return "zh-HK"; + case ZHSG: return "zh-SG"; + case ZHTW: return "zh-TW"; + case NULL: return null; + default: return "?"; + } + } + public String getSystem() { + switch (this) { + case AR: return "urn:ietf:bcp:47"; + case BN: return "urn:ietf:bcp:47"; + case CS: return "urn:ietf:bcp:47"; + case DA: return "urn:ietf:bcp:47"; + case DE: return "urn:ietf:bcp:47"; + case DEAT: return "urn:ietf:bcp:47"; + case DECH: return "urn:ietf:bcp:47"; + case DEDE: return "urn:ietf:bcp:47"; + case EL: return "urn:ietf:bcp:47"; + case EN: return "urn:ietf:bcp:47"; + case ENAU: return "urn:ietf:bcp:47"; + case ENCA: return "urn:ietf:bcp:47"; + case ENGB: return "urn:ietf:bcp:47"; + case ENIN: return "urn:ietf:bcp:47"; + case ENNZ: return "urn:ietf:bcp:47"; + case ENSG: return "urn:ietf:bcp:47"; + case ENUS: return "urn:ietf:bcp:47"; + case ES: return "urn:ietf:bcp:47"; + case ESAR: return "urn:ietf:bcp:47"; + case ESES: return "urn:ietf:bcp:47"; + case ESUY: return "urn:ietf:bcp:47"; + case FI: return "urn:ietf:bcp:47"; + case FR: return "urn:ietf:bcp:47"; + case FRBE: return "urn:ietf:bcp:47"; + case FRCH: return "urn:ietf:bcp:47"; + case FRFR: return "urn:ietf:bcp:47"; + case FRCA: return "urn:ietf:bcp:47"; + case FY: return "urn:ietf:bcp:47"; + case FYNL: return "urn:ietf:bcp:47"; + case HI: return "urn:ietf:bcp:47"; + case HR: return "urn:ietf:bcp:47"; + case IT: return "urn:ietf:bcp:47"; + case ITCH: return "urn:ietf:bcp:47"; + case ITIT: return "urn:ietf:bcp:47"; + case JA: return "urn:ietf:bcp:47"; + case KO: return "urn:ietf:bcp:47"; + case NL: return "urn:ietf:bcp:47"; + case NLBE: return "urn:ietf:bcp:47"; + case NLNL: return "urn:ietf:bcp:47"; + case NO: return "urn:ietf:bcp:47"; + case NONO: return "urn:ietf:bcp:47"; + case PA: return "urn:ietf:bcp:47"; + case PL: return "urn:ietf:bcp:47"; + case PT: return "urn:ietf:bcp:47"; + case PTBR: return "urn:ietf:bcp:47"; + case RU: return "urn:ietf:bcp:47"; + case RURU: return "urn:ietf:bcp:47"; + case SR: return "urn:ietf:bcp:47"; + case SRRS: return "urn:ietf:bcp:47"; + case SV: return "urn:ietf:bcp:47"; + case SVSE: return "urn:ietf:bcp:47"; + case TE: return "urn:ietf:bcp:47"; + case ZH: return "urn:ietf:bcp:47"; + case ZHCN: return "urn:ietf:bcp:47"; + case ZHHK: return "urn:ietf:bcp:47"; + case ZHSG: return "urn:ietf:bcp:47"; + case ZHTW: return "urn:ietf:bcp:47"; + case NULL: return null; + default: return "?"; + } + } + public String getDefinition() { + switch (this) { + case AR: return ""; + case BN: return ""; + case CS: return ""; + case DA: return ""; + case DE: return ""; + case DEAT: return ""; + case DECH: return ""; + case DEDE: return ""; + case EL: return ""; + case EN: return ""; + case ENAU: return ""; + case ENCA: return ""; + case ENGB: return ""; + case ENIN: return ""; + case ENNZ: return ""; + case ENSG: return ""; + case ENUS: return ""; + case ES: return ""; + case ESAR: return ""; + case ESES: return ""; + case ESUY: return ""; + case FI: return ""; + case FR: return ""; + case FRBE: return ""; + case FRCH: return ""; + case FRFR: return ""; + case FRCA: return ""; + case FY: return ""; + case FYNL: return ""; + case HI: return ""; + case HR: return ""; + case IT: return ""; + case ITCH: return ""; + case ITIT: return ""; + case JA: return ""; + case KO: return ""; + case NL: return ""; + case NLBE: return ""; + case NLNL: return ""; + case NO: return ""; + case NONO: return ""; + case PA: return ""; + case PL: return ""; + case PT: return ""; + case PTBR: return ""; + case RU: return ""; + case RURU: return ""; + case SR: return ""; + case SRRS: return ""; + case SV: return ""; + case SVSE: return ""; + case TE: return ""; + case ZH: return ""; + case ZHCN: return ""; + case ZHHK: return ""; + case ZHSG: return ""; + case ZHTW: return ""; + case NULL: return null; + default: return "?"; + } + } + public String getDisplay() { + switch (this) { + case AR: return "Arabisk"; + case BN: return "Bengali"; + case CS: return "Czech"; + case DA: return "Danish"; + case DE: return "German"; + case DEAT: return "German (Austria)"; + case DECH: return "German (Switzerland)"; + case DEDE: return "German (Germany)"; + case EL: return "Greek"; + case EN: return "English"; + case ENAU: return "English (Australia)"; + case ENCA: return "English (Canada)"; + case ENGB: return "English (Great Britain)"; + case ENIN: return "English (India)"; + case ENNZ: return "English (New Zealand)"; + case ENSG: return "English (Singapore)"; + case ENUS: return "English (United States)"; + case ES: return "Spanish"; + case ESAR: return "Spanish (Argentina)"; + case ESES: return "Spanish (Spain)"; + case ESUY: return "Spanish (Uruguay)"; + case FI: return "Finnish"; + case FR: return "French"; + case FRBE: return "French (Belgium)"; + case FRCH: return "French (Switzerland)"; + case FRFR: return "French (France)"; + case FRCA: return "French (Canada)"; + case FY: return "Frysian"; + case FYNL: return "Frysian (Netherlands)"; + case HI: return "Hindi"; + case HR: return "Croatian"; + case IT: return "Italian"; + case ITCH: return "Italian (Switzerland)"; + case ITIT: return "Italian (Italy)"; + case JA: return "Japanese"; + case KO: return "Korean"; + case NL: return "Dutch"; + case NLBE: return "Dutch (Belgium)"; + case NLNL: return "Dutch (Netherlands)"; + case NO: return "Norwegian"; + case NONO: return "Norwegian (Norway)"; + case PA: return "Punjabi"; + case PL: return "Polskie"; + case PT: return "Portuguese"; + case PTBR: return "Portuguese (Brazil)"; + case RU: return "Russian"; + case RURU: return "Russian (Russia)"; + case SR: return "Serbian"; + case SRRS: return "Serbian (Serbia)"; + case SV: return "Swedish"; + case SVSE: return "Swedish (Sweden)"; + case TE: return "Telegu"; + case ZH: return "Chinese"; + case ZHCN: return "Chinese (China)"; + case ZHHK: return "Chinese (Hong Kong)"; + case ZHSG: return "Chinese (Singapore)"; + case ZHTW: return "Chinese (Taiwan)"; + case NULL: return null; + default: return "?"; + } + } + } + + public static class CommonLanguagesEnumFactory implements EnumFactory { + public CommonLanguages fromCode(String codeString) throws IllegalArgumentException { + if (codeString == null || "".equals(codeString)) + if (codeString == null || "".equals(codeString)) + return null; + if ("ar".equals(codeString)) + return CommonLanguages.AR; + if ("bn".equals(codeString)) + return CommonLanguages.BN; + if ("cs".equals(codeString)) + return CommonLanguages.CS; + if ("da".equals(codeString)) + return CommonLanguages.DA; + if ("de".equals(codeString)) + return CommonLanguages.DE; + if ("de-AT".equals(codeString)) + return CommonLanguages.DEAT; + if ("de-CH".equals(codeString)) + return CommonLanguages.DECH; + if ("de-DE".equals(codeString)) + return CommonLanguages.DEDE; + if ("el".equals(codeString)) + return CommonLanguages.EL; + if ("en".equals(codeString)) + return CommonLanguages.EN; + if ("en-AU".equals(codeString)) + return CommonLanguages.ENAU; + if ("en-CA".equals(codeString)) + return CommonLanguages.ENCA; + if ("en-GB".equals(codeString)) + return CommonLanguages.ENGB; + if ("en-IN".equals(codeString)) + return CommonLanguages.ENIN; + if ("en-NZ".equals(codeString)) + return CommonLanguages.ENNZ; + if ("en-SG".equals(codeString)) + return CommonLanguages.ENSG; + if ("en-US".equals(codeString)) + return CommonLanguages.ENUS; + if ("es".equals(codeString)) + return CommonLanguages.ES; + if ("es-AR".equals(codeString)) + return CommonLanguages.ESAR; + if ("es-ES".equals(codeString)) + return CommonLanguages.ESES; + if ("es-UY".equals(codeString)) + return CommonLanguages.ESUY; + if ("fi".equals(codeString)) + return CommonLanguages.FI; + if ("fr".equals(codeString)) + return CommonLanguages.FR; + if ("fr-BE".equals(codeString)) + return CommonLanguages.FRBE; + if ("fr-CH".equals(codeString)) + return CommonLanguages.FRCH; + if ("fr-FR".equals(codeString)) + return CommonLanguages.FRFR; + if ("fr-CA".equals(codeString)) + return CommonLanguages.FRCA; + if ("fy".equals(codeString)) + return CommonLanguages.FY; + if ("fy-NL".equals(codeString)) + return CommonLanguages.FYNL; + if ("hi".equals(codeString)) + return CommonLanguages.HI; + if ("hr".equals(codeString)) + return CommonLanguages.HR; + if ("it".equals(codeString)) + return CommonLanguages.IT; + if ("it-CH".equals(codeString)) + return CommonLanguages.ITCH; + if ("it-IT".equals(codeString)) + return CommonLanguages.ITIT; + if ("ja".equals(codeString)) + return CommonLanguages.JA; + if ("ko".equals(codeString)) + return CommonLanguages.KO; + if ("nl".equals(codeString)) + return CommonLanguages.NL; + if ("nl-BE".equals(codeString)) + return CommonLanguages.NLBE; + if ("nl-NL".equals(codeString)) + return CommonLanguages.NLNL; + if ("no".equals(codeString)) + return CommonLanguages.NO; + if ("no-NO".equals(codeString)) + return CommonLanguages.NONO; + if ("pa".equals(codeString)) + return CommonLanguages.PA; + if ("pl".equals(codeString)) + return CommonLanguages.PL; + if ("pt".equals(codeString)) + return CommonLanguages.PT; + if ("pt-BR".equals(codeString)) + return CommonLanguages.PTBR; + if ("ru".equals(codeString)) + return CommonLanguages.RU; + if ("ru-RU".equals(codeString)) + return CommonLanguages.RURU; + if ("sr".equals(codeString)) + return CommonLanguages.SR; + if ("sr-RS".equals(codeString)) + return CommonLanguages.SRRS; + if ("sv".equals(codeString)) + return CommonLanguages.SV; + if ("sv-SE".equals(codeString)) + return CommonLanguages.SVSE; + if ("te".equals(codeString)) + return CommonLanguages.TE; + if ("zh".equals(codeString)) + return CommonLanguages.ZH; + if ("zh-CN".equals(codeString)) + return CommonLanguages.ZHCN; + if ("zh-HK".equals(codeString)) + return CommonLanguages.ZHHK; + if ("zh-SG".equals(codeString)) + return CommonLanguages.ZHSG; + if ("zh-TW".equals(codeString)) + return CommonLanguages.ZHTW; + throw new IllegalArgumentException("Unknown CommonLanguages code '"+codeString+"'"); + } + public Enumeration fromType(Base code) throws FHIRException { + if (code == null) + return null; + if (code.isEmpty()) + return new Enumeration(this); + String codeString = ((PrimitiveType) code).asStringValue(); + if (codeString == null || "".equals(codeString)) + return null; + if ("ar".equals(codeString)) + return new Enumeration(this, CommonLanguages.AR); + if ("bn".equals(codeString)) + return new Enumeration(this, CommonLanguages.BN); + if ("cs".equals(codeString)) + return new Enumeration(this, CommonLanguages.CS); + if ("da".equals(codeString)) + return new Enumeration(this, CommonLanguages.DA); + if ("de".equals(codeString)) + return new Enumeration(this, CommonLanguages.DE); + if ("de-AT".equals(codeString)) + return new Enumeration(this, CommonLanguages.DEAT); + if ("de-CH".equals(codeString)) + return new Enumeration(this, CommonLanguages.DECH); + if ("de-DE".equals(codeString)) + return new Enumeration(this, CommonLanguages.DEDE); + if ("el".equals(codeString)) + return new Enumeration(this, CommonLanguages.EL); + if ("en".equals(codeString)) + return new Enumeration(this, CommonLanguages.EN); + if ("en-AU".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENAU); + if ("en-CA".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENCA); + if ("en-GB".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENGB); + if ("en-IN".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENIN); + if ("en-NZ".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENNZ); + if ("en-SG".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENSG); + if ("en-US".equals(codeString)) + return new Enumeration(this, CommonLanguages.ENUS); + if ("es".equals(codeString)) + return new Enumeration(this, CommonLanguages.ES); + if ("es-AR".equals(codeString)) + return new Enumeration(this, CommonLanguages.ESAR); + if ("es-ES".equals(codeString)) + return new Enumeration(this, CommonLanguages.ESES); + if ("es-UY".equals(codeString)) + return new Enumeration(this, CommonLanguages.ESUY); + if ("fi".equals(codeString)) + return new Enumeration(this, CommonLanguages.FI); + if ("fr".equals(codeString)) + return new Enumeration(this, CommonLanguages.FR); + if ("fr-BE".equals(codeString)) + return new Enumeration(this, CommonLanguages.FRBE); + if ("fr-CH".equals(codeString)) + return new Enumeration(this, CommonLanguages.FRCH); + if ("fr-FR".equals(codeString)) + return new Enumeration(this, CommonLanguages.FRFR); + if ("fr-CA".equals(codeString)) + return new Enumeration(this, CommonLanguages.FRCA); + if ("fy".equals(codeString)) + return new Enumeration(this, CommonLanguages.FY); + if ("fy-NL".equals(codeString)) + return new Enumeration(this, CommonLanguages.FYNL); + if ("hi".equals(codeString)) + return new Enumeration(this, CommonLanguages.HI); + if ("hr".equals(codeString)) + return new Enumeration(this, CommonLanguages.HR); + if ("it".equals(codeString)) + return new Enumeration(this, CommonLanguages.IT); + if ("it-CH".equals(codeString)) + return new Enumeration(this, CommonLanguages.ITCH); + if ("it-IT".equals(codeString)) + return new Enumeration(this, CommonLanguages.ITIT); + if ("ja".equals(codeString)) + return new Enumeration(this, CommonLanguages.JA); + if ("ko".equals(codeString)) + return new Enumeration(this, CommonLanguages.KO); + if ("nl".equals(codeString)) + return new Enumeration(this, CommonLanguages.NL); + if ("nl-BE".equals(codeString)) + return new Enumeration(this, CommonLanguages.NLBE); + if ("nl-NL".equals(codeString)) + return new Enumeration(this, CommonLanguages.NLNL); + if ("no".equals(codeString)) + return new Enumeration(this, CommonLanguages.NO); + if ("no-NO".equals(codeString)) + return new Enumeration(this, CommonLanguages.NONO); + if ("pa".equals(codeString)) + return new Enumeration(this, CommonLanguages.PA); + if ("pl".equals(codeString)) + return new Enumeration(this, CommonLanguages.PL); + if ("pt".equals(codeString)) + return new Enumeration(this, CommonLanguages.PT); + if ("pt-BR".equals(codeString)) + return new Enumeration(this, CommonLanguages.PTBR); + if ("ru".equals(codeString)) + return new Enumeration(this, CommonLanguages.RU); + if ("ru-RU".equals(codeString)) + return new Enumeration(this, CommonLanguages.RURU); + if ("sr".equals(codeString)) + return new Enumeration(this, CommonLanguages.SR); + if ("sr-RS".equals(codeString)) + return new Enumeration(this, CommonLanguages.SRRS); + if ("sv".equals(codeString)) + return new Enumeration(this, CommonLanguages.SV); + if ("sv-SE".equals(codeString)) + return new Enumeration(this, CommonLanguages.SVSE); + if ("te".equals(codeString)) + return new Enumeration(this, CommonLanguages.TE); + if ("zh".equals(codeString)) + return new Enumeration(this, CommonLanguages.ZH); + if ("zh-CN".equals(codeString)) + return new Enumeration(this, CommonLanguages.ZHCN); + if ("zh-HK".equals(codeString)) + return new Enumeration(this, CommonLanguages.ZHHK); + if ("zh-SG".equals(codeString)) + return new Enumeration(this, CommonLanguages.ZHSG); + if ("zh-TW".equals(codeString)) + return new Enumeration(this, CommonLanguages.ZHTW); + throw new FHIRException("Unknown CommonLanguages code '"+codeString+"'"); + } + public String toCode(CommonLanguages code) { + if (code == CommonLanguages.AR) + return "ar"; + if (code == CommonLanguages.BN) + return "bn"; + if (code == CommonLanguages.CS) + return "cs"; + if (code == CommonLanguages.DA) + return "da"; + if (code == CommonLanguages.DE) + return "de"; + if (code == CommonLanguages.DEAT) + return "de-AT"; + if (code == CommonLanguages.DECH) + return "de-CH"; + if (code == CommonLanguages.DEDE) + return "de-DE"; + if (code == CommonLanguages.EL) + return "el"; + if (code == CommonLanguages.EN) + return "en"; + if (code == CommonLanguages.ENAU) + return "en-AU"; + if (code == CommonLanguages.ENCA) + return "en-CA"; + if (code == CommonLanguages.ENGB) + return "en-GB"; + if (code == CommonLanguages.ENIN) + return "en-IN"; + if (code == CommonLanguages.ENNZ) + return "en-NZ"; + if (code == CommonLanguages.ENSG) + return "en-SG"; + if (code == CommonLanguages.ENUS) + return "en-US"; + if (code == CommonLanguages.ES) + return "es"; + if (code == CommonLanguages.ESAR) + return "es-AR"; + if (code == CommonLanguages.ESES) + return "es-ES"; + if (code == CommonLanguages.ESUY) + return "es-UY"; + if (code == CommonLanguages.FI) + return "fi"; + if (code == CommonLanguages.FR) + return "fr"; + if (code == CommonLanguages.FRBE) + return "fr-BE"; + if (code == CommonLanguages.FRCH) + return "fr-CH"; + if (code == CommonLanguages.FRFR) + return "fr-FR"; + if (code == CommonLanguages.FRCA) + return "fr-CA"; + if (code == CommonLanguages.FY) + return "fy"; + if (code == CommonLanguages.FYNL) + return "fy-NL"; + if (code == CommonLanguages.HI) + return "hi"; + if (code == CommonLanguages.HR) + return "hr"; + if (code == CommonLanguages.IT) + return "it"; + if (code == CommonLanguages.ITCH) + return "it-CH"; + if (code == CommonLanguages.ITIT) + return "it-IT"; + if (code == CommonLanguages.JA) + return "ja"; + if (code == CommonLanguages.KO) + return "ko"; + if (code == CommonLanguages.NL) + return "nl"; + if (code == CommonLanguages.NLBE) + return "nl-BE"; + if (code == CommonLanguages.NLNL) + return "nl-NL"; + if (code == CommonLanguages.NO) + return "no"; + if (code == CommonLanguages.NONO) + return "no-NO"; + if (code == CommonLanguages.PA) + return "pa"; + if (code == CommonLanguages.PL) + return "pl"; + if (code == CommonLanguages.PT) + return "pt"; + if (code == CommonLanguages.PTBR) + return "pt-BR"; + if (code == CommonLanguages.RU) + return "ru"; + if (code == CommonLanguages.RURU) + return "ru-RU"; + if (code == CommonLanguages.SR) + return "sr"; + if (code == CommonLanguages.SRRS) + return "sr-RS"; + if (code == CommonLanguages.SV) + return "sv"; + if (code == CommonLanguages.SVSE) + return "sv-SE"; + if (code == CommonLanguages.TE) + return "te"; + if (code == CommonLanguages.ZH) + return "zh"; + if (code == CommonLanguages.ZHCN) + return "zh-CN"; + if (code == CommonLanguages.ZHHK) + return "zh-HK"; + if (code == CommonLanguages.ZHSG) + return "zh-SG"; + if (code == CommonLanguages.ZHTW) + return "zh-TW"; + return "?"; + } + public String toSystem(CommonLanguages code) { + return code.getSystem(); + } + } + @Block() public static class TerminologyCapabilitiesSoftwareComponent extends BackboneElement implements IBaseBackboneElement { /** @@ -671,14 +1663,22 @@ public class TerminologyCapabilities extends CanonicalResource { @Description(shortDefinition="Version of Code System supported", formalDefinition="For the code system, a list of versions that are supported by the server." ) protected List version; + /** + * The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. + */ + @Child(name = "content", type = {CodeType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Description(shortDefinition="not-present | example | fragment | complete | supplement", formalDefinition="The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/codesystem-content-mode") + protected CodeType content; + /** * True if subsumption is supported for this version of the code system. */ - @Child(name = "subsumption", type = {BooleanType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "subsumption", type = {BooleanType.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Whether subsumption is supported", formalDefinition="True if subsumption is supported for this version of the code system." ) protected BooleanType subsumption; - private static final long serialVersionUID = -1593622817L; + private static final long serialVersionUID = 177402405L; /** * Constructor @@ -687,6 +1687,14 @@ public class TerminologyCapabilities extends CanonicalResource { super(); } + /** + * Constructor + */ + public TerminologyCapabilitiesCodeSystemComponent(String content) { + super(); + this.setContent(content); + } + /** * @return {@link #uri} (Canonical identifier for the code system, represented as a URI.). This is the underlying object with id, value and extensions. The accessor "getUri" gives direct access to the value */ @@ -789,6 +1797,51 @@ public class TerminologyCapabilities extends CanonicalResource { return getVersion().get(0); } + /** + * @return {@link #content} (The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.). This is the underlying object with id, value and extensions. The accessor "getContent" gives direct access to the value + */ + public CodeType getContentElement() { + if (this.content == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create TerminologyCapabilitiesCodeSystemComponent.content"); + else if (Configuration.doAutoCreate()) + this.content = new CodeType(); // bb + return this.content; + } + + public boolean hasContentElement() { + return this.content != null && !this.content.isEmpty(); + } + + public boolean hasContent() { + return this.content != null && !this.content.isEmpty(); + } + + /** + * @param value {@link #content} (The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.). This is the underlying object with id, value and extensions. The accessor "getContent" gives direct access to the value + */ + public TerminologyCapabilitiesCodeSystemComponent setContentElement(CodeType value) { + this.content = value; + return this; + } + + /** + * @return The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. + */ + public String getContent() { + return this.content == null ? null : this.content.getValue(); + } + + /** + * @param value The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance. + */ + public TerminologyCapabilitiesCodeSystemComponent setContent(String value) { + if (this.content == null) + this.content = new CodeType(); + this.content.setValue(value); + return this; + } + /** * @return {@link #subsumption} (True if subsumption is supported for this version of the code system.). This is the underlying object with id, value and extensions. The accessor "getSubsumption" gives direct access to the value */ @@ -838,6 +1891,7 @@ public class TerminologyCapabilities extends CanonicalResource { super.listChildren(children); children.add(new Property("uri", "canonical(CodeSystem)", "Canonical identifier for the code system, represented as a URI.", 0, 1, uri)); children.add(new Property("version", "", "For the code system, a list of versions that are supported by the server.", 0, java.lang.Integer.MAX_VALUE, version)); + children.add(new Property("content", "code", "The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.", 0, 1, content)); children.add(new Property("subsumption", "boolean", "True if subsumption is supported for this version of the code system.", 0, 1, subsumption)); } @@ -846,6 +1900,7 @@ public class TerminologyCapabilities extends CanonicalResource { switch (_hash) { case 116076: /*uri*/ return new Property("uri", "canonical(CodeSystem)", "Canonical identifier for the code system, represented as a URI.", 0, 1, uri); case 351608024: /*version*/ return new Property("version", "", "For the code system, a list of versions that are supported by the server.", 0, java.lang.Integer.MAX_VALUE, version); + case 951530617: /*content*/ return new Property("content", "code", "The extent of the content of the code system (the concepts and codes it defines) are represented in this resource instance.", 0, 1, content); case -499084711: /*subsumption*/ return new Property("subsumption", "boolean", "True if subsumption is supported for this version of the code system.", 0, 1, subsumption); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -857,6 +1912,7 @@ public class TerminologyCapabilities extends CanonicalResource { switch (hash) { case 116076: /*uri*/ return this.uri == null ? new Base[0] : new Base[] {this.uri}; // CanonicalType case 351608024: /*version*/ return this.version == null ? new Base[0] : this.version.toArray(new Base[this.version.size()]); // TerminologyCapabilitiesCodeSystemVersionComponent + case 951530617: /*content*/ return this.content == null ? new Base[0] : new Base[] {this.content}; // CodeType case -499084711: /*subsumption*/ return this.subsumption == null ? new Base[0] : new Base[] {this.subsumption}; // BooleanType default: return super.getProperty(hash, name, checkValid); } @@ -872,6 +1928,9 @@ public class TerminologyCapabilities extends CanonicalResource { case 351608024: // version this.getVersion().add((TerminologyCapabilitiesCodeSystemVersionComponent) value); // TerminologyCapabilitiesCodeSystemVersionComponent return value; + case 951530617: // content + this.content = TypeConvertor.castToCode(value); // CodeType + return value; case -499084711: // subsumption this.subsumption = TypeConvertor.castToBoolean(value); // BooleanType return value; @@ -886,6 +1945,8 @@ public class TerminologyCapabilities extends CanonicalResource { this.uri = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("version")) { this.getVersion().add((TerminologyCapabilitiesCodeSystemVersionComponent) value); + } else if (name.equals("content")) { + this.content = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("subsumption")) { this.subsumption = TypeConvertor.castToBoolean(value); // BooleanType } else @@ -898,6 +1959,7 @@ public class TerminologyCapabilities extends CanonicalResource { switch (hash) { case 116076: return getUriElement(); case 351608024: return addVersion(); + case 951530617: return getContentElement(); case -499084711: return getSubsumptionElement(); default: return super.makeProperty(hash, name); } @@ -909,6 +1971,7 @@ public class TerminologyCapabilities extends CanonicalResource { switch (hash) { case 116076: /*uri*/ return new String[] {"canonical"}; case 351608024: /*version*/ return new String[] {}; + case 951530617: /*content*/ return new String[] {"code"}; case -499084711: /*subsumption*/ return new String[] {"boolean"}; default: return super.getTypesForProperty(hash, name); } @@ -923,6 +1986,9 @@ public class TerminologyCapabilities extends CanonicalResource { else if (name.equals("version")) { return addVersion(); } + else if (name.equals("content")) { + throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.content"); + } else if (name.equals("subsumption")) { throw new FHIRException("Cannot call addChild on a primitive type TerminologyCapabilities.codeSystem.subsumption"); } @@ -944,6 +2010,7 @@ public class TerminologyCapabilities extends CanonicalResource { for (TerminologyCapabilitiesCodeSystemVersionComponent i : version) dst.version.add(i.copy()); }; + dst.content = content == null ? null : content.copy(); dst.subsumption = subsumption == null ? null : subsumption.copy(); } @@ -954,8 +2021,8 @@ public class TerminologyCapabilities extends CanonicalResource { if (!(other_ instanceof TerminologyCapabilitiesCodeSystemComponent)) return false; TerminologyCapabilitiesCodeSystemComponent o = (TerminologyCapabilitiesCodeSystemComponent) other_; - return compareDeep(uri, o.uri, true) && compareDeep(version, o.version, true) && compareDeep(subsumption, o.subsumption, true) - ; + return compareDeep(uri, o.uri, true) && compareDeep(version, o.version, true) && compareDeep(content, o.content, true) + && compareDeep(subsumption, o.subsumption, true); } @Override @@ -965,11 +2032,12 @@ public class TerminologyCapabilities extends CanonicalResource { if (!(other_ instanceof TerminologyCapabilitiesCodeSystemComponent)) return false; TerminologyCapabilitiesCodeSystemComponent o = (TerminologyCapabilitiesCodeSystemComponent) other_; - return compareValues(uri, o.uri, true) && compareValues(subsumption, o.subsumption, true); + return compareValues(uri, o.uri, true) && compareValues(content, o.content, true) && compareValues(subsumption, o.subsumption, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uri, version, subsumption + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(uri, version, content, subsumption ); } @@ -1008,7 +2076,8 @@ public class TerminologyCapabilities extends CanonicalResource { */ @Child(name = "language", type = {CodeType.class}, order=4, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Language Displays supported", formalDefinition="Language Displays supported." ) - protected List language; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/languages") + protected List> language; /** * Filter Properties supported. @@ -1024,7 +2093,7 @@ public class TerminologyCapabilities extends CanonicalResource { @Description(shortDefinition="Properties supported for $lookup", formalDefinition="Properties supported for $lookup." ) protected List property; - private static final long serialVersionUID = 1857571343L; + private static final long serialVersionUID = 658198795L; /** * Constructor @@ -1175,16 +2244,16 @@ public class TerminologyCapabilities extends CanonicalResource { /** * @return {@link #language} (Language Displays supported.) */ - public List getLanguage() { + public List> getLanguage() { if (this.language == null) - this.language = new ArrayList(); + this.language = new ArrayList>(); return this.language; } /** * @return Returns a reference to this for easy method chaining */ - public TerminologyCapabilitiesCodeSystemVersionComponent setLanguage(List theLanguage) { + public TerminologyCapabilitiesCodeSystemVersionComponent setLanguage(List> theLanguage) { this.language = theLanguage; return this; } @@ -1192,7 +2261,7 @@ public class TerminologyCapabilities extends CanonicalResource { public boolean hasLanguage() { if (this.language == null) return false; - for (CodeType item : this.language) + for (Enumeration item : this.language) if (!item.isEmpty()) return true; return false; @@ -1201,10 +2270,10 @@ public class TerminologyCapabilities extends CanonicalResource { /** * @return {@link #language} (Language Displays supported.) */ - public CodeType addLanguageElement() {//2 - CodeType t = new CodeType(); + public Enumeration addLanguageElement() {//2 + Enumeration t = new Enumeration(new CommonLanguagesEnumFactory()); if (this.language == null) - this.language = new ArrayList(); + this.language = new ArrayList>(); this.language.add(t); return t; } @@ -1212,11 +2281,11 @@ public class TerminologyCapabilities extends CanonicalResource { /** * @param value {@link #language} (Language Displays supported.) */ - public TerminologyCapabilitiesCodeSystemVersionComponent addLanguage(String value) { //1 - CodeType t = new CodeType(); + public TerminologyCapabilitiesCodeSystemVersionComponent addLanguage(CommonLanguages value) { //1 + Enumeration t = new Enumeration(new CommonLanguagesEnumFactory()); t.setValue(value); if (this.language == null) - this.language = new ArrayList(); + this.language = new ArrayList>(); this.language.add(t); return this; } @@ -1224,10 +2293,10 @@ public class TerminologyCapabilities extends CanonicalResource { /** * @param value {@link #language} (Language Displays supported.) */ - public boolean hasLanguage(String value) { + public boolean hasLanguage(CommonLanguages value) { if (this.language == null) return false; - for (CodeType v : this.language) + for (Enumeration v : this.language) if (v.getValue().equals(value)) // code return true; return false; @@ -1377,7 +2446,7 @@ public class TerminologyCapabilities extends CanonicalResource { case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // StringType case 965025207: /*isDefault*/ return this.isDefault == null ? new Base[0] : new Base[] {this.isDefault}; // BooleanType case 1248023381: /*compositional*/ return this.compositional == null ? new Base[0] : new Base[] {this.compositional}; // BooleanType - case -1613589672: /*language*/ return this.language == null ? new Base[0] : this.language.toArray(new Base[this.language.size()]); // CodeType + case -1613589672: /*language*/ return this.language == null ? new Base[0] : this.language.toArray(new Base[this.language.size()]); // Enumeration case -1274492040: /*filter*/ return this.filter == null ? new Base[0] : this.filter.toArray(new Base[this.filter.size()]); // TerminologyCapabilitiesCodeSystemVersionFilterComponent case -993141291: /*property*/ return this.property == null ? new Base[0] : this.property.toArray(new Base[this.property.size()]); // CodeType default: return super.getProperty(hash, name, checkValid); @@ -1398,7 +2467,8 @@ public class TerminologyCapabilities extends CanonicalResource { this.compositional = TypeConvertor.castToBoolean(value); // BooleanType return value; case -1613589672: // language - this.getLanguage().add(TypeConvertor.castToCode(value)); // CodeType + value = new CommonLanguagesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getLanguage().add((Enumeration) value); // Enumeration return value; case -1274492040: // filter this.getFilter().add((TerminologyCapabilitiesCodeSystemVersionFilterComponent) value); // TerminologyCapabilitiesCodeSystemVersionFilterComponent @@ -1420,7 +2490,8 @@ public class TerminologyCapabilities extends CanonicalResource { } else if (name.equals("compositional")) { this.compositional = TypeConvertor.castToBoolean(value); // BooleanType } else if (name.equals("language")) { - this.getLanguage().add(TypeConvertor.castToCode(value)); + value = new CommonLanguagesEnumFactory().fromType(TypeConvertor.castToCode(value)); + this.getLanguage().add((Enumeration) value); } else if (name.equals("filter")) { this.getFilter().add((TerminologyCapabilitiesCodeSystemVersionFilterComponent) value); } else if (name.equals("property")) { @@ -1494,8 +2565,8 @@ public class TerminologyCapabilities extends CanonicalResource { dst.isDefault = isDefault == null ? null : isDefault.copy(); dst.compositional = compositional == null ? null : compositional.copy(); if (language != null) { - dst.language = new ArrayList(); - for (CodeType i : language) + dst.language = new ArrayList>(); + for (Enumeration i : language) dst.language.add(i.copy()); }; if (filter != null) { @@ -3068,10 +4139,10 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. + * An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this terminology capabilities, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this terminology capabilities, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers." ) protected UriType url; /** @@ -3125,10 +4196,10 @@ public class TerminologyCapabilities extends CanonicalResource { protected DateTimeType date; /** - * The name of the organization or individual that published the terminology capabilities. + * The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities. */ @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the terminology capabilities." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities." ) protected StringType publisher; /** @@ -3221,7 +4292,7 @@ public class TerminologyCapabilities extends CanonicalResource { * The degree to which the server supports the code search parameter on ValueSet, if it is supported. */ @Child(name = "codeSearch", type = {CodeType.class}, order=21, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="explicit | all", formalDefinition="The degree to which the server supports the code search parameter on ValueSet, if it is supported." ) + @Description(shortDefinition="in-compose | in-expansion | in-compose-or-expansion", formalDefinition="The degree to which the server supports the code search parameter on ValueSet, if it is supported." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/code-search-support") protected Enumeration codeSearch; @@ -3266,7 +4337,7 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -3286,7 +4357,7 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public TerminologyCapabilities setUrlElement(UriType value) { this.url = value; @@ -3294,14 +4365,14 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. + * @return An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. + * @param value An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers. */ public TerminologyCapabilities setUrl(String value) { if (Utilities.noString(value)) @@ -3650,7 +4721,7 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -3670,7 +4741,7 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public TerminologyCapabilities setPublisherElement(StringType value) { this.publisher = value; @@ -3678,14 +4749,14 @@ public class TerminologyCapabilities extends CanonicalResource { } /** - * @return The name of the organization or individual that published the terminology capabilities. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the terminology capabilities. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities. */ public TerminologyCapabilities setPublisher(String value) { if (Utilities.noString(value)) @@ -4340,9 +5411,86 @@ public class TerminologyCapabilities extends CanonicalResource { return this; } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public TerminologyCapabilities setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public TerminologyCapabilities setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public TerminologyCapabilities setCopyrightLabel(String value) { + throw new Error("The resource type \"TerminologyCapabilities\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); children.add(new Property("name", "string", "A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); @@ -4350,7 +5498,7 @@ public class TerminologyCapabilities extends CanonicalResource { children.add(new Property("status", "code", "The status of this terminology capabilities. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the terminology capabilities was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the terminology capabilities changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the terminology capabilities.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate terminology capabilities instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -4372,7 +5520,7 @@ public class TerminologyCapabilities extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this terminology capabilities when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this terminology capabilities is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the terminology capabilities is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this terminology capabilities when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the terminology capabilities when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the terminology capabilities author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the terminology capabilities. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); @@ -4380,7 +5528,7 @@ public class TerminologyCapabilities extends CanonicalResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this terminology capabilities. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this terminology capabilities is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the terminology capabilities was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the terminology capabilities changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the terminology capabilities.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the terminology capabilities.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the terminology capabilities from a consumer's perspective. Typically, this is used when the capability statement describes a desired rather than an actual solution, for example as a formal expression of requirements as part of an RFP.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate terminology capabilities instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -5214,16 +6362,17 @@ public class TerminologyCapabilities extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -5233,13 +6382,14 @@ public class TerminologyCapabilities extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -5502,7 +6652,7 @@ public class TerminologyCapabilities extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -5518,7 +6668,7 @@ public class TerminologyCapabilities extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -5528,7 +6678,7 @@ public class TerminologyCapabilities extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestReport.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestReport.java index fa17f24ac..81a743a0b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestReport.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestReport.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestScript.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestScript.java index 3d64e156d..bbd8aff70 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestScript.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TestScript.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -645,3670 +645,6 @@ public class TestScript extends CanonicalResource { } } - public enum FHIRDefinedType { - /** - * An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world. - */ - ADDRESS, - /** - * A duration of time during which an organism (or a process) has existed. - */ - AGE, - /** - * A text note which also contains information about who made the statement and when. - */ - ANNOTATION, - /** - * For referring to data content defined in other formats. - */ - ATTACHMENT, - /** - * Base definition for all elements that are defined inside a resource - but not those in a data type. - */ - BACKBONEELEMENT, - /** - * Base definition for the few data types that are allowed to carry modifier extensions. - */ - BACKBONETYPE, - /** - * Base definition for all types defined in FHIR type system. - */ - BASE, - /** - * A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text. - */ - CODEABLECONCEPT, - /** - * A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class). - */ - CODEABLEREFERENCE, - /** - * A reference to a code defined by a terminology system. - */ - CODING, - /** - * Specifies contact information for a person or organization. - */ - CONTACTDETAIL, - /** - * Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc. - */ - CONTACTPOINT, - /** - * A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers. - */ - CONTRIBUTOR, - /** - * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. - */ - COUNT, - /** - * Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data. - */ - DATAREQUIREMENT, - /** - * The base class for all re-useable types defined as part of the FHIR Specification. - */ - DATATYPE, - /** - * A length - a value with a unit that is a physical distance. - */ - DISTANCE, - /** - * Indicates how the medication is/was taken or should be taken by the patient. - */ - DOSAGE, - /** - * A length of time. - */ - DURATION, - /** - * Base definition for all elements in a resource. - */ - ELEMENT, - /** - * Captures constraints on each element within the resource, profile, or extension. - */ - ELEMENTDEFINITION, - /** - * A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used. - */ - EXPRESSION, - /** - * Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization. - */ - EXTENDEDCONTACTDETAIL, - /** - * Optional Extension Element - found in all resources. - */ - EXTENSION, - /** - * A human's name with the ability to identify parts and usage. - */ - HUMANNAME, - /** - * An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers. - */ - IDENTIFIER, - /** - * The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available. - */ - MARKETINGSTATUS, - /** - * The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource. - */ - META, - /** - * An amount of economic utility in some recognized currency. - */ - MONEY, - /** - * - */ - MONEYQUANTITY, - /** - * A human-readable summary of the resource conveying the essential clinical and business information for the resource. - */ - NARRATIVE, - /** - * The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse. - */ - PARAMETERDEFINITION, - /** - * A time period defined by a start and end date and optionally time. - */ - PERIOD, - /** - * A populatioof people with some set of grouping criteria. - */ - POPULATION, - /** - * The base type for all re-useable types defined that have a simple property. - */ - PRIMITIVETYPE, - /** - * The shelf-life and storage information for a medicinal product item or container can be described using this class. - */ - PRODUCTSHELFLIFE, - /** - * A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies. - */ - QUANTITY, - /** - * A set of ordered Quantities defined by a low and high limit. - */ - RANGE, - /** - * A relationship of two Quantity values - expressed as a numerator and a denominator. - */ - RATIO, - /** - * A range of ratios expressed as a low and high numerator and a denominator. - */ - RATIORANGE, - /** - * A reference from one resource to another. - */ - REFERENCE, - /** - * Related artifacts such as additional documentation, justification, or bibliographic references. - */ - RELATEDARTIFACT, - /** - * A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data. - */ - SAMPLEDDATA, - /** - * A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities. - */ - SIGNATURE, - /** - * - */ - SIMPLEQUANTITY, - /** - * Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out. - */ - TIMING, - /** - * A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. - */ - TRIGGERDEFINITION, - /** - * Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care). - */ - USAGECONTEXT, - /** - * A stream of bytes - */ - BASE64BINARY, - /** - * Value of \"true\" or \"false\" - */ - BOOLEAN, - /** - * A URI that is a reference to a canonical URL on a FHIR resource - */ - CANONICAL, - /** - * A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents - */ - CODE, - /** - * A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates. - */ - DATE, - /** - * A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates. - */ - DATETIME, - /** - * A rational number with implicit precision - */ - DECIMAL, - /** - * Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive. - */ - ID, - /** - * An instant in time - known at least to the second - */ - INSTANT, - /** - * A whole number - */ - INTEGER, - /** - * A very large whole number - */ - INTEGER64, - /** - * A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine - */ - MARKDOWN, - /** - * An OID represented as a URI - */ - OID, - /** - * An integer with a value that is positive (e.g. >0) - */ - POSITIVEINT, - /** - * A sequence of Unicode characters - */ - STRING, - /** - * A time during the day, with no date specified - */ - TIME, - /** - * An integer with a value that is not negative (e.g. >= 0) - */ - UNSIGNEDINT, - /** - * String of characters used to identify a name or a resource - */ - URI, - /** - * A URI that is a literal reference - */ - URL, - /** - * A UUID, represented as a URI - */ - UUID, - /** - * XHTML format, as defined by W3C, but restricted usage (mainly, no active content) - */ - XHTML, - /** - * --- Abstract Type! ---This is the base resource type for everything. - */ - RESOURCE, - /** - * A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc. - */ - BINARY, - /** - * A container for a collection of resources. - */ - BUNDLE, - /** - * --- Abstract Type! ---A resource that includes narrative, extensions, and contained resources. - */ - DOMAINRESOURCE, - /** - * A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc. - */ - ACCOUNT, - /** - * A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed). - */ - ADMINISTRABLEPRODUCTDEFINITION, - /** - * An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects. - */ - ADVERSEEVENT, - /** - * Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance. - */ - ALLERGYINTOLERANCE, - /** - * A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s). - */ - APPOINTMENT, - /** - * A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection. - */ - APPOINTMENTRESPONSE, - /** - * This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content. - */ - ARTIFACTASSESSMENT, - /** - * A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis. - */ - AUDITEVENT, - /** - * Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification. - */ - BASIC, - /** - * A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity. - */ - BIOLOGICALLYDERIVEDPRODUCT, - /** - * Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case. - */ - BODYSTRUCTURE, - /** - * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. - */ - CANONICALRESOURCE, - /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - CAPABILITYSTATEMENT, - /** - * A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - CAPABILITYSTATEMENT2, - /** - * The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content. - */ - CODESYSTEM, - /** - * A compartment definition that defines how resources are accessed on a server. - */ - COMPARTMENTDEFINITION, - /** - * Example of workflow instance. - */ - EXAMPLESCENARIO, - /** - * A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set. - */ - GRAPHDEFINITION, - /** - * A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts. - */ - IMPLEMENTATIONGUIDE, - /** - * Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted. - */ - MESSAGEDEFINITION, - /** - * --- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources. - */ - METADATARESOURCE, - /** - * This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context. - */ - ACTIVITYDEFINITION, - /** - * The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system. - */ - CHARGEITEMDEFINITION, - /** - * The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources. - */ - CITATION, - /** - * A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models. - */ - CONCEPTMAP, - /** - * A definition of a condition and information relevant to managing it. - */ - CONDITIONDEFINITION, - /** - * The EventDefinition resource provides a reusable description of when a particular event can occur. - */ - EVENTDEFINITION, - /** - * The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence. - */ - EVIDENCE, - /** - * The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts. - */ - EVIDENCEREPORT, - /** - * The EvidenceVariable resource describes an element that knowledge (Evidence) is about. - */ - EVIDENCEVARIABLE, - /** - * The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets. - */ - LIBRARY, - /** - * The Measure resource provides the definition of a quality measure. - */ - MEASURE, - /** - * A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types. - */ - NAMINGSYSTEM, - /** - * This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications. - */ - PLANDEFINITION, - /** - * A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection. - */ - QUESTIONNAIRE, - /** - * A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction). - */ - OPERATIONDEFINITION, - /** - * A search parameter that defines a named search item that can be used to search/filter on a resource. - */ - SEARCHPARAMETER, - /** - * A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types. - */ - STRUCTUREDEFINITION, - /** - * A Map of relationships between 2 structures that can be used to transform data. - */ - STRUCTUREMAP, - /** - * Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic. - */ - SUBSCRIPTIONTOPIC, - /** - * A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation. - */ - TERMINOLOGYCAPABILITIES, - /** - * A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification. - */ - TESTSCRIPT, - /** - * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). - */ - VALUESET, - /** - * Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions. - */ - CAREPLAN, - /** - * The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care. - */ - CARETEAM, - /** - * The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation. - */ - CHARGEITEM, - /** - * A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement. - */ - CLAIM, - /** - * This resource provides the adjudication details from the processing of a Claim resource. - */ - CLAIMRESPONSE, - /** - * A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score. - */ - CLINICALIMPRESSION, - /** - * A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure. - */ - CLINICALUSEDEFINITION, - /** - * A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition. - */ - COMMUNICATION, - /** - * A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition. - */ - COMMUNICATIONREQUEST, - /** - * A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.). - */ - COMPOSITION, - /** - * A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern. - */ - CONDITION, - /** - * A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time. - */ - CONSENT, - /** - * Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement. - */ - CONTRACT, - /** - * Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment. - */ - COVERAGE, - /** - * The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy. - */ - COVERAGEELIGIBILITYREQUEST, - /** - * This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource. - */ - COVERAGEELIGIBILITYRESPONSE, - /** - * Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc. - */ - DETECTEDISSUE, - /** - * This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element. - */ - DEVICE, - /** - * This is a specialized resource that defines the characteristics and capabilities of a device. - */ - DEVICEDEFINITION, - /** - * Indicates that a device is to be or has been dispensed for a named person/patient. This includes a description of the product (supply) provided and the instructions for using the device. - */ - DEVICEDISPENSE, - /** - * Describes a measurement, calculation or setting capability of a medical device. - */ - DEVICEMETRIC, - /** - * Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used. - */ - DEVICEREQUEST, - /** - * A record of a device being used by a patient where the record is the result of a report from the patient or a clinician. - */ - DEVICEUSAGE, - /** - * The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances. - */ - DIAGNOSTICREPORT, - /** - * A collection of documents compiled for a purpose together with metadata that applies to the collection. - */ - DOCUMENTMANIFEST, - /** - * A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference. - */ - DOCUMENTREFERENCE, - /** - * An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient. - */ - ENCOUNTER, - /** - * The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information. - */ - ENDPOINT, - /** - * This resource provides the insurance enrollment details to the insurer regarding a specified coverage. - */ - ENROLLMENTREQUEST, - /** - * This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource. - */ - ENROLLMENTRESPONSE, - /** - * An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time. - */ - EPISODEOFCARE, - /** - * This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided. - */ - EXPLANATIONOFBENEFIT, - /** - * Significant health conditions for a person related to the patient relevant in the context of care for the patient. - */ - FAMILYMEMBERHISTORY, - /** - * Prospective warnings of potential issues when providing care to the patient. - */ - FLAG, - /** - * This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself. - */ - FORMULARYITEM, - /** - * Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc. - */ - GOAL, - /** - * Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization. - */ - GROUP, - /** - * A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken. - */ - GUIDANCERESPONSE, - /** - * The details of a healthcare service available at a location. - */ - HEALTHCARESERVICE, - /** - * A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource. - */ - IMAGINGSELECTION, - /** - * Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities. - */ - IMAGINGSTUDY, - /** - * Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party. - */ - IMMUNIZATION, - /** - * Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations. - */ - IMMUNIZATIONEVALUATION, - /** - * A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification. - */ - IMMUNIZATIONRECOMMENDATION, - /** - * An ingredient of a manufactured item or pharmaceutical product. - */ - INGREDIENT, - /** - * Details of a Health Insurance product/plan provided by an organization. - */ - INSURANCEPLAN, - /** - * A report of inventory or stock items. - */ - INVENTORYREPORT, - /** - * Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose. - */ - INVOICE, - /** - * Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\". - */ - LINKAGE, - /** - * A list is a curated collection of resources. - */ - LIST, - /** - * Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated. - */ - LOCATION, - /** - * The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product. - */ - MANUFACTUREDITEMDEFINITION, - /** - * The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation. - */ - MEASUREREPORT, - /** - * This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use. - */ - MEDICATION, - /** - * Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner. - */ - MEDICATIONADMINISTRATION, - /** - * Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order. - */ - MEDICATIONDISPENSE, - /** - * Information about a medication that is used to support knowledge. - */ - MEDICATIONKNOWLEDGE, - /** - * An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns. - */ - 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. \n\nThe 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, - /** - * Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.). - */ - MEDICINALPRODUCTDEFINITION, - /** - * The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle. - */ - MESSAGEHEADER, - /** - * Representation of a molecular sequence. - */ - MOLECULARSEQUENCE, - /** - * A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake. - */ - NUTRITIONINTAKE, - /** - * A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident. - */ - NUTRITIONORDER, - /** - * A food or supplement that is consumed by patients. - */ - NUTRITIONPRODUCT, - /** - * Measurements and simple assertions made about a patient, device or other subject. - */ - OBSERVATION, - /** - * Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service. - */ - OBSERVATIONDEFINITION, - /** - * A collection of error, warning, or information messages that result from a system action. - */ - OPERATIONOUTCOME, - /** - * A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc. - */ - ORGANIZATION, - /** - * Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship. - */ - ORGANIZATIONAFFILIATION, - /** - * A medically related item or items, in a container or package. - */ - PACKAGEDPRODUCTDEFINITION, - /** - * Demographics and other administrative information about an individual or animal receiving care or other health-related services. - */ - PATIENT, - /** - * This resource provides the status of the payment for goods and services rendered, and the request and response resource references. - */ - PAYMENTNOTICE, - /** - * This resource provides the details including amount of a payment and allocates the payment items being paid. - */ - PAYMENTRECONCILIATION, - /** - * Permission. - */ - PERMISSION, - /** - * Demographics and administrative information about a person independent of a specific health-related context. - */ - PERSON, - /** - * A person who is directly or indirectly involved in the provisioning of healthcare. - */ - PRACTITIONER, - /** - * A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time. - */ - PRACTITIONERROLE, - /** - * An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing. - */ - PROCEDURE, - /** - * Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies. - */ - PROVENANCE, - /** - * A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to. - */ - QUESTIONNAIRERESPONSE, - /** - * Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product. - */ - REGULATEDAUTHORIZATION, - /** - * Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process. - */ - RELATEDPERSON, - /** - * A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\". - */ - REQUESTGROUP, - /** - * A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects. - */ - RESEARCHSTUDY, - /** - * A physical entity which is the primary unit of operational and/or administrative interest in a study. - */ - RESEARCHSUBJECT, - /** - * An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome. - */ - RISKASSESSMENT, - /** - * A container for slots of time that may be available for booking appointments. - */ - SCHEDULE, - /** - * A record of a request for service such as diagnostic investigations, treatments, or operations to be performed. - */ - SERVICEREQUEST, - /** - * A slot of time on a schedule that may be available for booking appointments. - */ - SLOT, - /** - * A sample to be used for analysis. - */ - SPECIMEN, - /** - * A kind of specimen with associated set of requirements. - */ - SPECIMENDEFINITION, - /** - * The subscription resource describes a particular client's request to be notified about a SubscriptionTopic. - */ - SUBSCRIPTION, - /** - * The SubscriptionStatus resource describes the state of a Subscription during notifications. - */ - SUBSCRIPTIONSTATUS, - /** - * A homogeneous material with a definite composition. - */ - SUBSTANCE, - /** - * The detailed description of a substance, typically at a level beyond what is used for prescribing. - */ - SUBSTANCEDEFINITION, - /** - * Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction. - */ - SUBSTANCENUCLEICACID, - /** - * Properties of a substance specific to it being a polymer. - */ - SUBSTANCEPOLYMER, - /** - * A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators. - */ - SUBSTANCEPROTEIN, - /** - * Todo. - */ - SUBSTANCEREFERENCEINFORMATION, - /** - * Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex. - */ - SUBSTANCESOURCEMATERIAL, - /** - * Record of delivery of what is supplied. - */ - SUPPLYDELIVERY, - /** - * A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting. - */ - SUPPLYREQUEST, - /** - * A task to be performed. - */ - TASK, - /** - * A summary of information based on the results of executing a TestScript. - */ - TESTREPORT, - /** - * Record of transport. - */ - TRANSPORT, - /** - * Describes validation requirements, source(s), status and dates for one or more elements. - */ - VERIFICATIONRESULT, - /** - * An authorization for the provision of glasses and/or contact lenses to a patient. - */ - VISIONPRESCRIPTION, - /** - * This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it. - */ - PARAMETERS, - /** - * added to help the parsers with the generic types - */ - NULL; - public static FHIRDefinedType fromCode(String codeString) throws FHIRException { - if (codeString == null || "".equals(codeString)) - return null; - if ("Address".equals(codeString)) - return ADDRESS; - if ("Age".equals(codeString)) - return AGE; - if ("Annotation".equals(codeString)) - return ANNOTATION; - if ("Attachment".equals(codeString)) - return ATTACHMENT; - if ("BackboneElement".equals(codeString)) - return BACKBONEELEMENT; - if ("BackboneType".equals(codeString)) - return BACKBONETYPE; - if ("Base".equals(codeString)) - return BASE; - if ("CodeableConcept".equals(codeString)) - return CODEABLECONCEPT; - if ("CodeableReference".equals(codeString)) - return CODEABLEREFERENCE; - if ("Coding".equals(codeString)) - return CODING; - if ("ContactDetail".equals(codeString)) - return CONTACTDETAIL; - if ("ContactPoint".equals(codeString)) - return CONTACTPOINT; - if ("Contributor".equals(codeString)) - return CONTRIBUTOR; - if ("Count".equals(codeString)) - return COUNT; - if ("DataRequirement".equals(codeString)) - return DATAREQUIREMENT; - if ("DataType".equals(codeString)) - return DATATYPE; - if ("Distance".equals(codeString)) - return DISTANCE; - if ("Dosage".equals(codeString)) - return DOSAGE; - if ("Duration".equals(codeString)) - return DURATION; - if ("Element".equals(codeString)) - return ELEMENT; - if ("ElementDefinition".equals(codeString)) - return ELEMENTDEFINITION; - if ("Expression".equals(codeString)) - return EXPRESSION; - if ("ExtendedContactDetail".equals(codeString)) - return EXTENDEDCONTACTDETAIL; - if ("Extension".equals(codeString)) - return EXTENSION; - if ("HumanName".equals(codeString)) - return HUMANNAME; - if ("Identifier".equals(codeString)) - return IDENTIFIER; - if ("MarketingStatus".equals(codeString)) - return MARKETINGSTATUS; - if ("Meta".equals(codeString)) - return META; - if ("Money".equals(codeString)) - return MONEY; - if ("MoneyQuantity".equals(codeString)) - return MONEYQUANTITY; - if ("Narrative".equals(codeString)) - return NARRATIVE; - if ("ParameterDefinition".equals(codeString)) - return PARAMETERDEFINITION; - if ("Period".equals(codeString)) - return PERIOD; - if ("Population".equals(codeString)) - return POPULATION; - if ("PrimitiveType".equals(codeString)) - return PRIMITIVETYPE; - if ("ProductShelfLife".equals(codeString)) - return PRODUCTSHELFLIFE; - if ("Quantity".equals(codeString)) - return QUANTITY; - if ("Range".equals(codeString)) - return RANGE; - if ("Ratio".equals(codeString)) - return RATIO; - if ("RatioRange".equals(codeString)) - return RATIORANGE; - if ("Reference".equals(codeString)) - return REFERENCE; - if ("RelatedArtifact".equals(codeString)) - return RELATEDARTIFACT; - if ("SampledData".equals(codeString)) - return SAMPLEDDATA; - if ("Signature".equals(codeString)) - return SIGNATURE; - if ("SimpleQuantity".equals(codeString)) - return SIMPLEQUANTITY; - if ("Timing".equals(codeString)) - return TIMING; - if ("TriggerDefinition".equals(codeString)) - return TRIGGERDEFINITION; - if ("UsageContext".equals(codeString)) - return USAGECONTEXT; - if ("base64Binary".equals(codeString)) - return BASE64BINARY; - if ("boolean".equals(codeString)) - return BOOLEAN; - if ("canonical".equals(codeString)) - return CANONICAL; - if ("code".equals(codeString)) - return CODE; - if ("date".equals(codeString)) - return DATE; - if ("dateTime".equals(codeString)) - return DATETIME; - if ("decimal".equals(codeString)) - return DECIMAL; - if ("id".equals(codeString)) - return ID; - if ("instant".equals(codeString)) - return INSTANT; - if ("integer".equals(codeString)) - return INTEGER; - if ("integer64".equals(codeString)) - return INTEGER64; - if ("markdown".equals(codeString)) - return MARKDOWN; - if ("oid".equals(codeString)) - return OID; - if ("positiveInt".equals(codeString)) - return POSITIVEINT; - if ("string".equals(codeString)) - return STRING; - if ("time".equals(codeString)) - return TIME; - if ("unsignedInt".equals(codeString)) - return UNSIGNEDINT; - if ("uri".equals(codeString)) - return URI; - if ("url".equals(codeString)) - return URL; - if ("uuid".equals(codeString)) - return UUID; - if ("xhtml".equals(codeString)) - return XHTML; - if ("Resource".equals(codeString)) - return RESOURCE; - if ("Binary".equals(codeString)) - return BINARY; - if ("Bundle".equals(codeString)) - return BUNDLE; - if ("DomainResource".equals(codeString)) - return DOMAINRESOURCE; - if ("Account".equals(codeString)) - return ACCOUNT; - if ("AdministrableProductDefinition".equals(codeString)) - return ADMINISTRABLEPRODUCTDEFINITION; - if ("AdverseEvent".equals(codeString)) - return ADVERSEEVENT; - if ("AllergyIntolerance".equals(codeString)) - return ALLERGYINTOLERANCE; - if ("Appointment".equals(codeString)) - return APPOINTMENT; - if ("AppointmentResponse".equals(codeString)) - return APPOINTMENTRESPONSE; - if ("ArtifactAssessment".equals(codeString)) - return ARTIFACTASSESSMENT; - if ("AuditEvent".equals(codeString)) - return AUDITEVENT; - if ("Basic".equals(codeString)) - return BASIC; - if ("BiologicallyDerivedProduct".equals(codeString)) - return BIOLOGICALLYDERIVEDPRODUCT; - if ("BodyStructure".equals(codeString)) - return BODYSTRUCTURE; - if ("CanonicalResource".equals(codeString)) - return CANONICALRESOURCE; - if ("CapabilityStatement".equals(codeString)) - return CAPABILITYSTATEMENT; - if ("CapabilityStatement2".equals(codeString)) - return CAPABILITYSTATEMENT2; - if ("CodeSystem".equals(codeString)) - return CODESYSTEM; - if ("CompartmentDefinition".equals(codeString)) - return COMPARTMENTDEFINITION; - if ("ExampleScenario".equals(codeString)) - return EXAMPLESCENARIO; - if ("GraphDefinition".equals(codeString)) - return GRAPHDEFINITION; - if ("ImplementationGuide".equals(codeString)) - return IMPLEMENTATIONGUIDE; - if ("MessageDefinition".equals(codeString)) - return MESSAGEDEFINITION; - if ("MetadataResource".equals(codeString)) - return METADATARESOURCE; - if ("ActivityDefinition".equals(codeString)) - return ACTIVITYDEFINITION; - if ("ChargeItemDefinition".equals(codeString)) - return CHARGEITEMDEFINITION; - if ("Citation".equals(codeString)) - return CITATION; - if ("ConceptMap".equals(codeString)) - return CONCEPTMAP; - if ("ConditionDefinition".equals(codeString)) - return CONDITIONDEFINITION; - if ("EventDefinition".equals(codeString)) - return EVENTDEFINITION; - if ("Evidence".equals(codeString)) - return EVIDENCE; - if ("EvidenceReport".equals(codeString)) - return EVIDENCEREPORT; - if ("EvidenceVariable".equals(codeString)) - return EVIDENCEVARIABLE; - if ("Library".equals(codeString)) - return LIBRARY; - if ("Measure".equals(codeString)) - return MEASURE; - if ("NamingSystem".equals(codeString)) - return NAMINGSYSTEM; - if ("PlanDefinition".equals(codeString)) - return PLANDEFINITION; - if ("Questionnaire".equals(codeString)) - return QUESTIONNAIRE; - if ("OperationDefinition".equals(codeString)) - return OPERATIONDEFINITION; - if ("SearchParameter".equals(codeString)) - return SEARCHPARAMETER; - if ("StructureDefinition".equals(codeString)) - return STRUCTUREDEFINITION; - if ("StructureMap".equals(codeString)) - return STRUCTUREMAP; - if ("SubscriptionTopic".equals(codeString)) - return SUBSCRIPTIONTOPIC; - if ("TerminologyCapabilities".equals(codeString)) - return TERMINOLOGYCAPABILITIES; - if ("TestScript".equals(codeString)) - return TESTSCRIPT; - if ("ValueSet".equals(codeString)) - return VALUESET; - if ("CarePlan".equals(codeString)) - return CAREPLAN; - if ("CareTeam".equals(codeString)) - return CARETEAM; - if ("ChargeItem".equals(codeString)) - return CHARGEITEM; - if ("Claim".equals(codeString)) - return CLAIM; - if ("ClaimResponse".equals(codeString)) - return CLAIMRESPONSE; - if ("ClinicalImpression".equals(codeString)) - return CLINICALIMPRESSION; - if ("ClinicalUseDefinition".equals(codeString)) - return CLINICALUSEDEFINITION; - if ("Communication".equals(codeString)) - return COMMUNICATION; - if ("CommunicationRequest".equals(codeString)) - return COMMUNICATIONREQUEST; - if ("Composition".equals(codeString)) - return COMPOSITION; - if ("Condition".equals(codeString)) - return CONDITION; - if ("Consent".equals(codeString)) - return CONSENT; - if ("Contract".equals(codeString)) - return CONTRACT; - if ("Coverage".equals(codeString)) - return COVERAGE; - if ("CoverageEligibilityRequest".equals(codeString)) - return COVERAGEELIGIBILITYREQUEST; - if ("CoverageEligibilityResponse".equals(codeString)) - return COVERAGEELIGIBILITYRESPONSE; - if ("DetectedIssue".equals(codeString)) - return DETECTEDISSUE; - if ("Device".equals(codeString)) - return DEVICE; - if ("DeviceDefinition".equals(codeString)) - return DEVICEDEFINITION; - if ("DeviceDispense".equals(codeString)) - return DEVICEDISPENSE; - if ("DeviceMetric".equals(codeString)) - return DEVICEMETRIC; - if ("DeviceRequest".equals(codeString)) - return DEVICEREQUEST; - if ("DeviceUsage".equals(codeString)) - return DEVICEUSAGE; - if ("DiagnosticReport".equals(codeString)) - return DIAGNOSTICREPORT; - if ("DocumentManifest".equals(codeString)) - return DOCUMENTMANIFEST; - if ("DocumentReference".equals(codeString)) - return DOCUMENTREFERENCE; - if ("Encounter".equals(codeString)) - return ENCOUNTER; - if ("Endpoint".equals(codeString)) - return ENDPOINT; - if ("EnrollmentRequest".equals(codeString)) - return ENROLLMENTREQUEST; - if ("EnrollmentResponse".equals(codeString)) - return ENROLLMENTRESPONSE; - if ("EpisodeOfCare".equals(codeString)) - return EPISODEOFCARE; - if ("ExplanationOfBenefit".equals(codeString)) - return EXPLANATIONOFBENEFIT; - if ("FamilyMemberHistory".equals(codeString)) - return FAMILYMEMBERHISTORY; - if ("Flag".equals(codeString)) - return FLAG; - if ("FormularyItem".equals(codeString)) - return FORMULARYITEM; - if ("Goal".equals(codeString)) - return GOAL; - if ("Group".equals(codeString)) - return GROUP; - if ("GuidanceResponse".equals(codeString)) - return GUIDANCERESPONSE; - if ("HealthcareService".equals(codeString)) - return HEALTHCARESERVICE; - if ("ImagingSelection".equals(codeString)) - return IMAGINGSELECTION; - if ("ImagingStudy".equals(codeString)) - return IMAGINGSTUDY; - if ("Immunization".equals(codeString)) - return IMMUNIZATION; - if ("ImmunizationEvaluation".equals(codeString)) - return IMMUNIZATIONEVALUATION; - if ("ImmunizationRecommendation".equals(codeString)) - return IMMUNIZATIONRECOMMENDATION; - if ("Ingredient".equals(codeString)) - return INGREDIENT; - if ("InsurancePlan".equals(codeString)) - return INSURANCEPLAN; - if ("InventoryReport".equals(codeString)) - return INVENTORYREPORT; - if ("Invoice".equals(codeString)) - return INVOICE; - if ("Linkage".equals(codeString)) - return LINKAGE; - if ("List".equals(codeString)) - return LIST; - if ("Location".equals(codeString)) - return LOCATION; - if ("ManufacturedItemDefinition".equals(codeString)) - return MANUFACTUREDITEMDEFINITION; - if ("MeasureReport".equals(codeString)) - return MEASUREREPORT; - if ("Medication".equals(codeString)) - return MEDICATION; - if ("MedicationAdministration".equals(codeString)) - return MEDICATIONADMINISTRATION; - if ("MedicationDispense".equals(codeString)) - return MEDICATIONDISPENSE; - if ("MedicationKnowledge".equals(codeString)) - return MEDICATIONKNOWLEDGE; - if ("MedicationRequest".equals(codeString)) - return MEDICATIONREQUEST; - if ("MedicationUsage".equals(codeString)) - return MEDICATIONUSAGE; - if ("MedicinalProductDefinition".equals(codeString)) - return MEDICINALPRODUCTDEFINITION; - if ("MessageHeader".equals(codeString)) - return MESSAGEHEADER; - if ("MolecularSequence".equals(codeString)) - return MOLECULARSEQUENCE; - if ("NutritionIntake".equals(codeString)) - return NUTRITIONINTAKE; - if ("NutritionOrder".equals(codeString)) - return NUTRITIONORDER; - if ("NutritionProduct".equals(codeString)) - return NUTRITIONPRODUCT; - if ("Observation".equals(codeString)) - return OBSERVATION; - if ("ObservationDefinition".equals(codeString)) - return OBSERVATIONDEFINITION; - if ("OperationOutcome".equals(codeString)) - return OPERATIONOUTCOME; - if ("Organization".equals(codeString)) - return ORGANIZATION; - if ("OrganizationAffiliation".equals(codeString)) - return ORGANIZATIONAFFILIATION; - if ("PackagedProductDefinition".equals(codeString)) - return PACKAGEDPRODUCTDEFINITION; - if ("Patient".equals(codeString)) - return PATIENT; - if ("PaymentNotice".equals(codeString)) - return PAYMENTNOTICE; - if ("PaymentReconciliation".equals(codeString)) - return PAYMENTRECONCILIATION; - if ("Permission".equals(codeString)) - return PERMISSION; - if ("Person".equals(codeString)) - return PERSON; - if ("Practitioner".equals(codeString)) - return PRACTITIONER; - if ("PractitionerRole".equals(codeString)) - return PRACTITIONERROLE; - if ("Procedure".equals(codeString)) - return PROCEDURE; - if ("Provenance".equals(codeString)) - return PROVENANCE; - if ("QuestionnaireResponse".equals(codeString)) - return QUESTIONNAIRERESPONSE; - if ("RegulatedAuthorization".equals(codeString)) - return REGULATEDAUTHORIZATION; - if ("RelatedPerson".equals(codeString)) - return RELATEDPERSON; - if ("RequestGroup".equals(codeString)) - return REQUESTGROUP; - if ("ResearchStudy".equals(codeString)) - return RESEARCHSTUDY; - if ("ResearchSubject".equals(codeString)) - return RESEARCHSUBJECT; - if ("RiskAssessment".equals(codeString)) - return RISKASSESSMENT; - if ("Schedule".equals(codeString)) - return SCHEDULE; - if ("ServiceRequest".equals(codeString)) - return SERVICEREQUEST; - if ("Slot".equals(codeString)) - return SLOT; - if ("Specimen".equals(codeString)) - return SPECIMEN; - if ("SpecimenDefinition".equals(codeString)) - return SPECIMENDEFINITION; - if ("Subscription".equals(codeString)) - return SUBSCRIPTION; - if ("SubscriptionStatus".equals(codeString)) - return SUBSCRIPTIONSTATUS; - if ("Substance".equals(codeString)) - return SUBSTANCE; - if ("SubstanceDefinition".equals(codeString)) - return SUBSTANCEDEFINITION; - if ("SubstanceNucleicAcid".equals(codeString)) - return SUBSTANCENUCLEICACID; - if ("SubstancePolymer".equals(codeString)) - return SUBSTANCEPOLYMER; - if ("SubstanceProtein".equals(codeString)) - return SUBSTANCEPROTEIN; - if ("SubstanceReferenceInformation".equals(codeString)) - return SUBSTANCEREFERENCEINFORMATION; - if ("SubstanceSourceMaterial".equals(codeString)) - return SUBSTANCESOURCEMATERIAL; - if ("SupplyDelivery".equals(codeString)) - return SUPPLYDELIVERY; - if ("SupplyRequest".equals(codeString)) - return SUPPLYREQUEST; - if ("Task".equals(codeString)) - return TASK; - if ("TestReport".equals(codeString)) - return TESTREPORT; - if ("Transport".equals(codeString)) - return TRANSPORT; - if ("VerificationResult".equals(codeString)) - return VERIFICATIONRESULT; - if ("VisionPrescription".equals(codeString)) - return VISIONPRESCRIPTION; - if ("Parameters".equals(codeString)) - return PARAMETERS; - if (Configuration.isAcceptInvalidEnums()) - return null; - else - throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'"); - } - public String toCode() { - switch (this) { - case ADDRESS: return "Address"; - case AGE: return "Age"; - case ANNOTATION: return "Annotation"; - case ATTACHMENT: return "Attachment"; - case BACKBONEELEMENT: return "BackboneElement"; - case BACKBONETYPE: return "BackboneType"; - case BASE: return "Base"; - case CODEABLECONCEPT: return "CodeableConcept"; - case CODEABLEREFERENCE: return "CodeableReference"; - case CODING: return "Coding"; - case CONTACTDETAIL: return "ContactDetail"; - case CONTACTPOINT: return "ContactPoint"; - case CONTRIBUTOR: return "Contributor"; - case COUNT: return "Count"; - case DATAREQUIREMENT: return "DataRequirement"; - case DATATYPE: return "DataType"; - case DISTANCE: return "Distance"; - case DOSAGE: return "Dosage"; - case DURATION: return "Duration"; - case ELEMENT: return "Element"; - case ELEMENTDEFINITION: return "ElementDefinition"; - case EXPRESSION: return "Expression"; - case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail"; - case EXTENSION: return "Extension"; - case HUMANNAME: return "HumanName"; - case IDENTIFIER: return "Identifier"; - case MARKETINGSTATUS: return "MarketingStatus"; - case META: return "Meta"; - case MONEY: return "Money"; - case MONEYQUANTITY: return "MoneyQuantity"; - case NARRATIVE: return "Narrative"; - case PARAMETERDEFINITION: return "ParameterDefinition"; - case PERIOD: return "Period"; - case POPULATION: return "Population"; - case PRIMITIVETYPE: return "PrimitiveType"; - case PRODUCTSHELFLIFE: return "ProductShelfLife"; - case QUANTITY: return "Quantity"; - case RANGE: return "Range"; - case RATIO: return "Ratio"; - case RATIORANGE: return "RatioRange"; - case REFERENCE: return "Reference"; - case RELATEDARTIFACT: return "RelatedArtifact"; - case SAMPLEDDATA: return "SampledData"; - case SIGNATURE: return "Signature"; - case SIMPLEQUANTITY: return "SimpleQuantity"; - case TIMING: return "Timing"; - case TRIGGERDEFINITION: return "TriggerDefinition"; - case USAGECONTEXT: return "UsageContext"; - case BASE64BINARY: return "base64Binary"; - case BOOLEAN: return "boolean"; - case CANONICAL: return "canonical"; - case CODE: return "code"; - case DATE: return "date"; - case DATETIME: return "dateTime"; - case DECIMAL: return "decimal"; - case ID: return "id"; - case INSTANT: return "instant"; - case INTEGER: return "integer"; - case INTEGER64: return "integer64"; - case MARKDOWN: return "markdown"; - case OID: return "oid"; - case POSITIVEINT: return "positiveInt"; - case STRING: return "string"; - case TIME: return "time"; - case UNSIGNEDINT: return "unsignedInt"; - case URI: return "uri"; - case URL: return "url"; - case UUID: return "uuid"; - case XHTML: return "xhtml"; - case RESOURCE: return "Resource"; - case BINARY: return "Binary"; - case BUNDLE: return "Bundle"; - case DOMAINRESOURCE: return "DomainResource"; - case ACCOUNT: return "Account"; - case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; - case ADVERSEEVENT: return "AdverseEvent"; - case ALLERGYINTOLERANCE: return "AllergyIntolerance"; - case APPOINTMENT: return "Appointment"; - case APPOINTMENTRESPONSE: return "AppointmentResponse"; - case ARTIFACTASSESSMENT: return "ArtifactAssessment"; - case AUDITEVENT: return "AuditEvent"; - case BASIC: return "Basic"; - case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; - case BODYSTRUCTURE: return "BodyStructure"; - case CANONICALRESOURCE: return "CanonicalResource"; - case CAPABILITYSTATEMENT: return "CapabilityStatement"; - case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; - case CODESYSTEM: return "CodeSystem"; - case COMPARTMENTDEFINITION: return "CompartmentDefinition"; - case EXAMPLESCENARIO: return "ExampleScenario"; - case GRAPHDEFINITION: return "GraphDefinition"; - case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; - case MESSAGEDEFINITION: return "MessageDefinition"; - case METADATARESOURCE: return "MetadataResource"; - case ACTIVITYDEFINITION: return "ActivityDefinition"; - case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; - case CITATION: return "Citation"; - case CONCEPTMAP: return "ConceptMap"; - case CONDITIONDEFINITION: return "ConditionDefinition"; - case EVENTDEFINITION: return "EventDefinition"; - case EVIDENCE: return "Evidence"; - case EVIDENCEREPORT: return "EvidenceReport"; - case EVIDENCEVARIABLE: return "EvidenceVariable"; - case LIBRARY: return "Library"; - case MEASURE: return "Measure"; - case NAMINGSYSTEM: return "NamingSystem"; - case PLANDEFINITION: return "PlanDefinition"; - case QUESTIONNAIRE: return "Questionnaire"; - case OPERATIONDEFINITION: return "OperationDefinition"; - case SEARCHPARAMETER: return "SearchParameter"; - case STRUCTUREDEFINITION: return "StructureDefinition"; - case STRUCTUREMAP: return "StructureMap"; - case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; - case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; - case TESTSCRIPT: return "TestScript"; - case VALUESET: return "ValueSet"; - case CAREPLAN: return "CarePlan"; - case CARETEAM: return "CareTeam"; - case CHARGEITEM: return "ChargeItem"; - case CLAIM: return "Claim"; - case CLAIMRESPONSE: return "ClaimResponse"; - case CLINICALIMPRESSION: return "ClinicalImpression"; - case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; - case COMMUNICATION: return "Communication"; - case COMMUNICATIONREQUEST: return "CommunicationRequest"; - case COMPOSITION: return "Composition"; - case CONDITION: return "Condition"; - case CONSENT: return "Consent"; - case CONTRACT: return "Contract"; - case COVERAGE: return "Coverage"; - case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; - case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse"; - case DETECTEDISSUE: return "DetectedIssue"; - case DEVICE: return "Device"; - case DEVICEDEFINITION: return "DeviceDefinition"; - case DEVICEDISPENSE: return "DeviceDispense"; - case DEVICEMETRIC: return "DeviceMetric"; - case DEVICEREQUEST: return "DeviceRequest"; - case DEVICEUSAGE: return "DeviceUsage"; - case DIAGNOSTICREPORT: return "DiagnosticReport"; - case DOCUMENTMANIFEST: return "DocumentManifest"; - case DOCUMENTREFERENCE: return "DocumentReference"; - case ENCOUNTER: return "Encounter"; - case ENDPOINT: return "Endpoint"; - case ENROLLMENTREQUEST: return "EnrollmentRequest"; - case ENROLLMENTRESPONSE: return "EnrollmentResponse"; - case EPISODEOFCARE: return "EpisodeOfCare"; - case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; - case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; - case FLAG: return "Flag"; - case FORMULARYITEM: return "FormularyItem"; - case GOAL: return "Goal"; - case GROUP: return "Group"; - case GUIDANCERESPONSE: return "GuidanceResponse"; - case HEALTHCARESERVICE: return "HealthcareService"; - case IMAGINGSELECTION: return "ImagingSelection"; - case IMAGINGSTUDY: return "ImagingStudy"; - case IMMUNIZATION: return "Immunization"; - case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; - case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; - case INGREDIENT: return "Ingredient"; - case INSURANCEPLAN: return "InsurancePlan"; - case INVENTORYREPORT: return "InventoryReport"; - case INVOICE: return "Invoice"; - case LINKAGE: return "Linkage"; - case LIST: return "List"; - case LOCATION: return "Location"; - case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; - case MEASUREREPORT: return "MeasureReport"; - case MEDICATION: return "Medication"; - case MEDICATIONADMINISTRATION: return "MedicationAdministration"; - case MEDICATIONDISPENSE: return "MedicationDispense"; - case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; - case MEDICATIONREQUEST: return "MedicationRequest"; - case MEDICATIONUSAGE: return "MedicationUsage"; - case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; - case MESSAGEHEADER: return "MessageHeader"; - case MOLECULARSEQUENCE: return "MolecularSequence"; - case NUTRITIONINTAKE: return "NutritionIntake"; - case NUTRITIONORDER: return "NutritionOrder"; - case NUTRITIONPRODUCT: return "NutritionProduct"; - case OBSERVATION: return "Observation"; - case OBSERVATIONDEFINITION: return "ObservationDefinition"; - case OPERATIONOUTCOME: return "OperationOutcome"; - case ORGANIZATION: return "Organization"; - case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; - case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; - case PATIENT: return "Patient"; - case PAYMENTNOTICE: return "PaymentNotice"; - case PAYMENTRECONCILIATION: return "PaymentReconciliation"; - case PERMISSION: return "Permission"; - case PERSON: return "Person"; - case PRACTITIONER: return "Practitioner"; - case PRACTITIONERROLE: return "PractitionerRole"; - case PROCEDURE: return "Procedure"; - case PROVENANCE: return "Provenance"; - case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; - case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; - case RELATEDPERSON: return "RelatedPerson"; - case REQUESTGROUP: return "RequestGroup"; - case RESEARCHSTUDY: return "ResearchStudy"; - case RESEARCHSUBJECT: return "ResearchSubject"; - case RISKASSESSMENT: return "RiskAssessment"; - case SCHEDULE: return "Schedule"; - case SERVICEREQUEST: return "ServiceRequest"; - case SLOT: return "Slot"; - case SPECIMEN: return "Specimen"; - case SPECIMENDEFINITION: return "SpecimenDefinition"; - case SUBSCRIPTION: return "Subscription"; - case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; - case SUBSTANCE: return "Substance"; - case SUBSTANCEDEFINITION: return "SubstanceDefinition"; - case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; - case SUBSTANCEPOLYMER: return "SubstancePolymer"; - case SUBSTANCEPROTEIN: return "SubstanceProtein"; - case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; - case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial"; - case SUPPLYDELIVERY: return "SupplyDelivery"; - case SUPPLYREQUEST: return "SupplyRequest"; - case TASK: return "Task"; - case TESTREPORT: return "TestReport"; - case TRANSPORT: return "Transport"; - case VERIFICATIONRESULT: return "VerificationResult"; - case VISIONPRESCRIPTION: return "VisionPrescription"; - case PARAMETERS: return "Parameters"; - case NULL: return null; - default: return "?"; - } - } - public String getSystem() { - switch (this) { - case ADDRESS: return "http://hl7.org/fhir/data-types"; - case AGE: return "http://hl7.org/fhir/data-types"; - case ANNOTATION: return "http://hl7.org/fhir/data-types"; - case ATTACHMENT: return "http://hl7.org/fhir/data-types"; - case BACKBONEELEMENT: return "http://hl7.org/fhir/data-types"; - case BACKBONETYPE: return "http://hl7.org/fhir/data-types"; - case BASE: return "http://hl7.org/fhir/data-types"; - case CODEABLECONCEPT: return "http://hl7.org/fhir/data-types"; - case CODEABLEREFERENCE: return "http://hl7.org/fhir/data-types"; - case CODING: return "http://hl7.org/fhir/data-types"; - case CONTACTDETAIL: return "http://hl7.org/fhir/data-types"; - case CONTACTPOINT: return "http://hl7.org/fhir/data-types"; - case CONTRIBUTOR: return "http://hl7.org/fhir/data-types"; - case COUNT: return "http://hl7.org/fhir/data-types"; - case DATAREQUIREMENT: return "http://hl7.org/fhir/data-types"; - case DATATYPE: return "http://hl7.org/fhir/data-types"; - case DISTANCE: return "http://hl7.org/fhir/data-types"; - case DOSAGE: return "http://hl7.org/fhir/data-types"; - case DURATION: return "http://hl7.org/fhir/data-types"; - case ELEMENT: return "http://hl7.org/fhir/data-types"; - case ELEMENTDEFINITION: return "http://hl7.org/fhir/data-types"; - case EXPRESSION: return "http://hl7.org/fhir/data-types"; - case EXTENDEDCONTACTDETAIL: return "http://hl7.org/fhir/data-types"; - case EXTENSION: return "http://hl7.org/fhir/data-types"; - case HUMANNAME: return "http://hl7.org/fhir/data-types"; - case IDENTIFIER: return "http://hl7.org/fhir/data-types"; - case MARKETINGSTATUS: return "http://hl7.org/fhir/data-types"; - case META: return "http://hl7.org/fhir/data-types"; - case MONEY: return "http://hl7.org/fhir/data-types"; - case MONEYQUANTITY: return "http://hl7.org/fhir/data-types"; - case NARRATIVE: return "http://hl7.org/fhir/data-types"; - case PARAMETERDEFINITION: return "http://hl7.org/fhir/data-types"; - case PERIOD: return "http://hl7.org/fhir/data-types"; - case POPULATION: return "http://hl7.org/fhir/data-types"; - case PRIMITIVETYPE: return "http://hl7.org/fhir/data-types"; - case PRODUCTSHELFLIFE: return "http://hl7.org/fhir/data-types"; - case QUANTITY: return "http://hl7.org/fhir/data-types"; - case RANGE: return "http://hl7.org/fhir/data-types"; - case RATIO: return "http://hl7.org/fhir/data-types"; - case RATIORANGE: return "http://hl7.org/fhir/data-types"; - case REFERENCE: return "http://hl7.org/fhir/data-types"; - case RELATEDARTIFACT: return "http://hl7.org/fhir/data-types"; - case SAMPLEDDATA: return "http://hl7.org/fhir/data-types"; - case SIGNATURE: return "http://hl7.org/fhir/data-types"; - case SIMPLEQUANTITY: return "http://hl7.org/fhir/data-types"; - case TIMING: return "http://hl7.org/fhir/data-types"; - case TRIGGERDEFINITION: return "http://hl7.org/fhir/data-types"; - case USAGECONTEXT: return "http://hl7.org/fhir/data-types"; - case BASE64BINARY: return "http://hl7.org/fhir/data-types"; - case BOOLEAN: return "http://hl7.org/fhir/data-types"; - case CANONICAL: return "http://hl7.org/fhir/data-types"; - case CODE: return "http://hl7.org/fhir/data-types"; - case DATE: return "http://hl7.org/fhir/data-types"; - case DATETIME: return "http://hl7.org/fhir/data-types"; - case DECIMAL: return "http://hl7.org/fhir/data-types"; - case ID: return "http://hl7.org/fhir/data-types"; - case INSTANT: return "http://hl7.org/fhir/data-types"; - case INTEGER: return "http://hl7.org/fhir/data-types"; - case INTEGER64: return "http://hl7.org/fhir/data-types"; - case MARKDOWN: return "http://hl7.org/fhir/data-types"; - case OID: return "http://hl7.org/fhir/data-types"; - case POSITIVEINT: return "http://hl7.org/fhir/data-types"; - case STRING: return "http://hl7.org/fhir/data-types"; - case TIME: return "http://hl7.org/fhir/data-types"; - case UNSIGNEDINT: return "http://hl7.org/fhir/data-types"; - case URI: return "http://hl7.org/fhir/data-types"; - case URL: return "http://hl7.org/fhir/data-types"; - case UUID: return "http://hl7.org/fhir/data-types"; - case XHTML: return "http://hl7.org/fhir/data-types"; - case RESOURCE: return "http://hl7.org/fhir/resource-types"; - case BINARY: return "http://hl7.org/fhir/resource-types"; - case BUNDLE: return "http://hl7.org/fhir/resource-types"; - case DOMAINRESOURCE: return "http://hl7.org/fhir/resource-types"; - case ACCOUNT: return "http://hl7.org/fhir/resource-types"; - case ADMINISTRABLEPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case ADVERSEEVENT: return "http://hl7.org/fhir/resource-types"; - case ALLERGYINTOLERANCE: return "http://hl7.org/fhir/resource-types"; - case APPOINTMENT: return "http://hl7.org/fhir/resource-types"; - case APPOINTMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; - case ARTIFACTASSESSMENT: return "http://hl7.org/fhir/resource-types"; - case AUDITEVENT: return "http://hl7.org/fhir/resource-types"; - case BASIC: return "http://hl7.org/fhir/resource-types"; - case BIOLOGICALLYDERIVEDPRODUCT: return "http://hl7.org/fhir/resource-types"; - case BODYSTRUCTURE: return "http://hl7.org/fhir/resource-types"; - case CANONICALRESOURCE: return "http://hl7.org/fhir/resource-types"; - case CAPABILITYSTATEMENT: return "http://hl7.org/fhir/resource-types"; - case CAPABILITYSTATEMENT2: return "http://hl7.org/fhir/resource-types"; - case CODESYSTEM: return "http://hl7.org/fhir/resource-types"; - case COMPARTMENTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EXAMPLESCENARIO: return "http://hl7.org/fhir/resource-types"; - case GRAPHDEFINITION: return "http://hl7.org/fhir/resource-types"; - case IMPLEMENTATIONGUIDE: return "http://hl7.org/fhir/resource-types"; - case MESSAGEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case METADATARESOURCE: return "http://hl7.org/fhir/resource-types"; - case ACTIVITYDEFINITION: return "http://hl7.org/fhir/resource-types"; - case CHARGEITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; - case CITATION: return "http://hl7.org/fhir/resource-types"; - case CONCEPTMAP: return "http://hl7.org/fhir/resource-types"; - case CONDITIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EVENTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case EVIDENCE: return "http://hl7.org/fhir/resource-types"; - case EVIDENCEREPORT: return "http://hl7.org/fhir/resource-types"; - case EVIDENCEVARIABLE: return "http://hl7.org/fhir/resource-types"; - case LIBRARY: return "http://hl7.org/fhir/resource-types"; - case MEASURE: return "http://hl7.org/fhir/resource-types"; - case NAMINGSYSTEM: return "http://hl7.org/fhir/resource-types"; - case PLANDEFINITION: return "http://hl7.org/fhir/resource-types"; - case QUESTIONNAIRE: return "http://hl7.org/fhir/resource-types"; - case OPERATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SEARCHPARAMETER: return "http://hl7.org/fhir/resource-types"; - case STRUCTUREDEFINITION: return "http://hl7.org/fhir/resource-types"; - case STRUCTUREMAP: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTIONTOPIC: return "http://hl7.org/fhir/resource-types"; - case TERMINOLOGYCAPABILITIES: return "http://hl7.org/fhir/resource-types"; - case TESTSCRIPT: return "http://hl7.org/fhir/resource-types"; - case VALUESET: return "http://hl7.org/fhir/resource-types"; - case CAREPLAN: return "http://hl7.org/fhir/resource-types"; - case CARETEAM: return "http://hl7.org/fhir/resource-types"; - case CHARGEITEM: return "http://hl7.org/fhir/resource-types"; - case CLAIM: return "http://hl7.org/fhir/resource-types"; - case CLAIMRESPONSE: return "http://hl7.org/fhir/resource-types"; - case CLINICALIMPRESSION: return "http://hl7.org/fhir/resource-types"; - case CLINICALUSEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATION: return "http://hl7.org/fhir/resource-types"; - case COMMUNICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case COMPOSITION: return "http://hl7.org/fhir/resource-types"; - case CONDITION: return "http://hl7.org/fhir/resource-types"; - case CONSENT: return "http://hl7.org/fhir/resource-types"; - case CONTRACT: return "http://hl7.org/fhir/resource-types"; - case COVERAGE: return "http://hl7.org/fhir/resource-types"; - case COVERAGEELIGIBILITYREQUEST: return "http://hl7.org/fhir/resource-types"; - case COVERAGEELIGIBILITYRESPONSE: return "http://hl7.org/fhir/resource-types"; - case DETECTEDISSUE: return "http://hl7.org/fhir/resource-types"; - case DEVICE: return "http://hl7.org/fhir/resource-types"; - case DEVICEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case DEVICEDISPENSE: return "http://hl7.org/fhir/resource-types"; - case DEVICEMETRIC: return "http://hl7.org/fhir/resource-types"; - case DEVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case DEVICEUSAGE: return "http://hl7.org/fhir/resource-types"; - case DIAGNOSTICREPORT: return "http://hl7.org/fhir/resource-types"; - case DOCUMENTMANIFEST: return "http://hl7.org/fhir/resource-types"; - case DOCUMENTREFERENCE: return "http://hl7.org/fhir/resource-types"; - case ENCOUNTER: return "http://hl7.org/fhir/resource-types"; - case ENDPOINT: return "http://hl7.org/fhir/resource-types"; - case ENROLLMENTREQUEST: return "http://hl7.org/fhir/resource-types"; - case ENROLLMENTRESPONSE: return "http://hl7.org/fhir/resource-types"; - case EPISODEOFCARE: return "http://hl7.org/fhir/resource-types"; - case EXPLANATIONOFBENEFIT: return "http://hl7.org/fhir/resource-types"; - case FAMILYMEMBERHISTORY: return "http://hl7.org/fhir/resource-types"; - case FLAG: return "http://hl7.org/fhir/resource-types"; - case FORMULARYITEM: return "http://hl7.org/fhir/resource-types"; - case GOAL: return "http://hl7.org/fhir/resource-types"; - case GROUP: return "http://hl7.org/fhir/resource-types"; - case GUIDANCERESPONSE: return "http://hl7.org/fhir/resource-types"; - case HEALTHCARESERVICE: return "http://hl7.org/fhir/resource-types"; - case IMAGINGSELECTION: return "http://hl7.org/fhir/resource-types"; - case IMAGINGSTUDY: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATION: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATIONEVALUATION: return "http://hl7.org/fhir/resource-types"; - case IMMUNIZATIONRECOMMENDATION: return "http://hl7.org/fhir/resource-types"; - case INGREDIENT: return "http://hl7.org/fhir/resource-types"; - case INSURANCEPLAN: return "http://hl7.org/fhir/resource-types"; - case INVENTORYREPORT: return "http://hl7.org/fhir/resource-types"; - case INVOICE: return "http://hl7.org/fhir/resource-types"; - case LINKAGE: return "http://hl7.org/fhir/resource-types"; - case LIST: return "http://hl7.org/fhir/resource-types"; - case LOCATION: return "http://hl7.org/fhir/resource-types"; - case MANUFACTUREDITEMDEFINITION: return "http://hl7.org/fhir/resource-types"; - case MEASUREREPORT: return "http://hl7.org/fhir/resource-types"; - case MEDICATION: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONADMINISTRATION: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONDISPENSE: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONKNOWLEDGE: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONREQUEST: return "http://hl7.org/fhir/resource-types"; - case MEDICATIONUSAGE: return "http://hl7.org/fhir/resource-types"; - case MEDICINALPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case MESSAGEHEADER: return "http://hl7.org/fhir/resource-types"; - case MOLECULARSEQUENCE: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONINTAKE: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONORDER: return "http://hl7.org/fhir/resource-types"; - case NUTRITIONPRODUCT: return "http://hl7.org/fhir/resource-types"; - case OBSERVATION: return "http://hl7.org/fhir/resource-types"; - case OBSERVATIONDEFINITION: return "http://hl7.org/fhir/resource-types"; - case OPERATIONOUTCOME: return "http://hl7.org/fhir/resource-types"; - case ORGANIZATION: return "http://hl7.org/fhir/resource-types"; - case ORGANIZATIONAFFILIATION: return "http://hl7.org/fhir/resource-types"; - case PACKAGEDPRODUCTDEFINITION: return "http://hl7.org/fhir/resource-types"; - case PATIENT: return "http://hl7.org/fhir/resource-types"; - case PAYMENTNOTICE: return "http://hl7.org/fhir/resource-types"; - case PAYMENTRECONCILIATION: return "http://hl7.org/fhir/resource-types"; - case PERMISSION: return "http://hl7.org/fhir/resource-types"; - case PERSON: return "http://hl7.org/fhir/resource-types"; - case PRACTITIONER: return "http://hl7.org/fhir/resource-types"; - case PRACTITIONERROLE: return "http://hl7.org/fhir/resource-types"; - case PROCEDURE: return "http://hl7.org/fhir/resource-types"; - case PROVENANCE: return "http://hl7.org/fhir/resource-types"; - case QUESTIONNAIRERESPONSE: return "http://hl7.org/fhir/resource-types"; - case REGULATEDAUTHORIZATION: return "http://hl7.org/fhir/resource-types"; - case RELATEDPERSON: return "http://hl7.org/fhir/resource-types"; - case REQUESTGROUP: return "http://hl7.org/fhir/resource-types"; - case RESEARCHSTUDY: return "http://hl7.org/fhir/resource-types"; - case RESEARCHSUBJECT: return "http://hl7.org/fhir/resource-types"; - case RISKASSESSMENT: return "http://hl7.org/fhir/resource-types"; - case SCHEDULE: return "http://hl7.org/fhir/resource-types"; - case SERVICEREQUEST: return "http://hl7.org/fhir/resource-types"; - case SLOT: return "http://hl7.org/fhir/resource-types"; - case SPECIMEN: return "http://hl7.org/fhir/resource-types"; - case SPECIMENDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTION: return "http://hl7.org/fhir/resource-types"; - case SUBSCRIPTIONSTATUS: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCE: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEDEFINITION: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCENUCLEICACID: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEPOLYMER: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEPROTEIN: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCEREFERENCEINFORMATION: return "http://hl7.org/fhir/resource-types"; - case SUBSTANCESOURCEMATERIAL: return "http://hl7.org/fhir/resource-types"; - case SUPPLYDELIVERY: return "http://hl7.org/fhir/resource-types"; - case SUPPLYREQUEST: return "http://hl7.org/fhir/resource-types"; - case TASK: return "http://hl7.org/fhir/resource-types"; - case TESTREPORT: return "http://hl7.org/fhir/resource-types"; - case TRANSPORT: return "http://hl7.org/fhir/resource-types"; - case VERIFICATIONRESULT: return "http://hl7.org/fhir/resource-types"; - case VISIONPRESCRIPTION: return "http://hl7.org/fhir/resource-types"; - case PARAMETERS: return "http://hl7.org/fhir/resource-types"; - case NULL: return null; - default: return "?"; - } - } - public String getDefinition() { - switch (this) { - case ADDRESS: return "An address expressed using postal conventions (as opposed to GPS or other location definition formats). This data type may be used to convey addresses for use in delivering mail as well as for visiting locations which might not be valid for mail delivery. There are a variety of postal address formats defined around the world."; - case AGE: return "A duration of time during which an organism (or a process) has existed."; - case ANNOTATION: return "A text note which also contains information about who made the statement and when."; - case ATTACHMENT: return "For referring to data content defined in other formats."; - case BACKBONEELEMENT: return "Base definition for all elements that are defined inside a resource - but not those in a data type."; - case BACKBONETYPE: return "Base definition for the few data types that are allowed to carry modifier extensions."; - case BASE: return "Base definition for all types defined in FHIR type system."; - case CODEABLECONCEPT: return "A concept that may be defined by a formal reference to a terminology or ontology or may be provided by text."; - case CODEABLEREFERENCE: return "A reference to a resource (by instance), or instead, a reference to a concept defined in a terminology or ontology (by class)."; - case CODING: return "A reference to a code defined by a terminology system."; - case CONTACTDETAIL: return "Specifies contact information for a person or organization."; - case CONTACTPOINT: return "Details for all kinds of technology mediated contact points for a person or organization, including telephone, email, etc."; - case CONTRIBUTOR: return "A contributor to the content of a knowledge asset, including authors, editors, reviewers, and endorsers."; - case COUNT: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; - case DATAREQUIREMENT: return "Describes a required data item for evaluation in terms of the type of data, and optional code or date-based filters of the data."; - case DATATYPE: return "The base class for all re-useable types defined as part of the FHIR Specification."; - case DISTANCE: return "A length - a value with a unit that is a physical distance."; - case DOSAGE: return "Indicates how the medication is/was taken or should be taken by the patient."; - case DURATION: return "A length of time."; - case ELEMENT: return "Base definition for all elements in a resource."; - case ELEMENTDEFINITION: return "Captures constraints on each element within the resource, profile, or extension."; - case EXPRESSION: return "A expression that is evaluated in a specified context and returns a value. The context of use of the expression must specify the context in which the expression is evaluated, and how the result of the expression is used."; - case EXTENDEDCONTACTDETAIL: return "Specifies contact information for a specific purpose over a period of time, might be handled/monitored by a specific named person or organization."; - case EXTENSION: return "Optional Extension Element - found in all resources."; - case HUMANNAME: return "A human's name with the ability to identify parts and usage."; - case IDENTIFIER: return "An identifier - identifies some entity uniquely and unambiguously. Typically this is used for business identifiers."; - case MARKETINGSTATUS: return "The marketing status describes the date when a medicinal product is actually put on the market or the date as of which it is no longer available."; - case META: return "The metadata about a resource. This is content in the resource that is maintained by the infrastructure. Changes to the content might not always be associated with version changes to the resource."; - case MONEY: return "An amount of economic utility in some recognized currency."; - case MONEYQUANTITY: return ""; - case NARRATIVE: return "A human-readable summary of the resource conveying the essential clinical and business information for the resource."; - case PARAMETERDEFINITION: return "The parameters to the module. This collection specifies both the input and output parameters. Input parameters are provided by the caller as part of the $evaluate operation. Output parameters are included in the GuidanceResponse."; - case PERIOD: return "A time period defined by a start and end date and optionally time."; - case POPULATION: return "A populatioof people with some set of grouping criteria."; - case PRIMITIVETYPE: return "The base type for all re-useable types defined that have a simple property."; - case PRODUCTSHELFLIFE: return "The shelf-life and storage information for a medicinal product item or container can be described using this class."; - case QUANTITY: return "A measured amount (or an amount that can potentially be measured). Note that measured amounts include amounts that are not precisely quantified, including amounts involving arbitrary units and floating currencies."; - case RANGE: return "A set of ordered Quantities defined by a low and high limit."; - case RATIO: return "A relationship of two Quantity values - expressed as a numerator and a denominator."; - case RATIORANGE: return "A range of ratios expressed as a low and high numerator and a denominator."; - case REFERENCE: return "A reference from one resource to another."; - case RELATEDARTIFACT: return "Related artifacts such as additional documentation, justification, or bibliographic references."; - case SAMPLEDDATA: return "A series of measurements taken by a device, with upper and lower limits. There may be more than one dimension in the data."; - case SIGNATURE: return "A signature along with supporting context. The signature may be a digital signature that is cryptographic in nature, or some other signature acceptable to the domain. This other signature may be as simple as a graphical image representing a hand-written signature, or a signature ceremony Different signature approaches have different utilities."; - case SIMPLEQUANTITY: return ""; - case TIMING: return "Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out."; - case TRIGGERDEFINITION: return "A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element."; - case USAGECONTEXT: return "Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care)."; - case BASE64BINARY: return "A stream of bytes"; - case BOOLEAN: return "Value of \"true\" or \"false\""; - case CANONICAL: return "A URI that is a reference to a canonical URL on a FHIR resource"; - case CODE: return "A string which has at least one character and no leading or trailing whitespace and where there is no whitespace other than single spaces in the contents"; - case DATE: return "A date or partial date (e.g. just year or year + month). There is no UTC offset. The format is a union of the schema types gYear, gYearMonth and date. Dates SHALL be valid dates."; - case DATETIME: return "A date, date-time or partial date (e.g. just year or year + month). If hours and minutes are specified, a UTC offset SHALL be populated. The format is a union of the schema types gYear, gYearMonth, date and dateTime. Seconds must be provided due to schema type constraints but may be zero-filled and may be ignored. Dates SHALL be valid dates."; - case DECIMAL: return "A rational number with implicit precision"; - case ID: return "Any combination of letters, numerals, \"-\" and \".\", with a length limit of 64 characters. (This might be an integer, an unprefixed OID, UUID or any other identifier pattern that meets these constraints.) Ids are case-insensitive."; - case INSTANT: return "An instant in time - known at least to the second"; - case INTEGER: return "A whole number"; - case INTEGER64: return "A very large whole number"; - case MARKDOWN: return "A string that may contain Github Flavored Markdown syntax for optional processing by a mark down presentation engine"; - case OID: return "An OID represented as a URI"; - case POSITIVEINT: return "An integer with a value that is positive (e.g. >0)"; - case STRING: return "A sequence of Unicode characters"; - case TIME: return "A time during the day, with no date specified"; - case UNSIGNEDINT: return "An integer with a value that is not negative (e.g. >= 0)"; - case URI: return "String of characters used to identify a name or a resource"; - case URL: return "A URI that is a literal reference"; - case UUID: return "A UUID, represented as a URI"; - case XHTML: return "XHTML format, as defined by W3C, but restricted usage (mainly, no active content)"; - case RESOURCE: return "--- Abstract Type! ---This is the base resource type for everything."; - case BINARY: return "A resource that represents the data of a single raw artifact as digital content accessible in its native format. A Binary resource can contain any content, whether text, image, pdf, zip archive, etc."; - case BUNDLE: return "A container for a collection of resources."; - case DOMAINRESOURCE: return "--- Abstract Type! ---A resource that includes narrative, extensions, and contained resources."; - case ACCOUNT: return "A financial tool for tracking value accrued for a particular purpose. In the healthcare field, used to track charges for a patient, cost centers, etc."; - case ADMINISTRABLEPRODUCTDEFINITION: return "A medicinal product in the final form which is suitable for administering to a patient (after any mixing of multiple components, dissolution etc. has been performed)."; - case ADVERSEEVENT: return "An event (i.e. any change to current patient status) that may be related to unintended effects on a patient or research subject. The unintended effects may require additional monitoring, treatment or hospitalization or may result in death. The AdverseEvent resource also extends to potential or avoided events that could have had such effects."; - case ALLERGYINTOLERANCE: return "Risk of harmful or undesirable, physiological response which is unique to an individual and associated with exposure to a substance."; - case APPOINTMENT: return "A booking of a healthcare event among patient(s), practitioner(s), related person(s) and/or device(s) for a specific date/time. This may result in one or more Encounter(s)."; - case APPOINTMENTRESPONSE: return "A reply to an appointment request for a patient and/or practitioner(s), such as a confirmation or rejection."; - case ARTIFACTASSESSMENT: return "This Resource provides one or more comments, classifiers or ratings about a Resource and supports attribution and rights management metadata for the added content."; - case AUDITEVENT: return "A record of an event relevant for purposes such as operations, privacy, security, maintenance, and performance analysis."; - case BASIC: return "Basic is used for handling concepts not yet defined in FHIR, narrative-only resources that don't map to an existing resource, and custom resources not appropriate for inclusion in the FHIR specification."; - case BIOLOGICALLYDERIVEDPRODUCT: return "A biological material originating from a biological entity intended to be transplanted or infused into another (possibly the same) biological entity."; - case BODYSTRUCTURE: return "Record details about an anatomical structure. This resource may be used when a coded concept does not provide the necessary detail needed for the use case."; - case CANONICALRESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; - case CAPABILITYSTATEMENT: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case CAPABILITYSTATEMENT2: return "A Capability Statement documents a set of capabilities (behaviors) of a FHIR Server for a particular version of FHIR that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case CODESYSTEM: return "The CodeSystem resource is used to declare the existence of and describe a code system or code system supplement and its key properties, and optionally define a part or all of its content."; - case COMPARTMENTDEFINITION: return "A compartment definition that defines how resources are accessed on a server."; - case EXAMPLESCENARIO: return "Example of workflow instance."; - case GRAPHDEFINITION: return "A formal computable definition of a graph of resources - that is, a coherent set of resources that form a graph by following references. The Graph Definition resource defines a set and makes rules about the set."; - case IMPLEMENTATIONGUIDE: return "A set of rules of how a particular interoperability or standards problem is solved - typically through the use of FHIR resources. This resource is used to gather all the parts of an implementation guide into a logical whole and to publish a computable definition of all the parts."; - case MESSAGEDEFINITION: return "Defines the characteristics of a message that can be shared between systems, including the type of event that initiates the message, the content to be transmitted and what response(s), if any, are permitted."; - case METADATARESOURCE: return "--- Abstract Type! ---Common Ancestor declaration for conformance and knowledge artifact resources."; - case ACTIVITYDEFINITION: return "This resource allows for the definition of some activity to be performed, independent of a particular patient, practitioner, or other performance context."; - case CHARGEITEMDEFINITION: return "The ChargeItemDefinition resource provides the properties that apply to the (billing) codes necessary to calculate costs and prices. The properties may differ largely depending on type and realm, therefore this resource gives only a rough structure and requires profiling for each type of billing code system."; - case CITATION: return "The Citation Resource enables reference to any knowledge artifact for purposes of identification and attribution. The Citation Resource supports existing reference structures and developing publication practices such as versioning, expressing complex contributorship roles, and referencing computable resources."; - case CONCEPTMAP: return "A statement of relationships from one set of concepts to one or more other concepts - either concepts in code systems, or data element/data element concepts, or classes in class models."; - case CONDITIONDEFINITION: return "A definition of a condition and information relevant to managing it."; - case EVENTDEFINITION: return "The EventDefinition resource provides a reusable description of when a particular event can occur."; - case EVIDENCE: return "The Evidence Resource provides a machine-interpretable expression of an evidence concept including the evidence variables (e.g., population, exposures/interventions, comparators, outcomes, measured variables, confounding variables), the statistics, and the certainty of this evidence."; - case EVIDENCEREPORT: return "The EvidenceReport Resource is a specialized container for a collection of resources and codeable concepts, adapted to support compositions of Evidence, EvidenceVariable, and Citation resources and related concepts."; - case EVIDENCEVARIABLE: return "The EvidenceVariable resource describes an element that knowledge (Evidence) is about."; - case LIBRARY: return "The Library resource is a general-purpose container for knowledge asset definitions. It can be used to describe and expose existing knowledge assets such as logic libraries and information model descriptions, as well as to describe a collection of knowledge assets."; - case MEASURE: return "The Measure resource provides the definition of a quality measure."; - case NAMINGSYSTEM: return "A curated namespace that issues unique symbols within that namespace for the identification of concepts, people, devices, etc. Represents a \"System\" used within the Identifier and Coding data types."; - case PLANDEFINITION: return "This resource allows for the definition of various types of plans as a sharable, consumable, and executable artifact. The resource is general enough to support the description of a broad range of clinical and non-clinical artifacts such as clinical decision support rules, order sets, protocols, and drug quality specifications."; - case QUESTIONNAIRE: return "A structured set of questions intended to guide the collection of answers from end-users. Questionnaires provide detailed control over order, presentation, phraseology and grouping to allow coherent, consistent data collection."; - case OPERATIONDEFINITION: return "A formal computable definition of an operation (on the RESTful interface) or a named query (using the search interaction)."; - case SEARCHPARAMETER: return "A search parameter that defines a named search item that can be used to search/filter on a resource."; - case STRUCTUREDEFINITION: return "A definition of a FHIR structure. This resource is used to describe the underlying resources, data types defined in FHIR, and also for describing extensions and constraints on resources and data types."; - case STRUCTUREMAP: return "A Map of relationships between 2 structures that can be used to transform data."; - case SUBSCRIPTIONTOPIC: return "Describes a stream of resource state changes identified by trigger criteria and annotated with labels useful to filter projections from this topic."; - case TERMINOLOGYCAPABILITIES: return "A TerminologyCapabilities resource documents a set of capabilities (behaviors) of a FHIR Terminology Server that may be used as a statement of actual server functionality or a statement of required or desired server implementation."; - case TESTSCRIPT: return "A structured set of tests against a FHIR server or client implementation to determine compliance against the FHIR specification."; - case VALUESET: return "A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html)."; - case CAREPLAN: return "Describes the intention of how one or more practitioners intend to deliver care for a particular patient, group or community for a period of time, possibly limited to care for a specific condition or set of conditions."; - case CARETEAM: return "The Care Team includes all the people and organizations who plan to participate in the coordination and delivery of care."; - case CHARGEITEM: return "The resource ChargeItem describes the provision of healthcare provider products for a certain patient, therefore referring not only to the product, but containing in addition details of the provision, like date, time, amounts and participating organizations and persons. Main Usage of the ChargeItem is to enable the billing process and internal cost allocation."; - case CLAIM: return "A provider issued list of professional services and products which have been provided, or are to be provided, to a patient which is sent to an insurer for reimbursement."; - case CLAIMRESPONSE: return "This resource provides the adjudication details from the processing of a Claim resource."; - case CLINICALIMPRESSION: return "A record of a clinical assessment performed to determine what problem(s) may affect the patient and before planning the treatments or management strategies that are best to manage a patient's condition. Assessments are often 1:1 with a clinical consultation / encounter, but this varies greatly depending on the clinical workflow. This resource is called \"ClinicalImpression\" rather than \"ClinicalAssessment\" to avoid confusion with the recording of assessment tools such as Apgar score."; - case CLINICALUSEDEFINITION: return "A single issue - either an indication, contraindication, interaction or an undesirable effect for a medicinal product, medication, device or procedure."; - case COMMUNICATION: return "A clinical or business level record of information being transmitted or shared; e.g. an alert that was sent to a responsible provider, a public health agency communication to a provider/reporter in response to a case report for a reportable condition."; - case COMMUNICATIONREQUEST: return "A request to convey information; e.g. the CDS system proposes that an alert be sent to a responsible provider, the CDS system proposes that the public health agency be notified about a reportable condition."; - case COMPOSITION: return "A set of healthcare-related information that is assembled together into a single logical package that provides a single coherent statement of meaning, establishes its own context and that has clinical attestation with regard to who is making the statement. A Composition defines the structure and narrative content necessary for a document. However, a Composition alone does not constitute a document. Rather, the Composition must be the first entry in a Bundle where Bundle.type=document, and any other resources referenced from Composition must be included as subsequent entries in the Bundle (for example Patient, Practitioner, Encounter, etc.)."; - case CONDITION: return "A clinical condition, problem, diagnosis, or other event, situation, issue, or clinical concept that has risen to a level of concern."; - case CONSENT: return "A record of a healthcare consumer’s choices or choices made on their behalf by a third party, which permits or denies identified recipient(s) or recipient role(s) to perform one or more actions within a given policy context, for specific purposes and periods of time."; - case CONTRACT: return "Legally enforceable, formally recorded unilateral or bilateral directive i.e., a policy or agreement."; - case COVERAGE: return "Financial instrument which may be used to reimburse or pay for health care products and services. Includes both insurance and self-payment."; - case COVERAGEELIGIBILITYREQUEST: return "The CoverageEligibilityRequest provides patient and insurance coverage information to an insurer for them to respond, in the form of an CoverageEligibilityResponse, with information regarding whether the stated coverage is valid and in-force and optionally to provide the insurance details of the policy."; - case COVERAGEELIGIBILITYRESPONSE: return "This resource provides eligibility and plan details from the processing of an CoverageEligibilityRequest resource."; - case DETECTEDISSUE: return "Indicates an actual or potential clinical issue with or between one or more active or proposed clinical actions for a patient; e.g. Drug-drug interaction, Ineffective treatment frequency, Procedure-condition conflict, etc."; - case DEVICE: return "This resource describes the properties (regulated, has real time clock, etc.), adminstrative (manufacturer name, model number, serial number, firmware, etc), and type (knee replacement, blood pressure cuff, MRI, etc.) of a physical unit (these values do not change much within a given module, for example the serail number, manufacturer name, and model number). An actual unit may consist of several modules in a distinct hierarchy and these are represented by multiple Device resources and bound through the 'parent' element."; - case DEVICEDEFINITION: return "This is a specialized resource that defines the characteristics and capabilities of a device."; - case DEVICEDISPENSE: return "Indicates that a device is to be or has been dispensed for a named person/patient. This includes a description of the product (supply) provided and the instructions for using the device."; - case DEVICEMETRIC: return "Describes a measurement, calculation or setting capability of a medical device."; - case DEVICEREQUEST: return "Represents a request a device to be provided to a specific patient. The device may be an implantable device to be subsequently implanted, or an external assistive device, such as a walker, to be delivered and subsequently be used."; - case DEVICEUSAGE: return "A record of a device being used by a patient where the record is the result of a report from the patient or a clinician."; - case DIAGNOSTICREPORT: return "The findings and interpretation of diagnostic tests performed on patients, groups of patients, products, substances, devices, and locations, and/or specimens derived from these. The report includes clinical context such as requesting provider information, and some mix of atomic results, images, textual and coded interpretations, and formatted representation of diagnostic reports. The report also includes non-clinical context such as batch analysis and stability reporting of products and substances."; - case DOCUMENTMANIFEST: return "A collection of documents compiled for a purpose together with metadata that applies to the collection."; - case DOCUMENTREFERENCE: return "A reference to a document of any kind for any purpose. While the term “document” implies a more narrow focus, for this resource this \"document\" encompasses *any* serialized object with a mime-type, it includes formal patient-centric documents (CDA), clinical notes, scanned paper, non-patient specific documents like policy text, as well as a photo, video, or audio recording acquired or used in healthcare. The DocumentReference resource provides metadata about the document so that the document can be discovered and managed. The actual content may be inline base64 encoded data or provided by direct reference."; - case ENCOUNTER: return "An interaction between a patient and healthcare provider(s) for the purpose of providing healthcare service(s) or assessing the health status of a patient."; - case ENDPOINT: return "The technical details of an endpoint that can be used for electronic services, such as for web services providing XDS.b, a REST endpoint for another FHIR server, or a s/Mime email address. This may include any security context information."; - case ENROLLMENTREQUEST: return "This resource provides the insurance enrollment details to the insurer regarding a specified coverage."; - case ENROLLMENTRESPONSE: return "This resource provides enrollment and plan details from the processing of an EnrollmentRequest resource."; - case EPISODEOFCARE: return "An association between a patient and an organization / healthcare provider(s) during which time encounters may occur. The managing organization assumes a level of responsibility for the patient during this time."; - case EXPLANATIONOFBENEFIT: return "This resource provides: the claim details; adjudication details from the processing of a Claim; and optionally account balance information, for informing the subscriber of the benefits provided."; - case FAMILYMEMBERHISTORY: return "Significant health conditions for a person related to the patient relevant in the context of care for the patient."; - case FLAG: return "Prospective warnings of potential issues when providing care to the patient."; - case FORMULARYITEM: return "This resource describes a product or service that is available through a program and includes the conditions and constraints of availability. All of the information in this resource is specific to the inclusion of the item in the formulary and is not inherent to the item itself."; - case GOAL: return "Describes the intended objective(s) for a patient, group or organization care, for example, weight loss, restoring an activity of daily living, obtaining herd immunity via immunization, meeting a process improvement objective, etc."; - case GROUP: return "Represents a defined collection of entities that may be discussed or acted upon collectively but which are not expected to act collectively, and are not formally or legally recognized; i.e. a collection of entities that isn't an Organization."; - case GUIDANCERESPONSE: return "A guidance response is the formal response to a guidance request, including any output parameters returned by the evaluation, as well as the description of any proposed actions to be taken."; - case HEALTHCARESERVICE: return "The details of a healthcare service available at a location."; - case IMAGINGSELECTION: return "A selection of DICOM SOP instances and/or frames within a single Study and Series. This might include additional specifics such as an image region, an Observation UID or a Segmentation Number, allowing linkage to an Observation Resource or transferring this information along with the ImagingStudy Resource."; - case IMAGINGSTUDY: return "Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities."; - case IMMUNIZATION: return "Describes the event of a patient being administered a vaccine or a record of an immunization as reported by a patient, a clinician or another party."; - case IMMUNIZATIONEVALUATION: return "Describes a comparison of an immunization event against published recommendations to determine if the administration is \"valid\" in relation to those recommendations."; - case IMMUNIZATIONRECOMMENDATION: return "A patient's point-in-time set of recommendations (i.e. forecasting) according to a published schedule with optional supporting justification."; - case INGREDIENT: return "An ingredient of a manufactured item or pharmaceutical product."; - case INSURANCEPLAN: return "Details of a Health Insurance product/plan provided by an organization."; - case INVENTORYREPORT: return "A report of inventory or stock items."; - case INVOICE: return "Invoice containing collected ChargeItems from an Account with calculated individual and total price for Billing purpose."; - case LINKAGE: return "Identifies two or more records (resource instances) that refer to the same real-world \"occurrence\"."; - case LIST: return "A list is a curated collection of resources."; - case LOCATION: return "Details and position information for a physical place where services are provided and resources and participants may be stored, found, contained, or accommodated."; - case MANUFACTUREDITEMDEFINITION: return "The definition and characteristics of a medicinal manufactured item, such as a tablet or capsule, as contained in a packaged medicinal product."; - case MEASUREREPORT: return "The MeasureReport resource contains the results of the calculation of a measure; and optionally a reference to the resources involved in that calculation."; - case MEDICATION: return "This resource is primarily used for the identification and definition of a medication, including ingredients, for the purposes of prescribing, dispensing, and administering a medication as well as for making statements about medication use."; - case MEDICATIONADMINISTRATION: return "Describes the event of a patient consuming or otherwise being administered a medication. This may be as simple as swallowing a tablet or it may be a long running infusion. Related resources tie this event to the authorizing prescription, and the specific encounter between patient and health care practitioner."; - case MEDICATIONDISPENSE: return "Indicates that a medication product is to be or has been dispensed for a named person/patient. This includes a description of the medication product (supply) provided and the instructions for administering the medication. The medication dispense is the result of a pharmacy system responding to a medication order."; - case MEDICATIONKNOWLEDGE: return "Information about a medication that is used to support knowledge."; - case MEDICATIONREQUEST: return "An order or request for both supply of the medication and the instructions for administration of the medication to a patient. The resource is called \"MedicationRequest\" rather than \"MedicationPrescription\" or \"MedicationOrder\" to generalize the use across inpatient and outpatient settings, including care plans, etc., and to harmonize with workflow patterns."; - case MEDICATIONUSAGE: return "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. \n\nThe 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."; - case MEDICINALPRODUCTDEFINITION: return "Detailed definition of a medicinal product, typically for uses other than direct patient care (e.g. regulatory use, drug catalogs, to support prescribing, adverse events management etc.)."; - case MESSAGEHEADER: return "The header for a message exchange that is either requesting or responding to an action. The reference(s) that are the subject of the action as well as other information related to the action are typically transmitted in a bundle in which the MessageHeader resource instance is the first resource in the bundle."; - case MOLECULARSEQUENCE: return "Representation of a molecular sequence."; - case NUTRITIONINTAKE: return "A record of food or fluid that is being consumed by a patient. A NutritionIntake may indicate that the patient may be consuming the food or fluid now or has consumed the food or fluid in the past. 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 or through an app that tracks food or fluids consumed. The consumption information may come from sources such as the patient's memory, from a nutrition label, or from a clinician documenting observed intake."; - case NUTRITIONORDER: return "A request to supply a diet, formula feeding (enteral) or oral nutritional supplement to a patient/resident."; - case NUTRITIONPRODUCT: return "A food or supplement that is consumed by patients."; - case OBSERVATION: return "Measurements and simple assertions made about a patient, device or other subject."; - case OBSERVATIONDEFINITION: return "Set of definitional characteristics for a kind of observation or measurement produced or consumed by an orderable health care service."; - case OPERATIONOUTCOME: return "A collection of error, warning, or information messages that result from a system action."; - case ORGANIZATION: return "A formally or informally recognized grouping of people or organizations formed for the purpose of achieving some form of collective action. Includes companies, institutions, corporations, departments, community groups, healthcare practice groups, payer/insurer, etc."; - case ORGANIZATIONAFFILIATION: return "Defines an affiliation/assotiation/relationship between 2 distinct organizations, that is not a part-of relationship/sub-division relationship."; - case PACKAGEDPRODUCTDEFINITION: return "A medically related item or items, in a container or package."; - case PATIENT: return "Demographics and other administrative information about an individual or animal receiving care or other health-related services."; - case PAYMENTNOTICE: return "This resource provides the status of the payment for goods and services rendered, and the request and response resource references."; - case PAYMENTRECONCILIATION: return "This resource provides the details including amount of a payment and allocates the payment items being paid."; - case PERMISSION: return "Permission."; - case PERSON: return "Demographics and administrative information about a person independent of a specific health-related context."; - case PRACTITIONER: return "A person who is directly or indirectly involved in the provisioning of healthcare."; - case PRACTITIONERROLE: return "A specific set of Roles/Locations/specialties/services that a practitioner may perform at an organization for a period of time."; - case PROCEDURE: return "An action that is or was performed on or for a patient, practitioner, device, organization, or location. For example, this can be a physical intervention on a patient like an operation, or less invasive like long term services, counseling, or hypnotherapy. This can be a quality or safety inspection for a location, organization, or device. This can be an accreditation procedure on a practitioner for licensing."; - case PROVENANCE: return "Provenance of a resource is a record that describes entities and processes involved in producing and delivering or otherwise influencing that resource. Provenance provides a critical foundation for assessing authenticity, enabling trust, and allowing reproducibility. Provenance assertions are a form of contextual metadata and can themselves become important records with their own provenance. Provenance statement indicates clinical significance in terms of confidence in authenticity, reliability, and trustworthiness, integrity, and stage in lifecycle (e.g. Document Completion - has the artifact been legally authenticated), all of which may impact security, privacy, and trust policies."; - case QUESTIONNAIRERESPONSE: return "A structured set of questions and their answers. The questions are ordered and grouped into coherent subsets, corresponding to the structure of the grouping of the questionnaire being responded to."; - case REGULATEDAUTHORIZATION: return "Regulatory approval, clearance or licencing related to a regulated product, treatment, facility or activity that is cited in a guidance, regulation, rule or legislative act. An example is Market Authorization relating to a Medicinal Product."; - case RELATEDPERSON: return "Information about a person that is involved in a patient's health or the care for a patient, but who is not the target of healthcare, nor has a formal responsibility in the care process."; - case REQUESTGROUP: return "A group of related requests that can be used to capture intended activities that have inter-dependencies such as \"give this medication after that one\"."; - case RESEARCHSTUDY: return "A process where a researcher or organization plans and then executes a series of steps intended to increase the field of healthcare-related knowledge. This includes studies of safety, efficacy, comparative effectiveness and other information about medications, devices, therapies and other interventional and investigative techniques. A ResearchStudy involves the gathering of information about human or animal subjects."; - case RESEARCHSUBJECT: return "A physical entity which is the primary unit of operational and/or administrative interest in a study."; - case RISKASSESSMENT: return "An assessment of the likely outcome(s) for a patient or other subject as well as the likelihood of each outcome."; - case SCHEDULE: return "A container for slots of time that may be available for booking appointments."; - case SERVICEREQUEST: return "A record of a request for service such as diagnostic investigations, treatments, or operations to be performed."; - case SLOT: return "A slot of time on a schedule that may be available for booking appointments."; - case SPECIMEN: return "A sample to be used for analysis."; - case SPECIMENDEFINITION: return "A kind of specimen with associated set of requirements."; - case SUBSCRIPTION: return "The subscription resource describes a particular client's request to be notified about a SubscriptionTopic."; - case SUBSCRIPTIONSTATUS: return "The SubscriptionStatus resource describes the state of a Subscription during notifications."; - case SUBSTANCE: return "A homogeneous material with a definite composition."; - case SUBSTANCEDEFINITION: return "The detailed description of a substance, typically at a level beyond what is used for prescribing."; - case SUBSTANCENUCLEICACID: return "Nucleic acids are defined by three distinct elements: the base, sugar and linkage. Individual substance/moiety IDs will be created for each of these elements. The nucleotide sequence will be always entered in the 5’-3’ direction."; - case SUBSTANCEPOLYMER: return "Properties of a substance specific to it being a polymer."; - case SUBSTANCEPROTEIN: return "A SubstanceProtein is defined as a single unit of a linear amino acid sequence, or a combination of subunits that are either covalently linked or have a defined invariant stoichiometric relationship. This includes all synthetic, recombinant and purified SubstanceProteins of defined sequence, whether the use is therapeutic or prophylactic. This set of elements will be used to describe albumins, coagulation factors, cytokines, growth factors, peptide/SubstanceProtein hormones, enzymes, toxins, toxoids, recombinant vaccines, and immunomodulators."; - case SUBSTANCEREFERENCEINFORMATION: return "Todo."; - case SUBSTANCESOURCEMATERIAL: return "Source material shall capture information on the taxonomic and anatomical origins as well as the fraction of a material that can result in or can be modified to form a substance. This set of data elements shall be used to define polymer substances isolated from biological matrices. Taxonomic and anatomical origins shall be described using a controlled vocabulary as required. This information is captured for naturally derived polymers ( . starch) and structurally diverse substances. For Organisms belonging to the Kingdom Plantae the Substance level defines the fresh material of a single species or infraspecies, the Herbal Drug and the Herbal preparation. For Herbal preparations, the fraction information will be captured at the Substance information level and additional information for herbal extracts will be captured at the Specified Substance Group 1 information level. See for further explanation the Substance Class: Structurally Diverse and the herbal annex."; - case SUPPLYDELIVERY: return "Record of delivery of what is supplied."; - case SUPPLYREQUEST: return "A record of a non-patient specific request for a medication, substance, device, certain types of biologically derived product, and nutrition product used in the healthcare setting."; - case TASK: return "A task to be performed."; - case TESTREPORT: return "A summary of information based on the results of executing a TestScript."; - case TRANSPORT: return "Record of transport."; - case VERIFICATIONRESULT: return "Describes validation requirements, source(s), status and dates for one or more elements."; - case VISIONPRESCRIPTION: return "An authorization for the provision of glasses and/or contact lenses to a patient."; - case PARAMETERS: return "This resource is a non-persisted resource primarily used to pass information into and back from an [operation](operations.html). There is no RESTful endpoint associated with it."; - case NULL: return null; - default: return "?"; - } - } - public String getDisplay() { - switch (this) { - case ADDRESS: return "Address"; - case AGE: return "Age"; - case ANNOTATION: return "Annotation"; - case ATTACHMENT: return "Attachment"; - case BACKBONEELEMENT: return "BackboneElement"; - case BACKBONETYPE: return "BackboneType"; - case BASE: return "Base"; - case CODEABLECONCEPT: return "CodeableConcept"; - case CODEABLEREFERENCE: return "CodeableReference"; - case CODING: return "Coding"; - case CONTACTDETAIL: return "ContactDetail"; - case CONTACTPOINT: return "ContactPoint"; - case CONTRIBUTOR: return "Contributor"; - case COUNT: return "Count"; - case DATAREQUIREMENT: return "DataRequirement"; - case DATATYPE: return "DataType"; - case DISTANCE: return "Distance"; - case DOSAGE: return "Dosage"; - case DURATION: return "Duration"; - case ELEMENT: return "Element"; - case ELEMENTDEFINITION: return "ElementDefinition"; - case EXPRESSION: return "Expression"; - case EXTENDEDCONTACTDETAIL: return "ExtendedContactDetail"; - case EXTENSION: return "Extension"; - case HUMANNAME: return "HumanName"; - case IDENTIFIER: return "Identifier"; - case MARKETINGSTATUS: return "MarketingStatus"; - case META: return "Meta"; - case MONEY: return "Money"; - case MONEYQUANTITY: return "MoneyQuantity"; - case NARRATIVE: return "Narrative"; - case PARAMETERDEFINITION: return "ParameterDefinition"; - case PERIOD: return "Period"; - case POPULATION: return "Population"; - case PRIMITIVETYPE: return "PrimitiveType"; - case PRODUCTSHELFLIFE: return "ProductShelfLife"; - case QUANTITY: return "Quantity"; - case RANGE: return "Range"; - case RATIO: return "Ratio"; - case RATIORANGE: return "RatioRange"; - case REFERENCE: return "Reference"; - case RELATEDARTIFACT: return "RelatedArtifact"; - case SAMPLEDDATA: return "SampledData"; - case SIGNATURE: return "Signature"; - case SIMPLEQUANTITY: return "SimpleQuantity"; - case TIMING: return "Timing"; - case TRIGGERDEFINITION: return "TriggerDefinition"; - case USAGECONTEXT: return "UsageContext"; - case BASE64BINARY: return "base64Binary"; - case BOOLEAN: return "boolean"; - case CANONICAL: return "canonical"; - case CODE: return "code"; - case DATE: return "date"; - case DATETIME: return "dateTime"; - case DECIMAL: return "decimal"; - case ID: return "id"; - case INSTANT: return "instant"; - case INTEGER: return "integer"; - case INTEGER64: return "integer64"; - case MARKDOWN: return "markdown"; - case OID: return "oid"; - case POSITIVEINT: return "positiveInt"; - case STRING: return "string"; - case TIME: return "time"; - case UNSIGNEDINT: return "unsignedInt"; - case URI: return "uri"; - case URL: return "url"; - case UUID: return "uuid"; - case XHTML: return "XHTML"; - case RESOURCE: return "Resource"; - case BINARY: return "Binary"; - case BUNDLE: return "Bundle"; - case DOMAINRESOURCE: return "DomainResource"; - case ACCOUNT: return "Account"; - case ADMINISTRABLEPRODUCTDEFINITION: return "AdministrableProductDefinition"; - case ADVERSEEVENT: return "AdverseEvent"; - case ALLERGYINTOLERANCE: return "AllergyIntolerance"; - case APPOINTMENT: return "Appointment"; - case APPOINTMENTRESPONSE: return "AppointmentResponse"; - case ARTIFACTASSESSMENT: return "ArtifactAssessment"; - case AUDITEVENT: return "AuditEvent"; - case BASIC: return "Basic"; - case BIOLOGICALLYDERIVEDPRODUCT: return "BiologicallyDerivedProduct"; - case BODYSTRUCTURE: return "BodyStructure"; - case CANONICALRESOURCE: return "CanonicalResource"; - case CAPABILITYSTATEMENT: return "CapabilityStatement"; - case CAPABILITYSTATEMENT2: return "CapabilityStatement2"; - case CODESYSTEM: return "CodeSystem"; - case COMPARTMENTDEFINITION: return "CompartmentDefinition"; - case EXAMPLESCENARIO: return "ExampleScenario"; - case GRAPHDEFINITION: return "GraphDefinition"; - case IMPLEMENTATIONGUIDE: return "ImplementationGuide"; - case MESSAGEDEFINITION: return "MessageDefinition"; - case METADATARESOURCE: return "MetadataResource"; - case ACTIVITYDEFINITION: return "ActivityDefinition"; - case CHARGEITEMDEFINITION: return "ChargeItemDefinition"; - case CITATION: return "Citation"; - case CONCEPTMAP: return "ConceptMap"; - case CONDITIONDEFINITION: return "ConditionDefinition"; - case EVENTDEFINITION: return "EventDefinition"; - case EVIDENCE: return "Evidence"; - case EVIDENCEREPORT: return "EvidenceReport"; - case EVIDENCEVARIABLE: return "EvidenceVariable"; - case LIBRARY: return "Library"; - case MEASURE: return "Measure"; - case NAMINGSYSTEM: return "NamingSystem"; - case PLANDEFINITION: return "PlanDefinition"; - case QUESTIONNAIRE: return "Questionnaire"; - case OPERATIONDEFINITION: return "OperationDefinition"; - case SEARCHPARAMETER: return "SearchParameter"; - case STRUCTUREDEFINITION: return "StructureDefinition"; - case STRUCTUREMAP: return "StructureMap"; - case SUBSCRIPTIONTOPIC: return "SubscriptionTopic"; - case TERMINOLOGYCAPABILITIES: return "TerminologyCapabilities"; - case TESTSCRIPT: return "TestScript"; - case VALUESET: return "ValueSet"; - case CAREPLAN: return "CarePlan"; - case CARETEAM: return "CareTeam"; - case CHARGEITEM: return "ChargeItem"; - case CLAIM: return "Claim"; - case CLAIMRESPONSE: return "ClaimResponse"; - case CLINICALIMPRESSION: return "ClinicalImpression"; - case CLINICALUSEDEFINITION: return "ClinicalUseDefinition"; - case COMMUNICATION: return "Communication"; - case COMMUNICATIONREQUEST: return "CommunicationRequest"; - case COMPOSITION: return "Composition"; - case CONDITION: return "Condition"; - case CONSENT: return "Consent"; - case CONTRACT: return "Contract"; - case COVERAGE: return "Coverage"; - case COVERAGEELIGIBILITYREQUEST: return "CoverageEligibilityRequest"; - case COVERAGEELIGIBILITYRESPONSE: return "CoverageEligibilityResponse"; - case DETECTEDISSUE: return "DetectedIssue"; - case DEVICE: return "Device"; - case DEVICEDEFINITION: return "DeviceDefinition"; - case DEVICEDISPENSE: return "DeviceDispense"; - case DEVICEMETRIC: return "DeviceMetric"; - case DEVICEREQUEST: return "DeviceRequest"; - case DEVICEUSAGE: return "DeviceUsage"; - case DIAGNOSTICREPORT: return "DiagnosticReport"; - case DOCUMENTMANIFEST: return "DocumentManifest"; - case DOCUMENTREFERENCE: return "DocumentReference"; - case ENCOUNTER: return "Encounter"; - case ENDPOINT: return "Endpoint"; - case ENROLLMENTREQUEST: return "EnrollmentRequest"; - case ENROLLMENTRESPONSE: return "EnrollmentResponse"; - case EPISODEOFCARE: return "EpisodeOfCare"; - case EXPLANATIONOFBENEFIT: return "ExplanationOfBenefit"; - case FAMILYMEMBERHISTORY: return "FamilyMemberHistory"; - case FLAG: return "Flag"; - case FORMULARYITEM: return "FormularyItem"; - case GOAL: return "Goal"; - case GROUP: return "Group"; - case GUIDANCERESPONSE: return "GuidanceResponse"; - case HEALTHCARESERVICE: return "HealthcareService"; - case IMAGINGSELECTION: return "ImagingSelection"; - case IMAGINGSTUDY: return "ImagingStudy"; - case IMMUNIZATION: return "Immunization"; - case IMMUNIZATIONEVALUATION: return "ImmunizationEvaluation"; - case IMMUNIZATIONRECOMMENDATION: return "ImmunizationRecommendation"; - case INGREDIENT: return "Ingredient"; - case INSURANCEPLAN: return "InsurancePlan"; - case INVENTORYREPORT: return "InventoryReport"; - case INVOICE: return "Invoice"; - case LINKAGE: return "Linkage"; - case LIST: return "List"; - case LOCATION: return "Location"; - case MANUFACTUREDITEMDEFINITION: return "ManufacturedItemDefinition"; - case MEASUREREPORT: return "MeasureReport"; - case MEDICATION: return "Medication"; - case MEDICATIONADMINISTRATION: return "MedicationAdministration"; - case MEDICATIONDISPENSE: return "MedicationDispense"; - case MEDICATIONKNOWLEDGE: return "MedicationKnowledge"; - case MEDICATIONREQUEST: return "MedicationRequest"; - case MEDICATIONUSAGE: return "MedicationUsage"; - case MEDICINALPRODUCTDEFINITION: return "MedicinalProductDefinition"; - case MESSAGEHEADER: return "MessageHeader"; - case MOLECULARSEQUENCE: return "MolecularSequence"; - case NUTRITIONINTAKE: return "NutritionIntake"; - case NUTRITIONORDER: return "NutritionOrder"; - case NUTRITIONPRODUCT: return "NutritionProduct"; - case OBSERVATION: return "Observation"; - case OBSERVATIONDEFINITION: return "ObservationDefinition"; - case OPERATIONOUTCOME: return "OperationOutcome"; - case ORGANIZATION: return "Organization"; - case ORGANIZATIONAFFILIATION: return "OrganizationAffiliation"; - case PACKAGEDPRODUCTDEFINITION: return "PackagedProductDefinition"; - case PATIENT: return "Patient"; - case PAYMENTNOTICE: return "PaymentNotice"; - case PAYMENTRECONCILIATION: return "PaymentReconciliation"; - case PERMISSION: return "Permission"; - case PERSON: return "Person"; - case PRACTITIONER: return "Practitioner"; - case PRACTITIONERROLE: return "PractitionerRole"; - case PROCEDURE: return "Procedure"; - case PROVENANCE: return "Provenance"; - case QUESTIONNAIRERESPONSE: return "QuestionnaireResponse"; - case REGULATEDAUTHORIZATION: return "RegulatedAuthorization"; - case RELATEDPERSON: return "RelatedPerson"; - case REQUESTGROUP: return "RequestGroup"; - case RESEARCHSTUDY: return "ResearchStudy"; - case RESEARCHSUBJECT: return "ResearchSubject"; - case RISKASSESSMENT: return "RiskAssessment"; - case SCHEDULE: return "Schedule"; - case SERVICEREQUEST: return "ServiceRequest"; - case SLOT: return "Slot"; - case SPECIMEN: return "Specimen"; - case SPECIMENDEFINITION: return "SpecimenDefinition"; - case SUBSCRIPTION: return "Subscription"; - case SUBSCRIPTIONSTATUS: return "SubscriptionStatus"; - case SUBSTANCE: return "Substance"; - case SUBSTANCEDEFINITION: return "SubstanceDefinition"; - case SUBSTANCENUCLEICACID: return "SubstanceNucleicAcid"; - case SUBSTANCEPOLYMER: return "SubstancePolymer"; - case SUBSTANCEPROTEIN: return "SubstanceProtein"; - case SUBSTANCEREFERENCEINFORMATION: return "SubstanceReferenceInformation"; - case SUBSTANCESOURCEMATERIAL: return "SubstanceSourceMaterial"; - case SUPPLYDELIVERY: return "SupplyDelivery"; - case SUPPLYREQUEST: return "SupplyRequest"; - case TASK: return "Task"; - case TESTREPORT: return "TestReport"; - case TRANSPORT: return "Transport"; - case VERIFICATIONRESULT: return "VerificationResult"; - case VISIONPRESCRIPTION: return "VisionPrescription"; - case PARAMETERS: return "Parameters"; - case NULL: return null; - default: return "?"; - } - } - } - - public static class FHIRDefinedTypeEnumFactory implements EnumFactory { - public FHIRDefinedType fromCode(String codeString) throws IllegalArgumentException { - if (codeString == null || "".equals(codeString)) - if (codeString == null || "".equals(codeString)) - return null; - if ("Address".equals(codeString)) - return FHIRDefinedType.ADDRESS; - if ("Age".equals(codeString)) - return FHIRDefinedType.AGE; - if ("Annotation".equals(codeString)) - return FHIRDefinedType.ANNOTATION; - if ("Attachment".equals(codeString)) - return FHIRDefinedType.ATTACHMENT; - if ("BackboneElement".equals(codeString)) - return FHIRDefinedType.BACKBONEELEMENT; - if ("BackboneType".equals(codeString)) - return FHIRDefinedType.BACKBONETYPE; - if ("Base".equals(codeString)) - return FHIRDefinedType.BASE; - if ("CodeableConcept".equals(codeString)) - return FHIRDefinedType.CODEABLECONCEPT; - if ("CodeableReference".equals(codeString)) - return FHIRDefinedType.CODEABLEREFERENCE; - if ("Coding".equals(codeString)) - return FHIRDefinedType.CODING; - if ("ContactDetail".equals(codeString)) - return FHIRDefinedType.CONTACTDETAIL; - if ("ContactPoint".equals(codeString)) - return FHIRDefinedType.CONTACTPOINT; - if ("Contributor".equals(codeString)) - return FHIRDefinedType.CONTRIBUTOR; - if ("Count".equals(codeString)) - return FHIRDefinedType.COUNT; - if ("DataRequirement".equals(codeString)) - return FHIRDefinedType.DATAREQUIREMENT; - if ("DataType".equals(codeString)) - return FHIRDefinedType.DATATYPE; - if ("Distance".equals(codeString)) - return FHIRDefinedType.DISTANCE; - if ("Dosage".equals(codeString)) - return FHIRDefinedType.DOSAGE; - if ("Duration".equals(codeString)) - return FHIRDefinedType.DURATION; - if ("Element".equals(codeString)) - return FHIRDefinedType.ELEMENT; - if ("ElementDefinition".equals(codeString)) - return FHIRDefinedType.ELEMENTDEFINITION; - if ("Expression".equals(codeString)) - return FHIRDefinedType.EXPRESSION; - if ("ExtendedContactDetail".equals(codeString)) - return FHIRDefinedType.EXTENDEDCONTACTDETAIL; - if ("Extension".equals(codeString)) - return FHIRDefinedType.EXTENSION; - if ("HumanName".equals(codeString)) - return FHIRDefinedType.HUMANNAME; - if ("Identifier".equals(codeString)) - return FHIRDefinedType.IDENTIFIER; - if ("MarketingStatus".equals(codeString)) - return FHIRDefinedType.MARKETINGSTATUS; - if ("Meta".equals(codeString)) - return FHIRDefinedType.META; - if ("Money".equals(codeString)) - return FHIRDefinedType.MONEY; - if ("MoneyQuantity".equals(codeString)) - return FHIRDefinedType.MONEYQUANTITY; - if ("Narrative".equals(codeString)) - return FHIRDefinedType.NARRATIVE; - if ("ParameterDefinition".equals(codeString)) - return FHIRDefinedType.PARAMETERDEFINITION; - if ("Period".equals(codeString)) - return FHIRDefinedType.PERIOD; - if ("Population".equals(codeString)) - return FHIRDefinedType.POPULATION; - if ("PrimitiveType".equals(codeString)) - return FHIRDefinedType.PRIMITIVETYPE; - if ("ProductShelfLife".equals(codeString)) - return FHIRDefinedType.PRODUCTSHELFLIFE; - if ("Quantity".equals(codeString)) - return FHIRDefinedType.QUANTITY; - if ("Range".equals(codeString)) - return FHIRDefinedType.RANGE; - if ("Ratio".equals(codeString)) - return FHIRDefinedType.RATIO; - if ("RatioRange".equals(codeString)) - return FHIRDefinedType.RATIORANGE; - if ("Reference".equals(codeString)) - return FHIRDefinedType.REFERENCE; - if ("RelatedArtifact".equals(codeString)) - return FHIRDefinedType.RELATEDARTIFACT; - if ("SampledData".equals(codeString)) - return FHIRDefinedType.SAMPLEDDATA; - if ("Signature".equals(codeString)) - return FHIRDefinedType.SIGNATURE; - if ("SimpleQuantity".equals(codeString)) - return FHIRDefinedType.SIMPLEQUANTITY; - if ("Timing".equals(codeString)) - return FHIRDefinedType.TIMING; - if ("TriggerDefinition".equals(codeString)) - return FHIRDefinedType.TRIGGERDEFINITION; - if ("UsageContext".equals(codeString)) - return FHIRDefinedType.USAGECONTEXT; - if ("base64Binary".equals(codeString)) - return FHIRDefinedType.BASE64BINARY; - if ("boolean".equals(codeString)) - return FHIRDefinedType.BOOLEAN; - if ("canonical".equals(codeString)) - return FHIRDefinedType.CANONICAL; - if ("code".equals(codeString)) - return FHIRDefinedType.CODE; - if ("date".equals(codeString)) - return FHIRDefinedType.DATE; - if ("dateTime".equals(codeString)) - return FHIRDefinedType.DATETIME; - if ("decimal".equals(codeString)) - return FHIRDefinedType.DECIMAL; - if ("id".equals(codeString)) - return FHIRDefinedType.ID; - if ("instant".equals(codeString)) - return FHIRDefinedType.INSTANT; - if ("integer".equals(codeString)) - return FHIRDefinedType.INTEGER; - if ("integer64".equals(codeString)) - return FHIRDefinedType.INTEGER64; - if ("markdown".equals(codeString)) - return FHIRDefinedType.MARKDOWN; - if ("oid".equals(codeString)) - return FHIRDefinedType.OID; - if ("positiveInt".equals(codeString)) - return FHIRDefinedType.POSITIVEINT; - if ("string".equals(codeString)) - return FHIRDefinedType.STRING; - if ("time".equals(codeString)) - return FHIRDefinedType.TIME; - if ("unsignedInt".equals(codeString)) - return FHIRDefinedType.UNSIGNEDINT; - if ("uri".equals(codeString)) - return FHIRDefinedType.URI; - if ("url".equals(codeString)) - return FHIRDefinedType.URL; - if ("uuid".equals(codeString)) - return FHIRDefinedType.UUID; - if ("xhtml".equals(codeString)) - return FHIRDefinedType.XHTML; - if ("Resource".equals(codeString)) - return FHIRDefinedType.RESOURCE; - if ("Binary".equals(codeString)) - return FHIRDefinedType.BINARY; - if ("Bundle".equals(codeString)) - return FHIRDefinedType.BUNDLE; - if ("DomainResource".equals(codeString)) - return FHIRDefinedType.DOMAINRESOURCE; - if ("Account".equals(codeString)) - return FHIRDefinedType.ACCOUNT; - if ("AdministrableProductDefinition".equals(codeString)) - return FHIRDefinedType.ADMINISTRABLEPRODUCTDEFINITION; - if ("AdverseEvent".equals(codeString)) - return FHIRDefinedType.ADVERSEEVENT; - if ("AllergyIntolerance".equals(codeString)) - return FHIRDefinedType.ALLERGYINTOLERANCE; - if ("Appointment".equals(codeString)) - return FHIRDefinedType.APPOINTMENT; - if ("AppointmentResponse".equals(codeString)) - return FHIRDefinedType.APPOINTMENTRESPONSE; - if ("ArtifactAssessment".equals(codeString)) - return FHIRDefinedType.ARTIFACTASSESSMENT; - if ("AuditEvent".equals(codeString)) - return FHIRDefinedType.AUDITEVENT; - if ("Basic".equals(codeString)) - return FHIRDefinedType.BASIC; - if ("BiologicallyDerivedProduct".equals(codeString)) - return FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT; - if ("BodyStructure".equals(codeString)) - return FHIRDefinedType.BODYSTRUCTURE; - if ("CanonicalResource".equals(codeString)) - return FHIRDefinedType.CANONICALRESOURCE; - if ("CapabilityStatement".equals(codeString)) - return FHIRDefinedType.CAPABILITYSTATEMENT; - if ("CapabilityStatement2".equals(codeString)) - return FHIRDefinedType.CAPABILITYSTATEMENT2; - if ("CodeSystem".equals(codeString)) - return FHIRDefinedType.CODESYSTEM; - if ("CompartmentDefinition".equals(codeString)) - return FHIRDefinedType.COMPARTMENTDEFINITION; - if ("ExampleScenario".equals(codeString)) - return FHIRDefinedType.EXAMPLESCENARIO; - if ("GraphDefinition".equals(codeString)) - return FHIRDefinedType.GRAPHDEFINITION; - if ("ImplementationGuide".equals(codeString)) - return FHIRDefinedType.IMPLEMENTATIONGUIDE; - if ("MessageDefinition".equals(codeString)) - return FHIRDefinedType.MESSAGEDEFINITION; - if ("MetadataResource".equals(codeString)) - return FHIRDefinedType.METADATARESOURCE; - if ("ActivityDefinition".equals(codeString)) - return FHIRDefinedType.ACTIVITYDEFINITION; - if ("ChargeItemDefinition".equals(codeString)) - return FHIRDefinedType.CHARGEITEMDEFINITION; - if ("Citation".equals(codeString)) - return FHIRDefinedType.CITATION; - if ("ConceptMap".equals(codeString)) - return FHIRDefinedType.CONCEPTMAP; - if ("ConditionDefinition".equals(codeString)) - return FHIRDefinedType.CONDITIONDEFINITION; - if ("EventDefinition".equals(codeString)) - return FHIRDefinedType.EVENTDEFINITION; - if ("Evidence".equals(codeString)) - return FHIRDefinedType.EVIDENCE; - if ("EvidenceReport".equals(codeString)) - return FHIRDefinedType.EVIDENCEREPORT; - if ("EvidenceVariable".equals(codeString)) - return FHIRDefinedType.EVIDENCEVARIABLE; - if ("Library".equals(codeString)) - return FHIRDefinedType.LIBRARY; - if ("Measure".equals(codeString)) - return FHIRDefinedType.MEASURE; - if ("NamingSystem".equals(codeString)) - return FHIRDefinedType.NAMINGSYSTEM; - if ("PlanDefinition".equals(codeString)) - return FHIRDefinedType.PLANDEFINITION; - if ("Questionnaire".equals(codeString)) - return FHIRDefinedType.QUESTIONNAIRE; - if ("OperationDefinition".equals(codeString)) - return FHIRDefinedType.OPERATIONDEFINITION; - if ("SearchParameter".equals(codeString)) - return FHIRDefinedType.SEARCHPARAMETER; - if ("StructureDefinition".equals(codeString)) - return FHIRDefinedType.STRUCTUREDEFINITION; - if ("StructureMap".equals(codeString)) - return FHIRDefinedType.STRUCTUREMAP; - if ("SubscriptionTopic".equals(codeString)) - return FHIRDefinedType.SUBSCRIPTIONTOPIC; - if ("TerminologyCapabilities".equals(codeString)) - return FHIRDefinedType.TERMINOLOGYCAPABILITIES; - if ("TestScript".equals(codeString)) - return FHIRDefinedType.TESTSCRIPT; - if ("ValueSet".equals(codeString)) - return FHIRDefinedType.VALUESET; - if ("CarePlan".equals(codeString)) - return FHIRDefinedType.CAREPLAN; - if ("CareTeam".equals(codeString)) - return FHIRDefinedType.CARETEAM; - if ("ChargeItem".equals(codeString)) - return FHIRDefinedType.CHARGEITEM; - if ("Claim".equals(codeString)) - return FHIRDefinedType.CLAIM; - if ("ClaimResponse".equals(codeString)) - return FHIRDefinedType.CLAIMRESPONSE; - if ("ClinicalImpression".equals(codeString)) - return FHIRDefinedType.CLINICALIMPRESSION; - if ("ClinicalUseDefinition".equals(codeString)) - return FHIRDefinedType.CLINICALUSEDEFINITION; - if ("Communication".equals(codeString)) - return FHIRDefinedType.COMMUNICATION; - if ("CommunicationRequest".equals(codeString)) - return FHIRDefinedType.COMMUNICATIONREQUEST; - if ("Composition".equals(codeString)) - return FHIRDefinedType.COMPOSITION; - if ("Condition".equals(codeString)) - return FHIRDefinedType.CONDITION; - if ("Consent".equals(codeString)) - return FHIRDefinedType.CONSENT; - if ("Contract".equals(codeString)) - return FHIRDefinedType.CONTRACT; - if ("Coverage".equals(codeString)) - return FHIRDefinedType.COVERAGE; - if ("CoverageEligibilityRequest".equals(codeString)) - return FHIRDefinedType.COVERAGEELIGIBILITYREQUEST; - if ("CoverageEligibilityResponse".equals(codeString)) - return FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE; - if ("DetectedIssue".equals(codeString)) - return FHIRDefinedType.DETECTEDISSUE; - if ("Device".equals(codeString)) - return FHIRDefinedType.DEVICE; - if ("DeviceDefinition".equals(codeString)) - return FHIRDefinedType.DEVICEDEFINITION; - if ("DeviceDispense".equals(codeString)) - return FHIRDefinedType.DEVICEDISPENSE; - if ("DeviceMetric".equals(codeString)) - return FHIRDefinedType.DEVICEMETRIC; - if ("DeviceRequest".equals(codeString)) - return FHIRDefinedType.DEVICEREQUEST; - if ("DeviceUsage".equals(codeString)) - return FHIRDefinedType.DEVICEUSAGE; - if ("DiagnosticReport".equals(codeString)) - return FHIRDefinedType.DIAGNOSTICREPORT; - if ("DocumentManifest".equals(codeString)) - return FHIRDefinedType.DOCUMENTMANIFEST; - if ("DocumentReference".equals(codeString)) - return FHIRDefinedType.DOCUMENTREFERENCE; - if ("Encounter".equals(codeString)) - return FHIRDefinedType.ENCOUNTER; - if ("Endpoint".equals(codeString)) - return FHIRDefinedType.ENDPOINT; - if ("EnrollmentRequest".equals(codeString)) - return FHIRDefinedType.ENROLLMENTREQUEST; - if ("EnrollmentResponse".equals(codeString)) - return FHIRDefinedType.ENROLLMENTRESPONSE; - if ("EpisodeOfCare".equals(codeString)) - return FHIRDefinedType.EPISODEOFCARE; - if ("ExplanationOfBenefit".equals(codeString)) - return FHIRDefinedType.EXPLANATIONOFBENEFIT; - if ("FamilyMemberHistory".equals(codeString)) - return FHIRDefinedType.FAMILYMEMBERHISTORY; - if ("Flag".equals(codeString)) - return FHIRDefinedType.FLAG; - if ("FormularyItem".equals(codeString)) - return FHIRDefinedType.FORMULARYITEM; - if ("Goal".equals(codeString)) - return FHIRDefinedType.GOAL; - if ("Group".equals(codeString)) - return FHIRDefinedType.GROUP; - if ("GuidanceResponse".equals(codeString)) - return FHIRDefinedType.GUIDANCERESPONSE; - if ("HealthcareService".equals(codeString)) - return FHIRDefinedType.HEALTHCARESERVICE; - if ("ImagingSelection".equals(codeString)) - return FHIRDefinedType.IMAGINGSELECTION; - if ("ImagingStudy".equals(codeString)) - return FHIRDefinedType.IMAGINGSTUDY; - if ("Immunization".equals(codeString)) - return FHIRDefinedType.IMMUNIZATION; - if ("ImmunizationEvaluation".equals(codeString)) - return FHIRDefinedType.IMMUNIZATIONEVALUATION; - if ("ImmunizationRecommendation".equals(codeString)) - return FHIRDefinedType.IMMUNIZATIONRECOMMENDATION; - if ("Ingredient".equals(codeString)) - return FHIRDefinedType.INGREDIENT; - if ("InsurancePlan".equals(codeString)) - return FHIRDefinedType.INSURANCEPLAN; - if ("InventoryReport".equals(codeString)) - return FHIRDefinedType.INVENTORYREPORT; - if ("Invoice".equals(codeString)) - return FHIRDefinedType.INVOICE; - if ("Linkage".equals(codeString)) - return FHIRDefinedType.LINKAGE; - if ("List".equals(codeString)) - return FHIRDefinedType.LIST; - if ("Location".equals(codeString)) - return FHIRDefinedType.LOCATION; - if ("ManufacturedItemDefinition".equals(codeString)) - return FHIRDefinedType.MANUFACTUREDITEMDEFINITION; - if ("MeasureReport".equals(codeString)) - return FHIRDefinedType.MEASUREREPORT; - if ("Medication".equals(codeString)) - return FHIRDefinedType.MEDICATION; - if ("MedicationAdministration".equals(codeString)) - return FHIRDefinedType.MEDICATIONADMINISTRATION; - if ("MedicationDispense".equals(codeString)) - return FHIRDefinedType.MEDICATIONDISPENSE; - if ("MedicationKnowledge".equals(codeString)) - return FHIRDefinedType.MEDICATIONKNOWLEDGE; - if ("MedicationRequest".equals(codeString)) - return FHIRDefinedType.MEDICATIONREQUEST; - if ("MedicationUsage".equals(codeString)) - return FHIRDefinedType.MEDICATIONUSAGE; - if ("MedicinalProductDefinition".equals(codeString)) - return FHIRDefinedType.MEDICINALPRODUCTDEFINITION; - if ("MessageHeader".equals(codeString)) - return FHIRDefinedType.MESSAGEHEADER; - if ("MolecularSequence".equals(codeString)) - return FHIRDefinedType.MOLECULARSEQUENCE; - if ("NutritionIntake".equals(codeString)) - return FHIRDefinedType.NUTRITIONINTAKE; - if ("NutritionOrder".equals(codeString)) - return FHIRDefinedType.NUTRITIONORDER; - if ("NutritionProduct".equals(codeString)) - return FHIRDefinedType.NUTRITIONPRODUCT; - if ("Observation".equals(codeString)) - return FHIRDefinedType.OBSERVATION; - if ("ObservationDefinition".equals(codeString)) - return FHIRDefinedType.OBSERVATIONDEFINITION; - if ("OperationOutcome".equals(codeString)) - return FHIRDefinedType.OPERATIONOUTCOME; - if ("Organization".equals(codeString)) - return FHIRDefinedType.ORGANIZATION; - if ("OrganizationAffiliation".equals(codeString)) - return FHIRDefinedType.ORGANIZATIONAFFILIATION; - if ("PackagedProductDefinition".equals(codeString)) - return FHIRDefinedType.PACKAGEDPRODUCTDEFINITION; - if ("Patient".equals(codeString)) - return FHIRDefinedType.PATIENT; - if ("PaymentNotice".equals(codeString)) - return FHIRDefinedType.PAYMENTNOTICE; - if ("PaymentReconciliation".equals(codeString)) - return FHIRDefinedType.PAYMENTRECONCILIATION; - if ("Permission".equals(codeString)) - return FHIRDefinedType.PERMISSION; - if ("Person".equals(codeString)) - return FHIRDefinedType.PERSON; - if ("Practitioner".equals(codeString)) - return FHIRDefinedType.PRACTITIONER; - if ("PractitionerRole".equals(codeString)) - return FHIRDefinedType.PRACTITIONERROLE; - if ("Procedure".equals(codeString)) - return FHIRDefinedType.PROCEDURE; - if ("Provenance".equals(codeString)) - return FHIRDefinedType.PROVENANCE; - if ("QuestionnaireResponse".equals(codeString)) - return FHIRDefinedType.QUESTIONNAIRERESPONSE; - if ("RegulatedAuthorization".equals(codeString)) - return FHIRDefinedType.REGULATEDAUTHORIZATION; - if ("RelatedPerson".equals(codeString)) - return FHIRDefinedType.RELATEDPERSON; - if ("RequestGroup".equals(codeString)) - return FHIRDefinedType.REQUESTGROUP; - if ("ResearchStudy".equals(codeString)) - return FHIRDefinedType.RESEARCHSTUDY; - if ("ResearchSubject".equals(codeString)) - return FHIRDefinedType.RESEARCHSUBJECT; - if ("RiskAssessment".equals(codeString)) - return FHIRDefinedType.RISKASSESSMENT; - if ("Schedule".equals(codeString)) - return FHIRDefinedType.SCHEDULE; - if ("ServiceRequest".equals(codeString)) - return FHIRDefinedType.SERVICEREQUEST; - if ("Slot".equals(codeString)) - return FHIRDefinedType.SLOT; - if ("Specimen".equals(codeString)) - return FHIRDefinedType.SPECIMEN; - if ("SpecimenDefinition".equals(codeString)) - return FHIRDefinedType.SPECIMENDEFINITION; - if ("Subscription".equals(codeString)) - return FHIRDefinedType.SUBSCRIPTION; - if ("SubscriptionStatus".equals(codeString)) - return FHIRDefinedType.SUBSCRIPTIONSTATUS; - if ("Substance".equals(codeString)) - return FHIRDefinedType.SUBSTANCE; - if ("SubstanceDefinition".equals(codeString)) - return FHIRDefinedType.SUBSTANCEDEFINITION; - if ("SubstanceNucleicAcid".equals(codeString)) - return FHIRDefinedType.SUBSTANCENUCLEICACID; - if ("SubstancePolymer".equals(codeString)) - return FHIRDefinedType.SUBSTANCEPOLYMER; - if ("SubstanceProtein".equals(codeString)) - return FHIRDefinedType.SUBSTANCEPROTEIN; - if ("SubstanceReferenceInformation".equals(codeString)) - return FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION; - if ("SubstanceSourceMaterial".equals(codeString)) - return FHIRDefinedType.SUBSTANCESOURCEMATERIAL; - if ("SupplyDelivery".equals(codeString)) - return FHIRDefinedType.SUPPLYDELIVERY; - if ("SupplyRequest".equals(codeString)) - return FHIRDefinedType.SUPPLYREQUEST; - if ("Task".equals(codeString)) - return FHIRDefinedType.TASK; - if ("TestReport".equals(codeString)) - return FHIRDefinedType.TESTREPORT; - if ("Transport".equals(codeString)) - return FHIRDefinedType.TRANSPORT; - if ("VerificationResult".equals(codeString)) - return FHIRDefinedType.VERIFICATIONRESULT; - if ("VisionPrescription".equals(codeString)) - return FHIRDefinedType.VISIONPRESCRIPTION; - if ("Parameters".equals(codeString)) - return FHIRDefinedType.PARAMETERS; - throw new IllegalArgumentException("Unknown FHIRDefinedType code '"+codeString+"'"); - } - public Enumeration fromType(Base code) throws FHIRException { - if (code == null) - return null; - if (code.isEmpty()) - return new Enumeration(this); - String codeString = ((PrimitiveType) code).asStringValue(); - if (codeString == null || "".equals(codeString)) - return null; - if ("Address".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ADDRESS); - if ("Age".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.AGE); - if ("Annotation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ANNOTATION); - if ("Attachment".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ATTACHMENT); - if ("BackboneElement".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BACKBONEELEMENT); - if ("BackboneType".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BACKBONETYPE); - if ("Base".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BASE); - if ("CodeableConcept".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CODEABLECONCEPT); - if ("CodeableReference".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CODEABLEREFERENCE); - if ("Coding".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CODING); - if ("ContactDetail".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONTACTDETAIL); - if ("ContactPoint".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONTACTPOINT); - if ("Contributor".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONTRIBUTOR); - if ("Count".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COUNT); - if ("DataRequirement".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DATAREQUIREMENT); - if ("DataType".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DATATYPE); - if ("Distance".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DISTANCE); - if ("Dosage".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DOSAGE); - if ("Duration".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DURATION); - if ("Element".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ELEMENT); - if ("ElementDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ELEMENTDEFINITION); - if ("Expression".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EXPRESSION); - if ("ExtendedContactDetail".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EXTENDEDCONTACTDETAIL); - if ("Extension".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EXTENSION); - if ("HumanName".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.HUMANNAME); - if ("Identifier".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IDENTIFIER); - if ("MarketingStatus".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MARKETINGSTATUS); - if ("Meta".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.META); - if ("Money".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MONEY); - if ("MoneyQuantity".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MONEYQUANTITY); - if ("Narrative".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.NARRATIVE); - if ("ParameterDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PARAMETERDEFINITION); - if ("Period".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PERIOD); - if ("Population".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.POPULATION); - if ("PrimitiveType".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PRIMITIVETYPE); - if ("ProductShelfLife".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PRODUCTSHELFLIFE); - if ("Quantity".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.QUANTITY); - if ("Range".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RANGE); - if ("Ratio".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RATIO); - if ("RatioRange".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RATIORANGE); - if ("Reference".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.REFERENCE); - if ("RelatedArtifact".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RELATEDARTIFACT); - if ("SampledData".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SAMPLEDDATA); - if ("Signature".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SIGNATURE); - if ("SimpleQuantity".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SIMPLEQUANTITY); - if ("Timing".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TIMING); - if ("TriggerDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TRIGGERDEFINITION); - if ("UsageContext".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.USAGECONTEXT); - if ("base64Binary".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BASE64BINARY); - if ("boolean".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BOOLEAN); - if ("canonical".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CANONICAL); - if ("code".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CODE); - if ("date".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DATE); - if ("dateTime".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DATETIME); - if ("decimal".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DECIMAL); - if ("id".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ID); - if ("instant".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INSTANT); - if ("integer".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INTEGER); - if ("integer64".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INTEGER64); - if ("markdown".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MARKDOWN); - if ("oid".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.OID); - if ("positiveInt".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.POSITIVEINT); - if ("string".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.STRING); - if ("time".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TIME); - if ("unsignedInt".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.UNSIGNEDINT); - if ("uri".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.URI); - if ("url".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.URL); - if ("uuid".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.UUID); - if ("xhtml".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.XHTML); - if ("Resource".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RESOURCE); - if ("Binary".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BINARY); - if ("Bundle".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BUNDLE); - if ("DomainResource".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DOMAINRESOURCE); - if ("Account".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ACCOUNT); - if ("AdministrableProductDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ADMINISTRABLEPRODUCTDEFINITION); - if ("AdverseEvent".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ADVERSEEVENT); - if ("AllergyIntolerance".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ALLERGYINTOLERANCE); - if ("Appointment".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.APPOINTMENT); - if ("AppointmentResponse".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.APPOINTMENTRESPONSE); - if ("ArtifactAssessment".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ARTIFACTASSESSMENT); - if ("AuditEvent".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.AUDITEVENT); - if ("Basic".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BASIC); - if ("BiologicallyDerivedProduct".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT); - if ("BodyStructure".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.BODYSTRUCTURE); - if ("CanonicalResource".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CANONICALRESOURCE); - if ("CapabilityStatement".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CAPABILITYSTATEMENT); - if ("CapabilityStatement2".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CAPABILITYSTATEMENT2); - if ("CodeSystem".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CODESYSTEM); - if ("CompartmentDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COMPARTMENTDEFINITION); - if ("ExampleScenario".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EXAMPLESCENARIO); - if ("GraphDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.GRAPHDEFINITION); - if ("ImplementationGuide".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IMPLEMENTATIONGUIDE); - if ("MessageDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MESSAGEDEFINITION); - if ("MetadataResource".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.METADATARESOURCE); - if ("ActivityDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ACTIVITYDEFINITION); - if ("ChargeItemDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CHARGEITEMDEFINITION); - if ("Citation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CITATION); - if ("ConceptMap".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONCEPTMAP); - if ("ConditionDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONDITIONDEFINITION); - if ("EventDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EVENTDEFINITION); - if ("Evidence".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EVIDENCE); - if ("EvidenceReport".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EVIDENCEREPORT); - if ("EvidenceVariable".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EVIDENCEVARIABLE); - if ("Library".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.LIBRARY); - if ("Measure".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEASURE); - if ("NamingSystem".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.NAMINGSYSTEM); - if ("PlanDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PLANDEFINITION); - if ("Questionnaire".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.QUESTIONNAIRE); - if ("OperationDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.OPERATIONDEFINITION); - if ("SearchParameter".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SEARCHPARAMETER); - if ("StructureDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.STRUCTUREDEFINITION); - if ("StructureMap".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.STRUCTUREMAP); - if ("SubscriptionTopic".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSCRIPTIONTOPIC); - if ("TerminologyCapabilities".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TERMINOLOGYCAPABILITIES); - if ("TestScript".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TESTSCRIPT); - if ("ValueSet".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.VALUESET); - if ("CarePlan".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CAREPLAN); - if ("CareTeam".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CARETEAM); - if ("ChargeItem".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CHARGEITEM); - if ("Claim".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CLAIM); - if ("ClaimResponse".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CLAIMRESPONSE); - if ("ClinicalImpression".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CLINICALIMPRESSION); - if ("ClinicalUseDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CLINICALUSEDEFINITION); - if ("Communication".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COMMUNICATION); - if ("CommunicationRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COMMUNICATIONREQUEST); - if ("Composition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COMPOSITION); - if ("Condition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONDITION); - if ("Consent".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONSENT); - if ("Contract".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.CONTRACT); - if ("Coverage".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COVERAGE); - if ("CoverageEligibilityRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COVERAGEELIGIBILITYREQUEST); - if ("CoverageEligibilityResponse".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE); - if ("DetectedIssue".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DETECTEDISSUE); - if ("Device".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DEVICE); - if ("DeviceDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DEVICEDEFINITION); - if ("DeviceDispense".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DEVICEDISPENSE); - if ("DeviceMetric".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DEVICEMETRIC); - if ("DeviceRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DEVICEREQUEST); - if ("DeviceUsage".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DEVICEUSAGE); - if ("DiagnosticReport".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DIAGNOSTICREPORT); - if ("DocumentManifest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DOCUMENTMANIFEST); - if ("DocumentReference".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.DOCUMENTREFERENCE); - if ("Encounter".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ENCOUNTER); - if ("Endpoint".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ENDPOINT); - if ("EnrollmentRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ENROLLMENTREQUEST); - if ("EnrollmentResponse".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ENROLLMENTRESPONSE); - if ("EpisodeOfCare".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EPISODEOFCARE); - if ("ExplanationOfBenefit".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.EXPLANATIONOFBENEFIT); - if ("FamilyMemberHistory".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.FAMILYMEMBERHISTORY); - if ("Flag".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.FLAG); - if ("FormularyItem".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.FORMULARYITEM); - if ("Goal".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.GOAL); - if ("Group".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.GROUP); - if ("GuidanceResponse".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.GUIDANCERESPONSE); - if ("HealthcareService".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.HEALTHCARESERVICE); - if ("ImagingSelection".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IMAGINGSELECTION); - if ("ImagingStudy".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IMAGINGSTUDY); - if ("Immunization".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IMMUNIZATION); - if ("ImmunizationEvaluation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IMMUNIZATIONEVALUATION); - if ("ImmunizationRecommendation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.IMMUNIZATIONRECOMMENDATION); - if ("Ingredient".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INGREDIENT); - if ("InsurancePlan".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INSURANCEPLAN); - if ("InventoryReport".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INVENTORYREPORT); - if ("Invoice".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.INVOICE); - if ("Linkage".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.LINKAGE); - if ("List".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.LIST); - if ("Location".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.LOCATION); - if ("ManufacturedItemDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MANUFACTUREDITEMDEFINITION); - if ("MeasureReport".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEASUREREPORT); - if ("Medication".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICATION); - if ("MedicationAdministration".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICATIONADMINISTRATION); - if ("MedicationDispense".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICATIONDISPENSE); - if ("MedicationKnowledge".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICATIONKNOWLEDGE); - if ("MedicationRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICATIONREQUEST); - if ("MedicationUsage".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICATIONUSAGE); - if ("MedicinalProductDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MEDICINALPRODUCTDEFINITION); - if ("MessageHeader".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MESSAGEHEADER); - if ("MolecularSequence".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.MOLECULARSEQUENCE); - if ("NutritionIntake".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.NUTRITIONINTAKE); - if ("NutritionOrder".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.NUTRITIONORDER); - if ("NutritionProduct".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.NUTRITIONPRODUCT); - if ("Observation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.OBSERVATION); - if ("ObservationDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.OBSERVATIONDEFINITION); - if ("OperationOutcome".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.OPERATIONOUTCOME); - if ("Organization".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ORGANIZATION); - if ("OrganizationAffiliation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.ORGANIZATIONAFFILIATION); - if ("PackagedProductDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PACKAGEDPRODUCTDEFINITION); - if ("Patient".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PATIENT); - if ("PaymentNotice".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PAYMENTNOTICE); - if ("PaymentReconciliation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PAYMENTRECONCILIATION); - if ("Permission".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PERMISSION); - if ("Person".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PERSON); - if ("Practitioner".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PRACTITIONER); - if ("PractitionerRole".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PRACTITIONERROLE); - if ("Procedure".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PROCEDURE); - if ("Provenance".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PROVENANCE); - if ("QuestionnaireResponse".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.QUESTIONNAIRERESPONSE); - if ("RegulatedAuthorization".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.REGULATEDAUTHORIZATION); - if ("RelatedPerson".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RELATEDPERSON); - if ("RequestGroup".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.REQUESTGROUP); - if ("ResearchStudy".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RESEARCHSTUDY); - if ("ResearchSubject".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RESEARCHSUBJECT); - if ("RiskAssessment".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.RISKASSESSMENT); - if ("Schedule".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SCHEDULE); - if ("ServiceRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SERVICEREQUEST); - if ("Slot".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SLOT); - if ("Specimen".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SPECIMEN); - if ("SpecimenDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SPECIMENDEFINITION); - if ("Subscription".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSCRIPTION); - if ("SubscriptionStatus".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSCRIPTIONSTATUS); - if ("Substance".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCE); - if ("SubstanceDefinition".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCEDEFINITION); - if ("SubstanceNucleicAcid".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCENUCLEICACID); - if ("SubstancePolymer".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCEPOLYMER); - if ("SubstanceProtein".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCEPROTEIN); - if ("SubstanceReferenceInformation".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION); - if ("SubstanceSourceMaterial".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUBSTANCESOURCEMATERIAL); - if ("SupplyDelivery".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUPPLYDELIVERY); - if ("SupplyRequest".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.SUPPLYREQUEST); - if ("Task".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TASK); - if ("TestReport".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TESTREPORT); - if ("Transport".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.TRANSPORT); - if ("VerificationResult".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.VERIFICATIONRESULT); - if ("VisionPrescription".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.VISIONPRESCRIPTION); - if ("Parameters".equals(codeString)) - return new Enumeration(this, FHIRDefinedType.PARAMETERS); - throw new FHIRException("Unknown FHIRDefinedType code '"+codeString+"'"); - } - public String toCode(FHIRDefinedType code) { - if (code == FHIRDefinedType.ADDRESS) - return "Address"; - if (code == FHIRDefinedType.AGE) - return "Age"; - if (code == FHIRDefinedType.ANNOTATION) - return "Annotation"; - if (code == FHIRDefinedType.ATTACHMENT) - return "Attachment"; - if (code == FHIRDefinedType.BACKBONEELEMENT) - return "BackboneElement"; - if (code == FHIRDefinedType.BACKBONETYPE) - return "BackboneType"; - if (code == FHIRDefinedType.BASE) - return "Base"; - if (code == FHIRDefinedType.CODEABLECONCEPT) - return "CodeableConcept"; - if (code == FHIRDefinedType.CODEABLEREFERENCE) - return "CodeableReference"; - if (code == FHIRDefinedType.CODING) - return "Coding"; - if (code == FHIRDefinedType.CONTACTDETAIL) - return "ContactDetail"; - if (code == FHIRDefinedType.CONTACTPOINT) - return "ContactPoint"; - if (code == FHIRDefinedType.CONTRIBUTOR) - return "Contributor"; - if (code == FHIRDefinedType.COUNT) - return "Count"; - if (code == FHIRDefinedType.DATAREQUIREMENT) - return "DataRequirement"; - if (code == FHIRDefinedType.DATATYPE) - return "DataType"; - if (code == FHIRDefinedType.DISTANCE) - return "Distance"; - if (code == FHIRDefinedType.DOSAGE) - return "Dosage"; - if (code == FHIRDefinedType.DURATION) - return "Duration"; - if (code == FHIRDefinedType.ELEMENT) - return "Element"; - if (code == FHIRDefinedType.ELEMENTDEFINITION) - return "ElementDefinition"; - if (code == FHIRDefinedType.EXPRESSION) - return "Expression"; - if (code == FHIRDefinedType.EXTENDEDCONTACTDETAIL) - return "ExtendedContactDetail"; - if (code == FHIRDefinedType.EXTENSION) - return "Extension"; - if (code == FHIRDefinedType.HUMANNAME) - return "HumanName"; - if (code == FHIRDefinedType.IDENTIFIER) - return "Identifier"; - if (code == FHIRDefinedType.MARKETINGSTATUS) - return "MarketingStatus"; - if (code == FHIRDefinedType.META) - return "Meta"; - if (code == FHIRDefinedType.MONEY) - return "Money"; - if (code == FHIRDefinedType.MONEYQUANTITY) - return "MoneyQuantity"; - if (code == FHIRDefinedType.NARRATIVE) - return "Narrative"; - if (code == FHIRDefinedType.PARAMETERDEFINITION) - return "ParameterDefinition"; - if (code == FHIRDefinedType.PERIOD) - return "Period"; - if (code == FHIRDefinedType.POPULATION) - return "Population"; - if (code == FHIRDefinedType.PRIMITIVETYPE) - return "PrimitiveType"; - if (code == FHIRDefinedType.PRODUCTSHELFLIFE) - return "ProductShelfLife"; - if (code == FHIRDefinedType.QUANTITY) - return "Quantity"; - if (code == FHIRDefinedType.RANGE) - return "Range"; - if (code == FHIRDefinedType.RATIO) - return "Ratio"; - if (code == FHIRDefinedType.RATIORANGE) - return "RatioRange"; - if (code == FHIRDefinedType.REFERENCE) - return "Reference"; - if (code == FHIRDefinedType.RELATEDARTIFACT) - return "RelatedArtifact"; - if (code == FHIRDefinedType.SAMPLEDDATA) - return "SampledData"; - if (code == FHIRDefinedType.SIGNATURE) - return "Signature"; - if (code == FHIRDefinedType.SIMPLEQUANTITY) - return "SimpleQuantity"; - if (code == FHIRDefinedType.TIMING) - return "Timing"; - if (code == FHIRDefinedType.TRIGGERDEFINITION) - return "TriggerDefinition"; - if (code == FHIRDefinedType.USAGECONTEXT) - return "UsageContext"; - if (code == FHIRDefinedType.BASE64BINARY) - return "base64Binary"; - if (code == FHIRDefinedType.BOOLEAN) - return "boolean"; - if (code == FHIRDefinedType.CANONICAL) - return "canonical"; - if (code == FHIRDefinedType.CODE) - return "code"; - if (code == FHIRDefinedType.DATE) - return "date"; - if (code == FHIRDefinedType.DATETIME) - return "dateTime"; - if (code == FHIRDefinedType.DECIMAL) - return "decimal"; - if (code == FHIRDefinedType.ID) - return "id"; - if (code == FHIRDefinedType.INSTANT) - return "instant"; - if (code == FHIRDefinedType.INTEGER) - return "integer"; - if (code == FHIRDefinedType.INTEGER64) - return "integer64"; - if (code == FHIRDefinedType.MARKDOWN) - return "markdown"; - if (code == FHIRDefinedType.OID) - return "oid"; - if (code == FHIRDefinedType.POSITIVEINT) - return "positiveInt"; - if (code == FHIRDefinedType.STRING) - return "string"; - if (code == FHIRDefinedType.TIME) - return "time"; - if (code == FHIRDefinedType.UNSIGNEDINT) - return "unsignedInt"; - if (code == FHIRDefinedType.URI) - return "uri"; - if (code == FHIRDefinedType.URL) - return "url"; - if (code == FHIRDefinedType.UUID) - return "uuid"; - if (code == FHIRDefinedType.XHTML) - return "xhtml"; - if (code == FHIRDefinedType.RESOURCE) - return "Resource"; - if (code == FHIRDefinedType.BINARY) - return "Binary"; - if (code == FHIRDefinedType.BUNDLE) - return "Bundle"; - if (code == FHIRDefinedType.DOMAINRESOURCE) - return "DomainResource"; - if (code == FHIRDefinedType.ACCOUNT) - return "Account"; - if (code == FHIRDefinedType.ADMINISTRABLEPRODUCTDEFINITION) - return "AdministrableProductDefinition"; - if (code == FHIRDefinedType.ADVERSEEVENT) - return "AdverseEvent"; - if (code == FHIRDefinedType.ALLERGYINTOLERANCE) - return "AllergyIntolerance"; - if (code == FHIRDefinedType.APPOINTMENT) - return "Appointment"; - if (code == FHIRDefinedType.APPOINTMENTRESPONSE) - return "AppointmentResponse"; - if (code == FHIRDefinedType.ARTIFACTASSESSMENT) - return "ArtifactAssessment"; - if (code == FHIRDefinedType.AUDITEVENT) - return "AuditEvent"; - if (code == FHIRDefinedType.BASIC) - return "Basic"; - if (code == FHIRDefinedType.BIOLOGICALLYDERIVEDPRODUCT) - return "BiologicallyDerivedProduct"; - if (code == FHIRDefinedType.BODYSTRUCTURE) - return "BodyStructure"; - if (code == FHIRDefinedType.CANONICALRESOURCE) - return "CanonicalResource"; - if (code == FHIRDefinedType.CAPABILITYSTATEMENT) - return "CapabilityStatement"; - if (code == FHIRDefinedType.CAPABILITYSTATEMENT2) - return "CapabilityStatement2"; - if (code == FHIRDefinedType.CODESYSTEM) - return "CodeSystem"; - if (code == FHIRDefinedType.COMPARTMENTDEFINITION) - return "CompartmentDefinition"; - if (code == FHIRDefinedType.EXAMPLESCENARIO) - return "ExampleScenario"; - if (code == FHIRDefinedType.GRAPHDEFINITION) - return "GraphDefinition"; - if (code == FHIRDefinedType.IMPLEMENTATIONGUIDE) - return "ImplementationGuide"; - if (code == FHIRDefinedType.MESSAGEDEFINITION) - return "MessageDefinition"; - if (code == FHIRDefinedType.METADATARESOURCE) - return "MetadataResource"; - if (code == FHIRDefinedType.ACTIVITYDEFINITION) - return "ActivityDefinition"; - if (code == FHIRDefinedType.CHARGEITEMDEFINITION) - return "ChargeItemDefinition"; - if (code == FHIRDefinedType.CITATION) - return "Citation"; - if (code == FHIRDefinedType.CONCEPTMAP) - return "ConceptMap"; - if (code == FHIRDefinedType.CONDITIONDEFINITION) - return "ConditionDefinition"; - if (code == FHIRDefinedType.EVENTDEFINITION) - return "EventDefinition"; - if (code == FHIRDefinedType.EVIDENCE) - return "Evidence"; - if (code == FHIRDefinedType.EVIDENCEREPORT) - return "EvidenceReport"; - if (code == FHIRDefinedType.EVIDENCEVARIABLE) - return "EvidenceVariable"; - if (code == FHIRDefinedType.LIBRARY) - return "Library"; - if (code == FHIRDefinedType.MEASURE) - return "Measure"; - if (code == FHIRDefinedType.NAMINGSYSTEM) - return "NamingSystem"; - if (code == FHIRDefinedType.PLANDEFINITION) - return "PlanDefinition"; - if (code == FHIRDefinedType.QUESTIONNAIRE) - return "Questionnaire"; - if (code == FHIRDefinedType.OPERATIONDEFINITION) - return "OperationDefinition"; - if (code == FHIRDefinedType.SEARCHPARAMETER) - return "SearchParameter"; - if (code == FHIRDefinedType.STRUCTUREDEFINITION) - return "StructureDefinition"; - if (code == FHIRDefinedType.STRUCTUREMAP) - return "StructureMap"; - if (code == FHIRDefinedType.SUBSCRIPTIONTOPIC) - return "SubscriptionTopic"; - if (code == FHIRDefinedType.TERMINOLOGYCAPABILITIES) - return "TerminologyCapabilities"; - if (code == FHIRDefinedType.TESTSCRIPT) - return "TestScript"; - if (code == FHIRDefinedType.VALUESET) - return "ValueSet"; - if (code == FHIRDefinedType.CAREPLAN) - return "CarePlan"; - if (code == FHIRDefinedType.CARETEAM) - return "CareTeam"; - if (code == FHIRDefinedType.CHARGEITEM) - return "ChargeItem"; - if (code == FHIRDefinedType.CLAIM) - return "Claim"; - if (code == FHIRDefinedType.CLAIMRESPONSE) - return "ClaimResponse"; - if (code == FHIRDefinedType.CLINICALIMPRESSION) - return "ClinicalImpression"; - if (code == FHIRDefinedType.CLINICALUSEDEFINITION) - return "ClinicalUseDefinition"; - if (code == FHIRDefinedType.COMMUNICATION) - return "Communication"; - if (code == FHIRDefinedType.COMMUNICATIONREQUEST) - return "CommunicationRequest"; - if (code == FHIRDefinedType.COMPOSITION) - return "Composition"; - if (code == FHIRDefinedType.CONDITION) - return "Condition"; - if (code == FHIRDefinedType.CONSENT) - return "Consent"; - if (code == FHIRDefinedType.CONTRACT) - return "Contract"; - if (code == FHIRDefinedType.COVERAGE) - return "Coverage"; - if (code == FHIRDefinedType.COVERAGEELIGIBILITYREQUEST) - return "CoverageEligibilityRequest"; - if (code == FHIRDefinedType.COVERAGEELIGIBILITYRESPONSE) - return "CoverageEligibilityResponse"; - if (code == FHIRDefinedType.DETECTEDISSUE) - return "DetectedIssue"; - if (code == FHIRDefinedType.DEVICE) - return "Device"; - if (code == FHIRDefinedType.DEVICEDEFINITION) - return "DeviceDefinition"; - if (code == FHIRDefinedType.DEVICEDISPENSE) - return "DeviceDispense"; - if (code == FHIRDefinedType.DEVICEMETRIC) - return "DeviceMetric"; - if (code == FHIRDefinedType.DEVICEREQUEST) - return "DeviceRequest"; - if (code == FHIRDefinedType.DEVICEUSAGE) - return "DeviceUsage"; - if (code == FHIRDefinedType.DIAGNOSTICREPORT) - return "DiagnosticReport"; - if (code == FHIRDefinedType.DOCUMENTMANIFEST) - return "DocumentManifest"; - if (code == FHIRDefinedType.DOCUMENTREFERENCE) - return "DocumentReference"; - if (code == FHIRDefinedType.ENCOUNTER) - return "Encounter"; - if (code == FHIRDefinedType.ENDPOINT) - return "Endpoint"; - if (code == FHIRDefinedType.ENROLLMENTREQUEST) - return "EnrollmentRequest"; - if (code == FHIRDefinedType.ENROLLMENTRESPONSE) - return "EnrollmentResponse"; - if (code == FHIRDefinedType.EPISODEOFCARE) - return "EpisodeOfCare"; - if (code == FHIRDefinedType.EXPLANATIONOFBENEFIT) - return "ExplanationOfBenefit"; - if (code == FHIRDefinedType.FAMILYMEMBERHISTORY) - return "FamilyMemberHistory"; - if (code == FHIRDefinedType.FLAG) - return "Flag"; - if (code == FHIRDefinedType.FORMULARYITEM) - return "FormularyItem"; - if (code == FHIRDefinedType.GOAL) - return "Goal"; - if (code == FHIRDefinedType.GROUP) - return "Group"; - if (code == FHIRDefinedType.GUIDANCERESPONSE) - return "GuidanceResponse"; - if (code == FHIRDefinedType.HEALTHCARESERVICE) - return "HealthcareService"; - if (code == FHIRDefinedType.IMAGINGSELECTION) - return "ImagingSelection"; - if (code == FHIRDefinedType.IMAGINGSTUDY) - return "ImagingStudy"; - if (code == FHIRDefinedType.IMMUNIZATION) - return "Immunization"; - if (code == FHIRDefinedType.IMMUNIZATIONEVALUATION) - return "ImmunizationEvaluation"; - if (code == FHIRDefinedType.IMMUNIZATIONRECOMMENDATION) - return "ImmunizationRecommendation"; - if (code == FHIRDefinedType.INGREDIENT) - return "Ingredient"; - if (code == FHIRDefinedType.INSURANCEPLAN) - return "InsurancePlan"; - if (code == FHIRDefinedType.INVENTORYREPORT) - return "InventoryReport"; - if (code == FHIRDefinedType.INVOICE) - return "Invoice"; - if (code == FHIRDefinedType.LINKAGE) - return "Linkage"; - if (code == FHIRDefinedType.LIST) - return "List"; - if (code == FHIRDefinedType.LOCATION) - return "Location"; - if (code == FHIRDefinedType.MANUFACTUREDITEMDEFINITION) - return "ManufacturedItemDefinition"; - if (code == FHIRDefinedType.MEASUREREPORT) - return "MeasureReport"; - if (code == FHIRDefinedType.MEDICATION) - return "Medication"; - if (code == FHIRDefinedType.MEDICATIONADMINISTRATION) - return "MedicationAdministration"; - if (code == FHIRDefinedType.MEDICATIONDISPENSE) - return "MedicationDispense"; - if (code == FHIRDefinedType.MEDICATIONKNOWLEDGE) - return "MedicationKnowledge"; - if (code == FHIRDefinedType.MEDICATIONREQUEST) - return "MedicationRequest"; - if (code == FHIRDefinedType.MEDICATIONUSAGE) - return "MedicationUsage"; - if (code == FHIRDefinedType.MEDICINALPRODUCTDEFINITION) - return "MedicinalProductDefinition"; - if (code == FHIRDefinedType.MESSAGEHEADER) - return "MessageHeader"; - if (code == FHIRDefinedType.MOLECULARSEQUENCE) - return "MolecularSequence"; - if (code == FHIRDefinedType.NUTRITIONINTAKE) - return "NutritionIntake"; - if (code == FHIRDefinedType.NUTRITIONORDER) - return "NutritionOrder"; - if (code == FHIRDefinedType.NUTRITIONPRODUCT) - return "NutritionProduct"; - if (code == FHIRDefinedType.OBSERVATION) - return "Observation"; - if (code == FHIRDefinedType.OBSERVATIONDEFINITION) - return "ObservationDefinition"; - if (code == FHIRDefinedType.OPERATIONOUTCOME) - return "OperationOutcome"; - if (code == FHIRDefinedType.ORGANIZATION) - return "Organization"; - if (code == FHIRDefinedType.ORGANIZATIONAFFILIATION) - return "OrganizationAffiliation"; - if (code == FHIRDefinedType.PACKAGEDPRODUCTDEFINITION) - return "PackagedProductDefinition"; - if (code == FHIRDefinedType.PATIENT) - return "Patient"; - if (code == FHIRDefinedType.PAYMENTNOTICE) - return "PaymentNotice"; - if (code == FHIRDefinedType.PAYMENTRECONCILIATION) - return "PaymentReconciliation"; - if (code == FHIRDefinedType.PERMISSION) - return "Permission"; - if (code == FHIRDefinedType.PERSON) - return "Person"; - if (code == FHIRDefinedType.PRACTITIONER) - return "Practitioner"; - if (code == FHIRDefinedType.PRACTITIONERROLE) - return "PractitionerRole"; - if (code == FHIRDefinedType.PROCEDURE) - return "Procedure"; - if (code == FHIRDefinedType.PROVENANCE) - return "Provenance"; - if (code == FHIRDefinedType.QUESTIONNAIRERESPONSE) - return "QuestionnaireResponse"; - if (code == FHIRDefinedType.REGULATEDAUTHORIZATION) - return "RegulatedAuthorization"; - if (code == FHIRDefinedType.RELATEDPERSON) - return "RelatedPerson"; - if (code == FHIRDefinedType.REQUESTGROUP) - return "RequestGroup"; - if (code == FHIRDefinedType.RESEARCHSTUDY) - return "ResearchStudy"; - if (code == FHIRDefinedType.RESEARCHSUBJECT) - return "ResearchSubject"; - if (code == FHIRDefinedType.RISKASSESSMENT) - return "RiskAssessment"; - if (code == FHIRDefinedType.SCHEDULE) - return "Schedule"; - if (code == FHIRDefinedType.SERVICEREQUEST) - return "ServiceRequest"; - if (code == FHIRDefinedType.SLOT) - return "Slot"; - if (code == FHIRDefinedType.SPECIMEN) - return "Specimen"; - if (code == FHIRDefinedType.SPECIMENDEFINITION) - return "SpecimenDefinition"; - if (code == FHIRDefinedType.SUBSCRIPTION) - return "Subscription"; - if (code == FHIRDefinedType.SUBSCRIPTIONSTATUS) - return "SubscriptionStatus"; - if (code == FHIRDefinedType.SUBSTANCE) - return "Substance"; - if (code == FHIRDefinedType.SUBSTANCEDEFINITION) - return "SubstanceDefinition"; - if (code == FHIRDefinedType.SUBSTANCENUCLEICACID) - return "SubstanceNucleicAcid"; - if (code == FHIRDefinedType.SUBSTANCEPOLYMER) - return "SubstancePolymer"; - if (code == FHIRDefinedType.SUBSTANCEPROTEIN) - return "SubstanceProtein"; - if (code == FHIRDefinedType.SUBSTANCEREFERENCEINFORMATION) - return "SubstanceReferenceInformation"; - if (code == FHIRDefinedType.SUBSTANCESOURCEMATERIAL) - return "SubstanceSourceMaterial"; - if (code == FHIRDefinedType.SUPPLYDELIVERY) - return "SupplyDelivery"; - if (code == FHIRDefinedType.SUPPLYREQUEST) - return "SupplyRequest"; - if (code == FHIRDefinedType.TASK) - return "Task"; - if (code == FHIRDefinedType.TESTREPORT) - return "TestReport"; - if (code == FHIRDefinedType.TRANSPORT) - return "Transport"; - if (code == FHIRDefinedType.VERIFICATIONRESULT) - return "VerificationResult"; - if (code == FHIRDefinedType.VISIONPRESCRIPTION) - return "VisionPrescription"; - if (code == FHIRDefinedType.PARAMETERS) - return "Parameters"; - return "?"; - } - public String toSystem(FHIRDefinedType code) { - return code.getSystem(); - } - } - public enum TestScriptRequestMethodCode { /** * HTTP DELETE operation. @@ -6399,10 +2735,10 @@ public class TestScript extends CanonicalResource { protected BooleanType autodelete; /** - * Reference to the resource (containing the contents of the resource needed for operations). + * Reference to the resource (containing the contents of the resource needed for operations). This is allowed to be a Parameters resource. */ @Child(name = "resource", type = {Reference.class}, order=3, min=0, max=1, modifier=false, summary=false) - @Description(shortDefinition="Reference of the resource", formalDefinition="Reference to the resource (containing the contents of the resource needed for operations)." ) + @Description(shortDefinition="Reference of the resource", formalDefinition="Reference to the resource (containing the contents of the resource needed for operations). This is allowed to be a Parameters resource." ) protected Reference resource; private static final long serialVersionUID = 672117234L; @@ -6514,7 +2850,7 @@ public class TestScript extends CanonicalResource { } /** - * @return {@link #resource} (Reference to the resource (containing the contents of the resource needed for operations).) + * @return {@link #resource} (Reference to the resource (containing the contents of the resource needed for operations). This is allowed to be a Parameters resource.) */ public Reference getResource() { if (this.resource == null) @@ -6530,7 +2866,7 @@ public class TestScript extends CanonicalResource { } /** - * @param value {@link #resource} (Reference to the resource (containing the contents of the resource needed for operations).) + * @param value {@link #resource} (Reference to the resource (containing the contents of the resource needed for operations). This is allowed to be a Parameters resource.) */ public TestScriptFixtureComponent setResource(Reference value) { this.resource = value; @@ -6541,7 +2877,7 @@ public class TestScript extends CanonicalResource { super.listChildren(children); children.add(new Property("autocreate", "boolean", "Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.", 0, 1, autocreate)); children.add(new Property("autodelete", "boolean", "Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.", 0, 1, autodelete)); - children.add(new Property("resource", "Reference(Any)", "Reference to the resource (containing the contents of the resource needed for operations).", 0, 1, resource)); + children.add(new Property("resource", "Reference(Any)", "Reference to the resource (containing the contents of the resource needed for operations). This is allowed to be a Parameters resource.", 0, 1, resource)); } @Override @@ -6549,7 +2885,7 @@ public class TestScript extends CanonicalResource { switch (_hash) { case 73154411: /*autocreate*/ return new Property("autocreate", "boolean", "Whether or not to implicitly create the fixture during setup. If true, the fixture is automatically created on each server being tested during setup, therefore no create operation is required for this fixture in the TestScript.setup section.", 0, 1, autocreate); case 89990170: /*autodelete*/ return new Property("autodelete", "boolean", "Whether or not to implicitly delete the fixture during teardown. If true, the fixture is automatically deleted on each server being tested during teardown, therefore no delete operation is required for this fixture in the TestScript.teardown section.", 0, 1, autodelete); - case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "Reference to the resource (containing the contents of the resource needed for operations).", 0, 1, resource); + case -341064690: /*resource*/ return new Property("resource", "Reference(Any)", "Reference to the resource (containing the contents of the resource needed for operations). This is allowed to be a Parameters resource.", 0, 1, resource); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -7772,7 +4108,7 @@ public class TestScript extends CanonicalResource { */ @Child(name = "resource", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Resource type", formalDefinition="The type of the FHIR resource. See http://build.fhir.org/resourcelist.html. Data type of uri is needed when non-HL7 artifacts are identified." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/concrete-fhir-types") protected UriType resource; /** @@ -9420,10 +5756,10 @@ public class TestScript extends CanonicalResource { /** * The type of the resource. See http://build.fhir.org/resourcelist.html. */ - @Child(name = "resource", type = {CodeType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "resource", type = {UriType.class}, order=16, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Resource type", formalDefinition="The type of the resource. See http://build.fhir.org/resourcelist.html." ) - @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/defined-types") - protected Enumeration resource; + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/concrete-fhir-types") + protected UriType resource; /** * okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable. @@ -9475,7 +5811,7 @@ public class TestScript extends CanonicalResource { @Description(shortDefinition="Will this assert produce a warning only on error?", formalDefinition="Whether or not the test execution will produce a warning only on error for this assert." ) protected BooleanType warningOnly; - private static final long serialVersionUID = 656289619L; + private static final long serialVersionUID = -350031410L; /** * Constructor @@ -10227,12 +6563,12 @@ public class TestScript extends CanonicalResource { /** * @return {@link #resource} (The type of the resource. See http://build.fhir.org/resourcelist.html.). This is the underlying object with id, value and extensions. The accessor "getResource" gives direct access to the value */ - public Enumeration getResourceElement() { + public UriType getResourceElement() { if (this.resource == null) if (Configuration.errorOnAutoCreate()) throw new Error("Attempt to auto-create SetupActionAssertComponent.resource"); else if (Configuration.doAutoCreate()) - this.resource = new Enumeration(new FHIRDefinedTypeEnumFactory()); // bb + this.resource = new UriType(); // bb return this.resource; } @@ -10247,7 +6583,7 @@ public class TestScript extends CanonicalResource { /** * @param value {@link #resource} (The type of the resource. See http://build.fhir.org/resourcelist.html.). This is the underlying object with id, value and extensions. The accessor "getResource" gives direct access to the value */ - public SetupActionAssertComponent setResourceElement(Enumeration value) { + public SetupActionAssertComponent setResourceElement(UriType value) { this.resource = value; return this; } @@ -10255,19 +6591,19 @@ public class TestScript extends CanonicalResource { /** * @return The type of the resource. See http://build.fhir.org/resourcelist.html. */ - public FHIRDefinedType getResource() { + public String getResource() { return this.resource == null ? null : this.resource.getValue(); } /** * @param value The type of the resource. See http://build.fhir.org/resourcelist.html. */ - public SetupActionAssertComponent setResource(FHIRDefinedType value) { - if (value == null) + public SetupActionAssertComponent setResource(String value) { + if (Utilities.noString(value)) this.resource = null; else { if (this.resource == null) - this.resource = new Enumeration(new FHIRDefinedTypeEnumFactory()); + this.resource = new UriType(); this.resource.setValue(value); } return this; @@ -10625,7 +6961,7 @@ public class TestScript extends CanonicalResource { children.add(new Property("path", "string", "The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.", 0, 1, path)); children.add(new Property("requestMethod", "code", "The request method or HTTP operation code to compare against that used by the client system under test.", 0, 1, requestMethod)); children.add(new Property("requestURL", "string", "The value to use in a comparison against the request URL path string.", 0, 1, requestURL)); - children.add(new Property("resource", "code", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource)); + children.add(new Property("resource", "uri", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource)); children.add(new Property("response", "code", "okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.", 0, 1, response)); children.add(new Property("responseCode", "string", "The value of the HTTP response code to be tested.", 0, 1, responseCode)); children.add(new Property("sourceId", "id", "Fixture to evaluate the XPath/JSONPath expression or the headerField against.", 0, 1, sourceId)); @@ -10653,7 +6989,7 @@ public class TestScript extends CanonicalResource { case 3433509: /*path*/ return new Property("path", "string", "The XPath or JSONPath expression to be evaluated against the fixture representing the response received from server.", 0, 1, path); case 1217874000: /*requestMethod*/ return new Property("requestMethod", "code", "The request method or HTTP operation code to compare against that used by the client system under test.", 0, 1, requestMethod); case 37099616: /*requestURL*/ return new Property("requestURL", "string", "The value to use in a comparison against the request URL path string.", 0, 1, requestURL); - case -341064690: /*resource*/ return new Property("resource", "code", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource); + case -341064690: /*resource*/ return new Property("resource", "uri", "The type of the resource. See http://build.fhir.org/resourcelist.html.", 0, 1, resource); case -340323263: /*response*/ return new Property("response", "code", "okay | created | noContent | notModified | bad | forbidden | notFound | methodNotAllowed | conflict | gone | preconditionFailed | unprocessable.", 0, 1, response); case 1438723534: /*responseCode*/ return new Property("responseCode", "string", "The value of the HTTP response code to be tested.", 0, 1, responseCode); case 1746327190: /*sourceId*/ return new Property("sourceId", "id", "Fixture to evaluate the XPath/JSONPath expression or the headerField against.", 0, 1, sourceId); @@ -10684,7 +7020,7 @@ public class TestScript extends CanonicalResource { case 3433509: /*path*/ return this.path == null ? new Base[0] : new Base[] {this.path}; // StringType case 1217874000: /*requestMethod*/ return this.requestMethod == null ? new Base[0] : new Base[] {this.requestMethod}; // Enumeration case 37099616: /*requestURL*/ return this.requestURL == null ? new Base[0] : new Base[] {this.requestURL}; // StringType - case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // Enumeration + case -341064690: /*resource*/ return this.resource == null ? new Base[0] : new Base[] {this.resource}; // UriType case -340323263: /*response*/ return this.response == null ? new Base[0] : new Base[] {this.response}; // Enumeration case 1438723534: /*responseCode*/ return this.responseCode == null ? new Base[0] : new Base[] {this.responseCode}; // StringType case 1746327190: /*sourceId*/ return this.sourceId == null ? new Base[0] : new Base[] {this.sourceId}; // IdType @@ -10749,8 +7085,7 @@ public class TestScript extends CanonicalResource { this.requestURL = TypeConvertor.castToString(value); // StringType return value; case -341064690: // resource - value = new FHIRDefinedTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.resource = (Enumeration) value; // Enumeration + this.resource = TypeConvertor.castToUri(value); // UriType return value; case -340323263: // response value = new AssertionResponseTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); @@ -10815,8 +7150,7 @@ public class TestScript extends CanonicalResource { } else if (name.equals("requestURL")) { this.requestURL = TypeConvertor.castToString(value); // StringType } else if (name.equals("resource")) { - value = new FHIRDefinedTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.resource = (Enumeration) value; // Enumeration + this.resource = TypeConvertor.castToUri(value); // UriType } else if (name.equals("response")) { value = new AssertionResponseTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); this.response = (Enumeration) value; // Enumeration @@ -10886,7 +7220,7 @@ public class TestScript extends CanonicalResource { case 3433509: /*path*/ return new String[] {"string"}; case 1217874000: /*requestMethod*/ return new String[] {"code"}; case 37099616: /*requestURL*/ return new String[] {"string"}; - case -341064690: /*resource*/ return new String[] {"code"}; + case -341064690: /*resource*/ return new String[] {"uri"}; case -340323263: /*response*/ return new String[] {"code"}; case 1438723534: /*responseCode*/ return new String[] {"string"}; case 1746327190: /*sourceId*/ return new String[] {"id"}; @@ -11957,10 +8291,10 @@ public class TestScript extends CanonicalResource { } /** - * An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. + * An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. */ @Child(name = "url", type = {UriType.class}, order=0, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Canonical identifier for this test script, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers." ) + @Description(shortDefinition="Canonical identifier for this test script, represented as a URI (globally unique)", formalDefinition="An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers." ) protected UriType url; /** @@ -11977,24 +8311,32 @@ public class TestScript extends CanonicalResource { @Description(shortDefinition="Business version of the test script", formalDefinition="The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence." ) protected StringType version; + /** + * Indicates the mechanism used to compare versions to determine which is more current. + */ + @Child(name = "versionAlgorithm", type = {StringType.class, Coding.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="How to compare versions", formalDefinition="Indicates the mechanism used to compare versions to determine which is more current." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/version-algorithm") + protected DataType versionAlgorithm; + /** * A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation. */ - @Child(name = "name", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=true) + @Child(name = "name", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this test script (computer friendly)", formalDefinition="A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation." ) protected StringType name; /** * A short, descriptive, user-friendly title for the test script. */ - @Child(name = "title", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "title", type = {StringType.class}, order=5, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Name for this test script (human friendly)", formalDefinition="A short, descriptive, user-friendly title for the test script." ) protected StringType title; /** * The status of this test script. Enables tracking the life-cycle of the content. */ - @Child(name = "status", type = {CodeType.class}, order=5, min=1, max=1, modifier=true, summary=true) + @Child(name = "status", type = {CodeType.class}, order=6, min=1, max=1, modifier=true, summary=true) @Description(shortDefinition="draft | active | retired | unknown", formalDefinition="The status of this test script. Enables tracking the life-cycle of the content." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/publication-status") protected Enumeration status; @@ -12002,49 +8344,49 @@ public class TestScript extends CanonicalResource { /** * A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage. */ - @Child(name = "experimental", type = {BooleanType.class}, order=6, min=0, max=1, modifier=false, summary=true) + @Child(name = "experimental", type = {BooleanType.class}, order=7, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="For testing purposes, not real usage", formalDefinition="A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage." ) protected BooleanType experimental; /** * The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes. */ - @Child(name = "date", type = {DateTimeType.class}, order=7, min=0, max=1, modifier=false, summary=true) + @Child(name = "date", type = {DateTimeType.class}, order=8, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Date last changed", formalDefinition="The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes." ) protected DateTimeType date; /** - * The name of the organization or individual that published the test script. + * The name of the organization or individual responsible for the release and ongoing maintenance of the test script. */ - @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the test script." ) + @Child(name = "publisher", type = {StringType.class}, order=9, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the test script." ) protected StringType publisher; /** * Contact details to assist a user in finding and communicating with the publisher. */ - @Child(name = "contact", type = {ContactDetail.class}, order=9, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "contact", type = {ContactDetail.class}, order=10, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Contact details for the publisher", formalDefinition="Contact details to assist a user in finding and communicating with the publisher." ) protected List contact; /** * A free text natural language description of the test script from a consumer's perspective. */ - @Child(name = "description", type = {MarkdownType.class}, order=10, min=0, max=1, modifier=false, summary=false) + @Child(name = "description", type = {MarkdownType.class}, order=11, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Natural language description of the test script", formalDefinition="A free text natural language description of the test script from a consumer's perspective." ) protected MarkdownType description; /** * The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances. */ - @Child(name = "useContext", type = {UsageContext.class}, order=11, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "useContext", type = {UsageContext.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The context that the content is intended to support", formalDefinition="The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances." ) protected List useContext; /** * A legal or geographic region in which the test script is intended to be used. */ - @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=12, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "jurisdiction", type = {CodeableConcept.class}, order=13, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Intended jurisdiction for test script (if applicable)", formalDefinition="A legal or geographic region in which the test script is intended to be used." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/jurisdiction") protected List jurisdiction; @@ -12052,88 +8394,95 @@ public class TestScript extends CanonicalResource { /** * Explanation of why this test script is needed and why it has been designed as it has. */ - @Child(name = "purpose", type = {MarkdownType.class}, order=13, min=0, max=1, modifier=false, summary=false) + @Child(name = "purpose", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Why this test script is defined", formalDefinition="Explanation of why this test script is needed and why it has been designed as it has." ) protected MarkdownType purpose; /** * A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script. */ - @Child(name = "copyright", type = {MarkdownType.class}, order=14, min=0, max=1, modifier=false, summary=false) + @Child(name = "copyright", type = {MarkdownType.class}, order=15, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script." ) protected MarkdownType copyright; + /** + * A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + @Child(name = "copyrightLabel", type = {StringType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Copyright holder and year(s)", formalDefinition="A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved')." ) + protected StringType copyrightLabel; + /** * An abstract server used in operations within this test script in the origin element. */ - @Child(name = "origin", type = {}, order=15, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "origin", type = {}, order=17, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="An abstract server representing a client or sender in a message exchange", formalDefinition="An abstract server used in operations within this test script in the origin element." ) protected List origin; /** * An abstract server used in operations within this test script in the destination element. */ - @Child(name = "destination", type = {}, order=16, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "destination", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="An abstract server representing a destination or receiver in a message exchange", formalDefinition="An abstract server used in operations within this test script in the destination element." ) protected List destination; /** * The required capability must exist and are assumed to function correctly on the FHIR server being tested. */ - @Child(name = "metadata", type = {}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "metadata", type = {}, order=19, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Required capability that is assumed to function correctly on the FHIR server being tested", formalDefinition="The required capability must exist and are assumed to function correctly on the FHIR server being tested." ) protected TestScriptMetadataComponent metadata; /** * The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion. */ - @Child(name = "scope", type = {}, order=18, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "scope", type = {}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Indication of the artifact(s) that are tested by this test case", formalDefinition="The scope indicates a conformance artifact that is tested by the test(s) within this test case and the expectation of the test outcome(s) as well as the intended test phase inclusion." ) protected List scope; /** * Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute. */ - @Child(name = "fixture", type = {}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "fixture", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Fixture in the test script - by reference (uri)", formalDefinition="Fixture in the test script - by reference (uri). All fixtures are required for the test script to execute." ) protected List fixture; /** * Reference to the profile to be used for validation. */ - @Child(name = "profile", type = {Reference.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "profile", type = {Reference.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Reference of the validation profile", formalDefinition="Reference to the profile to be used for validation." ) protected List profile; /** * Variable is set based either on element value in response body or on header field value in the response headers. */ - @Child(name = "variable", type = {}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "variable", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Placeholder for evaluated elements", formalDefinition="Variable is set based either on element value in response body or on header field value in the response headers." ) protected List variable; /** * A series of required setup operations before tests are executed. */ - @Child(name = "setup", type = {}, order=22, min=0, max=1, modifier=false, summary=false) + @Child(name = "setup", type = {}, order=24, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="A series of required setup operations before tests are executed", formalDefinition="A series of required setup operations before tests are executed." ) protected TestScriptSetupComponent setup; /** * A test in this script. */ - @Child(name = "test", type = {}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "test", type = {}, order=25, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="A test in this script", formalDefinition="A test in this script." ) protected List test; /** * A series of operations required to clean up after all the tests are executed (successfully or otherwise). */ - @Child(name = "teardown", type = {}, order=24, min=0, max=1, modifier=false, summary=false) + @Child(name = "teardown", type = {}, order=26, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="A series of required clean up steps", formalDefinition="A series of operations required to clean up after all the tests are executed (successfully or otherwise)." ) protected TestScriptTeardownComponent teardown; - private static final long serialVersionUID = 299066131L; + private static final long serialVersionUID = -177554718L; /** * Constructor @@ -12152,7 +8501,7 @@ public class TestScript extends CanonicalResource { } /** - * @return {@link #url} (An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @return {@link #url} (An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public UriType getUrlElement() { if (this.url == null) @@ -12172,7 +8521,7 @@ public class TestScript extends CanonicalResource { } /** - * @param value {@link #url} (An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value + * @param value {@link #url} (An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.). This is the underlying object with id, value and extensions. The accessor "getUrl" gives direct access to the value */ public TestScript setUrlElement(UriType value) { this.url = value; @@ -12180,14 +8529,14 @@ public class TestScript extends CanonicalResource { } /** - * @return An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. + * @return An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. */ public String getUrl() { return this.url == null ? null : this.url.getValue(); } /** - * @param value An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. + * @param value An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers. */ public TestScript setUrl(String value) { if (Utilities.noString(value)) @@ -12302,6 +8651,57 @@ public class TestScript extends CanonicalResource { return this; } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + return this.versionAlgorithm; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new StringType(); + if (!(this.versionAlgorithm instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (StringType) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmStringType() { + return this != null && this.versionAlgorithm instanceof StringType; + } + + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() throws FHIRException { + if (this.versionAlgorithm == null) + this.versionAlgorithm = new Coding(); + if (!(this.versionAlgorithm instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.versionAlgorithm.getClass().getName()+" was encountered"); + return (Coding) this.versionAlgorithm; + } + + public boolean hasVersionAlgorithmCoding() { + return this != null && this.versionAlgorithm instanceof Coding; + } + + public boolean hasVersionAlgorithm() { + return this.versionAlgorithm != null && !this.versionAlgorithm.isEmpty(); + } + + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public TestScript setVersionAlgorithm(DataType value) { + if (value != null && !(value instanceof StringType || value instanceof Coding)) + throw new Error("Not the right type for TestScript.versionAlgorithm[x]: "+value.fhirType()); + this.versionAlgorithm = value; + return this; + } + /** * @return {@link #name} (A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.). This is the underlying object with id, value and extensions. The accessor "getName" gives direct access to the value */ @@ -12536,7 +8936,7 @@ public class TestScript extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the test script.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the test script.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -12556,7 +8956,7 @@ public class TestScript extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the test script.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the test script.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public TestScript setPublisherElement(StringType value) { this.publisher = value; @@ -12564,14 +8964,14 @@ public class TestScript extends CanonicalResource { } /** - * @return The name of the organization or individual that published the test script. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the test script. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the test script. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the test script. */ public TestScript setPublisher(String value) { if (Utilities.noString(value)) @@ -12890,6 +9290,55 @@ public class TestScript extends CanonicalResource { return this; } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + if (this.copyrightLabel == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create TestScript.copyrightLabel"); + else if (Configuration.doAutoCreate()) + this.copyrightLabel = new StringType(); // bb + return this.copyrightLabel; + } + + public boolean hasCopyrightLabelElement() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + public boolean hasCopyrightLabel() { + return this.copyrightLabel != null && !this.copyrightLabel.isEmpty(); + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public TestScript setCopyrightLabelElement(StringType value) { + this.copyrightLabel = value; + return this; + } + + /** + * @return A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public String getCopyrightLabel() { + return this.copyrightLabel == null ? null : this.copyrightLabel.getValue(); + } + + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public TestScript setCopyrightLabel(String value) { + if (Utilities.noString(value)) + this.copyrightLabel = null; + else { + if (this.copyrightLabel == null) + this.copyrightLabel = new StringType(); + this.copyrightLabel.setValue(value); + } + return this; + } + /** * @return {@link #origin} (An abstract server used in operations within this test script in the origin element.) */ @@ -13335,21 +9784,23 @@ public class TestScript extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); - children.add(new Property("url", "uri", "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.", 0, 1, url)); + children.add(new Property("url", "uri", "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.", 0, 1, url)); children.add(new Property("identifier", "Identifier", "A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier)); children.add(new Property("version", "string", "The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version)); + children.add(new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm)); children.add(new Property("name", "string", "A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name)); children.add(new Property("title", "string", "A short, descriptive, user-friendly title for the test script.", 0, 1, title)); children.add(new Property("status", "code", "The status of this test script. Enables tracking the life-cycle of the content.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the test script.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the test script.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the test script from a consumer's perspective.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); children.add(new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the test script is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction)); children.add(new Property("purpose", "markdown", "Explanation of why this test script is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.", 0, 1, copyright)); + children.add(new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel)); children.add(new Property("origin", "", "An abstract server used in operations within this test script in the origin element.", 0, java.lang.Integer.MAX_VALUE, origin)); children.add(new Property("destination", "", "An abstract server used in operations within this test script in the destination element.", 0, java.lang.Integer.MAX_VALUE, destination)); children.add(new Property("metadata", "", "The required capability must exist and are assumed to function correctly on the FHIR server being tested.", 0, 1, metadata)); @@ -13365,21 +9816,26 @@ public class TestScript extends CanonicalResource { @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { - case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.", 0, 1, url); + case 116079: /*url*/ return new Property("url", "uri", "An absolute URI that is used to identify this test script when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this test script is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the test script is stored on different servers.", 0, 1, url); case -1618432855: /*identifier*/ return new Property("identifier", "Identifier", "A formal identifier that is used to identify this test script when it is represented in other formats, or referenced in a specification, model, design or an instance.", 0, java.lang.Integer.MAX_VALUE, identifier); case 351608024: /*version*/ return new Property("version", "string", "The identifier that is used to identify this version of the test script when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the test script author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequence.", 0, 1, version); + case -115699031: /*versionAlgorithm[x]*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1508158071: /*versionAlgorithm*/ return new Property("versionAlgorithm[x]", "string|Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1836908904: /*versionAlgorithmString*/ return new Property("versionAlgorithm[x]", "string", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); + case 1373807809: /*versionAlgorithmCoding*/ return new Property("versionAlgorithm[x]", "Coding", "Indicates the mechanism used to compare versions to determine which is more current.", 0, 1, versionAlgorithm); case 3373707: /*name*/ return new Property("name", "string", "A natural language name identifying the test script. This name should be usable as an identifier for the module by machine processing applications such as code generation.", 0, 1, name); case 110371416: /*title*/ return new Property("title", "string", "A short, descriptive, user-friendly title for the test script.", 0, 1, title); case -892481550: /*status*/ return new Property("status", "code", "The status of this test script. Enables tracking the life-cycle of the content.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this test script is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the test script was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the test script changes.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the test script.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the test script.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the test script from a consumer's perspective.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate test script instances.", 0, java.lang.Integer.MAX_VALUE, useContext); case -507075711: /*jurisdiction*/ return new Property("jurisdiction", "CodeableConcept", "A legal or geographic region in which the test script is intended to be used.", 0, java.lang.Integer.MAX_VALUE, jurisdiction); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this test script is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the test script and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the test script.", 0, 1, copyright); + case 765157229: /*copyrightLabel*/ return new Property("copyrightLabel", "string", "A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').", 0, 1, copyrightLabel); case -1008619738: /*origin*/ return new Property("origin", "", "An abstract server used in operations within this test script in the origin element.", 0, java.lang.Integer.MAX_VALUE, origin); case -1429847026: /*destination*/ return new Property("destination", "", "An abstract server used in operations within this test script in the destination element.", 0, java.lang.Integer.MAX_VALUE, destination); case -450004177: /*metadata*/ return new Property("metadata", "", "The required capability must exist and are assumed to function correctly on the FHIR server being tested.", 0, 1, metadata); @@ -13401,6 +9857,7 @@ public class TestScript extends CanonicalResource { case 116079: /*url*/ return this.url == null ? new Base[0] : new Base[] {this.url}; // UriType case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : this.identifier.toArray(new Base[this.identifier.size()]); // Identifier case 351608024: /*version*/ return this.version == null ? new Base[0] : new Base[] {this.version}; // StringType + case 1508158071: /*versionAlgorithm*/ return this.versionAlgorithm == null ? new Base[0] : new Base[] {this.versionAlgorithm}; // DataType case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType case 110371416: /*title*/ return this.title == null ? new Base[0] : new Base[] {this.title}; // StringType case -892481550: /*status*/ return this.status == null ? new Base[0] : new Base[] {this.status}; // Enumeration @@ -13413,6 +9870,7 @@ public class TestScript extends CanonicalResource { case -507075711: /*jurisdiction*/ return this.jurisdiction == null ? new Base[0] : this.jurisdiction.toArray(new Base[this.jurisdiction.size()]); // CodeableConcept case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 765157229: /*copyrightLabel*/ return this.copyrightLabel == null ? new Base[0] : new Base[] {this.copyrightLabel}; // StringType case -1008619738: /*origin*/ return this.origin == null ? new Base[0] : this.origin.toArray(new Base[this.origin.size()]); // TestScriptOriginComponent case -1429847026: /*destination*/ return this.destination == null ? new Base[0] : this.destination.toArray(new Base[this.destination.size()]); // TestScriptDestinationComponent case -450004177: /*metadata*/ return this.metadata == null ? new Base[0] : new Base[] {this.metadata}; // TestScriptMetadataComponent @@ -13440,6 +9898,9 @@ public class TestScript extends CanonicalResource { case 351608024: // version this.version = TypeConvertor.castToString(value); // StringType return value; + case 1508158071: // versionAlgorithm + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType + return value; case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; @@ -13477,6 +9938,9 @@ public class TestScript extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 765157229: // copyrightLabel + this.copyrightLabel = TypeConvertor.castToString(value); // StringType + return value; case -1008619738: // origin this.getOrigin().add((TestScriptOriginComponent) value); // TestScriptOriginComponent return value; @@ -13520,6 +9984,8 @@ public class TestScript extends CanonicalResource { this.getIdentifier().add(TypeConvertor.castToIdentifier(value)); } else if (name.equals("version")) { this.version = TypeConvertor.castToString(value); // StringType + } else if (name.equals("versionAlgorithm[x]")) { + this.versionAlgorithm = TypeConvertor.castToType(value); // DataType } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType } else if (name.equals("title")) { @@ -13545,6 +10011,8 @@ public class TestScript extends CanonicalResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("copyrightLabel")) { + this.copyrightLabel = TypeConvertor.castToString(value); // StringType } else if (name.equals("origin")) { this.getOrigin().add((TestScriptOriginComponent) value); } else if (name.equals("destination")) { @@ -13576,6 +10044,8 @@ public class TestScript extends CanonicalResource { case 116079: return getUrlElement(); case -1618432855: return addIdentifier(); case 351608024: return getVersionElement(); + case -115699031: return getVersionAlgorithm(); + case 1508158071: return getVersionAlgorithm(); case 3373707: return getNameElement(); case 110371416: return getTitleElement(); case -892481550: return getStatusElement(); @@ -13588,6 +10058,7 @@ public class TestScript extends CanonicalResource { case -507075711: return addJurisdiction(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 765157229: return getCopyrightLabelElement(); case -1008619738: return addOrigin(); case -1429847026: return addDestination(); case -450004177: return getMetadata(); @@ -13609,6 +10080,7 @@ public class TestScript extends CanonicalResource { case 116079: /*url*/ return new String[] {"uri"}; case -1618432855: /*identifier*/ return new String[] {"Identifier"}; case 351608024: /*version*/ return new String[] {"string"}; + case 1508158071: /*versionAlgorithm*/ return new String[] {"string", "Coding"}; case 3373707: /*name*/ return new String[] {"string"}; case 110371416: /*title*/ return new String[] {"string"}; case -892481550: /*status*/ return new String[] {"code"}; @@ -13621,6 +10093,7 @@ public class TestScript extends CanonicalResource { case -507075711: /*jurisdiction*/ return new String[] {"CodeableConcept"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 765157229: /*copyrightLabel*/ return new String[] {"string"}; case -1008619738: /*origin*/ return new String[] {}; case -1429847026: /*destination*/ return new String[] {}; case -450004177: /*metadata*/ return new String[] {}; @@ -13647,6 +10120,14 @@ public class TestScript extends CanonicalResource { else if (name.equals("version")) { throw new FHIRException("Cannot call addChild on a primitive type TestScript.version"); } + else if (name.equals("versionAlgorithmString")) { + this.versionAlgorithm = new StringType(); + return this.versionAlgorithm; + } + else if (name.equals("versionAlgorithmCoding")) { + this.versionAlgorithm = new Coding(); + return this.versionAlgorithm; + } else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type TestScript.name"); } @@ -13683,6 +10164,9 @@ public class TestScript extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type TestScript.copyright"); } + else if (name.equals("copyrightLabel")) { + throw new FHIRException("Cannot call addChild on a primitive type TestScript.copyrightLabel"); + } else if (name.equals("origin")) { return addOrigin(); } @@ -13740,6 +10224,7 @@ public class TestScript extends CanonicalResource { dst.identifier.add(i.copy()); }; dst.version = version == null ? null : version.copy(); + dst.versionAlgorithm = versionAlgorithm == null ? null : versionAlgorithm.copy(); dst.name = name == null ? null : name.copy(); dst.title = title == null ? null : title.copy(); dst.status = status == null ? null : status.copy(); @@ -13764,6 +10249,7 @@ public class TestScript extends CanonicalResource { }; dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.copyrightLabel = copyrightLabel == null ? null : copyrightLabel.copy(); if (origin != null) { dst.origin = new ArrayList(); for (TestScriptOriginComponent i : origin) @@ -13816,10 +10302,11 @@ public class TestScript extends CanonicalResource { return false; TestScript o = (TestScript) other_; return compareDeep(url, o.url, true) && compareDeep(identifier, o.identifier, true) && compareDeep(version, o.version, true) - && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) && compareDeep(status, o.status, true) - && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) - && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) - && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) + && compareDeep(versionAlgorithm, o.versionAlgorithm, true) && compareDeep(name, o.name, true) && compareDeep(title, o.title, true) + && compareDeep(status, o.status, true) && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) + && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) + && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) + && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(copyrightLabel, o.copyrightLabel, true) && compareDeep(origin, o.origin, true) && compareDeep(destination, o.destination, true) && compareDeep(metadata, o.metadata, true) && compareDeep(scope, o.scope, true) && compareDeep(fixture, o.fixture, true) && compareDeep(profile, o.profile, true) && compareDeep(variable, o.variable, true) && compareDeep(setup, o.setup, true) && compareDeep(test, o.test, true) @@ -13836,14 +10323,16 @@ public class TestScript extends CanonicalResource { return compareValues(url, o.url, true) && compareValues(version, o.version, true) && compareValues(name, o.name, true) && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) - && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true); + && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) && compareValues(copyrightLabel, o.copyrightLabel, true) + ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version - , name, title, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, purpose, copyright, origin, destination, metadata, scope, fixture - , profile, variable, setup, test, teardown); + , versionAlgorithm, name, title, status, experimental, date, publisher, contact + , description, useContext, jurisdiction, purpose, copyright, copyrightLabel, origin + , destination, metadata, scope, fixture, profile, variable, setup, test, teardown + ); } @Override @@ -14079,7 +10568,7 @@ public class TestScript extends CanonicalResource { * Path: TestScript.scope.artifact
*

*/ - @SearchParamDefinition(name="scope-artifact", path="TestScript.scope.artifact", description="The artifact under test", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="scope-artifact", path="TestScript.scope.artifact", description="The artifact under test", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_SCOPE_ARTIFACT = "scope-artifact"; /** * Fluent Client search parameter constant for scope-artifact diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Timing.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Timing.java index 3e51e3e38..cbb9097e2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Timing.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Timing.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -47,7 +47,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out. + * Timing Type: Specifies an event that may occur multiple times. Timing schedules are used to record when things are planned, expected or requested to occur. The most common usage is in dosage instructions for medications. They are also used when planning care of various kinds, and may be used for reporting the schedule to which past regular activities were carried out. */ @DatatypeDef(name="Timing") public class Timing extends BackboneType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Transport.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Transport.java index 25cb703c9..45d123a64 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Transport.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Transport.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -87,7 +87,7 @@ public class Transport extends DomainResource { */ INSTANCEORDER, /** - * The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used. + * The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used. */ OPTION, /** @@ -160,7 +160,7 @@ public class Transport extends DomainResource { case REFLEXORDER: return "The request represents an automatically generated supplemental authorization for action based on a parent authorization together with initial results of the action taken against that parent authorization."; case FILLERORDER: return "The request represents the view of an authorization instantiated by a fulfilling system representing the details of the fulfiller's intention to act upon a submitted order."; case INSTANCEORDER: return "An order created in fulfillment of a broader order that represents the authorization for a single activity occurrence. E.g. The administration of a single dose of a drug."; - case OPTION: return "The request represents a component or option for a RequestGroup that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestGroup]]] for additional information on how this status is used."; + case OPTION: return "The request represents a component or option for a RequestOrchestration that establishes timing, conditionality and/or other constraints among a set of requests. Refer to [[[RequestOrchestration]]] for additional information on how this status is used."; case NULL: return null; default: return "?"; } @@ -734,7 +734,7 @@ public class Transport extends DomainResource { /** * The value of the input parameter as a basic type. */ - @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Content to use in performing the transport", formalDefinition="The value of the input parameter as a basic type." ) protected DataType value; @@ -1447,21 +1447,6 @@ public class Transport extends DomainResource { return this != null && this.value instanceof ContactDetail; } - /** - * @return {@link #value} (The value of the input parameter as a basic type.) - */ - public Contributor getValueContributor() throws FHIRException { - if (this.value == null) - this.value = new Contributor(); - if (!(this.value instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.value.getClass().getName()+" was encountered"); - return (Contributor) this.value; - } - - public boolean hasValueContributor() { - return this != null && this.value instanceof Contributor; - } - /** * @return {@link #value} (The value of the input parameter as a basic type.) */ @@ -1552,6 +1537,36 @@ public class Transport extends DomainResource { return this != null && this.value instanceof UsageContext; } + /** + * @return {@link #value} (The value of the input parameter as a basic type.) + */ + public Availability getValueAvailability() throws FHIRException { + if (this.value == null) + this.value = new Availability(); + if (!(this.value instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Availability) this.value; + } + + public boolean hasValueAvailability() { + return this != null && this.value instanceof Availability; + } + + /** + * @return {@link #value} (The value of the input parameter as a basic type.) + */ + public ExtendedContactDetail getValueExtendedContactDetail() throws FHIRException { + if (this.value == null) + this.value = new ExtendedContactDetail(); + if (!(this.value instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.value.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.value; + } + + public boolean hasValueExtendedContactDetail() { + return this != null && this.value instanceof ExtendedContactDetail; + } + /** * @return {@link #value} (The value of the input parameter as a basic type.) */ @@ -1590,7 +1605,7 @@ public class Transport extends DomainResource { * @param value {@link #value} (The value of the input parameter as a basic type.) */ public ParameterComponent setValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for Transport.input.value[x]: "+value.fhirType()); this.value = value; return this; @@ -1599,15 +1614,15 @@ public class Transport extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "A code or description indicating how the input is intended to be used as part of the transport execution.", 0, 1, type)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "A code or description indicating how the input is intended to be used as part of the transport execution.", 0, 1, type); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the input parameter as a basic type.", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "The value of the input parameter as a basic type.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the input parameter as a basic type.", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "The value of the input parameter as a basic type.", 0, 1, value); @@ -1652,13 +1667,14 @@ public class Transport extends DomainResource { case -540985785: /*valueSignature*/ return new Property("value[x]", "Signature", "The value of the input parameter as a basic type.", 0, 1, value); case -1406282469: /*valueTiming*/ return new Property("value[x]", "Timing", "The value of the input parameter as a basic type.", 0, 1, value); case -1125200224: /*valueContactDetail*/ return new Property("value[x]", "ContactDetail", "The value of the input parameter as a basic type.", 0, 1, value); - case 1281021610: /*valueContributor*/ return new Property("value[x]", "Contributor", "The value of the input parameter as a basic type.", 0, 1, value); case 1710554248: /*valueDataRequirement*/ return new Property("value[x]", "DataRequirement", "The value of the input parameter as a basic type.", 0, 1, value); case -307517719: /*valueExpression*/ return new Property("value[x]", "Expression", "The value of the input parameter as a basic type.", 0, 1, value); case 1387478187: /*valueParameterDefinition*/ return new Property("value[x]", "ParameterDefinition", "The value of the input parameter as a basic type.", 0, 1, value); case 1748214124: /*valueRelatedArtifact*/ return new Property("value[x]", "RelatedArtifact", "The value of the input parameter as a basic type.", 0, 1, value); case 976830394: /*valueTriggerDefinition*/ return new Property("value[x]", "TriggerDefinition", "The value of the input parameter as a basic type.", 0, 1, value); case 588000479: /*valueUsageContext*/ return new Property("value[x]", "UsageContext", "The value of the input parameter as a basic type.", 0, 1, value); + case 1678530924: /*valueAvailability*/ return new Property("value[x]", "Availability", "The value of the input parameter as a basic type.", 0, 1, value); + case -1567222041: /*valueExtendedContactDetail*/ return new Property("value[x]", "ExtendedContactDetail", "The value of the input parameter as a basic type.", 0, 1, value); case -1858636920: /*valueDosage*/ return new Property("value[x]", "Dosage", "The value of the input parameter as a basic type.", 0, 1, value); case -765920490: /*valueMeta*/ return new Property("value[x]", "Meta", "The value of the input parameter as a basic type.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -1716,7 +1732,7 @@ public class Transport extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; default: return super.getTypesForProperty(hash, name); } @@ -1904,10 +1920,6 @@ public class Transport extends DomainResource { this.value = new ContactDetail(); return this.value; } - else if (name.equals("valueContributor")) { - this.value = new Contributor(); - return this.value; - } else if (name.equals("valueDataRequirement")) { this.value = new DataRequirement(); return this.value; @@ -1932,6 +1944,14 @@ public class Transport extends DomainResource { this.value = new UsageContext(); return this.value; } + else if (name.equals("valueAvailability")) { + this.value = new Availability(); + return this.value; + } + else if (name.equals("valueExtendedContactDetail")) { + this.value = new ExtendedContactDetail(); + return this.value; + } else if (name.equals("valueDosage")) { this.value = new Dosage(); return this.value; @@ -1999,7 +2019,7 @@ public class Transport extends DomainResource { /** * The value of the Output parameter as a basic type. */ - @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, Contributor.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "value", type = {Base64BinaryType.class, BooleanType.class, CanonicalType.class, CodeType.class, DateType.class, DateTimeType.class, DecimalType.class, IdType.class, InstantType.class, IntegerType.class, Integer64Type.class, MarkdownType.class, OidType.class, PositiveIntType.class, StringType.class, TimeType.class, UnsignedIntType.class, UriType.class, UrlType.class, UuidType.class, Address.class, Age.class, Annotation.class, Attachment.class, CodeableConcept.class, CodeableReference.class, Coding.class, ContactPoint.class, Count.class, Distance.class, Duration.class, HumanName.class, Identifier.class, Money.class, Period.class, Quantity.class, Range.class, Ratio.class, RatioRange.class, Reference.class, SampledData.class, Signature.class, Timing.class, ContactDetail.class, DataRequirement.class, Expression.class, ParameterDefinition.class, RelatedArtifact.class, TriggerDefinition.class, UsageContext.class, Availability.class, ExtendedContactDetail.class, Dosage.class, Meta.class}, order=2, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Result of output", formalDefinition="The value of the Output parameter as a basic type." ) protected DataType value; @@ -2712,21 +2732,6 @@ public class Transport extends DomainResource { return this != null && this.value instanceof ContactDetail; } - /** - * @return {@link #value} (The value of the Output parameter as a basic type.) - */ - public Contributor getValueContributor() throws FHIRException { - if (this.value == null) - this.value = new Contributor(); - if (!(this.value instanceof Contributor)) - throw new FHIRException("Type mismatch: the type Contributor was expected, but "+this.value.getClass().getName()+" was encountered"); - return (Contributor) this.value; - } - - public boolean hasValueContributor() { - return this != null && this.value instanceof Contributor; - } - /** * @return {@link #value} (The value of the Output parameter as a basic type.) */ @@ -2817,6 +2822,36 @@ public class Transport extends DomainResource { return this != null && this.value instanceof UsageContext; } + /** + * @return {@link #value} (The value of the Output parameter as a basic type.) + */ + public Availability getValueAvailability() throws FHIRException { + if (this.value == null) + this.value = new Availability(); + if (!(this.value instanceof Availability)) + throw new FHIRException("Type mismatch: the type Availability was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Availability) this.value; + } + + public boolean hasValueAvailability() { + return this != null && this.value instanceof Availability; + } + + /** + * @return {@link #value} (The value of the Output parameter as a basic type.) + */ + public ExtendedContactDetail getValueExtendedContactDetail() throws FHIRException { + if (this.value == null) + this.value = new ExtendedContactDetail(); + if (!(this.value instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.value.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.value; + } + + public boolean hasValueExtendedContactDetail() { + return this != null && this.value instanceof ExtendedContactDetail; + } + /** * @return {@link #value} (The value of the Output parameter as a basic type.) */ @@ -2855,7 +2890,7 @@ public class Transport extends DomainResource { * @param value {@link #value} (The value of the Output parameter as a basic type.) */ public TransportOutputComponent setValue(DataType value) { - if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof Contributor || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Dosage || value instanceof Meta)) + if (value != null && !(value instanceof Base64BinaryType || value instanceof BooleanType || value instanceof CanonicalType || value instanceof CodeType || value instanceof DateType || value instanceof DateTimeType || value instanceof DecimalType || value instanceof IdType || value instanceof InstantType || value instanceof IntegerType || value instanceof Integer64Type || value instanceof MarkdownType || value instanceof OidType || value instanceof PositiveIntType || value instanceof StringType || value instanceof TimeType || value instanceof UnsignedIntType || value instanceof UriType || value instanceof UrlType || value instanceof UuidType || value instanceof Address || value instanceof Age || value instanceof Annotation || value instanceof Attachment || value instanceof CodeableConcept || value instanceof CodeableReference || value instanceof Coding || value instanceof ContactPoint || value instanceof Count || value instanceof Distance || value instanceof Duration || value instanceof HumanName || value instanceof Identifier || value instanceof Money || value instanceof Period || value instanceof Quantity || value instanceof Range || value instanceof Ratio || value instanceof RatioRange || value instanceof Reference || value instanceof SampledData || value instanceof Signature || value instanceof Timing || value instanceof ContactDetail || value instanceof DataRequirement || value instanceof Expression || value instanceof ParameterDefinition || value instanceof RelatedArtifact || value instanceof TriggerDefinition || value instanceof UsageContext || value instanceof Availability || value instanceof ExtendedContactDetail || value instanceof Dosage || value instanceof Meta)) throw new Error("Not the right type for Transport.output.value[x]: "+value.fhirType()); this.value = value; return this; @@ -2864,15 +2899,15 @@ public class Transport extends DomainResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("type", "CodeableConcept", "The name of the Output parameter.", 0, 1, type)); - children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value)); + children.add(new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value)); } @Override public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case 3575610: /*type*/ return new Property("type", "CodeableConcept", "The name of the Output parameter.", 0, 1, type); - case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); - case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|Contributor|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); + case -1410166417: /*value[x]*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "base64Binary|boolean|canonical|code|date|dateTime|decimal|id|instant|integer|integer64|markdown|oid|positiveInt|string|time|unsignedInt|uri|url|uuid|Address|Age|Annotation|Attachment|CodeableConcept|CodeableReference|Coding|ContactPoint|Count|Distance|Duration|HumanName|Identifier|Money|Period|Quantity|Range|Ratio|RatioRange|Reference|SampledData|Signature|Timing|ContactDetail|DataRequirement|Expression|ParameterDefinition|RelatedArtifact|TriggerDefinition|UsageContext|Availability|ExtendedContactDetail|Dosage|Meta", "The value of the Output parameter as a basic type.", 0, 1, value); case -1535024575: /*valueBase64Binary*/ return new Property("value[x]", "base64Binary", "The value of the Output parameter as a basic type.", 0, 1, value); case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of the Output parameter as a basic type.", 0, 1, value); case -786218365: /*valueCanonical*/ return new Property("value[x]", "canonical", "The value of the Output parameter as a basic type.", 0, 1, value); @@ -2917,13 +2952,14 @@ public class Transport extends DomainResource { case -540985785: /*valueSignature*/ return new Property("value[x]", "Signature", "The value of the Output parameter as a basic type.", 0, 1, value); case -1406282469: /*valueTiming*/ return new Property("value[x]", "Timing", "The value of the Output parameter as a basic type.", 0, 1, value); case -1125200224: /*valueContactDetail*/ return new Property("value[x]", "ContactDetail", "The value of the Output parameter as a basic type.", 0, 1, value); - case 1281021610: /*valueContributor*/ return new Property("value[x]", "Contributor", "The value of the Output parameter as a basic type.", 0, 1, value); case 1710554248: /*valueDataRequirement*/ return new Property("value[x]", "DataRequirement", "The value of the Output parameter as a basic type.", 0, 1, value); case -307517719: /*valueExpression*/ return new Property("value[x]", "Expression", "The value of the Output parameter as a basic type.", 0, 1, value); case 1387478187: /*valueParameterDefinition*/ return new Property("value[x]", "ParameterDefinition", "The value of the Output parameter as a basic type.", 0, 1, value); case 1748214124: /*valueRelatedArtifact*/ return new Property("value[x]", "RelatedArtifact", "The value of the Output parameter as a basic type.", 0, 1, value); case 976830394: /*valueTriggerDefinition*/ return new Property("value[x]", "TriggerDefinition", "The value of the Output parameter as a basic type.", 0, 1, value); case 588000479: /*valueUsageContext*/ return new Property("value[x]", "UsageContext", "The value of the Output parameter as a basic type.", 0, 1, value); + case 1678530924: /*valueAvailability*/ return new Property("value[x]", "Availability", "The value of the Output parameter as a basic type.", 0, 1, value); + case -1567222041: /*valueExtendedContactDetail*/ return new Property("value[x]", "ExtendedContactDetail", "The value of the Output parameter as a basic type.", 0, 1, value); case -1858636920: /*valueDosage*/ return new Property("value[x]", "Dosage", "The value of the Output parameter as a basic type.", 0, 1, value); case -765920490: /*valueMeta*/ return new Property("value[x]", "Meta", "The value of the Output parameter as a basic type.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); @@ -2981,7 +3017,7 @@ public class Transport extends DomainResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case 3575610: /*type*/ return new String[] {"CodeableConcept"}; - case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "Contributor", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Dosage", "Meta"}; + case 111972721: /*value*/ return new String[] {"base64Binary", "boolean", "canonical", "code", "date", "dateTime", "decimal", "id", "instant", "integer", "integer64", "markdown", "oid", "positiveInt", "string", "time", "unsignedInt", "uri", "url", "uuid", "Address", "Age", "Annotation", "Attachment", "CodeableConcept", "CodeableReference", "Coding", "ContactPoint", "Count", "Distance", "Duration", "HumanName", "Identifier", "Money", "Period", "Quantity", "Range", "Ratio", "RatioRange", "Reference", "SampledData", "Signature", "Timing", "ContactDetail", "DataRequirement", "Expression", "ParameterDefinition", "RelatedArtifact", "TriggerDefinition", "UsageContext", "Availability", "ExtendedContactDetail", "Dosage", "Meta"}; default: return super.getTypesForProperty(hash, name); } @@ -3169,10 +3205,6 @@ public class Transport extends DomainResource { this.value = new ContactDetail(); return this.value; } - else if (name.equals("valueContributor")) { - this.value = new Contributor(); - return this.value; - } else if (name.equals("valueDataRequirement")) { this.value = new DataRequirement(); return this.value; @@ -3197,6 +3229,14 @@ public class Transport extends DomainResource { this.value = new UsageContext(); return this.value; } + else if (name.equals("valueAvailability")) { + this.value = new Availability(); + return this.value; + } + else if (name.equals("valueExtendedContactDetail")) { + this.value = new ExtendedContactDetail(); + return this.value; + } else if (name.equals("valueDosage")) { this.value = new Dosage(); return this.value; @@ -3406,10 +3446,10 @@ public class Transport extends DomainResource { protected Reference owner; /** - * Principal physical location where the this transport is performed. + * Principal physical location where this transport is performed. */ @Child(name = "location", type = {Location.class}, order=21, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Where transport occurs", formalDefinition="Principal physical location where the this transport is performed." ) + @Description(shortDefinition="Where transport occurs", formalDefinition="Principal physical location where this transport is performed." ) protected Reference location; /** @@ -4350,7 +4390,7 @@ public class Transport extends DomainResource { } /** - * @return {@link #location} (Principal physical location where the this transport is performed.) + * @return {@link #location} (Principal physical location where this transport is performed.) */ public Reference getLocation() { if (this.location == null) @@ -4366,7 +4406,7 @@ public class Transport extends DomainResource { } /** - * @param value {@link #location} (Principal physical location where the this transport is performed.) + * @param value {@link #location} (Principal physical location where this transport is performed.) */ public Transport setLocation(Reference value) { this.location = value; @@ -4805,7 +4845,7 @@ public class Transport extends DomainResource { children.add(new Property("requester", "Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The creator of the transport.", 0, 1, requester)); children.add(new Property("performerType", "CodeableConcept", "The kind of participant that should perform the transport.", 0, java.lang.Integer.MAX_VALUE, performerType)); children.add(new Property("owner", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "Individual organization or Device currently responsible for transport execution.", 0, 1, owner)); - children.add(new Property("location", "Reference(Location)", "Principal physical location where the this transport is performed.", 0, 1, location)); + children.add(new Property("location", "Reference(Location)", "Principal physical location where this transport is performed.", 0, 1, location)); children.add(new Property("reasonCode", "CodeableConcept", "A description or code indicating why this transport needs to be performed.", 0, 1, reasonCode)); children.add(new Property("reasonReference", "Reference(Any)", "A resource reference indicating why this transport needs to be performed.", 0, 1, reasonReference)); children.add(new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Transport.", 0, java.lang.Integer.MAX_VALUE, insurance)); @@ -4843,7 +4883,7 @@ public class Transport extends DomainResource { case 693933948: /*requester*/ return new Property("requester", "Reference(Device|Organization|Patient|Practitioner|PractitionerRole|RelatedPerson)", "The creator of the transport.", 0, 1, requester); case -901444568: /*performerType*/ return new Property("performerType", "CodeableConcept", "The kind of participant that should perform the transport.", 0, java.lang.Integer.MAX_VALUE, performerType); case 106164915: /*owner*/ return new Property("owner", "Reference(Practitioner|PractitionerRole|Organization|CareTeam|HealthcareService|Patient|Device|RelatedPerson)", "Individual organization or Device currently responsible for transport execution.", 0, 1, owner); - case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "Principal physical location where the this transport is performed.", 0, 1, location); + case 1901043637: /*location*/ return new Property("location", "Reference(Location)", "Principal physical location where this transport is performed.", 0, 1, location); case 722137681: /*reasonCode*/ return new Property("reasonCode", "CodeableConcept", "A description or code indicating why this transport needs to be performed.", 0, 1, reasonCode); case -1146218137: /*reasonReference*/ return new Property("reasonReference", "Reference(Any)", "A resource reference indicating why this transport needs to be performed.", 0, 1, reasonReference); case 73049818: /*insurance*/ return new Property("insurance", "Reference(Coverage|ClaimResponse)", "Insurance plans, coverage extensions, pre-authorizations and/or pre-determinations that may be relevant to the Transport.", 0, java.lang.Integer.MAX_VALUE, insurance); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TriggerDefinition.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TriggerDefinition.java index 258d4ddc6..dfa014433 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TriggerDefinition.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TriggerDefinition.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -46,7 +46,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. + * TriggerDefinition Type: A description of a triggering event. Triggering events can be named events, data events, or periodic, as determined by the type element. */ @DatatypeDef(name="TriggerDefinition") public class TriggerDefinition extends DataType implements ICompositeType { @@ -258,28 +258,42 @@ public class TriggerDefinition extends DataType implements ICompositeType { @Description(shortDefinition="Name or URI that identifies the event", formalDefinition="A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context." ) protected StringType name; + /** + * A code that identifies the event. + */ + @Child(name = "code", type = {CodeableConcept.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Coded definition of the event", formalDefinition="A code that identifies the event." ) + protected CodeableConcept code; + + /** + * A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied. + */ + @Child(name = "subscriptionTopic", type = {CanonicalType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="What event", formalDefinition="A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied." ) + protected CanonicalType subscriptionTopic; + /** * The timing of the event (if this is a periodic trigger). */ - @Child(name = "timing", type = {Timing.class, Schedule.class, DateType.class, DateTimeType.class}, order=2, min=0, max=1, modifier=false, summary=true) + @Child(name = "timing", type = {Timing.class, Schedule.class, DateType.class, DateTimeType.class}, order=4, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Timing of the event", formalDefinition="The timing of the event (if this is a periodic trigger)." ) protected DataType timing; /** * The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true. */ - @Child(name = "data", type = {DataRequirement.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Child(name = "data", type = {DataRequirement.class}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="Triggering data of the event (multiple = 'and')", formalDefinition="The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true." ) protected List data; /** * A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires. */ - @Child(name = "condition", type = {Expression.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Child(name = "condition", type = {Expression.class}, order=6, min=0, max=1, modifier=false, summary=true) @Description(shortDefinition="Whether the event triggers (boolean expression)", formalDefinition="A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires." ) protected Expression condition; - private static final long serialVersionUID = 137099027L; + private static final long serialVersionUID = -1823040479L; /** * Constructor @@ -390,6 +404,79 @@ public class TriggerDefinition extends DataType implements ICompositeType { return this; } + /** + * @return {@link #code} (A code that identifies the event.) + */ + public CodeableConcept getCode() { + if (this.code == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create TriggerDefinition.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeableConcept(); // cc + return this.code; + } + + public boolean hasCode() { + return this.code != null && !this.code.isEmpty(); + } + + /** + * @param value {@link #code} (A code that identifies the event.) + */ + public TriggerDefinition setCode(CodeableConcept value) { + this.code = value; + return this; + } + + /** + * @return {@link #subscriptionTopic} (A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied.). This is the underlying object with id, value and extensions. The accessor "getSubscriptionTopic" gives direct access to the value + */ + public CanonicalType getSubscriptionTopicElement() { + if (this.subscriptionTopic == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create TriggerDefinition.subscriptionTopic"); + else if (Configuration.doAutoCreate()) + this.subscriptionTopic = new CanonicalType(); // bb + return this.subscriptionTopic; + } + + public boolean hasSubscriptionTopicElement() { + return this.subscriptionTopic != null && !this.subscriptionTopic.isEmpty(); + } + + public boolean hasSubscriptionTopic() { + return this.subscriptionTopic != null && !this.subscriptionTopic.isEmpty(); + } + + /** + * @param value {@link #subscriptionTopic} (A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied.). This is the underlying object with id, value and extensions. The accessor "getSubscriptionTopic" gives direct access to the value + */ + public TriggerDefinition setSubscriptionTopicElement(CanonicalType value) { + this.subscriptionTopic = value; + return this; + } + + /** + * @return A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied. + */ + public String getSubscriptionTopic() { + return this.subscriptionTopic == null ? null : this.subscriptionTopic.getValue(); + } + + /** + * @param value A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied. + */ + public TriggerDefinition setSubscriptionTopic(String value) { + if (Utilities.noString(value)) + this.subscriptionTopic = null; + else { + if (this.subscriptionTopic == null) + this.subscriptionTopic = new CanonicalType(); + this.subscriptionTopic.setValue(value); + } + return this; + } + /** * @return {@link #timing} (The timing of the event (if this is a periodic trigger).) */ @@ -552,6 +639,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { super.listChildren(children); children.add(new Property("type", "code", "The type of triggering event.", 0, 1, type)); children.add(new Property("name", "string", "A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context.", 0, 1, name)); + children.add(new Property("code", "CodeableConcept", "A code that identifies the event.", 0, 1, code)); + children.add(new Property("subscriptionTopic", "canonical(SubscriptionTopic)", "A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied.", 0, 1, subscriptionTopic)); children.add(new Property("timing[x]", "Timing|Reference(Schedule)|date|dateTime", "The timing of the event (if this is a periodic trigger).", 0, 1, timing)); children.add(new Property("data", "DataRequirement", "The triggering data of the event (if this is a data trigger). If more than one data is requirement is specified, then all the data requirements must be true.", 0, java.lang.Integer.MAX_VALUE, data)); children.add(new Property("condition", "Expression", "A boolean-valued expression that is evaluated in the context of the container of the trigger definition and returns whether or not the trigger fires.", 0, 1, condition)); @@ -562,6 +651,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { switch (_hash) { case 3575610: /*type*/ return new Property("type", "code", "The type of triggering event.", 0, 1, type); case 3373707: /*name*/ return new Property("name", "string", "A formal name for the event. This may be an absolute URI that identifies the event formally (e.g. from a trigger registry), or a simple relative URI that identifies the event in a local context.", 0, 1, name); + case 3059181: /*code*/ return new Property("code", "CodeableConcept", "A code that identifies the event.", 0, 1, code); + case 1191816722: /*subscriptionTopic*/ return new Property("subscriptionTopic", "canonical(SubscriptionTopic)", "A reference to a SubscriptionTopic resource that defines the event. If this element is provided, no other information about the trigger definition may be supplied.", 0, 1, subscriptionTopic); case 164632566: /*timing[x]*/ return new Property("timing[x]", "Timing|Reference(Schedule)|date|dateTime", "The timing of the event (if this is a periodic trigger).", 0, 1, timing); case -873664438: /*timing*/ return new Property("timing[x]", "Timing|Reference(Schedule)|date|dateTime", "The timing of the event (if this is a periodic trigger).", 0, 1, timing); case -497554124: /*timingTiming*/ return new Property("timing[x]", "Timing", "The timing of the event (if this is a periodic trigger).", 0, 1, timing); @@ -580,6 +671,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { switch (hash) { case 3575610: /*type*/ return this.type == null ? new Base[0] : new Base[] {this.type}; // Enumeration case 3373707: /*name*/ return this.name == null ? new Base[0] : new Base[] {this.name}; // StringType + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeableConcept + case 1191816722: /*subscriptionTopic*/ return this.subscriptionTopic == null ? new Base[0] : new Base[] {this.subscriptionTopic}; // CanonicalType case -873664438: /*timing*/ return this.timing == null ? new Base[0] : new Base[] {this.timing}; // DataType case 3076010: /*data*/ return this.data == null ? new Base[0] : this.data.toArray(new Base[this.data.size()]); // DataRequirement case -861311717: /*condition*/ return this.condition == null ? new Base[0] : new Base[] {this.condition}; // Expression @@ -598,6 +691,12 @@ public class TriggerDefinition extends DataType implements ICompositeType { case 3373707: // name this.name = TypeConvertor.castToString(value); // StringType return value; + case 3059181: // code + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + return value; + case 1191816722: // subscriptionTopic + this.subscriptionTopic = TypeConvertor.castToCanonical(value); // CanonicalType + return value; case -873664438: // timing this.timing = TypeConvertor.castToType(value); // DataType return value; @@ -619,6 +718,10 @@ public class TriggerDefinition extends DataType implements ICompositeType { this.type = (Enumeration) value; // Enumeration } else if (name.equals("name")) { this.name = TypeConvertor.castToString(value); // StringType + } else if (name.equals("code")) { + this.code = TypeConvertor.castToCodeableConcept(value); // CodeableConcept + } else if (name.equals("subscriptionTopic")) { + this.subscriptionTopic = TypeConvertor.castToCanonical(value); // CanonicalType } else if (name.equals("timing[x]")) { this.timing = TypeConvertor.castToType(value); // DataType } else if (name.equals("data")) { @@ -635,6 +738,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { switch (hash) { case 3575610: return getTypeElement(); case 3373707: return getNameElement(); + case 3059181: return getCode(); + case 1191816722: return getSubscriptionTopicElement(); case 164632566: return getTiming(); case -873664438: return getTiming(); case 3076010: return addData(); @@ -649,6 +754,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { switch (hash) { case 3575610: /*type*/ return new String[] {"code"}; case 3373707: /*name*/ return new String[] {"string"}; + case 3059181: /*code*/ return new String[] {"CodeableConcept"}; + case 1191816722: /*subscriptionTopic*/ return new String[] {"canonical"}; case -873664438: /*timing*/ return new String[] {"Timing", "Reference", "date", "dateTime"}; case 3076010: /*data*/ return new String[] {"DataRequirement"}; case -861311717: /*condition*/ return new String[] {"Expression"}; @@ -665,6 +772,13 @@ public class TriggerDefinition extends DataType implements ICompositeType { else if (name.equals("name")) { throw new FHIRException("Cannot call addChild on a primitive type TriggerDefinition.name"); } + else if (name.equals("code")) { + this.code = new CodeableConcept(); + return this.code; + } + else if (name.equals("subscriptionTopic")) { + throw new FHIRException("Cannot call addChild on a primitive type TriggerDefinition.subscriptionTopic"); + } else if (name.equals("timingTiming")) { this.timing = new Timing(); return this.timing; @@ -707,6 +821,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { super.copyValues(dst); dst.type = type == null ? null : type.copy(); dst.name = name == null ? null : name.copy(); + dst.code = code == null ? null : code.copy(); + dst.subscriptionTopic = subscriptionTopic == null ? null : subscriptionTopic.copy(); dst.timing = timing == null ? null : timing.copy(); if (data != null) { dst.data = new ArrayList(); @@ -727,7 +843,8 @@ public class TriggerDefinition extends DataType implements ICompositeType { if (!(other_ instanceof TriggerDefinition)) return false; TriggerDefinition o = (TriggerDefinition) other_; - return compareDeep(type, o.type, true) && compareDeep(name, o.name, true) && compareDeep(timing, o.timing, true) + return compareDeep(type, o.type, true) && compareDeep(name, o.name, true) && compareDeep(code, o.code, true) + && compareDeep(subscriptionTopic, o.subscriptionTopic, true) && compareDeep(timing, o.timing, true) && compareDeep(data, o.data, true) && compareDeep(condition, o.condition, true); } @@ -738,12 +855,13 @@ public class TriggerDefinition extends DataType implements ICompositeType { if (!(other_ instanceof TriggerDefinition)) return false; TriggerDefinition o = (TriggerDefinition) other_; - return compareValues(type, o.type, true) && compareValues(name, o.name, true); + return compareValues(type, o.type, true) && compareValues(name, o.name, true) && compareValues(subscriptionTopic, o.subscriptionTopic, true) + ; } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, name, timing, data - , condition); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(type, name, code, subscriptionTopic + , timing, data, condition); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TypeConvertor.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TypeConvertor.java index b16298e95..f775d8979 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TypeConvertor.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/TypeConvertor.java @@ -565,6 +565,28 @@ public class TypeConvertor { } else throw new FHIRException("Unable to convert a "+b.getClass().getName()+" to XHtml string"); } - + + public static VirtualServiceDetail castToVirtualServiceDetail(Base b) throws FHIRException { + if (b instanceof VirtualServiceDetail) + return (VirtualServiceDetail) b; + else + throw new FHIRException("Unable to convert a "+b.getClass().getName()+" to a VirtualServiceDetail"); + } + + + public static Availability castToAvailability(Base b) throws FHIRException { + if (b instanceof Availability) + return (Availability) b; + else + throw new FHIRException("Unable to convert a "+b.getClass().getName()+" to a Availability"); + } + + + public static MonetaryComponent castToMonetaryComponent(Base b) throws FHIRException { + if (b instanceof MonetaryComponent) + return (MonetaryComponent) b; + else + throw new FHIRException("Unable to convert a "+b.getClass().getName()+" to a MonetaryComponent"); + } } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/UsageContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/UsageContext.java index 155b942ec..50917306e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/UsageContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/UsageContext.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -45,7 +45,7 @@ import ca.uhn.fhir.model.api.annotation.Description; import ca.uhn.fhir.model.api.annotation.Block; /** - * Base StructureDefinition for UsageContext Type: Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care). + * UsageContext Type: Specifies clinical/business/etc. metadata that can be used to retrieve, index and/or categorize an artifact. This metadata can either be specific to the applicable population (e.g., age category, DRG) or the specific context of care (e.g., venue, care setting, provider of care). */ @DatatypeDef(name="UsageContext") public class UsageContext extends DataType implements ICompositeType { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ValueSet.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ValueSet.java index f19719325..9b9480478 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ValueSet.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/ValueSet.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -51,7 +51,7 @@ import ca.uhn.fhir.model.api.annotation.Block; * A ValueSet resource instance specifies a set of codes drawn from one or more code systems, intended for use in a particular context. Value sets link between [[[CodeSystem]]] definitions and their use in [coded elements](terminologies.html). */ @ResourceDef(name="ValueSet", profile="http://hl7.org/fhir/StructureDefinition/ValueSet") -public class ValueSet extends CanonicalResource { +public class ValueSet extends MetadataResource { @Block() public static class ValueSetComposeComponent extends BackboneElement implements IBaseBackboneElement { @@ -1467,14 +1467,22 @@ public class ValueSet extends CanonicalResource { @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") protected Coding use; + /** + * Additional codes that detail how this designation would be used, if there is more than one use. + */ + @Child(name = "additionalUse", type = {Coding.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional ways how this designation would be used", formalDefinition="Additional codes that detail how this designation would be used, if there is more than one use." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/designation-use") + protected List additionalUse; + /** * The text value for this designation. */ - @Child(name = "value", type = {StringType.class}, order=3, min=1, max=1, modifier=false, summary=false) + @Child(name = "value", type = {StringType.class}, order=4, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="The text value for this designation", formalDefinition="The text value for this designation." ) protected StringType value; - private static final long serialVersionUID = 1515662414L; + private static final long serialVersionUID = -141147882L; /** * Constructor @@ -1564,6 +1572,59 @@ public class ValueSet extends CanonicalResource { return this; } + /** + * @return {@link #additionalUse} (Additional codes that detail how this designation would be used, if there is more than one use.) + */ + public List getAdditionalUse() { + if (this.additionalUse == null) + this.additionalUse = new ArrayList(); + return this.additionalUse; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptReferenceDesignationComponent setAdditionalUse(List theAdditionalUse) { + this.additionalUse = theAdditionalUse; + return this; + } + + public boolean hasAdditionalUse() { + if (this.additionalUse == null) + return false; + for (Coding item : this.additionalUse) + if (!item.isEmpty()) + return true; + return false; + } + + public Coding addAdditionalUse() { //3 + Coding t = new Coding(); + if (this.additionalUse == null) + this.additionalUse = new ArrayList(); + this.additionalUse.add(t); + return t; + } + + public ConceptReferenceDesignationComponent addAdditionalUse(Coding t) { //3 + if (t == null) + return this; + if (this.additionalUse == null) + this.additionalUse = new ArrayList(); + this.additionalUse.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #additionalUse}, creating it if it does not already exist {3} + */ + public Coding getAdditionalUseFirstRep() { + if (getAdditionalUse().isEmpty()) { + addAdditionalUse(); + } + return getAdditionalUse().get(0); + } + /** * @return {@link #value} (The text value for this designation.). This is the underlying object with id, value and extensions. The accessor "getValue" gives direct access to the value */ @@ -1613,6 +1674,7 @@ public class ValueSet extends CanonicalResource { super.listChildren(children); children.add(new Property("language", "code", "The language this designation is defined for.", 0, 1, language)); children.add(new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use)); + children.add(new Property("additionalUse", "Coding", "Additional codes that detail how this designation would be used, if there is more than one use.", 0, java.lang.Integer.MAX_VALUE, additionalUse)); children.add(new Property("value", "string", "The text value for this designation.", 0, 1, value)); } @@ -1621,6 +1683,7 @@ public class ValueSet extends CanonicalResource { switch (_hash) { case -1613589672: /*language*/ return new Property("language", "code", "The language this designation is defined for.", 0, 1, language); case 116103: /*use*/ return new Property("use", "Coding", "A code that represents types of uses of designations.", 0, 1, use); + case 938414048: /*additionalUse*/ return new Property("additionalUse", "Coding", "Additional codes that detail how this designation would be used, if there is more than one use.", 0, java.lang.Integer.MAX_VALUE, additionalUse); case 111972721: /*value*/ return new Property("value", "string", "The text value for this designation.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -1632,6 +1695,7 @@ public class ValueSet extends CanonicalResource { switch (hash) { case -1613589672: /*language*/ return this.language == null ? new Base[0] : new Base[] {this.language}; // CodeType case 116103: /*use*/ return this.use == null ? new Base[0] : new Base[] {this.use}; // Coding + case 938414048: /*additionalUse*/ return this.additionalUse == null ? new Base[0] : this.additionalUse.toArray(new Base[this.additionalUse.size()]); // Coding case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // StringType default: return super.getProperty(hash, name, checkValid); } @@ -1647,6 +1711,9 @@ public class ValueSet extends CanonicalResource { case 116103: // use this.use = TypeConvertor.castToCoding(value); // Coding return value; + case 938414048: // additionalUse + this.getAdditionalUse().add(TypeConvertor.castToCoding(value)); // Coding + return value; case 111972721: // value this.value = TypeConvertor.castToString(value); // StringType return value; @@ -1661,6 +1728,8 @@ public class ValueSet extends CanonicalResource { this.language = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("use")) { this.use = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("additionalUse")) { + this.getAdditionalUse().add(TypeConvertor.castToCoding(value)); } else if (name.equals("value")) { this.value = TypeConvertor.castToString(value); // StringType } else @@ -1673,6 +1742,7 @@ public class ValueSet extends CanonicalResource { switch (hash) { case -1613589672: return getLanguageElement(); case 116103: return getUse(); + case 938414048: return addAdditionalUse(); case 111972721: return getValueElement(); default: return super.makeProperty(hash, name); } @@ -1684,6 +1754,7 @@ public class ValueSet extends CanonicalResource { switch (hash) { case -1613589672: /*language*/ return new String[] {"code"}; case 116103: /*use*/ return new String[] {"Coding"}; + case 938414048: /*additionalUse*/ return new String[] {"Coding"}; case 111972721: /*value*/ return new String[] {"string"}; default: return super.getTypesForProperty(hash, name); } @@ -1699,6 +1770,9 @@ public class ValueSet extends CanonicalResource { this.use = new Coding(); return this.use; } + else if (name.equals("additionalUse")) { + return addAdditionalUse(); + } else if (name.equals("value")) { throw new FHIRException("Cannot call addChild on a primitive type ValueSet.compose.include.concept.designation.value"); } @@ -1716,6 +1790,11 @@ public class ValueSet extends CanonicalResource { super.copyValues(dst); dst.language = language == null ? null : language.copy(); dst.use = use == null ? null : use.copy(); + if (additionalUse != null) { + dst.additionalUse = new ArrayList(); + for (Coding i : additionalUse) + dst.additionalUse.add(i.copy()); + }; dst.value = value == null ? null : value.copy(); } @@ -1726,8 +1805,8 @@ public class ValueSet extends CanonicalResource { if (!(other_ instanceof ConceptReferenceDesignationComponent)) return false; ConceptReferenceDesignationComponent o = (ConceptReferenceDesignationComponent) other_; - return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(value, o.value, true) - ; + return compareDeep(language, o.language, true) && compareDeep(use, o.use, true) && compareDeep(additionalUse, o.additionalUse, true) + && compareDeep(value, o.value, true); } @Override @@ -1741,7 +1820,8 @@ public class ValueSet extends CanonicalResource { } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, value); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(language, use, additionalUse + , value); } public String fhirType() { @@ -2082,49 +2162,56 @@ public class ValueSet extends CanonicalResource { @Description(shortDefinition="Identifies the value set expansion (business identifier)", formalDefinition="An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier." ) protected UriType identifier; + /** + * As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them. + */ + @Child(name = "next", type = {UriType.class}, order=2, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="Opaque urls for paging through expansion results", formalDefinition="As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them." ) + protected UriType next; + /** * The time at which the expansion was produced by the expanding system. */ - @Child(name = "timestamp", type = {DateTimeType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Child(name = "timestamp", type = {DateTimeType.class}, order=3, min=1, max=1, modifier=false, summary=false) @Description(shortDefinition="Time ValueSet expansion happened", formalDefinition="The time at which the expansion was produced by the expanding system." ) protected DateTimeType timestamp; /** * The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter. */ - @Child(name = "total", type = {IntegerType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "total", type = {IntegerType.class}, order=4, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Total number of codes in the expansion", formalDefinition="The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter." ) protected IntegerType total; /** * If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present. */ - @Child(name = "offset", type = {IntegerType.class}, order=4, min=0, max=1, modifier=false, summary=false) + @Child(name = "offset", type = {IntegerType.class}, order=5, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Offset at which this resource starts", formalDefinition="If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present." ) protected IntegerType offset; /** * A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion. */ - @Child(name = "parameter", type = {}, order=5, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "parameter", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Parameter that controlled the expansion process", formalDefinition="A parameter that controlled the expansion process. These parameters may be used by users of expanded value sets to check whether the expansion is suitable for a particular purpose, or to pick the correct expansion." ) protected List parameter; /** * A property defines an additional slot through which additional information can be provided about a concept. */ - @Child(name = "property", type = {}, order=6, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "property", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Additional information supplied about each concept", formalDefinition="A property defines an additional slot through which additional information can be provided about a concept." ) protected List property; /** * The codes that are contained in the value set expansion. */ - @Child(name = "contains", type = {}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "contains", type = {}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Codes in the value set", formalDefinition="The codes that are contained in the value set expansion." ) protected List contains; - private static final long serialVersionUID = 12372258L; + private static final long serialVersionUID = 1141573269L; /** * Constructor @@ -2190,6 +2277,55 @@ public class ValueSet extends CanonicalResource { return this; } + /** + * @return {@link #next} (As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.). This is the underlying object with id, value and extensions. The accessor "getNext" gives direct access to the value + */ + public UriType getNextElement() { + if (this.next == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ValueSetExpansionComponent.next"); + else if (Configuration.doAutoCreate()) + this.next = new UriType(); // bb + return this.next; + } + + public boolean hasNextElement() { + return this.next != null && !this.next.isEmpty(); + } + + public boolean hasNext() { + return this.next != null && !this.next.isEmpty(); + } + + /** + * @param value {@link #next} (As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.). This is the underlying object with id, value and extensions. The accessor "getNext" gives direct access to the value + */ + public ValueSetExpansionComponent setNextElement(UriType value) { + this.next = value; + return this; + } + + /** + * @return As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them. + */ + public String getNext() { + return this.next == null ? null : this.next.getValue(); + } + + /** + * @param value As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them. + */ + public ValueSetExpansionComponent setNext(String value) { + if (Utilities.noString(value)) + this.next = null; + else { + if (this.next == null) + this.next = new UriType(); + this.next.setValue(value); + } + return this; + } + /** * @return {@link #timestamp} (The time at which the expansion was produced by the expanding system.). This is the underlying object with id, value and extensions. The accessor "getTimestamp" gives direct access to the value */ @@ -2487,6 +2623,7 @@ public class ValueSet extends CanonicalResource { protected void listChildren(List children) { super.listChildren(children); children.add(new Property("identifier", "uri", "An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.", 0, 1, identifier)); + children.add(new Property("next", "uri", "As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.", 0, 1, next)); children.add(new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp)); children.add(new Property("total", "integer", "The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.", 0, 1, total)); children.add(new Property("offset", "integer", "If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.", 0, 1, offset)); @@ -2499,6 +2636,7 @@ public class ValueSet extends CanonicalResource { public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { switch (_hash) { case -1618432855: /*identifier*/ return new Property("identifier", "uri", "An identifier that uniquely identifies this expansion of the valueset, based on a unique combination of the provided parameters, the system default parameters, and the underlying system code system versions etc. Systems may re-use the same identifier as long as those factors remain the same, and the expansion is the same, but are not required to do so. This is a business identifier.", 0, 1, identifier); + case 3377907: /*next*/ return new Property("next", "uri", "As per paging Search results, the next URLs are opaque to the client, have no dictated structure, and only the server understands them.", 0, 1, next); case 55126294: /*timestamp*/ return new Property("timestamp", "dateTime", "The time at which the expansion was produced by the expanding system.", 0, 1, timestamp); case 110549828: /*total*/ return new Property("total", "integer", "The total number of concepts in the expansion. If the number of concept nodes in this resource is less than the stated number, then the server can return more using the offset parameter.", 0, 1, total); case -1019779949: /*offset*/ return new Property("offset", "integer", "If paging is being used, the offset at which this resource starts. I.e. this resource is a partial view into the expansion. If paging is not being used, this element SHALL NOT be present.", 0, 1, offset); @@ -2514,6 +2652,7 @@ public class ValueSet extends CanonicalResource { public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return this.identifier == null ? new Base[0] : new Base[] {this.identifier}; // UriType + case 3377907: /*next*/ return this.next == null ? new Base[0] : new Base[] {this.next}; // UriType case 55126294: /*timestamp*/ return this.timestamp == null ? new Base[0] : new Base[] {this.timestamp}; // DateTimeType case 110549828: /*total*/ return this.total == null ? new Base[0] : new Base[] {this.total}; // IntegerType case -1019779949: /*offset*/ return this.offset == null ? new Base[0] : new Base[] {this.offset}; // IntegerType @@ -2531,6 +2670,9 @@ public class ValueSet extends CanonicalResource { case -1618432855: // identifier this.identifier = TypeConvertor.castToUri(value); // UriType return value; + case 3377907: // next + this.next = TypeConvertor.castToUri(value); // UriType + return value; case 55126294: // timestamp this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType return value; @@ -2558,6 +2700,8 @@ public class ValueSet extends CanonicalResource { public Base setProperty(String name, Base value) throws FHIRException { if (name.equals("identifier")) { this.identifier = TypeConvertor.castToUri(value); // UriType + } else if (name.equals("next")) { + this.next = TypeConvertor.castToUri(value); // UriType } else if (name.equals("timestamp")) { this.timestamp = TypeConvertor.castToDateTime(value); // DateTimeType } else if (name.equals("total")) { @@ -2579,6 +2723,7 @@ public class ValueSet extends CanonicalResource { public Base makeProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: return getIdentifierElement(); + case 3377907: return getNextElement(); case 55126294: return getTimestampElement(); case 110549828: return getTotalElement(); case -1019779949: return getOffsetElement(); @@ -2594,6 +2739,7 @@ public class ValueSet extends CanonicalResource { public String[] getTypesForProperty(int hash, String name) throws FHIRException { switch (hash) { case -1618432855: /*identifier*/ return new String[] {"uri"}; + case 3377907: /*next*/ return new String[] {"uri"}; case 55126294: /*timestamp*/ return new String[] {"dateTime"}; case 110549828: /*total*/ return new String[] {"integer"}; case -1019779949: /*offset*/ return new String[] {"integer"}; @@ -2610,6 +2756,9 @@ public class ValueSet extends CanonicalResource { if (name.equals("identifier")) { throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.identifier"); } + else if (name.equals("next")) { + throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.next"); + } else if (name.equals("timestamp")) { throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.timestamp"); } @@ -2641,6 +2790,7 @@ public class ValueSet extends CanonicalResource { public void copyValues(ValueSetExpansionComponent dst) { super.copyValues(dst); dst.identifier = identifier == null ? null : identifier.copy(); + dst.next = next == null ? null : next.copy(); dst.timestamp = timestamp == null ? null : timestamp.copy(); dst.total = total == null ? null : total.copy(); dst.offset = offset == null ? null : offset.copy(); @@ -2668,7 +2818,7 @@ public class ValueSet extends CanonicalResource { if (!(other_ instanceof ValueSetExpansionComponent)) return false; ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; - return compareDeep(identifier, o.identifier, true) && compareDeep(timestamp, o.timestamp, true) + return compareDeep(identifier, o.identifier, true) && compareDeep(next, o.next, true) && compareDeep(timestamp, o.timestamp, true) && compareDeep(total, o.total, true) && compareDeep(offset, o.offset, true) && compareDeep(parameter, o.parameter, true) && compareDeep(property, o.property, true) && compareDeep(contains, o.contains, true); } @@ -2680,13 +2830,13 @@ public class ValueSet extends CanonicalResource { if (!(other_ instanceof ValueSetExpansionComponent)) return false; ValueSetExpansionComponent o = (ValueSetExpansionComponent) other_; - return compareValues(identifier, o.identifier, true) && compareValues(timestamp, o.timestamp, true) + return compareValues(identifier, o.identifier, true) && compareValues(next, o.next, true) && compareValues(timestamp, o.timestamp, true) && compareValues(total, o.total, true) && compareValues(offset, o.offset, true); } public boolean isEmpty() { - return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, timestamp, total - , offset, parameter, property, contains); + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(identifier, next, timestamp + , total, offset, parameter, property, contains); } public String fhirType() { @@ -4090,7 +4240,14 @@ public class ValueSet extends CanonicalResource { @Description(shortDefinition="Value of the property for this concept", formalDefinition="The value of this property." ) protected DataType value; - private static final long serialVersionUID = -422546419L; + /** + * A subproperty value for this concept. + */ + @Child(name = "subProperty", type = {}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="SubProperty value for the concept", formalDefinition="A subproperty value for this concept." ) + protected List subProperty; + + private static final long serialVersionUID = -948620650L; /** * Constructor @@ -4279,10 +4436,64 @@ public class ValueSet extends CanonicalResource { return this; } + /** + * @return {@link #subProperty} (A subproperty value for this concept.) + */ + public List getSubProperty() { + if (this.subProperty == null) + this.subProperty = new ArrayList(); + return this.subProperty; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ConceptPropertyComponent setSubProperty(List theSubProperty) { + this.subProperty = theSubProperty; + return this; + } + + public boolean hasSubProperty() { + if (this.subProperty == null) + return false; + for (ConceptSubPropertyComponent item : this.subProperty) + if (!item.isEmpty()) + return true; + return false; + } + + public ConceptSubPropertyComponent addSubProperty() { //3 + ConceptSubPropertyComponent t = new ConceptSubPropertyComponent(); + if (this.subProperty == null) + this.subProperty = new ArrayList(); + this.subProperty.add(t); + return t; + } + + public ConceptPropertyComponent addSubProperty(ConceptSubPropertyComponent t) { //3 + if (t == null) + return this; + if (this.subProperty == null) + this.subProperty = new ArrayList(); + this.subProperty.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #subProperty}, creating it if it does not already exist {3} + */ + public ConceptSubPropertyComponent getSubPropertyFirstRep() { + if (getSubProperty().isEmpty()) { + addSubProperty(); + } + return getSubProperty().get(0); + } + protected void listChildren(List children) { super.listChildren(children); children.add(new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code)); children.add(new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this property.", 0, 1, value)); + children.add(new Property("subProperty", "", "A subproperty value for this concept.", 0, java.lang.Integer.MAX_VALUE, subProperty)); } @Override @@ -4298,6 +4509,390 @@ public class ValueSet extends CanonicalResource { case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of this property.", 0, 1, value); case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of this property.", 0, 1, value); case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of this property.", 0, 1, value); + case 321372213: /*subProperty*/ return new Property("subProperty", "", "A subproperty value for this concept.", 0, java.lang.Integer.MAX_VALUE, subProperty); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 3059181: /*code*/ return this.code == null ? new Base[0] : new Base[] {this.code}; // CodeType + case 111972721: /*value*/ return this.value == null ? new Base[0] : new Base[] {this.value}; // DataType + case 321372213: /*subProperty*/ return this.subProperty == null ? new Base[0] : this.subProperty.toArray(new Base[this.subProperty.size()]); // ConceptSubPropertyComponent + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 3059181: // code + this.code = TypeConvertor.castToCode(value); // CodeType + return value; + case 111972721: // value + this.value = TypeConvertor.castToType(value); // DataType + return value; + case 321372213: // subProperty + this.getSubProperty().add((ConceptSubPropertyComponent) value); // ConceptSubPropertyComponent + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("code")) { + this.code = TypeConvertor.castToCode(value); // CodeType + } else if (name.equals("value[x]")) { + this.value = TypeConvertor.castToType(value); // DataType + } else if (name.equals("subProperty")) { + this.getSubProperty().add((ConceptSubPropertyComponent) value); + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3059181: return getCodeElement(); + case -1410166417: return getValue(); + case 111972721: return getValue(); + case 321372213: return addSubProperty(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 3059181: /*code*/ return new String[] {"code"}; + case 111972721: /*value*/ return new String[] {"code", "Coding", "string", "integer", "boolean", "dateTime", "decimal"}; + case 321372213: /*subProperty*/ return new String[] {}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("code")) { + throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.property.code"); + } + else if (name.equals("valueCode")) { + this.value = new CodeType(); + return this.value; + } + else if (name.equals("valueCoding")) { + this.value = new Coding(); + return this.value; + } + else if (name.equals("valueString")) { + this.value = new StringType(); + return this.value; + } + else if (name.equals("valueInteger")) { + this.value = new IntegerType(); + return this.value; + } + else if (name.equals("valueBoolean")) { + this.value = new BooleanType(); + return this.value; + } + else if (name.equals("valueDateTime")) { + this.value = new DateTimeType(); + return this.value; + } + else if (name.equals("valueDecimal")) { + this.value = new DecimalType(); + return this.value; + } + else if (name.equals("subProperty")) { + return addSubProperty(); + } + else + return super.addChild(name); + } + + public ConceptPropertyComponent copy() { + ConceptPropertyComponent dst = new ConceptPropertyComponent(); + copyValues(dst); + return dst; + } + + public void copyValues(ConceptPropertyComponent dst) { + super.copyValues(dst); + dst.code = code == null ? null : code.copy(); + dst.value = value == null ? null : value.copy(); + if (subProperty != null) { + dst.subProperty = new ArrayList(); + for (ConceptSubPropertyComponent i : subProperty) + dst.subProperty.add(i.copy()); + }; + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof ConceptPropertyComponent)) + return false; + ConceptPropertyComponent o = (ConceptPropertyComponent) other_; + return compareDeep(code, o.code, true) && compareDeep(value, o.value, true) && compareDeep(subProperty, o.subProperty, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof ConceptPropertyComponent)) + return false; + ConceptPropertyComponent o = (ConceptPropertyComponent) other_; + return compareValues(code, o.code, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(code, value, subProperty + ); + } + + public String fhirType() { + return "ValueSet.expansion.contains.property"; + + } + + } + + @Block() + public static class ConceptSubPropertyComponent extends BackboneElement implements IBaseBackboneElement { + /** + * A code that is a reference to ValueSet.expansion.property.code. + */ + @Child(name = "code", type = {CodeType.class}, order=1, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Reference to ValueSet.expansion.property.code", formalDefinition="A code that is a reference to ValueSet.expansion.property.code." ) + protected CodeType code; + + /** + * The value of this subproperty. + */ + @Child(name = "value", type = {CodeType.class, Coding.class, StringType.class, IntegerType.class, BooleanType.class, DateTimeType.class, DecimalType.class}, order=2, min=1, max=1, modifier=false, summary=false) + @Description(shortDefinition="Value of the subproperty for this concept", formalDefinition="The value of this subproperty." ) + protected DataType value; + + private static final long serialVersionUID = -422546419L; + + /** + * Constructor + */ + public ConceptSubPropertyComponent() { + super(); + } + + /** + * Constructor + */ + public ConceptSubPropertyComponent(String code, DataType value) { + super(); + this.setCode(code); + this.setValue(value); + } + + /** + * @return {@link #code} (A code that is a reference to ValueSet.expansion.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + */ + public CodeType getCodeElement() { + if (this.code == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ConceptSubPropertyComponent.code"); + else if (Configuration.doAutoCreate()) + this.code = new CodeType(); // bb + return this.code; + } + + public boolean hasCodeElement() { + return this.code != null && !this.code.isEmpty(); + } + + public boolean hasCode() { + return this.code != null && !this.code.isEmpty(); + } + + /** + * @param value {@link #code} (A code that is a reference to ValueSet.expansion.property.code.). This is the underlying object with id, value and extensions. The accessor "getCode" gives direct access to the value + */ + public ConceptSubPropertyComponent setCodeElement(CodeType value) { + this.code = value; + return this; + } + + /** + * @return A code that is a reference to ValueSet.expansion.property.code. + */ + public String getCode() { + return this.code == null ? null : this.code.getValue(); + } + + /** + * @param value A code that is a reference to ValueSet.expansion.property.code. + */ + public ConceptSubPropertyComponent setCode(String value) { + if (this.code == null) + this.code = new CodeType(); + this.code.setValue(value); + return this; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public DataType getValue() { + return this.value; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public CodeType getValueCodeType() throws FHIRException { + if (this.value == null) + this.value = new CodeType(); + if (!(this.value instanceof CodeType)) + throw new FHIRException("Type mismatch: the type CodeType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (CodeType) this.value; + } + + public boolean hasValueCodeType() { + return this != null && this.value instanceof CodeType; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public Coding getValueCoding() throws FHIRException { + if (this.value == null) + this.value = new Coding(); + if (!(this.value instanceof Coding)) + throw new FHIRException("Type mismatch: the type Coding was expected, but "+this.value.getClass().getName()+" was encountered"); + return (Coding) this.value; + } + + public boolean hasValueCoding() { + return this != null && this.value instanceof Coding; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public StringType getValueStringType() throws FHIRException { + if (this.value == null) + this.value = new StringType(); + if (!(this.value instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (StringType) this.value; + } + + public boolean hasValueStringType() { + return this != null && this.value instanceof StringType; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public IntegerType getValueIntegerType() throws FHIRException { + if (this.value == null) + this.value = new IntegerType(); + if (!(this.value instanceof IntegerType)) + throw new FHIRException("Type mismatch: the type IntegerType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (IntegerType) this.value; + } + + public boolean hasValueIntegerType() { + return this != null && this.value instanceof IntegerType; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public BooleanType getValueBooleanType() throws FHIRException { + if (this.value == null) + this.value = new BooleanType(); + if (!(this.value instanceof BooleanType)) + throw new FHIRException("Type mismatch: the type BooleanType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (BooleanType) this.value; + } + + public boolean hasValueBooleanType() { + return this != null && this.value instanceof BooleanType; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public DateTimeType getValueDateTimeType() throws FHIRException { + if (this.value == null) + this.value = new DateTimeType(); + if (!(this.value instanceof DateTimeType)) + throw new FHIRException("Type mismatch: the type DateTimeType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (DateTimeType) this.value; + } + + public boolean hasValueDateTimeType() { + return this != null && this.value instanceof DateTimeType; + } + + /** + * @return {@link #value} (The value of this subproperty.) + */ + public DecimalType getValueDecimalType() throws FHIRException { + if (this.value == null) + this.value = new DecimalType(); + if (!(this.value instanceof DecimalType)) + throw new FHIRException("Type mismatch: the type DecimalType was expected, but "+this.value.getClass().getName()+" was encountered"); + return (DecimalType) this.value; + } + + public boolean hasValueDecimalType() { + return this != null && this.value instanceof DecimalType; + } + + public boolean hasValue() { + return this.value != null && !this.value.isEmpty(); + } + + /** + * @param value {@link #value} (The value of this subproperty.) + */ + public ConceptSubPropertyComponent setValue(DataType value) { + if (value != null && !(value instanceof CodeType || value instanceof Coding || value instanceof StringType || value instanceof IntegerType || value instanceof BooleanType || value instanceof DateTimeType || value instanceof DecimalType)) + throw new Error("Not the right type for ValueSet.expansion.contains.property.subProperty.value[x]: "+value.fhirType()); + this.value = value; + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code)); + children.add(new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this subproperty.", 0, 1, value)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 3059181: /*code*/ return new Property("code", "code", "A code that is a reference to ValueSet.expansion.property.code.", 0, 1, code); + case -1410166417: /*value[x]*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this subproperty.", 0, 1, value); + case 111972721: /*value*/ return new Property("value[x]", "code|Coding|string|integer|boolean|dateTime|decimal", "The value of this subproperty.", 0, 1, value); + case -766209282: /*valueCode*/ return new Property("value[x]", "code", "The value of this subproperty.", 0, 1, value); + case -1887705029: /*valueCoding*/ return new Property("value[x]", "Coding", "The value of this subproperty.", 0, 1, value); + case -1424603934: /*valueString*/ return new Property("value[x]", "string", "The value of this subproperty.", 0, 1, value); + case -1668204915: /*valueInteger*/ return new Property("value[x]", "integer", "The value of this subproperty.", 0, 1, value); + case 733421943: /*valueBoolean*/ return new Property("value[x]", "boolean", "The value of this subproperty.", 0, 1, value); + case 1047929900: /*valueDateTime*/ return new Property("value[x]", "dateTime", "The value of this subproperty.", 0, 1, value); + case -2083993440: /*valueDecimal*/ return new Property("value[x]", "decimal", "The value of this subproperty.", 0, 1, value); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -4362,7 +4957,7 @@ public class ValueSet extends CanonicalResource { @Override public Base addChild(String name) throws FHIRException { if (name.equals("code")) { - throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.property.code"); + throw new FHIRException("Cannot call addChild on a primitive type ValueSet.expansion.contains.property.subProperty.code"); } else if (name.equals("valueCode")) { this.value = new CodeType(); @@ -4396,13 +4991,13 @@ public class ValueSet extends CanonicalResource { return super.addChild(name); } - public ConceptPropertyComponent copy() { - ConceptPropertyComponent dst = new ConceptPropertyComponent(); + public ConceptSubPropertyComponent copy() { + ConceptSubPropertyComponent dst = new ConceptSubPropertyComponent(); copyValues(dst); return dst; } - public void copyValues(ConceptPropertyComponent dst) { + public void copyValues(ConceptSubPropertyComponent dst) { super.copyValues(dst); dst.code = code == null ? null : code.copy(); dst.value = value == null ? null : value.copy(); @@ -4412,9 +5007,9 @@ public class ValueSet extends CanonicalResource { public boolean equalsDeep(Base other_) { if (!super.equalsDeep(other_)) return false; - if (!(other_ instanceof ConceptPropertyComponent)) + if (!(other_ instanceof ConceptSubPropertyComponent)) return false; - ConceptPropertyComponent o = (ConceptPropertyComponent) other_; + ConceptSubPropertyComponent o = (ConceptSubPropertyComponent) other_; return compareDeep(code, o.code, true) && compareDeep(value, o.value, true); } @@ -4422,9 +5017,9 @@ public class ValueSet extends CanonicalResource { public boolean equalsShallow(Base other_) { if (!super.equalsShallow(other_)) return false; - if (!(other_ instanceof ConceptPropertyComponent)) + if (!(other_ instanceof ConceptSubPropertyComponent)) return false; - ConceptPropertyComponent o = (ConceptPropertyComponent) other_; + ConceptSubPropertyComponent o = (ConceptSubPropertyComponent) other_; return compareValues(code, o.code, true); } @@ -4433,7 +5028,7 @@ public class ValueSet extends CanonicalResource { } public String fhirType() { - return "ValueSet.expansion.contains.property"; + return "ValueSet.expansion.contains.property.subProperty"; } @@ -4749,10 +5344,10 @@ public class ValueSet extends CanonicalResource { protected DateTimeType date; /** - * The name of the organization or individual that published the value set. + * The name of the organization or individual responsible for the release and ongoing maintenance of the value set. */ @Child(name = "publisher", type = {StringType.class}, order=8, min=0, max=1, modifier=false, summary=true) - @Description(shortDefinition="Name of the publisher (organization or individual)", formalDefinition="The name of the organization or individual that published the value set." ) + @Description(shortDefinition="Name of the publisher/steward (organization or individual)", formalDefinition="The name of the organization or individual responsible for the release and ongoing maintenance of the value set." ) protected StringType publisher; /** @@ -4805,28 +5400,92 @@ public class ValueSet extends CanonicalResource { @Description(shortDefinition="Use and/or publishing restrictions", formalDefinition="A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set." ) protected MarkdownType copyright; + /** + * The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + @Child(name = "approvalDate", type = {DateType.class}, order=16, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the ValueSet was approved by publisher", formalDefinition="The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage." ) + protected DateType approvalDate; + + /** + * The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + @Child(name = "lastReviewDate", type = {DateType.class}, order=17, min=0, max=1, modifier=false, summary=false) + @Description(shortDefinition="When the ValueSet was last reviewed", formalDefinition="The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date." ) + protected DateType lastReviewDate; + + /** + * The period during which the ValueSet content was or is planned to be in active use. + */ + @Child(name = "effectivePeriod", type = {Period.class}, order=18, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="When the ValueSet is expected to be used", formalDefinition="The period during which the ValueSet content was or is planned to be in active use." ) + protected Period effectivePeriod; + + /** + * Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching. + */ + @Child(name = "topic", type = {CodeableConcept.class}, order=19, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="E.g. Education, Treatment, Assessment, etc.", formalDefinition="Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/definition-topic") + protected List topic; + + /** + * An individiual or organization primarily involved in the creation and maintenance of the ValueSet. + */ + @Child(name = "author", type = {ContactDetail.class}, order=20, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who authored the ValueSet", formalDefinition="An individiual or organization primarily involved in the creation and maintenance of the ValueSet." ) + protected List author; + + /** + * An individual or organization primarily responsible for internal coherence of the ValueSet. + */ + @Child(name = "editor", type = {ContactDetail.class}, order=21, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who edited the ValueSet", formalDefinition="An individual or organization primarily responsible for internal coherence of the ValueSet." ) + protected List editor; + + /** + * An individual or organization primarily responsible for review of some aspect of the ValueSet. + */ + @Child(name = "reviewer", type = {ContactDetail.class}, order=22, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who reviewed the ValueSet", formalDefinition="An individual or organization primarily responsible for review of some aspect of the ValueSet." ) + protected List reviewer; + + /** + * An individual or organization responsible for officially endorsing the ValueSet for use in some setting. + */ + @Child(name = "endorser", type = {ContactDetail.class}, order=23, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Who endorsed the ValueSet", formalDefinition="An individual or organization responsible for officially endorsing the ValueSet for use in some setting." ) + protected List endorser; + + /** + * Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts. + */ + @Child(name = "relatedArtifact", type = {RelatedArtifact.class}, order=24, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Description(shortDefinition="Additional documentation, citations, etc.", formalDefinition="Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts." ) + protected List relatedArtifact; + /** * A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD). */ - @Child(name = "compose", type = {}, order=16, min=0, max=1, modifier=false, summary=false) + @Child(name = "compose", type = {}, order=25, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Content logical definition of the value set (CLD)", formalDefinition="A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD)." ) protected ValueSetComposeComponent compose; /** * A value set can also be "expanded", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed. */ - @Child(name = "expansion", type = {}, order=17, min=0, max=1, modifier=false, summary=false) + @Child(name = "expansion", type = {}, order=26, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Used when the value set is \"expanded\"", formalDefinition="A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed." ) protected ValueSetExpansionComponent expansion; /** * Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description. */ - @Child(name = "scope", type = {}, order=18, min=0, max=1, modifier=false, summary=false) + @Child(name = "scope", type = {}, order=27, min=0, max=1, modifier=false, summary=false) @Description(shortDefinition="Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description", formalDefinition="Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description." ) protected ValueSetScopeComponent scope; - private static final long serialVersionUID = 1111958035L; + private static final long serialVersionUID = -1552826200L; /** * Constructor @@ -5232,7 +5891,7 @@ public class ValueSet extends CanonicalResource { } /** - * @return {@link #publisher} (The name of the organization or individual that published the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @return {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public StringType getPublisherElement() { if (this.publisher == null) @@ -5252,7 +5911,7 @@ public class ValueSet extends CanonicalResource { } /** - * @param value {@link #publisher} (The name of the organization or individual that published the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value + * @param value {@link #publisher} (The name of the organization or individual responsible for the release and ongoing maintenance of the value set.). This is the underlying object with id, value and extensions. The accessor "getPublisher" gives direct access to the value */ public ValueSet setPublisherElement(StringType value) { this.publisher = value; @@ -5260,14 +5919,14 @@ public class ValueSet extends CanonicalResource { } /** - * @return The name of the organization or individual that published the value set. + * @return The name of the organization or individual responsible for the release and ongoing maintenance of the value set. */ public String getPublisher() { return this.publisher == null ? null : this.publisher.getValue(); } /** - * @param value The name of the organization or individual that published the value set. + * @param value The name of the organization or individual responsible for the release and ongoing maintenance of the value set. */ public ValueSet setPublisher(String value) { if (Utilities.noString(value)) @@ -5631,6 +6290,446 @@ public class ValueSet extends CanonicalResource { return this; } + /** + * @return {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public DateType getApprovalDateElement() { + if (this.approvalDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ValueSet.approvalDate"); + else if (Configuration.doAutoCreate()) + this.approvalDate = new DateType(); // bb + return this.approvalDate; + } + + public boolean hasApprovalDateElement() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + public boolean hasApprovalDate() { + return this.approvalDate != null && !this.approvalDate.isEmpty(); + } + + /** + * @param value {@link #approvalDate} (The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.). This is the underlying object with id, value and extensions. The accessor "getApprovalDate" gives direct access to the value + */ + public ValueSet setApprovalDateElement(DateType value) { + this.approvalDate = value; + return this; + } + + /** + * @return The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public Date getApprovalDate() { + return this.approvalDate == null ? null : this.approvalDate.getValue(); + } + + /** + * @param value The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage. + */ + public ValueSet setApprovalDate(Date value) { + if (value == null) + this.approvalDate = null; + else { + if (this.approvalDate == null) + this.approvalDate = new DateType(); + this.approvalDate.setValue(value); + } + return this; + } + + /** + * @return {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public DateType getLastReviewDateElement() { + if (this.lastReviewDate == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ValueSet.lastReviewDate"); + else if (Configuration.doAutoCreate()) + this.lastReviewDate = new DateType(); // bb + return this.lastReviewDate; + } + + public boolean hasLastReviewDateElement() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + public boolean hasLastReviewDate() { + return this.lastReviewDate != null && !this.lastReviewDate.isEmpty(); + } + + /** + * @param value {@link #lastReviewDate} (The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.). This is the underlying object with id, value and extensions. The accessor "getLastReviewDate" gives direct access to the value + */ + public ValueSet setLastReviewDateElement(DateType value) { + this.lastReviewDate = value; + return this; + } + + /** + * @return The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public Date getLastReviewDate() { + return this.lastReviewDate == null ? null : this.lastReviewDate.getValue(); + } + + /** + * @param value The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date. + */ + public ValueSet setLastReviewDate(Date value) { + if (value == null) + this.lastReviewDate = null; + else { + if (this.lastReviewDate == null) + this.lastReviewDate = new DateType(); + this.lastReviewDate.setValue(value); + } + return this; + } + + /** + * @return {@link #effectivePeriod} (The period during which the ValueSet content was or is planned to be in active use.) + */ + public Period getEffectivePeriod() { + if (this.effectivePeriod == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create ValueSet.effectivePeriod"); + else if (Configuration.doAutoCreate()) + this.effectivePeriod = new Period(); // cc + return this.effectivePeriod; + } + + public boolean hasEffectivePeriod() { + return this.effectivePeriod != null && !this.effectivePeriod.isEmpty(); + } + + /** + * @param value {@link #effectivePeriod} (The period during which the ValueSet content was or is planned to be in active use.) + */ + public ValueSet setEffectivePeriod(Period value) { + this.effectivePeriod = value; + return this; + } + + /** + * @return {@link #topic} (Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching.) + */ + public List getTopic() { + if (this.topic == null) + this.topic = new ArrayList(); + return this.topic; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ValueSet setTopic(List theTopic) { + this.topic = theTopic; + return this; + } + + public boolean hasTopic() { + if (this.topic == null) + return false; + for (CodeableConcept item : this.topic) + if (!item.isEmpty()) + return true; + return false; + } + + public CodeableConcept addTopic() { //3 + CodeableConcept t = new CodeableConcept(); + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return t; + } + + public ValueSet addTopic(CodeableConcept t) { //3 + if (t == null) + return this; + if (this.topic == null) + this.topic = new ArrayList(); + this.topic.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #topic}, creating it if it does not already exist {3} + */ + public CodeableConcept getTopicFirstRep() { + if (getTopic().isEmpty()) { + addTopic(); + } + return getTopic().get(0); + } + + /** + * @return {@link #author} (An individiual or organization primarily involved in the creation and maintenance of the ValueSet.) + */ + public List getAuthor() { + if (this.author == null) + this.author = new ArrayList(); + return this.author; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ValueSet setAuthor(List theAuthor) { + this.author = theAuthor; + return this; + } + + public boolean hasAuthor() { + if (this.author == null) + return false; + for (ContactDetail item : this.author) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addAuthor() { //3 + ContactDetail t = new ContactDetail(); + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return t; + } + + public ValueSet addAuthor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.author == null) + this.author = new ArrayList(); + this.author.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #author}, creating it if it does not already exist {3} + */ + public ContactDetail getAuthorFirstRep() { + if (getAuthor().isEmpty()) { + addAuthor(); + } + return getAuthor().get(0); + } + + /** + * @return {@link #editor} (An individual or organization primarily responsible for internal coherence of the ValueSet.) + */ + public List getEditor() { + if (this.editor == null) + this.editor = new ArrayList(); + return this.editor; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ValueSet setEditor(List theEditor) { + this.editor = theEditor; + return this; + } + + public boolean hasEditor() { + if (this.editor == null) + return false; + for (ContactDetail item : this.editor) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEditor() { //3 + ContactDetail t = new ContactDetail(); + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return t; + } + + public ValueSet addEditor(ContactDetail t) { //3 + if (t == null) + return this; + if (this.editor == null) + this.editor = new ArrayList(); + this.editor.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #editor}, creating it if it does not already exist {3} + */ + public ContactDetail getEditorFirstRep() { + if (getEditor().isEmpty()) { + addEditor(); + } + return getEditor().get(0); + } + + /** + * @return {@link #reviewer} (An individual or organization primarily responsible for review of some aspect of the ValueSet.) + */ + public List getReviewer() { + if (this.reviewer == null) + this.reviewer = new ArrayList(); + return this.reviewer; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ValueSet setReviewer(List theReviewer) { + this.reviewer = theReviewer; + return this; + } + + public boolean hasReviewer() { + if (this.reviewer == null) + return false; + for (ContactDetail item : this.reviewer) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addReviewer() { //3 + ContactDetail t = new ContactDetail(); + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return t; + } + + public ValueSet addReviewer(ContactDetail t) { //3 + if (t == null) + return this; + if (this.reviewer == null) + this.reviewer = new ArrayList(); + this.reviewer.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #reviewer}, creating it if it does not already exist {3} + */ + public ContactDetail getReviewerFirstRep() { + if (getReviewer().isEmpty()) { + addReviewer(); + } + return getReviewer().get(0); + } + + /** + * @return {@link #endorser} (An individual or organization responsible for officially endorsing the ValueSet for use in some setting.) + */ + public List getEndorser() { + if (this.endorser == null) + this.endorser = new ArrayList(); + return this.endorser; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ValueSet setEndorser(List theEndorser) { + this.endorser = theEndorser; + return this; + } + + public boolean hasEndorser() { + if (this.endorser == null) + return false; + for (ContactDetail item : this.endorser) + if (!item.isEmpty()) + return true; + return false; + } + + public ContactDetail addEndorser() { //3 + ContactDetail t = new ContactDetail(); + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return t; + } + + public ValueSet addEndorser(ContactDetail t) { //3 + if (t == null) + return this; + if (this.endorser == null) + this.endorser = new ArrayList(); + this.endorser.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #endorser}, creating it if it does not already exist {3} + */ + public ContactDetail getEndorserFirstRep() { + if (getEndorser().isEmpty()) { + addEndorser(); + } + return getEndorser().get(0); + } + + /** + * @return {@link #relatedArtifact} (Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.) + */ + public List getRelatedArtifact() { + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + return this.relatedArtifact; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public ValueSet setRelatedArtifact(List theRelatedArtifact) { + this.relatedArtifact = theRelatedArtifact; + return this; + } + + public boolean hasRelatedArtifact() { + if (this.relatedArtifact == null) + return false; + for (RelatedArtifact item : this.relatedArtifact) + if (!item.isEmpty()) + return true; + return false; + } + + public RelatedArtifact addRelatedArtifact() { //3 + RelatedArtifact t = new RelatedArtifact(); + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return t; + } + + public ValueSet addRelatedArtifact(RelatedArtifact t) { //3 + if (t == null) + return this; + if (this.relatedArtifact == null) + this.relatedArtifact = new ArrayList(); + this.relatedArtifact.add(t); + return this; + } + + /** + * @return The first repetition of repeating field {@link #relatedArtifact}, creating it if it does not already exist {3} + */ + public RelatedArtifact getRelatedArtifactFirstRep() { + if (getRelatedArtifact().isEmpty()) { + addRelatedArtifact(); + } + return getRelatedArtifact().get(0); + } + /** * @return {@link #compose} (A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).) */ @@ -5703,6 +6802,83 @@ public class ValueSet extends CanonicalResource { return this; } + /** + * not supported on this implementation + */ + @Override + public int getVersionAlgorithmMax() { + return 0; + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public DataType getVersionAlgorithm() { + throw new Error("The resource type \"ValueSet\" does not implement the property \"versionAlgorithm[x]\""); + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public StringType getVersionAlgorithmStringType() { + throw new Error("The resource type \"ValueSet\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmStringType() { + return false;////K + } + /** + * @return {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public Coding getVersionAlgorithmCoding() { + throw new Error("The resource type \"ValueSet\" does not implement the property \"versionAlgorithm[x]\""); + } + public boolean hasVersionAlgorithmCoding() { + return false;////K + } + public boolean hasVersionAlgorithm() { + return false; + } + /** + * @param value {@link #versionAlgorithm} (Indicates the mechanism used to compare versions to determine which is more current.) + */ + public ValueSet setVersionAlgorithm(DataType value) { + throw new Error("The resource type \"ValueSet\" does not implement the property \"versionAlgorithm[x]\""); + } + + /** + * not supported on this implementation + */ + @Override + public int getCopyrightLabelMax() { + return 0; + } + /** + * @return {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public StringType getCopyrightLabelElement() { + throw new Error("The resource type \"ValueSet\" does not implement the property \"copyrightLabel\""); + } + + public boolean hasCopyrightLabelElement() { + return false; + } + public boolean hasCopyrightLabel() { + return false; + } + + /** + * @param value {@link #copyrightLabel} (A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved').). This is the underlying object with id, value and extensions. The accessor "getCopyrightLabel" gives direct access to the value + */ + public ValueSet setCopyrightLabelElement(StringType value) { + throw new Error("The resource type \"ValueSet\" does not implement the property \"copyrightLabel\""); + } + public String getCopyrightLabel() { + throw new Error("The resource type \"ValueSet\" does not implement the property \"copyrightLabel\""); + } + /** + * @param value A short string (<50 characters), suitable for inclusion in a page footer that identifies the copyright holder, effective period, and optionally whether rights are resctricted. (e.g. 'All rights reserved', 'Some rights reserved'). + */ + public ValueSet setCopyrightLabel(String value) { + throw new Error("The resource type \"ValueSet\" does not implement the property \"copyrightLabel\""); + } protected void listChildren(List children) { super.listChildren(children); children.add(new Property("url", "uri", "An absolute URI that is used to identify this value set when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which an authoritative instance of this value set is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the value set is stored on different servers.", 0, 1, url)); @@ -5713,7 +6889,7 @@ public class ValueSet extends CanonicalResource { children.add(new Property("status", "code", "The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.", 0, 1, status)); children.add(new Property("experimental", "boolean", "A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental)); children.add(new Property("date", "dateTime", "The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised.", 0, 1, date)); - children.add(new Property("publisher", "string", "The name of the organization or individual that published the value set.", 0, 1, publisher)); + children.add(new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the value set.", 0, 1, publisher)); children.add(new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact)); children.add(new Property("description", "markdown", "A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.", 0, 1, description)); children.add(new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.", 0, java.lang.Integer.MAX_VALUE, useContext)); @@ -5721,6 +6897,15 @@ public class ValueSet extends CanonicalResource { children.add(new Property("immutable", "boolean", "If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change.", 0, 1, immutable)); children.add(new Property("purpose", "markdown", "Explanation of why this value set is needed and why it has been designed as it has.", 0, 1, purpose)); children.add(new Property("copyright", "markdown", "A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.", 0, 1, copyright)); + children.add(new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate)); + children.add(new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate)); + children.add(new Property("effectivePeriod", "Period", "The period during which the ValueSet content was or is planned to be in active use.", 0, 1, effectivePeriod)); + children.add(new Property("topic", "CodeableConcept", "Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic)); + children.add(new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, author)); + children.add(new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, editor)); + children.add(new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, reviewer)); + children.add(new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the ValueSet for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser)); + children.add(new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact)); children.add(new Property("compose", "", "A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).", 0, 1, compose)); children.add(new Property("expansion", "", "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.", 0, 1, expansion)); children.add(new Property("scope", "", "Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description.", 0, 1, scope)); @@ -5737,7 +6922,7 @@ public class ValueSet extends CanonicalResource { case -892481550: /*status*/ return new Property("status", "code", "The status of this value set. Enables tracking the life-cycle of the content. The status of the value set applies to the value set definition (ValueSet.compose) and the associated ValueSet metadata. Expansions do not have a state.", 0, 1, status); case -404562712: /*experimental*/ return new Property("experimental", "boolean", "A Boolean value to indicate that this value set is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usage.", 0, 1, experimental); case 3076014: /*date*/ return new Property("date", "dateTime", "The date (and optionally time) when the value set metadata or content logical definition (.compose) was created or revised.", 0, 1, date); - case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual that published the value set.", 0, 1, publisher); + case 1447404028: /*publisher*/ return new Property("publisher", "string", "The name of the organization or individual responsible for the release and ongoing maintenance of the value set.", 0, 1, publisher); case 951526432: /*contact*/ return new Property("contact", "ContactDetail", "Contact details to assist a user in finding and communicating with the publisher.", 0, java.lang.Integer.MAX_VALUE, contact); case -1724546052: /*description*/ return new Property("description", "markdown", "A free text natural language description of the value set from a consumer's perspective. The textual description specifies the span of meanings for concepts to be included within the Value Set Expansion, and also may specify the intended use and limitations of the Value Set.", 0, 1, description); case -669707736: /*useContext*/ return new Property("useContext", "UsageContext", "The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate value set instances.", 0, java.lang.Integer.MAX_VALUE, useContext); @@ -5745,6 +6930,15 @@ public class ValueSet extends CanonicalResource { case 1596987778: /*immutable*/ return new Property("immutable", "boolean", "If this is set to 'true', then no new versions of the content logical definition can be created. Note: Other metadata might still change.", 0, 1, immutable); case -220463842: /*purpose*/ return new Property("purpose", "markdown", "Explanation of why this value set is needed and why it has been designed as it has.", 0, 1, purpose); case 1522889671: /*copyright*/ return new Property("copyright", "markdown", "A copyright statement relating to the value set and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the value set.", 0, 1, copyright); + case 223539345: /*approvalDate*/ return new Property("approvalDate", "date", "The date on which the resource content was approved by the publisher. Approval happens once when the content is officially approved for usage.", 0, 1, approvalDate); + case -1687512484: /*lastReviewDate*/ return new Property("lastReviewDate", "date", "The date on which the resource content was last reviewed. Review happens periodically after approval but does not change the original approval date.", 0, 1, lastReviewDate); + case -403934648: /*effectivePeriod*/ return new Property("effectivePeriod", "Period", "The period during which the ValueSet content was or is planned to be in active use.", 0, 1, effectivePeriod); + case 110546223: /*topic*/ return new Property("topic", "CodeableConcept", "Descriptions related to the content of the ValueSet. Topics provide a high-level categorization as well as keywords for the ValueSet that can be useful for filtering and searching.", 0, java.lang.Integer.MAX_VALUE, topic); + case -1406328437: /*author*/ return new Property("author", "ContactDetail", "An individiual or organization primarily involved in the creation and maintenance of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, author); + case -1307827859: /*editor*/ return new Property("editor", "ContactDetail", "An individual or organization primarily responsible for internal coherence of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, editor); + case -261190139: /*reviewer*/ return new Property("reviewer", "ContactDetail", "An individual or organization primarily responsible for review of some aspect of the ValueSet.", 0, java.lang.Integer.MAX_VALUE, reviewer); + case 1740277666: /*endorser*/ return new Property("endorser", "ContactDetail", "An individual or organization responsible for officially endorsing the ValueSet for use in some setting.", 0, java.lang.Integer.MAX_VALUE, endorser); + case 666807069: /*relatedArtifact*/ return new Property("relatedArtifact", "RelatedArtifact", "Related artifacts such as additional documentation, justification, dependencies, bibliographic references, and predecessor and successor artifacts.", 0, java.lang.Integer.MAX_VALUE, relatedArtifact); case 950497682: /*compose*/ return new Property("compose", "", "A set of criteria that define the contents of the value set by including or excluding codes selected from the specified code system(s) that the value set draws from. This is also known as the Content Logical Definition (CLD).", 0, 1, compose); case 17878207: /*expansion*/ return new Property("expansion", "", "A value set can also be \"expanded\", where the value set is turned into a simple collection of enumerated codes. This element holds the expansion, if it has been performed.", 0, 1, expansion); case 109264468: /*scope*/ return new Property("scope", "", "Description of the semantic space the Value Set Expansion is intended to cover and should further clarify the text in ValueSet.description.", 0, 1, scope); @@ -5772,6 +6966,15 @@ public class ValueSet extends CanonicalResource { case 1596987778: /*immutable*/ return this.immutable == null ? new Base[0] : new Base[] {this.immutable}; // BooleanType case -220463842: /*purpose*/ return this.purpose == null ? new Base[0] : new Base[] {this.purpose}; // MarkdownType case 1522889671: /*copyright*/ return this.copyright == null ? new Base[0] : new Base[] {this.copyright}; // MarkdownType + case 223539345: /*approvalDate*/ return this.approvalDate == null ? new Base[0] : new Base[] {this.approvalDate}; // DateType + case -1687512484: /*lastReviewDate*/ return this.lastReviewDate == null ? new Base[0] : new Base[] {this.lastReviewDate}; // DateType + case -403934648: /*effectivePeriod*/ return this.effectivePeriod == null ? new Base[0] : new Base[] {this.effectivePeriod}; // Period + case 110546223: /*topic*/ return this.topic == null ? new Base[0] : this.topic.toArray(new Base[this.topic.size()]); // CodeableConcept + case -1406328437: /*author*/ return this.author == null ? new Base[0] : this.author.toArray(new Base[this.author.size()]); // ContactDetail + case -1307827859: /*editor*/ return this.editor == null ? new Base[0] : this.editor.toArray(new Base[this.editor.size()]); // ContactDetail + case -261190139: /*reviewer*/ return this.reviewer == null ? new Base[0] : this.reviewer.toArray(new Base[this.reviewer.size()]); // ContactDetail + case 1740277666: /*endorser*/ return this.endorser == null ? new Base[0] : this.endorser.toArray(new Base[this.endorser.size()]); // ContactDetail + case 666807069: /*relatedArtifact*/ return this.relatedArtifact == null ? new Base[0] : this.relatedArtifact.toArray(new Base[this.relatedArtifact.size()]); // RelatedArtifact case 950497682: /*compose*/ return this.compose == null ? new Base[0] : new Base[] {this.compose}; // ValueSetComposeComponent case 17878207: /*expansion*/ return this.expansion == null ? new Base[0] : new Base[] {this.expansion}; // ValueSetExpansionComponent case 109264468: /*scope*/ return this.scope == null ? new Base[0] : new Base[] {this.scope}; // ValueSetScopeComponent @@ -5832,6 +7035,33 @@ public class ValueSet extends CanonicalResource { case 1522889671: // copyright this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType return value; + case 223539345: // approvalDate + this.approvalDate = TypeConvertor.castToDate(value); // DateType + return value; + case -1687512484: // lastReviewDate + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + return value; + case -403934648: // effectivePeriod + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + return value; + case 110546223: // topic + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); // CodeableConcept + return value; + case -1406328437: // author + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -1307827859: // editor + this.getEditor().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case -261190139: // reviewer + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 1740277666: // endorser + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); // ContactDetail + return value; + case 666807069: // relatedArtifact + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); // RelatedArtifact + return value; case 950497682: // compose this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent return value; @@ -5881,6 +7111,24 @@ public class ValueSet extends CanonicalResource { this.purpose = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("copyright")) { this.copyright = TypeConvertor.castToMarkdown(value); // MarkdownType + } else if (name.equals("approvalDate")) { + this.approvalDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("lastReviewDate")) { + this.lastReviewDate = TypeConvertor.castToDate(value); // DateType + } else if (name.equals("effectivePeriod")) { + this.effectivePeriod = TypeConvertor.castToPeriod(value); // Period + } else if (name.equals("topic")) { + this.getTopic().add(TypeConvertor.castToCodeableConcept(value)); + } else if (name.equals("author")) { + this.getAuthor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("editor")) { + this.getEditor().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("reviewer")) { + this.getReviewer().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("endorser")) { + this.getEndorser().add(TypeConvertor.castToContactDetail(value)); + } else if (name.equals("relatedArtifact")) { + this.getRelatedArtifact().add(TypeConvertor.castToRelatedArtifact(value)); } else if (name.equals("compose")) { this.compose = (ValueSetComposeComponent) value; // ValueSetComposeComponent } else if (name.equals("expansion")) { @@ -5911,6 +7159,15 @@ public class ValueSet extends CanonicalResource { case 1596987778: return getImmutableElement(); case -220463842: return getPurposeElement(); case 1522889671: return getCopyrightElement(); + case 223539345: return getApprovalDateElement(); + case -1687512484: return getLastReviewDateElement(); + case -403934648: return getEffectivePeriod(); + case 110546223: return addTopic(); + case -1406328437: return addAuthor(); + case -1307827859: return addEditor(); + case -261190139: return addReviewer(); + case 1740277666: return addEndorser(); + case 666807069: return addRelatedArtifact(); case 950497682: return getCompose(); case 17878207: return getExpansion(); case 109264468: return getScope(); @@ -5938,6 +7195,15 @@ public class ValueSet extends CanonicalResource { case 1596987778: /*immutable*/ return new String[] {"boolean"}; case -220463842: /*purpose*/ return new String[] {"markdown"}; case 1522889671: /*copyright*/ return new String[] {"markdown"}; + case 223539345: /*approvalDate*/ return new String[] {"date"}; + case -1687512484: /*lastReviewDate*/ return new String[] {"date"}; + case -403934648: /*effectivePeriod*/ return new String[] {"Period"}; + case 110546223: /*topic*/ return new String[] {"CodeableConcept"}; + case -1406328437: /*author*/ return new String[] {"ContactDetail"}; + case -1307827859: /*editor*/ return new String[] {"ContactDetail"}; + case -261190139: /*reviewer*/ return new String[] {"ContactDetail"}; + case 1740277666: /*endorser*/ return new String[] {"ContactDetail"}; + case 666807069: /*relatedArtifact*/ return new String[] {"RelatedArtifact"}; case 950497682: /*compose*/ return new String[] {}; case 17878207: /*expansion*/ return new String[] {}; case 109264468: /*scope*/ return new String[] {}; @@ -5996,6 +7262,34 @@ public class ValueSet extends CanonicalResource { else if (name.equals("copyright")) { throw new FHIRException("Cannot call addChild on a primitive type ValueSet.copyright"); } + else if (name.equals("approvalDate")) { + throw new FHIRException("Cannot call addChild on a primitive type ValueSet.approvalDate"); + } + else if (name.equals("lastReviewDate")) { + throw new FHIRException("Cannot call addChild on a primitive type ValueSet.lastReviewDate"); + } + else if (name.equals("effectivePeriod")) { + this.effectivePeriod = new Period(); + return this.effectivePeriod; + } + else if (name.equals("topic")) { + return addTopic(); + } + else if (name.equals("author")) { + return addAuthor(); + } + else if (name.equals("editor")) { + return addEditor(); + } + else if (name.equals("reviewer")) { + return addReviewer(); + } + else if (name.equals("endorser")) { + return addEndorser(); + } + else if (name.equals("relatedArtifact")) { + return addRelatedArtifact(); + } else if (name.equals("compose")) { this.compose = new ValueSetComposeComponent(); return this.compose; @@ -6057,6 +7351,39 @@ public class ValueSet extends CanonicalResource { dst.immutable = immutable == null ? null : immutable.copy(); dst.purpose = purpose == null ? null : purpose.copy(); dst.copyright = copyright == null ? null : copyright.copy(); + dst.approvalDate = approvalDate == null ? null : approvalDate.copy(); + dst.lastReviewDate = lastReviewDate == null ? null : lastReviewDate.copy(); + dst.effectivePeriod = effectivePeriod == null ? null : effectivePeriod.copy(); + if (topic != null) { + dst.topic = new ArrayList(); + for (CodeableConcept i : topic) + dst.topic.add(i.copy()); + }; + if (author != null) { + dst.author = new ArrayList(); + for (ContactDetail i : author) + dst.author.add(i.copy()); + }; + if (editor != null) { + dst.editor = new ArrayList(); + for (ContactDetail i : editor) + dst.editor.add(i.copy()); + }; + if (reviewer != null) { + dst.reviewer = new ArrayList(); + for (ContactDetail i : reviewer) + dst.reviewer.add(i.copy()); + }; + if (endorser != null) { + dst.endorser = new ArrayList(); + for (ContactDetail i : endorser) + dst.endorser.add(i.copy()); + }; + if (relatedArtifact != null) { + dst.relatedArtifact = new ArrayList(); + for (RelatedArtifact i : relatedArtifact) + dst.relatedArtifact.add(i.copy()); + }; dst.compose = compose == null ? null : compose.copy(); dst.expansion = expansion == null ? null : expansion.copy(); dst.scope = scope == null ? null : scope.copy(); @@ -6078,8 +7405,12 @@ public class ValueSet extends CanonicalResource { && compareDeep(experimental, o.experimental, true) && compareDeep(date, o.date, true) && compareDeep(publisher, o.publisher, true) && compareDeep(contact, o.contact, true) && compareDeep(description, o.description, true) && compareDeep(useContext, o.useContext, true) && compareDeep(jurisdiction, o.jurisdiction, true) && compareDeep(immutable, o.immutable, true) - && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(compose, o.compose, true) - && compareDeep(expansion, o.expansion, true) && compareDeep(scope, o.scope, true); + && compareDeep(purpose, o.purpose, true) && compareDeep(copyright, o.copyright, true) && compareDeep(approvalDate, o.approvalDate, true) + && compareDeep(lastReviewDate, o.lastReviewDate, true) && compareDeep(effectivePeriod, o.effectivePeriod, true) + && compareDeep(topic, o.topic, true) && compareDeep(author, o.author, true) && compareDeep(editor, o.editor, true) + && compareDeep(reviewer, o.reviewer, true) && compareDeep(endorser, o.endorser, true) && compareDeep(relatedArtifact, o.relatedArtifact, true) + && compareDeep(compose, o.compose, true) && compareDeep(expansion, o.expansion, true) && compareDeep(scope, o.scope, true) + ; } @Override @@ -6093,13 +7424,16 @@ public class ValueSet extends CanonicalResource { && compareValues(title, o.title, true) && compareValues(status, o.status, true) && compareValues(experimental, o.experimental, true) && compareValues(date, o.date, true) && compareValues(publisher, o.publisher, true) && compareValues(description, o.description, true) && compareValues(immutable, o.immutable, true) && compareValues(purpose, o.purpose, true) && compareValues(copyright, o.copyright, true) + && compareValues(approvalDate, o.approvalDate, true) && compareValues(lastReviewDate, o.lastReviewDate, true) ; } public boolean isEmpty() { return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(url, identifier, version , name, title, status, experimental, date, publisher, contact, description, useContext - , jurisdiction, immutable, purpose, copyright, compose, expansion, scope); + , jurisdiction, immutable, purpose, copyright, approvalDate, lastReviewDate, effectivePeriod + , topic, author, editor, reviewer, endorser, relatedArtifact, compose, expansion + , scope); } @Override @@ -6127,6 +7461,32 @@ public class ValueSet extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam CODE = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_CODE); + /** + * Search parameter: derived-from + *

+ * Description: A resource that the ValueSet is derived from
+ * Type: reference
+ * Path: ValueSet.relatedArtifact.where(type='derived-from').resource
+ *

+ */ + @SearchParamDefinition(name="derived-from", path="ValueSet.relatedArtifact.where(type='derived-from').resource", description="A resource that the ValueSet is derived from", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_DERIVED_FROM = "derived-from"; + /** + * Fluent Client search parameter constant for derived-from + *

+ * Description: A resource that the ValueSet is derived from
+ * Type: reference
+ * Path: ValueSet.relatedArtifact.where(type='derived-from').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam DERIVED_FROM = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_DERIVED_FROM); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ValueSet:derived-from". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_DERIVED_FROM = new ca.uhn.fhir.model.api.Include("ValueSet:derived-from").toLocked(); + /** * Search parameter: expansion *

@@ -6147,6 +7507,32 @@ public class ValueSet extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.UriClientParam EXPANSION = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_EXPANSION); + /** + * Search parameter: predecessor + *

+ * Description: The predecessor of the ValueSet
+ * Type: reference
+ * Path: ValueSet.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + @SearchParamDefinition(name="predecessor", path="ValueSet.relatedArtifact.where(type='predecessor').resource", description="The predecessor of the ValueSet", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + public static final String SP_PREDECESSOR = "predecessor"; + /** + * Fluent Client search parameter constant for predecessor + *

+ * Description: The predecessor of the ValueSet
+ * Type: reference
+ * Path: ValueSet.relatedArtifact.where(type='predecessor').resource
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PREDECESSOR = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PREDECESSOR); + +/** + * Constant for fluent queries to be used to add include statements. Specifies + * the path value of "ValueSet:predecessor". + */ + public static final ca.uhn.fhir.model.api.Include INCLUDE_PREDECESSOR = new ca.uhn.fhir.model.api.Include("ValueSet:predecessor").toLocked(); + /** * Search parameter: reference *

@@ -6167,6 +7553,26 @@ public class ValueSet extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.UriClientParam REFERENCE = new ca.uhn.fhir.rest.gclient.UriClientParam(SP_REFERENCE); + /** + * Search parameter: topic + *

+ * Description: Topics associated with the ValueSet
+ * Type: token
+ * Path: ValueSet.topic
+ *

+ */ + @SearchParamDefinition(name="topic", path="ValueSet.topic", description="Topics associated with the ValueSet", type="token" ) + public static final String SP_TOPIC = "topic"; + /** + * Fluent Client search parameter constant for topic + *

+ * Description: Topics associated with the ValueSet
+ * Type: token
+ * Path: ValueSet.topic
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam TOPIC = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_TOPIC); + /** * Search parameter: context-quantity *

@@ -6531,6 +7937,38 @@ public class ValueSet extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.StringClientParam DESCRIPTION = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_DESCRIPTION); + /** + * Search parameter: effective + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use +* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use +* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use +* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use +
+ * Type: date
+ * Path: CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod
+ *

+ */ + @SearchParamDefinition(name="effective", path="CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use\r\n* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use\r\n* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use\r\n* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use\r\n", type="date" ) + public static final String SP_EFFECTIVE = "effective"; + /** + * Fluent Client search parameter constant for effective + *

+ * Description: Multiple Resources: + +* [CodeSystem](codesystem.html): The time during which the CodeSystem is intended to be in use +* [ConceptMap](conceptmap.html): The time during which the ConceptMap is intended to be in use +* [NamingSystem](namingsystem.html): The time during which the NamingSystem is intended to be in use +* [ValueSet](valueset.html): The time during which the ValueSet is intended to be in use +
+ * Type: date
+ * Path: CodeSystem.effectivePeriod | ConceptMap.effectivePeriod | NamingSystem.effectivePeriod | ValueSet.effectivePeriod
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam EFFECTIVE = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_EFFECTIVE); + /** * Search parameter: identifier *

@@ -6539,16 +7977,17 @@ public class ValueSet extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ - @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) + @SearchParamDefinition(name="identifier", path="CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier", description="Multiple Resources: \r\n\r\n* [CodeSystem](codesystem.html): External identifier for the code system\r\n* [ConceptMap](conceptmap.html): External identifier for the concept map\r\n* [MessageDefinition](messagedefinition.html): External identifier for the message definition\r\n* [NamingSystem](namingsystem.html): External identifier for the naming system\r\n* [StructureDefinition](structuredefinition.html): External identifier for the structure definition\r\n* [StructureMap](structuremap.html): External identifier for the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities\r\n* [ValueSet](valueset.html): External identifier for the value set\r\n", type="token" ) public static final String SP_IDENTIFIER = "identifier"; /** * Fluent Client search parameter constant for identifier @@ -6558,13 +7997,14 @@ public class ValueSet extends CanonicalResource { * [CodeSystem](codesystem.html): External identifier for the code system * [ConceptMap](conceptmap.html): External identifier for the concept map * [MessageDefinition](messagedefinition.html): External identifier for the message definition +* [NamingSystem](namingsystem.html): External identifier for the naming system * [StructureDefinition](structuredefinition.html): External identifier for the structure definition * [StructureMap](structuremap.html): External identifier for the structure map * [TerminologyCapabilities](terminologycapabilities.html): External identifier for the terminology capabilities * [ValueSet](valueset.html): External identifier for the value set
* Type: token
- * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
+ * Path: CodeSystem.identifier | ConceptMap.identifier | MessageDefinition.identifier | NamingSystem.identifier | StructureDefinition.identifier | StructureMap.identifier | TerminologyCapabilities.identifier | ValueSet.identifier
*

*/ public static final ca.uhn.fhir.rest.gclient.TokenClientParam IDENTIFIER = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_IDENTIFIER); @@ -6827,7 +8267,7 @@ public class ValueSet extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -6843,7 +8283,7 @@ public class ValueSet extends CanonicalResource { * Path: CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url
*

*/ - @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The uri that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) + @SearchParamDefinition(name="url", path="CapabilityStatement.url | CodeSystem.url | CompartmentDefinition.url | ConceptMap.url | GraphDefinition.url | ImplementationGuide.url | MessageDefinition.url | NamingSystem.url | OperationDefinition.url | SearchParameter.url | StructureDefinition.url | StructureMap.url | TerminologyCapabilities.url | ValueSet.url", description="Multiple Resources: \r\n\r\n* [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement\r\n* [CodeSystem](codesystem.html): The uri that identifies the code system\r\n* [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition\r\n* [ConceptMap](conceptmap.html): The URI that identifies the concept map\r\n* [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition\r\n* [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide\r\n* [MessageDefinition](messagedefinition.html): The uri that identifies the message definition\r\n* [NamingSystem](namingsystem.html): The uri that identifies the naming system\r\n* [OperationDefinition](operationdefinition.html): The uri that identifies the operation definition\r\n* [SearchParameter](searchparameter.html): The uri that identifies the search parameter\r\n* [StructureDefinition](structuredefinition.html): The uri that identifies the structure definition\r\n* [StructureMap](structuremap.html): The uri that identifies the structure map\r\n* [TerminologyCapabilities](terminologycapabilities.html): The uri that identifies the terminology capabilities\r\n* [ValueSet](valueset.html): The uri that identifies the value set\r\n", type="uri" ) public static final String SP_URL = "url"; /** * Fluent Client search parameter constant for url @@ -6853,7 +8293,7 @@ public class ValueSet extends CanonicalResource { * [CapabilityStatement](capabilitystatement.html): The uri that identifies the capability statement * [CodeSystem](codesystem.html): The uri that identifies the code system * [CompartmentDefinition](compartmentdefinition.html): The uri that identifies the compartment definition -* [ConceptMap](conceptmap.html): The uri that identifies the concept map +* [ConceptMap](conceptmap.html): The URI that identifies the concept map * [GraphDefinition](graphdefinition.html): The uri that identifies the graph definition * [ImplementationGuide](implementationguide.html): The uri that identifies the implementation guide * [MessageDefinition](messagedefinition.html): The uri that identifies the message definition @@ -6923,6 +8363,86 @@ public class ValueSet extends CanonicalResource { */ public static final ca.uhn.fhir.rest.gclient.TokenClientParam VERSION = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_VERSION); + /** + * Search parameter: author + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-author').value
+ *

+ */ + @SearchParamDefinition(name="author", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-author').value", description="Optional Extensions Element", type="string" ) + public static final String SP_AUTHOR = "author"; + /** + * Fluent Client search parameter constant for author + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-author').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam AUTHOR = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_AUTHOR); + + /** + * Search parameter: end + *

+ * Description: Optional Extensions Element
+ * Type: date
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-expirationDate').value
+ *

+ */ + @SearchParamDefinition(name="end", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-expirationDate').value", description="Optional Extensions Element", type="date" ) + public static final String SP_END = "end"; + /** + * Fluent Client search parameter constant for end + *

+ * Description: Optional Extensions Element
+ * Type: date
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-expirationDate').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.DateClientParam END = new ca.uhn.fhir.rest.gclient.DateClientParam(SP_END); + + /** + * Search parameter: keyword + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-keyWord').value
+ *

+ */ + @SearchParamDefinition(name="keyword", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-keyWord').value", description="Optional Extensions Element", type="string" ) + public static final String SP_KEYWORD = "keyword"; + /** + * Fluent Client search parameter constant for keyword + *

+ * Description: Optional Extensions Element
+ * Type: string
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-keyWord').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.StringClientParam KEYWORD = new ca.uhn.fhir.rest.gclient.StringClientParam(SP_KEYWORD); + + /** + * Search parameter: workflow + *

+ * Description: Optional Extensions Element
+ * Type: token
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-workflowStatus').value
+ *

+ */ + @SearchParamDefinition(name="workflow", path="CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-workflowStatus').value", description="Optional Extensions Element", type="token" ) + public static final String SP_WORKFLOW = "workflow"; + /** + * Fluent Client search parameter constant for workflow + *

+ * Description: Optional Extensions Element
+ * Type: token
+ * Path: CodeSystem.extension('http://hl7.org/fhir/StructureDefinition/valueset-workflowStatus').value
+ *

+ */ + public static final ca.uhn.fhir.rest.gclient.TokenClientParam WORKFLOW = new ca.uhn.fhir.rest.gclient.TokenClientParam(SP_WORKFLOW); + } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VerificationResult.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VerificationResult.java index 0ff8b0f18..b54261ad6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VerificationResult.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VerificationResult.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2661,7 +2661,7 @@ public class VerificationResult extends DomainResource { * Path: VerificationResult.target
*

*/ - @SearchParamDefinition(name="target", path="VerificationResult.target", description="A resource that was validated", type="reference", target={Account.class, ActivityDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CapabilityStatement2.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestGroup.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) + @SearchParamDefinition(name="target", path="VerificationResult.target", description="A resource that was validated", type="reference", target={Account.class, ActivityDefinition.class, ActorDefinition.class, AdministrableProductDefinition.class, AdverseEvent.class, AllergyIntolerance.class, Appointment.class, AppointmentResponse.class, ArtifactAssessment.class, AuditEvent.class, Basic.class, Binary.class, BiologicallyDerivedProduct.class, BodyStructure.class, Bundle.class, CapabilityStatement.class, CarePlan.class, CareTeam.class, ChargeItem.class, ChargeItemDefinition.class, Citation.class, Claim.class, ClaimResponse.class, ClinicalImpression.class, ClinicalUseDefinition.class, CodeSystem.class, Communication.class, CommunicationRequest.class, CompartmentDefinition.class, Composition.class, ConceptMap.class, Condition.class, ConditionDefinition.class, Consent.class, Contract.class, Coverage.class, CoverageEligibilityRequest.class, CoverageEligibilityResponse.class, DetectedIssue.class, Device.class, DeviceDefinition.class, DeviceDispense.class, DeviceMetric.class, DeviceRequest.class, DeviceUsage.class, DiagnosticReport.class, DocumentManifest.class, DocumentReference.class, Encounter.class, Endpoint.class, EnrollmentRequest.class, EnrollmentResponse.class, EpisodeOfCare.class, EventDefinition.class, Evidence.class, EvidenceReport.class, EvidenceVariable.class, ExampleScenario.class, ExplanationOfBenefit.class, FamilyMemberHistory.class, Flag.class, FormularyItem.class, GenomicStudy.class, Goal.class, GraphDefinition.class, Group.class, GuidanceResponse.class, HealthcareService.class, ImagingSelection.class, ImagingStudy.class, Immunization.class, ImmunizationEvaluation.class, ImmunizationRecommendation.class, ImplementationGuide.class, Ingredient.class, InsurancePlan.class, InventoryReport.class, Invoice.class, Library.class, Linkage.class, ListResource.class, Location.class, ManufacturedItemDefinition.class, Measure.class, MeasureReport.class, Medication.class, MedicationAdministration.class, MedicationDispense.class, MedicationKnowledge.class, MedicationRequest.class, MedicationUsage.class, MedicinalProductDefinition.class, MessageDefinition.class, MessageHeader.class, MolecularSequence.class, NamingSystem.class, NutritionIntake.class, NutritionOrder.class, NutritionProduct.class, Observation.class, ObservationDefinition.class, OperationDefinition.class, OperationOutcome.class, Organization.class, OrganizationAffiliation.class, PackagedProductDefinition.class, Patient.class, PaymentNotice.class, PaymentReconciliation.class, Permission.class, Person.class, PlanDefinition.class, Practitioner.class, PractitionerRole.class, Procedure.class, Provenance.class, Questionnaire.class, QuestionnaireResponse.class, RegulatedAuthorization.class, RelatedPerson.class, RequestOrchestration.class, Requirements.class, ResearchStudy.class, ResearchSubject.class, RiskAssessment.class, Schedule.class, SearchParameter.class, ServiceRequest.class, Slot.class, Specimen.class, SpecimenDefinition.class, StructureDefinition.class, StructureMap.class, Subscription.class, SubscriptionStatus.class, SubscriptionTopic.class, Substance.class, SubstanceDefinition.class, SubstanceNucleicAcid.class, SubstancePolymer.class, SubstanceProtein.class, SubstanceReferenceInformation.class, SubstanceSourceMaterial.class, SupplyDelivery.class, SupplyRequest.class, Task.class, TerminologyCapabilities.class, TestReport.class, TestScript.class, Transport.class, ValueSet.class, VerificationResult.class, VisionPrescription.class } ) public static final String SP_TARGET = "target"; /** * Fluent Client search parameter constant for target diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VirtualServiceDetail.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VirtualServiceDetail.java new file mode 100644 index 000000000..c333266ab --- /dev/null +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VirtualServiceDetail.java @@ -0,0 +1,559 @@ +package org.hl7.fhir.r5.model; + + +/* + Copyright (c) 2011+, HL7, Inc. + All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, \ + are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this \ + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, \ + this list of conditions and the following disclaimer in the documentation \ + and/or other materials provided with the distribution. + * Neither the name of HL7 nor the names of its contributors may be used to + endorse or promote products derived from this software without specific + prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND \ + ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED \ + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. \ + IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, \ + INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT \ + NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR \ + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, \ + WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) \ + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE \ + POSSIBILITY OF SUCH DAMAGE. + */ + +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.r5.model.Enumerations.*; +import org.hl7.fhir.instance.model.api.IBaseDatatypeElement; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.instance.model.api.ICompositeType; +import ca.uhn.fhir.model.api.annotation.Child; +import ca.uhn.fhir.model.api.annotation.ChildOrder; +import ca.uhn.fhir.model.api.annotation.DatatypeDef; +import ca.uhn.fhir.model.api.annotation.Description; +import ca.uhn.fhir.model.api.annotation.Block; + +/** + * VirtualServiceDetail Type: Virtual Service Contact Details. + */ +@DatatypeDef(name="VirtualServiceDetail") +public class VirtualServiceDetail extends DataType implements ICompositeType { + + /** + * The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp). + */ + @Child(name = "channelType", type = {Coding.class}, order=0, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Channel Type", formalDefinition="The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp)." ) + @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/virtual-service-type") + protected Coding channelType; + + /** + * What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type). + */ + @Child(name = "address", type = {UrlType.class, StringType.class, ContactPoint.class, ExtendedContactDetail.class}, order=1, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Contact address/number", formalDefinition="What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type)." ) + protected DataType address; + + /** + * Address to see alternative connection details. + */ + @Child(name = "additionalInfo", type = {UrlType.class}, order=2, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=true) + @Description(shortDefinition="Address to see alternative connection details", formalDefinition="Address to see alternative connection details." ) + protected List additionalInfo; + + /** + * Maximum number of participants supported by the virtual service. + */ + @Child(name = "maxParticipants", type = {PositiveIntType.class}, order=3, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Maximum number of participants supported by the virtual service", formalDefinition="Maximum number of participants supported by the virtual service." ) + protected PositiveIntType maxParticipants; + + /** + * Session Key required by the virtual service. + */ + @Child(name = "sessionKey", type = {StringType.class}, order=4, min=0, max=1, modifier=false, summary=true) + @Description(shortDefinition="Session Key required by the virtual service", formalDefinition="Session Key required by the virtual service." ) + protected StringType sessionKey; + + private static final long serialVersionUID = -514931977L; + + /** + * Constructor + */ + public VirtualServiceDetail() { + super(); + } + + /** + * @return {@link #channelType} (The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp).) + */ + public Coding getChannelType() { + if (this.channelType == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create VirtualServiceDetail.channelType"); + else if (Configuration.doAutoCreate()) + this.channelType = new Coding(); // cc + return this.channelType; + } + + public boolean hasChannelType() { + return this.channelType != null && !this.channelType.isEmpty(); + } + + /** + * @param value {@link #channelType} (The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp).) + */ + public VirtualServiceDetail setChannelType(Coding value) { + this.channelType = value; + return this; + } + + /** + * @return {@link #address} (What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).) + */ + public DataType getAddress() { + return this.address; + } + + /** + * @return {@link #address} (What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).) + */ + public UrlType getAddressUrlType() throws FHIRException { + if (this.address == null) + this.address = new UrlType(); + if (!(this.address instanceof UrlType)) + throw new FHIRException("Type mismatch: the type UrlType was expected, but "+this.address.getClass().getName()+" was encountered"); + return (UrlType) this.address; + } + + public boolean hasAddressUrlType() { + return this != null && this.address instanceof UrlType; + } + + /** + * @return {@link #address} (What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).) + */ + public StringType getAddressStringType() throws FHIRException { + if (this.address == null) + this.address = new StringType(); + if (!(this.address instanceof StringType)) + throw new FHIRException("Type mismatch: the type StringType was expected, but "+this.address.getClass().getName()+" was encountered"); + return (StringType) this.address; + } + + public boolean hasAddressStringType() { + return this != null && this.address instanceof StringType; + } + + /** + * @return {@link #address} (What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).) + */ + public ContactPoint getAddressContactPoint() throws FHIRException { + if (this.address == null) + this.address = new ContactPoint(); + if (!(this.address instanceof ContactPoint)) + throw new FHIRException("Type mismatch: the type ContactPoint was expected, but "+this.address.getClass().getName()+" was encountered"); + return (ContactPoint) this.address; + } + + public boolean hasAddressContactPoint() { + return this != null && this.address instanceof ContactPoint; + } + + /** + * @return {@link #address} (What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).) + */ + public ExtendedContactDetail getAddressExtendedContactDetail() throws FHIRException { + if (this.address == null) + this.address = new ExtendedContactDetail(); + if (!(this.address instanceof ExtendedContactDetail)) + throw new FHIRException("Type mismatch: the type ExtendedContactDetail was expected, but "+this.address.getClass().getName()+" was encountered"); + return (ExtendedContactDetail) this.address; + } + + public boolean hasAddressExtendedContactDetail() { + return this != null && this.address instanceof ExtendedContactDetail; + } + + public boolean hasAddress() { + return this.address != null && !this.address.isEmpty(); + } + + /** + * @param value {@link #address} (What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).) + */ + public VirtualServiceDetail setAddress(DataType value) { + if (value != null && !(value instanceof UrlType || value instanceof StringType || value instanceof ContactPoint || value instanceof ExtendedContactDetail)) + throw new Error("Not the right type for VirtualServiceDetail.address[x]: "+value.fhirType()); + this.address = value; + return this; + } + + /** + * @return {@link #additionalInfo} (Address to see alternative connection details.) + */ + public List getAdditionalInfo() { + if (this.additionalInfo == null) + this.additionalInfo = new ArrayList(); + return this.additionalInfo; + } + + /** + * @return Returns a reference to this for easy method chaining + */ + public VirtualServiceDetail setAdditionalInfo(List theAdditionalInfo) { + this.additionalInfo = theAdditionalInfo; + return this; + } + + public boolean hasAdditionalInfo() { + if (this.additionalInfo == null) + return false; + for (UrlType item : this.additionalInfo) + if (!item.isEmpty()) + return true; + return false; + } + + /** + * @return {@link #additionalInfo} (Address to see alternative connection details.) + */ + public UrlType addAdditionalInfoElement() {//2 + UrlType t = new UrlType(); + if (this.additionalInfo == null) + this.additionalInfo = new ArrayList(); + this.additionalInfo.add(t); + return t; + } + + /** + * @param value {@link #additionalInfo} (Address to see alternative connection details.) + */ + public VirtualServiceDetail addAdditionalInfo(String value) { //1 + UrlType t = new UrlType(); + t.setValue(value); + if (this.additionalInfo == null) + this.additionalInfo = new ArrayList(); + this.additionalInfo.add(t); + return this; + } + + /** + * @param value {@link #additionalInfo} (Address to see alternative connection details.) + */ + public boolean hasAdditionalInfo(String value) { + if (this.additionalInfo == null) + return false; + for (UrlType v : this.additionalInfo) + if (v.getValue().equals(value)) // url + return true; + return false; + } + + /** + * @return {@link #maxParticipants} (Maximum number of participants supported by the virtual service.). This is the underlying object with id, value and extensions. The accessor "getMaxParticipants" gives direct access to the value + */ + public PositiveIntType getMaxParticipantsElement() { + if (this.maxParticipants == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create VirtualServiceDetail.maxParticipants"); + else if (Configuration.doAutoCreate()) + this.maxParticipants = new PositiveIntType(); // bb + return this.maxParticipants; + } + + public boolean hasMaxParticipantsElement() { + return this.maxParticipants != null && !this.maxParticipants.isEmpty(); + } + + public boolean hasMaxParticipants() { + return this.maxParticipants != null && !this.maxParticipants.isEmpty(); + } + + /** + * @param value {@link #maxParticipants} (Maximum number of participants supported by the virtual service.). This is the underlying object with id, value and extensions. The accessor "getMaxParticipants" gives direct access to the value + */ + public VirtualServiceDetail setMaxParticipantsElement(PositiveIntType value) { + this.maxParticipants = value; + return this; + } + + /** + * @return Maximum number of participants supported by the virtual service. + */ + public int getMaxParticipants() { + return this.maxParticipants == null || this.maxParticipants.isEmpty() ? 0 : this.maxParticipants.getValue(); + } + + /** + * @param value Maximum number of participants supported by the virtual service. + */ + public VirtualServiceDetail setMaxParticipants(int value) { + if (this.maxParticipants == null) + this.maxParticipants = new PositiveIntType(); + this.maxParticipants.setValue(value); + return this; + } + + /** + * @return {@link #sessionKey} (Session Key required by the virtual service.). This is the underlying object with id, value and extensions. The accessor "getSessionKey" gives direct access to the value + */ + public StringType getSessionKeyElement() { + if (this.sessionKey == null) + if (Configuration.errorOnAutoCreate()) + throw new Error("Attempt to auto-create VirtualServiceDetail.sessionKey"); + else if (Configuration.doAutoCreate()) + this.sessionKey = new StringType(); // bb + return this.sessionKey; + } + + public boolean hasSessionKeyElement() { + return this.sessionKey != null && !this.sessionKey.isEmpty(); + } + + public boolean hasSessionKey() { + return this.sessionKey != null && !this.sessionKey.isEmpty(); + } + + /** + * @param value {@link #sessionKey} (Session Key required by the virtual service.). This is the underlying object with id, value and extensions. The accessor "getSessionKey" gives direct access to the value + */ + public VirtualServiceDetail setSessionKeyElement(StringType value) { + this.sessionKey = value; + return this; + } + + /** + * @return Session Key required by the virtual service. + */ + public String getSessionKey() { + return this.sessionKey == null ? null : this.sessionKey.getValue(); + } + + /** + * @param value Session Key required by the virtual service. + */ + public VirtualServiceDetail setSessionKey(String value) { + if (Utilities.noString(value)) + this.sessionKey = null; + else { + if (this.sessionKey == null) + this.sessionKey = new StringType(); + this.sessionKey.setValue(value); + } + return this; + } + + protected void listChildren(List children) { + super.listChildren(children); + children.add(new Property("channelType", "Coding", "The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp).", 0, 1, channelType)); + children.add(new Property("address[x]", "url|string|ContactPoint|ExtendedContactDetail", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address)); + children.add(new Property("additionalInfo", "url", "Address to see alternative connection details.", 0, java.lang.Integer.MAX_VALUE, additionalInfo)); + children.add(new Property("maxParticipants", "positiveInt", "Maximum number of participants supported by the virtual service.", 0, 1, maxParticipants)); + children.add(new Property("sessionKey", "string", "Session Key required by the virtual service.", 0, 1, sessionKey)); + } + + @Override + public Property getNamedProperty(int _hash, String _name, boolean _checkValid) throws FHIRException { + switch (_hash) { + case 274155229: /*channelType*/ return new Property("channelType", "Coding", "The type of virtual service to connect to (i.e. Teams, Zoom, Specific VMR technology, WhatsApp).", 0, 1, channelType); + case 1341051916: /*address[x]*/ return new Property("address[x]", "url|string|ContactPoint|ExtendedContactDetail", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address); + case -1147692044: /*address*/ return new Property("address[x]", "url|string|ContactPoint|ExtendedContactDetail", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address); + case 1341045979: /*addressUrl*/ return new Property("address[x]", "url", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address); + case -740155099: /*addressString*/ return new Property("address[x]", "string", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address); + case 269121380: /*addressContactPoint*/ return new Property("address[x]", "ContactPoint", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address); + case -834417596: /*addressExtendedContactDetail*/ return new Property("address[x]", "ExtendedContactDetail", "What address or number needs to be used for a user to connect to the virtual service to join. The channelType informs as to which datatype is appropriate to use (requires knowledge of the specific type).", 0, 1, address); + case -974297739: /*additionalInfo*/ return new Property("additionalInfo", "url", "Address to see alternative connection details.", 0, java.lang.Integer.MAX_VALUE, additionalInfo); + case 950795044: /*maxParticipants*/ return new Property("maxParticipants", "positiveInt", "Maximum number of participants supported by the virtual service.", 0, 1, maxParticipants); + case 1661834217: /*sessionKey*/ return new Property("sessionKey", "string", "Session Key required by the virtual service.", 0, 1, sessionKey); + default: return super.getNamedProperty(_hash, _name, _checkValid); + } + + } + + @Override + public Base[] getProperty(int hash, String name, boolean checkValid) throws FHIRException { + switch (hash) { + case 274155229: /*channelType*/ return this.channelType == null ? new Base[0] : new Base[] {this.channelType}; // Coding + case -1147692044: /*address*/ return this.address == null ? new Base[0] : new Base[] {this.address}; // DataType + case -974297739: /*additionalInfo*/ return this.additionalInfo == null ? new Base[0] : this.additionalInfo.toArray(new Base[this.additionalInfo.size()]); // UrlType + case 950795044: /*maxParticipants*/ return this.maxParticipants == null ? new Base[0] : new Base[] {this.maxParticipants}; // PositiveIntType + case 1661834217: /*sessionKey*/ return this.sessionKey == null ? new Base[0] : new Base[] {this.sessionKey}; // StringType + default: return super.getProperty(hash, name, checkValid); + } + + } + + @Override + public Base setProperty(int hash, String name, Base value) throws FHIRException { + switch (hash) { + case 274155229: // channelType + this.channelType = TypeConvertor.castToCoding(value); // Coding + return value; + case -1147692044: // address + this.address = TypeConvertor.castToType(value); // DataType + return value; + case -974297739: // additionalInfo + this.getAdditionalInfo().add(TypeConvertor.castToUrl(value)); // UrlType + return value; + case 950795044: // maxParticipants + this.maxParticipants = TypeConvertor.castToPositiveInt(value); // PositiveIntType + return value; + case 1661834217: // sessionKey + this.sessionKey = TypeConvertor.castToString(value); // StringType + return value; + default: return super.setProperty(hash, name, value); + } + + } + + @Override + public Base setProperty(String name, Base value) throws FHIRException { + if (name.equals("channelType")) { + this.channelType = TypeConvertor.castToCoding(value); // Coding + } else if (name.equals("address[x]")) { + this.address = TypeConvertor.castToType(value); // DataType + } else if (name.equals("additionalInfo")) { + this.getAdditionalInfo().add(TypeConvertor.castToUrl(value)); + } else if (name.equals("maxParticipants")) { + this.maxParticipants = TypeConvertor.castToPositiveInt(value); // PositiveIntType + } else if (name.equals("sessionKey")) { + this.sessionKey = TypeConvertor.castToString(value); // StringType + } else + return super.setProperty(name, value); + return value; + } + + @Override + public Base makeProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 274155229: return getChannelType(); + case 1341051916: return getAddress(); + case -1147692044: return getAddress(); + case -974297739: return addAdditionalInfoElement(); + case 950795044: return getMaxParticipantsElement(); + case 1661834217: return getSessionKeyElement(); + default: return super.makeProperty(hash, name); + } + + } + + @Override + public String[] getTypesForProperty(int hash, String name) throws FHIRException { + switch (hash) { + case 274155229: /*channelType*/ return new String[] {"Coding"}; + case -1147692044: /*address*/ return new String[] {"url", "string", "ContactPoint", "ExtendedContactDetail"}; + case -974297739: /*additionalInfo*/ return new String[] {"url"}; + case 950795044: /*maxParticipants*/ return new String[] {"positiveInt"}; + case 1661834217: /*sessionKey*/ return new String[] {"string"}; + default: return super.getTypesForProperty(hash, name); + } + + } + + @Override + public Base addChild(String name) throws FHIRException { + if (name.equals("channelType")) { + this.channelType = new Coding(); + return this.channelType; + } + else if (name.equals("addressUrl")) { + this.address = new UrlType(); + return this.address; + } + else if (name.equals("addressString")) { + this.address = new StringType(); + return this.address; + } + else if (name.equals("addressContactPoint")) { + this.address = new ContactPoint(); + return this.address; + } + else if (name.equals("addressExtendedContactDetail")) { + this.address = new ExtendedContactDetail(); + return this.address; + } + else if (name.equals("additionalInfo")) { + throw new FHIRException("Cannot call addChild on a primitive type VirtualServiceDetail.additionalInfo"); + } + else if (name.equals("maxParticipants")) { + throw new FHIRException("Cannot call addChild on a primitive type VirtualServiceDetail.maxParticipants"); + } + else if (name.equals("sessionKey")) { + throw new FHIRException("Cannot call addChild on a primitive type VirtualServiceDetail.sessionKey"); + } + else + return super.addChild(name); + } + + public String fhirType() { + return "VirtualServiceDetail"; + + } + + public VirtualServiceDetail copy() { + VirtualServiceDetail dst = new VirtualServiceDetail(); + copyValues(dst); + return dst; + } + + public void copyValues(VirtualServiceDetail dst) { + super.copyValues(dst); + dst.channelType = channelType == null ? null : channelType.copy(); + dst.address = address == null ? null : address.copy(); + if (additionalInfo != null) { + dst.additionalInfo = new ArrayList(); + for (UrlType i : additionalInfo) + dst.additionalInfo.add(i.copy()); + }; + dst.maxParticipants = maxParticipants == null ? null : maxParticipants.copy(); + dst.sessionKey = sessionKey == null ? null : sessionKey.copy(); + } + + protected VirtualServiceDetail typedCopy() { + return copy(); + } + + @Override + public boolean equalsDeep(Base other_) { + if (!super.equalsDeep(other_)) + return false; + if (!(other_ instanceof VirtualServiceDetail)) + return false; + VirtualServiceDetail o = (VirtualServiceDetail) other_; + return compareDeep(channelType, o.channelType, true) && compareDeep(address, o.address, true) && compareDeep(additionalInfo, o.additionalInfo, true) + && compareDeep(maxParticipants, o.maxParticipants, true) && compareDeep(sessionKey, o.sessionKey, true) + ; + } + + @Override + public boolean equalsShallow(Base other_) { + if (!super.equalsShallow(other_)) + return false; + if (!(other_ instanceof VirtualServiceDetail)) + return false; + VirtualServiceDetail o = (VirtualServiceDetail) other_; + return compareValues(additionalInfo, o.additionalInfo, true) && compareValues(maxParticipants, o.maxParticipants, true) + && compareValues(sessionKey, o.sessionKey, true); + } + + public boolean isEmpty() { + return super.isEmpty() && ca.uhn.fhir.util.ElementUtil.isEmpty(channelType, address, additionalInfo + , maxParticipants, sessionKey); + } + + +} + diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VisionPrescription.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VisionPrescription.java index 301a13f14..80b0d8807 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VisionPrescription.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/VisionPrescription.java @@ -29,7 +29,7 @@ package org.hl7.fhir.r5.model; POSSIBILITY OF SUCH DAMAGE. */ -// Generated on Fri, Jul 15, 2022 11:20+1000 for FHIR v5.0.0-snapshot2 +// Generated on Mon, Sep 5, 2022 20:11+1000 for FHIR vcurrent import java.util.ArrayList; import java.util.Date; @@ -2587,7 +2587,7 @@ public class VisionPrescription extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2596,10 +2596,10 @@ public class VisionPrescription extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ - @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={Patient.class } ) + @SearchParamDefinition(name="patient", path="AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient", description="Multiple Resources: \r\n\r\n* [AllergyIntolerance](allergyintolerance.html): Who the sensitivity is for\r\n* [CarePlan](careplan.html): Who the care plan is for\r\n* [CareTeam](careteam.html): Who care team is for\r\n* [ClinicalImpression](clinicalimpression.html): Patient assessed\r\n* [Composition](composition.html): Who and/or what the composition is about\r\n* [Condition](condition.html): Who has the condition?\r\n* [Consent](consent.html): Who the consent applies to\r\n* [DetectedIssue](detectedissue.html): Associated patient\r\n* [DeviceRequest](devicerequest.html): Individual the service is ordered for\r\n* [DeviceUsage](deviceusage.html): Search by patient who used / uses the device\r\n* [DiagnosticReport](diagnosticreport.html): The subject of the report if a patient\r\n* [DocumentManifest](documentmanifest.html): The subject of the set of documents\r\n* [DocumentReference](documentreference.html): Who/what is the subject of the document\r\n* [Encounter](encounter.html): The patient present at the encounter\r\n* [EpisodeOfCare](episodeofcare.html): The patient who is the focus of this episode of care\r\n* [FamilyMemberHistory](familymemberhistory.html): The identity of a subject to list family member history items for\r\n* [Flag](flag.html): The identity of a subject to list flags for\r\n* [Goal](goal.html): Who this goal is intended for\r\n* [ImagingStudy](imagingstudy.html): Who the study is about\r\n* [Immunization](immunization.html): The patient for the vaccination record\r\n* [List](list.html): If all resources have the same subject\r\n* [MedicationAdministration](medicationadministration.html): The identity of a patient to list administrations for\r\n* [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for\r\n* [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient\r\n* [MedicationUsage](medicationusage.html): Returns statements for a specific patient.\r\n* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement\r\n* [Observation](observation.html): The subject that the observation is about (if patient)\r\n* [Procedure](procedure.html): Search by subject - a patient\r\n* [RiskAssessment](riskassessment.html): Who/what does assessment apply to?\r\n* [ServiceRequest](servicerequest.html): Search by subject - a patient\r\n* [SupplyDelivery](supplydelivery.html): Patient for whom the item is supplied\r\n* [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for\r\n", type="reference", providesMembershipIn={ @ca.uhn.fhir.model.api.annotation.Compartment(name="Base FHIR compartment definition for Patient") }, target={BiologicallyDerivedProduct.class, Device.class, Group.class, Location.class, Medication.class, NutritionProduct.class, Organization.class, Patient.class, Practitioner.class, Procedure.class, Substance.class } ) public static final String SP_PATIENT = "patient"; /** * Fluent Client search parameter constant for patient @@ -2631,7 +2631,7 @@ public class VisionPrescription extends DomainResource { * [MedicationDispense](medicationdispense.html): The identity of a patient to list dispenses for * [MedicationRequest](medicationrequest.html): Returns prescriptions for a specific patient * [MedicationUsage](medicationusage.html): Returns statements for a specific patient. -* [NutritionOrder](nutritionorder.html): The identity of the person who requires the diet, formula or nutritional supplement +* [NutritionOrder](nutritionorder.html): The identity of the individual or set of individuals who requires the diet, formula or nutritional supplement * [Observation](observation.html): The subject that the observation is about (if patient) * [Procedure](procedure.html): Search by subject - a patient * [RiskAssessment](riskassessment.html): Who/what does assessment apply to? @@ -2640,7 +2640,7 @@ public class VisionPrescription extends DomainResource { * [VisionPrescription](visionprescription.html): The identity of a patient to list dispenses for
* Type: reference
- * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.patient | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.patient | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
+ * Path: AllergyIntolerance.patient | CarePlan.subject.where(resolve() is Patient) | CareTeam.subject.where(resolve() is Patient) | ClinicalImpression.subject.where(resolve() is Patient) | Composition.subject.where(resolve() is Patient) | Condition.subject.where(resolve() is Patient) | Consent.subject.where(resolve() is Patient) | DetectedIssue.subject | DeviceRequest.subject.where(resolve() is Patient) | DeviceUsage.patient | DiagnosticReport.subject.where(resolve() is Patient) | DocumentManifest.subject.where(resolve() is Patient) | DocumentReference.subject.where(resolve() is Patient) | Encounter.subject.where(resolve() is Patient) | EpisodeOfCare.patient | FamilyMemberHistory.patient | Flag.subject.where(resolve() is Patient) | Goal.subject.where(resolve() is Patient) | ImagingStudy.subject.where(resolve() is Patient) | Immunization.patient | List.subject.where(resolve() is Patient) | MedicationAdministration.subject.where(resolve() is Patient) | MedicationDispense.subject.where(resolve() is Patient) | MedicationRequest.subject.where(resolve() is Patient) | MedicationUsage.subject.where(resolve() is Patient) | NutritionOrder.subject.where(resolve() is Patient) | Observation.subject.where(resolve() is Patient) | Procedure.subject.where(resolve() is Patient) | RiskAssessment.subject.where(resolve() is Patient) | ServiceRequest.subject.where(resolve() is Patient) | SupplyDelivery.patient | VisionPrescription.patient
*

*/ public static final ca.uhn.fhir.rest.gclient.ReferenceClientParam PATIENT = new ca.uhn.fhir.rest.gclient.ReferenceClientParam(SP_PATIENT); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/openapi/OpenApiGenerator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/openapi/OpenApiGenerator.java index e7da683c2..469e770d9 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/openapi/OpenApiGenerator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/openapi/OpenApiGenerator.java @@ -48,7 +48,7 @@ import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.ContactDetail; import org.hl7.fhir.r5.model.ContactPoint; import org.hl7.fhir.r5.model.ContactPoint.ContactPointSystem; -import org.hl7.fhir.r5.model.Enumerations.RestfulCapabilityMode; +import org.hl7.fhir.r5.model.CapabilityStatement.RestfulCapabilityMode; import org.hl7.fhir.r5.model.Enumerations.SearchParamType; import org.hl7.fhir.r5.model.SearchParameter; import org.hl7.fhir.r5.openapi.ParameterWriter.ParameterLocation; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BundleRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BundleRenderer.java index 18a8b99b4..1a28531b8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BundleRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BundleRenderer.java @@ -198,7 +198,7 @@ public class BundleRenderer extends ResourceRenderer { // * The Composition resource Narrative // * The section.text Narratives Composition comp = (Composition) b.getEntry().get(0).getResource(); - Resource subject = resolveReference(b, comp.getSubject()); + Resource subject = resolveReference(b, comp.getSubjectFirstRep()); if (subject != null) { XhtmlNode nx = (subject instanceof DomainResource) ? ((DomainResource) subject).getText().getDiv() : null; if (nx != null && !nx.isEmpty()) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index b92fab711..bdede9e36 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -1607,8 +1607,12 @@ public class DataRenderer extends Renderer { if (s.hasOrigin()) b.append("Origin: "+displayQuantity(s.getOrigin())); - if (s.hasPeriod()) - b.append("Period: "+s.getPeriod().toString()); + if (s.hasInterval()) { + b.append("Interval: "+s.getInterval().toString()); + + if (s.hasIntervalUnit()) + b.append(s.getIntervalUnit().toString()); + } if (s.hasFactor()) b.append("Factor: "+s.getFactor().toString()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java index b93c31767..7a55dd8ef 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java @@ -10,6 +10,7 @@ import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.DomainResource; import org.hl7.fhir.r5.model.Enumeration; +import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; import org.hl7.fhir.r5.model.Extension; import org.hl7.fhir.r5.model.OperationDefinition; import org.hl7.fhir.r5.model.OperationDefinition.OperationDefinitionParameterComponent; @@ -54,7 +55,7 @@ public class SearchParameterRenderer extends TerminologyRenderer { XhtmlNode tr = tbl.tr(); tr.td().tx(Utilities.pluralize("Resource", spd.getBase().size())); XhtmlNode td = tr.td(); - for (CodeType t : spd.getBase()) { + for (Enumeration t : spd.getBase()) { StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.toString()); if (sd != null && sd.hasUserData("path")) { td.ah(sd.getUserString("path")).sep(", ").tx(t.getCode()); @@ -69,15 +70,10 @@ public class SearchParameterRenderer extends TerminologyRenderer { } else { tr.td().tx("(none)"); } - if (spd.hasXpathUsage()) { + if (spd.hasProcessingMode()) { tr = tbl.tr(); tr.td().tx("Usage"); - tr.td().tx(spd.getXpathUsage().getDisplay()); - } - if (spd.hasXpath()) { - tr = tbl.tr(); - tr.td().tx("XPath"); - tr.td().code().tx(spd.getXpath()); + tr.td().tx(spd.getProcessingMode().getDisplay()); } if (spd.hasTarget()) { tr = tbl.tr(); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphDefinitionEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphDefinitionEngine.java index 975efcf06..c65b3c5c5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphDefinitionEngine.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphDefinitionEngine.java @@ -220,7 +220,7 @@ public class GraphDefinitionEngine { List list = new ArrayList<>(); List params = new ArrayList<>(); parseParams(params, link.getTarget().get(0).getParams(), focus); - services.listResources(appInfo, link.getTarget().get(0).getType(), params, list); + services.listResources(appInfo, link.getTarget().get(0).getType().toCode(), params, list); check(!validating || (list.size() >= (link.hasMin() ? link.getMin() : 0)), "Link at path "+path+" requires at least "+link.getMin()+" matches, but only found "+list.size()); check(!validating || (list.size() <= (link.hasMax() && !link.getMax().equals("*") ? Integer.parseInt(link.getMax()) : Integer.MAX_VALUE)), "Link at path "+path+" requires at most "+link.getMax()+" matches, but found "+list.size()); for (IBaseResource res : list) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java index 6e22a43ac..e447f7dec 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java @@ -45,7 +45,7 @@ public class IGHelper { public static String readStringParameter(ImplementationGuideDefinitionComponent ig, String name) { for (ImplementationGuideDefinitionParameterComponent p : ig.getParameter()) { - if (name == p.getCode()) { + if (name == p.getCode().getCode()) { return p.getValue(); } } @@ -59,19 +59,19 @@ public class IGHelper { public static void setParameter(ImplementationGuideDefinitionComponent ig, String name, String value) { for (ImplementationGuideDefinitionParameterComponent p : ig.getParameter()) { - if (name == p.getCode()) { + if (name == p.getCode().getCode()) { p.setValue(value); return; } } ImplementationGuideDefinitionParameterComponent p = ig.addParameter(); - p.setCode(name); + p.getCode().setCode(name); p.setValue(value); } public static void addParameter(ImplementationGuideDefinitionComponent ig, String name, String value) { ImplementationGuideDefinitionParameterComponent p = ig.addParameter(); - p.setCode(name); + p.getCode().setCode(name); p.setValue(value); } diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/GraphQLEngineTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/GraphQLEngineTests.java index 5acbe3caf..578f671e2 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/GraphQLEngineTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/GraphQLEngineTests.java @@ -17,6 +17,7 @@ import org.hl7.fhir.r5.formats.XmlParser; import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleLinkComponent; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; import org.hl7.fhir.r5.model.Bundle.SearchEntryMode; import org.hl7.fhir.r5.model.DomainResource; import org.hl7.fhir.r5.model.Resource; @@ -175,10 +176,10 @@ public class GraphQLEngineTests implements IGraphQLStorageServices { try { Bundle bnd = new Bundle(); BundleLinkComponent bl = bnd.addLink(); - bl.setRelation("next"); + bl.setRelation(LinkRelationTypes.fromCode("next")); bl.setUrl("http://test.fhir.org/r4/Patient?_format=text/xhtml&search-id=77c97e03-8a6c-415f-a63d-11c80cf73f&&active=true&_sort=_id&search-offset=50&_count=50"); bl = bnd.addLink(); - bl.setRelation("self"); + bl.setRelation(LinkRelationTypes.fromCode("self")); bl.setUrl("http://test.fhir.org/r4/Patient?_format=text/xhtml&search-id=77c97e03-8a6c-415f-a63d-11c80cf73f&&active=true&_sort=_id&search-offset=0&_count=50"); BundleEntryComponent be = bnd.addEntry(); be.setFullUrl("http://hl7.org/fhir/Patient/example"); From 19174761359456d160e68bb0b37be6332dc1054c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 6 Sep 2022 20:28:04 +1000 Subject: [PATCH 073/156] new R5 release coming --- .../ExtensionDefinitionGenerator.java | 80 ++-- .../convertors/R2R3ConversionManager.java | 32 +- .../convertors/SpecDifferenceEvaluator.java | 76 ++-- .../org/hl7/fhir/convertors/SpecPackage.java | 11 +- .../fhir/convertors/TransformContextR2R3.java | 3 +- .../convertors/VersionConversionService.java | 12 +- .../advisors/impl/BaseAdvisor_10_30.java | 7 +- .../advisors/impl/BaseAdvisor_10_40.java | 11 +- .../advisors/impl/BaseAdvisor_10_50.java | 11 +- .../advisors/impl/BaseAdvisor_14_30.java | 7 +- .../advisors/impl/BaseAdvisor_14_40.java | 11 +- .../advisors/impl/BaseAdvisor_14_50.java | 9 +- .../advisors/impl/BaseAdvisor_30_40.java | 9 +- .../advisors/impl/BaseAdvisor_30_50.java | 9 +- .../advisors/interfaces/BaseAdvisor30.java | 15 +- .../advisors/interfaces/BaseAdvisor40.java | 15 +- .../advisors/interfaces/BaseAdvisor43.java | 15 +- .../advisors/interfaces/BaseAdvisor50.java | 15 +- .../convertors/analytics/PackageVisitor.java | 5 +- .../analytics/SearchParameterAnalysis.java | 2 - .../context/VersionConvertorContext.java | 6 +- .../conv10_30/VersionConvertor_10_30.java | 5 +- .../datatypes10_30/BackboneElement10_30.java | 2 - .../datatypes10_30/Element10_30.java | 4 +- .../ElementDefinition10_30.java | 13 +- .../conv10_30/datatypes10_30/Type10_30.java | 46 ++- .../complextypes10_30/Attachment10_30.java | 7 +- .../complextypes10_30/Timing10_30.java | 4 +- .../AllergyIntolerance10_30.java | 1 - .../conv10_30/resources10_30/Bundle10_30.java | 6 +- .../resources10_30/CarePlan10_30.java | 6 +- .../resources10_30/Composition10_30.java | 4 +- .../resources10_30/ConceptMap10_30.java | 12 +- .../resources10_30/Conformance10_30.java | 9 +- .../resources10_30/Contract10_30.java | 7 +- .../resources10_30/DataElement10_30.java | 12 +- .../DocumentReference10_30.java | 6 +- .../HealthcareService10_30.java | 10 +- .../resources10_30/Immunization10_30.java | 10 +- .../ImplementationGuide10_30.java | 7 +- .../MedicationDispense10_30.java | 6 +- .../MedicationRequest10_30.java | 8 +- .../OperationDefinition10_30.java | 7 +- .../resources10_30/Organization10_30.java | 6 +- .../resources10_30/Patient10_30.java | 8 +- .../conv10_30/resources10_30/Person10_30.java | 6 +- .../resources10_30/Practitioner10_30.java | 8 +- .../resources10_30/RelatedPerson10_30.java | 8 +- .../resources10_30/SearchParameter10_30.java | 6 +- .../StructureDefinition10_30.java | 13 +- .../resources10_30/TestScript10_30.java | 8 +- .../resources10_30/ValueSet10_30.java | 11 +- .../conv10_40/VersionConvertor_10_40.java | 9 +- .../datatypes10_40/Element10_40.java | 4 +- .../ElementDefinition10_40.java | 13 +- .../datatypes10_40/Reference10_40.java | 4 +- .../conv10_40/datatypes10_40/Type10_40.java | 40 +- .../complextypes10_40/Attachment10_40.java | 6 +- .../complextypes10_40/Timing10_40.java | 4 +- .../AllergyIntolerance10_40.java | 1 - .../conv10_40/resources10_40/Bundle10_40.java | 6 +- .../resources10_40/CarePlan10_40.java | 6 +- .../resources10_40/Composition10_40.java | 4 +- .../resources10_40/ConceptMap10_40.java | 12 +- .../resources10_40/Conformance10_40.java | 8 +- .../resources10_40/DataElement10_40.java | 12 +- .../DocumentReference10_40.java | 6 +- .../HealthcareService10_40.java | 10 +- .../ImplementationGuide10_40.java | 11 +- .../MedicationDispense10_40.java | 6 +- .../MedicationRequest10_40.java | 8 +- .../OperationDefinition10_40.java | 8 +- .../resources10_40/Organization10_40.java | 6 +- .../resources10_40/Patient10_40.java | 8 +- .../conv10_40/resources10_40/Person10_40.java | 6 +- .../resources10_40/Practitioner10_40.java | 8 +- .../resources10_40/SearchParameter10_40.java | 6 +- .../StructureDefinition10_40.java | 12 +- .../resources10_40/TestScript10_40.java | 9 +- .../resources10_40/ValueSet10_40.java | 11 +- .../conv10_50/VersionConvertor_10_50.java | 10 +- .../datatypes10_50/Element10_50.java | 4 +- .../ElementDefinition10_50.java | 13 +- .../datatypes10_50/Reference10_50.java | 4 +- .../conv10_50/datatypes10_50/Type10_50.java | 40 +- .../complextypes10_50/Timing10_50.java | 4 +- .../conv10_50/resources10_50/Bundle10_50.java | 6 +- .../resources10_50/CarePlan10_50.java | 6 +- .../resources10_50/Composition10_50.java | 9 +- .../resources10_50/ConceptMap10_50.java | 14 +- .../resources10_50/Condition10_50.java | 4 - .../resources10_50/Conformance10_50.java | 7 +- .../resources10_50/DataElement10_50.java | 12 +- .../DocumentReference10_50.java | 5 +- .../HealthcareService10_50.java | 8 +- .../ImplementationGuide10_50.java | 10 +- .../MedicationDispense10_50.java | 6 +- .../resources10_50/MessageHeader10_50.java | 1 - .../OperationDefinition10_50.java | 8 +- .../resources10_50/Organization10_50.java | 18 +- .../resources10_50/Patient10_50.java | 8 +- .../conv10_50/resources10_50/Person10_50.java | 6 +- .../resources10_50/Practitioner10_50.java | 8 +- .../resources10_50/SearchParameter10_50.java | 13 +- .../StructureDefinition10_50.java | 12 +- .../resources10_50/TestScript10_50.java | 8 +- .../resources10_50/ValueSet10_50.java | 11 +- .../conv14_30/VersionConvertor_14_30.java | 4 +- .../datatypes14_30/Element14_30.java | 4 +- .../ElementDefinition14_30.java | 12 +- .../conv14_30/datatypes14_30/Type14_30.java | 38 +- .../complextypes14_30/Attachment14_30.java | 7 +- .../complextypes14_30/Timing14_30.java | 4 +- .../conv14_30/resources14_30/Bundle14_30.java | 6 +- .../resources14_30/CodeSystem14_30.java | 7 +- .../CompartmentDefinition14_30.java | 6 +- .../resources14_30/ConceptMap14_30.java | 12 +- .../resources14_30/Conformance14_30.java | 9 +- .../resources14_30/DataElement14_30.java | 6 +- .../ImplementationGuide14_30.java | 7 +- .../OperationDefinition14_30.java | 7 +- .../resources14_30/Questionnaire14_30.java | 7 +- .../resources14_30/SearchParameter14_30.java | 6 +- .../StructureDefinition14_30.java | 7 +- .../resources14_30/TestScript14_30.java | 8 +- .../resources14_30/ValueSet14_30.java | 7 +- .../conv14_40/VersionConvertor_14_40.java | 9 +- .../datatypes14_40/Element14_40.java | 4 +- .../ElementDefinition14_40.java | 14 +- .../conv14_40/datatypes14_40/Type14_40.java | 39 +- .../complextypes14_40/Attachment14_40.java | 6 +- .../complextypes14_40/Timing14_40.java | 4 +- .../conv14_40/resources14_40/Bundle14_40.java | 6 +- .../resources14_40/CodeSystem14_40.java | 7 +- .../CompartmentDefinition14_40.java | 6 +- .../resources14_40/ConceptMap14_40.java | 12 +- .../resources14_40/Conformance14_40.java | 7 +- .../resources14_40/DataElement14_40.java | 6 +- .../ImplementationGuide14_40.java | 10 +- .../OperationDefinition14_40.java | 7 +- .../resources14_40/Questionnaire14_40.java | 6 +- .../resources14_40/SearchParameter14_40.java | 6 +- .../StructureDefinition14_40.java | 6 +- .../resources14_40/StructureMap14_40.java | 10 +- .../resources14_40/ValueSet14_40.java | 7 +- .../conv14_50/VersionConvertor_14_50.java | 10 +- .../datatypes14_50/Element14_50.java | 4 +- .../ElementDefinition14_50.java | 14 +- .../conv14_50/datatypes14_50/Type14_50.java | 39 +- .../complextypes14_50/Timing14_50.java | 4 +- .../conv14_50/resources14_50/Bundle14_50.java | 6 +- .../resources14_50/CodeSystem14_50.java | 7 +- .../CompartmentDefinition14_50.java | 6 +- .../resources14_50/ConceptMap14_50.java | 12 +- .../resources14_50/Conformance14_50.java | 7 +- .../resources14_50/DataElement14_50.java | 6 +- .../ImplementationGuide14_50.java | 13 +- .../OperationDefinition14_50.java | 7 +- .../resources14_50/Questionnaire14_50.java | 6 +- .../resources14_50/SearchParameter14_50.java | 13 +- .../StructureDefinition14_50.java | 6 +- .../resources14_50/StructureMap14_50.java | 11 +- .../resources14_50/ValueSet14_50.java | 7 +- .../conv30_40/VersionConvertor_30_40.java | 9 +- .../datatypes30_40/Element30_40.java | 4 +- .../ElementDefinition30_40.java | 16 +- .../conv30_40/datatypes30_40/Type30_40.java | 40 +- .../complextypes30_40/Attachment30_40.java | 6 +- .../complextypes30_40/Timing30_40.java | 4 +- .../ActivityDefinition30_40.java | 13 +- .../AllergyIntolerance30_40.java | 4 +- .../resources30_40/Appointment30_40.java | 6 +- .../conv30_40/resources30_40/Bundle30_40.java | 6 +- .../CapabilityStatement30_40.java | 12 +- .../resources30_40/CarePlan30_40.java | 10 +- .../resources30_40/CodeSystem30_40.java | 12 +- .../CompartmentDefinition30_40.java | 7 +- .../resources30_40/Composition30_40.java | 4 +- .../resources30_40/ConceptMap30_40.java | 7 +- .../resources30_40/Consent30_40.java | 4 +- .../resources30_40/DataElement30_40.java | 7 +- .../conv30_40/resources30_40/Device30_40.java | 6 +- .../DocumentReference30_40.java | 6 +- .../resources30_40/Encounter30_40.java | 6 +- .../resources30_40/Endpoint30_40.java | 6 +- .../resources30_40/GraphDefinition30_40.java | 8 +- .../HealthcareService30_40.java | 10 +- .../resources30_40/ImagingStudy30_40.java | 4 +- .../ImplementationGuide30_40.java | 11 +- .../resources30_40/Library30_40.java | 13 +- .../resources30_40/Location30_40.java | 6 +- .../MedicationAdministration30_40.java | 6 +- .../MedicationRequest30_40.java | 7 +- .../MessageDefinition30_40.java | 8 +- .../OperationDefinition30_40.java | 8 +- .../resources30_40/Organization30_40.java | 6 +- .../resources30_40/Patient30_40.java | 8 +- .../conv30_40/resources30_40/Person30_40.java | 6 +- .../resources30_40/PlanDefinition30_40.java | 15 +- .../resources30_40/Practitioner30_40.java | 8 +- .../resources30_40/PractitionerRole30_40.java | 4 +- .../resources30_40/ProcedureRequest30_40.java | 4 +- .../resources30_40/Questionnaire30_40.java | 14 +- .../resources30_40/RelatedPerson30_40.java | 12 +- .../resources30_40/SearchParameter30_40.java | 11 +- .../StructureDefinition30_40.java | 7 +- .../resources30_40/StructureMap30_40.java | 12 +- .../resources30_40/TestReport30_40.java | 6 +- .../resources30_40/TestScript30_40.java | 9 +- .../resources30_40/ValueSet30_40.java | 9 +- .../convertors/conv30_50/Resource30_50.java | 80 +++- .../conv30_50/VersionConvertor_30_50.java | 9 +- .../conv30_50/datatypes30_50/Dosage30_50.java | 2 - .../datatypes30_50/Element30_50.java | 4 +- .../ElementDefinition30_50.java | 16 +- .../datatypes30_50/Reference30_50.java | 16 +- .../conv30_50/datatypes30_50/Type30_50.java | 39 +- .../complextypes30_50/Timing30_50.java | 4 +- .../primitivetypes30_50/Date30_50.java | 3 - .../ActivityDefinition30_50.java | 57 +-- .../AllergyIntolerance30_50.java | 4 +- .../conv30_50/resources30_50/Bundle30_50.java | 6 +- .../CapabilityStatement30_50.java | 12 +- .../resources30_50/CarePlan30_50.java | 10 +- .../resources30_50/CodeSystem30_50.java | 12 +- .../CompartmentDefinition30_50.java | 7 +- .../resources30_50/Composition30_50.java | 25 +- .../resources30_50/ConceptMap30_50.java | 8 +- .../resources30_50/Condition30_50.java | 1 - .../resources30_50/Consent30_50.java | 110 ++--- .../resources30_50/DataElement30_50.java | 7 +- .../DocumentReference30_50.java | 5 +- .../resources30_50/Encounter30_50.java | 6 +- .../resources30_50/Endpoint30_50.java | 14 +- .../resources30_50/EpisodeOfCare30_50.java | 8 +- .../resources30_50/GraphDefinition30_50.java | 8 +- .../HealthcareService30_50.java | 8 +- .../resources30_50/ImagingStudy30_50.java | 4 +- .../resources30_50/Immunization30_50.java | 5 +- .../ImplementationGuide30_50.java | 11 +- .../resources30_50/Library30_50.java | 13 +- .../resources30_50/Location30_50.java | 6 +- .../resources30_50/Measure30_50.java | 13 +- .../MedicationAdministration30_50.java | 4 +- .../MedicationRequest30_50.java | 7 +- .../MessageDefinition30_50.java | 8 +- .../resources30_50/MessageHeader30_50.java | 1 - .../OperationDefinition30_50.java | 8 +- .../resources30_50/Organization30_50.java | 18 +- .../resources30_50/Patient30_50.java | 8 +- .../conv30_50/resources30_50/Person30_50.java | 6 +- .../resources30_50/PlanDefinition30_50.java | 21 +- .../resources30_50/Practitioner30_50.java | 8 +- .../resources30_50/PractitionerRole30_50.java | 289 +++++++------ .../resources30_50/Questionnaire30_50.java | 8 +- .../resources30_50/RelatedPerson30_50.java | 12 +- .../resources30_50/SearchParameter30_50.java | 19 +- .../StructureDefinition30_50.java | 7 +- .../resources30_50/StructureMap30_50.java | 13 +- .../resources30_50/SupplyDelivery30_50.java | 4 +- .../resources30_50/TestReport30_50.java | 7 +- .../resources30_50/TestScript30_50.java | 8 +- .../resources30_50/ValueSet30_50.java | 9 +- .../conv40_50/VersionConvertor_40_50.java | 4 +- .../datatypes40_50/Element40_50.java | 4 +- .../conv40_50/datatypes40_50/Type40_50.java | 65 ++- .../general40_50/Attachment40_50.java | 7 +- .../general40_50/CodeableConcept40_50.java | 6 + .../general40_50/Coding40_50.java | 43 ++ .../general40_50/Timing40_50.java | 10 +- .../primitive40_50/Date40_50.java | 3 - .../primitive40_50/String40_50.java | 1 - .../special40_50/ElementDefinition40_50.java | 14 +- .../special40_50/Reference40_50.java | 26 ++ .../resources40_50/Account40_50.java | 8 +- .../ActivityDefinition40_50.java | 68 ++-- .../AllergyIntolerance40_50.java | 7 +- .../resources40_50/AuditEvent40_50.java | 6 +- .../BiologicallyDerivedProduct40_50.java | 5 - .../conv40_50/resources40_50/Bundle40_50.java | 6 +- .../CapabilityStatement40_50.java | 14 +- .../resources40_50/CarePlan40_50.java | 12 +- .../resources40_50/CareTeam40_50.java | 6 +- .../resources40_50/ChargeItem40_50.java | 41 +- .../ChargeItemDefinition40_50.java | 221 +++++----- .../conv40_50/resources40_50/Claim40_50.java | 37 +- .../resources40_50/ClaimResponse40_50.java | 24 +- .../resources40_50/CodeSystem40_50.java | 13 +- .../CompartmentDefinition40_50.java | 7 +- .../resources40_50/Composition40_50.java | 20 +- .../resources40_50/ConceptMap40_50.java | 9 +- .../resources40_50/Condition40_50.java | 2 - .../resources40_50/Consent40_50.java | 34 +- .../resources40_50/Contract40_50.java | 17 +- .../resources40_50/Coverage40_50.java | 12 +- .../CoverageEligibilityRequest40_50.java | 4 +- .../conv40_50/resources40_50/Device40_50.java | 20 +- .../resources40_50/DeviceDefinition40_50.java | 6 +- .../DocumentReference40_50.java | 5 +- .../resources40_50/Encounter40_50.java | 6 +- .../resources40_50/Endpoint40_50.java | 14 +- .../resources40_50/Enumerations40_50.java | 12 - .../resources40_50/EpisodeOfCare40_50.java | 8 +- .../resources40_50/EventDefinition40_50.java | 7 +- .../resources40_50/ExampleScenario40_50.java | 98 ++--- .../ExplanationOfBenefit40_50.java | 49 ++- .../FamilyMemberHistory40_50.java | 6 +- .../resources40_50/GraphDefinition40_50.java | 9 +- .../HealthcareService40_50.java | 8 +- .../resources40_50/ImagingStudy40_50.java | 1 - .../resources40_50/Immunization40_50.java | 87 ++-- .../ImplementationGuide40_50.java | 20 +- .../resources40_50/InsurancePlan40_50.java | 13 +- .../resources40_50/Invoice40_50.java | 207 +++++----- .../resources40_50/Library40_50.java | 13 +- .../resources40_50/Location40_50.java | 10 +- .../resources40_50/Measure40_50.java | 15 +- .../resources40_50/MeasureReport40_50.java | 9 +- .../MedicationAdministration40_50.java | 5 +- .../MedicationKnowledge40_50.java | 7 +- .../MedicationRequest40_50.java | 27 +- .../MessageDefinition40_50.java | 13 +- .../resources40_50/MessageHeader40_50.java | 1 - .../resources40_50/NutritionOrder40_50.java | 53 +-- .../resources40_50/Observation40_50.java | 6 +- .../ObservationDefinition40_50.java | 4 +- .../OperationDefinition40_50.java | 13 +- .../resources40_50/Organization40_50.java | 18 +- .../OrganizationAffiliation40_50.java | 7 +- .../resources40_50/Patient40_50.java | 8 +- .../conv40_50/resources40_50/Person40_50.java | 6 +- .../resources40_50/PlanDefinition40_50.java | 16 +- .../resources40_50/Practitioner40_50.java | 8 +- .../resources40_50/PractitionerRole40_50.java | 285 +++++++------ .../resources40_50/Questionnaire40_50.java | 14 +- .../resources40_50/RelatedPerson40_50.java | 8 +- .../resources40_50/SearchParameter40_50.java | 23 +- .../resources40_50/ServiceRequest40_50.java | 10 +- .../resources40_50/Specimen40_50.java | 6 +- .../SpecimenDefinition40_50.java | 10 +- .../StructureDefinition40_50.java | 8 +- .../resources40_50/StructureMap40_50.java | 20 +- .../resources40_50/SupplyDelivery40_50.java | 4 +- .../conv40_50/resources40_50/Task40_50.java | 39 +- .../TerminologyCapabilities40_50.java | 9 +- .../resources40_50/TestReport40_50.java | 7 +- .../resources40_50/TestScript40_50.java | 11 +- .../resources40_50/ValueSet40_50.java | 10 +- .../conv43_50/VersionConvertor_43_50.java | 4 +- .../datatypes43_50/Element43_50.java | 4 +- .../conv43_50/datatypes43_50/Type43_50.java | 65 ++- .../general43_50/Attachment43_50.java | 7 +- .../general43_50/CodeableConcept43_50.java | 4 + .../general43_50/Coding43_50.java | 44 ++ .../general43_50/Timing43_50.java | 10 +- .../primitive43_50/Date43_50.java | 3 - .../primitive43_50/String43_50.java | 1 - .../special43_50/ElementDefinition43_50.java | 14 +- .../special43_50/Reference43_50.java | 26 ++ .../resources43_50/Account43_50.java | 8 +- .../ActivityDefinition43_50.java | 68 ++-- .../AllergyIntolerance43_50.java | 7 +- .../resources43_50/AuditEvent43_50.java | 6 +- .../BiologicallyDerivedProduct43_50.java | 5 - .../conv43_50/resources43_50/Bundle43_50.java | 6 +- .../CapabilityStatement43_50.java | 14 +- .../resources43_50/CarePlan43_50.java | 12 +- .../resources43_50/CareTeam43_50.java | 6 +- .../resources43_50/ChargeItem43_50.java | 43 +- .../ChargeItemDefinition43_50.java | 221 +++++----- .../conv43_50/resources43_50/Claim43_50.java | 35 +- .../resources43_50/ClaimResponse43_50.java | 24 +- .../resources43_50/CodeSystem43_50.java | 13 +- .../CompartmentDefinition43_50.java | 7 +- .../resources43_50/Composition43_50.java | 2 - .../resources43_50/ConceptMap43_50.java | 9 +- .../resources43_50/Condition43_50.java | 2 - .../resources43_50/Consent43_50.java | 34 +- .../resources43_50/Contract43_50.java | 17 +- .../resources43_50/Coverage43_50.java | 12 +- .../CoverageEligibilityRequest43_50.java | 4 +- .../conv43_50/resources43_50/Device43_50.java | 20 +- .../resources43_50/DeviceDefinition43_50.java | 6 +- .../DocumentReference43_50.java | 5 +- .../resources43_50/Encounter43_50.java | 6 +- .../resources43_50/Endpoint43_50.java | 14 +- .../resources43_50/Enumerations43_50.java | 12 - .../resources43_50/EpisodeOfCare43_50.java | 8 +- .../resources43_50/EventDefinition43_50.java | 7 +- .../resources43_50/ExampleScenario43_50.java | 97 ++--- .../ExplanationOfBenefit43_50.java | 47 ++- .../FamilyMemberHistory43_50.java | 6 +- .../resources43_50/GraphDefinition43_50.java | 9 +- .../HealthcareService43_50.java | 8 +- .../resources43_50/Immunization43_50.java | 87 ++-- .../ImplementationGuide43_50.java | 20 +- .../resources43_50/InsurancePlan43_50.java | 13 +- .../resources43_50/Invoice43_50.java | 203 +++++----- .../resources43_50/Library43_50.java | 13 +- .../resources43_50/Location43_50.java | 10 +- .../resources43_50/Measure43_50.java | 15 +- .../resources43_50/MeasureReport43_50.java | 9 +- .../MedicationAdministration43_50.java | 5 +- .../MedicationKnowledge43_50.java | 7 +- .../MedicationRequest43_50.java | 27 +- .../MessageDefinition43_50.java | 13 +- .../resources43_50/MessageHeader43_50.java | 1 - .../resources43_50/NutritionOrder43_50.java | 56 +-- .../resources43_50/Observation43_50.java | 6 +- .../ObservationDefinition43_50.java | 4 +- .../OperationDefinition43_50.java | 13 +- .../resources43_50/Organization43_50.java | 18 +- .../OrganizationAffiliation43_50.java | 7 +- .../resources43_50/Patient43_50.java | 8 +- .../conv43_50/resources43_50/Person43_50.java | 6 +- .../resources43_50/PlanDefinition43_50.java | 16 +- .../resources43_50/Practitioner43_50.java | 8 +- .../resources43_50/PractitionerRole43_50.java | 285 +++++++------ .../resources43_50/Questionnaire43_50.java | 14 +- .../resources43_50/RelatedPerson43_50.java | 8 +- .../resources43_50/SearchParameter43_50.java | 23 +- .../resources43_50/ServiceRequest43_50.java | 10 +- .../resources43_50/Specimen43_50.java | 6 +- .../SpecimenDefinition43_50.java | 10 +- .../StructureDefinition43_50.java | 8 +- .../resources43_50/StructureMap43_50.java | 20 +- .../resources43_50/SupplyDelivery43_50.java | 4 +- .../conv43_50/resources43_50/Task43_50.java | 39 +- .../TerminologyCapabilities43_50.java | 9 +- .../resources43_50/TestReport43_50.java | 7 +- .../resources43_50/TestScript43_50.java | 11 +- .../resources43_50/ValueSet43_50.java | 10 +- .../convertors/loaders/XVersionLoader.java | 6 +- .../loaders/loaderR3/BaseLoaderR3.java | 9 +- .../loaders/loaderR3/R2ToR3Loader.java | 12 +- .../loaders/loaderR4/BaseLoaderR4.java | 9 +- .../loaders/loaderR4/R2016MayToR4Loader.java | 18 +- .../loaders/loaderR4/R2ToR4Loader.java | 12 +- .../loaders/loaderR4/R3ToR4Loader.java | 20 +- .../loaders/loaderR5/BaseLoaderR5.java | 12 +- .../loaderR5/ILoaderKnowledgeProviderR5.java | 5 +- .../loaders/loaderR5/R2016MayToR5Loader.java | 20 +- .../loaders/loaderR5/R2ToR5Loader.java | 20 +- .../loaders/loaderR5/R3ToR5Loader.java | 20 +- .../loaders/loaderR5/R4BToR5Loader.java | 20 +- .../loaders/loaderR5/R4ToR5Loader.java | 20 +- .../loaders/loaderR5/R5ToR5Loader.java | 21 +- .../fhir/convertors/misc/CDAUtilities.java | 13 +- .../hl7/fhir/convertors/misc/CKMImporter.java | 21 +- .../org/hl7/fhir/convertors/misc/Convert.java | 30 +- .../convertors/misc/CorePackageTools.java | 13 +- .../misc/CountryCodesConverter.java | 13 +- .../convertors/misc/DicomPackageBuilder.java | 2 +- .../misc/ExamplesPackageBuilder.java | 13 - .../misc/GenValueSetExpansionConvertor.java | 8 +- .../fhir/convertors/misc/ICD11Generator.java | 27 +- .../fhir/convertors/misc/ICPC2Importer.java | 25 +- .../convertors/misc/IEEE11073Convertor.java | 27 +- .../convertors/misc/IGPackConverter102.java | 15 +- .../convertors/misc/IGPackConverter140.java | 8 +- .../convertors/misc/IGR2ConvertorAdvisor.java | 3 +- .../misc/IGR2ConvertorAdvisor5.java | 3 +- .../fhir/convertors/misc/NUCCConvertor.java | 8 +- .../misc/NpmPackageVersionConverter.java | 43 +- .../misc/OIDBasedValueSetImporter.java | 4 +- .../misc/ObservationStatsBuilder.java | 21 +- .../hl7/fhir/convertors/misc/PR2Handler.java | 4 +- .../convertors/misc/PackageMaintainer.java | 17 +- .../fhir/convertors/misc/PackagePreparer.java | 8 +- .../convertors/misc/PhinVadsImporter.java | 16 +- .../org/hl7/fhir/convertors/misc/Test.java | 6 +- .../fhir/convertors/misc/VSACImporter.java | 16 +- .../convertors/misc/XMLPackageConvertor.java | 9 +- .../convertors/misc/XVerPackegeFixer.java | 2 - .../fhir/convertors/misc/adl/ADLImporter.java | 19 +- .../convertors/misc/adl/NodeTreeEntry.java | 4 +- .../misc/argonaut/ArgonautConverter.java | 57 ++- .../convertors/misc/argonaut/Context.java | 3 +- .../convertors/misc/ccda/CCDAConverter.java | 46 ++- .../convertors/misc/iso21090/DataType.java | 4 +- .../misc/iso21090/EnumValueSet.java | 4 +- .../misc/iso21090/ISO21090Importer.java | 20 +- .../searchparam/SearchParameterProcessor.java | 16 +- .../misc/utg/UTGCaseSensitivePopulator.java | 3 - .../convertors/misc/utg/UTGVersionSorter.java | 47 ++- .../txClient/TerminologyClientFactory.java | 4 +- .../txClient/TerminologyClientR2.java | 16 +- .../txClient/TerminologyClientR3.java | 15 +- .../txClient/TerminologyClientR4.java | 15 +- .../txClient/TerminologyClientR5.java | 19 +- .../core/generator/analysis/Analyser.java | 4 +- .../org/hl7/fhir/r5/formats/JsonParser.java | 51 ++- .../org/hl7/fhir/r5/formats/RdfParser.java | 6 +- .../org/hl7/fhir/r5/formats/XmlParser.java | 13 +- .../org/hl7/fhir/r5/model/Enumerations.java | 378 +++++++++--------- .../org/hl7/fhir/r5/model/Requirements.java | 100 +++-- .../hl7/fhir/r5/model/SearchParameter.java | 44 +- .../r5/renderers/ProfileDrivenRenderer.java | 17 +- .../r5/renderers/SearchParameterRenderer.java | 2 +- .../org/hl7/fhir/r5/utils/GraphQLEngine.java | 5 +- .../fhir/r5/utils/QuestionnaireBuilder.java | 2 +- .../r5/test/NarrativeGenerationTests.java | 2 +- .../org/hl7/fhir/r5/test/ParsingTests.java | 3 +- .../instance/InstanceValidator.java | 7 +- 504 files changed, 5505 insertions(+), 3111 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java index 73fc1f5de..0e79da9bf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java @@ -1,5 +1,49 @@ package org.hl7.fhir.convertors; +import java.io.IOException; +import java.io.InputStream; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.GregorianCalendar; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.Set; +import java.util.TimeZone; + +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_40; +import org.hl7.fhir.convertors.loaders.loaderR4.R2016MayToR4Loader; +import org.hl7.fhir.convertors.loaders.loaderR4.R2ToR4Loader; +import org.hl7.fhir.convertors.loaders.loaderR4.R3ToR4Loader; +import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r4.conformance.ProfileUtilities; +import org.hl7.fhir.r4.context.BaseWorkerContext; +import org.hl7.fhir.r4.context.SimpleWorkerContext; +import org.hl7.fhir.r4.formats.JsonParser; +import org.hl7.fhir.r4.model.ElementDefinition; +import org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r4.model.Enumerations.FHIRVersion; +import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; +import org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicense; +import org.hl7.fhir.r4.model.Resource; +import org.hl7.fhir.r4.model.StructureDefinition; +import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; +import org.hl7.fhir.r4.model.StructureDefinition.TypeDerivationRule; +import org.hl7.fhir.r4.model.UriType; +import org.hl7.fhir.r4.utils.NPMPackageGenerator; +import org.hl7.fhir.r4.utils.NPMPackageGenerator.Category; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; +import org.hl7.fhir.utilities.npm.NpmPackage; +import org.hl7.fhir.utilities.npm.PackageGenerator.PackageType; +import org.hl7.fhir.utilities.npm.ToolsVersion; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -32,42 +76,6 @@ package org.hl7.fhir.convertors; import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_40; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_40; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_40; -import org.hl7.fhir.convertors.loaders.loaderR4.R2016MayToR4Loader; -import org.hl7.fhir.convertors.loaders.loaderR4.R2ToR4Loader; -import org.hl7.fhir.convertors.loaders.loaderR4.R3ToR4Loader; -import org.hl7.fhir.convertors.misc.IGR2ConvertorAdvisor; -import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4.conformance.ProfileUtilities; -import org.hl7.fhir.r4.context.BaseWorkerContext; -import org.hl7.fhir.r4.context.SimpleWorkerContext; -import org.hl7.fhir.r4.formats.JsonParser; -import org.hl7.fhir.r4.model.ElementDefinition; -import org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent; -import org.hl7.fhir.r4.model.Enumerations.FHIRVersion; -import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; -import org.hl7.fhir.r4.model.ImplementationGuide.SPDXLicense; -import org.hl7.fhir.r4.model.Resource; -import org.hl7.fhir.r4.model.StructureDefinition; -import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; -import org.hl7.fhir.r4.model.StructureDefinition.TypeDerivationRule; -import org.hl7.fhir.r4.model.UriType; -import org.hl7.fhir.r4.utils.NPMPackageGenerator; -import org.hl7.fhir.r4.utils.NPMPackageGenerator.Category; -import org.hl7.fhir.utilities.Utilities; -import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; -import org.hl7.fhir.utilities.npm.NpmPackage; -import org.hl7.fhir.utilities.npm.PackageGenerator.PackageType; -import org.hl7.fhir.utilities.npm.ToolsVersion; - -import java.io.IOException; -import java.io.InputStream; -import java.text.SimpleDateFormat; -import java.util.*; public class ExtensionDefinitionGenerator { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/R2R3ConversionManager.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/R2R3ConversionManager.java index f4d51e3ed..01da45d4b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/R2R3ConversionManager.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/R2R3ConversionManager.java @@ -1,5 +1,21 @@ package org.hl7.fhir.convertors; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -36,18 +52,22 @@ import org.hl7.fhir.dstu3.elementmodel.Manager.FhirFormat; import org.hl7.fhir.dstu3.formats.FormatUtilities; import org.hl7.fhir.dstu3.formats.IParser.OutputStyle; import org.hl7.fhir.dstu3.formats.JsonParser; -import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.dstu3.model.Base; +import org.hl7.fhir.dstu3.model.Coding; +import org.hl7.fhir.dstu3.model.ExpansionProfile; +import org.hl7.fhir.dstu3.model.MetadataResource; +import org.hl7.fhir.dstu3.model.PractitionerRole; +import org.hl7.fhir.dstu3.model.Resource; +import org.hl7.fhir.dstu3.model.ResourceFactory; +import org.hl7.fhir.dstu3.model.StructureDefinition; import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind; +import org.hl7.fhir.dstu3.model.StructureMap; +import org.hl7.fhir.dstu3.model.UriType; import org.hl7.fhir.dstu3.utils.StructureMapUtilities; import org.hl7.fhir.dstu3.utils.StructureMapUtilities.ITransformerServices; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.TextFile; -import java.io.*; -import java.util.*; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - /** * This class manages conversion from R2 to R3 and vice versa *

diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecDifferenceEvaluator.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecDifferenceEvaluator.java index 11f53c074..d3a967c67 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecDifferenceEvaluator.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecDifferenceEvaluator.java @@ -1,5 +1,53 @@ package org.hl7.fhir.convertors; +import java.io.ByteArrayOutputStream; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import org.hl7.fhir.convertors.conv40_50.resources40_50.StructureDefinition40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.ValueSet40_50; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.r5.elementmodel.Manager.FhirFormat; +import org.hl7.fhir.r5.formats.IParser.OutputStyle; +import org.hl7.fhir.r5.formats.JsonParser; +import org.hl7.fhir.r5.formats.XmlParser; +import org.hl7.fhir.r5.model.Base; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.ElementDefinition; +import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent; +import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.Enumerations.BindingStrength; +import org.hl7.fhir.r5.model.PrimitiveType; +import org.hl7.fhir.r5.model.Resource; +import org.hl7.fhir.r5.model.StructureDefinition; +import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; +import org.hl7.fhir.r5.model.UriType; +import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; +import org.hl7.fhir.r5.utils.ToolingExtensions; +import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; +import org.hl7.fhir.utilities.IniFile; +import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.VersionUtilities; +import org.hl7.fhir.utilities.ZipGenerator; +import org.hl7.fhir.utilities.xhtml.NodeType; +import org.hl7.fhir.utilities.xhtml.XhtmlComposer; +import org.hl7.fhir.utilities.xhtml.XhtmlNode; +import org.w3c.dom.Document; +import org.w3c.dom.Element; +import org.w3c.dom.Node; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -33,34 +81,6 @@ package org.hl7.fhir.convertors; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.JsonPrimitive; -import org.hl7.fhir.convertors.conv40_50.resources40_50.StructureDefinition40_50; -import org.hl7.fhir.convertors.conv40_50.resources40_50.ValueSet40_50; -import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.exceptions.FHIRFormatError; -import org.hl7.fhir.r5.elementmodel.Manager.FhirFormat; -import org.hl7.fhir.r5.formats.IParser.OutputStyle; -import org.hl7.fhir.r5.formats.JsonParser; -import org.hl7.fhir.r5.formats.XmlParser; -import org.hl7.fhir.r5.model.*; -import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; -import org.hl7.fhir.r5.model.ElementDefinition.ElementDefinitionBindingComponent; -import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; -import org.hl7.fhir.r5.model.Enumerations.BindingStrength; -import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; -import org.hl7.fhir.r5.model.ValueSet.ValueSetExpansionContainsComponent; -import org.hl7.fhir.r5.utils.ToolingExtensions; -import org.hl7.fhir.utilities.*; -import org.hl7.fhir.utilities.xhtml.NodeType; -import org.hl7.fhir.utilities.xhtml.XhtmlComposer; -import org.hl7.fhir.utilities.xhtml.XhtmlNode; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.Node; - -import java.io.ByteArrayOutputStream; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.*; public class SpecDifferenceEvaluator { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java index 7388e5fe1..d44099128 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/SpecPackage.java @@ -1,13 +1,14 @@ package org.hl7.fhir.convertors; +import java.util.HashMap; +import java.util.Map; + +import org.hl7.fhir.r5.model.StructureDefinition; +import org.hl7.fhir.r5.model.ValueSet; + import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import org.hl7.fhir.r5.model.StructureDefinition; -import org.hl7.fhir.r5.model.ValueSet; - -import java.util.HashMap; -import java.util.Map; @AllArgsConstructor @NoArgsConstructor diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java index b89cd3be1..d59e4a965 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/TransformContextR2R3.java @@ -1,8 +1,9 @@ package org.hl7.fhir.convertors; +import org.hl7.fhir.dstu3.context.SimpleWorkerContext; + import lombok.AllArgsConstructor; import lombok.Data; -import org.hl7.fhir.dstu3.context.SimpleWorkerContext; @AllArgsConstructor @Data diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/VersionConversionService.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/VersionConversionService.java index c33294bb6..5f4eeb4ec 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/VersionConversionService.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/VersionConversionService.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors; +import java.io.IOException; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -28,16 +30,16 @@ package org.hl7.fhir.convertors; POSSIBILITY OF SUCH DAMAGE. */ - - -import org.hl7.fhir.convertors.factory.*; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_30; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_30; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.elementmodel.Manager.FhirFormat; import org.hl7.fhir.r4.formats.IParser.OutputStyle; import org.hl7.fhir.r4.model.FhirPublication; -import java.io.IOException; - public class VersionConversionService { /** * use the package manager to load relevant conversion packages, and then initialise internally as required diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java index 72187c205..178a9cda3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_30.java @@ -1,12 +1,13 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor30; - -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor30; + public class BaseAdvisor_10_30 extends BaseAdvisor30 { private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java index 0d444e7ef..d2121a7a0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_40.java @@ -1,15 +1,16 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; -import org.hl7.fhir.r4.model.Expression; -import org.hl7.fhir.r4.model.Type; - -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; +import org.hl7.fhir.r4.model.Expression; +import org.hl7.fhir.r4.model.Type; + public class BaseAdvisor_10_40 extends BaseAdvisor40 { final List conformanceIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown"); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java index c25478f3d..54be39982 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_10_50.java @@ -1,15 +1,16 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; -import org.hl7.fhir.r5.model.DataType; -import org.hl7.fhir.r5.model.Expression; - -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.Expression; + public class BaseAdvisor_10_50 extends BaseAdvisor50 { final List conformanceIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown"); private final List> ignoredExtensionTypes = new ArrayList<>(Collections.singletonList(Expression.class)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java index 076f3ec28..d4a399054 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_30.java @@ -1,12 +1,13 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor30; - -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor30; + public class BaseAdvisor_14_30 extends BaseAdvisor30 { private final List ignoredUrls = new ArrayList<>(Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown")); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java index 1547f20fb..ab99fb8df 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_40.java @@ -1,15 +1,16 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; -import org.hl7.fhir.r4.model.Expression; -import org.hl7.fhir.r4.model.Type; - -import javax.annotation.Nonnull; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; +import org.hl7.fhir.r4.model.Expression; +import org.hl7.fhir.r4.model.Type; + public class BaseAdvisor_14_40 extends BaseAdvisor40 { final List conformanceIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown"); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java index ac1c8f540..f001512ad 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_14_50.java @@ -1,13 +1,14 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; -import org.hl7.fhir.exceptions.FHIRException; - -import javax.annotation.Nonnull; import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.exceptions.FHIRException; + public class BaseAdvisor_14_50 extends BaseAdvisor50 { final List capabilityStatementIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown"); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java index 82e7d7a17..1dadc1d5a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_40.java @@ -1,13 +1,14 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; -import org.hl7.fhir.exceptions.FHIRException; - -import javax.annotation.Nonnull; import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor40; +import org.hl7.fhir.exceptions.FHIRException; + public class BaseAdvisor_30_40 extends BaseAdvisor40 { final List capabilityStatementIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown"); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java index 88f6ee0a9..90c424e1a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_30_50.java @@ -1,13 +1,14 @@ package org.hl7.fhir.convertors.advisors.impl; -import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; -import org.hl7.fhir.exceptions.FHIRException; - -import javax.annotation.Nonnull; import java.util.Arrays; import java.util.Collections; import java.util.List; +import javax.annotation.Nonnull; + +import org.hl7.fhir.convertors.advisors.interfaces.BaseAdvisor50; +import org.hl7.fhir.exceptions.FHIRException; + public class BaseAdvisor_30_50 extends BaseAdvisor50 { final List valueSetIgnoredUrls = Collections.singletonList("http://hl7.org/fhir/StructureDefinition/valueset-extensible"); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java index 3214af867..8e752abf5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor30.java @@ -1,14 +1,19 @@ package org.hl7.fhir.convertors.advisors.interfaces; -import org.hl7.fhir.dstu3.model.*; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + +import org.hl7.fhir.dstu3.model.Bundle; +import org.hl7.fhir.dstu3.model.CodeSystem; +import org.hl7.fhir.dstu3.model.Extension; +import org.hl7.fhir.dstu3.model.Type; +import org.hl7.fhir.dstu3.model.ValueSet; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.instance.model.api.IBaseExtension; import org.hl7.fhir.utilities.FhirPublication; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - public abstract class BaseAdvisor30 extends BaseAdvisor { private final List cslist = new ArrayList<>(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java index c86761462..702d3c590 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor40.java @@ -1,12 +1,17 @@ package org.hl7.fhir.convertors.advisors.interfaces; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.instance.model.api.IBaseExtension; -import org.hl7.fhir.r4.model.*; - -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; +import org.hl7.fhir.r4.model.Bundle; +import org.hl7.fhir.r4.model.CodeSystem; +import org.hl7.fhir.r4.model.Extension; +import org.hl7.fhir.r4.model.Type; +import org.hl7.fhir.r4.model.ValueSet; public abstract class BaseAdvisor40 extends BaseAdvisor { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor43.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor43.java index 30f0f1836..45ca19c2e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor43.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor43.java @@ -1,12 +1,17 @@ package org.hl7.fhir.convertors.advisors.interfaces; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.instance.model.api.IBaseExtension; -import org.hl7.fhir.r4b.model.*; - -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; +import org.hl7.fhir.r4b.model.Bundle; +import org.hl7.fhir.r4b.model.CodeSystem; +import org.hl7.fhir.r4b.model.DataType; +import org.hl7.fhir.r4b.model.Extension; +import org.hl7.fhir.r4b.model.ValueSet; public abstract class BaseAdvisor43 extends BaseAdvisor { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java index f6073677b..4c6686fa5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/interfaces/BaseAdvisor50.java @@ -1,14 +1,19 @@ package org.hl7.fhir.convertors.advisors.interfaces; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.instance.model.api.IBaseExtension; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.Extension; +import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.utilities.FhirPublication; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - public abstract class BaseAdvisor50 extends BaseAdvisor { private final List cslist = new ArrayList<>(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java index 38ce67160..8cb1407e2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java @@ -10,10 +10,10 @@ import javax.xml.parsers.ParserConfigurationException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.SimpleHTTPClient; -import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.SimpleHTTPClient.HTTPResult; -import org.hl7.fhir.utilities.json.JsonUtilities; +import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.json.JsonTrackingParser; +import org.hl7.fhir.utilities.json.JsonUtilities; import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; import org.hl7.fhir.utilities.npm.NpmPackage; import org.hl7.fhir.utilities.npm.PackageClient; @@ -24,7 +24,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -import com.google.gson.JsonArray; import com.google.gson.JsonObject; public class PackageVisitor { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java index 53d44ac93..c01fa50ba 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java @@ -12,10 +12,8 @@ import java.util.Set; import javax.xml.parsers.ParserConfigurationException; import org.hl7.fhir.convertors.analytics.PackageVisitor.IPackageVisitorProcessor; -import org.hl7.fhir.dstu2.model.SearchParameter; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; -import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.VersionUtilities; import org.xml.sax.SAXException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/context/VersionConvertorContext.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/context/VersionConvertorContext.java index cebce2653..642511e7b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/context/VersionConvertorContext.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/context/VersionConvertorContext.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.context; +import java.util.ArrayList; +import java.util.Stack; + import org.hl7.fhir.exceptions.FHIRException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; -import java.util.Stack; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/VersionConvertor_10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/VersionConvertor_10_30.java index 2ccac7ce0..44ad9714a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/VersionConvertor_10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/VersionConvertor_10_30.java @@ -1,17 +1,16 @@ package org.hl7.fhir.convertors.conv10_30; +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.BackboneElement10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Element10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Type10_30; import org.hl7.fhir.convertors.conv10_30.resources10_30.Resource10_30; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.BackboneElement10_40; import org.hl7.fhir.dstu2.model.CodeableConcept; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/BackboneElement10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/BackboneElement10_30.java index 82346156a..80298ad18 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/BackboneElement10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/BackboneElement10_30.java @@ -1,8 +1,6 @@ package org.hl7.fhir.convertors.conv10_30.datatypes10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; -import org.hl7.fhir.convertors.context.ConversionContext10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Extension10_40; import org.hl7.fhir.exceptions.FHIRException; public class BackboneElement10_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Element10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Element10_30.java index 1a3aee2ec..2d11cdde9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Element10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Element10_30.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv10_30.datatypes10_30; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element10_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/ElementDefinition10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/ElementDefinition10_30.java index 87c6e9524..12df637b7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/ElementDefinition10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/ElementDefinition10_30.java @@ -1,16 +1,21 @@ package org.hl7.fhir.convertors.conv10_30.datatypes10_30; +import java.util.List; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Integer10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.MarkDown10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.dstu3.conformance.ProfileUtilities; import org.hl7.fhir.dstu3.model.ElementDefinition; import org.hl7.fhir.exceptions.FHIRException; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition10_30 { public static org.hl7.fhir.dstu3.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu2.model.ElementDefinition src, List slicePaths) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Type10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Type10_30.java index 204be9f44..9b6b69a54 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Type10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/Type10_30.java @@ -1,12 +1,48 @@ package org.hl7.fhir.convertors.conv10_30.datatypes10_30; -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; -import org.hl7.fhir.exceptions.FHIRException; - import java.util.ArrayList; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Address10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Age10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Annotation10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Count10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Distance10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Duration10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.HumanName10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Money10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Quantity10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Range10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Ratio10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SampledData10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Signature10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Timing10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Base64Binary10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Decimal10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Instant10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Integer10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.MarkDown10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Oid10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.PositiveInt10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Time10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.UnsignedInt10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uuid10_30; +import org.hl7.fhir.exceptions.FHIRException; + public class Type10_30 { private final BaseAdvisor_10_30 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Attachment10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Attachment10_30.java index aec7a4ee4..5811c4f20 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Attachment10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Attachment10_30.java @@ -1,7 +1,12 @@ package org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Base64Binary10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.UnsignedInt10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.exceptions.FHIRException; public class Attachment10_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Timing10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Timing10_30.java index f3941902b..ca047237c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Timing10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/datatypes10_30/complextypes10_30/Timing10_30.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Decimal10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Integer10_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Timing10_30 { public static org.hl7.fhir.dstu3.model.Timing convertTiming(org.hl7.fhir.dstu2.model.Timing src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/AllergyIntolerance10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/AllergyIntolerance10_30.java index df64fa93a..de9be44c7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/AllergyIntolerance10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/AllergyIntolerance10_30.java @@ -1,7 +1,6 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Extension10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Annotation10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Bundle10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Bundle10_30.java index bc42bf0ed..56dafebf6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Bundle10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Bundle10_30.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Signature10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Decimal10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Instant10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.UnsignedInt10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.FhirPublication; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/CarePlan10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/CarePlan10_30.java index 51a34c79c..68e2ed269 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/CarePlan10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/CarePlan10_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Annotation10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Composition10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Composition10_30.java index ba64bfafe..53a998aa3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Composition10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Composition10_30.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Narrative10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; @@ -10,8 +12,6 @@ import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class Composition10_30 { public static org.hl7.fhir.dstu3.model.Composition convertComposition(org.hl7.fhir.dstu2.model.Composition src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ConceptMap10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ConceptMap10_30.java index bd6752b1d..79f99dd3f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ConceptMap10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ConceptMap10_30.java @@ -1,19 +1,23 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.SourceElementComponentWrapper; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.dstu3.model.ConceptMap; import org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent; import org.hl7.fhir.exceptions.FHIRException; -import java.util.ArrayList; -import java.util.List; - public class ConceptMap10_30 { public static org.hl7.fhir.dstu2.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu3.model.ConceptMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Conformance10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Conformance10_30.java index 0d6e8c3ee..e7c1301c7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Conformance10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Conformance10_30.java @@ -5,7 +5,14 @@ import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Base64Binary10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.UnsignedInt10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.dstu3.model.CapabilityStatement.SystemRestfulInteraction; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Contract10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Contract10_30.java index c9af6b489..c4b07c6b9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Contract10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Contract10_30.java @@ -3,7 +3,12 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.apache.commons.codec.binary.Base64; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Money10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Decimal10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DataElement10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DataElement10_30.java index 91c1afcd2..479b3dec5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DataElement10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DataElement10_30.java @@ -1,17 +1,21 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.ElementDefinition10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.ArrayList; -import java.util.List; - public class DataElement10_30 { public static org.hl7.fhir.dstu2.model.DataElement convertDataElement(org.hl7.fhir.dstu3.model.DataElement src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DocumentReference10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DocumentReference10_30.java index acbf99939..39f3e0303 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DocumentReference10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/DocumentReference10_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Instant10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/HealthcareService10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/HealthcareService10_30.java index d3a43075a..06e0315e7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/HealthcareService10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/HealthcareService10_30.java @@ -1,15 +1,19 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Time10_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class HealthcareService10_30 { static public org.hl7.fhir.dstu2.model.Enumeration convertDaysOfWeek(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Immunization10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Immunization10_30.java index 94046093e..33325837d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Immunization10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Immunization10_30.java @@ -1,18 +1,22 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Annotation10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.PositiveInt10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.dstu3.model.Coding; import org.hl7.fhir.dstu3.model.Immunization.ImmunizationPractitionerComponent; import org.hl7.fhir.exceptions.FHIRException; -import java.util.List; - public class Immunization10_30 { public static org.hl7.fhir.dstu2.model.Immunization convertImmunization(org.hl7.fhir.dstu3.model.Immunization src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ImplementationGuide10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ImplementationGuide10_30.java index 85a245fb1..9f2e2f0d3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ImplementationGuide10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ImplementationGuide10_30.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.exceptions.FHIRException; public class ImplementationGuide10_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationDispense10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationDispense10_30.java index 466b5edfc..3bc4c2159 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationDispense10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationDispense10_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Ratio10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Timing10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.dstu3.model.Dosage; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationRequest10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationRequest10_30.java index de3e25bb0..783573907 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationRequest10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/MedicationRequest10_30.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Duration10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Ratio10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.SimpleQuantity10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Timing10_30; import org.hl7.fhir.dstu2.model.MedicationOrder; import org.hl7.fhir.dstu3.model.MedicationRequest; import org.hl7.fhir.dstu3.model.StringType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/OperationDefinition10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/OperationDefinition10_30.java index b83dc08e7..295836598 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/OperationDefinition10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/OperationDefinition10_30.java @@ -4,7 +4,12 @@ import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.ElementDefinition10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Integer10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.dstu3.model.Enumerations.SearchParamType; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Organization10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Organization10_30.java index 3961e5a6e..35bbff336 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Organization10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Organization10_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Address10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.HumanName10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Patient10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Patient10_30.java index bf43e0346..832e8cd76 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Patient10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Patient10_30.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Address10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.HumanName10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date10_30; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Person10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Person10_30.java index 0e16d9eb6..c2f7e22a9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Person10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Person10_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Address10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.HumanName10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date10_30; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Practitioner10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Practitioner10_30.java index ecc0df040..16e7cbdc6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Practitioner10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/Practitioner10_30.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Address10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.HumanName10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date10_30; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/RelatedPerson10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/RelatedPerson10_30.java index 9fa4a5ad6..5103512a2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/RelatedPerson10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/RelatedPerson10_30.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.Reference10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Address10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Attachment10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.CodeableConcept10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.HumanName10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Period10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Date10_30; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/SearchParameter10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/SearchParameter10_30.java index 0fa643d43..f43a2df19 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/SearchParameter10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/SearchParameter10_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/StructureDefinition10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/StructureDefinition10_30.java index b9cb8ec1c..9c528d015 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/StructureDefinition10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/StructureDefinition10_30.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.ElementDefinition10_30; @@ -7,15 +10,17 @@ import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Codeab import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.dstu3.model.StructureDefinition.TypeDerivationRule; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; -import java.util.ArrayList; -import java.util.List; - public class StructureDefinition10_30 { static public org.hl7.fhir.dstu3.model.Enumeration convertExtensionContext(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/TestScript10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/TestScript10_30.java index 1f2c45c9e..6fd5c5c7a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/TestScript10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/TestScript10_30.java @@ -7,7 +7,13 @@ import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Codeab import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Id10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Integer10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.exceptions.FHIRException; public class TestScript10_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ValueSet10_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ValueSet10_30.java index cd4bced59..937e14c91 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ValueSet10_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_30/resources10_30/ValueSet10_30.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv10_30.resources10_30; +import java.util.List; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_30; import org.hl7.fhir.convertors.context.ConversionContext10_30; import org.hl7.fhir.convertors.conv10_30.VersionConvertor_10_30; @@ -7,7 +9,12 @@ import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Codeab import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Coding10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.ContactPoint10_30; import org.hl7.fhir.convertors.conv10_30.datatypes10_30.complextypes10_30.Identifier10_30; -import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.*; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Boolean10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Code10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.DateTime10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Integer10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.String10_30; +import org.hl7.fhir.convertors.conv10_30.datatypes10_30.primitivetypes10_30.Uri10_30; import org.hl7.fhir.dstu2.model.ValueSet; import org.hl7.fhir.dstu3.model.CodeSystem; import org.hl7.fhir.dstu3.model.CodeSystem.CodeSystemContentMode; @@ -15,8 +22,6 @@ import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent; import org.hl7.fhir.dstu3.terminologies.CodeSystemUtilities; import org.hl7.fhir.exceptions.FHIRException; -import java.util.List; - public class ValueSet10_30 { public static org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent convertConceptReferenceComponent(org.hl7.fhir.dstu3.model.ValueSet.ConceptReferenceComponent src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/VersionConvertor_10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/VersionConvertor_10_40.java index c126cb137..b0d396cd7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/VersionConvertor_10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/VersionConvertor_10_40.java @@ -1,5 +1,10 @@ package org.hl7.fhir.convertors.conv10_40; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.BackboneElement10_40; @@ -9,10 +14,6 @@ import org.hl7.fhir.convertors.conv10_40.resources10_40.Resource10_40; import org.hl7.fhir.dstu2.model.CodeableConcept; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Element10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Element10_40.java index 5e958c105..6263e05e8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Element10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Element10_40.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv10_40.datatypes10_40; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element10_40 { public final BaseAdvisor_10_40 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/ElementDefinition10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/ElementDefinition10_40.java index 30d596dd9..a7c8be702 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/ElementDefinition10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/ElementDefinition10_40.java @@ -1,18 +1,23 @@ package org.hl7.fhir.convertors.conv10_40.datatypes10_40; +import java.util.List; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Id10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Integer10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.MarkDown10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.conformance.ProfileUtilities; import org.hl7.fhir.r4.model.ElementDefinition; import org.hl7.fhir.utilities.Utilities; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition10_40 { public static org.hl7.fhir.r4.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu2.model.ElementDefinition src, List slicePaths, List context, int pos) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Reference10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Reference10_40.java index d6583a29f..26fad559a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Reference10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Reference10_40.java @@ -1,13 +1,13 @@ package org.hl7.fhir.convertors.conv10_40.datatypes10_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Immunization; -import java.util.List; - public class Reference10_40 { public static org.hl7.fhir.r4.model.Reference convertReference(org.hl7.fhir.dstu2.model.Reference src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Type10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Type10_40.java index 3cb2df76a..c6d1c739c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Type10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/Type10_40.java @@ -1,8 +1,44 @@ package org.hl7.fhir.convertors.conv10_40.datatypes10_40; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Address10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Age10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Annotation10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Attachment10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Count10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Distance10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Duration10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.HumanName10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Money10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Quantity10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Range10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Ratio10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.SampledData10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Signature10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.SimpleQuantity10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Timing10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Base64Binary10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Date10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Decimal10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Id10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Instant10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Integer10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.MarkDown10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Oid10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.PositiveInt10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Time10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.UnsignedInt10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uuid10_40; import org.hl7.fhir.exceptions.FHIRException; public class Type10_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Attachment10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Attachment10_40.java index c49994dd4..b7cac158d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Attachment10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Attachment10_40.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Base64Binary10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.UnsignedInt10_40; import org.hl7.fhir.exceptions.FHIRException; public class Attachment10_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Timing10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Timing10_40.java index 67b56e502..e27e5346c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Timing10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/datatypes10_40/complextypes10_40/Timing10_40.java @@ -1,11 +1,11 @@ package org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Decimal10_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Timing10_40 { public static org.hl7.fhir.r4.model.Timing convertTiming(org.hl7.fhir.dstu2.model.Timing src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/AllergyIntolerance10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/AllergyIntolerance10_40.java index 48ca8e9b0..baa502e3d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/AllergyIntolerance10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/AllergyIntolerance10_40.java @@ -1,7 +1,6 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Extension10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Annotation10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Bundle10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Bundle10_40.java index 71868a21d..2db22f354 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Bundle10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Bundle10_40.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Signature10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Decimal10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Instant10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.UnsignedInt10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.FhirPublication; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/CarePlan10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/CarePlan10_40.java index f3e7823b6..fff63356a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/CarePlan10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/CarePlan10_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Annotation10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.SimpleQuantity10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Composition10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Composition10_40.java index cdd7d4783..ddf889063 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Composition10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Composition10_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Narrative10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; @@ -10,8 +12,6 @@ import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Date import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Composition10_40 { public static org.hl7.fhir.dstu2.model.Composition convertComposition(org.hl7.fhir.r4.model.Composition src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ConceptMap10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ConceptMap10_40.java index 8cb735acc..c676399a1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ConceptMap10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ConceptMap10_40.java @@ -1,20 +1,24 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.SourceElementComponentWrapper; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.VersionConvertor_10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CanonicalType; import org.hl7.fhir.r4.model.ConceptMap; import org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent; -import java.util.ArrayList; -import java.util.List; - public class ConceptMap10_40 { public static org.hl7.fhir.r4.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu2.model.ConceptMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Conformance10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Conformance10_40.java index f4545ed9f..424e9fa31 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Conformance10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Conformance10_40.java @@ -7,7 +7,13 @@ import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Canonical10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.UnsignedInt10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CapabilityStatement.CapabilityStatementRestComponent; import org.hl7.fhir.r4.model.CapabilityStatement.CapabilityStatementRestResourceComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DataElement10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DataElement10_40.java index 40b8db38c..8d1641932 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DataElement10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DataElement10_40.java @@ -1,19 +1,23 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.VersionConvertor_10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.ElementDefinition10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Id10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r4.model.StructureDefinition.TypeDerivationRule; -import java.util.ArrayList; -import java.util.List; - public class DataElement10_40 { public static org.hl7.fhir.r4.model.StructureDefinition convertDataElement(org.hl7.fhir.dstu2.model.DataElement src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DocumentReference10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DocumentReference10_40.java index 4d43903e9..c95d2637f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DocumentReference10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/DocumentReference10_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Attachment10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.dstu2.model.CodeableConcept; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/HealthcareService10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/HealthcareService10_40.java index b66ae8400..13eb481b6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/HealthcareService10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/HealthcareService10_40.java @@ -1,15 +1,19 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Attachment10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Time10_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class HealthcareService10_40 { static public org.hl7.fhir.r4.model.Enumeration convertDaysOfWeek(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ImplementationGuide10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ImplementationGuide10_40.java index c25d29d49..e86f7d785 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ImplementationGuide10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ImplementationGuide10_40.java @@ -1,19 +1,24 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.VersionConvertor_10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Canonical10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.dstu2.model.ImplementationGuide; import org.hl7.fhir.dstu2.model.ImplementationGuide.GuidePageKind; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Enumeration; import org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration; -import java.util.List; - public class ImplementationGuide10_40 { public static org.hl7.fhir.r4.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.dstu2.model.ImplementationGuide src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationDispense10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationDispense10_40.java index 3e4cd7d22..94aaff812 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationDispense10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationDispense10_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Ratio10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.SimpleQuantity10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Timing10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationRequest10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationRequest10_40.java index cccf9e813..d3b3d34e7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationRequest10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/MedicationRequest10_40.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Duration10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Ratio10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.SimpleQuantity10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Timing10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.UnsignedInt10_40; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/OperationDefinition10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/OperationDefinition10_40.java index a97d52509..46e9b00c2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/OperationDefinition10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/OperationDefinition10_40.java @@ -4,7 +4,13 @@ import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.ElementDefinition10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Canonical10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Integer10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.dstu2.model.Reference; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Enumerations.SearchParamType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Organization10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Organization10_40.java index bd00b6110..9af0477f3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Organization10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Organization10_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Address10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.HumanName10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Patient10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Patient10_40.java index 21fb93738..11ca83115 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Patient10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Patient10_40.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Address10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Attachment10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.HumanName10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Date10_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Person10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Person10_40.java index 9ebecd39c..9dbececd2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Person10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Person10_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Address10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Attachment10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.HumanName10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Date10_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Practitioner10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Practitioner10_40.java index 219f700a7..64ee53037 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Practitioner10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/Practitioner10_40.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.Reference10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Address10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Attachment10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.CodeableConcept10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.HumanName10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Period10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Date10_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/SearchParameter10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/SearchParameter10_40.java index 64cba70c8..21c76e2bc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/SearchParameter10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/SearchParameter10_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/StructureDefinition10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/StructureDefinition10_40.java index ef1dc7175..879f8ac23 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/StructureDefinition10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/StructureDefinition10_40.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.VersionConvertor_10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.ElementDefinition10_40; @@ -7,16 +10,17 @@ import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Codeab import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Id10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.ElementDefinition; import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r4.model.StructureDefinition.TypeDerivationRule; import org.hl7.fhir.utilities.Utilities; -import java.util.ArrayList; -import java.util.List; - public class StructureDefinition10_40 { static public org.hl7.fhir.r4.model.Enumeration convertExtensionContext(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/TestScript10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/TestScript10_40.java index 507032fbd..e3ef2d47f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/TestScript10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/TestScript10_40.java @@ -7,7 +7,14 @@ import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Codeab import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Canonical10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Id10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Integer10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.exceptions.FHIRException; public class TestScript10_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ValueSet10_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ValueSet10_40.java index e0ba502f2..3fa218021 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ValueSet10_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_40/resources10_40/ValueSet10_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv10_40.resources10_40; +import java.util.List; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.convertors.context.ConversionContext10_40; import org.hl7.fhir.convertors.conv10_40.VersionConvertor_10_40; @@ -7,7 +9,12 @@ import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Codeab import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Coding10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.ContactPoint10_40; import org.hl7.fhir.convertors.conv10_40.datatypes10_40.complextypes10_40.Identifier10_40; -import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.*; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Boolean10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Code10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.DateTime10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Integer10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.String10_40; +import org.hl7.fhir.convertors.conv10_40.datatypes10_40.primitivetypes10_40.Uri10_40; import org.hl7.fhir.dstu2.model.ValueSet; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.BooleanType; @@ -16,8 +23,6 @@ import org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode; import org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent; import org.hl7.fhir.r4.terminologies.CodeSystemUtilities; -import java.util.List; - public class ValueSet10_40 { public static org.hl7.fhir.r4.model.ValueSet.ConceptReferenceComponent convertConceptReferenceComponent(org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/VersionConvertor_10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/VersionConvertor_10_50.java index 36b2f93f5..21663a2e5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/VersionConvertor_10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/VersionConvertor_10_50.java @@ -1,19 +1,19 @@ package org.hl7.fhir.convertors.conv10_50; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.BackboneElement10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Element10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Type10_50; import org.hl7.fhir.convertors.conv10_50.resources10_50.Resource10_50; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.BackboneElement14_40; import org.hl7.fhir.dstu2.model.CodeableConcept; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Element10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Element10_50.java index 79e10f4a2..30d76b29d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Element10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Element10_50.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv10_50.datatypes10_50; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element10_50 { public final BaseAdvisor_10_50 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java index 674a4e6ad..d416715e1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/ElementDefinition10_50.java @@ -1,9 +1,17 @@ package org.hl7.fhir.convertors.conv10_50.datatypes10_50; +import java.util.List; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Integer10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.MarkDown10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.convertors.conv10_50.resources10_50.Enumerations10_50; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.exceptions.FHIRException; @@ -11,9 +19,6 @@ import org.hl7.fhir.r5.conformance.ProfileUtilities; import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.utilities.Utilities; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition10_50 { public static org.hl7.fhir.r5.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu2.model.ElementDefinition src, List slicePaths, List context, int pos) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Reference10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Reference10_50.java index a485ef94c..2de9e4563 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Reference10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Reference10_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv10_50.datatypes10_50; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; @@ -8,8 +10,6 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CanonicalType; import org.hl7.fhir.r5.model.Immunization; -import java.util.List; - public class Reference10_50 { public static org.hl7.fhir.r5.model.Reference convertReference(org.hl7.fhir.dstu2.model.Reference src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Type10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Type10_50.java index 39db7e923..befbb68fa 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Type10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/Type10_50.java @@ -1,8 +1,44 @@ package org.hl7.fhir.convertors.conv10_50.datatypes10_50; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Address10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Age10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Annotation10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Count10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Distance10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Duration10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.HumanName10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Money10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Quantity10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Range10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Ratio10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.SampledData10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Signature10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.SimpleQuantity10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Timing10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Base64Binary10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Date10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Decimal10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Instant10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Integer10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.MarkDown10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Oid10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.PositiveInt10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Time10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.UnsignedInt10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uuid10_50; import org.hl7.fhir.exceptions.FHIRException; public class Type10_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/Timing10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/Timing10_50.java index 6735c151d..f4eb009d7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/Timing10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/datatypes10_50/complextypes10_50/Timing10_50.java @@ -1,11 +1,11 @@ package org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Decimal10_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Timing10_50 { public static org.hl7.fhir.r5.model.Timing convertTiming(org.hl7.fhir.dstu2.model.Timing src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java index fb6c66c5c..e87e8e5ee 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Bundle10_50.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Signature10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Decimal10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Instant10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.UnsignedInt10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; import org.hl7.fhir.utilities.FhirPublication; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/CarePlan10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/CarePlan10_50.java index c8a10bdcf..0367dfd6b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/CarePlan10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/CarePlan10_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Annotation10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.SimpleQuantity10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.dstu2.model.Reference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java index a40e2da7b..13bb12f75 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Composition10_50.java @@ -1,19 +1,18 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext10_50; -import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Narrative10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Composition10_50 { public static org.hl7.fhir.r5.model.Composition convertComposition(org.hl7.fhir.dstu2.model.Composition src) throws FHIRException { @@ -35,7 +34,7 @@ public class Composition10_50 { tgt.setStatusElement(convertCompositionStatus(src.getStatusElement())); try { if (src.hasConfidentiality()) - tgt.getMeta().addSecurity().setCodeElement(Code43_50.convertCode(src.getConfidentialityElement())); + tgt.getMeta().addSecurity().setCodeElement(Code10_50.convertCode(src.getConfidentialityElement())); } catch (org.hl7.fhir.exceptions.FHIRException e) { throw new FHIRException(e); } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ConceptMap10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ConceptMap10_50.java index 531944ec9..1e693c990 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ConceptMap10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ConceptMap10_50.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.SourceElementComponentWrapper; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext10_50; @@ -7,12 +10,14 @@ import org.hl7.fhir.convertors.conv10_50.VersionConvertor_10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.dstu2.model.Enumerations.ConceptMapEquivalence; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CanonicalType; -import org.hl7.fhir.r5.model.Coding; import org.hl7.fhir.r5.model.ConceptMap; import org.hl7.fhir.r5.model.ConceptMap.ConceptMapGroupComponent; import org.hl7.fhir.r5.model.Enumeration; @@ -20,9 +25,6 @@ import org.hl7.fhir.r5.model.Enumerations; import org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship; import org.hl7.fhir.r5.utils.ToolingExtensions; -import java.util.ArrayList; -import java.util.List; - public class ConceptMap10_50 { public static org.hl7.fhir.r5.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu2.model.ConceptMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Condition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Condition10_50.java index ca0f9a8bd..f0173fa69 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Condition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Condition10_50.java @@ -4,13 +4,9 @@ import java.util.ArrayList; import java.util.List; import org.hl7.fhir.convertors.context.ConversionContext10_50; -import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java index e9faf46ff..a65328e4d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Conformance10_50.java @@ -7,7 +7,12 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.UnsignedInt10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestComponent; import org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestResourceComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DataElement10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DataElement10_50.java index 4741459de..eb061b3ca 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DataElement10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DataElement10_50.java @@ -1,19 +1,23 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.VersionConvertor_10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.ElementDefinition10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r5.model.StructureDefinition.TypeDerivationRule; -import java.util.ArrayList; -import java.util.List; - public class DataElement10_50 { public static org.hl7.fhir.r5.model.StructureDefinition convertDataElement(org.hl7.fhir.dstu2.model.DataElement src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java index cb92a443e..10d8a4c11 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/DocumentReference10_50.java @@ -2,7 +2,10 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.MarkDown10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.dstu2.model.CodeableConcept; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java index 9bb75272e..85950a50b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/HealthcareService10_50.java @@ -2,15 +2,15 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Time10_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ExtendedContactDetail; -import java.util.stream.Collectors; - public class HealthcareService10_50 { static public org.hl7.fhir.dstu2.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java index 80c4db629..3d692ca7d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ImplementationGuide10_50.java @@ -1,19 +1,23 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.VersionConvertor_10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.dstu2.model.ImplementationGuide; import org.hl7.fhir.dstu2.model.ImplementationGuide.GuidePageKind; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Enumeration; import org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration; -import java.util.List; - public class ImplementationGuide10_50 { public static org.hl7.fhir.r5.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.dstu2.model.ImplementationGuide src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MedicationDispense10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MedicationDispense10_50.java index 6e884d9c0..8309badfc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MedicationDispense10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MedicationDispense10_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Ratio10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.SimpleQuantity10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Timing10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MessageHeader10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MessageHeader10_50.java index 751d995ed..42307a975 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MessageHeader10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/MessageHeader10_50.java @@ -5,7 +5,6 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java index e0bf5c1ca..140fa49c5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/OperationDefinition10_50.java @@ -4,13 +4,17 @@ import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Integer10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.dstu2.model.Reference; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.FHIRTypes; import org.hl7.fhir.r5.model.Enumerations.SearchParamType; import org.hl7.fhir.utilities.Utilities; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java index b0dc63263..4c16bd274 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Organization10_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Address10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.HumanName10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; import org.hl7.fhir.exceptions.FHIRException; @@ -23,9 +27,9 @@ public class Organization10_50 { tgt.addType(CodeableConcept10_50.convertCodeableConcept(src.getType())); if (src.hasNameElement()) tgt.setNameElement(String10_50.convertString(src.getNameElement())); + for (org.hl7.fhir.dstu2.model.Address t : src.getAddress()) tgt.addContact().setAddress(Address10_50.convertAddress(t)); for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) tgt.getContactFirstRep().addTelecom(ContactPoint10_50.convertContactPoint(t)); - for (org.hl7.fhir.dstu2.model.Address t : src.getAddress()) tgt.addAddress(Address10_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference10_50.convertReference(src.getPartOf())); for (org.hl7.fhir.dstu2.model.Organization.OrganizationContactComponent t : src.getContact()) @@ -49,7 +53,9 @@ public class Organization10_50 { for (ExtendedContactDetail t1 : src.getContact()) for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address10_50.convertAddress(t)); + for (ExtendedContactDetail t : src.getContact()) + if (t.hasAddress()) + tgt.addAddress(Address10_50.convertAddress(t.getAddress())); if (src.hasPartOf()) tgt.setPartOf(Reference10_50.convertReference(src.getPartOf())); for (org.hl7.fhir.r5.model.ExtendedContactDetail t : src.getContact()) @@ -64,8 +70,8 @@ public class Organization10_50 { ConversionContext10_50.INSTANCE.getVersionConvertor_10_50().copyElement(src, tgt); if (src.hasPurpose()) tgt.setPurpose(CodeableConcept10_50.convertCodeableConcept(src.getPurpose())); - if (src.hasName()) - tgt.setName(HumanName10_50.convertHumanName(src.getName())); + for (org.hl7.fhir.r5.model.HumanName t : src.getName()) + tgt.setName(HumanName10_50.convertHumanName(t)); for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); if (src.hasAddress()) @@ -81,7 +87,7 @@ public class Organization10_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept10_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName10_50.convertHumanName(src.getName())); + tgt.addName(HumanName10_50.convertHumanName(src.getName())); for (org.hl7.fhir.dstu2.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint10_50.convertContactPoint(t)); if (src.hasAddress()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Patient10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Patient10_50.java index 5e54e11c4..26e1b863e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Patient10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Patient10_50.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Address10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.HumanName10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Date10_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Person10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Person10_50.java index cb579c8e2..5a745cc9b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Person10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Person10_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Address10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.HumanName10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Date10_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Practitioner10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Practitioner10_50.java index 29e7cc4ae..cdcb15a9d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Practitioner10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/Practitioner10_50.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.Reference10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Address10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Attachment10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.CodeableConcept10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.HumanName10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Period10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Date10_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java index 4eb1f97df..fbdb5c66e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/SearchParameter10_50.java @@ -2,13 +2,14 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.dstu2.utils.ToolingExtensions; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; -import org.hl7.fhir.r5.model.Enumeration; -import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class SearchParameter10_50 { @@ -35,7 +36,7 @@ public class SearchParameter10_50 { tgt.setRequirements(src.getPurpose()); if (src.hasCodeElement()) tgt.setCodeElement(Code10_50.convertCode(src.getCodeElement())); - for (Enumeration t : src.getBase()) tgt.setBase(t.asStringValue()); + for (CodeType t : src.getBase()) tgt.setBaseElement(Code10_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations10_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) @@ -72,7 +73,7 @@ public class SearchParameter10_50 { tgt.setPurpose(src.getRequirements()); if (src.hasCodeElement()) tgt.setCodeElement(Code10_50.convertCode(src.getCodeElement())); - tgt.addBase(Enumerations.AllResourceTypes.fromCode(src.getBase())); + tgt.getBase().add(Code10_50.convertCode(src.getBaseElement())); if (src.hasType()) tgt.setTypeElement(Enumerations10_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/StructureDefinition10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/StructureDefinition10_50.java index 859595894..696fde75c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/StructureDefinition10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/StructureDefinition10_50.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.VersionConvertor_10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.ElementDefinition10_50; @@ -7,16 +10,17 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Codeab import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r5.model.StructureDefinition.TypeDerivationRule; import org.hl7.fhir.utilities.Utilities; -import java.util.ArrayList; -import java.util.List; - public class StructureDefinition10_50 { static public org.hl7.fhir.r5.model.Enumeration convertExtensionContext(org.hl7.fhir.dstu2.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java index a4025b56a..d447493cc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/TestScript10_50.java @@ -7,9 +7,13 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Codeab import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Id10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Integer10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.TestScript; public class TestScript10_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ValueSet10_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ValueSet10_50.java index 47abf7396..6d9dd5a6c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ValueSet10_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv10_50/resources10_50/ValueSet10_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv10_50.resources10_50; +import java.util.List; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.conv10_50.VersionConvertor_10_50; @@ -7,7 +9,12 @@ import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Codeab import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Coding10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.ContactPoint10_50; import org.hl7.fhir.convertors.conv10_50.datatypes10_50.complextypes10_50.Identifier10_50; -import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.*; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Boolean10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Code10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.DateTime10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Integer10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.String10_50; +import org.hl7.fhir.convertors.conv10_50.datatypes10_50.primitivetypes10_50.Uri10_50; import org.hl7.fhir.dstu2.model.ValueSet; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.BooleanType; @@ -16,8 +23,6 @@ import org.hl7.fhir.r5.model.CodeSystem.CodeSystemContentMode; import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent; import org.hl7.fhir.r5.terminologies.CodeSystemUtilities; -import java.util.List; - public class ValueSet10_50 { public static org.hl7.fhir.r5.model.ValueSet.ConceptReferenceComponent convertConceptReferenceComponent(org.hl7.fhir.dstu2.model.ValueSet.ConceptReferenceComponent src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/VersionConvertor_14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/VersionConvertor_14_30.java index 4b2a6a9c1..64cec76b3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/VersionConvertor_14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/VersionConvertor_14_30.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv14_30; +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_30; import org.hl7.fhir.convertors.context.ConversionContext14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.BackboneElement14_30; @@ -9,8 +11,6 @@ import org.hl7.fhir.convertors.conv14_30.resources14_30.Resource14_30; import org.hl7.fhir.dstu2016may.model.CodeableConcept; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Element14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Element14_30.java index 26feeabae..62d2bfd90 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Element14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Element14_30.java @@ -1,11 +1,11 @@ package org.hl7.fhir.convertors.conv14_30.datatypes14_30; +import java.util.Arrays; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element14_30 { public final BaseAdvisor_14_30 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/ElementDefinition14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/ElementDefinition14_30.java index c718c234d..ab17d2daf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/ElementDefinition14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/ElementDefinition14_30.java @@ -1,15 +1,21 @@ package org.hl7.fhir.convertors.conv14_30.datatypes14_30; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.MarkDown14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.convertors.conv14_30.resources14_30.Enumerations14_30; import org.hl7.fhir.dstu3.conformance.ProfileUtilities; import org.hl7.fhir.dstu3.model.ElementDefinition; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class ElementDefinition14_30 { public static org.hl7.fhir.dstu3.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu2016may.model.ElementDefinition src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Type14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Type14_30.java index bc181f6c7..3912f22a3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Type14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/Type14_30.java @@ -1,8 +1,42 @@ package org.hl7.fhir.convertors.conv14_30.datatypes14_30; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.*; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Address14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Age14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Annotation14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Attachment14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Count14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Distance14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Duration14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.HumanName14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Money14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Period14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Quantity14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Range14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Ratio14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.SampledData14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Signature14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Timing14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Base64Binary14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Date14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Decimal14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Instant14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.MarkDown14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Oid14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.PositiveInt14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Time14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uuid14_30; import org.hl7.fhir.exceptions.FHIRException; public class Type14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Attachment14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Attachment14_30.java index d7cc627a9..2ee845f89 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Attachment14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Attachment14_30.java @@ -1,7 +1,12 @@ package org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30; import org.hl7.fhir.convertors.context.ConversionContext14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Base64Binary14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class Attachment14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Timing14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Timing14_30.java index 56227f9fc..2aa610ba6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Timing14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/datatypes14_30/complextypes14_30/Timing14_30.java @@ -1,13 +1,13 @@ package org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Decimal14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Timing14_30 { public static org.hl7.fhir.dstu3.model.Timing convertTiming(org.hl7.fhir.dstu2016may.model.Timing src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Bundle14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Bundle14_30.java index aaef01a97..eeb178452 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Bundle14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Bundle14_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv14_30.resources14_30; import org.hl7.fhir.convertors.context.ConversionContext14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Signature14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Decimal14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Instant14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class Bundle14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CodeSystem14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CodeSystem14_30.java index e0c4fdbe3..169968453 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CodeSystem14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CodeSystem14_30.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent; import org.hl7.fhir.dstu3.model.CodeSystem; import org.hl7.fhir.dstu3.model.CodeSystem.FilterOperator; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CompartmentDefinition14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CompartmentDefinition14_30.java index 97b1efbc1..f39ddd9e1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CompartmentDefinition14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/CompartmentDefinition14_30.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv14_30.resources14_30; import org.hl7.fhir.convertors.context.ConversionContext14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class CompartmentDefinition14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ConceptMap14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ConceptMap14_30.java index 88c802de2..063f9021f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ConceptMap14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ConceptMap14_30.java @@ -1,19 +1,23 @@ package org.hl7.fhir.convertors.conv14_30.resources14_30; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.SourceElementComponentWrapper; import org.hl7.fhir.convertors.context.ConversionContext14_30; import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.dstu3.model.ConceptMap; import org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent; import org.hl7.fhir.exceptions.FHIRException; -import java.util.ArrayList; -import java.util.List; - public class ConceptMap14_30 { public static org.hl7.fhir.dstu2016may.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu3.model.ConceptMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Conformance14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Conformance14_30.java index 130c9a626..357251ad3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Conformance14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Conformance14_30.java @@ -5,7 +5,14 @@ import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Base64Binary14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.UnsignedInt14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class Conformance14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/DataElement14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/DataElement14_30.java index 822c55a71..8bf6cfad9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/DataElement14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/DataElement14_30.java @@ -6,7 +6,11 @@ import org.hl7.fhir.convertors.conv14_30.datatypes14_30.ElementDefinition14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class DataElement14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ImplementationGuide14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ImplementationGuide14_30.java index 2e31aba0b..ec0252c5e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ImplementationGuide14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ImplementationGuide14_30.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class ImplementationGuide14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/OperationDefinition14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/OperationDefinition14_30.java index 1d9a40736..ff57615be 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/OperationDefinition14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/OperationDefinition14_30.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.dstu3.model.Enumerations.SearchParamType; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Questionnaire14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Questionnaire14_30.java index 2904f096b..38c105e26 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Questionnaire14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/Questionnaire14_30.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.UsageContext; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/SearchParameter14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/SearchParameter14_30.java index e21e560b7..6141dfd13 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/SearchParameter14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/SearchParameter14_30.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext14_30; import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class SearchParameter14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/StructureDefinition14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/StructureDefinition14_30.java index 6fdc02b45..e426a72e3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/StructureDefinition14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/StructureDefinition14_30.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv14_30.datatypes14_30.ElementDefinition14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.dstu2016may.model.StructureDefinition.TypeDerivationRule; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/TestScript14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/TestScript14_30.java index 9d56bcb54..aba9bd8f6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/TestScript14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/TestScript14_30.java @@ -6,7 +6,13 @@ import org.hl7.fhir.convertors.conv14_30.datatypes14_30.Reference14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Id14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class TestScript14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ValueSet14_30.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ValueSet14_30.java index 5bc5a0777..52a3cea61 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ValueSet14_30.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_30/resources14_30/ValueSet14_30.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv14_30.VersionConvertor_14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.CodeableConcept14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.ContactPoint14_30; import org.hl7.fhir.convertors.conv14_30.datatypes14_30.complextypes14_30.Identifier14_30; -import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.*; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Boolean14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Code14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.DateTime14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Integer14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.String14_30; +import org.hl7.fhir.convertors.conv14_30.datatypes14_30.primitivetypes14_30.Uri14_30; import org.hl7.fhir.exceptions.FHIRException; public class ValueSet14_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/VersionConvertor_14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/VersionConvertor_14_40.java index 161a89d42..eb0d50d5c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/VersionConvertor_14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/VersionConvertor_14_40.java @@ -1,5 +1,10 @@ package org.hl7.fhir.convertors.conv14_40; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_40; import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.BackboneElement14_40; @@ -9,10 +14,6 @@ import org.hl7.fhir.convertors.conv14_40.resources14_40.Resource14_40; import org.hl7.fhir.dstu2016may.model.CodeableConcept; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Element14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Element14_40.java index af9d07cd0..998bb754f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Element14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Element14_40.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv14_40.datatypes14_40; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element14_40 { public final BaseAdvisor_14_40 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/ElementDefinition14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/ElementDefinition14_40.java index 464ed0cd4..ad1cf2729 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/ElementDefinition14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/ElementDefinition14_40.java @@ -1,19 +1,25 @@ package org.hl7.fhir.convertors.conv14_40.datatypes14_40; +import java.util.List; +import java.util.stream.Collectors; + import org.apache.commons.lang3.StringUtils; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Id14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Integer14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.MarkDown14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.convertors.conv14_40.resources14_40.Enumerations14_40; import org.hl7.fhir.dstu2016may.model.ElementDefinition; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.conformance.ProfileUtilities; import org.hl7.fhir.utilities.Utilities; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition14_40 { public static org.hl7.fhir.r4.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu2016may.model.ElementDefinition src, List context, int pos) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Type14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Type14_40.java index 45dd19c17..bdf0f3101 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Type14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/Type14_40.java @@ -1,8 +1,43 @@ package org.hl7.fhir.convertors.conv14_40.datatypes14_40; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.*; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Address14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Age14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Annotation14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Attachment14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Count14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Distance14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Duration14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.HumanName14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Money14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Period14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Quantity14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Range14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Ratio14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.SampledData14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Signature14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Timing14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Base64Binary14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Date14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Decimal14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Id14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Instant14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Integer14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.MarkDown14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Oid14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.PositiveInt14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Time14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uuid14_40; import org.hl7.fhir.exceptions.FHIRException; public class Type14_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Attachment14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Attachment14_40.java index d5aaa16d2..1d9d6e836 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Attachment14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Attachment14_40.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40; import org.hl7.fhir.convertors.context.ConversionContext14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Base64Binary14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40; import org.hl7.fhir.exceptions.FHIRException; public class Attachment14_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Timing14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Timing14_40.java index abbf7d39f..05936f046 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Timing14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/datatypes14_40/complextypes14_40/Timing14_40.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Decimal14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Timing14_40 { public static org.hl7.fhir.r4.model.Timing convertTiming(org.hl7.fhir.dstu2016may.model.Timing src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Bundle14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Bundle14_40.java index 03926e3eb..04e8a8277 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Bundle14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Bundle14_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv14_40.resources14_40; import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Signature14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Decimal14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Instant14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; public class Bundle14_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CodeSystem14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CodeSystem14_40.java index 02554f2d5..91eaf9e6b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CodeSystem14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CodeSystem14_40.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Codeab import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CodeSystem; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CompartmentDefinition14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CompartmentDefinition14_40.java index 2d85de5b7..086dc4f9f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CompartmentDefinition14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/CompartmentDefinition14_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv14_40.resources14_40; import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; public class CompartmentDefinition14_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ConceptMap14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ConceptMap14_40.java index 7d9bd7ee3..765369cc8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ConceptMap14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ConceptMap14_40.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.conv14_40.resources14_40; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.SourceElementComponentWrapper; import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; @@ -7,15 +10,16 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.Reference14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CanonicalType; import org.hl7.fhir.r4.model.ConceptMap; import org.hl7.fhir.r4.model.ConceptMap.ConceptMapGroupComponent; -import java.util.ArrayList; -import java.util.List; - public class ConceptMap14_40 { public static org.hl7.fhir.r4.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu2016may.model.ConceptMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Conformance14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Conformance14_40.java index 919b84331..29ac51302 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Conformance14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Conformance14_40.java @@ -7,7 +7,12 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.Reference14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.UnsignedInt14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CapabilityStatement.CapabilityStatementRestComponent; import org.hl7.fhir.r4.model.CapabilityStatement.CapabilityStatementRestResourceComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/DataElement14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/DataElement14_40.java index b15794c02..3712147eb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/DataElement14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/DataElement14_40.java @@ -6,7 +6,11 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.ElementDefinition14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Id14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ImplementationGuide14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ImplementationGuide14_40.java index aef5e86a4..a3b9bae07 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ImplementationGuide14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ImplementationGuide14_40.java @@ -1,12 +1,18 @@ package org.hl7.fhir.convertors.conv14_40.resources14_40; +import java.util.List; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.Reference14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.dstu2016may.model.ImplementationGuide; import org.hl7.fhir.dstu2016may.model.ImplementationGuide.GuidePageKind; import org.hl7.fhir.exceptions.FHIRException; @@ -15,8 +21,6 @@ import org.hl7.fhir.r4.model.Enumeration; import org.hl7.fhir.r4.model.ImplementationGuide.GuidePageGeneration; import org.hl7.fhir.r4.model.Type; -import java.util.List; - public class ImplementationGuide14_40 { public static org.hl7.fhir.dstu2016may.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.r4.model.ImplementationGuide src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/OperationDefinition14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/OperationDefinition14_40.java index 9d191c49b..daf05a6e7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/OperationDefinition14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/OperationDefinition14_40.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.Reference14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Integer14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Type; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Questionnaire14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Questionnaire14_40.java index f5474cd05..a02b0e5de 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Questionnaire14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/Questionnaire14_40.java @@ -7,7 +7,11 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Codeab import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Integer14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.ContactDetail; import org.hl7.fhir.r4.model.Questionnaire.QuestionnaireItemOperator; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/SearchParameter14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/SearchParameter14_40.java index bc7b5d89a..641bce909 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/SearchParameter14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/SearchParameter14_40.java @@ -5,7 +5,11 @@ import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.Expression14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; public class SearchParameter14_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureDefinition14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureDefinition14_40.java index c19f00419..8053b3b9f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureDefinition14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureDefinition14_40.java @@ -7,7 +7,11 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Codeab import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Id14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.ElementDefinition; import org.hl7.fhir.r4.model.StructureDefinition.TypeDerivationRule; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureMap14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureMap14_40.java index 7642809c5..ff39486ee 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureMap14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/StructureMap14_40.java @@ -1,18 +1,22 @@ package org.hl7.fhir.convertors.conv14_40.resources14_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext14_40; import org.hl7.fhir.convertors.conv14_40.VersionConvertor_14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.CodeableConcept14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Id14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.dstu2016may.model.StructureMap; import org.hl7.fhir.dstu2016may.model.StructureMap.StructureMapContextType; import org.hl7.fhir.dstu2016may.model.StructureMap.StructureMapListMode; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class StructureMap14_40 { public static org.hl7.fhir.dstu2016may.model.StructureMap convertStructureMap(org.hl7.fhir.r4.model.StructureMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ValueSet14_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ValueSet14_40.java index 0499d3e86..1c8233214 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ValueSet14_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_40/resources14_40/ValueSet14_40.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Codeab import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Coding14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.ContactPoint14_40; import org.hl7.fhir.convertors.conv14_40.datatypes14_40.complextypes14_40.Identifier14_40; -import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.*; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Boolean14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Code14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.DateTime14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Integer14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.String14_40; +import org.hl7.fhir.convertors.conv14_40.datatypes14_40.primitivetypes14_40.Uri14_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.BooleanType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/VersionConvertor_14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/VersionConvertor_14_50.java index 9d0fc2a3e..0718ec831 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/VersionConvertor_14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/VersionConvertor_14_50.java @@ -1,18 +1,18 @@ package org.hl7.fhir.convertors.conv14_50; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_50; import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.BackboneElement14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Element14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Type14_50; import org.hl7.fhir.convertors.conv14_50.resources14_50.Resource14_50; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.BackboneElement30_40; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Element14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Element14_50.java index a9759d367..a0c7a2576 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Element14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Element14_50.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv14_50.datatypes14_50; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element14_50 { public final BaseAdvisor_14_50 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java index 6ca4afd90..9888307d8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/ElementDefinition14_50.java @@ -1,19 +1,25 @@ package org.hl7.fhir.convertors.conv14_50.datatypes14_50; +import java.util.List; +import java.util.stream.Collectors; + import org.apache.commons.lang3.StringUtils; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Id14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Integer14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.MarkDown14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.convertors.conv14_50.resources14_50.Enumerations14_50; import org.hl7.fhir.dstu2016may.model.ElementDefinition; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.conformance.ProfileUtilities; import org.hl7.fhir.utilities.Utilities; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition14_50 { public static org.hl7.fhir.r5.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu2016may.model.ElementDefinition src, List context, int pos) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Type14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Type14_50.java index f68f3b820..aa14be253 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Type14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/Type14_50.java @@ -1,8 +1,43 @@ package org.hl7.fhir.convertors.conv14_50.datatypes14_50; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.*; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Address14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Age14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Annotation14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Attachment14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Count14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Distance14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Duration14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.HumanName14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Money14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Period14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Quantity14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Range14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Ratio14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.SampledData14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Signature14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Timing14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Base64Binary14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Date14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Decimal14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Id14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Instant14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Integer14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.MarkDown14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Oid14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.PositiveInt14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Time14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.UnsignedInt14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uuid14_50; import org.hl7.fhir.exceptions.FHIRException; public class Type14_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/Timing14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/Timing14_50.java index 8c484ffbf..27d2e80b4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/Timing14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/datatypes14_50/complextypes14_50/Timing14_50.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Decimal14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.UnsignedInt14_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Timing14_50 { public static org.hl7.fhir.r5.model.Timing convertTiming(org.hl7.fhir.dstu2016may.model.Timing src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java index 55a1785e2..269e7f65e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Bundle14_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv14_50.resources14_50; import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Signature14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Decimal14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Instant14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.UnsignedInt14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CodeSystem14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CodeSystem14_50.java index 848999ea6..a54d9b671 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CodeSystem14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CodeSystem14_50.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Codeab import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.UnsignedInt14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.dstu2016may.model.CodeSystem.ConceptDefinitionPropertyComponent; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Enumeration; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CompartmentDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CompartmentDefinition14_50.java index b7c4ff699..426c014a2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CompartmentDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/CompartmentDefinition14_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv14_50.resources14_50; import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; public class CompartmentDefinition14_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ConceptMap14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ConceptMap14_50.java index b043d4953..790bac02f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ConceptMap14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ConceptMap14_50.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.conv14_50.resources14_50; +import java.util.ArrayList; +import java.util.List; + import org.hl7.fhir.convertors.SourceElementComponentWrapper; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext14_50; @@ -7,7 +10,11 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Reference14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.dstu2016may.model.Enumerations.ConceptMapEquivalence; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CanonicalType; @@ -19,9 +26,6 @@ import org.hl7.fhir.r5.model.Enumerations; import org.hl7.fhir.r5.model.Enumerations.ConceptMapRelationship; import org.hl7.fhir.r5.utils.ToolingExtensions; -import java.util.ArrayList; -import java.util.List; - public class ConceptMap14_50 { public static org.hl7.fhir.r5.model.ConceptMap convertConceptMap(org.hl7.fhir.dstu2016may.model.ConceptMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java index d56d89b15..196b28c71 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Conformance14_50.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Reference14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.UnsignedInt14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestComponent; import org.hl7.fhir.r5.model.CapabilityStatement.CapabilityStatementRestResourceComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/DataElement14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/DataElement14_50.java index 902c269e1..dfd579a03 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/DataElement14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/DataElement14_50.java @@ -5,7 +5,11 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.ElementDefinition14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Id14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java index 5ce47d596..81140d2e7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ImplementationGuide14_50.java @@ -1,22 +1,23 @@ package org.hl7.fhir.convertors.conv14_50.resources14_50; +import java.util.List; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Reference14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.dstu2016may.model.ImplementationGuide; import org.hl7.fhir.dstu2016may.model.ImplementationGuide.GuidePageKind; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.CanonicalType; -import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.Enumeration; import org.hl7.fhir.r5.model.ImplementationGuide.GuidePageGeneration; -import java.util.List; - public class ImplementationGuide14_50 { public static org.hl7.fhir.dstu2016may.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.r5.model.ImplementationGuide src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java index f23a0ecbe..28ce4edb3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.Reference14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Integer14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; import org.hl7.fhir.r5.model.DataType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Questionnaire14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Questionnaire14_50.java index 9baf63828..442fabcf7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Questionnaire14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/Questionnaire14_50.java @@ -7,7 +7,11 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Codeab import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Integer14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.dstu2016may.model.Questionnaire.QuestionnaireItemType; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java index 191416a88..66fef5020 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/SearchParameter14_50.java @@ -4,12 +4,13 @@ import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.ElementDefinition14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; -import org.hl7.fhir.r5.model.Enumeration; -import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; public class SearchParameter14_50 { @@ -41,7 +42,7 @@ public class SearchParameter14_50 { tgt.setRequirements(src.getPurpose()); if (src.hasCodeElement()) tgt.setCodeElement(Code14_50.convertCode(src.getCodeElement())); - for (Enumeration t : src.getBase()) tgt.setBase(t.asStringValue()); + for (CodeType t : src.getBase()) tgt.setBase(t.asStringValue()); if (src.hasType()) tgt.setTypeElement(Enumerations14_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) @@ -84,7 +85,7 @@ public class SearchParameter14_50 { tgt.setPurpose(src.getRequirements()); if (src.hasCodeElement()) tgt.setCodeElement(Code14_50.convertCode(src.getCodeElement())); - tgt.addBase(Enumerations.AllResourceTypes.fromCode(src.getBase())); + tgt.getBase().add(Code14_50.convertCode(src.getBaseElement())); if (src.hasType()) tgt.setTypeElement(Enumerations14_50.convertSearchParamType(src.getTypeElement())); if (src.hasDescription()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureDefinition14_50.java index eebb729a6..c547f3278 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureDefinition14_50.java @@ -6,7 +6,11 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Codeab import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Id14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.StructureDefinition.TypeDerivationRule; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureMap14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureMap14_50.java index dac3c4a64..c0ad74018 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureMap14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/StructureMap14_50.java @@ -1,18 +1,21 @@ package org.hl7.fhir.convertors.conv14_50.resources14_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.CodeableConcept14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Id14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.dstu2016may.model.StructureMap; import org.hl7.fhir.dstu2016may.model.StructureMap.StructureMapContextType; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.StructureMap.StructureMapGroupRuleTargetParameterComponent; -import java.util.stream.Collectors; - public class StructureMap14_50 { public static org.hl7.fhir.r5.model.StructureMap convertStructureMap(org.hl7.fhir.dstu2016may.model.StructureMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ValueSet14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ValueSet14_50.java index c297e5d56..a9c187097 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ValueSet14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/ValueSet14_50.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Codeab import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Coding14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.ContactPoint14_50; import org.hl7.fhir.convertors.conv14_50.datatypes14_50.complextypes14_50.Identifier14_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.*; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Boolean14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Code14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.DateTime14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Integer14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; +import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.Uri14_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.BooleanType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/VersionConvertor_30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/VersionConvertor_30_40.java index 2caca98da..9d73a678f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/VersionConvertor_30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/VersionConvertor_30_40.java @@ -1,5 +1,10 @@ package org.hl7.fhir.convertors.conv30_40; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.BackboneElement30_40; @@ -8,10 +13,6 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Type30_40; import org.hl7.fhir.convertors.conv30_40.resources30_40.Resource30_40; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Element30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Element30_40.java index 3ebac466c..5f00af98a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Element30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Element30_40.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv30_40.datatypes30_40; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element30_40 { public final BaseAdvisor_30_40 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/ElementDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/ElementDefinition30_40.java index 0138bebc6..beb931c19 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/ElementDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/ElementDefinition30_40.java @@ -1,20 +1,26 @@ package org.hl7.fhir.convertors.conv30_40.datatypes30_40; +import java.util.List; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.VersionConvertor_30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.convertors.conv30_40.resources30_40.Enumerations30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.ElementDefinition; import org.hl7.fhir.r4.model.Type; -import org.hl7.fhir.r4.model.UriType; import org.hl7.fhir.utilities.Utilities; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition30_40 { public static org.hl7.fhir.r4.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu3.model.ElementDefinition src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Type30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Type30_40.java index 838ac5fcd..17f2955b7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Type30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/Type30_40.java @@ -1,8 +1,44 @@ package org.hl7.fhir.convertors.conv30_40.datatypes30_40; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Age30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Count30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Distance30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Money30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Quantity30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Range30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Ratio30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SampledData30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Signature30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Base64Binary30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Decimal30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Instant30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Oid30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.PositiveInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Time30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uuid30_40; import org.hl7.fhir.exceptions.FHIRException; public class Type30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Attachment30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Attachment30_40.java index 20cbadff1..7d689005e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Attachment30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Attachment30_40.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Base64Binary30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; import org.hl7.fhir.exceptions.FHIRException; public class Attachment30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Timing30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Timing30_40.java index 3ced008c0..241191ae2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Timing30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/datatypes30_40/complextypes30_40/Timing30_40.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Decimal30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class Timing30_40 { public static org.hl7.fhir.r4.model.Timing convertTiming(org.hl7.fhir.dstu3.model.Timing src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ActivityDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ActivityDefinition30_40.java index b5b58c11f..3ff0b6c01 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ActivityDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ActivityDefinition30_40.java @@ -5,8 +5,17 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Dosage30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.RelatedArtifact30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/AllergyIntolerance30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/AllergyIntolerance30_40.java index 2ab89a665..203e88d9a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/AllergyIntolerance30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/AllergyIntolerance30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; @@ -9,8 +11,6 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class AllergyIntolerance30_40 { public static org.hl7.fhir.dstu3.model.AllergyIntolerance convertAllergyIntolerance(org.hl7.fhir.r4.model.AllergyIntolerance src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Appointment30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Appointment30_40.java index 94e61ad65..086ed3d69 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Appointment30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Appointment30_40.java @@ -5,7 +5,11 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Instant30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.PositiveInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; import org.hl7.fhir.exceptions.FHIRException; public class Appointment30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Bundle30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Bundle30_40.java index 14af1ef19..f70c40d62 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Bundle30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Bundle30_40.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Signature30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Decimal30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Instant30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class Bundle30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CapabilityStatement30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CapabilityStatement30_40.java index f006ba0d3..025ebaccb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CapabilityStatement30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CapabilityStatement30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; @@ -7,11 +9,15 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class CapabilityStatement30_40 { public static org.hl7.fhir.dstu3.model.CapabilityStatement convertCapabilityStatement(org.hl7.fhir.r4.model.CapabilityStatement src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CarePlan30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CarePlan30_40.java index 4f30f674b..84d78f915 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CarePlan30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CarePlan30_40.java @@ -1,16 +1,20 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.dstu3.model.Reference; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Coding; -import java.util.List; - public class CarePlan30_40 { private static final String CarePlanActivityDetailComponentExtension = "http://hl7.org/fhir/3.0/StructureDefinition/extension-CarePlan.activity.detail.category"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CodeSystem30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CodeSystem30_40.java index 85f0a3833..bbbabcd57 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CodeSystem30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CodeSystem30_40.java @@ -1,16 +1,22 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class CodeSystem30_40 { public static org.hl7.fhir.r4.model.CodeSystem convertCodeSystem(org.hl7.fhir.dstu3.model.CodeSystem src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CompartmentDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CompartmentDefinition30_40.java index a044773dc..1779e6f17 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CompartmentDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/CompartmentDefinition30_40.java @@ -4,7 +4,12 @@ import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class CompartmentDefinition30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Composition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Composition30_40.java index 054a799c3..e5821f000 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Composition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Composition30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Narrative30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; @@ -10,8 +12,6 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; - public class Composition30_40 { public static org.hl7.fhir.dstu3.model.Composition convertComposition(org.hl7.fhir.r4.model.Composition src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ConceptMap30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ConceptMap30_40.java index 1e7fc95af..7582683d7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ConceptMap30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ConceptMap30_40.java @@ -5,7 +5,12 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class ConceptMap30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Consent30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Consent30_40.java index 82918f266..1c783f74c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Consent30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Consent30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.VersionConvertor_30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; @@ -13,8 +15,6 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.Identifier; -import java.util.List; - public class Consent30_40 { static public org.hl7.fhir.r4.model.Consent convertConsent(org.hl7.fhir.dstu3.model.Consent src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DataElement30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DataElement30_40.java index 33e7d4b5c..d13818d3a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DataElement30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DataElement30_40.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ElementDefinition30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class DataElement30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Device30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Device30_40.java index a60c22908..e2d639fda 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Device30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Device30_40.java @@ -1,6 +1,9 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.Collections; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; @@ -14,9 +17,6 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri3 import org.hl7.fhir.dstu3.model.Device; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Collections; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DocumentReference30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DocumentReference30_40.java index bc9868d8f..52b627f28 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DocumentReference30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/DocumentReference30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Encounter30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Encounter30_40.java index bf0383799..d5dc27547 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Encounter30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Encounter30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.PositiveInt30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Endpoint30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Endpoint30_40.java index 5ec4d9d49..7c52a77c6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Endpoint30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Endpoint30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/GraphDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/GraphDefinition30_40.java index 107662330..6b7f7da02 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/GraphDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/GraphDefinition30_40.java @@ -4,7 +4,13 @@ import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class GraphDefinition30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/HealthcareService30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/HealthcareService30_40.java index 427f32ae4..d7e46c88c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/HealthcareService30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/HealthcareService30_40.java @@ -1,8 +1,14 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Time30_40; @@ -10,8 +16,6 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CodeableConcept; import org.hl7.fhir.r4.model.HealthcareService.HealthcareServiceEligibilityComponent; -import java.util.stream.Collectors; - public class HealthcareService30_40 { public static org.hl7.fhir.dstu3.model.HealthcareService convertHealthcareService(org.hl7.fhir.r4.model.HealthcareService src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImagingStudy30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImagingStudy30_40.java index 59b139b35..389b8edfe 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImagingStudy30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImagingStudy30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.VersionConvertor_30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; @@ -13,8 +15,6 @@ import org.hl7.fhir.dstu3.model.Reference; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CodeableConcept; -import java.util.List; - public class ImagingStudy30_40 { private static final String URN_DICOM_UID = "urn:dicom:uid"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImplementationGuide30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImplementationGuide30_40.java index cb12ea4b1..842945042 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImplementationGuide30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ImplementationGuide30_40.java @@ -1,17 +1,22 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.dstu3.model.ImplementationGuide; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Enumeration; -import java.util.List; - public class ImplementationGuide30_40 { public static org.hl7.fhir.dstu3.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.r4.model.ImplementationGuide src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Library30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Library30_40.java index 7d232f6e7..a04b24a51 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Library30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Library30_40.java @@ -5,8 +5,17 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ParameterDefinition30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.RelatedArtifact30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.TriggerDefinition30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Location30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Location30_40.java index 82d57a30c..ae413fc39 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Location30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Location30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Decimal30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationAdministration30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationAdministration30_40.java index 8d52e93d3..14b085f99 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationAdministration30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationAdministration30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Quantity30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.dstu3.model.SimpleQuantity; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationRequest30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationRequest30_40.java index bc31da767..45e562c29 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationRequest30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MedicationRequest30_40.java @@ -3,7 +3,12 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Dosage30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.SimpleQuantity30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MessageDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MessageDefinition30_40.java index 2f0b9f7a4..c8fe851ef 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MessageDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/MessageDefinition30_40.java @@ -7,7 +7,13 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Codeab import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.UnsignedInt30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class MessageDefinition30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/OperationDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/OperationDefinition30_40.java index 73dd0cefe..8fb8cf804 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/OperationDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/OperationDefinition30_40.java @@ -6,7 +6,13 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Type; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Organization30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Organization30_40.java index 42a193c86..4dfd23805 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Organization30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Organization30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Patient30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Patient30_40.java index 302c1b563..43d54d240 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Patient30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Patient30_40.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Person30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Person30_40.java index 6b46a4e42..a24d49478 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Person30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Person30_40.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PlanDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PlanDefinition30_40.java index f47e2bec2..597d236a0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PlanDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PlanDefinition30_40.java @@ -5,8 +5,19 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.RelatedArtifact30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.TriggerDefinition30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Duration30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Practitioner30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Practitioner30_40.java index 8e67be570..02e1284b9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Practitioner30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Practitioner30_40.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PractitionerRole30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PractitionerRole30_40.java index 817fe97bd..8a29b696c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PractitionerRole30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/PractitionerRole30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; @@ -11,8 +13,6 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Stri import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Time30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class PractitionerRole30_40 { public static org.hl7.fhir.r4.model.PractitionerRole convertPractitionerRole(org.hl7.fhir.dstu3.model.PractitionerRole src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ProcedureRequest30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ProcedureRequest30_40.java index 1dcd21478..bd96968cc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ProcedureRequest30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ProcedureRequest30_40.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Annotation30_40; @@ -10,8 +12,6 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Reference; -import java.util.List; - public class ProcedureRequest30_40 { static public org.hl7.fhir.r4.model.ServiceRequest convertProcedureRequest(org.hl7.fhir.dstu3.model.ProcedureRequest src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Questionnaire30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Questionnaire30_40.java index d4a60ae55..7f941b333 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Questionnaire30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/Questionnaire30_40.java @@ -4,8 +4,18 @@ import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Extension30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Questionnaire; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/RelatedPerson30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/RelatedPerson30_40.java index 37682d545..446d5f669 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/RelatedPerson30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/RelatedPerson30_40.java @@ -1,14 +1,20 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Address30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Attachment30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.ContactPoint30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.HumanName30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Period30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CodeableConcept; -import java.util.List; - public class RelatedPerson30_40 { public static org.hl7.fhir.dstu3.model.RelatedPerson convertRelatedPerson(org.hl7.fhir.r4.model.RelatedPerson src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/SearchParameter30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/SearchParameter30_40.java index 7224bf699..619315bfa 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/SearchParameter30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/SearchParameter30_40.java @@ -1,15 +1,20 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class SearchParameter30_40 { static public org.hl7.fhir.r4.model.Enumeration convertSearchComparator(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureDefinition30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureDefinition30_40.java index 427fa9487..7112fb48e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureDefinition30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureDefinition30_40.java @@ -7,7 +7,12 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Codeab import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureMap30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureMap30_40.java index 4b301e09c..cfa89c842 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureMap30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/StructureMap30_40.java @@ -1,15 +1,21 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.ContactDetail30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.CodeableConcept30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class StructureMap30_40 { public static org.hl7.fhir.dstu3.model.StructureMap convertStructureMap(org.hl7.fhir.r4.model.StructureMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestReport30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestReport30_40.java index 372005669..81184f17e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestReport30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestReport30_40.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv30_40.resources30_40; import org.hl7.fhir.convertors.context.ConversionContext30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.Reference30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Decimal30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class TestReport30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestScript30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestScript30_40.java index 811af72f7..a80e630f9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestScript30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/TestScript30_40.java @@ -7,7 +7,14 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Codeab import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Id30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; public class TestScript30_40 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ValueSet30_40.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ValueSet30_40.java index 02c1683c1..71d6b49be 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ValueSet30_40.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_40/resources30_40/ValueSet30_40.java @@ -6,7 +6,14 @@ import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Codeab import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Coding30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Identifier30_40; import org.hl7.fhir.convertors.conv30_40.datatypes30_40.complextypes30_40.Timing30_40; -import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.*; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Boolean30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Code30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Date30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.DateTime30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Integer30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.MarkDown30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.String30_40; +import org.hl7.fhir.convertors.conv30_40.datatypes30_40.primitivetypes30_40.Uri30_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.BooleanType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/Resource30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/Resource30_50.java index 62f7bafc0..3c69ea958 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/Resource30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/Resource30_50.java @@ -7,7 +7,85 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Meta30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Narrative30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; -import org.hl7.fhir.convertors.conv30_50.resources30_50.*; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ActivityDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.AllergyIntolerance30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Appointment30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.AppointmentResponse30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.AuditEvent30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Basic30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Binary30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.BodySite30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Bundle30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.CapabilityStatement30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.CarePlan30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.CareTeam30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ClinicalImpression30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.CodeSystem30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Communication30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.CompartmentDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Composition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ConceptMap30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Condition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Consent30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.DataElement30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.DetectedIssue30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.DeviceUseStatement30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.DiagnosticReport30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.DocumentReference30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Encounter30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Endpoint30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.EpisodeOfCare30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ExpansionProfile30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.FamilyMemberHistory30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Flag30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Goal30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.GraphDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Group30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.HealthcareService30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ImagingStudy30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Immunization30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ImplementationGuide30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Library30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Linkage30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.List30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Location30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Measure30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Media30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Medication30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.MedicationAdministration30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.MedicationDispense30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.MedicationRequest30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.MedicationStatement30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.MessageDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.MessageHeader30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.NamingSystem30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Observation30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.OperationDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.OperationOutcome30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Organization30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Parameters30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Patient30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.PaymentNotice30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Person30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.PlanDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Practitioner30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.PractitionerRole30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Provenance30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Questionnaire30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.QuestionnaireResponse30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.RelatedPerson30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.RiskAssessment30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Schedule30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.SearchParameter30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Slot30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Specimen30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.StructureDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.StructureMap30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.Substance30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.SupplyDelivery30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.TestReport30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.TestScript30_50; +import org.hl7.fhir.convertors.conv30_50.resources30_50.ValueSet30_50; import org.hl7.fhir.exceptions.FHIRException; public class Resource30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/VersionConvertor_30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/VersionConvertor_30_50.java index 8b329e3ef..3ea40bead 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/VersionConvertor_30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/VersionConvertor_30_50.java @@ -1,5 +1,10 @@ package org.hl7.fhir.convertors.conv30_50; +import java.util.ArrayList; +import java.util.List; + +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.BackboneElement30_50; @@ -7,10 +12,6 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Element30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Type30_50; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; -import java.util.ArrayList; -import java.util.List; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Dosage30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Dosage30_50.java index 6cec33890..9d1620498 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Dosage30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Dosage30_50.java @@ -8,8 +8,6 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Timing import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.exceptions.FHIRException; public class Dosage30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Element30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Element30_50.java index 49d2a272a..6dcc899cf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Element30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Element30_50.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.conv30_50.datatypes30_50; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element30_50 { public final BaseAdvisor_30_50 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java index 9dd84c33f..30506c147 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/ElementDefinition30_50.java @@ -1,21 +1,27 @@ package org.hl7.fhir.convertors.conv30_50.datatypes30_50; +import java.util.List; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.VersionConvertor_30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.convertors.conv30_50.resources30_50.Enumerations30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CanonicalType; import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.ElementDefinition; -import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.utilities.Utilities; -import java.util.List; -import java.util.stream.Collectors; - public class ElementDefinition30_50 { public static org.hl7.fhir.r5.model.ElementDefinition convertElementDefinition(org.hl7.fhir.dstu3.model.ElementDefinition src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Reference30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Reference30_50.java index 0ea4dc547..c01716a95 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Reference30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Reference30_50.java @@ -5,7 +5,6 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Codeab import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.CodeableReference; public class Reference30_50 { public static org.hl7.fhir.r5.model.Reference convertReference(org.hl7.fhir.dstu3.model.Reference src) throws FHIRException { @@ -28,14 +27,21 @@ public class Reference30_50 { return tgt; } - static public CodeableReference convertReferenceToCodableReference(org.hl7.fhir.dstu3.model.Reference src) { - CodeableReference tgt = new CodeableReference(); + static public org.hl7.fhir.r5.model.CodeableReference convertReferenceToCodableReference(org.hl7.fhir.dstu3.model.Reference src) { + org.hl7.fhir.r5.model.CodeableReference tgt = new org.hl7.fhir.r5.model.CodeableReference(); tgt.setReference(convertReference(src)); return tgt; } - static public CodeableReference convertCodeableConceptToCodableReference(org.hl7.fhir.dstu3.model.CodeableConcept src) { - CodeableReference tgt = new CodeableReference(); + static public org.hl7.fhir.dstu3.model.Reference convertCodeableReferenceToReference(org.hl7.fhir.r5.model.CodeableReference src) { + org.hl7.fhir.dstu3.model.Reference tgt = new org.hl7.fhir.dstu3.model.Reference(); + ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); + tgt.setReference(src.getReference().getReference()); + return tgt; + } + + static public org.hl7.fhir.r5.model.CodeableReference convertCodeableConceptToCodableReference(org.hl7.fhir.dstu3.model.CodeableConcept src) { + org.hl7.fhir.r5.model.CodeableReference tgt = new org.hl7.fhir.r5.model.CodeableReference(); tgt.setConcept(CodeableConcept30_50.convertCodeableConcept(src)); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Type30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Type30_50.java index caa8d2c24..27ebde866 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Type30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/Type30_50.java @@ -1,8 +1,43 @@ package org.hl7.fhir.convertors.conv30_50.datatypes30_50; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Age30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Count30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Distance30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Duration30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Money30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Quantity30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Range30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Ratio30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.SampledData30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Signature30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Timing30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Base64Binary30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Instant30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Oid30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.PositiveInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Time30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uuid30_50; import org.hl7.fhir.exceptions.FHIRException; public class Type30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/Timing30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/Timing30_50.java index 61ffa0006..84604fb91 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/Timing30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/complextypes30_50/Timing30_50.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class Timing30_50 { public static org.hl7.fhir.r5.model.Timing convertTiming(org.hl7.fhir.dstu3.model.Timing src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Date30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Date30_50.java index ac838d331..18aa2fed0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Date30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/datatypes30_50/primitivetypes30_50/Date30_50.java @@ -1,10 +1,7 @@ package org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50; -import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.dstu3.model.DateType; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.DateTimeType; public class Date30_50 { public static org.hl7.fhir.r5.model.DateType convertDate(org.hl7.fhir.dstu3.model.DateType src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ActivityDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ActivityDefinition30_50.java index 4a55ebf56..e87dcff07 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ActivityDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ActivityDefinition30_50.java @@ -1,12 +1,21 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Dosage30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.RelatedArtifact30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.SimpleQuantity30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; @@ -226,68 +235,65 @@ public class ActivityDefinition30_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypesEnumFactory()); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); switch (src.getValue()) { case APPOINTMENT: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENT); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.APPOINTMENT); break; case APPOINTMENTRESPONSE: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENTRESPONSE); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.APPOINTMENTRESPONSE); break; case CAREPLAN: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CAREPLAN); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CAREPLAN); break; case CLAIM: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CLAIM); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CLAIM); break; case COMMUNICATIONREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.COMMUNICATIONREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.COMMUNICATIONREQUEST); break; case CONTRACT: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CONTRACT); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CONTRACT); break; case DEVICEREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.DEVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.DEVICEREQUEST); break; case ENROLLMENTREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.ENROLLMENTREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.ENROLLMENTREQUEST); break; case IMMUNIZATIONRECOMMENDATION: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.IMMUNIZATIONRECOMMENDATION); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.IMMUNIZATIONRECOMMENDATION); break; case MEDICATIONREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.MEDICATIONREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.MEDICATIONREQUEST); break; case NUTRITIONORDER: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NUTRITIONORDER); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.NUTRITIONORDER); break; case PROCEDUREREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SERVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SERVICEREQUEST); break; case REFERRALREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SERVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SERVICEREQUEST); break; case SUPPLYREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SUPPLYREQUEST); - break; - case TASK: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.TASK); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SUPPLYREQUEST); break; case VISIONPRESCRIPTION: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.VISIONPRESCRIPTION); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.VISIONPRESCRIPTION); break; default: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.NULL); break; } return tgt; } - static public org.hl7.fhir.dstu3.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.dstu3.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKindEnumFactory()); @@ -332,9 +338,6 @@ public class ActivityDefinition30_50 { case SUPPLYREQUEST: tgt.setValue(org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKind.SUPPLYREQUEST); break; - case TASK: - tgt.setValue(org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKind.TASK); - break; case VISIONPRESCRIPTION: tgt.setValue(org.hl7.fhir.dstu3.model.ActivityDefinition.ActivityDefinitionKind.VISIONPRESCRIPTION); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/AllergyIntolerance30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/AllergyIntolerance30_50.java index ad93a4e84..f87f44be9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/AllergyIntolerance30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/AllergyIntolerance30_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50; @@ -13,8 +15,6 @@ import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import java.util.stream.Collectors; - public class AllergyIntolerance30_50 { public static org.hl7.fhir.dstu3.model.AllergyIntolerance convertAllergyIntolerance(org.hl7.fhir.r5.model.AllergyIntolerance src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java index cc6eb49cd..a52ec69bb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Bundle30_50.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Signature30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Instant30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java index f4fedb71c..966d6dd86 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; @@ -7,11 +9,15 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class CapabilityStatement30_50 { public static org.hl7.fhir.r5.model.CapabilityStatement convertCapabilityStatement(org.hl7.fhir.dstu3.model.CapabilityStatement src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CarePlan30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CarePlan30_50.java index e7e13a124..4f6150b19 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CarePlan30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CarePlan30_50.java @@ -1,8 +1,14 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.SimpleQuantity30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.dstu3.model.Reference; @@ -10,8 +16,6 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import java.util.List; - public class CarePlan30_50 { private static final String CarePlanActivityDetailComponentExtension = "http://hl7.org/fhir/3.0/StructureDefinition/extension-CarePlan.activity.detail.category"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CodeSystem30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CodeSystem30_50.java index 4b0289cef..3bce882f8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CodeSystem30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CodeSystem30_50.java @@ -1,16 +1,22 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class CodeSystem30_50 { public static org.hl7.fhir.dstu3.model.CodeSystem convertCodeSystem(org.hl7.fhir.r5.model.CodeSystem src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CompartmentDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CompartmentDefinition30_50.java index 377b9723f..21246f079 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CompartmentDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CompartmentDefinition30_50.java @@ -4,7 +4,12 @@ import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; public class CompartmentDefinition30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java index f906a022c..990e44966 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Composition30_50.java @@ -1,8 +1,8 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; -import org.hl7.fhir.convertors.context.ConversionContext10_50; +import java.util.Collections; + import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Narrative30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; @@ -10,12 +10,9 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identi import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.RelatedArtifact; -import java.util.Collections; - public class Composition30_50 { public static org.hl7.fhir.r5.model.Composition convertComposition(org.hl7.fhir.dstu3.model.Composition src) throws FHIRException { @@ -41,7 +38,7 @@ public class Composition30_50 { if (src.hasTitle()) tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); if (src.hasConfidentiality()) - tgt.getMeta().addSecurity().setCodeElement(Code30_50.convertCode(src.getConfidentialityElement())); + tgt.getMeta().addSecurity(convertDocumentConfidentiality(src.getConfidentialityElement())); for (org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -77,10 +74,8 @@ public class Composition30_50 { for (org.hl7.fhir.r5.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference30_50.convertReference(t)); if (src.hasTitle()) tgt.setTitleElement(String30_50.convertString(src.getTitleElement())); - if (src.hasConfidentiality()) - tgt.setConfidentiality(src.getMeta().getSecurityFirstRep().getCode()); - - tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getConfidentialityElement())); + if (src.getMeta().hasSecurity()) + tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getMeta().getSecurityFirstRep())); for (org.hl7.fhir.r5.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -322,21 +317,21 @@ public class Composition30_50 { return tgt; } - static public org.hl7.fhir.r5.model.CodeType convertDocumentConfidentiality(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Coding convertDocumentConfidentiality(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.CodeType tgt = new org.hl7.fhir.r5.model.CodeType(); + org.hl7.fhir.r5.model.Coding tgt = new org.hl7.fhir.r5.model.Coding(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); - tgt.setValue(src.getValue().toCode()); + tgt.setCode(src.getValue().toCode()); return tgt; } - static public org.hl7.fhir.dstu3.model.Enumeration convertDocumentConfidentiality(org.hl7.fhir.r5.model.CodeType src) throws FHIRException { + static public org.hl7.fhir.dstu3.model.Enumeration convertDocumentConfidentiality(org.hl7.fhir.r5.model.Coding src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Composition.DocumentConfidentialityEnumFactory()); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); - switch (src.getValue()) { + switch (src.getCode()) { case "U": tgt.setValue(org.hl7.fhir.dstu3.model.Composition.DocumentConfidentiality.U); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ConceptMap30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ConceptMap30_50.java index 342e56588..931e5aa90 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ConceptMap30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ConceptMap30_50.java @@ -2,12 +2,16 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.convertors.conv14_50.datatypes14_50.primitivetypes14_50.String14_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CanonicalType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Condition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Condition30_50.java index 12a975f66..5f960a775 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Condition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Condition30_50.java @@ -9,7 +9,6 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annota import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.Coding; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Consent30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Consent30_50.java index 876dbc42b..63a36bddb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Consent30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Consent30_50.java @@ -38,59 +38,59 @@ public class Consent30_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentDataMeaningEnumFactory()); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); - if (src.getValue() == null) { - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL); - } else { - switch (src.getValue()) { - case INSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.INSTANCE); - break; - case RELATED: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.RELATED); - break; - case DEPENDENTS: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.DEPENDENTS); - break; - case AUTHOREDBY: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.AUTHOREDBY); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL); - break; - } - } - return tgt; - } - - static public org.hl7.fhir.dstu3.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) return null; - org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaningEnumFactory()); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); - if (src.getValue() == null) { - tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.NULL); - } else { - switch (src.getValue()) { - case INSTANCE: - tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.INSTANCE); - break; - case RELATED: - tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.RELATED); - break; - case DEPENDENTS: - tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.DEPENDENTS); - break; - case AUTHOREDBY: - tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.AUTHOREDBY); - break; - default: - tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.NULL); - break; - } - } - return tgt; - } +// static public org.hl7.fhir.r5.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentDataMeaningEnumFactory()); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); +// if (src.getValue() == null) { +// tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL); +// } else { +// switch (src.getValue()) { +// case INSTANCE: +// tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.INSTANCE); +// break; +// case RELATED: +// tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.RELATED); +// break; +// case DEPENDENTS: +// tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.DEPENDENTS); +// break; +// case AUTHOREDBY: +// tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.AUTHOREDBY); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL); +// break; +// } +// } +// return tgt; +// } +// +// static public org.hl7.fhir.dstu3.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) return null; +// org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaningEnumFactory()); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); +// if (src.getValue() == null) { +// tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.NULL); +// } else { +// switch (src.getValue()) { +// case INSTANCE: +// tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.INSTANCE); +// break; +// case RELATED: +// tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.RELATED); +// break; +// case DEPENDENTS: +// tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.DEPENDENTS); +// break; +// case AUTHOREDBY: +// tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.AUTHOREDBY); +// break; +// default: +// tgt.setValue(org.hl7.fhir.dstu3.model.Consent.ConsentDataMeaning.NULL); +// break; +// } +// } +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DataElement30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DataElement30_50.java index 8376bfb5b..f4a62d4df 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DataElement30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DataElement30_50.java @@ -6,7 +6,12 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ElementDefinition30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; public class DataElement30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java index 2156f1f4b..19d477f69 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/DocumentReference30_50.java @@ -2,7 +2,10 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java index 652c4703f..125edde21 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Encounter30_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Duration30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.PositiveInt30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Endpoint30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Endpoint30_50.java index 724e58b7a..d4a076600 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Endpoint30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Endpoint30_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; @@ -46,7 +50,7 @@ public class Endpoint30_50 { if (src.hasStatus()) tgt.setStatusElement(convertEndpointStatus(src.getStatusElement())); if (src.hasConnectionType()) - tgt.addConnectionType(Coding30_50.convertCoding(src.getConnectionType())); + tgt.addConnectionType(Coding30_50.convertCodingToCodeableConcept(src.getConnectionType())); if (src.hasName()) tgt.setNameElement(String30_50.convertString(src.getNameElement())); if (src.hasManagingOrganization()) @@ -85,9 +89,6 @@ public class Endpoint30_50 { case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.ENTEREDINERROR); break; - case TEST: - tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.TEST); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.NULL); break; @@ -116,9 +117,6 @@ public class Endpoint30_50 { case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.dstu3.model.Endpoint.EndpointStatus.ENTEREDINERROR); break; - case TEST: - tgt.setValue(org.hl7.fhir.dstu3.model.Endpoint.EndpointStatus.TEST); - break; default: tgt.setValue(org.hl7.fhir.dstu3.model.Endpoint.EndpointStatus.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/EpisodeOfCare30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/EpisodeOfCare30_50.java index af5ffdbda..789d25c09 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/EpisodeOfCare30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/EpisodeOfCare30_50.java @@ -35,7 +35,7 @@ public class EpisodeOfCare30_50 { tgt.addReferralRequest(Reference30_50.convertReference(t)); if (src.hasCareManager()) tgt.setCareManager(Reference30_50.convertReference(src.getCareManager())); - for (org.hl7.fhir.r5.model.Reference t : src.getTeam()) tgt.addTeam(Reference30_50.convertReference(t)); + for (org.hl7.fhir.r5.model.Reference t : src.getCareTeam()) tgt.addTeam(Reference30_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference30_50.convertReference(t)); return tgt; } @@ -65,7 +65,7 @@ public class EpisodeOfCare30_50 { tgt.addReferralRequest(Reference30_50.convertReference(t)); if (src.hasCareManager()) tgt.setCareManager(Reference30_50.convertReference(src.getCareManager())); - for (org.hl7.fhir.dstu3.model.Reference t : src.getTeam()) tgt.addTeam(Reference30_50.convertReference(t)); + for (org.hl7.fhir.dstu3.model.Reference t : src.getTeam()) tgt.addCareTeam(Reference30_50.convertReference(t)); for (org.hl7.fhir.dstu3.model.Reference t : src.getAccount()) tgt.addAccount(Reference30_50.convertReference(t)); return tgt; } @@ -166,7 +166,7 @@ public class EpisodeOfCare30_50 { if (src == null) return null; org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasCondition()) tgt.setCondition(Reference30_50.convertReference(src.getCondition())); + if (src.hasCondition()) tgt.setCondition(Reference30_50.convertReferenceToCodableReference(src.getCondition())); if (src.hasRole()) tgt.setRole(CodeableConcept30_50.convertCodeableConcept(src.getRole())); if (src.hasRank()) tgt.setRankElement(PositiveInt30_50.convertPositiveInt(src.getRankElement())); return tgt; @@ -176,7 +176,7 @@ public class EpisodeOfCare30_50 { if (src == null) return null; org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.dstu3.model.EpisodeOfCare.DiagnosisComponent(); ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasCondition()) tgt.setCondition(Reference30_50.convertReference(src.getCondition())); + if (src.hasCondition()) tgt.setCondition(Reference30_50.convertCodeableReferenceToReference(src.getCondition())); if (src.hasRole()) tgt.setRole(CodeableConcept30_50.convertCodeableConcept(src.getRole())); if (src.hasRank()) tgt.setRankElement(PositiveInt30_50.convertPositiveInt(src.getRankElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java index 9ac2a8689..fb1e9bb20 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/GraphDefinition30_50.java @@ -4,7 +4,13 @@ import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; public class GraphDefinition30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java index 96a96a25d..64cbc6324 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/HealthcareService30_50.java @@ -2,17 +2,17 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Time30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.ExtendedContactDetail; import org.hl7.fhir.r5.model.HealthcareService.HealthcareServiceEligibilityComponent; -import java.util.stream.Collectors; - public class HealthcareService30_50 { public static org.hl7.fhir.r5.model.HealthcareService convertHealthcareService(org.hl7.fhir.dstu3.model.HealthcareService src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImagingStudy30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImagingStudy30_50.java index 447c3d03d..aee662fd3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImagingStudy30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImagingStudy30_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; @@ -14,8 +16,6 @@ import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import java.util.List; - public class ImagingStudy30_50 { private static final String URN_DICOM_UID = "urn:dicom:uid"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Immunization30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Immunization30_50.java index e44d8c25b..3cfa56a9f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Immunization30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Immunization30_50.java @@ -11,7 +11,6 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4.model.codesystems.CoverageeligibilityresponseExAuthSupportEnumFactory; import org.hl7.fhir.r5.model.CodeableReference; public class Immunization30_50 { @@ -40,7 +39,7 @@ public class Immunization30_50 { if (src.hasLocation()) tgt.setLocation(Reference30_50.convertReference(src.getLocation())); if (src.hasManufacturer()) - tgt.setManufacturer(Reference30_50.convertReference(src.getManufacturer())); + tgt.setManufacturer(Reference30_50.convertReferenceToCodableReference(src.getManufacturer())); if (src.hasLotNumber()) tgt.setLotNumberElement(String30_50.convertString(src.getLotNumberElement())); if (src.hasExpirationDate()) @@ -83,7 +82,7 @@ public class Immunization30_50 { if (src.hasLocation()) tgt.setLocation(Reference30_50.convertReference(src.getLocation())); if (src.hasManufacturer()) - tgt.setManufacturer(Reference30_50.convertReference(src.getManufacturer())); + tgt.setManufacturer(Reference30_50.convertCodeableReferenceToReference(src.getManufacturer())); if (src.hasLotNumber()) tgt.setLotNumberElement(String30_50.convertString(src.getLotNumberElement())); if (src.hasExpirationDate()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java index 135cfcc53..56793307f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ImplementationGuide30_50.java @@ -1,18 +1,23 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.List; + import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.ImplementationGuide; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Enumeration; -import java.util.List; - public class ImplementationGuide30_50 { public static org.hl7.fhir.dstu3.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.r5.model.ImplementationGuide src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Library30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Library30_50.java index 8b8a5a198..a1e3d7768 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Library30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Library30_50.java @@ -1,12 +1,21 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.DataRequirement30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ParameterDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.RelatedArtifact30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java index c636b5668..b0b4d718d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Location30_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Measure30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Measure30_50.java index cab0067a2..948f5e5ac 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Measure30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Measure30_50.java @@ -8,11 +8,17 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Measure.MeasureTermComponent; public class Measure30_50 { @@ -112,7 +118,7 @@ public class Measure30_50 { else tgt.setImprovementNotation(new org.hl7.fhir.r5.model.CodeableConcept().setText(src.getImprovementNotation())); } - for (org.hl7.fhir.dstu3.model.MarkdownType m : src.getDefinition()) tgt.addDefinition(m.getValue()); + for (org.hl7.fhir.dstu3.model.MarkdownType m : src.getDefinition()) tgt.addTerm().setDefinition(m.getValue()); if (src.hasGuidance()) tgt.setGuidanceElement(MarkDown30_50.convertMarkdown(src.getGuidanceElement())); for (org.hl7.fhir.dstu3.model.Measure.MeasureGroupComponent g : src.getGroup()) @@ -223,7 +229,8 @@ public class Measure30_50 { else if (cc.hasCode() && cc.getCode().equals("decrease")) tgt.setImprovementNotation(cc.getCode()); } - for (org.hl7.fhir.r5.model.MarkdownType m : src.getDefinition()) tgt.addDefinition(m.getValue()); + for (MeasureTermComponent t : src.getTerm()) + tgt.getDefinition().add(MarkDown30_50.convertMarkdown(t.getDefinitionElement())); if (src.hasGuidance()) tgt.setGuidanceElement(MarkDown30_50.convertMarkdown(src.getGuidanceElement())); for (org.hl7.fhir.r5.model.Measure.MeasureGroupComponent g : src.getGroup()) tgt.addGroup(convertMeasureGroup(g)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationAdministration30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationAdministration30_50.java index 7397a1339..9319bc002 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationAdministration30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationAdministration30_50.java @@ -20,7 +20,7 @@ public class MedicationAdministration30_50 { ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); - for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) tgt.addDefinition().setReference(t.getValue()); +// for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) tgt.addDefinition().setReference(t.getValue()); for (org.hl7.fhir.r5.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_50.convertReference(t)); if (src.hasStatus()) tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); @@ -64,7 +64,7 @@ public class MedicationAdministration30_50 { ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyDomainResource(src, tgt); for (org.hl7.fhir.dstu3.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(Identifier30_50.convertIdentifier(t)); - for (org.hl7.fhir.dstu3.model.Reference t : src.getDefinition()) tgt.addInstantiatesUri(t.getReference()); +// for (org.hl7.fhir.dstu3.model.Reference t : src.getDefinition()) tgt.addInstantiatesUri(t.getReference()); for (org.hl7.fhir.dstu3.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference30_50.convertReference(t)); if (src.hasStatus()) tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationRequest30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationRequest30_50.java index 256579add..e1a135ac0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationRequest30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MedicationRequest30_50.java @@ -3,7 +3,12 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Dosage30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Annotation30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Duration30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.SimpleQuantity30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageDefinition30_50.java index e65055db9..efe85adec 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageDefinition30_50.java @@ -7,7 +7,13 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.UnsignedInt30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; public class MessageDefinition30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageHeader30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageHeader30_50.java index 4009c735f..cc7fd1b1c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageHeader30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/MessageHeader30_50.java @@ -5,7 +5,6 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java index f92a11026..2699442e2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/OperationDefinition30_50.java @@ -6,7 +6,13 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.Enumerations; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java index 4721d4746..70c987f06 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Organization30_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.exceptions.FHIRException; @@ -24,9 +28,9 @@ public class Organization30_50 { if (src.hasName()) tgt.setNameElement(String30_50.convertString(src.getNameElement())); for (org.hl7.fhir.dstu3.model.StringType t : src.getAlias()) tgt.addAlias(t.getValue()); + for (org.hl7.fhir.dstu3.model.Address t : src.getAddress()) tgt.addContact().setAddress(Address30_50.convertAddress(t)); for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) tgt.getContactFirstRep().addTelecom(ContactPoint30_50.convertContactPoint(t)); - for (org.hl7.fhir.dstu3.model.Address t : src.getAddress()) tgt.addAddress(Address30_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference30_50.convertReference(src.getPartOf())); for (org.hl7.fhir.dstu3.model.Organization.OrganizationContactComponent t : src.getContact()) @@ -52,7 +56,9 @@ public class Organization30_50 { for (ExtendedContactDetail t1 : src.getContact()) for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address30_50.convertAddress(t)); + for (ExtendedContactDetail t : src.getContact()) + if (t.hasAddress()) + tgt.addAddress(Address30_50.convertAddress(t.getAddress())); if (src.hasPartOf()) tgt.setPartOf(Reference30_50.convertReference(src.getPartOf())); for (org.hl7.fhir.r5.model.ExtendedContactDetail t : src.getContact()) @@ -68,8 +74,8 @@ public class Organization30_50 { ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); if (src.hasPurpose()) tgt.setPurpose(CodeableConcept30_50.convertCodeableConcept(src.getPurpose())); - if (src.hasName()) - tgt.setName(HumanName30_50.convertHumanName(src.getName())); + for (org.hl7.fhir.r5.model.HumanName t : src.getName()) + tgt.setName(HumanName30_50.convertHumanName(t)); for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); if (src.hasAddress()) @@ -85,7 +91,7 @@ public class Organization30_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept30_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName30_50.convertHumanName(src.getName())); + tgt.addName(HumanName30_50.convertHumanName(src.getName())); for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); if (src.hasAddress()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Patient30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Patient30_50.java index a6db0c9da..98ac4f92e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Patient30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Patient30_50.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Person30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Person30_50.java index 08d58a90a..ed1bc8adf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Person30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Person30_50.java @@ -2,7 +2,11 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PlanDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PlanDefinition30_50.java index df999a276..1ab241239 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PlanDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PlanDefinition30_50.java @@ -1,9 +1,24 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.*; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.DataRequirement30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.RelatedArtifact30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.TriggerDefinition30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Duration30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.ContactDetail; import org.hl7.fhir.dstu3.model.Contributor.ContributorType; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Practitioner30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Practitioner30_50.java index fac867432..6d38e89d3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Practitioner30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Practitioner30_50.java @@ -2,7 +2,13 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PractitionerRole30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PractitionerRole30_50.java index 21bdf6eab..2913c5053 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PractitionerRole30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/PractitionerRole30_50.java @@ -7,12 +7,8 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Contac import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Time30_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class PractitionerRole30_50 { public static org.hl7.fhir.dstu3.model.PractitionerRole convertPractitionerRole(org.hl7.fhir.r5.model.PractitionerRole src) throws FHIRException { @@ -37,14 +33,15 @@ public class PractitionerRole30_50 { for (org.hl7.fhir.r5.model.Reference t : src.getLocation()) tgt.addLocation(Reference30_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference30_50.convertReference(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); + for (org.hl7.fhir.r5.model.ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); +// for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference30_50.convertReference(t)); return tgt; } @@ -72,143 +69,143 @@ public class PractitionerRole30_50 { for (org.hl7.fhir.dstu3.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference30_50.convertReference(t)); for (org.hl7.fhir.dstu3.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint30_50.convertContactPoint(t)); - for (org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); - for (org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); + tgt.getContactFirstRep().addTelecom(ContactPoint30_50.convertContactPoint(t)); +// for (org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); +// for (org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String30_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.dstu3.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference30_50.convertReference(t)); return tgt; } +// +// public static org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(PractitionerRole30_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } - public static org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(PractitionerRole30_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } +// public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(PractitionerRole30_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); +// return tgt; +// } - public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(PractitionerRole30_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean30_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time30_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time30_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.dstu3.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyBackboneElement(src,tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String30_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period30_50.convertPeriod(src.getDuring())); - return tgt; - } - - static public org.hl7.fhir.dstu3.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeekEnumFactory()); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); - switch (src.getValue()) { - case MON: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.MON); - break; - case TUE: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.TUE); - break; - case WED: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.WED); - break; - case THU: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.THU); - break; - case FRI: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.FRI); - break; - case SAT: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.SAT); - break; - case SUN: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.SUN); - break; - default: - tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DaysOfWeekEnumFactory()); - ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); - if (src.getValue() == null) { - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); - } else { - switch (src.getValue()) { - case MON: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.MON); - break; - case TUE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.TUE); - break; - case WED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.WED); - break; - case THU: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.THU); - break; - case FRI: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.FRI); - break; - case SAT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SAT); - break; - case SUN: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SUN); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); - break; - } - } - return tgt; - } +// static public org.hl7.fhir.dstu3.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.dstu3.model.Enumeration tgt = new org.hl7.fhir.dstu3.model.Enumeration<>(new org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeekEnumFactory()); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case MON: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.MON); +// break; +// case TUE: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.TUE); +// break; +// case WED: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.WED); +// break; +// case THU: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.THU); +// break; +// case FRI: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.FRI); +// break; +// case SAT: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.SAT); +// break; +// case SUN: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.SUN); +// break; +// default: +// tgt.setValue(org.hl7.fhir.dstu3.model.PractitionerRole.DaysOfWeek.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.dstu3.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DaysOfWeekEnumFactory()); +// ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().copyElement(src, tgt); +// if (src.getValue() == null) { +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); +// } else { +// switch (src.getValue()) { +// case MON: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.MON); +// break; +// case TUE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.TUE); +// break; +// case WED: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.WED); +// break; +// case THU: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.THU); +// break; +// case FRI: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.FRI); +// break; +// case SAT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SAT); +// break; +// case SUN: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SUN); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); +// break; +// } +// } +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Questionnaire30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Questionnaire30_50.java index e5f39c8fc..b27ad9d07 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Questionnaire30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/Questionnaire30_50.java @@ -10,7 +10,13 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Codeab import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.Questionnaire.QuestionnaireItemType; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/RelatedPerson30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/RelatedPerson30_50.java index 591e5e3d8..99db46641 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/RelatedPerson30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/RelatedPerson30_50.java @@ -1,14 +1,20 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.List; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Address30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Attachment30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.ContactPoint30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.HumanName30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Period30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; -import java.util.List; - public class RelatedPerson30_50 { public static org.hl7.fhir.dstu3.model.RelatedPerson convertRelatedPerson(org.hl7.fhir.r5.model.RelatedPerson src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java index 87ddf7099..eed145ced 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SearchParameter30_50.java @@ -1,17 +1,20 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.Enumeration; -import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; - -import java.util.stream.Collectors; +import org.hl7.fhir.r5.model.CodeType; public class SearchParameter30_50 { @@ -210,7 +213,7 @@ public class SearchParameter30_50 { tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.dstu3.model.CodeType t : src.getBase()) tgt.addBase(Enumerations.AllResourceTypes.fromCode(t.getValue())); + for (org.hl7.fhir.dstu3.model.CodeType t : src.getBase()) tgt.getBase().add(Code30_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations30_50.convertSearchParamType(src.getTypeElement())); if (src.hasDerivedFrom()) @@ -265,7 +268,7 @@ public class SearchParameter30_50 { tgt.setPurposeElement(MarkDown30_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code30_50.convertCode(src.getCodeElement())); - for (Enumeration t : src.getBase()) tgt.addBase(t.getValue().toCode()); + for (CodeType t : src.getBase()) tgt.getBase().add(Code30_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations30_50.convertSearchParamType(src.getTypeElement())); if (src.hasDerivedFrom()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureDefinition30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureDefinition30_50.java index 8481f0fa0..675df3c5d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureDefinition30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureDefinition30_50.java @@ -7,7 +7,12 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureMap30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureMap30_50.java index 20dbb2449..777abeaeb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureMap30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/StructureMap30_50.java @@ -1,18 +1,23 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.ContactDetail30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.StringType; import org.hl7.fhir.r5.model.StructureMap.StructureMapGroupRuleTargetParameterComponent; -import java.util.stream.Collectors; - public class StructureMap30_50 { public static org.hl7.fhir.r5.model.StructureMap convertStructureMap(org.hl7.fhir.dstu3.model.StructureMap src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SupplyDelivery30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SupplyDelivery30_50.java index 3af9a836b..9681889bf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SupplyDelivery30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/SupplyDelivery30_50.java @@ -25,7 +25,7 @@ public class SupplyDelivery30_50 { if (src.hasType()) tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); if (src.hasSuppliedItem()) - tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); + tgt.addSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getOccurrence())); if (src.hasSupplier()) @@ -52,7 +52,7 @@ public class SupplyDelivery30_50 { if (src.hasType()) tgt.setType(CodeableConcept30_50.convertCodeableConcept(src.getType())); if (src.hasSuppliedItem()) - tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); + tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItemFirstRep())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext30_50.INSTANCE.getVersionConvertor_30_50().convertType(src.getOccurrence())); if (src.hasSupplier()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestReport30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestReport30_50.java index 675866fc8..45848a56d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestReport30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestReport30_50.java @@ -1,9 +1,12 @@ package org.hl7.fhir.convertors.conv30_50.resources30_50; import org.hl7.fhir.convertors.context.ConversionContext30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Decimal30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.dstu3.model.Reference; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java index 73b6b0847..d2cee9993 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/TestScript30_50.java @@ -7,7 +7,13 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Id30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; public class TestScript30_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ValueSet30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ValueSet30_50.java index 0e605a168..77d6622d1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ValueSet30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/ValueSet30_50.java @@ -6,7 +6,14 @@ import org.hl7.fhir.convertors.conv30_50.datatypes30_50.UsageContext30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.CodeableConcept30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Coding30_50; import org.hl7.fhir.convertors.conv30_50.datatypes30_50.complextypes30_50.Identifier30_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.*; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Boolean30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Code30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Date30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.DateTime30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Integer30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.MarkDown30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; +import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.Uri30_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.BooleanType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/VersionConvertor_40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/VersionConvertor_40_50.java index 97a757074..c7db605b8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/VersionConvertor_40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/VersionConvertor_40_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv40_50; +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.BackboneElement40_50; @@ -8,8 +10,6 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.Type40_50; import org.hl7.fhir.convertors.conv40_50.resources40_50.Resource40_50; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Element40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Element40_50.java index 6bdcbf8c3..52bf28954 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Element40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Element40_50.java @@ -1,11 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Extension40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element40_50 { public final BaseAdvisor_40_50 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Type40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Type40_50.java index 26752d874..53c97d087 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Type40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/Type40_50.java @@ -1,11 +1,66 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.*; -import org.hl7.fhir.convertors.conv40_50.resources40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Age40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Count40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Distance40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.MoneyQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Quantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Range40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Ratio40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SampledData40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Signature40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Timing40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.Contributor40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.DataRequirement40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.Expression40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ParameterDefinition40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.TriggerDefinition40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Base64Binary40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Instant40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Oid40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uuid40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Dosage40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.ElementDefinition40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Extension40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Meta40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Narrative40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.MarketingStatus40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.Population40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.ProdCharacteristic40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.ProductShelfLife40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.SubstanceAmount40_50; import org.hl7.fhir.exceptions.FHIRException; public class Type40_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Attachment40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Attachment40_50.java index 8c6ee305c..9067fe8ee 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Attachment40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Attachment40_50.java @@ -1,7 +1,12 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Base64Binary40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.exceptions.FHIRException; public class Attachment40_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/CodeableConcept40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/CodeableConcept40_50.java index b62c60baa..6a593fe7f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/CodeableConcept40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/CodeableConcept40_50.java @@ -29,4 +29,10 @@ public class CodeableConcept40_50 { tgt.setConcept(convertCodeableConcept(src)); return tgt; } + + + public static org.hl7.fhir.r4.model.CodeableConcept convertCodeableReferenceToCodeableConcept(CodeableReference src) { + return convertCodeableConcept(src.getConcept()); + } } + diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Coding40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Coding40_50.java index 83c716d19..d147f49d2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Coding40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Coding40_50.java @@ -31,4 +31,47 @@ public class Coding40_50 { if (src.hasUserSelected()) tgt.setUserSelectedElement(Boolean40_50.convertBoolean(src.getUserSelectedElement())); return tgt; } + + public static org.hl7.fhir.r5.model.CodeableConcept convertCodingToCodeableConcept(org.hl7.fhir.r4.model.Coding src) throws FHIRException { + if (src == null) return null; + org.hl7.fhir.r5.model.CodeableConcept tgt = new org.hl7.fhir.r5.model.CodeableConcept(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + if (src.hasSystem()) tgt.getCodingFirstRep().setSystem(src.getSystem()); + if (src.hasVersion()) tgt.getCodingFirstRep().setVersion(src.getVersion()); + if (src.hasCode()) tgt.getCodingFirstRep().setCode(src.getCode()); + if (src.hasDisplay()) tgt.getCodingFirstRep().setDisplay(src.getDisplay()); + if (src.hasUserSelected()) tgt.getCodingFirstRep().setUserSelected(src.getUserSelected()); + return tgt; + } + + public static org.hl7.fhir.r5.model.Coding convertCoding(org.hl7.fhir.r4.model.CodeableConcept src) throws FHIRException { + if (src == null) return null; + org.hl7.fhir.r5.model.Coding tgt = new org.hl7.fhir.r5.model.Coding(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + if (src.hasCoding()) { + if (src.getCodingFirstRep().hasSystem()) tgt.setSystem(src.getCodingFirstRep().getSystem()); + if (src.getCodingFirstRep().hasVersion()) tgt.setVersion(src.getCodingFirstRep().getVersion()); + if (src.getCodingFirstRep().hasCode()) tgt.setCode(src.getCodingFirstRep().getCode()); + if (src.getCodingFirstRep().hasDisplay()) tgt.setDisplay(src.getCodingFirstRep().getDisplay()); + if (src.getCodingFirstRep().hasUserSelected()) tgt.setUserSelected(src.getCodingFirstRep().getUserSelected()); + } + return tgt; + } + + + public static org.hl7.fhir.r4.model.Coding convertCoding(org.hl7.fhir.r5.model.CodeableConcept src) throws FHIRException { + if (src == null) return null; + org.hl7.fhir.r4.model.Coding tgt = new org.hl7.fhir.r4.model.Coding(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + if (src.hasCoding()) { + if (src.getCodingFirstRep().hasSystem()) tgt.setSystem(src.getCodingFirstRep().getSystem()); + if (src.getCodingFirstRep().hasVersion()) tgt.setVersion(src.getCodingFirstRep().getVersion()); + if (src.getCodingFirstRep().hasCode()) tgt.setCode(src.getCodingFirstRep().getCode()); + if (src.getCodingFirstRep().hasDisplay()) tgt.setDisplay(src.getCodingFirstRep().getDisplay()); + if (src.getCodingFirstRep().hasUserSelected()) tgt.setUserSelected(src.getCodingFirstRep().getUserSelected()); + } + return tgt; + } + + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Timing40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Timing40_50.java index b7cf269f2..f48c9b22a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Timing40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/general40_50/Timing40_50.java @@ -1,12 +1,16 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.BackboneElement40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class Timing40_50 { public static org.hl7.fhir.r4.model.Timing convertTiming(org.hl7.fhir.r5.model.Timing src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Date40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Date40_50.java index 34547f931..019612b96 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Date40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Date40_50.java @@ -1,10 +1,7 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50; -import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4.model.DateType; -import org.hl7.fhir.r5.model.DateTimeType; public class Date40_50 { public static org.hl7.fhir.r5.model.DateType convertDate(org.hl7.fhir.r4.model.DateType src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/String40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/String40_50.java index 9366b7b04..838d55a75 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/String40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/String40_50.java @@ -1,6 +1,5 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50; -import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java index 53a86b30d..264296958 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/ElementDefinition40_50.java @@ -1,14 +1,22 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.BackboneElement40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.resources40_50.Enumerations40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class ElementDefinition40_50 { public static org.hl7.fhir.r5.model.ElementDefinition convertElementDefinition(org.hl7.fhir.r4.model.ElementDefinition src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/Reference40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/Reference40_50.java index 65682d8dd..e9e5e51a8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/Reference40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/special40_50/Reference40_50.java @@ -35,4 +35,30 @@ public class Reference40_50 { tgt.setReference(convertReference(src)); return tgt; } + + + public static org.hl7.fhir.r5.model.CanonicalType convertReferenceToCanonical(org.hl7.fhir.r4.model.Reference src) { + if (src == null) return null; + org.hl7.fhir.r5.model.CanonicalType tgt = new org.hl7.fhir.r5.model.CanonicalType(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + if (src.hasReference()) tgt.setValue(src.getReference()); + return tgt; + } + + public static org.hl7.fhir.r4.model.Reference convertReferenceToCanonical(org.hl7.fhir.r5.model.CanonicalType src) { + if (src == null) return null; + org.hl7.fhir.r4.model.Reference tgt = new org.hl7.fhir.r4.model.Reference(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + if (src.hasValue()) tgt.setReference(src.getValue()); + return tgt; + } + + + static public org.hl7.fhir.r4.model.Reference convertCodeableReferenceToReference(org.hl7.fhir.r5.model.CodeableReference src) { + org.hl7.fhir.r4.model.Reference tgt = new org.hl7.fhir.r4.model.Reference(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + tgt.setReference(src.getReference().getReference()); + return tgt; + } + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Account40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Account40_50.java index fd65fc13d..c5cee1b53 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Account40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Account40_50.java @@ -65,8 +65,8 @@ public class Account40_50 { tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); for (org.hl7.fhir.r4.model.Account.GuarantorComponent t : src.getGuarantor()) tgt.addGuarantor(convertGuarantorComponent(t)); - if (src.hasPartOf()) - tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); +// if (src.hasPartOf()) +// tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); return tgt; } @@ -94,8 +94,8 @@ public class Account40_50 { tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); for (org.hl7.fhir.r5.model.Account.GuarantorComponent t : src.getGuarantor()) tgt.addGuarantor(convertGuarantorComponent(t)); - if (src.hasPartOf()) - tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); +// if (src.hasPartOf()) +// tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ActivityDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ActivityDefinition40_50.java index 3e5d00938..a5115b5b1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ActivityDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ActivityDefinition40_50.java @@ -9,7 +9,13 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDet import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.Expression40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Dosage40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -133,11 +139,11 @@ public class ActivityDefinition40_50 { for (org.hl7.fhir.r4.model.CodeableConcept t : src.getBodySite()) tgt.addBodySite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.Reference t : src.getSpecimenRequirement()) - tgt.addSpecimenRequirement(Reference40_50.convertReference(t)); + tgt.getSpecimenRequirement().add(Reference40_50.convertReferenceToCanonical(t)); for (org.hl7.fhir.r4.model.Reference t : src.getObservationRequirement()) - tgt.addObservationRequirement(Reference40_50.convertReference(t)); + tgt.getObservationRequirement().add(Reference40_50.convertReferenceToCanonical(t)); for (org.hl7.fhir.r4.model.Reference t : src.getObservationResultRequirement()) - tgt.addObservationResultRequirement(Reference40_50.convertReference(t)); + tgt.getObservationResultRequirement().add(Reference40_50.convertReferenceToCanonical(t)); if (src.hasTransform()) tgt.setTransformElement(Canonical40_50.convertCanonical(src.getTransformElement())); for (org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent t : src.getDynamicValue()) @@ -231,12 +237,12 @@ public class ActivityDefinition40_50 { for (org.hl7.fhir.r5.model.Dosage t : src.getDosage()) tgt.addDosage(Dosage40_50.convertDosage(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySite()) tgt.addBodySite(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getSpecimenRequirement()) - tgt.addSpecimenRequirement(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getObservationRequirement()) - tgt.addObservationRequirement(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getObservationResultRequirement()) - tgt.addObservationResultRequirement(Reference40_50.convertReference(t)); + for (org.hl7.fhir.r5.model.CanonicalType t : src.getSpecimenRequirement()) + tgt.addSpecimenRequirement(Reference40_50.convertReferenceToCanonical(t)); + for (org.hl7.fhir.r5.model.CanonicalType t : src.getObservationRequirement()) + tgt.addObservationRequirement(Reference40_50.convertReferenceToCanonical(t)); + for (org.hl7.fhir.r5.model.CanonicalType t : src.getObservationResultRequirement()) + tgt.addObservationResultRequirement(Reference40_50.convertReferenceToCanonical(t)); if (src.hasTransform()) tgt.setTransformElement(Canonical40_50.convertCanonical(src.getTransformElement())); for (org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent t : src.getDynamicValue()) @@ -244,65 +250,62 @@ public class ActivityDefinition40_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypesEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case APPOINTMENT: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENT); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.APPOINTMENT); break; case APPOINTMENTRESPONSE: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENTRESPONSE); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.APPOINTMENTRESPONSE); break; case CAREPLAN: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CAREPLAN); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CAREPLAN); break; case CLAIM: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CLAIM); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CLAIM); break; case COMMUNICATIONREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.COMMUNICATIONREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.COMMUNICATIONREQUEST); break; case CONTRACT: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CONTRACT); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CONTRACT); break; case DEVICEREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.DEVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.DEVICEREQUEST); break; case ENROLLMENTREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.ENROLLMENTREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.ENROLLMENTREQUEST); break; case IMMUNIZATIONRECOMMENDATION: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.IMMUNIZATIONRECOMMENDATION); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.IMMUNIZATIONRECOMMENDATION); break; case MEDICATIONREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.MEDICATIONREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.MEDICATIONREQUEST); break; case NUTRITIONORDER: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NUTRITIONORDER); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.NUTRITIONORDER); break; case SERVICEREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SERVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SERVICEREQUEST); break; case SUPPLYREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SUPPLYREQUEST); - break; - case TASK: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.TASK); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SUPPLYREQUEST); break; case VISIONPRESCRIPTION: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.VISIONPRESCRIPTION); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.VISIONPRESCRIPTION); break; default: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKindEnumFactory()); @@ -347,9 +350,6 @@ public class ActivityDefinition40_50 { case SUPPLYREQUEST: tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.SUPPLYREQUEST); break; - case TASK: - tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.TASK); - break; case VISIONPRESCRIPTION: tgt.setValue(org.hl7.fhir.r4.model.ActivityDefinition.ActivityDefinitionKind.VISIONPRESCRIPTION); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AllergyIntolerance40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AllergyIntolerance40_50.java index 54733e246..0381fb6cc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AllergyIntolerance40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AllergyIntolerance40_50.java @@ -1,7 +1,8 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; @@ -9,12 +10,10 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.AllergyIntolerance.AllergyIntoleranceParticipantComponent; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import org.hl7.fhir.r5.model.AllergyIntolerance.AllergyIntoleranceParticipantComponent; - -import java.util.stream.Collectors; /* Copyright (c) 2011+, HL7, Inc. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AuditEvent40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AuditEvent40_50.java index 28af893ae..f8f6f776c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AuditEvent40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/AuditEvent40_50.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Base64Binary40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Instant40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/BiologicallyDerivedProduct40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/BiologicallyDerivedProduct40_50.java index 6a18f2fb9..e2da5b12c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/BiologicallyDerivedProduct40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/BiologicallyDerivedProduct40_50.java @@ -1,12 +1,7 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java index 0603baa50..40c59be66 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Bundle40_50.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Signature40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Instant40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java index 31214e5be..614704097 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CapabilityStatement40_50.java @@ -1,16 +1,24 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CarePlan40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CarePlan40_50.java index 858ae82b3..46b38d28b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CarePlan40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CarePlan40_50.java @@ -1,8 +1,16 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CareTeam40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CareTeam40_50.java index 5733ae075..aa1f84bd4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CareTeam40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CareTeam40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItem40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItem40_50.java index 2f95a4a87..adc424be4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItem40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItem40_50.java @@ -1,10 +1,17 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Quantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.CodeableReference; /* Copyright (c) 2011+, HL7, Inc. @@ -55,7 +62,7 @@ public class ChargeItem40_50 { if (src.hasSubject()) tgt.setSubject(Reference40_50.convertReference(src.getSubject())); if (src.hasContext()) - tgt.setContext(Reference40_50.convertReference(src.getContext())); + tgt.setEncounter(Reference40_50.convertReference(src.getContext())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence())); for (org.hl7.fhir.r4.model.ChargeItem.ChargeItemPerformerComponent t : src.getPerformer()) @@ -71,18 +78,18 @@ public class ChargeItem40_50 { for (org.hl7.fhir.r4.model.CodeableConcept t : src.getBodysite()) tgt.addBodysite(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasFactorOverride()) - tgt.setFactorOverrideElement(Decimal40_50.convertDecimal(src.getFactorOverrideElement())); - if (src.hasPriceOverride()) - tgt.setPriceOverride(Money40_50.convertMoney(src.getPriceOverride())); - if (src.hasOverrideReason()) - tgt.setOverrideReasonElement(String40_50.convertString(src.getOverrideReasonElement())); +// tgt.setFactorOverrideElement(Decimal40_50.convertDecimal(src.getFactorOverrideElement())); +// if (src.hasPriceOverride()) +// tgt.setPriceOverride(Money40_50.convertMoney(src.getPriceOverride())); +// if (src.hasOverrideReason()) + tgt.getOverrideReason().setTextElement(String40_50.convertString(src.getOverrideReasonElement())); if (src.hasEnterer()) tgt.setEnterer(Reference40_50.convertReference(src.getEnterer())); if (src.hasEnteredDate()) tgt.setEnteredDateElement(DateTime40_50.convertDateTime(src.getEnteredDateElement())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getReason()) tgt.addReason(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r4.model.Reference t : src.getService()) tgt.addService(Reference40_50.convertReference(t)); + for (org.hl7.fhir.r4.model.Reference t : src.getService()) tgt.addService(Reference40_50.convertReferenceToCodeableReference(t)); if (src.hasProductCodeableConcept()) tgt.addProduct().setConcept(CodeableConcept40_50.convertCodeableConcept(src.getProductCodeableConcept())); else if (src.hasProductReference()) @@ -111,8 +118,8 @@ public class ChargeItem40_50 { tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); if (src.hasSubject()) tgt.setSubject(Reference40_50.convertReference(src.getSubject())); - if (src.hasContext()) - tgt.setContext(Reference40_50.convertReference(src.getContext())); + if (src.hasEncounter()) + tgt.setContext(Reference40_50.convertReference(src.getEncounter())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence())); for (org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent t : src.getPerformer()) @@ -127,19 +134,19 @@ public class ChargeItem40_50 { tgt.setQuantity(Quantity40_50.convertQuantity(src.getQuantity())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodysite()) tgt.addBodysite(CodeableConcept40_50.convertCodeableConcept(t)); - if (src.hasFactorOverride()) - tgt.setFactorOverrideElement(Decimal40_50.convertDecimal(src.getFactorOverrideElement())); - if (src.hasPriceOverride()) - tgt.setPriceOverride(Money40_50.convertMoney(src.getPriceOverride())); +// if (src.hasFactorOverride()) +// tgt.setFactorOverrideElement(Decimal40_50.convertDecimal(src.getFactorOverrideElement())); +// if (src.hasPriceOverride()) +// tgt.setPriceOverride(Money40_50.convertMoney(src.getPriceOverride())); if (src.hasOverrideReason()) - tgt.setOverrideReasonElement(String40_50.convertString(src.getOverrideReasonElement())); + tgt.setOverrideReasonElement(String40_50.convertString(src.getOverrideReason().getTextElement())); if (src.hasEnterer()) tgt.setEnterer(Reference40_50.convertReference(src.getEnterer())); if (src.hasEnteredDate()) tgt.setEnteredDateElement(DateTime40_50.convertDateTime(src.getEnteredDateElement())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getReason()) tgt.addReason(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getService()) tgt.addService(Reference40_50.convertReference(t)); + for (CodeableReference t : src.getService()) tgt.addService(Reference40_50.convertCodeableReferenceToReference(t)); if (src.getProductFirstRep().hasConcept()) tgt.setProduct(CodeableConcept40_50.convertCodeableConcept(src.getProductFirstRep().getConcept())); if (src.getProductFirstRep().hasReference()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItemDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItemDefinition40_50.java index c20dd16da..d1daec1ba 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItemDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ChargeItemDefinition40_50.java @@ -3,11 +3,16 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -152,11 +157,11 @@ public class ChargeItemDefinition40_50 { org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent tgt = new org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasDescription()) - tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); + tgt.getCondition().setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); if (src.hasLanguage()) - tgt.setLanguageElement(String40_50.convertString(src.getLanguageElement())); + tgt.getCondition().setLanguage(src.getLanguage()); if (src.hasExpression()) - tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); + tgt.getCondition().setExpressionElement(String40_50.convertString(src.getExpressionElement())); return tgt; } @@ -165,12 +170,12 @@ public class ChargeItemDefinition40_50 { return null; org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent tgt = new org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); - if (src.hasLanguage()) - tgt.setLanguageElement(String40_50.convertString(src.getLanguageElement())); - if (src.hasExpression()) - tgt.setExpressionElement(String40_50.convertString(src.getExpressionElement())); + if (src.getCondition().hasDescription()) + tgt.setDescriptionElement(String40_50.convertString(src.getCondition().getDescriptionElement())); + if (src.getCondition().hasLanguage()) + tgt.setLanguageElement(String40_50.convertString(src.getCondition().getLanguageElement())); + if (src.getCondition().hasExpression()) + tgt.setExpressionElement(String40_50.convertString(src.getCondition().getExpressionElement())); return tgt; } @@ -181,8 +186,8 @@ public class ChargeItemDefinition40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent t : src.getApplicability()) tgt.addApplicability(convertChargeItemDefinitionApplicabilityComponent(t)); - for (org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); +// for (org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); return tgt; } @@ -193,102 +198,102 @@ public class ChargeItemDefinition40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent t : src.getApplicability()) tgt.addApplicability(convertChargeItemDefinitionApplicabilityComponent(t)); - for (org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); +// for (org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); return tgt; } - public static org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money40_50.convertMoney(src.getAmount())); - return tgt; - } - - public static org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money40_50.convertMoney(src.getAmount())); - return tgt; - } - - static public org.hl7.fhir.r5.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r4.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentTypeEnumFactory()); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.NULL); - break; - } - return tgt; - } +// public static org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money40_50.convertMoney(src.getAmount())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money40_50.convertMoney(src.getAmount())); +// return tgt; +// } +// +// static public org.hl7.fhir.r5.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r4.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentTypeEnumFactory()); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r4.model.ChargeItemDefinition.ChargeItemDefinitionPriceComponentType.NULL); +// break; +// } +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Claim40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Claim40_50.java index 9c9c8c952..9c5380059 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Claim40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Claim40_50.java @@ -1,8 +1,17 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -319,7 +328,7 @@ public class Claim40_50 { if (src.hasRole()) tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole())); if (src.hasQualification()) - tgt.setQualification(CodeableConcept40_50.convertCodeableConcept(src.getQualification())); + tgt.setSpecialty(CodeableConcept40_50.convertCodeableConcept(src.getQualification())); return tgt; } @@ -336,8 +345,8 @@ public class Claim40_50 { tgt.setResponsibleElement(Boolean40_50.convertBoolean(src.getResponsibleElement())); if (src.hasRole()) tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole())); - if (src.hasQualification()) - tgt.setQualification(CodeableConcept40_50.convertCodeableConcept(src.getQualification())); + if (src.hasSpecialty()) + tgt.setQualification(CodeableConcept40_50.convertCodeableConcept(src.getSpecialty())); return tgt; } @@ -394,8 +403,8 @@ public class Claim40_50 { tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept40_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -412,8 +421,8 @@ public class Claim40_50 { tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept40_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -562,9 +571,9 @@ public class Claim40_50 { tgt.setNet(Money40_50.convertMoney(src.getNet())); for (org.hl7.fhir.r4.model.Reference t : src.getUdi()) tgt.addUdi(Reference40_50.convertReference(t)); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.Claim.DetailComponent t : src.getDetail()) tgt.addDetail(convertDetailComponent(t)); return tgt; @@ -608,9 +617,9 @@ public class Claim40_50 { if (src.hasNet()) tgt.setNet(Money40_50.convertMoney(src.getNet())); for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference40_50.convertReference(t)); - if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + if (src.getBodySiteFirstRep().hasSite()) + tgt.setBodySite(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Claim.DetailComponent t : src.getDetail()) tgt.addDetail(convertDetailComponent(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ClaimResponse40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ClaimResponse40_50.java index cbe124ee0..c6d204434 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ClaimResponse40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ClaimResponse40_50.java @@ -1,8 +1,18 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -454,9 +464,9 @@ public class ClaimResponse40_50 { if (src.hasNet()) tgt.setNet(Money40_50.convertMoney(src.getNet())); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t)); for (org.hl7.fhir.r4.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication()) @@ -496,9 +506,9 @@ public class ClaimResponse40_50 { tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); if (src.hasNet()) tgt.setNet(Money40_50.convertMoney(src.getNet())); - if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + if (src.getBodySiteFirstRep().hasSite()) + tgt.setBodySite(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CodeSystem40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CodeSystem40_50.java index 5313be8c6..c975516e3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CodeSystem40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CodeSystem40_50.java @@ -1,16 +1,23 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java index ac5b10039..e56f46be0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CompartmentDefinition40_50.java @@ -3,7 +3,12 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java index d462dd93e..bfe176736 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Composition40_50.java @@ -1,17 +1,13 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; -import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Narrative40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.RelatedArtifact; @@ -69,7 +65,7 @@ public class Composition40_50 { if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); if (src.hasConfidentiality()) - tgt.getMeta().addSecurity().setCodeElement(Code40_50.convertCode(src.getConfidentialityElement())); + tgt.getMeta().addSecurity().setCode(src.getConfidentiality().toCode()); for (org.hl7.fhir.r4.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -105,8 +101,8 @@ public class Composition40_50 { for (org.hl7.fhir.r5.model.Reference t : src.getAuthor()) tgt.addAuthor(Reference40_50.convertReference(t)); if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); - if (src.hasConfidentiality()) - tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getConfidentialityElement())); + if (src.getMeta().hasSecurity()) + tgt.setConfidentialityElement(convertDocumentConfidentiality(src.getMeta().getSecurityFirstRep())); for (org.hl7.fhir.r5.model.Composition.CompositionAttesterComponent t : src.getAttester()) tgt.addAttester(convertCompositionAttesterComponent(t)); if (src.hasCustodian()) @@ -170,21 +166,21 @@ public class Composition40_50 { return tgt; } - static public org.hl7.fhir.r5.model.CodeType convertDocumentConfidentiality(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Coding convertDocumentConfidentiality(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.CodeType tgt = new org.hl7.fhir.r5.model.CodeType(); + org.hl7.fhir.r5.model.Coding tgt = new org.hl7.fhir.r5.model.Coding(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - tgt.setValue(src.getValue().toCode()); + tgt.setCode(src.getValue().toCode()); return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertDocumentConfidentiality(org.hl7.fhir.r5.model.CodeType src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertDocumentConfidentiality(org.hl7.fhir.r5.model.Coding src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Composition.DocumentConfidentialityEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { + switch (src.getCode()) { case "U": tgt.setValue(org.hl7.fhir.r4.model.Composition.DocumentConfidentiality.U); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ConceptMap40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ConceptMap40_50.java index 695509b1b..1aad37a33 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ConceptMap40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ConceptMap40_50.java @@ -2,12 +2,17 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Enumerations.ConceptMapEquivalence; import org.hl7.fhir.r5.model.CanonicalType; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Condition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Condition40_50.java index b1452b2f2..557f46e69 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Condition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Condition40_50.java @@ -3,7 +3,6 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import java.util.ArrayList; import java.util.List; -import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; @@ -14,7 +13,6 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import org.hl7.fhir.r5.model.Condition.ConditionParticipantComponent; /* Copyright (c) 2011+, HL7, Inc. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Consent40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Consent40_50.java index 741140c74..6dd65cd2b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Consent40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Consent40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; @@ -270,26 +274,26 @@ public class Consent40_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentProvisionTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ConsentProvisionTypeEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case DENY: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.DENY); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentProvisionType.DENY); break; case PERMIT: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.PERMIT); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentProvisionType.PERMIT); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentProvisionType.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Consent.ConsentProvisionTypeEnumFactory()); @@ -356,32 +360,32 @@ public class Consent40_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentDataMeaningEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaningEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case INSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.INSTANCE); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.INSTANCE); break; case RELATED: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.RELATED); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.RELATED); break; case DEPENDENTS: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.DEPENDENTS); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.DEPENDENTS); break; case AUTHOREDBY: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.AUTHOREDBY); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.AUTHOREDBY); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Consent.ConsentDataMeaningEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Contract40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Contract40_50.java index 6030a33f7..6e164ec61 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Contract40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Contract40_50.java @@ -1,8 +1,21 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Signature40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Coverage40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Coverage40_50.java index 7b6bb64a8..15cee8eb1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Coverage40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Coverage40_50.java @@ -57,7 +57,7 @@ public class Coverage40_50 { if (src.hasSubscriber()) tgt.setSubscriber(Reference40_50.convertReference(src.getSubscriber())); if (src.hasSubscriberId()) - tgt.getSubscriberId().setValueElement(String40_50.convertString(src.getSubscriberIdElement())); + tgt.getSubscriberIdFirstRep().setValueElement(String40_50.convertString(src.getSubscriberIdElement())); if (src.hasBeneficiary()) tgt.setBeneficiary(Reference40_50.convertReference(src.getBeneficiary())); if (src.hasDependent()) @@ -66,7 +66,7 @@ public class Coverage40_50 { tgt.setRelationship(CodeableConcept40_50.convertCodeableConcept(src.getRelationship())); if (src.hasPeriod()) tgt.setPeriod(Period40_50.convertPeriod(src.getPeriod())); - for (org.hl7.fhir.r4.model.Reference t : src.getPayor()) tgt.addPayor(Reference40_50.convertReference(t)); + for (org.hl7.fhir.r4.model.Reference t : src.getPayor()) tgt.setInsurer(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.Coverage.ClassComponent t : src.getClass_()) tgt.addClass_(convertClassComponent(t)); if (src.hasOrder()) tgt.setOrderElement(PositiveInt40_50.convertPositiveInt(src.getOrderElement())); @@ -96,7 +96,7 @@ public class Coverage40_50 { if (src.hasSubscriber()) tgt.setSubscriber(Reference40_50.convertReference(src.getSubscriber())); if (src.hasSubscriberId()) - tgt.setSubscriberIdElement(String40_50.convertString(src.getSubscriberId().getValueElement())); + tgt.setSubscriberIdElement(String40_50.convertString(src.getSubscriberIdFirstRep().getValueElement())); if (src.hasBeneficiary()) tgt.setBeneficiary(Reference40_50.convertReference(src.getBeneficiary())); if (src.hasDependent()) @@ -105,7 +105,7 @@ public class Coverage40_50 { tgt.setRelationship(CodeableConcept40_50.convertCodeableConcept(src.getRelationship())); if (src.hasPeriod()) tgt.setPeriod(Period40_50.convertPeriod(src.getPeriod())); - for (org.hl7.fhir.r5.model.Reference t : src.getPayor()) tgt.addPayor(Reference40_50.convertReference(t)); + tgt.addPayor(Reference40_50.convertReference(src.getInsurer())); for (org.hl7.fhir.r5.model.Coverage.ClassComponent t : src.getClass_()) tgt.addClass_(convertClassComponent(t)); if (src.hasOrder()) tgt.setOrderElement(PositiveInt40_50.convertPositiveInt(src.getOrderElement())); @@ -177,7 +177,7 @@ public class Coverage40_50 { if (src.hasType()) tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); if (src.hasValue()) - tgt.setValueElement(String40_50.convertString(src.getValueElement())); + tgt.getValue().setValueElement(String40_50.convertString(src.getValueElement())); if (src.hasName()) tgt.setNameElement(String40_50.convertString(src.getNameElement())); return tgt; @@ -191,7 +191,7 @@ public class Coverage40_50 { if (src.hasType()) tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); if (src.hasValue()) - tgt.setValueElement(String40_50.convertString(src.getValueElement())); + tgt.setValueElement(String40_50.convertString(src.getValue().getValueElement())); if (src.hasName()) tgt.setNameElement(String40_50.convertString(src.getNameElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CoverageEligibilityRequest40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CoverageEligibilityRequest40_50.java index ff49daf8f..02249b55b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CoverageEligibilityRequest40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/CoverageEligibilityRequest40_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; @@ -12,8 +14,6 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Device40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Device40_50.java index 364e1c1b3..b82037db1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Device40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Device40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Quantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Base64Binary40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; @@ -53,8 +57,8 @@ public class Device40_50 { tgt.addUdiCarrier(convertDeviceUdiCarrierComponent(t)); if (src.hasStatus()) tgt.setStatusElement(convertFHIRDeviceStatus(src.getStatusElement())); - for (org.hl7.fhir.r4.model.CodeableConcept t : src.getStatusReason()) - tgt.addStatusReason(CodeableConcept40_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r4.model.CodeableConcept t : src.getStatusReason()) +// tgt.addStatusReason(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasDistinctIdentifier()) tgt.getBiologicalSourceEvent().setValueElement(String40_50.convertString(src.getDistinctIdentifierElement())); if (src.hasManufacturer()) @@ -82,7 +86,7 @@ public class Device40_50 { for (org.hl7.fhir.r4.model.Device.DevicePropertyComponent t : src.getProperty()) tgt.addProperty(convertDevicePropertyComponent(t)); if (src.hasPatient()) - tgt.setSubject(Reference40_50.convertReference(src.getPatient())); + tgt.getAssociationFirstRep().setHumanSubject(Reference40_50.convertReference(src.getPatient())); if (src.hasOwner()) tgt.setOwner(Reference40_50.convertReference(src.getOwner())); for (org.hl7.fhir.r4.model.ContactPoint t : src.getContact()) @@ -112,8 +116,8 @@ public class Device40_50 { tgt.addUdiCarrier(convertDeviceUdiCarrierComponent(t)); if (src.hasStatus()) tgt.setStatusElement(convertFHIRDeviceStatus(src.getStatusElement())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getStatusReason()) - tgt.addStatusReason(CodeableConcept40_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r5.model.CodeableConcept t : src.getStatusReason()) +// tgt.addStatusReason(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasBiologicalSourceEvent()) tgt.setDistinctIdentifierElement(String40_50.convertString(src.getBiologicalSourceEvent().getValueElement())); if (src.hasManufacturer()) @@ -140,8 +144,8 @@ public class Device40_50 { tgt.addVersion(convertDeviceVersionComponent(t)); for (org.hl7.fhir.r5.model.Device.DevicePropertyComponent t : src.getProperty()) tgt.addProperty(convertDevicePropertyComponent(t)); - if (src.hasSubject()) - tgt.setPatient(Reference40_50.convertReference(src.getSubject())); + if (src.getAssociationFirstRep().hasHumanSubject()) + tgt.setPatient(Reference40_50.convertReference(src.getAssociationFirstRep().getHumanSubject())); if (src.hasOwner()) tgt.setOwner(Reference40_50.convertReference(src.getOwner())); for (org.hl7.fhir.r5.model.ContactPoint t : src.getContact()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DeviceDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DeviceDefinition40_50.java index 36351ae66..e31207094 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DeviceDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DeviceDefinition40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Quantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java index 64adc2c0b..5076b0178 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/DocumentReference40_50.java @@ -1,7 +1,10 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Instant40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java index 04ae29853..12eb4d6c1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Encounter40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Endpoint40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Endpoint40_50.java index 2fe3d5c66..0082b142a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Endpoint40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Endpoint40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; @@ -49,7 +53,7 @@ public class Endpoint40_50 { if (src.hasStatus()) tgt.setStatusElement(convertEndpointStatus(src.getStatusElement())); if (src.hasConnectionType()) - tgt.addConnectionType(Coding40_50.convertCoding(src.getConnectionType())); + tgt.addConnectionType(Coding40_50.convertCodingToCodeableConcept(src.getConnectionType())); if (src.hasName()) tgt.setNameElement(String40_50.convertString(src.getNameElement())); if (src.hasManagingOrganization()) @@ -118,9 +122,6 @@ public class Endpoint40_50 { case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.ENTEREDINERROR); break; - case TEST: - tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.TEST); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.NULL); break; @@ -149,9 +150,6 @@ public class Endpoint40_50 { case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r4.model.Endpoint.EndpointStatus.ENTEREDINERROR); break; - case TEST: - tgt.setValue(org.hl7.fhir.r4.model.Endpoint.EndpointStatus.TEST); - break; default: tgt.setValue(org.hl7.fhir.r4.model.Endpoint.EndpointStatus.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java index b519517fb..8bf970061 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java @@ -227,12 +227,6 @@ public class Enumerations40_50 { case _4_1_0: tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_1_0); break; - case _4_3_0_CIBUILD: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0CIBUILD); - break; - case _4_3_0_SNAPSHOT1: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0SNAPSHOT1); - break; case _4_3_0: tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0); break; @@ -321,12 +315,6 @@ public class Enumerations40_50 { case _4_1_0: tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_1_0); break; - case _4_3_0CIBUILD: - tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_3_0_CIBUILD); - break; - case _4_3_0SNAPSHOT1: - tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_3_0_SNAPSHOT1); - break; case _4_3_0: tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_3_0); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EpisodeOfCare40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EpisodeOfCare40_50.java index f8b23e729..2f62258da 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EpisodeOfCare40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EpisodeOfCare40_50.java @@ -64,7 +64,7 @@ public class EpisodeOfCare40_50 { tgt.addReferralRequest(Reference40_50.convertReference(t)); if (src.hasCareManager()) tgt.setCareManager(Reference40_50.convertReference(src.getCareManager())); - for (org.hl7.fhir.r4.model.Reference t : src.getTeam()) tgt.addTeam(Reference40_50.convertReference(t)); + for (org.hl7.fhir.r4.model.Reference t : src.getTeam()) tgt.addCareTeam(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.Reference t : src.getAccount()) tgt.addAccount(Reference40_50.convertReference(t)); return tgt; } @@ -94,7 +94,7 @@ public class EpisodeOfCare40_50 { tgt.addReferralRequest(Reference40_50.convertReference(t)); if (src.hasCareManager()) tgt.setCareManager(Reference40_50.convertReference(src.getCareManager())); - for (org.hl7.fhir.r5.model.Reference t : src.getTeam()) tgt.addTeam(Reference40_50.convertReference(t)); + for (org.hl7.fhir.r5.model.Reference t : src.getCareTeam()) tgt.addTeam(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference40_50.convertReference(t)); return tgt; } @@ -197,7 +197,7 @@ public class EpisodeOfCare40_50 { org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCondition()) - tgt.setCondition(Reference40_50.convertReference(src.getCondition())); + tgt.setCondition(Reference40_50.convertReferenceToCodeableReference(src.getCondition())); if (src.hasRole()) tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole())); if (src.hasRank()) @@ -211,7 +211,7 @@ public class EpisodeOfCare40_50 { org.hl7.fhir.r4.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.r4.model.EpisodeOfCare.DiagnosisComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCondition()) - tgt.setCondition(Reference40_50.convertReference(src.getCondition())); + tgt.setCondition(Reference40_50.convertCodeableReferenceToReference(src.getCondition())); if (src.hasRole()) tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole())); if (src.hasRank()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EventDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EventDefinition40_50.java index d4ad0c792..c2744faa4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EventDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/EventDefinition40_50.java @@ -8,7 +8,12 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDet import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.TriggerDefinition40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExampleScenario40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExampleScenario40_50.java index d8ac1c057..05a4ab40a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExampleScenario40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExampleScenario40_50.java @@ -5,8 +5,13 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableCon import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r4.model.ExampleScenario.FHIRResourceType; /* Copyright (c) 2011+, HL7, Inc. @@ -76,8 +81,8 @@ public class ExampleScenario40_50 { tgt.addInstance(convertExampleScenarioInstanceComponent(t)); for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) tgt.addProcess(convertExampleScenarioProcessComponent(t)); - for (org.hl7.fhir.r4.model.CanonicalType t : src.getWorkflow()) - tgt.getWorkflow().add(Canonical40_50.convertCanonical(t)); +// for (org.hl7.fhir.r4.model.CanonicalType t : src.getWorkflow()) +// tgt.getWorkflow().add(Canonical40_50.convertCanonical(t)); return tgt; } @@ -118,8 +123,8 @@ public class ExampleScenario40_50 { tgt.addInstance(convertExampleScenarioInstanceComponent(t)); for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) tgt.addProcess(convertExampleScenarioProcessComponent(t)); - for (org.hl7.fhir.r5.model.CanonicalType t : src.getWorkflow()) - tgt.getWorkflow().add(Canonical40_50.convertCanonical(t)); +// for (org.hl7.fhir.r5.model.CanonicalType t : src.getWorkflow()) +// tgt.getWorkflow().add(Canonical40_50.convertCanonical(t)); return tgt; } @@ -129,11 +134,11 @@ public class ExampleScenario40_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasActorId()) - tgt.setActorIdElement(String40_50.convertString(src.getActorIdElement())); + tgt.setKeyElement(String40_50.convertString(src.getActorIdElement())); if (src.hasType()) tgt.setTypeElement(convertExampleScenarioActorType(src.getTypeElement())); if (src.hasName()) - tgt.setNameElement(String40_50.convertString(src.getNameElement())); + tgt.setTitleElement(String40_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); return tgt; @@ -144,37 +149,37 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasActorId()) - tgt.setActorIdElement(String40_50.convertString(src.getActorIdElement())); + if (src.hasKey()) + tgt.setActorIdElement(String40_50.convertString(src.getKeyElement())); if (src.hasType()) tgt.setTypeElement(convertExampleScenarioActorType(src.getTypeElement())); - if (src.hasName()) - tgt.setNameElement(String40_50.convertString(src.getNameElement())); + if (src.hasTitle()) + tgt.setNameElement(String40_50.convertString(src.getTitleElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorTypeEnumFactory()); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); switch (src.getValue()) { case PERSON: - tgt.setValue(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorType.PERSON); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType.PERSON); break; case ENTITY: - tgt.setValue(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorType.ENTITY); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType.SYSTEM); break; default: - tgt.setValue(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType.NULL); break; } return tgt; } - static public org.hl7.fhir.r4.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorTypeEnumFactory()); @@ -183,7 +188,7 @@ public class ExampleScenario40_50 { case PERSON: tgt.setValue(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorType.PERSON); break; - case ENTITY: + case SYSTEM: tgt.setValue(org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioActorType.ENTITY); break; default: @@ -199,11 +204,11 @@ public class ExampleScenario40_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasResourceId()) - tgt.setResourceIdElement(String40_50.convertString(src.getResourceIdElement())); + tgt.setKeyElement(String40_50.convertString(src.getResourceIdElement())); if (src.hasResourceType()) - tgt.setTypeElement(convertFHIRResourceType(src.getResourceTypeElement())); + tgt.getStructureType().setCode(src.getResourceType().toCode()); if (src.hasName()) - tgt.setNameElement(String40_50.convertString(src.getNameElement())); + tgt.setTitleElement(String40_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent t : src.getVersion()) @@ -218,12 +223,12 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasResourceId()) - tgt.setResourceIdElement(String40_50.convertString(src.getResourceIdElement())); + if (src.hasKey()) + tgt.setResourceIdElement(String40_50.convertString(src.getKeyElement())); if (src.hasType()) - tgt.setResourceTypeElement(convertFHIRResourceType(src.getTypeElement())); - if (src.hasName()) - tgt.setNameElement(String40_50.convertString(src.getNameElement())); + tgt.setResourceType(FHIRResourceType.fromCode(src.getStructureType().getCode())); + if (src.hasTitle()) + tgt.setNameElement(String40_50.convertString(src.getTitleElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent t : src.getVersion()) @@ -255,7 +260,7 @@ public class ExampleScenario40_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasVersionId()) - tgt.setVersionIdElement(String40_50.convertString(src.getVersionIdElement())); + tgt.setKeyElement(String40_50.convertString(src.getVersionIdElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); return tgt; @@ -266,8 +271,8 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceVersionComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasVersionId()) - tgt.setVersionIdElement(String40_50.convertString(src.getVersionIdElement())); + if (src.hasKey()) + tgt.setVersionIdElement(String40_50.convertString(src.getKeyElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown40_50.convertMarkdown(src.getDescriptionElement())); return tgt; @@ -279,9 +284,9 @@ public class ExampleScenario40_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasResourceId()) - tgt.setResourceIdElement(String40_50.convertString(src.getResourceIdElement())); + tgt.setInstanceReferenceElement(String40_50.convertString(src.getResourceIdElement())); if (src.hasVersionId()) - tgt.setVersionIdElement(String40_50.convertString(src.getVersionIdElement())); + tgt.setVersionReferenceElement(String40_50.convertString(src.getVersionIdElement())); return tgt; } @@ -290,10 +295,10 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasResourceId()) - tgt.setResourceIdElement(String40_50.convertString(src.getResourceIdElement())); - if (src.hasVersionId()) - tgt.setVersionIdElement(String40_50.convertString(src.getVersionIdElement())); + if (src.hasInstanceReference()) + tgt.setResourceIdElement(String40_50.convertString(src.getInstanceReferenceElement())); + if (src.hasVersionReference()) + tgt.setVersionIdElement(String40_50.convertString(src.getVersionReferenceElement())); return tgt; } @@ -339,7 +344,7 @@ public class ExampleScenario40_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) - tgt.addProcess(convertExampleScenarioProcessComponent(t)); + tgt.setProcess(convertExampleScenarioProcessComponent(t)); if (src.hasPause()) tgt.setPauseElement(Boolean40_50.convertBoolean(src.getPauseElement())); if (src.hasOperation()) @@ -354,8 +359,7 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) - tgt.addProcess(convertExampleScenarioProcessComponent(t)); + tgt.addProcess(convertExampleScenarioProcessComponent(src.getProcess())); if (src.hasPause()) tgt.setPauseElement(Boolean40_50.convertBoolean(src.getPauseElement())); if (src.hasOperation()) @@ -370,12 +374,12 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasNumber()) - tgt.setNumberElement(String40_50.convertString(src.getNumberElement())); +// if (src.hasNumber()) +// tgt.setNumberElement(String40_50.convertString(src.getNumberElement())); if (src.hasType()) - tgt.setTypeElement(String40_50.convertString(src.getTypeElement())); + tgt.getType().setCode(src.getType()); if (src.hasName()) - tgt.setNameElement(String40_50.convertString(src.getNameElement())); + tgt.setTitleElement(String40_50.convertString(src.getNameElement())); if (src.hasInitiator()) tgt.setInitiatorElement(String40_50.convertString(src.getInitiatorElement())); if (src.hasReceiver()) @@ -398,12 +402,12 @@ public class ExampleScenario40_50 { return null; org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent tgt = new org.hl7.fhir.r4.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasNumber()) - tgt.setNumberElement(String40_50.convertString(src.getNumberElement())); +// if (src.hasNumber()) +// tgt.setNumberElement(String40_50.convertString(src.getNumberElement())); if (src.hasType()) - tgt.setTypeElement(String40_50.convertString(src.getTypeElement())); - if (src.hasName()) - tgt.setNameElement(String40_50.convertString(src.getNameElement())); + tgt.setType(src.getType().getCode()); + if (src.hasTitle()) + tgt.setNameElement(String40_50.convertString(src.getTitleElement())); if (src.hasInitiator()) tgt.setInitiatorElement(String40_50.convertString(src.getInitiatorElement())); if (src.hasReceiver()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExplanationOfBenefit40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExplanationOfBenefit40_50.java index b15252e1e..62e50bd8e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExplanationOfBenefit40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ExplanationOfBenefit40_50.java @@ -1,8 +1,19 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -435,7 +446,7 @@ public class ExplanationOfBenefit40_50 { if (src.hasRole()) tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole())); if (src.hasQualification()) - tgt.setQualification(CodeableConcept40_50.convertCodeableConcept(src.getQualification())); + tgt.setSpecialty(CodeableConcept40_50.convertCodeableConcept(src.getQualification())); return tgt; } @@ -452,8 +463,8 @@ public class ExplanationOfBenefit40_50 { tgt.setResponsibleElement(Boolean40_50.convertBoolean(src.getResponsibleElement())); if (src.hasRole()) tgt.setRole(CodeableConcept40_50.convertCodeableConcept(src.getRole())); - if (src.hasQualification()) - tgt.setQualification(CodeableConcept40_50.convertCodeableConcept(src.getQualification())); + if (src.hasSpecialty()) + tgt.setQualification(CodeableConcept40_50.convertCodeableConcept(src.getSpecialty())); return tgt; } @@ -510,8 +521,8 @@ public class ExplanationOfBenefit40_50 { tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept40_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -528,8 +539,8 @@ public class ExplanationOfBenefit40_50 { tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept40_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept40_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -662,9 +673,9 @@ public class ExplanationOfBenefit40_50 { tgt.setNet(Money40_50.convertMoney(src.getNet())); for (org.hl7.fhir.r4.model.Reference t : src.getUdi()) tgt.addUdi(Reference40_50.convertReference(t)); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t)); @@ -713,9 +724,9 @@ public class ExplanationOfBenefit40_50 { if (src.hasNet()) tgt.setNet(Money40_50.convertMoney(src.getNet())); for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference40_50.convertReference(t)); - if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + if (src.getBodySiteFirstRep().hasSite()) + tgt.setBodySite(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber()) @@ -926,9 +937,9 @@ public class ExplanationOfBenefit40_50 { if (src.hasNet()) tgt.setNet(Money40_50.convertMoney(src.getNet())); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t)); for (org.hl7.fhir.r4.model.ExplanationOfBenefit.AdjudicationComponent t : src.getAdjudication()) @@ -968,9 +979,9 @@ public class ExplanationOfBenefit40_50 { tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); if (src.hasNet()) tgt.setNet(Money40_50.convertMoney(src.getNet())); - if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept40_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + if (src.getBodySiteFirstRep().hasSite()) + tgt.setBodySite(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt40_50.convertPositiveInt(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/FamilyMemberHistory40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/FamilyMemberHistory40_50.java index d29c1c198..32e476893 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/FamilyMemberHistory40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/FamilyMemberHistory40_50.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java index aab9b7a79..d12e19fab 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/GraphDefinition40_50.java @@ -4,7 +4,14 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java index 88f7b2e88..8304370c9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/HealthcareService40_50.java @@ -1,17 +1,17 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ExtendedContactDetail; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImagingStudy40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImagingStudy40_50.java index 81ca8d681..deec1546d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImagingStudy40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImagingStudy40_50.java @@ -11,7 +11,6 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4.model.codesystems.CodesystemAltcodeKindEnumFactory; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Immunization40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Immunization40_50.java index f75ac82d7..9bc7d5d11 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Immunization40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Immunization40_50.java @@ -5,7 +5,10 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; @@ -69,7 +72,7 @@ public class Immunization40_50 { if (src.hasLocation()) tgt.setLocation(Reference40_50.convertReference(src.getLocation())); if (src.hasManufacturer()) - tgt.setManufacturer(Reference40_50.convertReference(src.getManufacturer())); + tgt.setManufacturer(Reference40_50.convertReferenceToCodeableReference(src.getManufacturer())); if (src.hasLotNumber()) tgt.setLotNumberElement(String40_50.convertString(src.getLotNumberElement())); if (src.hasExpirationDate()) @@ -92,10 +95,10 @@ public class Immunization40_50 { for (org.hl7.fhir.r4.model.CodeableConcept t : src.getSubpotentReason()) tgt.addSubpotentReason(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) - tgt.addEducation(convertImmunizationEducationComponent(t)); - for (org.hl7.fhir.r4.model.CodeableConcept t : src.getProgramEligibility()) - tgt.addProgramEligibility(CodeableConcept40_50.convertCodeableConcept(t)); - if (src.hasFundingSource()) +// tgt.addEducation(convertImmunizationEducationComponent(t)); +// for (org.hl7.fhir.r4.model.CodeableConcept t : src.getProgramEligibility()) +// tgt.addProgramEligibility(CodeableConcept40_50.convertCodeableConcept(t)); +// if (src.hasFundingSource()) tgt.setFundingSource(CodeableConcept40_50.convertCodeableConcept(src.getFundingSource())); for (org.hl7.fhir.r4.model.Immunization.ImmunizationReactionComponent t : src.getReaction()) tgt.addReaction(convertImmunizationReactionComponent(t)); @@ -132,7 +135,7 @@ public class Immunization40_50 { if (src.hasLocation()) tgt.setLocation(Reference40_50.convertReference(src.getLocation())); if (src.hasManufacturer()) - tgt.setManufacturer(Reference40_50.convertReference(src.getManufacturer())); + tgt.setManufacturer(Reference40_50.convertCodeableReferenceToReference(src.getManufacturer())); if (src.hasLotNumber()) tgt.setLotNumberElement(String40_50.convertString(src.getLotNumberElement())); if (src.hasExpirationDate()) @@ -156,10 +159,10 @@ public class Immunization40_50 { tgt.setIsSubpotentElement(Boolean40_50.convertBoolean(src.getIsSubpotentElement())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubpotentReason()) tgt.addSubpotentReason(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) - tgt.addEducation(convertImmunizationEducationComponent(t)); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramEligibility()) - tgt.addProgramEligibility(CodeableConcept40_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) +// tgt.addEducation(convertImmunizationEducationComponent(t)); +// for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramEligibility()) +// tgt.addProgramEligibility(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasFundingSource()) tgt.setFundingSource(CodeableConcept40_50.convertCodeableConcept(src.getFundingSource())); for (org.hl7.fhir.r5.model.Immunization.ImmunizationReactionComponent t : src.getReaction()) @@ -237,37 +240,37 @@ public class Immunization40_50 { return tgt; } - public static org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDocumentType()) - tgt.setDocumentTypeElement(String40_50.convertString(src.getDocumentTypeElement())); - if (src.hasReference()) - tgt.setReferenceElement(Uri40_50.convertUri(src.getReferenceElement())); - if (src.hasPublicationDate()) - tgt.setPublicationDateElement(DateTime40_50.convertDateTime(src.getPublicationDateElement())); - if (src.hasPresentationDate()) - tgt.setPresentationDateElement(DateTime40_50.convertDateTime(src.getPresentationDateElement())); - return tgt; - } - - public static org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDocumentType()) - tgt.setDocumentTypeElement(String40_50.convertString(src.getDocumentTypeElement())); - if (src.hasReference()) - tgt.setReferenceElement(Uri40_50.convertUri(src.getReferenceElement())); - if (src.hasPublicationDate()) - tgt.setPublicationDateElement(DateTime40_50.convertDateTime(src.getPublicationDateElement())); - if (src.hasPresentationDate()) - tgt.setPresentationDateElement(DateTime40_50.convertDateTime(src.getPresentationDateElement())); - return tgt; - } +// public static org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasDocumentType()) +// tgt.setDocumentTypeElement(String40_50.convertString(src.getDocumentTypeElement())); +// if (src.hasReference()) +// tgt.setReferenceElement(Uri40_50.convertUri(src.getReferenceElement())); +// if (src.hasPublicationDate()) +// tgt.setPublicationDateElement(DateTime40_50.convertDateTime(src.getPublicationDateElement())); +// if (src.hasPresentationDate()) +// tgt.setPresentationDateElement(DateTime40_50.convertDateTime(src.getPresentationDateElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r4.model.Immunization.ImmunizationEducationComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasDocumentType()) +// tgt.setDocumentTypeElement(String40_50.convertString(src.getDocumentTypeElement())); +// if (src.hasReference()) +// tgt.setReferenceElement(Uri40_50.convertUri(src.getReferenceElement())); +// if (src.hasPublicationDate()) +// tgt.setPublicationDateElement(DateTime40_50.convertDateTime(src.getPublicationDateElement())); +// if (src.hasPresentationDate()) +// tgt.setPresentationDateElement(DateTime40_50.convertDateTime(src.getPresentationDateElement())); +// return tgt; +// } public static org.hl7.fhir.r5.model.Immunization.ImmunizationReactionComponent convertImmunizationReactionComponent(org.hl7.fhir.r4.model.Immunization.ImmunizationReactionComponent src) throws FHIRException { if (src == null) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index c0fe7464e..04c31ecad 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -1,18 +1,24 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -2280,7 +2286,7 @@ public class ImplementationGuide40_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code40_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); return tgt; @@ -2292,7 +2298,7 @@ public class ImplementationGuide40_50 { org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideGlobalComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code40_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code40_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/InsurancePlan40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/InsurancePlan40_50.java index 6202df4be..d34f18153 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/InsurancePlan40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/InsurancePlan40_50.java @@ -1,7 +1,14 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Quantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; @@ -113,7 +120,7 @@ public class InsurancePlan40_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept40_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName40_50.convertHumanName(src.getName())); + tgt.addName(HumanName40_50.convertHumanName(src.getName())); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); if (src.hasAddress()) @@ -129,7 +136,7 @@ public class InsurancePlan40_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept40_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName40_50.convertHumanName(src.getName())); + tgt.setName(HumanName40_50.convertHumanName(src.getNameFirstRep())); for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); if (src.hasAddress()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Invoice40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Invoice40_50.java index e8924d500..752fbd53e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Invoice40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Invoice40_50.java @@ -5,7 +5,10 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -67,8 +70,8 @@ public class Invoice40_50 { tgt.setAccount(Reference40_50.convertReference(src.getAccount())); for (org.hl7.fhir.r4.model.Invoice.InvoiceLineItemComponent t : src.getLineItem()) tgt.addLineItem(convertInvoiceLineItemComponent(t)); - for (org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) - tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) +// tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); if (src.hasTotalNet()) tgt.setTotalNet(Money40_50.convertMoney(src.getTotalNet())); if (src.hasTotalGross()) @@ -106,8 +109,8 @@ public class Invoice40_50 { tgt.setAccount(Reference40_50.convertReference(src.getAccount())); for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemComponent t : src.getLineItem()) tgt.addLineItem(convertInvoiceLineItemComponent(t)); - for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) - tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) +// tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); if (src.hasTotalNet()) tgt.setTotalNet(Money40_50.convertMoney(src.getTotalNet())); if (src.hasTotalGross()) @@ -207,8 +210,8 @@ public class Invoice40_50 { tgt.setSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSequenceElement())); if (src.hasChargeItem()) tgt.setChargeItem(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getChargeItem())); - for (org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); return tgt; } @@ -221,102 +224,102 @@ public class Invoice40_50 { tgt.setSequenceElement(PositiveInt40_50.convertPositiveInt(src.getSequenceElement())); if (src.hasChargeItem()) tgt.setChargeItem(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getChargeItem())); - for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); return tgt; } - public static org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money40_50.convertMoney(src.getAmount())); - return tgt; - } - - public static org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money40_50.convertMoney(src.getAmount())); - return tgt; - } - - static public org.hl7.fhir.r5.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r4.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentTypeEnumFactory()); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } +// public static org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money40_50.convertMoney(src.getAmount())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r4.model.Invoice.InvoiceLineItemPriceComponentComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal40_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money40_50.convertMoney(src.getAmount())); +// return tgt; +// } +// +// static public org.hl7.fhir.r5.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r4.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r4.model.Invoice.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Library40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Library40_50.java index 1da694271..e21129edf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Library40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Library40_50.java @@ -5,8 +5,17 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.DataRequirement40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ParameterDefinition40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java index 383169423..60e5043ee 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Location40_50.java @@ -1,18 +1,18 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ContactPoint; import org.hl7.fhir.r5.model.ExtendedContactDetail; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Measure40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Measure40_50.java index 9cea836d4..03258da84 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Measure40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Measure40_50.java @@ -8,8 +8,15 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDet import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.Expression40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Measure.MeasureTermComponent; /* Copyright (c) 2011+, HL7, Inc. @@ -122,7 +129,7 @@ public class Measure40_50 { if (src.hasImprovementNotation()) tgt.setImprovementNotation(CodeableConcept40_50.convertCodeableConcept(src.getImprovementNotation())); for (org.hl7.fhir.r4.model.MarkdownType t : src.getDefinition()) - tgt.getDefinition().add(MarkDown40_50.convertMarkdown(t)); + tgt.addTerm().setDefinitionElement(MarkDown40_50.convertMarkdown(t)); if (src.hasGuidance()) tgt.setGuidanceElement(MarkDown40_50.convertMarkdown(src.getGuidanceElement())); for (org.hl7.fhir.r4.model.Measure.MeasureGroupComponent t : src.getGroup()) @@ -211,8 +218,8 @@ public class Measure40_50 { tgt.setClinicalRecommendationStatementElement(MarkDown40_50.convertMarkdown(src.getClinicalRecommendationStatementElement())); if (src.hasImprovementNotation()) tgt.setImprovementNotation(CodeableConcept40_50.convertCodeableConcept(src.getImprovementNotation())); - for (org.hl7.fhir.r5.model.MarkdownType t : src.getDefinition()) - tgt.getDefinition().add(MarkDown40_50.convertMarkdown(t)); + for (MeasureTermComponent t : src.getTerm()) + tgt.getDefinition().add(MarkDown40_50.convertMarkdown(t.getDefinitionElement())); if (src.hasGuidance()) tgt.setGuidanceElement(MarkDown40_50.convertMarkdown(src.getGuidanceElement())); for (org.hl7.fhir.r5.model.Measure.MeasureGroupComponent t : src.getGroup()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MeasureReport40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MeasureReport40_50.java index a612b570c..72731318a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MeasureReport40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MeasureReport40_50.java @@ -162,7 +162,7 @@ public class MeasureReport40_50 { tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.SUMMARY); break; case DATACOLLECTION: - tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.DATACOLLECTION); + tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.DATAEXCHANGE); break; default: tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.NULL); @@ -186,7 +186,7 @@ public class MeasureReport40_50 { case SUMMARY: tgt.setValue(org.hl7.fhir.r4.model.MeasureReport.MeasureReportType.SUMMARY); break; - case DATACOLLECTION: + case DATAEXCHANGE: tgt.setValue(org.hl7.fhir.r4.model.MeasureReport.MeasureReportType.DATACOLLECTION); break; default: @@ -262,7 +262,7 @@ public class MeasureReport40_50 { org.hl7.fhir.r5.model.MeasureReport.MeasureReportGroupStratifierComponent tgt = new org.hl7.fhir.r5.model.MeasureReport.MeasureReportGroupStratifierComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getCode()) - tgt.addCode(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.setCode(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.MeasureReport.StratifierGroupComponent t : src.getStratum()) tgt.addStratum(convertStratifierGroupComponent(t)); return tgt; @@ -273,8 +273,7 @@ public class MeasureReport40_50 { return null; org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupStratifierComponent tgt = new org.hl7.fhir.r4.model.MeasureReport.MeasureReportGroupStratifierComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCode()) - tgt.addCode(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.addCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); for (org.hl7.fhir.r5.model.MeasureReport.StratifierGroupComponent t : src.getStratum()) tgt.addStratum(convertStratifierGroupComponent(t)); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationAdministration40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationAdministration40_50.java index 00ebfc315..37d149214 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationAdministration40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationAdministration40_50.java @@ -6,7 +6,6 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableCon import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; @@ -49,7 +48,7 @@ public class MedicationAdministration40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); for (org.hl7.fhir.r4.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(Identifier40_50.convertIdentifier(t)); - for (org.hl7.fhir.r4.model.UriType t : src.getInstantiates()) tgt.getInstantiatesUri().add(Uri40_50.convertUri(t)); +// for (org.hl7.fhir.r4.model.UriType t : src.getInstantiates()) tgt.getInstantiatesUri().add(Uri40_50.convertUri(t)); for (org.hl7.fhir.r4.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference40_50.convertReference(t)); if (src.hasStatus()) tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); @@ -93,7 +92,7 @@ public class MedicationAdministration40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(Identifier40_50.convertIdentifier(t)); - for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) tgt.getInstantiates().add(Uri40_50.convertUri(t)); +// for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) tgt.getInstantiates().add(Uri40_50.convertUri(t)); for (org.hl7.fhir.r5.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference40_50.convertReference(t)); if (src.hasStatus()) tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationKnowledge40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationKnowledge40_50.java index 043cab61c..6847745f3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationKnowledge40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationKnowledge40_50.java @@ -1,14 +1,15 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Money40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.CodeableConcept; -import org.hl7.fhir.r5.model.Coding; import org.hl7.fhir.r5.model.MedicationKnowledge.MedicationKnowledgePackagingComponent; import org.hl7.fhir.r5.model.MedicationKnowledge.MedicationKnowledgeStatusCodesEnumFactory; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationRequest40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationRequest40_50.java index 42596e62d..a47dace69 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationRequest40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MedicationRequest40_50.java @@ -1,8 +1,15 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Dosage40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -85,10 +92,10 @@ public class MedicationRequest40_50 { tgt.addReason().setConcept(CodeableConcept40_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4.model.Reference t : src.getReasonReference()) tgt.addReason().setReference(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r4.model.CanonicalType t : src.getInstantiatesCanonical()) - tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t)); - for (org.hl7.fhir.r4.model.UriType t : src.getInstantiatesUri()) - tgt.getInstantiatesUri().add(Uri40_50.convertUri(t)); +// for (org.hl7.fhir.r4.model.CanonicalType t : src.getInstantiatesCanonical()) +// tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t)); +// for (org.hl7.fhir.r4.model.UriType t : src.getInstantiatesUri()) +// tgt.getInstantiatesUri().add(Uri40_50.convertUri(t)); for (org.hl7.fhir.r4.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference40_50.convertReference(t)); if (src.hasGroupIdentifier()) tgt.setGroupIdentifier(Identifier40_50.convertIdentifier(src.getGroupIdentifier())); @@ -160,10 +167,10 @@ public class MedicationRequest40_50 { if (t.hasReference()) tgt.addReasonReference(Reference40_50.convertReference(t.getReference())); } - for (org.hl7.fhir.r5.model.CanonicalType t : src.getInstantiatesCanonical()) - tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t)); - for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) - tgt.getInstantiatesUri().add(Uri40_50.convertUri(t)); +// for (org.hl7.fhir.r5.model.CanonicalType t : src.getInstantiatesCanonical()) +// tgt.getInstantiatesCanonical().add(Canonical40_50.convertCanonical(t)); +// for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) +// tgt.getInstantiatesUri().add(Uri40_50.convertUri(t)); for (org.hl7.fhir.r5.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference40_50.convertReference(t)); if (src.hasGroupIdentifier()) tgt.setGroupIdentifier(Identifier40_50.convertIdentifier(src.getGroupIdentifier())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageDefinition40_50.java index 1c1300269..260725d22 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageDefinition40_50.java @@ -5,7 +5,14 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableCon import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.UnsignedInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; /* @@ -250,7 +257,7 @@ public class MessageDefinition40_50 { org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent tgt = new org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code40_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); if (src.hasMin()) @@ -266,7 +273,7 @@ public class MessageDefinition40_50 { org.hl7.fhir.r4.model.MessageDefinition.MessageDefinitionFocusComponent tgt = new org.hl7.fhir.r4.model.MessageDefinition.MessageDefinitionFocusComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code40_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical40_50.convertCanonical(src.getProfileElement())); if (src.hasMin()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java index ea5d248cf..2feb5d60c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java @@ -4,7 +4,6 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/NutritionOrder40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/NutritionOrder40_50.java index 530440b83..ab0ba8385 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/NutritionOrder40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/NutritionOrder40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Timing40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; @@ -57,7 +61,7 @@ public class NutritionOrder40_50 { if (src.hasIntent()) tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement())); if (src.hasPatient()) - tgt.setPatient(Reference40_50.convertReference(src.getPatient())); + tgt.setSubject(Reference40_50.convertReference(src.getPatient())); if (src.hasEncounter()) tgt.setEncounter(Reference40_50.convertReference(src.getEncounter())); if (src.hasDateTime()) @@ -96,8 +100,8 @@ public class NutritionOrder40_50 { tgt.setStatusElement(convertNutritionOrderStatus(src.getStatusElement())); if (src.hasIntent()) tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement())); - if (src.hasPatient()) - tgt.setPatient(Reference40_50.convertReference(src.getPatient())); + if (src.hasSubject()) + tgt.setPatient(Reference40_50.convertReference(src.getSubject())); if (src.hasEncounter()) tgt.setEncounter(Reference40_50.convertReference(src.getEncounter())); if (src.hasDateTime()) @@ -275,7 +279,7 @@ public class NutritionOrder40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing40_50.convertTiming(t)); + for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing40_50.convertTiming(t)); for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient()) tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t)); for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture()) @@ -294,7 +298,7 @@ public class NutritionOrder40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept40_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing40_50.convertTiming(t)); + for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing40_50.convertTiming(t)); for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient()) tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t)); for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture()) @@ -360,10 +364,10 @@ public class NutritionOrder40_50 { org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); + tgt.setType(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getType())); if (src.hasProductName()) tgt.setProductNameElement(String40_50.convertString(src.getProductNameElement())); - for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing40_50.convertTiming(t)); + for (org.hl7.fhir.r4.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing40_50.convertTiming(t)); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity())); if (src.hasInstruction()) @@ -377,10 +381,10 @@ public class NutritionOrder40_50 { org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderSupplementComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); + tgt.setType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getType())); if (src.hasProductName()) tgt.setProductNameElement(String40_50.convertString(src.getProductNameElement())); - for (org.hl7.fhir.r5.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing40_50.convertTiming(t)); + for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing40_50.convertTiming(t)); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity())); if (src.hasInstruction()) @@ -394,17 +398,17 @@ public class NutritionOrder40_50 { org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasBaseFormulaType()) - tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableConcept(src.getBaseFormulaType())); + tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getBaseFormulaType())); if (src.hasBaseFormulaProductName()) tgt.setBaseFormulaProductNameElement(String40_50.convertString(src.getBaseFormulaProductNameElement())); - if (src.hasAdditiveType()) - tgt.setAdditiveType(CodeableConcept40_50.convertCodeableConcept(src.getAdditiveType())); - if (src.hasAdditiveProductName()) - tgt.setAdditiveProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement())); +// if (src.hasAdditiveType()) +// tgt.setAdditiveType(CodeableConcept40_50.convertCodeableConcept(src.getAdditiveType())); +// if (src.hasAdditiveProductName()) +// tgt.setAdditiveProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement())); if (src.hasCaloricDensity()) tgt.setCaloricDensity(SimpleQuantity40_50.convertSimpleQuantity(src.getCaloricDensity())); if (src.hasRouteofAdministration()) - tgt.setRouteofAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteofAdministration())); + tgt.setRouteOfAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteofAdministration())); for (org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration()) tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t)); if (src.hasMaxVolumeToDeliver()) @@ -420,17 +424,14 @@ public class NutritionOrder40_50 { org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasBaseFormulaType()) - tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableConcept(src.getBaseFormulaType())); + tgt.setBaseFormulaType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getBaseFormulaType())); if (src.hasBaseFormulaProductName()) tgt.setBaseFormulaProductNameElement(String40_50.convertString(src.getBaseFormulaProductNameElement())); - if (src.hasAdditiveType()) - tgt.setAdditiveType(CodeableConcept40_50.convertCodeableConcept(src.getAdditiveType())); - if (src.hasAdditiveProductName()) - tgt.setAdditiveProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement())); +// if (src.hasAdditeProductNameElement(String40_50.convertString(src.getAdditiveProductNameElement())); if (src.hasCaloricDensity()) tgt.setCaloricDensity(SimpleQuantity40_50.convertSimpleQuantity(src.getCaloricDensity())); - if (src.hasRouteofAdministration()) - tgt.setRouteofAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteofAdministration())); + if (src.hasRouteOfAdministration()) + tgt.setRouteofAdministration(CodeableConcept40_50.convertCodeableConcept(src.getRouteOfAdministration())); for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration()) tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t)); if (src.hasMaxVolumeToDeliver()) @@ -446,7 +447,7 @@ public class NutritionOrder40_50 { org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasSchedule()) - tgt.setSchedule(Timing40_50.convertTiming(src.getSchedule())); + tgt.getSchedule().addTiming(Timing40_50.convertTiming(src.getSchedule())); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity())); if (src.hasRate()) @@ -459,8 +460,8 @@ public class NutritionOrder40_50 { return null; org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r4.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasSchedule()) - tgt.setSchedule(Timing40_50.convertTiming(src.getSchedule())); + if (src.getSchedule().hasTiming()) + tgt.setSchedule(Timing40_50.convertTiming(src.getSchedule().getTimingFirstRep())); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity40_50.convertSimpleQuantity(src.getQuantity())); if (src.hasRate()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Observation40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Observation40_50.java index 1773ee716..cf4b9ad9d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Observation40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Observation40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Range40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Instant40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ObservationDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ObservationDefinition40_50.java index 6b5b4b092..8a826f4be 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ObservationDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ObservationDefinition40_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; @@ -9,8 +11,6 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java index 955289aa4..5a5fd1951 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OperationDefinition40_50.java @@ -4,7 +4,14 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; @@ -80,7 +87,7 @@ public class OperationDefinition40_50 { tgt.setCommentElement(MarkDown40_50.convertMarkdown(src.getCommentElement())); if (src.hasBase()) tgt.setBaseElement(Canonical40_50.convertCanonical(src.getBaseElement())); - for (org.hl7.fhir.r4.model.CodeType t : src.getResource()) tgt.getResource().add(Code40_50.convertResourceEnum(t)); + for (org.hl7.fhir.r4.model.CodeType t : src.getResource()) tgt.getResource().add(Code40_50.convertCode(t)); if (src.hasSystem()) tgt.setSystemElement(Boolean40_50.convertBoolean(src.getSystemElement())); if (src.hasType()) @@ -139,7 +146,7 @@ public class OperationDefinition40_50 { tgt.setCommentElement(MarkDown40_50.convertMarkdown(src.getCommentElement())); if (src.hasBase()) tgt.setBaseElement(Canonical40_50.convertCanonical(src.getBaseElement())); - for (CodeType t : src.getResource()) tgt.getResource().add(Code40_50.convertResourceEnum(t)); + for (CodeType t : src.getResource()) tgt.getResource().add(Code40_50.convertCode(t)); if (src.hasSystem()) tgt.setSystemElement(Boolean40_50.convertBoolean(src.getSystemElement())); if (src.hasType()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java index a067091a2..2d0559baa 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Organization40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; @@ -53,9 +57,9 @@ public class Organization40_50 { if (src.hasName()) tgt.setNameElement(String40_50.convertString(src.getNameElement())); for (org.hl7.fhir.r4.model.StringType t : src.getAlias()) tgt.getAlias().add(String40_50.convertString(t)); + for (org.hl7.fhir.r4.model.Address t : src.getAddress()) tgt.addContact().setAddress(Address40_50.convertAddress(t)); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) tgt.getContactFirstRep().addTelecom(ContactPoint40_50.convertContactPoint(t)); - for (org.hl7.fhir.r4.model.Address t : src.getAddress()) tgt.addAddress(Address40_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); for (org.hl7.fhir.r4.model.Organization.OrganizationContactComponent t : src.getContact()) @@ -81,7 +85,9 @@ public class Organization40_50 { for (ExtendedContactDetail t1 : src.getContact()) for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address40_50.convertAddress(t)); + for (ExtendedContactDetail t : src.getContact()) + if (t.hasAddress()) + tgt.addAddress(Address40_50.convertAddress(t.getAddress())); if (src.hasPartOf()) tgt.setPartOf(Reference40_50.convertReference(src.getPartOf())); for (org.hl7.fhir.r5.model.ExtendedContactDetail t : src.getContact()) @@ -98,7 +104,7 @@ public class Organization40_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept40_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName40_50.convertHumanName(src.getName())); + tgt.addName(HumanName40_50.convertHumanName(src.getName())); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); if (src.hasAddress()) @@ -113,8 +119,8 @@ public class Organization40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); if (src.hasPurpose()) tgt.setPurpose(CodeableConcept40_50.convertCodeableConcept(src.getPurpose())); - if (src.hasName()) - tgt.setName(HumanName40_50.convertHumanName(src.getName())); + for (org.hl7.fhir.r5.model.HumanName t : src.getName()) + tgt.setName(HumanName40_50.convertHumanName(t)); for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); if (src.hasAddress()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OrganizationAffiliation40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OrganizationAffiliation40_50.java index b9f89b4d9..6e022a0d2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OrganizationAffiliation40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/OrganizationAffiliation40_50.java @@ -64,7 +64,7 @@ public class OrganizationAffiliation40_50 { for (org.hl7.fhir.r4.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint40_50.convertContactPoint(t)); for (org.hl7.fhir.r4.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } @@ -92,8 +92,9 @@ public class OrganizationAffiliation40_50 { for (org.hl7.fhir.r5.model.Reference t : src.getLocation()) tgt.addLocation(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); + for (org.hl7.fhir.r5.model.ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Patient40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Patient40_50.java index 30ae1abfe..0b35c3a1c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Patient40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Patient40_50.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Person40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Person40_50.java index 69b996be0..4b902f8f6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Person40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Person40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PlanDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PlanDefinition40_50.java index cb1d5c435..c6f33d1e4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PlanDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PlanDefinition40_50.java @@ -5,8 +5,20 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableCon import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.DataRequirement40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.Expression40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.RelatedArtifact40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.TriggerDefinition40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.DataRequirement; import org.hl7.fhir.r5.model.PlanDefinition.PlanDefinitionActionInputComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Practitioner40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Practitioner40_50.java index e65969daf..8ecf5d2ed 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Practitioner40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Practitioner40_50.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PractitionerRole40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PractitionerRole40_50.java index 394069d5f..407e241a3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PractitionerRole40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/PractitionerRole40_50.java @@ -6,13 +6,9 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoin import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Time40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -67,13 +63,13 @@ public class PractitionerRole40_50 { for (org.hl7.fhir.r4.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); - for (org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); - for (org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); + tgt.getContactFirstRep().addTelecom(ContactPoint40_50.convertContactPoint(t)); +// for (org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); +// for (org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r4.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } @@ -100,141 +96,142 @@ public class PractitionerRole40_50 { for (org.hl7.fhir.r5.model.Reference t : src.getLocation()) tgt.addLocation(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference40_50.convertReference(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); + for (org.hl7.fhir.r5.model.ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint40_50.convertContactPoint(t)); +// for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String40_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference40_50.convertReference(t)); return tgt; } - public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(PractitionerRole40_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(PractitionerRole40_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DaysOfWeekEnumFactory()); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { - case MON: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.MON); - break; - case TUE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.TUE); - break; - case WED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.WED); - break; - case THU: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.THU); - break; - case FRI: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.FRI); - break; - case SAT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SAT); - break; - case SUN: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SUN); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r4.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeekEnumFactory()); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); - switch (src.getValue()) { - case MON: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.MON); - break; - case TUE: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.TUE); - break; - case WED: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.WED); - break; - case THU: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.THU); - break; - case FRI: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.FRI); - break; - case SAT: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.SAT); - break; - case SUN: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.SUN); - break; - default: - tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.NULL); - break; - } - return tgt; - } - - public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); - return tgt; - } +// public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(PractitionerRole40_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(PractitionerRole40_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean40_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time40_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time40_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DaysOfWeekEnumFactory()); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case MON: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.MON); +// break; +// case TUE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.TUE); +// break; +// case WED: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.WED); +// break; +// case THU: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.THU); +// break; +// case FRI: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.FRI); +// break; +// case SAT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SAT); +// break; +// case SUN: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SUN); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r4.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r4.model.Enumeration tgt = new org.hl7.fhir.r4.model.Enumeration<>(new org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeekEnumFactory()); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case MON: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.MON); +// break; +// case TUE: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.TUE); +// break; +// case WED: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.WED); +// break; +// case THU: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.THU); +// break; +// case FRI: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.FRI); +// break; +// case SAT: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.SAT); +// break; +// case SUN: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.SUN); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r4.model.PractitionerRole.DaysOfWeek.NULL); +// break; +// } +// return tgt; +// } +// +// public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r4.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); +// ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String40_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period40_50.convertPeriod(src.getDuring())); +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Questionnaire40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Questionnaire40_50.java index 84afc3b2a..680f31418 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Questionnaire40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Questionnaire40_50.java @@ -8,7 +8,15 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Questionnaire.QuestionnaireItemType; import org.hl7.fhir.r5.model.CodeType; @@ -67,7 +75,7 @@ public class Questionnaire40_50 { if (src.hasExperimental()) tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement())); for (org.hl7.fhir.r4.model.CodeType t : src.getSubjectType()) - tgt.getSubjectType().add(Code40_50.convertResourceEnum(t)); + tgt.getSubjectType().add(Code40_50.convertCode(t)); if (src.hasDate()) tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement())); if (src.hasPublisher()) @@ -117,7 +125,7 @@ public class Questionnaire40_50 { tgt.setStatusElement(Enumerations40_50.convertPublicationStatus(src.getStatusElement())); if (src.hasExperimental()) tgt.setExperimentalElement(Boolean40_50.convertBoolean(src.getExperimentalElement())); - for (CodeType t : src.getSubjectType()) tgt.getSubjectType().add(Code40_50.convertResourceEnum(t)); + for (CodeType t : src.getSubjectType()) tgt.getSubjectType().add(Code40_50.convertCode(t)); if (src.hasDate()) tgt.setDateElement(DateTime40_50.convertDateTime(src.getDateElement())); if (src.hasPublisher()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/RelatedPerson40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/RelatedPerson40_50.java index da62868e1..f290edbbf 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/RelatedPerson40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/RelatedPerson40_50.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Address40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Attachment40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.HumanName40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java index 7f615ecb5..fd7b97ef7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SearchParameter40_50.java @@ -1,17 +1,20 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; -import org.hl7.fhir.r5.model.Enumeration; -import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; - -import java.util.stream.Collectors; /* Copyright (c) 2011+, HL7, Inc. @@ -77,7 +80,7 @@ public class SearchParameter40_50 { tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.r4.model.CodeType t : src.getBase()) tgt.getBase().add(new Enumeration(new Enumerations.AllResourceTypesEnumFactory(), t.getCode())); + for (org.hl7.fhir.r4.model.CodeType t : src.getBase()) tgt.getBase().add(Code40_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations40_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) @@ -86,7 +89,7 @@ public class SearchParameter40_50 { // tgt.setXpathElement(String40_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); - for (org.hl7.fhir.r4.model.CodeType t : src.getTarget()) tgt.getTarget().add(Code40_50.convertResourceEnum(t)); + for (org.hl7.fhir.r4.model.CodeType t : src.getTarget()) tgt.getTarget().add(Code40_50.convertCode(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean40_50.convertBoolean(src.getMultipleOrElement())); if (src.hasMultipleAnd()) @@ -136,7 +139,7 @@ public class SearchParameter40_50 { tgt.setPurposeElement(MarkDown40_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code40_50.convertCode(src.getCodeElement())); - for (Enumeration t : src.getBase()) tgt.getBase().add(new org.hl7.fhir.r4.model.CodeType(t.getCode())); + for (CodeType t : src.getBase()) tgt.getBase().add(Code40_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations40_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) @@ -145,7 +148,7 @@ public class SearchParameter40_50 { // tgt.setXpathElement(String40_50.convertString(src.getXpathElement())); if (src.hasProcessingMode()) tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); - for (CodeType t : src.getTarget()) tgt.getTarget().add(Code40_50.convertResourceEnum(t)); + for (CodeType t : src.getTarget()) tgt.getTarget().add(Code40_50.convertCode(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean40_50.convertBoolean(src.getMultipleOrElement())); if (src.hasMultipleAnd()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ServiceRequest40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ServiceRequest40_50.java index a496699d4..a2f47e04d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ServiceRequest40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ServiceRequest40_50.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; @@ -66,7 +70,7 @@ public class ServiceRequest40_50 { if (src.hasDoNotPerform()) tgt.setDoNotPerformElement(Boolean40_50.convertBoolean(src.getDoNotPerformElement())); if (src.hasCode()) - tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); + tgt.setCode(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getCode())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getOrderDetail()) tgt.addOrderDetail(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasQuantity()) @@ -134,7 +138,7 @@ public class ServiceRequest40_50 { if (src.hasDoNotPerform()) tgt.setDoNotPerformElement(Boolean40_50.convertBoolean(src.getDoNotPerformElement())); if (src.hasCode()) - tgt.setCode(CodeableConcept40_50.convertCodeableConcept(src.getCode())); + tgt.setCode(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getCode())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getOrderDetail()) tgt.addOrderDetail(CodeableConcept40_50.convertCodeableConcept(t)); if (src.hasQuantity()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Specimen40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Specimen40_50.java index c793d9f68..0c66e42fe 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Specimen40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Specimen40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SpecimenDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SpecimenDefinition40_50.java index c4f4b09ed..ebd9e109f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SpecimenDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SpecimenDefinition40_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Duration40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Range40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.SimpleQuantity40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; import org.hl7.fhir.exceptions.FHIRException; @@ -43,7 +47,7 @@ public class SpecimenDefinition40_50 { org.hl7.fhir.r5.model.SpecimenDefinition tgt = new org.hl7.fhir.r5.model.SpecimenDefinition(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); + tgt.addIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); if (src.hasTypeCollected()) tgt.setTypeCollected(CodeableConcept40_50.convertCodeableConcept(src.getTypeCollected())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getPatientPreparation()) @@ -63,7 +67,7 @@ public class SpecimenDefinition40_50 { org.hl7.fhir.r4.model.SpecimenDefinition tgt = new org.hl7.fhir.r4.model.SpecimenDefinition(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifier())); + tgt.setIdentifier(Identifier40_50.convertIdentifier(src.getIdentifierFirstRep())); if (src.hasTypeCollected()) tgt.setTypeCollected(CodeableConcept40_50.convertCodeableConcept(src.getTypeCollected())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPatientPreparation()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureDefinition40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureDefinition40_50.java index 8282ca32a..603384d12 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureDefinition40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureDefinition40_50.java @@ -6,7 +6,13 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.ElementDefinition40_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureMap40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureMap40_50.java index e0ca4d9c5..613010c9a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureMap40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/StructureMap40_50.java @@ -1,21 +1,33 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.StructureMap.StructureMapGroupTypeMode; import org.hl7.fhir.r4.utils.ToolingExtensions; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.BooleanType; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.DecimalType; +import org.hl7.fhir.r5.model.IdType; +import org.hl7.fhir.r5.model.IntegerType; +import org.hl7.fhir.r5.model.StringType; import org.hl7.fhir.r5.model.StructureMap.StructureMapGroupRuleTargetParameterComponent; import org.hl7.fhir.r5.utils.FHIRPathConstant; import org.hl7.fhir.utilities.Utilities; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SupplyDelivery40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SupplyDelivery40_50.java index 25404265b..cb4ce28aa 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SupplyDelivery40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/SupplyDelivery40_50.java @@ -54,7 +54,7 @@ public class SupplyDelivery40_50 { if (src.hasType()) tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); if (src.hasSuppliedItem()) - tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); + tgt.addSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence())); if (src.hasSupplier()) @@ -81,7 +81,7 @@ public class SupplyDelivery40_50 { if (src.hasType()) tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); if (src.hasSuppliedItem()) - tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); + tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItemFirstRep())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getOccurrence())); if (src.hasSupplier()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Task40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Task40_50.java index 6a3a32e50..1593bfa7f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Task40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Task40_50.java @@ -5,9 +5,14 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Annotation4 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Period40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.PositiveInt40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.CodeableReference; /* Copyright (c) 2011+, HL7, Inc. @@ -58,7 +63,7 @@ public class Task40_50 { if (src.hasStatus()) tgt.setStatusElement(convertTaskStatus(src.getStatusElement())); if (src.hasStatusReason()) - tgt.setStatusReason(CodeableConcept40_50.convertCodeableConcept(src.getStatusReason())); + tgt.setStatusReason(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getStatusReason())); if (src.hasBusinessStatus()) tgt.setBusinessStatus(CodeableConcept40_50.convertCodeableConcept(src.getBusinessStatus())); if (src.hasIntent()) @@ -84,15 +89,15 @@ public class Task40_50 { if (src.hasRequester()) tgt.setRequester(Reference40_50.convertReference(src.getRequester())); for (org.hl7.fhir.r4.model.CodeableConcept t : src.getPerformerType()) - tgt.addPerformerType(CodeableConcept40_50.convertCodeableConcept(t)); + tgt.addRequestedPerformer(CodeableConcept40_50.convertCodeableConceptToCodeableReference(t)); if (src.hasOwner()) tgt.setOwner(Reference40_50.convertReference(src.getOwner())); if (src.hasLocation()) tgt.setLocation(Reference40_50.convertReference(src.getLocation())); if (src.hasReasonCode()) - tgt.setReasonCode(CodeableConcept40_50.convertCodeableConcept(src.getReasonCode())); + tgt.addReason(CodeableConcept40_50.convertCodeableConceptToCodeableReference(src.getReasonCode())); if (src.hasReasonReference()) - tgt.setReasonReference(Reference40_50.convertReference(src.getReasonReference())); + tgt.addReason(Reference40_50.convertReferenceToCodeableReference(src.getReasonReference())); for (org.hl7.fhir.r4.model.Reference t : src.getInsurance()) tgt.addInsurance(Reference40_50.convertReference(t)); for (org.hl7.fhir.r4.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t)); for (org.hl7.fhir.r4.model.Reference t : src.getRelevantHistory()) @@ -123,7 +128,7 @@ public class Task40_50 { if (src.hasStatus()) tgt.setStatusElement(convertTaskStatus(src.getStatusElement())); if (src.hasStatusReason()) - tgt.setStatusReason(CodeableConcept40_50.convertCodeableConcept(src.getStatusReason())); + tgt.setStatusReason(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(src.getStatusReason())); if (src.hasBusinessStatus()) tgt.setBusinessStatus(CodeableConcept40_50.convertCodeableConcept(src.getBusinessStatus())); if (src.hasIntent()) @@ -148,23 +153,25 @@ public class Task40_50 { tgt.setLastModifiedElement(DateTime40_50.convertDateTime(src.getLastModifiedElement())); if (src.hasRequester()) tgt.setRequester(Reference40_50.convertReference(src.getRequester())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPerformerType()) - tgt.addPerformerType(CodeableConcept40_50.convertCodeableConcept(t)); + for (org.hl7.fhir.r5.model.CodeableReference t : src.getRequestedPerformer()) + tgt.addPerformerType(CodeableConcept40_50.convertCodeableReferenceToCodeableConcept(t)); if (src.hasOwner()) tgt.setOwner(Reference40_50.convertReference(src.getOwner())); if (src.hasLocation()) tgt.setLocation(Reference40_50.convertReference(src.getLocation())); - if (src.hasReasonCode()) - tgt.setReasonCode(CodeableConcept40_50.convertCodeableConcept(src.getReasonCode())); - if (src.hasReasonReference()) - tgt.setReasonReference(Reference40_50.convertReference(src.getReasonReference())); + for (CodeableReference t : src.getReason()) { + if (t.hasConcept()) + tgt.setReasonCode(CodeableConcept40_50.convertCodeableConcept(t.getConcept())); + else if (t.hasReference()) + tgt.setReasonReference(Reference40_50.convertReference(t.getReference())); + } for (org.hl7.fhir.r5.model.Reference t : src.getInsurance()) tgt.addInsurance(Reference40_50.convertReference(t)); for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation40_50.convertAnnotation(t)); for (org.hl7.fhir.r5.model.Reference t : src.getRelevantHistory()) tgt.addRelevantHistory(Reference40_50.convertReference(t)); if (src.hasRestriction()) tgt.setRestriction(convertTaskRestrictionComponent(src.getRestriction())); - for (org.hl7.fhir.r5.model.Task.ParameterComponent t : src.getInput()) tgt.addInput(convertParameterComponent(t)); + for (org.hl7.fhir.r5.model.Task.TaskInputComponent t : src.getInput()) tgt.addInput(convertParameterComponent(t)); for (org.hl7.fhir.r5.model.Task.TaskOutputComponent t : src.getOutput()) tgt.addOutput(convertTaskOutputComponent(t)); return tgt; @@ -424,10 +431,10 @@ public class Task40_50 { return tgt; } - public static org.hl7.fhir.r5.model.Task.ParameterComponent convertParameterComponent(org.hl7.fhir.r4.model.Task.ParameterComponent src) throws FHIRException { + public static org.hl7.fhir.r5.model.Task.TaskInputComponent convertParameterComponent(org.hl7.fhir.r4.model.Task.ParameterComponent src) throws FHIRException { if (src == null) return null; - org.hl7.fhir.r5.model.Task.ParameterComponent tgt = new org.hl7.fhir.r5.model.Task.ParameterComponent(); + org.hl7.fhir.r5.model.Task.TaskInputComponent tgt = new org.hl7.fhir.r5.model.Task.TaskInputComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); if (src.hasType()) tgt.setType(CodeableConcept40_50.convertCodeableConcept(src.getType())); @@ -436,7 +443,7 @@ public class Task40_50 { return tgt; } - public static org.hl7.fhir.r4.model.Task.ParameterComponent convertParameterComponent(org.hl7.fhir.r5.model.Task.ParameterComponent src) throws FHIRException { + public static org.hl7.fhir.r4.model.Task.ParameterComponent convertParameterComponent(org.hl7.fhir.r5.model.Task.TaskInputComponent src) throws FHIRException { if (src == null) return null; org.hl7.fhir.r4.model.Task.ParameterComponent tgt = new org.hl7.fhir.r4.model.Task.ParameterComponent(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java index 8774833b0..e8936566c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TerminologyCapabilities40_50.java @@ -4,7 +4,14 @@ import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.CodeType; import org.hl7.fhir.r5.model.Enumeration; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestReport40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestReport40_50.java index e35d4b7af..04dc55684 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestReport40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestReport40_50.java @@ -2,8 +2,11 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Decimal40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Reference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java index 4bb079f34..6ee0357fb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/TestScript40_50.java @@ -6,10 +6,17 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Id40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4.utils.ToolingExtensions; import org.hl7.fhir.r5.model.TestScript.TestScriptScopeComponent; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ValueSet40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ValueSet40_50.java index a7fb4ad84..1c8cf569e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ValueSet40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ValueSet40_50.java @@ -6,7 +6,15 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50 import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Identifier40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.ContactDetail40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.metadata40_50.UsageContext40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.*; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Code40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Date40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.DateTime40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Integer40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.MarkDown40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/VersionConvertor_43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/VersionConvertor_43_50.java index ddfe044a8..d0dacff6c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/VersionConvertor_43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/VersionConvertor_43_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv43_50; +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.BackboneElement43_50; @@ -8,8 +10,6 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.Type43_50; import org.hl7.fhir.convertors.conv43_50.resources43_50.Resource43_50; import org.hl7.fhir.exceptions.FHIRException; -import javax.annotation.Nonnull; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Element43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Element43_50.java index c76e68995..c7cd18342 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Element43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Element43_50.java @@ -1,11 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50; +import java.util.Arrays; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Extension43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.Arrays; - public class Element43_50 { public final BaseAdvisor_43_50 advisor; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Type43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Type43_50.java index 79eea204c..3ee650ed6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Type43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/Type43_50.java @@ -1,11 +1,66 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.*; -import org.hl7.fhir.convertors.conv43_50.resources43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Age43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Count43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Distance43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.MoneyQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Quantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Range43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Ratio43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SampledData43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Signature43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Timing43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.Contributor43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.DataRequirement43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.Expression43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ParameterDefinition43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.RelatedArtifact43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.TriggerDefinition43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Base64Binary43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Instant43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Oid43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uuid43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Dosage43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.ElementDefinition43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Extension43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Meta43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Narrative43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; +import org.hl7.fhir.convertors.conv43_50.resources43_50.MarketingStatus43_50; +import org.hl7.fhir.convertors.conv43_50.resources43_50.Population43_50; +import org.hl7.fhir.convertors.conv43_50.resources43_50.ProdCharacteristic43_50; +import org.hl7.fhir.convertors.conv43_50.resources43_50.ProductShelfLife43_50; +import org.hl7.fhir.convertors.conv43_50.resources43_50.SubstanceAmount43_50; import org.hl7.fhir.exceptions.FHIRException; public class Type43_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Attachment43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Attachment43_50.java index ba8538f85..2ea322847 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Attachment43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Attachment43_50.java @@ -1,7 +1,12 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Base64Binary43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; import org.hl7.fhir.exceptions.FHIRException; public class Attachment43_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/CodeableConcept43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/CodeableConcept43_50.java index 3d18c2154..7391c635c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/CodeableConcept43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/CodeableConcept43_50.java @@ -29,4 +29,8 @@ public class CodeableConcept43_50 { tgt.setConcept(convertCodeableConcept(src)); return tgt; } + + public static org.hl7.fhir.r4b.model.CodeableConcept convertCodeableReferenceToCodeableConcept(CodeableReference src) { + return convertCodeableConcept(src.getConcept()); + } } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Coding43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Coding43_50.java index 36424ea1a..436508619 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Coding43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Coding43_50.java @@ -31,4 +31,48 @@ public class Coding43_50 { if (src.hasUserSelected()) tgt.setUserSelectedElement(Boolean43_50.convertBoolean(src.getUserSelectedElement())); return tgt; } + + + public static org.hl7.fhir.r5.model.CodeableConcept convertCodingToCodeableConcept(org.hl7.fhir.r4b.model.Coding src) throws FHIRException { + if (src == null) return null; + org.hl7.fhir.r5.model.CodeableConcept tgt = new org.hl7.fhir.r5.model.CodeableConcept(); + ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); + if (src.hasSystem()) tgt.getCodingFirstRep().setSystem(src.getSystem()); + if (src.hasVersion()) tgt.getCodingFirstRep().setVersion(src.getVersion()); + if (src.hasCode()) tgt.getCodingFirstRep().setCode(src.getCode()); + if (src.hasDisplay()) tgt.getCodingFirstRep().setDisplay(src.getDisplay()); + if (src.hasUserSelected()) tgt.getCodingFirstRep().setUserSelected(src.getUserSelected()); + return tgt; + } + + public static org.hl7.fhir.r5.model.Coding convertCoding(org.hl7.fhir.r4b.model.CodeableConcept src) throws FHIRException { + if (src == null) return null; + org.hl7.fhir.r5.model.Coding tgt = new org.hl7.fhir.r5.model.Coding(); + ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); + if (src.hasCoding()) { + if (src.getCodingFirstRep().hasSystem()) tgt.setSystem(src.getCodingFirstRep().getSystem()); + if (src.getCodingFirstRep().hasVersion()) tgt.setVersion(src.getCodingFirstRep().getVersion()); + if (src.getCodingFirstRep().hasCode()) tgt.setCode(src.getCodingFirstRep().getCode()); + if (src.getCodingFirstRep().hasDisplay()) tgt.setDisplay(src.getCodingFirstRep().getDisplay()); + if (src.getCodingFirstRep().hasUserSelected()) tgt.setUserSelected(src.getCodingFirstRep().getUserSelected()); + } + return tgt; + } + + + public static org.hl7.fhir.r4b.model.Coding convertCoding(org.hl7.fhir.r5.model.CodeableConcept src) throws FHIRException { + if (src == null) return null; + org.hl7.fhir.r4b.model.Coding tgt = new org.hl7.fhir.r4b.model.Coding(); + ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); + if (src.hasCoding()) { + if (src.getCodingFirstRep().hasSystem()) tgt.setSystem(src.getCodingFirstRep().getSystem()); + if (src.getCodingFirstRep().hasVersion()) tgt.setVersion(src.getCodingFirstRep().getVersion()); + if (src.getCodingFirstRep().hasCode()) tgt.setCode(src.getCodingFirstRep().getCode()); + if (src.getCodingFirstRep().hasDisplay()) tgt.setDisplay(src.getCodingFirstRep().getDisplay()); + if (src.getCodingFirstRep().hasUserSelected()) tgt.setUserSelected(src.getCodingFirstRep().getUserSelected()); + } + return tgt; + } + + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Timing43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Timing43_50.java index 3b52122ec..db7223e6c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Timing43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/general43_50/Timing43_50.java @@ -1,13 +1,17 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.BackboneElement43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.BackboneType43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class Timing43_50 { public static org.hl7.fhir.r4b.model.Timing convertTiming(org.hl7.fhir.r5.model.Timing src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Date43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Date43_50.java index 1d83a6be4..66922b6df 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Date43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/Date43_50.java @@ -1,10 +1,7 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50; -import org.hl7.fhir.convertors.context.ConversionContext10_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4b.model.DateType; -import org.hl7.fhir.r5.model.DateTimeType; public class Date43_50 { public static org.hl7.fhir.r5.model.DateType convertDate(org.hl7.fhir.r4b.model.DateType src) throws FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/String43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/String43_50.java index f877e05a2..9a93e4b7c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/String43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/primitive43_50/String43_50.java @@ -1,6 +1,5 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50; -import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java index 8d4796d29..beb1d9412 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/ElementDefinition43_50.java @@ -1,14 +1,22 @@ package org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.BackboneElement43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.resources43_50.Enumerations43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - public class ElementDefinition43_50 { public static org.hl7.fhir.r5.model.ElementDefinition convertElementDefinition(org.hl7.fhir.r4b.model.ElementDefinition src) throws FHIRException { if (src == null) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/Reference43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/Reference43_50.java index 8c6349c57..fa603f668 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/Reference43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/datatypes43_50/special43_50/Reference43_50.java @@ -35,4 +35,30 @@ public class Reference43_50 { tgt.setReference(convertReference(src)); return tgt; } + + public static org.hl7.fhir.r5.model.CanonicalType convertReferenceToCanonical(org.hl7.fhir.r4b.model.Reference src) { + if (src == null) return null; + org.hl7.fhir.r5.model.CanonicalType tgt = new org.hl7.fhir.r5.model.CanonicalType(); + ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); + if (src.hasReference()) tgt.setValue(src.getReference()); + return tgt; + } + + public static org.hl7.fhir.r4b.model.Reference convertReferenceToCanonical(org.hl7.fhir.r5.model.CanonicalType src) { + if (src == null) return null; + org.hl7.fhir.r4b.model.Reference tgt = new org.hl7.fhir.r4b.model.Reference(); + ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); + if (src.hasValue()) tgt.setReference(src.getValue()); + return tgt; + } + + + static public org.hl7.fhir.r4b.model.Reference convertCodeableReferenceToReference(org.hl7.fhir.r5.model.CodeableReference src) { + org.hl7.fhir.r4b.model.Reference tgt = new org.hl7.fhir.r4b.model.Reference(); + ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); + tgt.setReference(src.getReference().getReference()); + return tgt; + } + + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Account43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Account43_50.java index 4858fb022..2520b039e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Account43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Account43_50.java @@ -65,8 +65,8 @@ public class Account43_50 { tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); for (org.hl7.fhir.r4b.model.Account.GuarantorComponent t : src.getGuarantor()) tgt.addGuarantor(convertGuarantorComponent(t)); - if (src.hasPartOf()) - tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); +// if (src.hasPartOf()) +// tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); return tgt; } @@ -94,8 +94,8 @@ public class Account43_50 { tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); for (org.hl7.fhir.r5.model.Account.GuarantorComponent t : src.getGuarantor()) tgt.addGuarantor(convertGuarantorComponent(t)); - if (src.hasPartOf()) - tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); +// if (src.hasPartOf()) +// tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ActivityDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ActivityDefinition43_50.java index 1f1bb5e52..13bad0e57 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ActivityDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ActivityDefinition43_50.java @@ -9,7 +9,13 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDet import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.Expression43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.RelatedArtifact43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Dosage43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -133,11 +139,11 @@ public class ActivityDefinition43_50 { for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getBodySite()) tgt.addBodySite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getSpecimenRequirement()) - tgt.addSpecimenRequirement(Reference43_50.convertReference(t)); + tgt.getSpecimenRequirement().add(Reference43_50.convertReferenceToCanonical(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getObservationRequirement()) - tgt.addObservationRequirement(Reference43_50.convertReference(t)); + tgt.getObservationRequirement().add(Reference43_50.convertReferenceToCanonical(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getObservationResultRequirement()) - tgt.addObservationResultRequirement(Reference43_50.convertReference(t)); + tgt.getObservationResultRequirement().add(Reference43_50.convertReferenceToCanonical(t)); if (src.hasTransform()) tgt.setTransformElement(Canonical43_50.convertCanonical(src.getTransformElement())); for (org.hl7.fhir.r4b.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent t : src.getDynamicValue()) @@ -231,12 +237,12 @@ public class ActivityDefinition43_50 { for (org.hl7.fhir.r5.model.Dosage t : src.getDosage()) tgt.addDosage(Dosage43_50.convertDosage(t)); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySite()) tgt.addBodySite(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getSpecimenRequirement()) - tgt.addSpecimenRequirement(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getObservationRequirement()) - tgt.addObservationRequirement(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getObservationResultRequirement()) - tgt.addObservationResultRequirement(Reference43_50.convertReference(t)); + for (org.hl7.fhir.r5.model.CanonicalType t : src.getSpecimenRequirement()) + tgt.addSpecimenRequirement(Reference43_50.convertReferenceToCanonical(t)); + for (org.hl7.fhir.r5.model.CanonicalType t : src.getObservationRequirement()) + tgt.addObservationRequirement(Reference43_50.convertReferenceToCanonical(t)); + for (org.hl7.fhir.r5.model.CanonicalType t : src.getObservationResultRequirement()) + tgt.addObservationResultRequirement(Reference43_50.convertReferenceToCanonical(t)); if (src.hasTransform()) tgt.setTransformElement(Canonical43_50.convertCanonical(src.getTransformElement())); for (org.hl7.fhir.r5.model.ActivityDefinition.ActivityDefinitionDynamicValueComponent t : src.getDynamicValue()) @@ -244,65 +250,62 @@ public class ActivityDefinition43_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypesEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case APPOINTMENT: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENT); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.APPOINTMENT); break; case APPOINTMENTRESPONSE: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.APPOINTMENTRESPONSE); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.APPOINTMENTRESPONSE); break; case CAREPLAN: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CAREPLAN); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CAREPLAN); break; case CLAIM: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CLAIM); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CLAIM); break; case COMMUNICATIONREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.COMMUNICATIONREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.COMMUNICATIONREQUEST); break; case CONTRACT: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.CONTRACT); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.CONTRACT); break; case DEVICEREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.DEVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.DEVICEREQUEST); break; case ENROLLMENTREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.ENROLLMENTREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.ENROLLMENTREQUEST); break; case IMMUNIZATIONRECOMMENDATION: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.IMMUNIZATIONRECOMMENDATION); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.IMMUNIZATIONRECOMMENDATION); break; case MEDICATIONREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.MEDICATIONREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.MEDICATIONREQUEST); break; case NUTRITIONORDER: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NUTRITIONORDER); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.NUTRITIONORDER); break; case SERVICEREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SERVICEREQUEST); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SERVICEREQUEST); break; case SUPPLYREQUEST: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.SUPPLYREQUEST); - break; - case TASK: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.TASK); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.SUPPLYREQUEST); break; case VISIONPRESCRIPTION: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.VISIONPRESCRIPTION); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.VISIONPRESCRIPTION); break; default: - tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.ActivityDefinition.RequestResourceTypes.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertActivityDefinitionKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceTypeEnumFactory()); @@ -347,9 +350,6 @@ public class ActivityDefinition43_50 { case SUPPLYREQUEST: tgt.setValue(org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceType.SUPPLYREQUEST); break; - case TASK: - tgt.setValue(org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceType.TASK); - break; case VISIONPRESCRIPTION: tgt.setValue(org.hl7.fhir.r4b.model.ActivityDefinition.RequestResourceType.VISIONPRESCRIPTION); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AllergyIntolerance43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AllergyIntolerance43_50.java index f7f0e6aaa..41d6d244f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AllergyIntolerance43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AllergyIntolerance43_50.java @@ -1,7 +1,8 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; @@ -9,12 +10,10 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.AllergyIntolerance.AllergyIntoleranceParticipantComponent; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import org.hl7.fhir.r5.model.AllergyIntolerance.AllergyIntoleranceParticipantComponent; - -import java.util.stream.Collectors; /* Copyright (c) 2011+, HL7, Inc. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AuditEvent43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AuditEvent43_50.java index 94dd3582e..bd4166eb6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AuditEvent43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/AuditEvent43_50.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Base64Binary43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Instant43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/BiologicallyDerivedProduct43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/BiologicallyDerivedProduct43_50.java index 822b5ddbf..ec9b5e2b1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/BiologicallyDerivedProduct43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/BiologicallyDerivedProduct43_50.java @@ -1,12 +1,7 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java index 3229fe46f..9714aa16d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Bundle43_50.java @@ -3,7 +3,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Signature43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Instant43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java index 6c46f7855..756d5879c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CapabilityStatement43_50.java @@ -1,16 +1,24 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CarePlan43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CarePlan43_50.java index 7ee43d634..a814a38fb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CarePlan43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CarePlan43_50.java @@ -1,8 +1,16 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CareTeam43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CareTeam43_50.java index a144b6507..700f484e3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CareTeam43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CareTeam43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItem43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItem43_50.java index 48c74b590..5c27e01bc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItem43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItem43_50.java @@ -1,10 +1,17 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Quantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.CodeableReference; /* Copyright (c) 2011+, HL7, Inc. @@ -55,7 +62,7 @@ public class ChargeItem43_50 { if (src.hasSubject()) tgt.setSubject(Reference43_50.convertReference(src.getSubject())); if (src.hasContext()) - tgt.setContext(Reference43_50.convertReference(src.getContext())); + tgt.setEncounter(Reference43_50.convertReference(src.getContext())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getOccurrence())); for (org.hl7.fhir.r4b.model.ChargeItem.ChargeItemPerformerComponent t : src.getPerformer()) @@ -70,19 +77,19 @@ public class ChargeItem43_50 { tgt.setQuantity(Quantity43_50.convertQuantity(src.getQuantity())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getBodysite()) tgt.addBodysite(CodeableConcept43_50.convertCodeableConcept(t)); - if (src.hasFactorOverride()) - tgt.setFactorOverrideElement(Decimal43_50.convertDecimal(src.getFactorOverrideElement())); - if (src.hasPriceOverride()) - tgt.setPriceOverride(Money43_50.convertMoney(src.getPriceOverride())); +// if (src.hasFactorOverride()) +// tgt.setFactorOverrideElement(Decimal43_50.convertDecimal(src.getFactorOverrideElement())); +// if (src.hasPriceOverride()) +// tgt.setPriceOverride(Money43_50.convertMoney(src.getPriceOverride())); if (src.hasOverrideReason()) - tgt.setOverrideReasonElement(String43_50.convertString(src.getOverrideReasonElement())); + tgt.getOverrideReason().setTextElement(String43_50.convertString(src.getOverrideReasonElement())); if (src.hasEnterer()) tgt.setEnterer(Reference43_50.convertReference(src.getEnterer())); if (src.hasEnteredDate()) tgt.setEnteredDateElement(DateTime43_50.convertDateTime(src.getEnteredDateElement())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getReason()) tgt.addReason(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r4b.model.Reference t : src.getService()) tgt.addService(Reference43_50.convertReference(t)); + for (org.hl7.fhir.r4b.model.Reference t : src.getService()) tgt.addService(Reference43_50.convertReferenceToCodeableReference(t)); if (src.hasProductCodeableConcept()) tgt.addProduct().setConcept(CodeableConcept43_50.convertCodeableConcept(src.getProductCodeableConcept())); else if (src.hasProductReference()) @@ -111,8 +118,8 @@ public class ChargeItem43_50 { tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); if (src.hasSubject()) tgt.setSubject(Reference43_50.convertReference(src.getSubject())); - if (src.hasContext()) - tgt.setContext(Reference43_50.convertReference(src.getContext())); + if (src.hasEncounter()) + tgt.setContext(Reference43_50.convertReference(src.getEncounter())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getOccurrence())); for (org.hl7.fhir.r5.model.ChargeItem.ChargeItemPerformerComponent t : src.getPerformer()) @@ -127,19 +134,19 @@ public class ChargeItem43_50 { tgt.setQuantity(Quantity43_50.convertQuantity(src.getQuantity())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodysite()) tgt.addBodysite(CodeableConcept43_50.convertCodeableConcept(t)); - if (src.hasFactorOverride()) - tgt.setFactorOverrideElement(Decimal43_50.convertDecimal(src.getFactorOverrideElement())); - if (src.hasPriceOverride()) - tgt.setPriceOverride(Money43_50.convertMoney(src.getPriceOverride())); - if (src.hasOverrideReason()) - tgt.setOverrideReasonElement(String43_50.convertString(src.getOverrideReasonElement())); +// if (src.hasFactorOverride()) +// tgt.setFactorOverrideElement(Decimal43_50.convertDecimal(src.getFactorOverrideElement())); +// if (src.hasPriceOverride()) +// tgt.setPriceOverride(Money43_50.convertMoney(src.getPriceOverride())); + if (src.getOverrideReason().hasText()) + tgt.setOverrideReasonElement(String43_50.convertString(src.getOverrideReason().getTextElement())); if (src.hasEnterer()) tgt.setEnterer(Reference43_50.convertReference(src.getEnterer())); if (src.hasEnteredDate()) tgt.setEnteredDateElement(DateTime43_50.convertDateTime(src.getEnteredDateElement())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getReason()) tgt.addReason(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Reference t : src.getService()) tgt.addService(Reference43_50.convertReference(t)); + for (CodeableReference t : src.getService()) tgt.addService(Reference43_50.convertCodeableReferenceToReference(t)); if (src.getProductFirstRep().hasConcept()) tgt.setProduct(CodeableConcept43_50.convertCodeableConcept(src.getProductFirstRep().getConcept())); if (src.getProductFirstRep().hasReference()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItemDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItemDefinition43_50.java index efadc1f3a..0b0dba11b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItemDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ChargeItemDefinition43_50.java @@ -3,11 +3,16 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -152,11 +157,11 @@ public class ChargeItemDefinition43_50 { org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent tgt = new org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasDescription()) - tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); + tgt.getCondition().setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); if (src.hasLanguage()) - tgt.setLanguageElement(String43_50.convertString(src.getLanguageElement())); + tgt.getCondition().setLanguage(src.getLanguage()); if (src.hasExpression()) - tgt.setExpressionElement(String43_50.convertString(src.getExpressionElement())); + tgt.getCondition().setExpressionElement(String43_50.convertString(src.getExpressionElement())); return tgt; } @@ -165,12 +170,12 @@ public class ChargeItemDefinition43_50 { return null; org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent tgt = new org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); - if (src.hasLanguage()) - tgt.setLanguageElement(String43_50.convertString(src.getLanguageElement())); - if (src.hasExpression()) - tgt.setExpressionElement(String43_50.convertString(src.getExpressionElement())); + if (src.getCondition().hasDescription()) + tgt.setDescriptionElement(String43_50.convertString(src.getCondition().getDescriptionElement())); + if (src.getCondition().hasLanguage()) + tgt.setLanguageElement(String43_50.convertString(src.getCondition().getLanguageElement())); + if (src.getCondition().hasExpression()) + tgt.setExpressionElement(String43_50.convertString(src.getCondition().getExpressionElement())); return tgt; } @@ -181,8 +186,8 @@ public class ChargeItemDefinition43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent t : src.getApplicability()) tgt.addApplicability(convertChargeItemDefinitionApplicabilityComponent(t)); - for (org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); +// for (org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); return tgt; } @@ -193,102 +198,102 @@ public class ChargeItemDefinition43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionApplicabilityComponent t : src.getApplicability()) tgt.addApplicability(convertChargeItemDefinitionApplicabilityComponent(t)); - for (org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); +// for (org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertChargeItemDefinitionPropertyGroupPriceComponentComponent(t)); return tgt; } - public static org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money43_50.convertMoney(src.getAmount())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money43_50.convertMoney(src.getAmount())); - return tgt; - } - - static public org.hl7.fhir.r5.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r4b.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } +// public static org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money43_50.convertMoney(src.getAmount())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent convertChargeItemDefinitionPropertyGroupPriceComponentComponent(org.hl7.fhir.r5.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent tgt = new org.hl7.fhir.r4b.model.ChargeItemDefinition.ChargeItemDefinitionPropertyGroupPriceComponentComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertChargeItemDefinitionPriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money43_50.convertMoney(src.getAmount())); +// return tgt; +// } +// +// static public org.hl7.fhir.r5.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r4b.model.Enumeration convertChargeItemDefinitionPriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Claim43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Claim43_50.java index bcaab55c7..999e5ad27 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Claim43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Claim43_50.java @@ -1,8 +1,17 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -319,7 +328,7 @@ public class Claim43_50 { if (src.hasRole()) tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole())); if (src.hasQualification()) - tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getQualification())); + tgt.setSpecialty(CodeableConcept43_50.convertCodeableConcept(src.getQualification())); return tgt; } @@ -336,8 +345,8 @@ public class Claim43_50 { tgt.setResponsibleElement(Boolean43_50.convertBoolean(src.getResponsibleElement())); if (src.hasRole()) tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole())); - if (src.hasQualification()) - tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getQualification())); + if (src.hasSpecialty()) + tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getSpecialty())); return tgt; } @@ -394,8 +403,8 @@ public class Claim43_50 { tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept43_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -412,8 +421,8 @@ public class Claim43_50 { tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept43_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -562,9 +571,9 @@ public class Claim43_50 { tgt.setNet(Money43_50.convertMoney(src.getNet())); for (org.hl7.fhir.r4b.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t)); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.Claim.DetailComponent t : src.getDetail()) tgt.addDetail(convertDetailComponent(t)); return tgt; @@ -609,8 +618,8 @@ public class Claim43_50 { tgt.setNet(Money43_50.convertMoney(src.getNet())); for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t)); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + tgt.setBodySite(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Claim.DetailComponent t : src.getDetail()) tgt.addDetail(convertDetailComponent(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ClaimResponse43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ClaimResponse43_50.java index 7053da1f8..272d33d33 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ClaimResponse43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ClaimResponse43_50.java @@ -1,8 +1,18 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -454,9 +464,9 @@ public class ClaimResponse43_50 { if (src.hasNet()) tgt.setNet(Money43_50.convertMoney(src.getNet())); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt43_50.convertPositiveInt(t)); for (org.hl7.fhir.r4b.model.ClaimResponse.AdjudicationComponent t : src.getAdjudication()) @@ -496,9 +506,9 @@ public class ClaimResponse43_50 { tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); if (src.hasNet()) tgt.setNet(Money43_50.convertMoney(src.getNet())); - if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + if (src.getBodySiteFirstRep().hasSite()) + tgt.setBodySite(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt43_50.convertPositiveInt(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CodeSystem43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CodeSystem43_50.java index 12d79aa70..35365757f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CodeSystem43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CodeSystem43_50.java @@ -1,16 +1,23 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java index f5c95e119..05c4c9271 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CompartmentDefinition43_50.java @@ -3,7 +3,12 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java index 4f8a92536..3215a8820 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Composition43_50.java @@ -1,8 +1,6 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; -import org.hl7.fhir.convertors.context.ConversionContext30_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.Reference30_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ConceptMap43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ConceptMap43_50.java index f9bf30165..b26cc19a0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ConceptMap43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ConceptMap43_50.java @@ -2,12 +2,17 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.VersionConvertorConstants; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv30_50.datatypes30_50.primitivetypes30_50.String30_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CanonicalType; import org.hl7.fhir.r5.model.Coding; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Condition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Condition43_50.java index 805eb0180..befc64d14 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Condition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Condition43_50.java @@ -3,7 +3,6 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import java.util.ArrayList; import java.util.List; -import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; @@ -14,7 +13,6 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableConcept; import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; -import org.hl7.fhir.r5.model.Condition.ConditionParticipantComponent; /* Copyright (c) 2011+, HL7, Inc. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Consent43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Consent43_50.java index b240ff084..8031cf8af 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Consent43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Consent43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; @@ -270,26 +274,26 @@ public class Consent43_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentProvisionTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ConsentProvisionTypeEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case DENY: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.DENY); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentProvisionType.DENY); break; case PERMIT: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.PERMIT); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentProvisionType.PERMIT); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentProvisionType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentProvisionType.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertConsentProvisionType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Consent.ConsentProvisionTypeEnumFactory()); @@ -356,32 +360,32 @@ public class Consent43_50 { return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Consent.ConsentDataMeaningEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaningEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case INSTANCE: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.INSTANCE); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.INSTANCE); break; case RELATED: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.RELATED); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.RELATED); break; case DEPENDENTS: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.DEPENDENTS); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.DEPENDENTS); break; case AUTHOREDBY: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.AUTHOREDBY); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.AUTHOREDBY); break; default: - tgt.setValue(org.hl7.fhir.r5.model.Consent.ConsentDataMeaning.NULL); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ConsentDataMeaning.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertConsentDataMeaning(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Consent.ConsentDataMeaningEnumFactory()); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Contract43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Contract43_50.java index 106dc8c44..5f0b7dd01 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Contract43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Contract43_50.java @@ -1,8 +1,21 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Signature43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Coverage43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Coverage43_50.java index 63564dc89..92c3a3382 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Coverage43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Coverage43_50.java @@ -57,7 +57,7 @@ public class Coverage43_50 { if (src.hasSubscriber()) tgt.setSubscriber(Reference43_50.convertReference(src.getSubscriber())); if (src.hasSubscriberId()) - tgt.getSubscriberId().setValueElement(String43_50.convertString(src.getSubscriberIdElement())); + tgt.getSubscriberIdFirstRep().setValueElement(String43_50.convertString(src.getSubscriberIdElement())); if (src.hasBeneficiary()) tgt.setBeneficiary(Reference43_50.convertReference(src.getBeneficiary())); if (src.hasDependent()) @@ -66,7 +66,7 @@ public class Coverage43_50 { tgt.setRelationship(CodeableConcept43_50.convertCodeableConcept(src.getRelationship())); if (src.hasPeriod()) tgt.setPeriod(Period43_50.convertPeriod(src.getPeriod())); - for (org.hl7.fhir.r4b.model.Reference t : src.getPayor()) tgt.addPayor(Reference43_50.convertReference(t)); + for (org.hl7.fhir.r4b.model.Reference t : src.getPayor()) tgt.setInsurer(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.Coverage.ClassComponent t : src.getClass_()) tgt.addClass_(convertClassComponent(t)); if (src.hasOrder()) tgt.setOrderElement(PositiveInt43_50.convertPositiveInt(src.getOrderElement())); @@ -96,7 +96,7 @@ public class Coverage43_50 { if (src.hasSubscriber()) tgt.setSubscriber(Reference43_50.convertReference(src.getSubscriber())); if (src.hasSubscriberId()) - tgt.setSubscriberIdElement(String43_50.convertString(src.getSubscriberId().getValueElement())); + tgt.setSubscriberIdElement(String43_50.convertString(src.getSubscriberIdFirstRep().getValueElement())); if (src.hasBeneficiary()) tgt.setBeneficiary(Reference43_50.convertReference(src.getBeneficiary())); if (src.hasDependent()) @@ -105,7 +105,7 @@ public class Coverage43_50 { tgt.setRelationship(CodeableConcept43_50.convertCodeableConcept(src.getRelationship())); if (src.hasPeriod()) tgt.setPeriod(Period43_50.convertPeriod(src.getPeriod())); - for (org.hl7.fhir.r5.model.Reference t : src.getPayor()) tgt.addPayor(Reference43_50.convertReference(t)); + tgt.addPayor(Reference43_50.convertReference(src.getInsurer())); for (org.hl7.fhir.r5.model.Coverage.ClassComponent t : src.getClass_()) tgt.addClass_(convertClassComponent(t)); if (src.hasOrder()) tgt.setOrderElement(PositiveInt43_50.convertPositiveInt(src.getOrderElement())); @@ -177,7 +177,7 @@ public class Coverage43_50 { if (src.hasType()) tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); if (src.hasValue()) - tgt.setValueElement(String43_50.convertString(src.getValueElement())); + tgt.getValue().setValueElement(String43_50.convertString(src.getValueElement())); if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); return tgt; @@ -191,7 +191,7 @@ public class Coverage43_50 { if (src.hasType()) tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); if (src.hasValue()) - tgt.setValueElement(String43_50.convertString(src.getValueElement())); + tgt.setValueElement(String43_50.convertString(src.getValue().getValueElement())); if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CoverageEligibilityRequest43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CoverageEligibilityRequest43_50.java index adb4cb81c..2661feee0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CoverageEligibilityRequest43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/CoverageEligibilityRequest43_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; @@ -12,8 +14,6 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Device43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Device43_50.java index fd8708fe5..32a1bfa72 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Device43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Device43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Quantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Base64Binary43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; @@ -53,8 +57,8 @@ public class Device43_50 { tgt.addUdiCarrier(convertDeviceUdiCarrierComponent(t)); if (src.hasStatus()) tgt.setStatusElement(convertFHIRDeviceStatus(src.getStatusElement())); - for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getStatusReason()) - tgt.addStatusReason(CodeableConcept43_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getStatusReason()) +// tgt.addStatusReason(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasDistinctIdentifier()) tgt.getBiologicalSourceEvent().setValueElement(String43_50.convertString(src.getDistinctIdentifierElement())); if (src.hasManufacturer()) @@ -82,7 +86,7 @@ public class Device43_50 { for (org.hl7.fhir.r4b.model.Device.DevicePropertyComponent t : src.getProperty()) tgt.addProperty(convertDevicePropertyComponent(t)); if (src.hasPatient()) - tgt.setSubject(Reference43_50.convertReference(src.getPatient())); + tgt.getAssociationFirstRep().setHumanSubject(Reference43_50.convertReference(src.getPatient())); if (src.hasOwner()) tgt.setOwner(Reference43_50.convertReference(src.getOwner())); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getContact()) @@ -112,8 +116,8 @@ public class Device43_50 { tgt.addUdiCarrier(convertDeviceUdiCarrierComponent(t)); if (src.hasStatus()) tgt.setStatusElement(convertFHIRDeviceStatus(src.getStatusElement())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getStatusReason()) - tgt.addStatusReason(CodeableConcept43_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r5.model.CodeableConcept t : src.getStatusReason()) +// tgt.addStatusReason(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasBiologicalSourceEvent()) tgt.setDistinctIdentifierElement(String43_50.convertString(src.getBiologicalSourceEvent().getValueElement())); if (src.hasManufacturer()) @@ -140,8 +144,8 @@ public class Device43_50 { tgt.addVersion(convertDeviceVersionComponent(t)); for (org.hl7.fhir.r5.model.Device.DevicePropertyComponent t : src.getProperty()) tgt.addProperty(convertDevicePropertyComponent(t)); - if (src.hasSubject()) - tgt.setPatient(Reference43_50.convertReference(src.getSubject())); + if (src.getAssociationFirstRep().hasHumanSubject()) + tgt.setPatient(Reference43_50.convertReference(src.getAssociationFirstRep().getHumanSubject())); if (src.hasOwner()) tgt.setOwner(Reference43_50.convertReference(src.getOwner())); for (org.hl7.fhir.r5.model.ContactPoint t : src.getContact()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DeviceDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DeviceDefinition43_50.java index 9a4089742..e205718d3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DeviceDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DeviceDefinition43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Quantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java index 381d6df5c..8f1ba520e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/DocumentReference43_50.java @@ -1,7 +1,10 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Instant43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java index efab202b3..6add01984 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Encounter43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Endpoint43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Endpoint43_50.java index eb2e04efe..e5dc7f51d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Endpoint43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Endpoint43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; @@ -49,7 +53,7 @@ public class Endpoint43_50 { if (src.hasStatus()) tgt.setStatusElement(convertEndpointStatus(src.getStatusElement())); if (src.hasConnectionType()) - tgt.addConnectionType(Coding43_50.convertCoding(src.getConnectionType())); + tgt.addConnectionType(Coding43_50.convertCodingToCodeableConcept(src.getConnectionType())); if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); if (src.hasManagingOrganization()) @@ -118,9 +122,6 @@ public class Endpoint43_50 { case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.ENTEREDINERROR); break; - case TEST: - tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.TEST); - break; default: tgt.setValue(org.hl7.fhir.r5.model.Endpoint.EndpointStatus.NULL); break; @@ -149,9 +150,6 @@ public class Endpoint43_50 { case ENTEREDINERROR: tgt.setValue(org.hl7.fhir.r4b.model.Endpoint.EndpointStatus.ENTEREDINERROR); break; - case TEST: - tgt.setValue(org.hl7.fhir.r4b.model.Endpoint.EndpointStatus.TEST); - break; default: tgt.setValue(org.hl7.fhir.r4b.model.Endpoint.EndpointStatus.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Enumerations43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Enumerations43_50.java index dc56badc5..148f3ee18 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Enumerations43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Enumerations43_50.java @@ -227,12 +227,6 @@ public class Enumerations43_50 { case _4_1_0: tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_1_0); break; - case _4_3_0CIBUILD: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0CIBUILD); - break; - case _4_3_0SNAPSHOT1: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0SNAPSHOT1); - break; case _4_3_0: tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0); break; @@ -321,12 +315,6 @@ public class Enumerations43_50 { case _4_1_0: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FHIRVersion._4_1_0); break; - case _4_3_0CIBUILD: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FHIRVersion._4_3_0CIBUILD); - break; - case _4_3_0SNAPSHOT1: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FHIRVersion._4_3_0SNAPSHOT1); - break; case _4_3_0: tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.FHIRVersion._4_3_0); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EpisodeOfCare43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EpisodeOfCare43_50.java index b36e9c5ec..6f9ba59a0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EpisodeOfCare43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EpisodeOfCare43_50.java @@ -64,7 +64,7 @@ public class EpisodeOfCare43_50 { tgt.addReferralRequest(Reference43_50.convertReference(t)); if (src.hasCareManager()) tgt.setCareManager(Reference43_50.convertReference(src.getCareManager())); - for (org.hl7.fhir.r4b.model.Reference t : src.getTeam()) tgt.addTeam(Reference43_50.convertReference(t)); + for (org.hl7.fhir.r4b.model.Reference t : src.getTeam()) tgt.addCareTeam(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getAccount()) tgt.addAccount(Reference43_50.convertReference(t)); return tgt; } @@ -94,7 +94,7 @@ public class EpisodeOfCare43_50 { tgt.addReferralRequest(Reference43_50.convertReference(t)); if (src.hasCareManager()) tgt.setCareManager(Reference43_50.convertReference(src.getCareManager())); - for (org.hl7.fhir.r5.model.Reference t : src.getTeam()) tgt.addTeam(Reference43_50.convertReference(t)); + for (org.hl7.fhir.r5.model.Reference t : src.getCareTeam()) tgt.addTeam(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getAccount()) tgt.addAccount(Reference43_50.convertReference(t)); return tgt; } @@ -197,7 +197,7 @@ public class EpisodeOfCare43_50 { org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.r5.model.EpisodeOfCare.DiagnosisComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCondition()) - tgt.setCondition(Reference43_50.convertReference(src.getCondition())); + tgt.setCondition(Reference43_50.convertReferenceToCodeableReference(src.getCondition())); if (src.hasRole()) tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole())); if (src.hasRank()) @@ -211,7 +211,7 @@ public class EpisodeOfCare43_50 { org.hl7.fhir.r4b.model.EpisodeOfCare.DiagnosisComponent tgt = new org.hl7.fhir.r4b.model.EpisodeOfCare.DiagnosisComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCondition()) - tgt.setCondition(Reference43_50.convertReference(src.getCondition())); + tgt.setCondition(Reference43_50.convertCodeableReferenceToReference(src.getCondition())); if (src.hasRole()) tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole())); if (src.hasRank()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EventDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EventDefinition43_50.java index f874dc45e..60dd4ba8d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EventDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/EventDefinition43_50.java @@ -8,7 +8,12 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDet import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.RelatedArtifact43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.TriggerDefinition43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExampleScenario43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExampleScenario43_50.java index aae4cef62..3c4e7ed86 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExampleScenario43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExampleScenario43_50.java @@ -5,7 +5,11 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableCon import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* @@ -76,8 +80,8 @@ public class ExampleScenario43_50 { tgt.addInstance(convertExampleScenarioInstanceComponent(t)); for (org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) tgt.addProcess(convertExampleScenarioProcessComponent(t)); - for (org.hl7.fhir.r4b.model.CanonicalType t : src.getWorkflow()) - tgt.getWorkflow().add(Canonical43_50.convertCanonical(t)); +// for (org.hl7.fhir.r4b.model.CanonicalType t : src.getWorkflow()) +// tgt.getWorkflow().add(Canonical43_50.convertCanonical(t)); return tgt; } @@ -118,8 +122,8 @@ public class ExampleScenario43_50 { tgt.addInstance(convertExampleScenarioInstanceComponent(t)); for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) tgt.addProcess(convertExampleScenarioProcessComponent(t)); - for (org.hl7.fhir.r5.model.CanonicalType t : src.getWorkflow()) - tgt.getWorkflow().add(Canonical43_50.convertCanonical(t)); +// for (org.hl7.fhir.r5.model.CanonicalType t : src.getWorkflow()) +// tgt.getWorkflow().add(Canonical43_50.convertCanonical(t)); return tgt; } @@ -129,11 +133,11 @@ public class ExampleScenario43_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasActorId()) - tgt.setActorIdElement(String43_50.convertString(src.getActorIdElement())); + tgt.setKeyElement(String43_50.convertString(src.getActorIdElement())); if (src.hasType()) tgt.setTypeElement(convertExampleScenarioActorType(src.getTypeElement())); if (src.hasName()) - tgt.setNameElement(String43_50.convertString(src.getNameElement())); + tgt.setTitleElement(String43_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); return tgt; @@ -144,37 +148,37 @@ public class ExampleScenario43_50 { return null; org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioActorComponent tgt = new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioActorComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasActorId()) - tgt.setActorIdElement(String43_50.convertString(src.getActorIdElement())); + if (src.hasKey()) + tgt.setActorIdElement(String43_50.convertString(src.getKeyElement())); if (src.hasType()) tgt.setTypeElement(convertExampleScenarioActorType(src.getTypeElement())); - if (src.hasName()) - tgt.setNameElement(String43_50.convertString(src.getNameElement())); + if (src.hasTitle()) + tgt.setNameElement(String43_50.convertString(src.getTitleElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); return tgt; } - static public org.hl7.fhir.r5.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r5.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorTypeEnumFactory()); + org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorTypeEnumFactory()); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); switch (src.getValue()) { case PERSON: - tgt.setValue(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorType.PERSON); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType.PERSON); break; case ENTITY: - tgt.setValue(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorType.ENTITY); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType.SYSTEM); break; default: - tgt.setValue(org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioActorType.NULL); + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.ExampleScenarioActorType.NULL); break; } return tgt; } - static public org.hl7.fhir.r4b.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { + static public org.hl7.fhir.r4b.model.Enumeration convertExampleScenarioActorType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioActorTypeEnumFactory()); @@ -183,7 +187,7 @@ public class ExampleScenario43_50 { case PERSON: tgt.setValue(org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioActorType.PERSON); break; - case ENTITY: + case SYSTEM: tgt.setValue(org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioActorType.ENTITY); break; default: @@ -199,11 +203,11 @@ public class ExampleScenario43_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasResourceId()) - tgt.setResourceIdElement(String43_50.convertString(src.getResourceIdElement())); + tgt.setKeyElement(String43_50.convertString(src.getResourceIdElement())); if (src.hasResourceType()) - tgt.setTypeElement(Code43_50.convertCode(src.getResourceTypeElement())); + tgt.getStructureType().setCode(src.getResourceType()); if (src.hasName()) - tgt.setNameElement(String43_50.convertString(src.getNameElement())); + tgt.setTitleElement(String43_50.convertString(src.getNameElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); for (org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceVersionComponent t : src.getVersion()) @@ -218,12 +222,12 @@ public class ExampleScenario43_50 { return null; org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceComponent tgt = new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasResourceId()) - tgt.setResourceIdElement(String43_50.convertString(src.getResourceIdElement())); + if (src.hasKey()) + tgt.setResourceIdElement(String43_50.convertString(src.getKeyElement())); if (src.hasType()) - tgt.setResourceTypeElement(Code43_50.convertCode(src.getTypeElement())); - if (src.hasName()) - tgt.setNameElement(String43_50.convertString(src.getNameElement())); + tgt.setResourceType(src.getStructureType().getCode()); + if (src.hasTitle()) + tgt.setNameElement(String43_50.convertString(src.getTitleElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent t : src.getVersion()) @@ -240,7 +244,7 @@ public class ExampleScenario43_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceVersionComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasVersionId()) - tgt.setVersionIdElement(String43_50.convertString(src.getVersionIdElement())); + tgt.setKeyElement(String43_50.convertString(src.getVersionIdElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); return tgt; @@ -251,8 +255,8 @@ public class ExampleScenario43_50 { return null; org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceVersionComponent tgt = new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceVersionComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasVersionId()) - tgt.setVersionIdElement(String43_50.convertString(src.getVersionIdElement())); + if (src.hasKey()) + tgt.setVersionIdElement(String43_50.convertString(src.getKeyElement())); if (src.hasDescription()) tgt.setDescriptionElement(MarkDown43_50.convertMarkdown(src.getDescriptionElement())); return tgt; @@ -264,9 +268,9 @@ public class ExampleScenario43_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasResourceId()) - tgt.setResourceIdElement(String43_50.convertString(src.getResourceIdElement())); + tgt.setInstanceReferenceElement(String43_50.convertString(src.getResourceIdElement())); if (src.hasVersionId()) - tgt.setVersionIdElement(String43_50.convertString(src.getVersionIdElement())); + tgt.setVersionReferenceElement(String43_50.convertString(src.getVersionIdElement())); return tgt; } @@ -275,10 +279,10 @@ public class ExampleScenario43_50 { return null; org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent tgt = new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioInstanceContainedInstanceComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasResourceId()) - tgt.setResourceIdElement(String43_50.convertString(src.getResourceIdElement())); - if (src.hasVersionId()) - tgt.setVersionIdElement(String43_50.convertString(src.getVersionIdElement())); + if (src.hasInstanceReference()) + tgt.setResourceIdElement(String43_50.convertString(src.getInstanceReferenceElement())); + if (src.hasVersionReference()) + tgt.setVersionIdElement(String43_50.convertString(src.getVersionReferenceElement())); return tgt; } @@ -324,7 +328,7 @@ public class ExampleScenario43_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) - tgt.addProcess(convertExampleScenarioProcessComponent(t)); + tgt.setProcess(convertExampleScenarioProcessComponent(t)); if (src.hasPause()) tgt.setPauseElement(Boolean43_50.convertBoolean(src.getPauseElement())); if (src.hasOperation()) @@ -339,8 +343,7 @@ public class ExampleScenario43_50 { return null; org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioProcessStepComponent tgt = new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioProcessStepComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - for (org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessComponent t : src.getProcess()) - tgt.addProcess(convertExampleScenarioProcessComponent(t)); + tgt.addProcess(convertExampleScenarioProcessComponent(src.getProcess())); if (src.hasPause()) tgt.setPauseElement(Boolean43_50.convertBoolean(src.getPauseElement())); if (src.hasOperation()) @@ -356,11 +359,11 @@ public class ExampleScenario43_50 { org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent tgt = new org.hl7.fhir.r5.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasNumber()) - tgt.setNumberElement(String43_50.convertString(src.getNumberElement())); - if (src.hasType()) - tgt.setTypeElement(String43_50.convertString(src.getTypeElement())); +// tgt.setNumberElement(String43_50.convertString(src.getNumberElement())); +// if (src.hasType()) + tgt.getType().setCode(src.getType()); if (src.hasName()) - tgt.setNameElement(String43_50.convertString(src.getNameElement())); + tgt.setTitleElement(String43_50.convertString(src.getNameElement())); if (src.hasInitiator()) tgt.setInitiatorElement(String43_50.convertString(src.getInitiatorElement())); if (src.hasReceiver()) @@ -383,12 +386,12 @@ public class ExampleScenario43_50 { return null; org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent tgt = new org.hl7.fhir.r4b.model.ExampleScenario.ExampleScenarioProcessStepOperationComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasNumber()) - tgt.setNumberElement(String43_50.convertString(src.getNumberElement())); +// if (src.hasNumber()) +// tgt.setNumberElement(String43_50.convertString(src.getNumberElement())); if (src.hasType()) - tgt.setTypeElement(String43_50.convertString(src.getTypeElement())); - if (src.hasName()) - tgt.setNameElement(String43_50.convertString(src.getNameElement())); + tgt.setType(src.getType().getCode()); + if (src.hasTitle()) + tgt.setNameElement(String43_50.convertString(src.getTitleElement())); if (src.hasInitiator()) tgt.setInitiatorElement(String43_50.convertString(src.getInitiatorElement())); if (src.hasReceiver()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExplanationOfBenefit43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExplanationOfBenefit43_50.java index 127e8119b..1d7db11e1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExplanationOfBenefit43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ExplanationOfBenefit43_50.java @@ -1,8 +1,19 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -435,7 +446,7 @@ public class ExplanationOfBenefit43_50 { if (src.hasRole()) tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole())); if (src.hasQualification()) - tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getQualification())); + tgt.setSpecialty(CodeableConcept43_50.convertCodeableConcept(src.getQualification())); return tgt; } @@ -452,8 +463,8 @@ public class ExplanationOfBenefit43_50 { tgt.setResponsibleElement(Boolean43_50.convertBoolean(src.getResponsibleElement())); if (src.hasRole()) tgt.setRole(CodeableConcept43_50.convertCodeableConcept(src.getRole())); - if (src.hasQualification()) - tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getQualification())); + if (src.hasSpecialty()) + tgt.setQualification(CodeableConcept43_50.convertCodeableConcept(src.getSpecialty())); return tgt; } @@ -510,8 +521,8 @@ public class ExplanationOfBenefit43_50 { tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept43_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -528,8 +539,8 @@ public class ExplanationOfBenefit43_50 { tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasOnAdmission()) tgt.setOnAdmission(CodeableConcept43_50.convertCodeableConcept(src.getOnAdmission())); - if (src.hasPackageCode()) - tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); +// if (src.hasPackageCode()) +// tgt.setPackageCode(CodeableConcept43_50.convertCodeableConcept(src.getPackageCode())); return tgt; } @@ -662,9 +673,9 @@ public class ExplanationOfBenefit43_50 { tgt.setNet(Money43_50.convertMoney(src.getNet())); for (org.hl7.fhir.r4b.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t)); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt43_50.convertPositiveInt(t)); @@ -713,9 +724,9 @@ public class ExplanationOfBenefit43_50 { if (src.hasNet()) tgt.setNet(Money43_50.convertMoney(src.getNet())); for (org.hl7.fhir.r5.model.Reference t : src.getUdi()) tgt.addUdi(Reference43_50.convertReference(t)); - if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + if (src.getBodySiteFirstRep().hasSite()) + tgt.setBodySite(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.Reference t : src.getEncounter()) tgt.addEncounter(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber()) @@ -926,9 +937,9 @@ public class ExplanationOfBenefit43_50 { if (src.hasNet()) tgt.setNet(Money43_50.convertMoney(src.getNet())); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); + tgt.getBodySiteFirstRep().addSite(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getBodySite())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getSubSite()) - tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.getBodySiteFirstRep().addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt43_50.convertPositiveInt(t)); for (org.hl7.fhir.r4b.model.ExplanationOfBenefit.AdjudicationComponent t : src.getAdjudication()) @@ -969,8 +980,8 @@ public class ExplanationOfBenefit43_50 { if (src.hasNet()) tgt.setNet(Money43_50.convertMoney(src.getNet())); if (src.hasBodySite()) - tgt.setBodySite(CodeableConcept43_50.convertCodeableConcept(src.getBodySite())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubSite()) + tgt.setBodySite(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getBodySiteFirstRep().getSiteFirstRep())); + for (org.hl7.fhir.r5.model.CodeableConcept t : src.getBodySiteFirstRep().getSubSite()) tgt.addSubSite(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r5.model.PositiveIntType t : src.getNoteNumber()) tgt.getNoteNumber().add(PositiveInt43_50.convertPositiveInt(t)); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/FamilyMemberHistory43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/FamilyMemberHistory43_50.java index df5d187a0..7cbf49e20 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/FamilyMemberHistory43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/FamilyMemberHistory43_50.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java index 448b42805..3898c77fd 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/GraphDefinition43_50.java @@ -4,7 +4,14 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java index de0f04428..142126b0f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/HealthcareService43_50.java @@ -1,17 +1,17 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ExtendedContactDetail; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Immunization43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Immunization43_50.java index 9b6bc03a2..b7a745a4b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Immunization43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Immunization43_50.java @@ -5,7 +5,10 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; @@ -69,7 +72,7 @@ public class Immunization43_50 { if (src.hasLocation()) tgt.setLocation(Reference43_50.convertReference(src.getLocation())); if (src.hasManufacturer()) - tgt.setManufacturer(Reference43_50.convertReference(src.getManufacturer())); + tgt.setManufacturer(Reference43_50.convertReferenceToCodeableReference(src.getManufacturer())); if (src.hasLotNumber()) tgt.setLotNumberElement(String43_50.convertString(src.getLotNumberElement())); if (src.hasExpirationDate()) @@ -91,10 +94,10 @@ public class Immunization43_50 { tgt.setIsSubpotentElement(Boolean43_50.convertBoolean(src.getIsSubpotentElement())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getSubpotentReason()) tgt.addSubpotentReason(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) - tgt.addEducation(convertImmunizationEducationComponent(t)); - for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getProgramEligibility()) - tgt.addProgramEligibility(CodeableConcept43_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) +// tgt.addEducation(convertImmunizationEducationComponent(t)); +// for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getProgramEligibility()) +// tgt.addProgramEligibility(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasFundingSource()) tgt.setFundingSource(CodeableConcept43_50.convertCodeableConcept(src.getFundingSource())); for (org.hl7.fhir.r4b.model.Immunization.ImmunizationReactionComponent t : src.getReaction()) @@ -132,7 +135,7 @@ public class Immunization43_50 { if (src.hasLocation()) tgt.setLocation(Reference43_50.convertReference(src.getLocation())); if (src.hasManufacturer()) - tgt.setManufacturer(Reference43_50.convertReference(src.getManufacturer())); + tgt.setManufacturer(Reference43_50.convertCodeableReferenceToReference(src.getManufacturer())); if (src.hasLotNumber()) tgt.setLotNumberElement(String43_50.convertString(src.getLotNumberElement())); if (src.hasExpirationDate()) @@ -156,10 +159,10 @@ public class Immunization43_50 { tgt.setIsSubpotentElement(Boolean43_50.convertBoolean(src.getIsSubpotentElement())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getSubpotentReason()) tgt.addSubpotentReason(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) - tgt.addEducation(convertImmunizationEducationComponent(t)); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramEligibility()) - tgt.addProgramEligibility(CodeableConcept43_50.convertCodeableConcept(t)); +// for (org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent t : src.getEducation()) +// tgt.addEducation(convertImmunizationEducationComponent(t)); +// for (org.hl7.fhir.r5.model.CodeableConcept t : src.getProgramEligibility()) +// tgt.addProgramEligibility(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasFundingSource()) tgt.setFundingSource(CodeableConcept43_50.convertCodeableConcept(src.getFundingSource())); for (org.hl7.fhir.r5.model.Immunization.ImmunizationReactionComponent t : src.getReaction()) @@ -237,37 +240,37 @@ public class Immunization43_50 { return tgt; } - public static org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDocumentType()) - tgt.setDocumentTypeElement(String43_50.convertString(src.getDocumentTypeElement())); - if (src.hasReference()) - tgt.setReferenceElement(Uri43_50.convertUri(src.getReferenceElement())); - if (src.hasPublicationDate()) - tgt.setPublicationDateElement(DateTime43_50.convertDateTime(src.getPublicationDateElement())); - if (src.hasPresentationDate()) - tgt.setPresentationDateElement(DateTime43_50.convertDateTime(src.getPresentationDateElement())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDocumentType()) - tgt.setDocumentTypeElement(String43_50.convertString(src.getDocumentTypeElement())); - if (src.hasReference()) - tgt.setReferenceElement(Uri43_50.convertUri(src.getReferenceElement())); - if (src.hasPublicationDate()) - tgt.setPublicationDateElement(DateTime43_50.convertDateTime(src.getPublicationDateElement())); - if (src.hasPresentationDate()) - tgt.setPresentationDateElement(DateTime43_50.convertDateTime(src.getPresentationDateElement())); - return tgt; - } +// public static org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasDocumentType()) +// tgt.setDocumentTypeElement(String43_50.convertString(src.getDocumentTypeElement())); +// if (src.hasReference()) +// tgt.setReferenceElement(Uri43_50.convertUri(src.getReferenceElement())); +// if (src.hasPublicationDate()) +// tgt.setPublicationDateElement(DateTime43_50.convertDateTime(src.getPublicationDateElement())); +// if (src.hasPresentationDate()) +// tgt.setPresentationDateElement(DateTime43_50.convertDateTime(src.getPresentationDateElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent convertImmunizationEducationComponent(org.hl7.fhir.r5.model.Immunization.ImmunizationEducationComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent tgt = new org.hl7.fhir.r4b.model.Immunization.ImmunizationEducationComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasDocumentType()) +// tgt.setDocumentTypeElement(String43_50.convertString(src.getDocumentTypeElement())); +// if (src.hasReference()) +// tgt.setReferenceElement(Uri43_50.convertUri(src.getReferenceElement())); +// if (src.hasPublicationDate()) +// tgt.setPublicationDateElement(DateTime43_50.convertDateTime(src.getPublicationDateElement())); +// if (src.hasPresentationDate()) +// tgt.setPresentationDateElement(DateTime43_50.convertDateTime(src.getPresentationDateElement())); +// return tgt; +// } public static org.hl7.fhir.r5.model.Immunization.ImmunizationReactionComponent convertImmunizationReactionComponent(org.hl7.fhir.r4b.model.Immunization.ImmunizationReactionComponent src) throws FHIRException { if (src == null) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java index 0db9e3d9c..9ead6b044 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ImplementationGuide43_50.java @@ -1,18 +1,24 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Boolean40_50; -import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.Utilities; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -2280,7 +2286,7 @@ public class ImplementationGuide43_50 { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideGlobalComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code43_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code43_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); return tgt; @@ -2292,7 +2298,7 @@ public class ImplementationGuide43_50 { org.hl7.fhir.r4b.model.ImplementationGuide.ImplementationGuideGlobalComponent tgt = new org.hl7.fhir.r4b.model.ImplementationGuide.ImplementationGuideGlobalComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setTypeElement(Code43_50.convertResourceEnum(src.getTypeElement())); + tgt.setTypeElement(Code43_50.convertCode(src.getTypeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/InsurancePlan43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/InsurancePlan43_50.java index a08fd0a23..43ac1890c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/InsurancePlan43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/InsurancePlan43_50.java @@ -1,7 +1,14 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Quantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; @@ -113,7 +120,7 @@ public class InsurancePlan43_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept43_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName43_50.convertHumanName(src.getName())); + tgt.addName(HumanName43_50.convertHumanName(src.getName())); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); if (src.hasAddress()) @@ -129,7 +136,7 @@ public class InsurancePlan43_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept43_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName43_50.convertHumanName(src.getName())); + tgt.setName(HumanName43_50.convertHumanName(src.getNameFirstRep())); for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); if (src.hasAddress()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Invoice43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Invoice43_50.java index 7e695eb25..740c312c1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Invoice43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Invoice43_50.java @@ -5,7 +5,10 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -67,8 +70,8 @@ public class Invoice43_50 { tgt.setAccount(Reference43_50.convertReference(src.getAccount())); for (org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemComponent t : src.getLineItem()) tgt.addLineItem(convertInvoiceLineItemComponent(t)); - for (org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) - tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) +// tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); if (src.hasTotalNet()) tgt.setTotalNet(Money43_50.convertMoney(src.getTotalNet())); if (src.hasTotalGross()) @@ -106,8 +109,8 @@ public class Invoice43_50 { tgt.setAccount(Reference43_50.convertReference(src.getAccount())); for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemComponent t : src.getLineItem()) tgt.addLineItem(convertInvoiceLineItemComponent(t)); - for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) - tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getTotalPriceComponent()) +// tgt.addTotalPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); if (src.hasTotalNet()) tgt.setTotalNet(Money43_50.convertMoney(src.getTotalNet())); if (src.hasTotalGross()) @@ -207,8 +210,8 @@ public class Invoice43_50 { tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement())); if (src.hasChargeItem()) tgt.setChargeItem(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getChargeItem())); - for (org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); return tgt; } @@ -221,102 +224,102 @@ public class Invoice43_50 { tgt.setSequenceElement(PositiveInt43_50.convertPositiveInt(src.getSequenceElement())); if (src.hasChargeItem()) tgt.setChargeItem(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getChargeItem())); - for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) - tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); +// for (org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent t : src.getPriceComponent()) +// tgt.addPriceComponent(convertInvoiceLineItemPriceComponentComponent(t)); return tgt; } - public static org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money43_50.convertMoney(src.getAmount())); - return tgt; - } +// public static org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money43_50.convertMoney(src.getAmount())); +// return tgt; +// } - public static org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasType()) - tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); - if (src.hasCode()) - tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); - if (src.hasFactor()) - tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); - if (src.hasAmount()) - tgt.setAmount(Money43_50.convertMoney(src.getAmount())); - return tgt; - } +// public static org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent convertInvoiceLineItemPriceComponentComponent(org.hl7.fhir.r5.model.Invoice.InvoiceLineItemPriceComponentComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent tgt = new org.hl7.fhir.r4b.model.Invoice.InvoiceLineItemPriceComponentComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasType()) +// tgt.setTypeElement(convertInvoicePriceComponentType(src.getTypeElement())); +// if (src.hasCode()) +// tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); +// if (src.hasFactor()) +// tgt.setFactorElement(Decimal43_50.convertDecimal(src.getFactorElement())); +// if (src.hasAmount()) +// tgt.setAmount(Money43_50.convertMoney(src.getAmount())); +// return tgt; +// } - static public org.hl7.fhir.r5.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r4b.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); - switch (src.getValue()) { - case BASE: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.BASE); - break; - case SURCHARGE: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.SURCHARGE); - break; - case DEDUCTION: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DEDUCTION); - break; - case DISCOUNT: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DISCOUNT); - break; - case TAX: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.TAX); - break; - case INFORMATIONAL: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); - break; - default: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.NULL); - break; - } - return tgt; - } +// static public org.hl7.fhir.r5.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r4b.model.Enumeration convertInvoicePriceComponentType(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentTypeEnumFactory()); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case BASE: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.BASE); +// break; +// case SURCHARGE: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.SURCHARGE); +// break; +// case DEDUCTION: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DEDUCTION); +// break; +// case DISCOUNT: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.DISCOUNT); +// break; +// case TAX: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.TAX); +// break; +// case INFORMATIONAL: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.INFORMATIONAL); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.InvoicePriceComponentType.NULL); +// break; +// } +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Library43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Library43_50.java index 4c22e3039..52d84854e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Library43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Library43_50.java @@ -5,8 +5,17 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.DataRequirement43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ParameterDefinition43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.RelatedArtifact43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java index ce1991392..23278bb41 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Location43_50.java @@ -1,18 +1,18 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ContactPoint; import org.hl7.fhir.r5.model.ExtendedContactDetail; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Measure43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Measure43_50.java index eaaf556a4..efa911a71 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Measure43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Measure43_50.java @@ -8,8 +8,15 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDet import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.Expression43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.RelatedArtifact43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.Measure.MeasureTermComponent; /* Copyright (c) 2011+, HL7, Inc. @@ -122,7 +129,7 @@ public class Measure43_50 { if (src.hasImprovementNotation()) tgt.setImprovementNotation(CodeableConcept43_50.convertCodeableConcept(src.getImprovementNotation())); for (org.hl7.fhir.r4b.model.MarkdownType t : src.getDefinition()) - tgt.getDefinition().add(MarkDown43_50.convertMarkdown(t)); + tgt.addTerm().setDefinitionElement(MarkDown43_50.convertMarkdown(t)); if (src.hasGuidance()) tgt.setGuidanceElement(MarkDown43_50.convertMarkdown(src.getGuidanceElement())); for (org.hl7.fhir.r4b.model.Measure.MeasureGroupComponent t : src.getGroup()) @@ -211,8 +218,8 @@ public class Measure43_50 { tgt.setClinicalRecommendationStatementElement(MarkDown43_50.convertMarkdown(src.getClinicalRecommendationStatementElement())); if (src.hasImprovementNotation()) tgt.setImprovementNotation(CodeableConcept43_50.convertCodeableConcept(src.getImprovementNotation())); - for (org.hl7.fhir.r5.model.MarkdownType t : src.getDefinition()) - tgt.getDefinition().add(MarkDown43_50.convertMarkdown(t)); + for (MeasureTermComponent t : src.getTerm()) + tgt.getDefinition().add(MarkDown43_50.convertMarkdown(t.getDefinitionElement())); if (src.hasGuidance()) tgt.setGuidanceElement(MarkDown43_50.convertMarkdown(src.getGuidanceElement())); for (org.hl7.fhir.r5.model.Measure.MeasureGroupComponent t : src.getGroup()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MeasureReport43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MeasureReport43_50.java index 8c3ac5800..1f1866f7a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MeasureReport43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MeasureReport43_50.java @@ -162,7 +162,7 @@ public class MeasureReport43_50 { tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.SUMMARY); break; case DATACOLLECTION: - tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.DATACOLLECTION); + tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.DATAEXCHANGE); break; default: tgt.setValue(org.hl7.fhir.r5.model.MeasureReport.MeasureReportType.NULL); @@ -186,7 +186,7 @@ public class MeasureReport43_50 { case SUMMARY: tgt.setValue(org.hl7.fhir.r4b.model.MeasureReport.MeasureReportType.SUMMARY); break; - case DATACOLLECTION: + case DATAEXCHANGE: tgt.setValue(org.hl7.fhir.r4b.model.MeasureReport.MeasureReportType.DATACOLLECTION); break; default: @@ -262,7 +262,7 @@ public class MeasureReport43_50 { org.hl7.fhir.r5.model.MeasureReport.MeasureReportGroupStratifierComponent tgt = new org.hl7.fhir.r5.model.MeasureReport.MeasureReportGroupStratifierComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getCode()) - tgt.addCode(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.setCode(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.MeasureReport.StratifierGroupComponent t : src.getStratum()) tgt.addStratum(convertStratifierGroupComponent(t)); return tgt; @@ -273,8 +273,7 @@ public class MeasureReport43_50 { return null; org.hl7.fhir.r4b.model.MeasureReport.MeasureReportGroupStratifierComponent tgt = new org.hl7.fhir.r4b.model.MeasureReport.MeasureReportGroupStratifierComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getCode()) - tgt.addCode(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.addCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); for (org.hl7.fhir.r5.model.MeasureReport.StratifierGroupComponent t : src.getStratum()) tgt.addStratum(convertStratifierGroupComponent(t)); return tgt; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationAdministration43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationAdministration43_50.java index aa5952dd0..41ae656b3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationAdministration43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationAdministration43_50.java @@ -6,7 +6,6 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableCon import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; @@ -49,7 +48,7 @@ public class MedicationAdministration43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); for (org.hl7.fhir.r4b.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(Identifier43_50.convertIdentifier(t)); - for (org.hl7.fhir.r4b.model.UriType t : src.getInstantiates()) tgt.getInstantiatesUri().add(Uri43_50.convertUri(t)); +// for (org.hl7.fhir.r4b.model.UriType t : src.getInstantiates()) tgt.getInstantiatesUri().add(Uri43_50.convertUri(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference43_50.convertReference(t)); if (src.hasStatus()) tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); @@ -93,7 +92,7 @@ public class MedicationAdministration43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); for (org.hl7.fhir.r5.model.Identifier t : src.getIdentifier()) tgt.addIdentifier(Identifier43_50.convertIdentifier(t)); - for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) tgt.getInstantiates().add(Uri43_50.convertUri(t)); +// for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) tgt.getInstantiates().add(Uri43_50.convertUri(t)); for (org.hl7.fhir.r5.model.Reference t : src.getPartOf()) tgt.addPartOf(Reference43_50.convertReference(t)); if (src.hasStatus()) tgt.setStatusElement(convertMedicationAdministrationStatus(src.getStatusElement())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationKnowledge43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationKnowledge43_50.java index f68f54bfd..67541b5eb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationKnowledge43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationKnowledge43_50.java @@ -1,14 +1,15 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Money43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.CodeableConcept; -import org.hl7.fhir.r5.model.Coding; import org.hl7.fhir.r5.model.MedicationKnowledge.MedicationKnowledgePackagingComponent; import org.hl7.fhir.r5.model.MedicationKnowledge.MedicationKnowledgeStatusCodesEnumFactory; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationRequest43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationRequest43_50.java index 7047dcc5b..0bf468df3 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationRequest43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MedicationRequest43_50.java @@ -1,8 +1,15 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Dosage43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -85,10 +92,10 @@ public class MedicationRequest43_50 { tgt.addReason().setConcept(CodeableConcept43_50.convertCodeableConcept(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getReasonReference()) tgt.addReason().setReference(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r4b.model.CanonicalType t : src.getInstantiatesCanonical()) - tgt.getInstantiatesCanonical().add(Canonical43_50.convertCanonical(t)); - for (org.hl7.fhir.r4b.model.UriType t : src.getInstantiatesUri()) - tgt.getInstantiatesUri().add(Uri43_50.convertUri(t)); +// for (org.hl7.fhir.r4b.model.CanonicalType t : src.getInstantiatesCanonical()) +// tgt.getInstantiatesCanonical().add(Canonical43_50.convertCanonical(t)); +// for (org.hl7.fhir.r4b.model.UriType t : src.getInstantiatesUri()) +// tgt.getInstantiatesUri().add(Uri43_50.convertUri(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference43_50.convertReference(t)); if (src.hasGroupIdentifier()) tgt.setGroupIdentifier(Identifier43_50.convertIdentifier(src.getGroupIdentifier())); @@ -160,10 +167,10 @@ public class MedicationRequest43_50 { if (t.hasReference()) tgt.addReasonReference(Reference43_50.convertReference(t.getReference())); } - for (org.hl7.fhir.r5.model.CanonicalType t : src.getInstantiatesCanonical()) - tgt.getInstantiatesCanonical().add(Canonical43_50.convertCanonical(t)); - for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) - tgt.getInstantiatesUri().add(Uri43_50.convertUri(t)); +// for (org.hl7.fhir.r5.model.CanonicalType t : src.getInstantiatesCanonical()) +// tgt.getInstantiatesCanonical().add(Canonical43_50.convertCanonical(t)); +// for (org.hl7.fhir.r5.model.UriType t : src.getInstantiatesUri()) +// tgt.getInstantiatesUri().add(Uri43_50.convertUri(t)); for (org.hl7.fhir.r5.model.Reference t : src.getBasedOn()) tgt.addBasedOn(Reference43_50.convertReference(t)); if (src.hasGroupIdentifier()) tgt.setGroupIdentifier(Identifier43_50.convertIdentifier(src.getGroupIdentifier())); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageDefinition43_50.java index f3be9c2eb..3f1e3d5f1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageDefinition43_50.java @@ -5,7 +5,14 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableCon import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.UnsignedInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* @@ -250,7 +257,7 @@ public class MessageDefinition43_50 { org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent tgt = new org.hl7.fhir.r5.model.MessageDefinition.MessageDefinitionFocusComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code43_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); if (src.hasMin()) @@ -266,7 +273,7 @@ public class MessageDefinition43_50 { org.hl7.fhir.r4b.model.MessageDefinition.MessageDefinitionFocusComponent tgt = new org.hl7.fhir.r4b.model.MessageDefinition.MessageDefinitionFocusComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasCode()) - tgt.setCodeElement(Code43_50.convertResourceEnum(src.getCodeElement())); + tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); if (src.hasProfile()) tgt.setProfileElement(Canonical43_50.convertCanonical(src.getProfileElement())); if (src.hasMin()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageHeader43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageHeader43_50.java index a91585b3d..602a4977d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageHeader43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/MessageHeader43_50.java @@ -4,7 +4,6 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/NutritionOrder43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/NutritionOrder43_50.java index f5f13f63f..981f0067a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/NutritionOrder43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/NutritionOrder43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Timing43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; @@ -57,7 +61,7 @@ public class NutritionOrder43_50 { if (src.hasIntent()) tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement())); if (src.hasPatient()) - tgt.setPatient(Reference43_50.convertReference(src.getPatient())); + tgt.setSubject(Reference43_50.convertReference(src.getPatient())); if (src.hasEncounter()) tgt.setEncounter(Reference43_50.convertReference(src.getEncounter())); if (src.hasDateTime()) @@ -96,8 +100,8 @@ public class NutritionOrder43_50 { tgt.setStatusElement(convertNutritionOrderStatus(src.getStatusElement())); if (src.hasIntent()) tgt.setIntentElement(convertNutritiionOrderIntent(src.getIntentElement())); - if (src.hasPatient()) - tgt.setPatient(Reference43_50.convertReference(src.getPatient())); + if (src.hasSubject()) + tgt.setPatient(Reference43_50.convertReference(src.getSubject())); if (src.hasEncounter()) tgt.setEncounter(Reference43_50.convertReference(src.getEncounter())); if (src.hasDateTime()) @@ -275,7 +279,7 @@ public class NutritionOrder43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r4b.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing43_50.convertTiming(t)); + for (org.hl7.fhir.r4b.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing43_50.convertTiming(t)); for (org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient()) tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t)); for (org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture()) @@ -294,7 +298,7 @@ public class NutritionOrder43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getType()) tgt.addType(CodeableConcept43_50.convertCodeableConcept(t)); - for (org.hl7.fhir.r5.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing43_50.convertTiming(t)); + for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing43_50.convertTiming(t)); for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietNutrientComponent t : src.getNutrient()) tgt.addNutrient(convertNutritionOrderOralDietNutrientComponent(t)); for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderOralDietTextureComponent t : src.getTexture()) @@ -360,10 +364,10 @@ public class NutritionOrder43_50 { org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderSupplementComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); + tgt.setType(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getType())); if (src.hasProductName()) tgt.setProductNameElement(String43_50.convertString(src.getProductNameElement())); - for (org.hl7.fhir.r4b.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing43_50.convertTiming(t)); + for (org.hl7.fhir.r4b.model.Timing t : src.getSchedule()) tgt.getSchedule().addTiming(Timing43_50.convertTiming(t)); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity())); if (src.hasInstruction()) @@ -377,10 +381,10 @@ public class NutritionOrder43_50 { org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderSupplementComponent tgt = new org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderSupplementComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) - tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); + tgt.setType(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getType())); if (src.hasProductName()) tgt.setProductNameElement(String43_50.convertString(src.getProductNameElement())); - for (org.hl7.fhir.r5.model.Timing t : src.getSchedule()) tgt.addSchedule(Timing43_50.convertTiming(t)); + for (org.hl7.fhir.r5.model.Timing t : src.getSchedule().getTiming()) tgt.addSchedule(Timing43_50.convertTiming(t)); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity())); if (src.hasInstruction()) @@ -394,17 +398,17 @@ public class NutritionOrder43_50 { org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasBaseFormulaType()) - tgt.setBaseFormulaType(CodeableConcept43_50.convertCodeableConcept(src.getBaseFormulaType())); + tgt.setBaseFormulaType(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getBaseFormulaType())); if (src.hasBaseFormulaProductName()) tgt.setBaseFormulaProductNameElement(String43_50.convertString(src.getBaseFormulaProductNameElement())); - if (src.hasAdditiveType()) - tgt.setAdditiveType(CodeableConcept43_50.convertCodeableConcept(src.getAdditiveType())); - if (src.hasAdditiveProductName()) - tgt.setAdditiveProductNameElement(String43_50.convertString(src.getAdditiveProductNameElement())); +// if (src.hasAdditiveType()) +// tgt.setAdditiveType(CodeableConcept43_50.convertCodeableConcept(src.getAdditiveType())); +// if (src.hasAdditiveProductName()) +// tgt.setAdditiveProductNameElement(String43_50.convertString(src.getAdditiveProductNameElement())); if (src.hasCaloricDensity()) tgt.setCaloricDensity(SimpleQuantity43_50.convertSimpleQuantity(src.getCaloricDensity())); if (src.hasRouteofAdministration()) - tgt.setRouteofAdministration(CodeableConcept43_50.convertCodeableConcept(src.getRouteofAdministration())); + tgt.setRouteOfAdministration(CodeableConcept43_50.convertCodeableConcept(src.getRouteofAdministration())); for (org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration()) tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t)); if (src.hasMaxVolumeToDeliver()) @@ -420,17 +424,17 @@ public class NutritionOrder43_50 { org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderEnteralFormulaComponent tgt = new org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderEnteralFormulaComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasBaseFormulaType()) - tgt.setBaseFormulaType(CodeableConcept43_50.convertCodeableConcept(src.getBaseFormulaType())); + tgt.setBaseFormulaType(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getBaseFormulaType())); if (src.hasBaseFormulaProductName()) tgt.setBaseFormulaProductNameElement(String43_50.convertString(src.getBaseFormulaProductNameElement())); - if (src.hasAdditiveType()) - tgt.setAdditiveType(CodeableConcept43_50.convertCodeableConcept(src.getAdditiveType())); - if (src.hasAdditiveProductName()) - tgt.setAdditiveProductNameElement(String43_50.convertString(src.getAdditiveProductNameElement())); +// if (src.hasAdditiveType()) +// tgt.setAdditiveType(CodeableConcept43_50.convertCodeableConcept(src.getAdditiveType())); +// if (src.hasAdditiveProductName()) +// tgt.setAdditiveProductNameElement(String43_50.convertString(src.getAdditiveProductNameElement())); if (src.hasCaloricDensity()) tgt.setCaloricDensity(SimpleQuantity43_50.convertSimpleQuantity(src.getCaloricDensity())); - if (src.hasRouteofAdministration()) - tgt.setRouteofAdministration(CodeableConcept43_50.convertCodeableConcept(src.getRouteofAdministration())); + if (src.hasRouteOfAdministration()) + tgt.setRouteofAdministration(CodeableConcept43_50.convertCodeableConcept(src.getRouteOfAdministration())); for (org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent t : src.getAdministration()) tgt.addAdministration(convertNutritionOrderEnteralFormulaAdministrationComponent(t)); if (src.hasMaxVolumeToDeliver()) @@ -446,7 +450,7 @@ public class NutritionOrder43_50 { org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r5.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasSchedule()) - tgt.setSchedule(Timing43_50.convertTiming(src.getSchedule())); + tgt.getSchedule().addTiming(Timing43_50.convertTiming(src.getSchedule())); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity())); if (src.hasRate()) @@ -459,8 +463,8 @@ public class NutritionOrder43_50 { return null; org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent tgt = new org.hl7.fhir.r4b.model.NutritionOrder.NutritionOrderEnteralFormulaAdministrationComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasSchedule()) - tgt.setSchedule(Timing43_50.convertTiming(src.getSchedule())); + if (src.getSchedule().hasTiming()) + tgt.setSchedule(Timing43_50.convertTiming(src.getSchedule().getTimingFirstRep())); if (src.hasQuantity()) tgt.setQuantity(SimpleQuantity43_50.convertSimpleQuantity(src.getQuantity())); if (src.hasRate()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Observation43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Observation43_50.java index 3535f3885..8a61c6a8f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Observation43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Observation43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Range43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Instant43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ObservationDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ObservationDefinition43_50.java index f3030b6eb..d048fe13c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ObservationDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ObservationDefinition43_50.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; @@ -9,8 +11,6 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java index ad68abe12..ffc2f1998 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OperationDefinition43_50.java @@ -4,7 +4,14 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; @@ -80,7 +87,7 @@ public class OperationDefinition43_50 { tgt.setCommentElement(MarkDown43_50.convertMarkdown(src.getCommentElement())); if (src.hasBase()) tgt.setBaseElement(Canonical43_50.convertCanonical(src.getBaseElement())); - for (org.hl7.fhir.r4b.model.CodeType t : src.getResource()) tgt.getResource().add(Code43_50.convertResourceEnum(t)); + for (org.hl7.fhir.r4b.model.CodeType t : src.getResource()) tgt.getResource().add(Code43_50.convertCode(t)); if (src.hasSystem()) tgt.setSystemElement(Boolean43_50.convertBoolean(src.getSystemElement())); if (src.hasType()) @@ -139,7 +146,7 @@ public class OperationDefinition43_50 { tgt.setCommentElement(MarkDown43_50.convertMarkdown(src.getCommentElement())); if (src.hasBase()) tgt.setBaseElement(Canonical43_50.convertCanonical(src.getBaseElement())); - for (CodeType t : src.getResource()) tgt.getResource().add(Code43_50.convertResourceEnum(t)); + for (CodeType t : src.getResource()) tgt.getResource().add(Code43_50.convertCode(t)); if (src.hasSystem()) tgt.setSystemElement(Boolean43_50.convertBoolean(src.getSystemElement())); if (src.hasType()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java index d6a4e0271..ff4692930 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Organization43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; @@ -53,9 +57,9 @@ public class Organization43_50 { if (src.hasName()) tgt.setNameElement(String43_50.convertString(src.getNameElement())); for (org.hl7.fhir.r4b.model.StringType t : src.getAlias()) tgt.getAlias().add(String43_50.convertString(t)); + for (org.hl7.fhir.r4b.model.Address t : src.getAddress()) tgt.addContact().setAddress(Address43_50.convertAddress(t)); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) tgt.getContactFirstRep().addTelecom(ContactPoint43_50.convertContactPoint(t)); - for (org.hl7.fhir.r4b.model.Address t : src.getAddress()) tgt.addAddress(Address43_50.convertAddress(t)); if (src.hasPartOf()) tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); for (org.hl7.fhir.r4b.model.Organization.OrganizationContactComponent t : src.getContact()) @@ -81,7 +85,9 @@ public class Organization43_50 { for (ExtendedContactDetail t1 : src.getContact()) for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.Address t : src.getAddress()) tgt.addAddress(Address43_50.convertAddress(t)); + for (ExtendedContactDetail t : src.getContact()) + if (t.hasAddress()) + tgt.addAddress(Address43_50.convertAddress(t.getAddress())); if (src.hasPartOf()) tgt.setPartOf(Reference43_50.convertReference(src.getPartOf())); for (org.hl7.fhir.r5.model.ExtendedContactDetail t : src.getContact()) @@ -98,7 +104,7 @@ public class Organization43_50 { if (src.hasPurpose()) tgt.setPurpose(CodeableConcept43_50.convertCodeableConcept(src.getPurpose())); if (src.hasName()) - tgt.setName(HumanName43_50.convertHumanName(src.getName())); + tgt.addName(HumanName43_50.convertHumanName(src.getName())); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); if (src.hasAddress()) @@ -113,8 +119,8 @@ public class Organization43_50 { ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); if (src.hasPurpose()) tgt.setPurpose(CodeableConcept43_50.convertCodeableConcept(src.getPurpose())); - if (src.hasName()) - tgt.setName(HumanName43_50.convertHumanName(src.getName())); + for (org.hl7.fhir.r5.model.HumanName t : src.getName()) + tgt.setName(HumanName43_50.convertHumanName(t)); for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); if (src.hasAddress()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OrganizationAffiliation43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OrganizationAffiliation43_50.java index 0c0688e4e..bca40219c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OrganizationAffiliation43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/OrganizationAffiliation43_50.java @@ -64,7 +64,7 @@ public class OrganizationAffiliation43_50 { for (org.hl7.fhir.r4b.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + tgt.getContactFirstRep().addTelecom(ContactPoint43_50.convertContactPoint(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } @@ -92,8 +92,9 @@ public class OrganizationAffiliation43_50 { for (org.hl7.fhir.r5.model.Reference t : src.getLocation()) tgt.addLocation(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); + for (org.hl7.fhir.r5.model.ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Patient43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Patient43_50.java index cb053bf4c..6ca2ee655 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Patient43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Patient43_50.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Person43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Person43_50.java index 1a493692b..23f4a9254 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Person43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Person43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PlanDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PlanDefinition43_50.java index d92781c56..00cc40ce7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PlanDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PlanDefinition43_50.java @@ -5,8 +5,20 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableCon import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.DataRequirement43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.Expression43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.RelatedArtifact43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.TriggerDefinition43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.DataRequirement; import org.hl7.fhir.r5.model.PlanDefinition.PlanDefinitionActionInputComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Practitioner43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Practitioner43_50.java index 0d8bc878d..9f1e1f64d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Practitioner43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Practitioner43_50.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PractitionerRole43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PractitionerRole43_50.java index b60dfa52a..88907cbe2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PractitionerRole43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/PractitionerRole43_50.java @@ -6,13 +6,9 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoin import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Time43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -67,13 +63,13 @@ public class PractitionerRole43_50 { for (org.hl7.fhir.r4b.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); - for (org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); - for (org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); + tgt.getContactFirstRep().addTelecom(ContactPoint43_50.convertContactPoint(t)); +// for (org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); +// for (org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r4b.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } @@ -100,141 +96,142 @@ public class PractitionerRole43_50 { for (org.hl7.fhir.r5.model.Reference t : src.getLocation()) tgt.addLocation(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Reference t : src.getHealthcareService()) tgt.addHealthcareService(Reference43_50.convertReference(t)); - for (org.hl7.fhir.r5.model.ContactPoint t : src.getTelecom()) - tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); - for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) - tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); - for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) - tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); - if (src.hasAvailabilityExceptions()) - tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); + for (org.hl7.fhir.r5.model.ExtendedContactDetail t1 : src.getContact()) + for (org.hl7.fhir.r5.model.ContactPoint t : t1.getTelecom()) + tgt.addTelecom(ContactPoint43_50.convertContactPoint(t)); +// for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent t : src.getAvailableTime()) +// tgt.addAvailableTime(convertPractitionerRoleAvailableTimeComponent(t)); +// for (org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent t : src.getNotAvailable()) +// tgt.addNotAvailable(convertPractitionerRoleNotAvailableComponent(t)); +// if (src.hasAvailabilityExceptions()) +// tgt.setAvailabilityExceptionsElement(String43_50.convertString(src.getAvailabilityExceptionsElement())); for (org.hl7.fhir.r5.model.Reference t : src.getEndpoint()) tgt.addEndpoint(Reference43_50.convertReference(t)); return tgt; } - public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(PractitionerRole43_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - tgt.setDaysOfWeek(src.getDaysOfWeek().stream() - .map(PractitionerRole43_50::convertDaysOfWeek) - .collect(Collectors.toList())); - if (src.hasAllDay()) - tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); - if (src.hasAvailableStartTime()) - tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); - if (src.hasAvailableEndTime()) - tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); - return tgt; - } - - static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DaysOfWeekEnumFactory()); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); - switch (src.getValue()) { - case MON: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.MON); - break; - case TUE: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.TUE); - break; - case WED: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.WED); - break; - case THU: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.THU); - break; - case FRI: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.FRI); - break; - case SAT: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SAT); - break; - case SUN: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SUN); - break; - default: - tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); - break; - } - return tgt; - } - - static public org.hl7.fhir.r4b.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { - if (src == null || src.isEmpty()) - return null; - org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.DaysOfWeekEnumFactory()); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); - switch (src.getValue()) { - case MON: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.MON); - break; - case TUE: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.TUE); - break; - case WED: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.WED); - break; - case THU: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.THU); - break; - case FRI: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.FRI); - break; - case SAT: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.SAT); - break; - case SUN: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.SUN); - break; - default: - tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.NULL); - break; - } - return tgt; - } - - public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); - return tgt; - } - - public static org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { - if (src == null) - return null; - org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); - ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); - if (src.hasDescription()) - tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); - if (src.hasDuring()) - tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); - return tgt; - } +// public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(PractitionerRole43_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent convertPractitionerRoleAvailableTimeComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleAvailableTimeComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent tgt = new org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleAvailableTimeComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// tgt.setDaysOfWeek(src.getDaysOfWeek().stream() +// .map(PractitionerRole43_50::convertDaysOfWeek) +// .collect(Collectors.toList())); +// if (src.hasAllDay()) +// tgt.setAllDayElement(Boolean43_50.convertBoolean(src.getAllDayElement())); +// if (src.hasAvailableStartTime()) +// tgt.setAvailableStartTimeElement(Time43_50.convertTime(src.getAvailableStartTimeElement())); +// if (src.hasAvailableEndTime()) +// tgt.setAvailableEndTimeElement(Time43_50.convertTime(src.getAvailableEndTimeElement())); +// return tgt; +// } +// +// static public org.hl7.fhir.r5.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r4b.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r5.model.Enumeration tgt = new org.hl7.fhir.r5.model.Enumeration<>(new org.hl7.fhir.r5.model.Enumerations.DaysOfWeekEnumFactory()); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case MON: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.MON); +// break; +// case TUE: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.TUE); +// break; +// case WED: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.WED); +// break; +// case THU: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.THU); +// break; +// case FRI: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.FRI); +// break; +// case SAT: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SAT); +// break; +// case SUN: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.SUN); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r5.model.Enumerations.DaysOfWeek.NULL); +// break; +// } +// return tgt; +// } +// +// static public org.hl7.fhir.r4b.model.Enumeration convertDaysOfWeek(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { +// if (src == null || src.isEmpty()) +// return null; +// org.hl7.fhir.r4b.model.Enumeration tgt = new org.hl7.fhir.r4b.model.Enumeration<>(new org.hl7.fhir.r4b.model.Enumerations.DaysOfWeekEnumFactory()); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyElement(src, tgt); +// switch (src.getValue()) { +// case MON: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.MON); +// break; +// case TUE: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.TUE); +// break; +// case WED: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.WED); +// break; +// case THU: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.THU); +// break; +// case FRI: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.FRI); +// break; +// case SAT: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.SAT); +// break; +// case SUN: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.SUN); +// break; +// default: +// tgt.setValue(org.hl7.fhir.r4b.model.Enumerations.DaysOfWeek.NULL); +// break; +// } +// return tgt; +// } +// +// public static org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); +// return tgt; +// } +// +// public static org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent convertPractitionerRoleNotAvailableComponent(org.hl7.fhir.r5.model.PractitionerRole.PractitionerRoleNotAvailableComponent src) throws FHIRException { +// if (src == null) +// return null; +// org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent tgt = new org.hl7.fhir.r4b.model.PractitionerRole.PractitionerRoleNotAvailableComponent(); +// ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); +// if (src.hasDescription()) +// tgt.setDescriptionElement(String43_50.convertString(src.getDescriptionElement())); +// if (src.hasDuring()) +// tgt.setDuring(Period43_50.convertPeriod(src.getDuring())); +// return tgt; +// } } \ No newline at end of file diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Questionnaire43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Questionnaire43_50.java index 28ba9b581..1d8669c0d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Questionnaire43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Questionnaire43_50.java @@ -8,7 +8,15 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4b.model.Questionnaire.QuestionnaireItemType; import org.hl7.fhir.r5.model.CodeType; @@ -67,7 +75,7 @@ public class Questionnaire43_50 { if (src.hasExperimental()) tgt.setExperimentalElement(Boolean43_50.convertBoolean(src.getExperimentalElement())); for (org.hl7.fhir.r4b.model.CodeType t : src.getSubjectType()) - tgt.getSubjectType().add(Code43_50.convertResourceEnum(t)); + tgt.getSubjectType().add(Code43_50.convertCode(t)); if (src.hasDate()) tgt.setDateElement(DateTime43_50.convertDateTime(src.getDateElement())); if (src.hasPublisher()) @@ -117,7 +125,7 @@ public class Questionnaire43_50 { tgt.setStatusElement(Enumerations43_50.convertPublicationStatus(src.getStatusElement())); if (src.hasExperimental()) tgt.setExperimentalElement(Boolean43_50.convertBoolean(src.getExperimentalElement())); - for (CodeType t : src.getSubjectType()) tgt.getSubjectType().add(Code43_50.convertResourceEnum(t)); + for (CodeType t : src.getSubjectType()) tgt.getSubjectType().add(Code43_50.convertCode(t)); if (src.hasDate()) tgt.setDateElement(DateTime43_50.convertDateTime(src.getDateElement())); if (src.hasPublisher()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/RelatedPerson43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/RelatedPerson43_50.java index c879dea2b..b9e5e1c0e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/RelatedPerson43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/RelatedPerson43_50.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Address43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Attachment43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.ContactPoint43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.HumanName43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java index 33f931731..1964bd53a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SearchParameter43_50.java @@ -1,17 +1,20 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeType; -import org.hl7.fhir.r5.model.Enumeration; -import org.hl7.fhir.r5.model.Enumerations; -import org.hl7.fhir.r5.model.Enumerations.AllResourceTypes; - -import java.util.stream.Collectors; /* Copyright (c) 2011+, HL7, Inc. @@ -77,7 +80,7 @@ public class SearchParameter43_50 { tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); - for (org.hl7.fhir.r4b.model.CodeType t : src.getBase()) tgt.getBase().add(new Enumeration(new Enumerations.AllResourceTypesEnumFactory(), t.getCode())); + for (org.hl7.fhir.r4b.model.CodeType t : src.getBase()) tgt.getBase().add(Code43_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations43_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) @@ -86,7 +89,7 @@ public class SearchParameter43_50 { // tgt.setXpathElement(String43_50.convertString(src.getXpathElement())); if (src.hasXpathUsage()) tgt.setProcessingModeElement(convertXPathUsageType(src.getXpathUsageElement())); - for (org.hl7.fhir.r4b.model.CodeType t : src.getTarget()) tgt.getTarget().add(Code43_50.convertResourceEnum(t)); + for (org.hl7.fhir.r4b.model.CodeType t : src.getTarget()) tgt.getTarget().add(Code43_50.convertCode(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean43_50.convertBoolean(src.getMultipleOrElement())); if (src.hasMultipleAnd()) @@ -136,7 +139,7 @@ public class SearchParameter43_50 { tgt.setPurposeElement(MarkDown43_50.convertMarkdown(src.getPurposeElement())); if (src.hasCode()) tgt.setCodeElement(Code43_50.convertCode(src.getCodeElement())); - for (Enumeration t : src.getBase()) tgt.getBase().add(new org.hl7.fhir.r4b.model.CodeType(t.getCode())); + for (CodeType t : src.getBase()) tgt.getBase().add(Code43_50.convertCode(t)); if (src.hasType()) tgt.setTypeElement(Enumerations43_50.convertSearchParamType(src.getTypeElement())); if (src.hasExpression()) @@ -145,7 +148,7 @@ public class SearchParameter43_50 { // tgt.setXpathElement(String43_50.convertString(src.getXpathElement())); if (src.hasProcessingMode()) tgt.setXpathUsageElement(convertXPathUsageType(src.getProcessingModeElement())); - for (CodeType t : src.getTarget()) tgt.getTarget().add(Code43_50.convertResourceEnum(t)); + for (CodeType t : src.getTarget()) tgt.getTarget().add(Code43_50.convertCode(t)); if (src.hasMultipleOr()) tgt.setMultipleOrElement(Boolean43_50.convertBoolean(src.getMultipleOrElement())); if (src.hasMultipleAnd()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ServiceRequest43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ServiceRequest43_50.java index a28f1ca27..166c25a7b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ServiceRequest43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ServiceRequest43_50.java @@ -4,7 +4,11 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.CodeableReference; @@ -66,7 +70,7 @@ public class ServiceRequest43_50 { if (src.hasDoNotPerform()) tgt.setDoNotPerformElement(Boolean43_50.convertBoolean(src.getDoNotPerformElement())); if (src.hasCode()) - tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); + tgt.setCode(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getCode())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getOrderDetail()) tgt.addOrderDetail(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasQuantity()) @@ -134,7 +138,7 @@ public class ServiceRequest43_50 { if (src.hasDoNotPerform()) tgt.setDoNotPerformElement(Boolean43_50.convertBoolean(src.getDoNotPerformElement())); if (src.hasCode()) - tgt.setCode(CodeableConcept43_50.convertCodeableConcept(src.getCode())); + tgt.setCode(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getCode())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getOrderDetail()) tgt.addOrderDetail(CodeableConcept43_50.convertCodeableConcept(t)); if (src.hasQuantity()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Specimen43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Specimen43_50.java index 877a99d98..b4680e188 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Specimen43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Specimen43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SpecimenDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SpecimenDefinition43_50.java index 239642dcd..5c426e4b4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SpecimenDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SpecimenDefinition43_50.java @@ -1,7 +1,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Duration43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Range43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.SimpleQuantity43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; import org.hl7.fhir.exceptions.FHIRException; @@ -43,7 +47,7 @@ public class SpecimenDefinition43_50 { org.hl7.fhir.r5.model.SpecimenDefinition tgt = new org.hl7.fhir.r5.model.SpecimenDefinition(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier())); + tgt.addIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier())); if (src.hasTypeCollected()) tgt.setTypeCollected(CodeableConcept43_50.convertCodeableConcept(src.getTypeCollected())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getPatientPreparation()) @@ -63,7 +67,7 @@ public class SpecimenDefinition43_50 { org.hl7.fhir.r4b.model.SpecimenDefinition tgt = new org.hl7.fhir.r4b.model.SpecimenDefinition(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyDomainResource(src, tgt); if (src.hasIdentifier()) - tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifier())); + tgt.setIdentifier(Identifier43_50.convertIdentifier(src.getIdentifierFirstRep())); if (src.hasTypeCollected()) tgt.setTypeCollected(CodeableConcept43_50.convertCodeableConcept(src.getTypeCollected())); for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPatientPreparation()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureDefinition43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureDefinition43_50.java index 3b74f1910..dcc08ea49 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureDefinition43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureDefinition43_50.java @@ -6,7 +6,13 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.ElementDefinition43_50; import org.hl7.fhir.exceptions.FHIRException; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureMap43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureMap43_50.java index f36315861..4104faa2f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureMap43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/StructureMap43_50.java @@ -1,21 +1,33 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; +import java.util.stream.Collectors; + import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4b.model.StructureMap.StructureMapGroupTypeMode; import org.hl7.fhir.r4b.utils.ToolingExtensions; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.BooleanType; +import org.hl7.fhir.r5.model.DataType; +import org.hl7.fhir.r5.model.DecimalType; +import org.hl7.fhir.r5.model.IdType; +import org.hl7.fhir.r5.model.IntegerType; +import org.hl7.fhir.r5.model.StringType; import org.hl7.fhir.r5.model.StructureMap.StructureMapGroupRuleTargetParameterComponent; import org.hl7.fhir.r5.utils.FHIRPathConstant; import org.hl7.fhir.utilities.Utilities; -import java.util.stream.Collectors; - /* Copyright (c) 2011+, HL7, Inc. All rights reserved. diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SupplyDelivery43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SupplyDelivery43_50.java index 7532be742..f9bdb64c6 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SupplyDelivery43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/SupplyDelivery43_50.java @@ -54,7 +54,7 @@ public class SupplyDelivery43_50 { if (src.hasType()) tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); if (src.hasSuppliedItem()) - tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); + tgt.addSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getOccurrence())); if (src.hasSupplier()) @@ -81,7 +81,7 @@ public class SupplyDelivery43_50 { if (src.hasType()) tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); if (src.hasSuppliedItem()) - tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItem())); + tgt.setSuppliedItem(convertSupplyDeliverySuppliedItemComponent(src.getSuppliedItemFirstRep())); if (src.hasOccurrence()) tgt.setOccurrence(ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().convertType(src.getOccurrence())); if (src.hasSupplier()) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Task43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Task43_50.java index 683dad228..628fbc992 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Task43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/Task43_50.java @@ -5,9 +5,14 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Annotation4 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Period43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.PositiveInt43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.model.CodeableReference; /* Copyright (c) 2011+, HL7, Inc. @@ -58,7 +63,7 @@ public class Task43_50 { if (src.hasStatus()) tgt.setStatusElement(convertTaskStatus(src.getStatusElement())); if (src.hasStatusReason()) - tgt.setStatusReason(CodeableConcept43_50.convertCodeableConcept(src.getStatusReason())); + tgt.setStatusReason(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getStatusReason())); if (src.hasBusinessStatus()) tgt.setBusinessStatus(CodeableConcept43_50.convertCodeableConcept(src.getBusinessStatus())); if (src.hasIntent()) @@ -84,15 +89,15 @@ public class Task43_50 { if (src.hasRequester()) tgt.setRequester(Reference43_50.convertReference(src.getRequester())); for (org.hl7.fhir.r4b.model.CodeableConcept t : src.getPerformerType()) - tgt.addPerformerType(CodeableConcept43_50.convertCodeableConcept(t)); + tgt.addRequestedPerformer(CodeableConcept43_50.convertCodeableConceptToCodeableReference(t)); if (src.hasOwner()) tgt.setOwner(Reference43_50.convertReference(src.getOwner())); if (src.hasLocation()) tgt.setLocation(Reference43_50.convertReference(src.getLocation())); if (src.hasReasonCode()) - tgt.setReasonCode(CodeableConcept43_50.convertCodeableConcept(src.getReasonCode())); + tgt.addReason(CodeableConcept43_50.convertCodeableConceptToCodeableReference(src.getReasonCode())); if (src.hasReasonReference()) - tgt.setReasonReference(Reference43_50.convertReference(src.getReasonReference())); + tgt.addReason(Reference43_50.convertReferenceToCodeableReference(src.getReasonReference())); for (org.hl7.fhir.r4b.model.Reference t : src.getInsurance()) tgt.addInsurance(Reference43_50.convertReference(t)); for (org.hl7.fhir.r4b.model.Annotation t : src.getNote()) tgt.addNote(Annotation43_50.convertAnnotation(t)); for (org.hl7.fhir.r4b.model.Reference t : src.getRelevantHistory()) @@ -123,7 +128,7 @@ public class Task43_50 { if (src.hasStatus()) tgt.setStatusElement(convertTaskStatus(src.getStatusElement())); if (src.hasStatusReason()) - tgt.setStatusReason(CodeableConcept43_50.convertCodeableConcept(src.getStatusReason())); + tgt.setStatusReason(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(src.getStatusReason())); if (src.hasBusinessStatus()) tgt.setBusinessStatus(CodeableConcept43_50.convertCodeableConcept(src.getBusinessStatus())); if (src.hasIntent()) @@ -148,23 +153,25 @@ public class Task43_50 { tgt.setLastModifiedElement(DateTime43_50.convertDateTime(src.getLastModifiedElement())); if (src.hasRequester()) tgt.setRequester(Reference43_50.convertReference(src.getRequester())); - for (org.hl7.fhir.r5.model.CodeableConcept t : src.getPerformerType()) - tgt.addPerformerType(CodeableConcept43_50.convertCodeableConcept(t)); + for (org.hl7.fhir.r5.model.CodeableReference t : src.getRequestedPerformer()) + tgt.addPerformerType(CodeableConcept43_50.convertCodeableReferenceToCodeableConcept(t)); if (src.hasOwner()) tgt.setOwner(Reference43_50.convertReference(src.getOwner())); if (src.hasLocation()) tgt.setLocation(Reference43_50.convertReference(src.getLocation())); - if (src.hasReasonCode()) - tgt.setReasonCode(CodeableConcept43_50.convertCodeableConcept(src.getReasonCode())); - if (src.hasReasonReference()) - tgt.setReasonReference(Reference43_50.convertReference(src.getReasonReference())); + for (CodeableReference t : src.getReason()) { + if (t.hasConcept()) + tgt.setReasonCode(CodeableConcept43_50.convertCodeableConcept(t.getConcept())); + else if (t.hasReference()) + tgt.setReasonReference(Reference43_50.convertReference(t.getReference())); + } for (org.hl7.fhir.r5.model.Reference t : src.getInsurance()) tgt.addInsurance(Reference43_50.convertReference(t)); for (org.hl7.fhir.r5.model.Annotation t : src.getNote()) tgt.addNote(Annotation43_50.convertAnnotation(t)); for (org.hl7.fhir.r5.model.Reference t : src.getRelevantHistory()) tgt.addRelevantHistory(Reference43_50.convertReference(t)); if (src.hasRestriction()) tgt.setRestriction(convertTaskRestrictionComponent(src.getRestriction())); - for (org.hl7.fhir.r5.model.Task.ParameterComponent t : src.getInput()) tgt.addInput(convertParameterComponent(t)); + for (org.hl7.fhir.r5.model.Task.TaskInputComponent t : src.getInput()) tgt.addInput(convertParameterComponent(t)); for (org.hl7.fhir.r5.model.Task.TaskOutputComponent t : src.getOutput()) tgt.addOutput(convertTaskOutputComponent(t)); return tgt; @@ -424,10 +431,10 @@ public class Task43_50 { return tgt; } - public static org.hl7.fhir.r5.model.Task.ParameterComponent convertParameterComponent(org.hl7.fhir.r4b.model.Task.ParameterComponent src) throws FHIRException { + public static org.hl7.fhir.r5.model.Task.TaskInputComponent convertParameterComponent(org.hl7.fhir.r4b.model.Task.ParameterComponent src) throws FHIRException { if (src == null) return null; - org.hl7.fhir.r5.model.Task.ParameterComponent tgt = new org.hl7.fhir.r5.model.Task.ParameterComponent(); + org.hl7.fhir.r5.model.Task.TaskInputComponent tgt = new org.hl7.fhir.r5.model.Task.TaskInputComponent(); ConversionContext43_50.INSTANCE.getVersionConvertor_43_50().copyBackboneElement(src, tgt); if (src.hasType()) tgt.setType(CodeableConcept43_50.convertCodeableConcept(src.getType())); @@ -436,7 +443,7 @@ public class Task43_50 { return tgt; } - public static org.hl7.fhir.r4b.model.Task.ParameterComponent convertParameterComponent(org.hl7.fhir.r5.model.Task.ParameterComponent src) throws FHIRException { + public static org.hl7.fhir.r4b.model.Task.ParameterComponent convertParameterComponent(org.hl7.fhir.r5.model.Task.TaskInputComponent src) throws FHIRException { if (src == null) return null; org.hl7.fhir.r4b.model.Task.ParameterComponent tgt = new org.hl7.fhir.r4b.model.Task.ParameterComponent(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java index 620de12f9..77ba260ca 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TerminologyCapabilities43_50.java @@ -4,7 +4,14 @@ import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.CodeableConcept43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Url43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4b.model.CodeType; import org.hl7.fhir.r5.model.Enumeration; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestReport43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestReport43_50.java index b7dcd92c3..e1b3613be 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestReport43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestReport43_50.java @@ -2,8 +2,11 @@ package org.hl7.fhir.convertors.conv43_50.resources43_50; import org.hl7.fhir.convertors.context.ConversionContext43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Decimal43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4b.model.Reference; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java index e8a24ae27..13d2092e9 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/TestScript43_50.java @@ -6,10 +6,17 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Id43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.special43_50.Reference43_50; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r4b.utils.ToolingExtensions; import org.hl7.fhir.r5.model.TestScript.TestScriptScopeComponent; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ValueSet43_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ValueSet43_50.java index eeb8c3c98..d075c99c0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ValueSet43_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv43_50/resources43_50/ValueSet43_50.java @@ -6,7 +6,15 @@ import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Coding43_50 import org.hl7.fhir.convertors.conv43_50.datatypes43_50.general43_50.Identifier43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.ContactDetail43_50; import org.hl7.fhir.convertors.conv43_50.datatypes43_50.metadata43_50.UsageContext43_50; -import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.*; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Boolean43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Canonical43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Code43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Date43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.DateTime43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Integer43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.MarkDown43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.String43_50; +import org.hl7.fhir.convertors.conv43_50.datatypes43_50.primitive43_50.Uri43_50; import org.hl7.fhir.exceptions.FHIRException; /* diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/XVersionLoader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/XVersionLoader.java index 63788b6c0..a811f0de1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/XVersionLoader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/XVersionLoader.java @@ -1,5 +1,8 @@ package org.hl7.fhir.convertors.loaders; +import java.io.IOException; +import java.io.InputStream; + import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_50; import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_50; import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50; @@ -10,9 +13,6 @@ import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.VersionUtilities; -import java.io.IOException; -import java.io.InputStream; - public class XVersionLoader { public static Resource loadXml(String version, InputStream stream) throws FHIRFormatError, IOException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/BaseLoaderR3.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/BaseLoaderR3.java index b85adb90d..d8137aa0a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/BaseLoaderR3.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/BaseLoaderR3.java @@ -1,12 +1,13 @@ package org.hl7.fhir.convertors.loaders.loaderR3; +import javax.annotation.Nonnull; + +import org.hl7.fhir.dstu3.context.SimpleWorkerContext.IContextResourceLoader; +import org.hl7.fhir.dstu3.model.Resource; + import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; -import org.hl7.fhir.dstu3.context.SimpleWorkerContext.IContextResourceLoader; -import org.hl7.fhir.dstu3.model.Resource; - -import javax.annotation.Nonnull; @Accessors(chain = true) public abstract class BaseLoaderR3 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/R2ToR3Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/R2ToR3Loader.java index 4a038f9a9..c2dc878dd 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/R2ToR3Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR3/R2ToR3Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR3; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -44,12 +50,6 @@ import org.hl7.fhir.dstu3.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.dstu3.model.UriType; import org.hl7.fhir.exceptions.FHIRException; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - public class R2ToR3Loader extends BaseLoaderR3 { private final BaseAdvisor_10_30 advisor_10_30 = new BaseAdvisor_10_30(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/BaseLoaderR4.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/BaseLoaderR4.java index 404e2f3be..ad72d6c79 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/BaseLoaderR4.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/BaseLoaderR4.java @@ -1,12 +1,13 @@ package org.hl7.fhir.convertors.loaders.loaderR4; +import javax.annotation.Nonnull; + +import org.hl7.fhir.r4.context.SimpleWorkerContext.IContextResourceLoader; +import org.hl7.fhir.r4.model.Resource; + import lombok.Getter; import lombok.Setter; import lombok.experimental.Accessors; -import org.hl7.fhir.r4.context.SimpleWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r4.model.Resource; - -import javax.annotation.Nonnull; @Accessors(chain = true) public abstract class BaseLoaderR4 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2016MayToR4Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2016MayToR4Loader.java index b6b8b4181..6f55a6fa1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2016MayToR4Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2016MayToR4Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR4; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -38,16 +44,14 @@ import org.hl7.fhir.dstu2016may.model.Resource; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.conformance.ProfileUtilities; import org.hl7.fhir.r4.context.SimpleWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r4.model.*; +import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r4.model.Bundle.BundleType; +import org.hl7.fhir.r4.model.CodeSystem; +import org.hl7.fhir.r4.model.MetadataResource; +import org.hl7.fhir.r4.model.StructureDefinition; import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import org.hl7.fhir.r4.model.UriType; public class R2016MayToR4Loader extends BaseLoaderR4 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2ToR4Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2ToR4Loader.java index 707feb248..06b3e3b49 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2ToR4Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R2ToR4Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR4; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -44,12 +50,6 @@ import org.hl7.fhir.r4.model.StructureDefinition; import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; import org.hl7.fhir.r4.model.UriType; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - public class R2ToR4Loader extends BaseLoaderR4 { private final BaseAdvisor_10_40 advisor = new BaseAdvisor_10_40(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R3ToR4Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R3ToR4Loader.java index af403e74a..637509acc 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R3ToR4Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR4/R3ToR4Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR4; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -37,17 +43,17 @@ import org.hl7.fhir.dstu3.formats.XmlParser; import org.hl7.fhir.dstu3.model.Resource; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.context.SimpleWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r4.model.*; +import org.hl7.fhir.r4.model.Bundle; import org.hl7.fhir.r4.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r4.model.Bundle.BundleType; +import org.hl7.fhir.r4.model.CanonicalType; +import org.hl7.fhir.r4.model.CodeSystem; +import org.hl7.fhir.r4.model.ElementDefinition; import org.hl7.fhir.r4.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r4.model.MetadataResource; +import org.hl7.fhir.r4.model.StructureDefinition; import org.hl7.fhir.r4.model.StructureDefinition.StructureDefinitionKind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import org.hl7.fhir.r4.model.UriType; public class R3ToR4Loader extends BaseLoaderR4 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/BaseLoaderR5.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/BaseLoaderR5.java index 58e5b2ff0..b648289f5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/BaseLoaderR5.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/BaseLoaderR5.java @@ -1,16 +1,18 @@ package org.hl7.fhir.convertors.loaders.loaderR5; -import com.google.gson.JsonSyntaxException; -import lombok.Getter; -import lombok.Setter; -import lombok.experimental.Accessors; +import java.io.IOException; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.utilities.VersionUtilities; import org.hl7.fhir.utilities.npm.NpmPackage; -import java.io.IOException; +import com.google.gson.JsonSyntaxException; + +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; @Accessors(chain = true) public abstract class BaseLoaderR5 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/ILoaderKnowledgeProviderR5.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/ILoaderKnowledgeProviderR5.java index 3a8c1ca3b..d1b241875 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/ILoaderKnowledgeProviderR5.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/ILoaderKnowledgeProviderR5.java @@ -1,10 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; -import com.google.gson.JsonSyntaxException; +import java.io.IOException; + import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.utilities.npm.NpmPackage; -import java.io.IOException; +import com.google.gson.JsonSyntaxException; public interface ILoaderKnowledgeProviderR5 { /** diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2016MayToR5Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2016MayToR5Loader.java index 616ef6e9e..89903a31c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2016MayToR5Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2016MayToR5Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -37,17 +43,17 @@ import org.hl7.fhir.dstu2016may.formats.XmlParser; import org.hl7.fhir.dstu2016may.model.Resource; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.conformance.ProfileUtilities; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleType; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import org.hl7.fhir.r5.model.UriType; public class R2016MayToR5Loader extends BaseLoaderR5 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2ToR5Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2ToR5Loader.java index 80066e5e4..303ccad8d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2ToR5Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R2ToR5Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -37,17 +43,17 @@ import org.hl7.fhir.dstu2.formats.XmlParser; import org.hl7.fhir.dstu2.model.Resource; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleType; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import org.hl7.fhir.r5.model.UriType; public class R2ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R3ToR5Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R3ToR5Loader.java index 0df909627..85a5eed3d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R3ToR5Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R3ToR5Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -37,17 +43,17 @@ import org.hl7.fhir.dstu3.formats.XmlParser; import org.hl7.fhir.dstu3.model.Resource; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleType; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import org.hl7.fhir.r5.model.UriType; public class R3ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4BToR5Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4BToR5Loader.java index 2bfa3d960..233c2b276 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4BToR5Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4BToR5Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -38,19 +44,19 @@ import org.hl7.fhir.r4.formats.XmlParser; import org.hl7.fhir.r4.model.Resource; import org.hl7.fhir.r5.conformance.StructureDefinitionHacker; import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleType; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; +import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.utilities.VersionUtilities; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - public class R4BToR5Loader extends BaseLoaderR5 implements IContextResourceLoader { private final BaseAdvisor_40_50 advisor = new BaseAdvisor_40_50(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4ToR5Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4ToR5Loader.java index 04b12e807..c5a62942b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4ToR5Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R4ToR5Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -38,19 +44,19 @@ import org.hl7.fhir.r4.formats.XmlParser; import org.hl7.fhir.r4.model.Resource; import org.hl7.fhir.r5.conformance.StructureDefinitionHacker; import org.hl7.fhir.r5.context.IWorkerContext.IContextResourceLoader; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleType; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; +import org.hl7.fhir.r5.model.UriType; import org.hl7.fhir.utilities.VersionUtilities; -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; - public class R4ToR5Loader extends BaseLoaderR5 implements IContextResourceLoader { private final BaseAdvisor_40_50 advisor = new BaseAdvisor_40_50(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R5ToR5Loader.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R5ToR5Loader.java index 5e7492909..928dd2442 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R5ToR5Loader.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/loaders/loaderR5/R5ToR5Loader.java @@ -1,5 +1,11 @@ package org.hl7.fhir.convertors.loaders.loaderR5; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -33,17 +39,18 @@ package org.hl7.fhir.convertors.loaders.loaderR5; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.formats.JsonParser; import org.hl7.fhir.r5.formats.XmlParser; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleType; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CanonicalType; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.ElementDefinition; import org.hl7.fhir.r5.model.ElementDefinition.TypeRefComponent; +import org.hl7.fhir.r5.model.Resource; +import org.hl7.fhir.r5.model.StructureDefinition; import org.hl7.fhir.r5.model.StructureDefinition.StructureDefinitionKind; - -import java.io.IOException; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; -import java.util.UUID; +import org.hl7.fhir.r5.model.UriType; public class R5ToR5Loader extends BaseLoaderR5 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CDAUtilities.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CDAUtilities.java index 4a0004ab0..d336c6ae5 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CDAUtilities.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CDAUtilities.java @@ -4,6 +4,13 @@ package org.hl7.fhir.convertors.misc; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -39,12 +46,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - public class CDAUtilities { private final Document doc; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CKMImporter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CKMImporter.java index 3e4e3cecc..99147ab1a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CKMImporter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CKMImporter.java @@ -1,7 +1,13 @@ package org.hl7.fhir.convertors.misc; -import org.hl7.fhir.utilities.SimpleHTTPClient; -import org.hl7.fhir.utilities.SimpleHTTPClient.HTTPResult; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; /* Copyright (c) 2011+, HL7, Inc. @@ -34,21 +40,14 @@ import org.hl7.fhir.utilities.SimpleHTTPClient.HTTPResult; import org.hl7.fhir.convertors.misc.adl.ADLImporter; +import org.hl7.fhir.utilities.SimpleHTTPClient; +import org.hl7.fhir.utilities.SimpleHTTPClient.HTTPResult; import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; - -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.InputStream; -import java.util.ArrayList; -import java.util.List; - public class CKMImporter { private String ckm; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Convert.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Convert.java index 875db2292..1cae84835 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Convert.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Convert.java @@ -4,6 +4,12 @@ package org.hl7.fhir.convertors.misc; +import java.math.BigDecimal; +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -35,27 +41,37 @@ package org.hl7.fhir.convertors.misc; import org.fhir.ucum.UcumService; -import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.dstu3.model.Address; import org.hl7.fhir.dstu3.model.Address.AddressUse; +import org.hl7.fhir.dstu3.model.CodeableConcept; +import org.hl7.fhir.dstu3.model.Coding; +import org.hl7.fhir.dstu3.model.ContactPoint; import org.hl7.fhir.dstu3.model.ContactPoint.ContactPointSystem; import org.hl7.fhir.dstu3.model.ContactPoint.ContactPointUse; +import org.hl7.fhir.dstu3.model.DateTimeType; +import org.hl7.fhir.dstu3.model.DateType; import org.hl7.fhir.dstu3.model.Enumerations.AdministrativeGender; +import org.hl7.fhir.dstu3.model.Factory; +import org.hl7.fhir.dstu3.model.HumanName; import org.hl7.fhir.dstu3.model.HumanName.NameUse; +import org.hl7.fhir.dstu3.model.Identifier; +import org.hl7.fhir.dstu3.model.InstantType; +import org.hl7.fhir.dstu3.model.Period; +import org.hl7.fhir.dstu3.model.Quantity; +import org.hl7.fhir.dstu3.model.Range; +import org.hl7.fhir.dstu3.model.SimpleQuantity; +import org.hl7.fhir.dstu3.model.StringType; +import org.hl7.fhir.dstu3.model.Timing; import org.hl7.fhir.dstu3.model.Timing.EventTiming; import org.hl7.fhir.dstu3.model.Timing.TimingRepeatComponent; import org.hl7.fhir.dstu3.model.Timing.UnitsOfTime; +import org.hl7.fhir.dstu3.model.Type; import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; import org.hl7.fhir.utilities.OIDUtils; import org.hl7.fhir.utilities.Utilities; import org.w3c.dom.Element; import org.w3c.dom.Node; -import java.math.BigDecimal; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import java.util.UUID; - public class Convert { private final CDAUtilities cda; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CorePackageTools.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CorePackageTools.java index 1c09a521e..ea3da93bb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CorePackageTools.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CorePackageTools.java @@ -1,16 +1,17 @@ package org.hl7.fhir.convertors.misc; -import com.google.gson.JsonObject; -import org.hl7.fhir.exceptions.FHIRFormatError; -import org.hl7.fhir.utilities.Utilities; -import org.hl7.fhir.utilities.json.JsonTrackingParser; -import org.hl7.fhir.utilities.npm.NpmPackage; - import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.json.JsonTrackingParser; +import org.hl7.fhir.utilities.npm.NpmPackage; + +import com.google.gson.JsonObject; + public class CorePackageTools { public static void main(String[] args) throws FHIRFormatError, IOException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CountryCodesConverter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CountryCodesConverter.java index 38be38ce5..0c1adc775 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CountryCodesConverter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/CountryCodesConverter.java @@ -1,5 +1,12 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.IOException; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -43,12 +50,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import java.io.FileInputStream; -import java.io.IOException; - public class CountryCodesConverter { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/DicomPackageBuilder.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/DicomPackageBuilder.java index c2967d14d..9ed7ba7b4 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/DicomPackageBuilder.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/DicomPackageBuilder.java @@ -17,11 +17,11 @@ import org.hl7.fhir.r4.formats.JsonParser; import org.hl7.fhir.r4.model.CodeSystem; import org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode; import org.hl7.fhir.r4.model.CodeSystem.ConceptDefinitionComponent; +import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; import org.hl7.fhir.r4.model.Identifier; import org.hl7.fhir.r4.model.ValueSet; import org.hl7.fhir.r4.utils.NPMPackageGenerator; import org.hl7.fhir.r4.utils.NPMPackageGenerator.Category; -import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xml.XMLUtil; import org.w3c.dom.Document; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExamplesPackageBuilder.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExamplesPackageBuilder.java index 13cc57fc0..c80be57c8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExamplesPackageBuilder.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ExamplesPackageBuilder.java @@ -3,30 +3,17 @@ package org.hl7.fhir.convertors.misc; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; -import java.io.FileOutputStream; import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.util.Date; import java.util.HashSet; import java.util.Set; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50; import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50; import org.hl7.fhir.exceptions.FHIRFormatError; -import org.hl7.fhir.r4b.formats.JsonParser; -import org.hl7.fhir.r4b.model.Bundle; -import org.hl7.fhir.r4b.model.Bundle.BundleEntryComponent; import org.hl7.fhir.utilities.TextFile; -import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.json.JsonTrackingParser; -import com.google.gson.JsonArray; import com.google.gson.JsonObject; -import org.hl7.fhir.r4b.model.SearchParameter; -import org.hl7.fhir.r4b.utils.NPMPackageGenerator; -import org.hl7.fhir.r4b.utils.NPMPackageGenerator.Category; - public class ExamplesPackageBuilder { public static void main(String[] args) throws FHIRFormatError, FileNotFoundException, IOException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/GenValueSetExpansionConvertor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/GenValueSetExpansionConvertor.java index d652913eb..14a2ef99d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/GenValueSetExpansionConvertor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/GenValueSetExpansionConvertor.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -40,10 +44,6 @@ import org.hl7.fhir.dstu2.model.ValueSet; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.utilities.Utilities; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - public class GenValueSetExpansionConvertor { public static void main(String[] args) throws FHIRFormatError, IOException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICD11Generator.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICD11Generator.java index 9f9bf14a5..208cf3e74 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICD11Generator.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICD11Generator.java @@ -1,32 +1,37 @@ package org.hl7.fhir.convertors.misc; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Date; +import java.util.HashSet; +import java.util.Set; + import org.hl7.fhir.r4.formats.IParser.OutputStyle; import org.hl7.fhir.r4.formats.XmlParser; import org.hl7.fhir.r4.formats.XmlParserBase.XmlVersion; -import org.hl7.fhir.r4.model.*; +import org.hl7.fhir.r4.model.BooleanType; +import org.hl7.fhir.r4.model.CodeSystem; import org.hl7.fhir.r4.model.CodeSystem.CodeSystemContentMode; import org.hl7.fhir.r4.model.CodeSystem.CodeSystemHierarchyMeaning; import org.hl7.fhir.r4.model.CodeSystem.ConceptPropertyComponent; import org.hl7.fhir.r4.model.CodeSystem.PropertyType; +import org.hl7.fhir.r4.model.CodeType; +import org.hl7.fhir.r4.model.Coding; +import org.hl7.fhir.r4.model.DateTimeType; import org.hl7.fhir.r4.model.Enumerations.PublicationStatus; +import org.hl7.fhir.r4.model.StringType; +import org.hl7.fhir.r4.model.ValueSet; import org.hl7.fhir.r4.model.ValueSet.ConceptSetComponent; import org.hl7.fhir.r4.model.ValueSet.FilterOperator; import org.hl7.fhir.r4.terminologies.CodeSystemUtilities; import org.hl7.fhir.r4.utils.ToolingExtensions; -import org.hl7.fhir.utilities.TextFile; -import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.SimpleHTTPClient; import org.hl7.fhir.utilities.SimpleHTTPClient.HTTPResult; +import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.json.JsonTrackingParser; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URL; -import java.util.Date; -import java.util.HashSet; -import java.util.Set; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; public class ICD11Generator { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICPC2Importer.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICPC2Importer.java index 4f491eaa1..abce5b74a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICPC2Importer.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ICPC2Importer.java @@ -1,5 +1,15 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -32,10 +42,14 @@ package org.hl7.fhir.convertors.misc; import org.hl7.fhir.dstu3.formats.IParser.OutputStyle; import org.hl7.fhir.dstu3.formats.XmlParser; -import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.dstu3.model.CodeSystem; import org.hl7.fhir.dstu3.model.CodeSystem.CodeSystemHierarchyMeaning; import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent; +import org.hl7.fhir.dstu3.model.Coding; +import org.hl7.fhir.dstu3.model.DateTimeType; import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatus; +import org.hl7.fhir.dstu3.model.Identifier; +import org.hl7.fhir.dstu3.model.ValueSet; import org.hl7.fhir.dstu3.terminologies.CodeSystemUtilities; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.utilities.Utilities; @@ -43,15 +57,6 @@ import org.hl7.fhir.utilities.xml.XMLUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - /** * This is defined as a prototype ClaML importer diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IEEE11073Convertor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IEEE11073Convertor.java index 9b0ba0ff6..038c99614 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IEEE11073Convertor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IEEE11073Convertor.java @@ -1,5 +1,16 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -34,26 +45,30 @@ import org.fhir.ucum.UcumEssenceService; import org.fhir.ucum.UcumService; import org.hl7.fhir.dstu3.formats.IParser.OutputStyle; import org.hl7.fhir.dstu3.formats.XmlParser; -import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.dstu3.model.CodeSystem; import org.hl7.fhir.dstu3.model.CodeSystem.CodeSystemContentMode; import org.hl7.fhir.dstu3.model.CodeSystem.ConceptDefinitionComponent; import org.hl7.fhir.dstu3.model.CodeSystem.PropertyType; +import org.hl7.fhir.dstu3.model.CodeType; +import org.hl7.fhir.dstu3.model.Coding; +import org.hl7.fhir.dstu3.model.ConceptMap; import org.hl7.fhir.dstu3.model.ConceptMap.ConceptMapGroupComponent; import org.hl7.fhir.dstu3.model.ConceptMap.SourceElementComponent; import org.hl7.fhir.dstu3.model.ConceptMap.TargetElementComponent; +import org.hl7.fhir.dstu3.model.ContactDetail; +import org.hl7.fhir.dstu3.model.ContactPoint; import org.hl7.fhir.dstu3.model.ContactPoint.ContactPointSystem; +import org.hl7.fhir.dstu3.model.DateTimeType; import org.hl7.fhir.dstu3.model.Enumerations.ConceptMapEquivalence; import org.hl7.fhir.dstu3.model.Enumerations.PublicationStatus; +import org.hl7.fhir.dstu3.model.Identifier; +import org.hl7.fhir.dstu3.model.StringType; +import org.hl7.fhir.dstu3.model.UriType; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.CSVReader; import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; import org.hl7.fhir.utilities.Utilities; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.*; - public class IEEE11073Convertor { public static final String UCUM_PATH = "c:\\work\\org.hl7.fhir\\build\\implementations\\java\\org.hl7.fhir.convertors\\samples\\ucum-essence.xml"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java index e0af519a0..de176df97 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter102.java @@ -1,5 +1,13 @@ package org.hl7.fhir.convertors.misc; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Date; + +import javax.annotation.Nonnull; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -41,13 +49,6 @@ import org.hl7.fhir.dstu3.model.ValueSet; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.Utilities; -import javax.annotation.Nonnull; - -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.Date; public class IGPackConverter102 extends BaseAdvisor_10_30 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter140.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter140.java index ee2074631..0766a1a5f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter140.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGPackConverter140.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.misc; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -34,10 +38,6 @@ import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_30; import org.hl7.fhir.dstu3.formats.IParser.OutputStyle; import org.hl7.fhir.utilities.Utilities; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; - public class IGPackConverter140 { public static void main(String[] args) throws Exception { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java index 9597a2896..32895aa70 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.misc; +import javax.annotation.Nonnull; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -32,7 +34,6 @@ package org.hl7.fhir.convertors.misc; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.r4.model.CodeSystem; import org.hl7.fhir.r4.model.ValueSet; -import javax.annotation.Nonnull; public class IGR2ConvertorAdvisor extends BaseAdvisor_10_40 { @Override diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java index 08711abd5..75c8c3c1c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/IGR2ConvertorAdvisor5.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.misc; +import javax.annotation.Nonnull; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -33,7 +35,6 @@ package org.hl7.fhir.convertors.misc; import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_50; import org.hl7.fhir.r5.model.CodeSystem; import org.hl7.fhir.r5.model.ValueSet; -import javax.annotation.Nonnull; public class IGR2ConvertorAdvisor5 extends BaseAdvisor_10_50 { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NUCCConvertor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NUCCConvertor.java index 1dca2f396..ba628d28f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NUCCConvertor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NUCCConvertor.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -45,10 +49,6 @@ import org.hl7.fhir.r4.model.StringType; import org.hl7.fhir.utilities.CSVReader; import org.hl7.fhir.utilities.Utilities; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; - public class NUCCConvertor { public static void main(String[] args) throws Exception { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NpmPackageVersionConverter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NpmPackageVersionConverter.java index eb50e9479..4b7a6d345 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NpmPackageVersionConverter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/NpmPackageVersionConverter.java @@ -1,22 +1,5 @@ package org.hl7.fhir.convertors.misc; -import com.google.common.base.Charsets; -import com.google.gson.JsonArray; -import com.google.gson.JsonObject; -import org.apache.commons.compress.archivers.tar.TarArchiveEntry; -import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; -import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; -import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; -import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream; -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; -import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50; -import org.hl7.fhir.convertors.factory.*; -import org.hl7.fhir.utilities.TextFile; -import org.hl7.fhir.utilities.VersionUtilities; -import org.hl7.fhir.utilities.json.JsonUtilities; -import org.hl7.fhir.utilities.json.JsonTrackingParser; -import org.hl7.fhir.utilities.npm.NpmPackageIndexBuilder; - import java.io.BufferedOutputStream; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; @@ -28,6 +11,32 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import org.apache.commons.compress.archivers.tar.TarArchiveEntry; +import org.apache.commons.compress.archivers.tar.TarArchiveInputStream; +import org.apache.commons.compress.archivers.tar.TarArchiveOutputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream; +import org.apache.commons.compress.compressors.gzip.GzipCompressorOutputStream; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_40; +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_30_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_30; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_30; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_14_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_40; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50; +import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.VersionUtilities; +import org.hl7.fhir.utilities.json.JsonTrackingParser; +import org.hl7.fhir.utilities.json.JsonUtilities; +import org.hl7.fhir.utilities.npm.NpmPackageIndexBuilder; + +import com.google.common.base.Charsets; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; + public class NpmPackageVersionConverter { private static final int BUFFER_SIZE = 1024; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/OIDBasedValueSetImporter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/OIDBasedValueSetImporter.java index 736696d47..c0147d688 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/OIDBasedValueSetImporter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/OIDBasedValueSetImporter.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.misc; +import java.io.IOException; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.context.IWorkerContext; import org.hl7.fhir.r5.context.SimpleWorkerContext; @@ -9,8 +11,6 @@ import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; import org.hl7.fhir.utilities.npm.NpmPackage; import org.hl7.fhir.utilities.npm.ToolsVersion; -import java.io.IOException; - public class OIDBasedValueSetImporter { protected IWorkerContext context; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ObservationStatsBuilder.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ObservationStatsBuilder.java index ac4e2e32a..772cbffc0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ObservationStatsBuilder.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ObservationStatsBuilder.java @@ -1,5 +1,12 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Calendar; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -32,21 +39,19 @@ package org.hl7.fhir.convertors.misc; import org.hl7.fhir.dstu3.formats.IParser.OutputStyle; import org.hl7.fhir.dstu3.formats.XmlParser; -import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.dstu3.model.Bundle; import org.hl7.fhir.dstu3.model.Bundle.BundleType; +import org.hl7.fhir.dstu3.model.DateTimeType; +import org.hl7.fhir.dstu3.model.Observation; import org.hl7.fhir.dstu3.model.Observation.ObservationComponentComponent; import org.hl7.fhir.dstu3.model.Observation.ObservationStatus; +import org.hl7.fhir.dstu3.model.Quantity; +import org.hl7.fhir.dstu3.model.Reference; +import org.hl7.fhir.dstu3.model.Type; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.utilities.Utilities; -import java.io.FileNotFoundException; -import java.io.FileOutputStream; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Calendar; -import java.util.UUID; - public class ObservationStatsBuilder { public static void main(String[] args) throws IOException, FHIRException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java index 4c46ddc54..076870d0b 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PR2Handler.java @@ -1,5 +1,7 @@ package org.hl7.fhir.convertors.misc; +import javax.annotation.Nonnull; + import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_10_40; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Bundle; @@ -7,8 +9,6 @@ import org.hl7.fhir.r4.model.CodeSystem; import org.hl7.fhir.r4.model.ValueSet; import org.hl7.fhir.utilities.FhirPublication; -import javax.annotation.Nonnull; - class PR2Handler extends BaseAdvisor_10_40 { @Override diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackageMaintainer.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackageMaintainer.java index c05b6ac76..021066544 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackageMaintainer.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackageMaintainer.java @@ -1,5 +1,14 @@ package org.hl7.fhir.convertors.misc; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.json.JsonTrackingParser; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -33,14 +42,6 @@ package org.hl7.fhir.convertors.misc; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.JsonObject; -import org.hl7.fhir.utilities.TextFile; -import org.hl7.fhir.utilities.Utilities; -import org.hl7.fhir.utilities.json.JsonTrackingParser; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; public class PackageMaintainer { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackagePreparer.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackagePreparer.java index 08012e243..b0e0783c2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackagePreparer.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PackagePreparer.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.misc; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -35,10 +39,6 @@ import org.hl7.fhir.dstu3.model.Bundle; import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent; import org.hl7.fhir.utilities.Utilities; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; - /* * load reosurces in xml format, and sve them in package format (json, with correct name * diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PhinVadsImporter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PhinVadsImporter.java index 4a0b26d88..0f8226746 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PhinVadsImporter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/PhinVadsImporter.java @@ -1,5 +1,13 @@ package org.hl7.fhir.convertors.misc; +import java.io.ByteArrayInputStream; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.List; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.formats.IParser.OutputStyle; import org.hl7.fhir.r5.formats.JsonParser; @@ -10,14 +18,6 @@ import org.hl7.fhir.utilities.CSVReader; import org.hl7.fhir.utilities.TextFile; import org.hl7.fhir.utilities.Utilities; -import java.io.ByteArrayInputStream; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.List; - public class PhinVadsImporter extends OIDBasedValueSetImporter { public PhinVadsImporter() throws FHIRException, IOException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Test.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Test.java index 9fd2877cc..00aea3a1f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Test.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/Test.java @@ -4,6 +4,9 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.FileOutputStream; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -43,9 +46,6 @@ import org.hl7.fhir.dstu3.formats.XmlParser; import org.hl7.fhir.dstu3.model.Bundle; import org.hl7.fhir.utilities.Utilities; -import java.io.FileInputStream; -import java.io.FileOutputStream; - public class Test { public final static String DEF_TS_SERVER = "http://fhir-dev.healthintersections.com.au/open"; public final static String DEV_TS_SERVER = "http://local.fhir.org:8080/open"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/VSACImporter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/VSACImporter.java index c87c25e0c..2ed89a96f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/VSACImporter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/VSACImporter.java @@ -1,5 +1,13 @@ package org.hl7.fhir.convertors.misc; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.net.URISyntaxException; +import java.text.ParseException; +import java.util.HashMap; +import java.util.Map; + import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.formats.IParser.OutputStyle; import org.hl7.fhir.r4.formats.JsonParser; @@ -11,14 +19,6 @@ import org.hl7.fhir.r4.utils.client.FHIRToolingClient; import org.hl7.fhir.utilities.CSVReader; import org.hl7.fhir.utilities.Utilities; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.net.URISyntaxException; -import java.text.ParseException; -import java.util.HashMap; -import java.util.Map; - public class VSACImporter extends OIDBasedValueSetImporter { public VSACImporter() throws FHIRException, IOException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XMLPackageConvertor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XMLPackageConvertor.java index 3c89d2ebc..974eb2093 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XMLPackageConvertor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XMLPackageConvertor.java @@ -1,14 +1,15 @@ package org.hl7.fhir.convertors.misc; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import org.hl7.fhir.utilities.npm.NpmPackage; - import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.util.Map.Entry; +import org.hl7.fhir.utilities.npm.NpmPackage; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; + public class XMLPackageConvertor { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XVerPackegeFixer.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XVerPackegeFixer.java index 8335423de..a73041dd8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XVerPackegeFixer.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/XVerPackegeFixer.java @@ -12,10 +12,8 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; -import javax.naming.ldap.StartTlsRequest; import javax.xml.parsers.ParserConfigurationException; -import org.hl7.fhir.convertors.misc.XVerPackegeFixer.References; import org.hl7.fhir.dstu2.model.ElementDefinition; import org.hl7.fhir.dstu2.model.StructureDefinition; import org.hl7.fhir.dstu2.model.StructureDefinition.StructureDefinitionSnapshotComponent; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/ADLImporter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/ADLImporter.java index 81f95b295..7ace1274f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/ADLImporter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/ADLImporter.java @@ -1,5 +1,15 @@ package org.hl7.fhir.convertors.misc.adl; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -39,15 +49,6 @@ import org.hl7.fhir.dstu3.model.StructureDefinition; import org.hl7.fhir.utilities.xml.XMLUtil; import org.w3c.dom.Element; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - public class ADLImporter { private final Map texts = new HashMap(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/NodeTreeEntry.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/NodeTreeEntry.java index 8185ea60a..9258a71b2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/NodeTreeEntry.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/adl/NodeTreeEntry.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.misc.adl; -import lombok.Data; - import java.util.ArrayList; import java.util.List; +import lombok.Data; + @Data public class NodeTreeEntry { private final List children = new ArrayList(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/ArgonautConverter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/ArgonautConverter.java index 8cea044a3..01a181685 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/ArgonautConverter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/ArgonautConverter.java @@ -1,5 +1,17 @@ package org.hl7.fhir.convertors.misc.argonaut; +import java.io.ByteArrayOutputStream; +import java.io.File; +import java.io.FileInputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Map; +import java.util.Set; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -34,31 +46,66 @@ import org.apache.commons.io.IOUtils; import org.fhir.ucum.UcumEssenceService; import org.fhir.ucum.UcumService; import org.hl7.fhir.convertors.misc.CDAUtilities; -import org.hl7.fhir.convertors.misc.ccda.CcdaExtensions; import org.hl7.fhir.convertors.misc.Convert; import org.hl7.fhir.convertors.misc.ConverterBase; +import org.hl7.fhir.convertors.misc.ccda.CcdaExtensions; import org.hl7.fhir.dstu3.context.SimpleWorkerContext; import org.hl7.fhir.dstu3.formats.IParser.OutputStyle; import org.hl7.fhir.dstu3.formats.JsonParser; import org.hl7.fhir.dstu3.formats.XmlParser; -import org.hl7.fhir.dstu3.model.*; +import org.hl7.fhir.dstu3.model.Address; +import org.hl7.fhir.dstu3.model.AllergyIntolerance; import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceReactionComponent; +import org.hl7.fhir.dstu3.model.Base; +import org.hl7.fhir.dstu3.model.Binary; +import org.hl7.fhir.dstu3.model.BooleanType; +import org.hl7.fhir.dstu3.model.CodeableConcept; +import org.hl7.fhir.dstu3.model.Coding; +import org.hl7.fhir.dstu3.model.Condition; import org.hl7.fhir.dstu3.model.Condition.ConditionVerificationStatus; +import org.hl7.fhir.dstu3.model.ContactPoint; +import org.hl7.fhir.dstu3.model.DocumentReference; import org.hl7.fhir.dstu3.model.DocumentReference.DocumentReferenceContentComponent; import org.hl7.fhir.dstu3.model.DocumentReference.DocumentReferenceContextComponent; +import org.hl7.fhir.dstu3.model.DomainResource; +import org.hl7.fhir.dstu3.model.Dosage; +import org.hl7.fhir.dstu3.model.Encounter; import org.hl7.fhir.dstu3.model.Encounter.EncounterHospitalizationComponent; import org.hl7.fhir.dstu3.model.Encounter.EncounterStatus; import org.hl7.fhir.dstu3.model.Enumerations.DocumentReferenceStatus; +import org.hl7.fhir.dstu3.model.Extension; +import org.hl7.fhir.dstu3.model.Factory; +import org.hl7.fhir.dstu3.model.HumanName; +import org.hl7.fhir.dstu3.model.Identifier; +import org.hl7.fhir.dstu3.model.Immunization; import org.hl7.fhir.dstu3.model.Immunization.ImmunizationExplanationComponent; import org.hl7.fhir.dstu3.model.Immunization.ImmunizationStatus; +import org.hl7.fhir.dstu3.model.InstantType; +import org.hl7.fhir.dstu3.model.ListResource; import org.hl7.fhir.dstu3.model.ListResource.ListMode; import org.hl7.fhir.dstu3.model.ListResource.ListStatus; +import org.hl7.fhir.dstu3.model.Location; +import org.hl7.fhir.dstu3.model.Medication; +import org.hl7.fhir.dstu3.model.MedicationStatement; import org.hl7.fhir.dstu3.model.MedicationStatement.MedicationStatementStatus; +import org.hl7.fhir.dstu3.model.Narrative; import org.hl7.fhir.dstu3.model.Narrative.NarrativeStatus; +import org.hl7.fhir.dstu3.model.Observation; import org.hl7.fhir.dstu3.model.Observation.ObservationRelationshipType; import org.hl7.fhir.dstu3.model.Observation.ObservationStatus; +import org.hl7.fhir.dstu3.model.Organization; +import org.hl7.fhir.dstu3.model.Patient; +import org.hl7.fhir.dstu3.model.Period; +import org.hl7.fhir.dstu3.model.Practitioner; +import org.hl7.fhir.dstu3.model.Procedure; import org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent; import org.hl7.fhir.dstu3.model.Procedure.ProcedureStatus; +import org.hl7.fhir.dstu3.model.Reference; +import org.hl7.fhir.dstu3.model.Resource; +import org.hl7.fhir.dstu3.model.StringType; +import org.hl7.fhir.dstu3.model.StructureDefinition; +import org.hl7.fhir.dstu3.model.Timing; +import org.hl7.fhir.dstu3.model.Type; import org.hl7.fhir.dstu3.utils.NarrativeGenerator; import org.hl7.fhir.dstu3.utils.ResourceUtilities; import org.hl7.fhir.utilities.Utilities; @@ -70,12 +117,6 @@ import org.hl7.fhir.utilities.xhtml.XhtmlNode; import org.hl7.fhir.utilities.xml.XMLUtil; import org.w3c.dom.Element; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.util.*; - public class ArgonautConverter extends ConverterBase { // public final static String DEF_TS_SERVER = "http://fhir-dev.healthintersections.com.au/open"; public final static String DEV_TS_SERVER = "http://local.fhir.org:8080/open"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/Context.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/Context.java index 10358c1d4..1af0db975 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/Context.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/argonaut/Context.java @@ -1,11 +1,12 @@ package org.hl7.fhir.convertors.misc.argonaut; -import lombok.Data; import org.hl7.fhir.dstu3.model.Coding; import org.hl7.fhir.dstu3.model.DateTimeType; import org.hl7.fhir.dstu3.model.Encounter; import org.hl7.fhir.dstu3.model.Reference; +import lombok.Data; + @Data public class Context { private String baseId; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ccda/CCDAConverter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ccda/CCDAConverter.java index cfdb16468..7fd11b42f 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ccda/CCDAConverter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/ccda/CCDAConverter.java @@ -4,6 +4,12 @@ package org.hl7.fhir.convertors.misc.ccda; +import java.io.InputStream; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -38,29 +44,53 @@ import org.fhir.ucum.UcumService; import org.hl7.fhir.convertors.misc.CDAUtilities; import org.hl7.fhir.convertors.misc.Convert; import org.hl7.fhir.dstu3.context.IWorkerContext; -import org.hl7.fhir.dstu3.model.*; -import org.hl7.fhir.dstu3.model.AllergyIntolerance.*; +import org.hl7.fhir.dstu3.model.AllergyIntolerance; +import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceClinicalStatus; +import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceCriticality; +import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceReactionComponent; +import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceSeverity; +import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceType; +import org.hl7.fhir.dstu3.model.AllergyIntolerance.AllergyIntoleranceVerificationStatus; +import org.hl7.fhir.dstu3.model.Bundle; import org.hl7.fhir.dstu3.model.Bundle.BundleEntryComponent; +import org.hl7.fhir.dstu3.model.CodeableConcept; +import org.hl7.fhir.dstu3.model.Coding; +import org.hl7.fhir.dstu3.model.Comparison; +import org.hl7.fhir.dstu3.model.Composition; import org.hl7.fhir.dstu3.model.Composition.CompositionAttestationMode; import org.hl7.fhir.dstu3.model.Composition.CompositionAttesterComponent; import org.hl7.fhir.dstu3.model.Composition.DocumentConfidentiality; import org.hl7.fhir.dstu3.model.Composition.SectionComponent; +import org.hl7.fhir.dstu3.model.ContactPoint; +import org.hl7.fhir.dstu3.model.Device; +import org.hl7.fhir.dstu3.model.DomainResource; +import org.hl7.fhir.dstu3.model.Encounter; +import org.hl7.fhir.dstu3.model.Extension; +import org.hl7.fhir.dstu3.model.Factory; +import org.hl7.fhir.dstu3.model.Identifier; +import org.hl7.fhir.dstu3.model.InstantType; +import org.hl7.fhir.dstu3.model.ListResource; import org.hl7.fhir.dstu3.model.ListResource.ListEntryComponent; +import org.hl7.fhir.dstu3.model.Location; +import org.hl7.fhir.dstu3.model.Meta; +import org.hl7.fhir.dstu3.model.Narrative; import org.hl7.fhir.dstu3.model.Narrative.NarrativeStatus; +import org.hl7.fhir.dstu3.model.Observation; import org.hl7.fhir.dstu3.model.Observation.ObservationRelatedComponent; import org.hl7.fhir.dstu3.model.Observation.ObservationRelationshipType; import org.hl7.fhir.dstu3.model.Observation.ObservationStatus; +import org.hl7.fhir.dstu3.model.Organization; +import org.hl7.fhir.dstu3.model.Patient; +import org.hl7.fhir.dstu3.model.Period; +import org.hl7.fhir.dstu3.model.Practitioner; +import org.hl7.fhir.dstu3.model.Procedure; import org.hl7.fhir.dstu3.model.Procedure.ProcedurePerformerComponent; +import org.hl7.fhir.dstu3.model.Reference; +import org.hl7.fhir.dstu3.model.ResourceFactory; import org.hl7.fhir.dstu3.utils.NarrativeGenerator; import org.hl7.fhir.dstu3.utils.ToolingExtensions; import org.w3c.dom.Element; -import java.io.InputStream; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.UUID; - /** * Advance Directives Section 42348-3 : * Allergies, Adverse Reactions, Alerts Section 48765-2 : List(AlleryIntolerance) processAdverseReactionsSection diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/DataType.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/DataType.java index 8cebedec3..3992b2d08 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/DataType.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/DataType.java @@ -1,10 +1,10 @@ package org.hl7.fhir.convertors.misc.iso21090; -import lombok.Data; - import java.util.ArrayList; import java.util.List; +import lombok.Data; + @Data class DataType { private final List properties = new ArrayList<>(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/EnumValueSet.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/EnumValueSet.java index 4a6732a31..881a72505 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/EnumValueSet.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/EnumValueSet.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.misc.iso21090; -import lombok.Data; - import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; +import lombok.Data; + @Data public class EnumValueSet { private final List codes = new ArrayList<>(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/ISO21090Importer.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/ISO21090Importer.java index d3b42faae..e919aedd7 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/ISO21090Importer.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/iso21090/ISO21090Importer.java @@ -1,5 +1,17 @@ package org.hl7.fhir.convertors.misc.iso21090; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.xml.parsers.DocumentBuilder; +import javax.xml.parsers.DocumentBuilderFactory; +import javax.xml.parsers.ParserConfigurationException; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -52,14 +64,6 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; -import javax.xml.parsers.DocumentBuilder; -import javax.xml.parsers.DocumentBuilderFactory; -import javax.xml.parsers.ParserConfigurationException; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.*; - public class ISO21090Importer { private final Map bindings = new HashMap<>(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/searchparam/SearchParameterProcessor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/searchparam/SearchParameterProcessor.java index f7e0fa9ff..769f3117d 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/searchparam/SearchParameterProcessor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/searchparam/SearchParameterProcessor.java @@ -1,5 +1,13 @@ package org.hl7.fhir.convertors.misc.searchparam; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -42,14 +50,6 @@ import org.hl7.fhir.r5.model.Enumerations.PublicationStatus; import org.hl7.fhir.utilities.CSVReader; import org.hl7.fhir.utilities.Utilities; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.List; - public class SearchParameterProcessor { private static final String ROOT = "C:\\work\\org.hl7.fhir\\org.fhir.interversion\\package"; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGCaseSensitivePopulator.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGCaseSensitivePopulator.java index b7284759f..5e0ed10d0 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGCaseSensitivePopulator.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGCaseSensitivePopulator.java @@ -5,12 +5,9 @@ import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; -import java.time.LocalDate; -import java.time.ZoneId; import java.util.Calendar; import java.util.Date; -import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.r4.formats.IParser; import org.hl7.fhir.r4.formats.IParser.OutputStyle; import org.hl7.fhir.r4.formats.JsonParser; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGVersionSorter.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGVersionSorter.java index 7f3a30da0..3f1804ddb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGVersionSorter.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/misc/utg/UTGVersionSorter.java @@ -1,29 +1,40 @@ package org.hl7.fhir.convertors.misc.utg; -import ca.uhn.fhir.model.api.TemporalPrecisionEnum; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_50; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50; -import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50; -import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.formats.IParser.OutputStyle; -import org.hl7.fhir.r5.formats.JsonParser; -import org.hl7.fhir.r5.formats.XmlParser; -import org.hl7.fhir.r5.model.*; -import org.hl7.fhir.r5.model.Provenance.ProvenanceAgentComponent; -import org.hl7.fhir.r5.utils.ToolingExtensions; -import org.hl7.fhir.utilities.Utilities; -import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; -import org.hl7.fhir.utilities.npm.NpmPackage; -import org.hl7.fhir.utilities.npm.NpmPackage.PackageResourceInformation; -import org.hl7.fhir.utilities.npm.ToolsVersion; - import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.net.URISyntaxException; import java.text.ParseException; -import java.util.*; +import java.util.ArrayList; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50; +import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.formats.IParser.OutputStyle; +import org.hl7.fhir.r5.formats.JsonParser; +import org.hl7.fhir.r5.formats.XmlParser; +import org.hl7.fhir.r5.model.Base; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.Provenance; +import org.hl7.fhir.r5.model.Provenance.ProvenanceAgentComponent; +import org.hl7.fhir.r5.model.Resource; +import org.hl7.fhir.r5.model.ValueSet; +import org.hl7.fhir.r5.utils.ToolingExtensions; +import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; +import org.hl7.fhir.utilities.npm.NpmPackage; +import org.hl7.fhir.utilities.npm.NpmPackage.PackageResourceInformation; +import org.hl7.fhir.utilities.npm.ToolsVersion; + +import ca.uhn.fhir.model.api.TemporalPrecisionEnum; public class UTGVersionSorter { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientFactory.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientFactory.java index ea2dbeb9a..d22ad072e 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientFactory.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientFactory.java @@ -1,12 +1,12 @@ package org.hl7.fhir.convertors.txClient; +import java.net.URISyntaxException; + import org.hl7.fhir.r5.terminologies.TerminologyClient; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.VersionUtilities; -import java.net.URISyntaxException; - public class TerminologyClientFactory { public static TerminologyClient makeClient(String url, String userAgent, FhirPublication v) throws URISyntaxException { diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR2.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR2.java index af4dbe26e..2d0321ffb 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR2.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR2.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.txClient; +import java.net.URISyntaxException; +import java.util.EnumSet; +import java.util.Map; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -35,18 +39,18 @@ import org.hl7.fhir.convertors.factory.VersionConvertorFactory_10_50; import org.hl7.fhir.dstu2.model.Resource; import org.hl7.fhir.dstu2.utils.client.FHIRToolingClient; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.*; -import org.hl7.fhir.r5.model.Enumerations.FHIRVersion; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CapabilityStatement; +import org.hl7.fhir.r5.model.Parameters; +import org.hl7.fhir.r5.model.TerminologyCapabilities; +import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.terminologies.TerminologyClient; import org.hl7.fhir.r5.utils.client.network.ClientHeaders; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.ToolingClientLogger; import org.hl7.fhir.utilities.Utilities; -import java.net.URISyntaxException; -import java.util.EnumSet; -import java.util.Map; - public class TerminologyClientR2 implements TerminologyClient { private final FHIRToolingClient client; // todo: use the R2 client 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 d8c2a3a70..bb5549551 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 @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.txClient; +import java.net.URISyntaxException; +import java.util.EnumSet; +import java.util.Map; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -35,17 +39,18 @@ import org.hl7.fhir.convertors.factory.VersionConvertorFactory_30_50; import org.hl7.fhir.dstu3.model.Resource; import org.hl7.fhir.dstu3.utils.client.FHIRToolingClient; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CapabilityStatement; +import org.hl7.fhir.r5.model.Parameters; +import org.hl7.fhir.r5.model.TerminologyCapabilities; +import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.terminologies.TerminologyClient; import org.hl7.fhir.r5.utils.client.network.ClientHeaders; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.ToolingClientLogger; import org.hl7.fhir.utilities.Utilities; -import java.net.URISyntaxException; -import java.util.EnumSet; -import java.util.Map; - public class TerminologyClientR3 implements TerminologyClient { private final FHIRToolingClient client; // todo: use the R2 client diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR4.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR4.java index 36076a467..aff4ab8fa 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR4.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR4.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.txClient; +import java.net.URISyntaxException; +import java.util.EnumSet; +import java.util.Map; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -35,17 +39,18 @@ import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r4.model.Resource; import org.hl7.fhir.r4.utils.client.FHIRToolingClient; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CapabilityStatement; +import org.hl7.fhir.r5.model.Parameters; +import org.hl7.fhir.r5.model.TerminologyCapabilities; +import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.terminologies.TerminologyClient; import org.hl7.fhir.r5.utils.client.network.ClientHeaders; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.ToolingClientLogger; import org.hl7.fhir.utilities.Utilities; -import java.net.URISyntaxException; -import java.util.EnumSet; -import java.util.Map; - public class TerminologyClientR4 implements TerminologyClient { private final FHIRToolingClient client; // todo: use the R2 client diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR5.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR5.java index a5046dc48..f67c6b8b2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR5.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/txClient/TerminologyClientR5.java @@ -1,5 +1,9 @@ package org.hl7.fhir.convertors.txClient; +import java.net.URISyntaxException; +import java.util.EnumSet; +import java.util.Map; + /* Copyright (c) 2011+, HL7, Inc. All rights reserved. @@ -31,19 +35,20 @@ package org.hl7.fhir.convertors.txClient; import org.hl7.fhir.exceptions.FHIRException; -import org.hl7.fhir.r5.model.*; +import org.hl7.fhir.r5.model.Bundle; +import org.hl7.fhir.r5.model.CanonicalResource; +import org.hl7.fhir.r5.model.CapabilityStatement; +import org.hl7.fhir.r5.model.CodeSystem; +import org.hl7.fhir.r5.model.Parameters; +import org.hl7.fhir.r5.model.Resource; +import org.hl7.fhir.r5.model.TerminologyCapabilities; +import org.hl7.fhir.r5.model.ValueSet; import org.hl7.fhir.r5.terminologies.TerminologyClient; import org.hl7.fhir.r5.utils.client.FHIRToolingClient; import org.hl7.fhir.r5.utils.client.network.ClientHeaders; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.ToolingClientLogger; import org.hl7.fhir.utilities.Utilities; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.net.URISyntaxException; -import java.util.EnumSet; -import java.util.Map; public class TerminologyClientR5 implements TerminologyClient { diff --git a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java index 4a84c22e2..435d3e4f0 100644 --- a/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java +++ b/org.hl7.fhir.core.generator/src/org/hl7/fhir/core/generator/analysis/Analyser.java @@ -309,8 +309,8 @@ public class Analyser { if (!Utilities.existsInList(name, "Resource")) { for (SearchParameter sp : definitions.getSearchParams().getList()) { boolean relevant = false; - for (Enumeration c : sp.getBase()) { - if (c.getValue().toCode().equals(name)) { + for (CodeType c : sp.getBase()) { + if (c.getValue().equals(name)) { relevant = true; break; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java index 7965c2c28..6b49122c5 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/JsonParser.java @@ -27278,10 +27278,25 @@ public class JsonParser extends JsonParserBase { res.setLabelElement(parseString(json.get("label").getAsString())); if (json.has("_label")) parseElementProperties(getJObject(json, "_label"), res.getLabelElement()); - if (json.has("conformance")) - res.setConformanceElement(parseEnumeration(json.get("conformance").getAsString(), Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); - if (json.has("_conformance")) - parseElementProperties(getJObject(json, "_conformance"), res.getConformanceElement()); + if (json.has("conformance")) { + JsonArray array = getJArray(json, "conformance"); + for (int i = 0; i < array.size(); i++) { + if (array.get(i).isJsonNull()) { + res.getConformance().add(new Enumeration(new Requirements.ConformanceExpectationEnumFactory(), Requirements.ConformanceExpectation.NULL)); + } else {; + res.getConformance().add(parseEnumeration(array.get(i).getAsString(), Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); + } + } + }; + if (json.has("_conformance")) { + JsonArray array = getJArray(json, "_conformance"); + for (int i = 0; i < array.size(); i++) { + if (i == res.getConformance().size()) + res.getConformance().add(parseEnumeration(null, Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); + if (array.get(i) instanceof JsonObject) + parseElementProperties(array.get(i).getAsJsonObject(), res.getConformance().get(i)); + } + }; if (json.has("requirement")) res.setRequirementElement(parseMarkdown(json.get("requirement").getAsString())); if (json.has("_requirement")) @@ -28007,9 +28022,9 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "base"); for (int i = 0; i < array.size(); i++) { if (array.get(i).isJsonNull()) { - res.getBase().add(new Enumeration(new Enumerations.AllResourceTypesEnumFactory(), Enumerations.AllResourceTypes.NULL)); + res.getBase().add(new CodeType()); } else {; - res.getBase().add(parseEnumeration(array.get(i).getAsString(), Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); + res.getBase().add(parseCode(array.get(i).getAsString())); } } }; @@ -28017,7 +28032,7 @@ public class JsonParser extends JsonParserBase { JsonArray array = getJArray(json, "_base"); for (int i = 0; i < array.size(); i++) { if (i == res.getBase().size()) - res.getBase().add(parseEnumeration(null, Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); + res.getBase().add(new CodeType()); if (array.get(i) instanceof JsonObject) parseElementProperties(array.get(i).getAsJsonObject(), res.getBase().get(i)); } @@ -64128,10 +64143,18 @@ public class JsonParser extends JsonParserBase { composeStringCore("label", element.getLabelElement(), false); composeStringExtras("label", element.getLabelElement(), false); } - if (element.hasConformanceElement()) { - composeEnumerationCore("conformance", element.getConformanceElement(), new Requirements.ConformanceExpectationEnumFactory(), false); - composeEnumerationExtras("conformance", element.getConformanceElement(), new Requirements.ConformanceExpectationEnumFactory(), false); + if (element.hasConformance()) { + openArray("conformance"); + for (Enumeration e : element.getConformance()) + composeEnumerationCore(null, e, new Requirements.ConformanceExpectationEnumFactory(), true); + closeArray(); + if (anyHasExtras(element.getConformance())) { + openArray("_conformance"); + for (Enumeration e : element.getConformance()) + composeEnumerationExtras(null, e, new Requirements.ConformanceExpectationEnumFactory(), true); + closeArray(); } + }; if (element.hasRequirementElement()) { composeMarkdownCore("requirement", element.getRequirementElement(), false); composeMarkdownExtras("requirement", element.getRequirementElement(), false); @@ -64909,13 +64932,13 @@ public class JsonParser extends JsonParserBase { } if (element.hasBase()) { openArray("base"); - for (Enumeration e : element.getBase()) - composeEnumerationCore(null, e, new Enumerations.AllResourceTypesEnumFactory(), true); + for (CodeType e : element.getBase()) + composeCodeCore(null, e, true); closeArray(); if (anyHasExtras(element.getBase())) { openArray("_base"); - for (Enumeration e : element.getBase()) - composeEnumerationExtras(null, e, new Enumerations.AllResourceTypesEnumFactory(), true); + for (CodeType e : element.getBase()) + composeCodeExtras(null, e, true); closeArray(); } }; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java index 4de5073a2..28d127241 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/RdfParser.java @@ -21893,8 +21893,8 @@ public class RdfParser extends RdfParserBase { if (element.hasLabelElement()) { composeString(t, "RequirementsStatementComponent", "label", element.getLabelElement(), -1); } - if (element.hasConformanceElement()) { - composeEnum(t, "RequirementsStatementComponent", "conformance", element.getConformanceElement(), -1); + for (int i = 0; i < element.getConformance().size(); i++) { + composeEnum(t, "RequirementsStatementComponent", "conformance", element.getConformance().get(i), i); } if (element.hasRequirementElement()) { composeMarkdown(t, "RequirementsStatementComponent", "requirement", element.getRequirementElement(), -1); @@ -22485,7 +22485,7 @@ public class RdfParser extends RdfParserBase { composeCode(t, "SearchParameter", "code", element.getCodeElement(), -1); } for (int i = 0; i < element.getBase().size(); i++) { - composeEnum(t, "SearchParameter", "base", element.getBase().get(i), i); + composeCode(t, "SearchParameter", "base", element.getBase().get(i), i); } if (element.hasTypeElement()) { composeEnum(t, "SearchParameter", "type", element.getTypeElement(), -1); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java index c8db4faa2..25fc47aa8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/XmlParser.java @@ -23699,7 +23699,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("label")) { res.setLabelElement(parseString(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("conformance")) { - res.setConformanceElement(parseEnumeration(xpp, Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); + res.getConformance().add(parseEnumeration(xpp, Requirements.ConformanceExpectation.NULL, new Requirements.ConformanceExpectationEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("requirement")) { res.setRequirementElement(parseMarkdown(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("derivedFrom")) { @@ -24317,7 +24317,7 @@ public class XmlParser extends XmlParserBase { } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("code")) { res.setCodeElement(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("base")) { - res.getBase().add(parseEnumeration(xpp, Enumerations.AllResourceTypes.NULL, new Enumerations.AllResourceTypesEnumFactory())); + res.getBase().add(parseCode(xpp)); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("type")) { res.setTypeElement(parseEnumeration(xpp, Enumerations.SearchParamType.NULL, new Enumerations.SearchParamTypeEnumFactory())); } else if (eventType == XmlPullParser.START_TAG && xpp.getName().equals("expression")) { @@ -55102,8 +55102,9 @@ public class XmlParser extends XmlParserBase { if (element.hasLabelElement()) { composeString("label", element.getLabelElement()); } - if (element.hasConformanceElement()) - composeEnumeration("conformance", element.getConformanceElement(), new Requirements.ConformanceExpectationEnumFactory()); + if (element.hasConformance()) + for (Enumeration e : element.getConformance()) + composeEnumeration("conformance", e, new Requirements.ConformanceExpectationEnumFactory()); if (element.hasRequirementElement()) { composeMarkdown("requirement", element.getRequirementElement()); } @@ -55759,8 +55760,8 @@ public class XmlParser extends XmlParserBase { composeCode("code", element.getCodeElement()); } if (element.hasBase()) - for (Enumeration e : element.getBase()) - composeEnumeration("base", e, new Enumerations.AllResourceTypesEnumFactory()); + for (CodeType e : element.getBase()) + composeCode("base", e); if (element.hasTypeElement()) composeEnumeration("type", element.getTypeElement(), new Enumerations.SearchParamTypeEnumFactory()); if (element.hasExpressionElement()) { 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 1e871627d..588262d8a 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 @@ -12493,87 +12493,87 @@ The primary difference between a medicationusage and a medicationadministration /** * DSTU 1 Ballot version. */ - OID_0_11, + _0_11, /** * DSTU 1 version. */ - OID_0_0, + _0_0, /** * DSTU 1 Official version. */ - OID_0_0_80, + _0_0_80, /** * DSTU 1 Official version Technical Errata #1. */ - OID_0_0_81, + _0_0_81, /** * DSTU 1 Official version Technical Errata #2. */ - OID_0_0_82, + _0_0_82, /** * January 2015 Ballot. */ - OID_0_4, + _0_4, /** * Draft For Comment (January 2015 Ballot). */ - OID_0_4_0, + _0_4_0, /** * May 2015 Ballot. */ - OID_0_5, + _0_5, /** * DSTU 2 Ballot version (May 2015 Ballot). */ - OID_0_5_0, + _0_5_0, /** * DSTU 2 version. */ - OID_1_0, + _1_0, /** * DSTU 2 QA Preview + CQIF Ballot (Sep 2015). */ - OID_1_0_0, + _1_0_0, /** * DSTU 2 (Official version). */ - OID_1_0_1, + _1_0_1, /** * DSTU 2 (Official version) with 1 technical errata. */ - OID_1_0_2, + _1_0_2, /** * GAO Ballot version. */ - OID_1_1, + _1_1, /** * GAO Ballot + draft changes to main FHIR standard. */ - OID_1_1_0, + _1_1_0, /** * Connectathon 12 (Montreal) version. */ - OID_1_4, + _1_4, /** * CQF on FHIR Ballot + Connectathon 12 (Montreal). */ - OID_1_4_0, + _1_4_0, /** * Connectathon 13 (Baltimore) version. */ - OID_1_6, + _1_6, /** * FHIR STU3 Ballot + Connectathon 13 (Baltimore). */ - OID_1_6_0, + _1_6_0, /** * Connectathon 14 (San Antonio) version. */ - OID_1_8, + _1_8, /** * FHIR STU3 Candidate + Connectathon 14 (San Antonio). */ - OID_1_8_0, + _1_8_0, /** * STU3 version. */ @@ -12704,47 +12704,47 @@ The primary difference between a medicationusage and a medicationadministration if ("0.06".equals(codeString)) return _0_06; if ("0.11".equals(codeString)) - return OID_0_11; + return _0_11; if ("0.0".equals(codeString)) - return OID_0_0; + return _0_0; if ("0.0.80".equals(codeString)) - return OID_0_0_80; + return _0_0_80; if ("0.0.81".equals(codeString)) - return OID_0_0_81; + return _0_0_81; if ("0.0.82".equals(codeString)) - return OID_0_0_82; + return _0_0_82; if ("0.4".equals(codeString)) - return OID_0_4; + return _0_4; if ("0.4.0".equals(codeString)) - return OID_0_4_0; + return _0_4_0; if ("0.5".equals(codeString)) - return OID_0_5; + return _0_5; if ("0.5.0".equals(codeString)) - return OID_0_5_0; + return _0_5_0; if ("1.0".equals(codeString)) - return OID_1_0; + return _1_0; if ("1.0.0".equals(codeString)) - return OID_1_0_0; + return _1_0_0; if ("1.0.1".equals(codeString)) - return OID_1_0_1; + return _1_0_1; if ("1.0.2".equals(codeString)) - return OID_1_0_2; + return _1_0_2; if ("1.1".equals(codeString)) - return OID_1_1; + return _1_1; if ("1.1.0".equals(codeString)) - return OID_1_1_0; + return _1_1_0; if ("1.4".equals(codeString)) - return OID_1_4; + return _1_4; if ("1.4.0".equals(codeString)) - return OID_1_4_0; + return _1_4_0; if ("1.6".equals(codeString)) - return OID_1_6; + return _1_6; if ("1.6.0".equals(codeString)) - return OID_1_6_0; + return _1_6_0; if ("1.8".equals(codeString)) - return OID_1_8; + return _1_8; if ("1.8.0".equals(codeString)) - return OID_1_8_0; + return _1_8_0; if ("3.0".equals(codeString)) return _3_0; if ("3.0.0".equals(codeString)) @@ -12810,27 +12810,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "0.01"; case _0_05: return "0.05"; case _0_06: return "0.06"; - case OID_0_11: return "0.11"; - case OID_0_0: return "0.0"; - case OID_0_0_80: return "0.0.80"; - case OID_0_0_81: return "0.0.81"; - case OID_0_0_82: return "0.0.82"; - case OID_0_4: return "0.4"; - case OID_0_4_0: return "0.4.0"; - case OID_0_5: return "0.5"; - case OID_0_5_0: return "0.5.0"; - case OID_1_0: return "1.0"; - case OID_1_0_0: return "1.0.0"; - case OID_1_0_1: return "1.0.1"; - case OID_1_0_2: return "1.0.2"; - case OID_1_1: return "1.1"; - case OID_1_1_0: return "1.1.0"; - case OID_1_4: return "1.4"; - case OID_1_4_0: return "1.4.0"; - case OID_1_6: return "1.6"; - case OID_1_6_0: return "1.6.0"; - case OID_1_8: return "1.8"; - case OID_1_8_0: return "1.8.0"; + case _0_11: return "0.11"; + case _0_0: return "0.0"; + case _0_0_80: return "0.0.80"; + case _0_0_81: return "0.0.81"; + case _0_0_82: return "0.0.82"; + case _0_4: return "0.4"; + case _0_4_0: return "0.4.0"; + case _0_5: return "0.5"; + case _0_5_0: return "0.5.0"; + case _1_0: return "1.0"; + case _1_0_0: return "1.0.0"; + case _1_0_1: return "1.0.1"; + case _1_0_2: return "1.0.2"; + case _1_1: return "1.1"; + case _1_1_0: return "1.1.0"; + case _1_4: return "1.4"; + case _1_4_0: return "1.4.0"; + case _1_6: return "1.6"; + case _1_6_0: return "1.6.0"; + case _1_8: return "1.8"; + case _1_8_0: return "1.8.0"; case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; @@ -12869,27 +12869,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "http://hl7.org/fhir/FHIR-version"; case _0_05: return "http://hl7.org/fhir/FHIR-version"; case _0_06: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_11: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_0_80: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_0_81: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_0_82: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_4: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_4_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_5: return "http://hl7.org/fhir/FHIR-version"; - case OID_0_5_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_0_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_0_1: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_0_2: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_1: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_1_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_4: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_4_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_6: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_6_0: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_8: return "http://hl7.org/fhir/FHIR-version"; - case OID_1_8_0: return "http://hl7.org/fhir/FHIR-version"; + case _0_11: return "http://hl7.org/fhir/FHIR-version"; + case _0_0: return "http://hl7.org/fhir/FHIR-version"; + case _0_0_80: return "http://hl7.org/fhir/FHIR-version"; + case _0_0_81: return "http://hl7.org/fhir/FHIR-version"; + case _0_0_82: return "http://hl7.org/fhir/FHIR-version"; + case _0_4: return "http://hl7.org/fhir/FHIR-version"; + case _0_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _0_5: return "http://hl7.org/fhir/FHIR-version"; + case _0_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_0_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_0_1: return "http://hl7.org/fhir/FHIR-version"; + case _1_0_2: return "http://hl7.org/fhir/FHIR-version"; + case _1_1: return "http://hl7.org/fhir/FHIR-version"; + case _1_1_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_4: return "http://hl7.org/fhir/FHIR-version"; + case _1_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_6: return "http://hl7.org/fhir/FHIR-version"; + case _1_6_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_8: return "http://hl7.org/fhir/FHIR-version"; + case _1_8_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_1: return "http://hl7.org/fhir/FHIR-version"; @@ -12928,27 +12928,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "Oldest archived version of FHIR."; case _0_05: return "1st Draft for Comment (Sept 2012 Ballot)."; case _0_06: return "2nd Draft for Comment (January 2013 Ballot)."; - case OID_0_11: return "DSTU 1 Ballot version."; - case OID_0_0: return "DSTU 1 version."; - case OID_0_0_80: return "DSTU 1 Official version."; - case OID_0_0_81: return "DSTU 1 Official version Technical Errata #1."; - case OID_0_0_82: return "DSTU 1 Official version Technical Errata #2."; - case OID_0_4: return "January 2015 Ballot."; - case OID_0_4_0: return "Draft For Comment (January 2015 Ballot)."; - case OID_0_5: return "May 2015 Ballot."; - case OID_0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot)."; - case OID_1_0: return "DSTU 2 version."; - case OID_1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015)."; - case OID_1_0_1: return "DSTU 2 (Official version)."; - case OID_1_0_2: return "DSTU 2 (Official version) with 1 technical errata."; - case OID_1_1: return "GAO Ballot version."; - case OID_1_1_0: return "GAO Ballot + draft changes to main FHIR standard."; - case OID_1_4: return "Connectathon 12 (Montreal) version."; - case OID_1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal)."; - case OID_1_6: return "Connectathon 13 (Baltimore) version."; - case OID_1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore)."; - case OID_1_8: return "Connectathon 14 (San Antonio) version."; - case OID_1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio)."; + case _0_11: return "DSTU 1 Ballot version."; + case _0_0: return "DSTU 1 version."; + case _0_0_80: return "DSTU 1 Official version."; + case _0_0_81: return "DSTU 1 Official version Technical Errata #1."; + case _0_0_82: return "DSTU 1 Official version Technical Errata #2."; + case _0_4: return "January 2015 Ballot."; + case _0_4_0: return "Draft For Comment (January 2015 Ballot)."; + case _0_5: return "May 2015 Ballot."; + case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot)."; + case _1_0: return "DSTU 2 version."; + case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015)."; + case _1_0_1: return "DSTU 2 (Official version)."; + case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata."; + case _1_1: return "GAO Ballot version."; + case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard."; + case _1_4: return "Connectathon 12 (Montreal) version."; + case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal)."; + case _1_6: return "Connectathon 13 (Baltimore) version."; + case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore)."; + case _1_8: return "Connectathon 14 (San Antonio) version."; + case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio)."; case _3_0: return "STU3 version."; case _3_0_0: return "FHIR Release 3 (STU)."; case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata."; @@ -12987,27 +12987,27 @@ The primary difference between a medicationusage and a medicationadministration case _0_01: return "0.01"; case _0_05: return "0.05"; case _0_06: return "0.06"; - case OID_0_11: return "0.11"; - case OID_0_0: return "0.0"; - case OID_0_0_80: return "0.0.80"; - case OID_0_0_81: return "0.0.81"; - case OID_0_0_82: return "0.0.82"; - case OID_0_4: return "0.4"; - case OID_0_4_0: return "0.4.0"; - case OID_0_5: return "0.5"; - case OID_0_5_0: return "0.5.0"; - case OID_1_0: return "1.0"; - case OID_1_0_0: return "1.0.0"; - case OID_1_0_1: return "1.0.1"; - case OID_1_0_2: return "1.0.2"; - case OID_1_1: return "1.1"; - case OID_1_1_0: return "1.1.0"; - case OID_1_4: return "1.4"; - case OID_1_4_0: return "1.4.0"; - case OID_1_6: return "1.6"; - case OID_1_6_0: return "1.6.0"; - case OID_1_8: return "1.8"; - case OID_1_8_0: return "1.8.0"; + case _0_11: return "0.11"; + case _0_0: return "0.0"; + case _0_0_80: return "0.0.80"; + case _0_0_81: return "0.0.81"; + case _0_0_82: return "0.0.82"; + case _0_4: return "0.4"; + case _0_4_0: return "0.4.0"; + case _0_5: return "0.5"; + case _0_5_0: return "0.5.0"; + case _1_0: return "1.0"; + case _1_0_0: return "1.0.0"; + case _1_0_1: return "1.0.1"; + case _1_0_2: return "1.0.2"; + case _1_1: return "1.1"; + case _1_1_0: return "1.1.0"; + case _1_4: return "1.4"; + case _1_4_0: return "1.4.0"; + case _1_6: return "1.6"; + case _1_6_0: return "1.6.0"; + case _1_8: return "1.8"; + case _1_8_0: return "1.8.0"; case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; @@ -13072,47 +13072,47 @@ The primary difference between a medicationusage and a medicationadministration if ("0.06".equals(codeString)) return FHIRVersion._0_06; if ("0.11".equals(codeString)) - return FHIRVersion.OID_0_11; + return FHIRVersion._0_11; if ("0.0".equals(codeString)) - return FHIRVersion.OID_0_0; + return FHIRVersion._0_0; if ("0.0.80".equals(codeString)) - return FHIRVersion.OID_0_0_80; + return FHIRVersion._0_0_80; if ("0.0.81".equals(codeString)) - return FHIRVersion.OID_0_0_81; + return FHIRVersion._0_0_81; if ("0.0.82".equals(codeString)) - return FHIRVersion.OID_0_0_82; + return FHIRVersion._0_0_82; if ("0.4".equals(codeString)) - return FHIRVersion.OID_0_4; + return FHIRVersion._0_4; if ("0.4.0".equals(codeString)) - return FHIRVersion.OID_0_4_0; + return FHIRVersion._0_4_0; if ("0.5".equals(codeString)) - return FHIRVersion.OID_0_5; + return FHIRVersion._0_5; if ("0.5.0".equals(codeString)) - return FHIRVersion.OID_0_5_0; + return FHIRVersion._0_5_0; if ("1.0".equals(codeString)) - return FHIRVersion.OID_1_0; + return FHIRVersion._1_0; if ("1.0.0".equals(codeString)) - return FHIRVersion.OID_1_0_0; + return FHIRVersion._1_0_0; if ("1.0.1".equals(codeString)) - return FHIRVersion.OID_1_0_1; + return FHIRVersion._1_0_1; if ("1.0.2".equals(codeString)) - return FHIRVersion.OID_1_0_2; + return FHIRVersion._1_0_2; if ("1.1".equals(codeString)) - return FHIRVersion.OID_1_1; + return FHIRVersion._1_1; if ("1.1.0".equals(codeString)) - return FHIRVersion.OID_1_1_0; + return FHIRVersion._1_1_0; if ("1.4".equals(codeString)) - return FHIRVersion.OID_1_4; + return FHIRVersion._1_4; if ("1.4.0".equals(codeString)) - return FHIRVersion.OID_1_4_0; + return FHIRVersion._1_4_0; if ("1.6".equals(codeString)) - return FHIRVersion.OID_1_6; + return FHIRVersion._1_6; if ("1.6.0".equals(codeString)) - return FHIRVersion.OID_1_6_0; + return FHIRVersion._1_6_0; if ("1.8".equals(codeString)) - return FHIRVersion.OID_1_8; + return FHIRVersion._1_8; if ("1.8.0".equals(codeString)) - return FHIRVersion.OID_1_8_0; + return FHIRVersion._1_8_0; if ("3.0".equals(codeString)) return FHIRVersion._3_0; if ("3.0.0".equals(codeString)) @@ -13188,47 +13188,47 @@ The primary difference between a medicationusage and a medicationadministration if ("0.06".equals(codeString)) return new Enumeration(this, FHIRVersion._0_06); if ("0.11".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_11); + return new Enumeration(this, FHIRVersion._0_11); if ("0.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_0); + return new Enumeration(this, FHIRVersion._0_0); if ("0.0.80".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_0_80); + return new Enumeration(this, FHIRVersion._0_0_80); if ("0.0.81".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_0_81); + return new Enumeration(this, FHIRVersion._0_0_81); if ("0.0.82".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_0_82); + return new Enumeration(this, FHIRVersion._0_0_82); if ("0.4".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_4); + return new Enumeration(this, FHIRVersion._0_4); if ("0.4.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_4_0); + return new Enumeration(this, FHIRVersion._0_4_0); if ("0.5".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_5); + return new Enumeration(this, FHIRVersion._0_5); if ("0.5.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_0_5_0); + return new Enumeration(this, FHIRVersion._0_5_0); if ("1.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_0); + return new Enumeration(this, FHIRVersion._1_0); if ("1.0.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_0_0); + return new Enumeration(this, FHIRVersion._1_0_0); if ("1.0.1".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_0_1); + return new Enumeration(this, FHIRVersion._1_0_1); if ("1.0.2".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_0_2); + return new Enumeration(this, FHIRVersion._1_0_2); if ("1.1".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_1); + return new Enumeration(this, FHIRVersion._1_1); if ("1.1.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_1_0); + return new Enumeration(this, FHIRVersion._1_1_0); if ("1.4".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_4); + return new Enumeration(this, FHIRVersion._1_4); if ("1.4.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_4_0); + return new Enumeration(this, FHIRVersion._1_4_0); if ("1.6".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_6); + return new Enumeration(this, FHIRVersion._1_6); if ("1.6.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_6_0); + return new Enumeration(this, FHIRVersion._1_6_0); if ("1.8".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_8); + return new Enumeration(this, FHIRVersion._1_8); if ("1.8.0".equals(codeString)) - return new Enumeration(this, FHIRVersion.OID_1_8_0); + return new Enumeration(this, FHIRVersion._1_8_0); if ("3.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0); if ("3.0.0".equals(codeString)) @@ -13296,47 +13296,47 @@ The primary difference between a medicationusage and a medicationadministration return "0.05"; if (code == FHIRVersion._0_06) return "0.06"; - if (code == FHIRVersion.OID_0_11) + if (code == FHIRVersion._0_11) return "0.11"; - if (code == FHIRVersion.OID_0_0) + if (code == FHIRVersion._0_0) return "0.0"; - if (code == FHIRVersion.OID_0_0_80) + if (code == FHIRVersion._0_0_80) return "0.0.80"; - if (code == FHIRVersion.OID_0_0_81) + if (code == FHIRVersion._0_0_81) return "0.0.81"; - if (code == FHIRVersion.OID_0_0_82) + if (code == FHIRVersion._0_0_82) return "0.0.82"; - if (code == FHIRVersion.OID_0_4) + if (code == FHIRVersion._0_4) return "0.4"; - if (code == FHIRVersion.OID_0_4_0) + if (code == FHIRVersion._0_4_0) return "0.4.0"; - if (code == FHIRVersion.OID_0_5) + if (code == FHIRVersion._0_5) return "0.5"; - if (code == FHIRVersion.OID_0_5_0) + if (code == FHIRVersion._0_5_0) return "0.5.0"; - if (code == FHIRVersion.OID_1_0) + if (code == FHIRVersion._1_0) return "1.0"; - if (code == FHIRVersion.OID_1_0_0) + if (code == FHIRVersion._1_0_0) return "1.0.0"; - if (code == FHIRVersion.OID_1_0_1) + if (code == FHIRVersion._1_0_1) return "1.0.1"; - if (code == FHIRVersion.OID_1_0_2) + if (code == FHIRVersion._1_0_2) return "1.0.2"; - if (code == FHIRVersion.OID_1_1) + if (code == FHIRVersion._1_1) return "1.1"; - if (code == FHIRVersion.OID_1_1_0) + if (code == FHIRVersion._1_1_0) return "1.1.0"; - if (code == FHIRVersion.OID_1_4) + if (code == FHIRVersion._1_4) return "1.4"; - if (code == FHIRVersion.OID_1_4_0) + if (code == FHIRVersion._1_4_0) return "1.4.0"; - if (code == FHIRVersion.OID_1_6) + if (code == FHIRVersion._1_6) return "1.6"; - if (code == FHIRVersion.OID_1_6_0) + if (code == FHIRVersion._1_6_0) return "1.6.0"; - if (code == FHIRVersion.OID_1_8) + if (code == FHIRVersion._1_8) return "1.8"; - if (code == FHIRVersion.OID_1_8_0) + if (code == FHIRVersion._1_8_0) return "1.8.0"; if (code == FHIRVersion._3_0) return "3.0"; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java index c5438381c..abd8c8b6e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Requirements.java @@ -200,10 +200,10 @@ public class Requirements extends CanonicalResource { /** * A short human usable label for this statement. */ - @Child(name = "conformance", type = {CodeType.class}, order=3, min=0, max=1, modifier=false, summary=false) + @Child(name = "conformance", type = {CodeType.class}, order=3, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="SHALL | SHOULD | MAY | SHOULD-NOT", formalDefinition="A short human usable label for this statement." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/conformance-expectation") - protected Enumeration conformance; + protected List> conformance; /** * The actual requirement for human consumption. @@ -230,17 +230,17 @@ public class Requirements extends CanonicalResource { * A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere. */ @Child(name = "reference", type = {UrlType.class}, order=7, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) - @Description(shortDefinition="Design artifact that creates this requirement", formalDefinition="A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere." ) + @Description(shortDefinition="External artifact (rule/document etc that) created this requirement", formalDefinition="A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere." ) protected List reference; /** * Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters. */ - @Child(name = "source", type = {Patient.class, RelatedPerson.class, Practitioner.class, Organization.class, CareTeam.class, Group.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) + @Child(name = "source", type = {Practitioner.class, Organization.class, CareTeam.class, Group.class}, order=8, min=0, max=Child.MAX_UNLIMITED, modifier=false, summary=false) @Description(shortDefinition="Who asked for this statement", formalDefinition="Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters." ) protected List source; - private static final long serialVersionUID = 456033856L; + private static final long serialVersionUID = -811662792L; /** * Constructor @@ -353,52 +353,64 @@ public class Requirements extends CanonicalResource { } /** - * @return {@link #conformance} (A short human usable label for this statement.). This is the underlying object with id, value and extensions. The accessor "getConformance" gives direct access to the value + * @return {@link #conformance} (A short human usable label for this statement.) */ - public Enumeration getConformanceElement() { + public List> getConformance() { if (this.conformance == null) - if (Configuration.errorOnAutoCreate()) - throw new Error("Attempt to auto-create RequirementsStatementComponent.conformance"); - else if (Configuration.doAutoCreate()) - this.conformance = new Enumeration(new ConformanceExpectationEnumFactory()); // bb + this.conformance = new ArrayList>(); return this.conformance; } - public boolean hasConformanceElement() { - return this.conformance != null && !this.conformance.isEmpty(); + /** + * @return Returns a reference to this for easy method chaining + */ + public RequirementsStatementComponent setConformance(List> theConformance) { + this.conformance = theConformance; + return this; } public boolean hasConformance() { - return this.conformance != null && !this.conformance.isEmpty(); + if (this.conformance == null) + return false; + for (Enumeration item : this.conformance) + if (!item.isEmpty()) + return true; + return false; } /** - * @param value {@link #conformance} (A short human usable label for this statement.). This is the underlying object with id, value and extensions. The accessor "getConformance" gives direct access to the value + * @return {@link #conformance} (A short human usable label for this statement.) */ - public RequirementsStatementComponent setConformanceElement(Enumeration value) { - this.conformance = value; + public Enumeration addConformanceElement() {//2 + Enumeration t = new Enumeration(new ConformanceExpectationEnumFactory()); + if (this.conformance == null) + this.conformance = new ArrayList>(); + this.conformance.add(t); + return t; + } + + /** + * @param value {@link #conformance} (A short human usable label for this statement.) + */ + public RequirementsStatementComponent addConformance(ConformanceExpectation value) { //1 + Enumeration t = new Enumeration(new ConformanceExpectationEnumFactory()); + t.setValue(value); + if (this.conformance == null) + this.conformance = new ArrayList>(); + this.conformance.add(t); return this; } /** - * @return A short human usable label for this statement. + * @param value {@link #conformance} (A short human usable label for this statement.) */ - public ConformanceExpectation getConformance() { - return this.conformance == null ? null : this.conformance.getValue(); - } - - /** - * @param value A short human usable label for this statement. - */ - public RequirementsStatementComponent setConformance(ConformanceExpectation value) { - if (value == null) - this.conformance = null; - else { + public boolean hasConformance(ConformanceExpectation value) { if (this.conformance == null) - this.conformance = new Enumeration(new ConformanceExpectationEnumFactory()); - this.conformance.setValue(value); - } - return this; + return false; + for (Enumeration v : this.conformance) + if (v.getValue().equals(value)) // code + return true; + return false; } /** @@ -674,12 +686,12 @@ public class Requirements extends CanonicalResource { super.listChildren(children); children.add(new Property("key", "id", "Key that identifies this statement (unique within this resource).", 0, 1, key)); children.add(new Property("label", "string", "A short human usable label for this statement.", 0, 1, label)); - children.add(new Property("conformance", "code", "A short human usable label for this statement.", 0, 1, conformance)); + children.add(new Property("conformance", "code", "A short human usable label for this statement.", 0, java.lang.Integer.MAX_VALUE, conformance)); children.add(new Property("requirement", "markdown", "The actual requirement for human consumption.", 0, 1, requirement)); children.add(new Property("derivedFrom", "string", "Another statement on one of the requirements that this requirement clarifies or restricts.", 0, 1, derivedFrom)); children.add(new Property("satisfiedBy", "url", "A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.", 0, java.lang.Integer.MAX_VALUE, satisfiedBy)); children.add(new Property("reference", "url", "A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.", 0, java.lang.Integer.MAX_VALUE, reference)); - children.add(new Property("source", "Reference(Patient|RelatedPerson|Practitioner|Organization|CareTeam|Group)", "Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.", 0, java.lang.Integer.MAX_VALUE, source)); + children.add(new Property("source", "Reference(Practitioner|Organization|CareTeam|Group)", "Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.", 0, java.lang.Integer.MAX_VALUE, source)); } @Override @@ -687,12 +699,12 @@ public class Requirements extends CanonicalResource { switch (_hash) { case 106079: /*key*/ return new Property("key", "id", "Key that identifies this statement (unique within this resource).", 0, 1, key); case 102727412: /*label*/ return new Property("label", "string", "A short human usable label for this statement.", 0, 1, label); - case 1374858133: /*conformance*/ return new Property("conformance", "code", "A short human usable label for this statement.", 0, 1, conformance); + case 1374858133: /*conformance*/ return new Property("conformance", "code", "A short human usable label for this statement.", 0, java.lang.Integer.MAX_VALUE, conformance); case 363387971: /*requirement*/ return new Property("requirement", "markdown", "The actual requirement for human consumption.", 0, 1, requirement); case 1077922663: /*derivedFrom*/ return new Property("derivedFrom", "string", "Another statement on one of the requirements that this requirement clarifies or restricts.", 0, 1, derivedFrom); case -1268787159: /*satisfiedBy*/ return new Property("satisfiedBy", "url", "A reference to another artifact that satisfies this requirement. This could be a Profile, extension, or an element in one of those, or a CapabilityStatement, OperationDefinition, SearchParameter, CodeSystem(/code), ValueSet, Libary etc.", 0, java.lang.Integer.MAX_VALUE, satisfiedBy); case -925155509: /*reference*/ return new Property("reference", "url", "A reference to another artifact that created this requirement. This could be a Profile, etc, or external regulation, or business requirements expressed elsewhere.", 0, java.lang.Integer.MAX_VALUE, reference); - case -896505829: /*source*/ return new Property("source", "Reference(Patient|RelatedPerson|Practitioner|Organization|CareTeam|Group)", "Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.", 0, java.lang.Integer.MAX_VALUE, source); + case -896505829: /*source*/ return new Property("source", "Reference(Practitioner|Organization|CareTeam|Group)", "Who asked for this statement to be a requirement. By default, it's assumed that the publisher knows who it is if it matters.", 0, java.lang.Integer.MAX_VALUE, source); default: return super.getNamedProperty(_hash, _name, _checkValid); } @@ -703,7 +715,7 @@ public class Requirements extends CanonicalResource { switch (hash) { case 106079: /*key*/ return this.key == null ? new Base[0] : new Base[] {this.key}; // IdType case 102727412: /*label*/ return this.label == null ? new Base[0] : new Base[] {this.label}; // StringType - case 1374858133: /*conformance*/ return this.conformance == null ? new Base[0] : new Base[] {this.conformance}; // Enumeration + case 1374858133: /*conformance*/ return this.conformance == null ? new Base[0] : this.conformance.toArray(new Base[this.conformance.size()]); // Enumeration case 363387971: /*requirement*/ return this.requirement == null ? new Base[0] : new Base[] {this.requirement}; // MarkdownType case 1077922663: /*derivedFrom*/ return this.derivedFrom == null ? new Base[0] : new Base[] {this.derivedFrom}; // StringType case -1268787159: /*satisfiedBy*/ return this.satisfiedBy == null ? new Base[0] : this.satisfiedBy.toArray(new Base[this.satisfiedBy.size()]); // UrlType @@ -725,7 +737,7 @@ public class Requirements extends CanonicalResource { return value; case 1374858133: // conformance value = new ConformanceExpectationEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.conformance = (Enumeration) value; // Enumeration + this.getConformance().add((Enumeration) value); // Enumeration return value; case 363387971: // requirement this.requirement = TypeConvertor.castToMarkdown(value); // MarkdownType @@ -755,7 +767,7 @@ public class Requirements extends CanonicalResource { this.label = TypeConvertor.castToString(value); // StringType } else if (name.equals("conformance")) { value = new ConformanceExpectationEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.conformance = (Enumeration) value; // Enumeration + this.getConformance().add((Enumeration) value); } else if (name.equals("requirement")) { this.requirement = TypeConvertor.castToMarkdown(value); // MarkdownType } else if (name.equals("derivedFrom")) { @@ -776,7 +788,7 @@ public class Requirements extends CanonicalResource { switch (hash) { case 106079: return getKeyElement(); case 102727412: return getLabelElement(); - case 1374858133: return getConformanceElement(); + case 1374858133: return addConformanceElement(); case 363387971: return getRequirementElement(); case 1077922663: return getDerivedFromElement(); case -1268787159: return addSatisfiedByElement(); @@ -843,7 +855,11 @@ public class Requirements extends CanonicalResource { super.copyValues(dst); dst.key = key == null ? null : key.copy(); dst.label = label == null ? null : label.copy(); - dst.conformance = conformance == null ? null : conformance.copy(); + if (conformance != null) { + dst.conformance = new ArrayList>(); + for (Enumeration i : conformance) + dst.conformance.add(i.copy()); + }; dst.requirement = requirement == null ? null : requirement.copy(); dst.derivedFrom = derivedFrom == null ? null : derivedFrom.copy(); if (satisfiedBy != null) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java index 1e6b4977a..675369187 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/SearchParameter.java @@ -1050,7 +1050,7 @@ public class SearchParameter extends CanonicalResource { @Child(name = "base", type = {CodeType.class}, order=16, min=1, max=Child.MAX_UNLIMITED, modifier=false, summary=true) @Description(shortDefinition="The resource type(s) this search parameter applies to", formalDefinition="The base resource type(s) that this search parameter can be used against." ) @ca.uhn.fhir.model.api.annotation.Binding(valueSet="http://hl7.org/fhir/ValueSet/all-resource-types") - protected List> base; + protected List base; /** * The type of value that a search parameter may contain, and how the content is interpreted. @@ -1146,7 +1146,7 @@ public class SearchParameter extends CanonicalResource { /** * Constructor */ - public SearchParameter(String url, String name, PublicationStatus status, String description, String code, AllResourceTypes base, SearchParamType type) { + public SearchParameter(String url, String name, PublicationStatus status, String description, String code, String base, SearchParamType type) { super(); this.setUrl(url); this.setName(name); @@ -1934,16 +1934,16 @@ public class SearchParameter extends CanonicalResource { /** * @return {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public List> getBase() { + public List getBase() { if (this.base == null) - this.base = new ArrayList>(); + this.base = new ArrayList(); return this.base; } /** * @return Returns a reference to this for easy method chaining */ - public SearchParameter setBase(List> theBase) { + public SearchParameter setBase(List theBase) { this.base = theBase; return this; } @@ -1951,7 +1951,7 @@ public class SearchParameter extends CanonicalResource { public boolean hasBase() { if (this.base == null) return false; - for (Enumeration item : this.base) + for (CodeType item : this.base) if (!item.isEmpty()) return true; return false; @@ -1960,10 +1960,10 @@ public class SearchParameter extends CanonicalResource { /** * @return {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public Enumeration addBaseElement() {//2 - Enumeration t = new Enumeration(new AllResourceTypesEnumFactory()); + public CodeType addBaseElement() {//2 + CodeType t = new CodeType(); if (this.base == null) - this.base = new ArrayList>(); + this.base = new ArrayList(); this.base.add(t); return t; } @@ -1971,11 +1971,11 @@ public class SearchParameter extends CanonicalResource { /** * @param value {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public SearchParameter addBase(AllResourceTypes value) { //1 - Enumeration t = new Enumeration(new AllResourceTypesEnumFactory()); - t.setValue(value); + public SearchParameter addBase(String code) { //1 + CodeType t = new CodeType(); + t.setValue(code); if (this.base == null) - this.base = new ArrayList>(); + this.base = new ArrayList(); this.base.add(t); return this; } @@ -1983,11 +1983,11 @@ public class SearchParameter extends CanonicalResource { /** * @param value {@link #base} (The base resource type(s) that this search parameter can be used against.) */ - public boolean hasBase(AllResourceTypes value) { + public boolean hasBase(String code) { if (this.base == null) return false; - for (Enumeration v : this.base) - if (v.getValue().equals(value)) // code + for (CodeType v : this.base) + if (v.getValue().equals(code)) // code return true; return false; } @@ -2838,8 +2838,8 @@ public class SearchParameter extends CanonicalResource { this.code = TypeConvertor.castToCode(value); // CodeType return value; case 3016401: // base - value = new AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getBase().add((Enumeration) value); // Enumeration + value = TypeConvertor.castToCode(value); + this.getBase().add((CodeType) value); // Enumeration return value; case 3575610: // type value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); @@ -2919,8 +2919,8 @@ public class SearchParameter extends CanonicalResource { } else if (name.equals("code")) { this.code = TypeConvertor.castToCode(value); // CodeType } else if (name.equals("base")) { - value = new AllResourceTypesEnumFactory().fromType(TypeConvertor.castToCode(value)); - this.getBase().add((Enumeration) value); + value = TypeConvertor.castToCode(value); + this.getBase().add((CodeType) value); } else if (name.equals("type")) { value = new SearchParamTypeEnumFactory().fromType(TypeConvertor.castToCode(value)); this.type = (Enumeration) value; // Enumeration @@ -3162,8 +3162,8 @@ public class SearchParameter extends CanonicalResource { dst.purpose = purpose == null ? null : purpose.copy(); dst.code = code == null ? null : code.copy(); if (base != null) { - dst.base = new ArrayList>(); - for (Enumeration i : base) + dst.base = new ArrayList(); + for (CodeType i : base) dst.base.add(i.copy()); }; dst.type = type == null ? null : type.copy(); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java index 944444d6f..ba060dfe6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ProfileDrivenRenderer.java @@ -14,6 +14,7 @@ import org.apache.commons.lang3.NotImplementedException; import org.hl7.fhir.exceptions.DefinitionException; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.r5.conformance.ProfileUtilities; import org.hl7.fhir.r5.formats.FormatUtilities; import org.hl7.fhir.r5.model.Address; import org.hl7.fhir.r5.model.Annotation; @@ -648,7 +649,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { return code.equals("Element") || code.equals("BackboneElement"); } - private List getChildrenForPath(List elements, String path) throws DefinitionException { + private List getChildrenForPath(StructureDefinition profile, List elements, String path) throws DefinitionException { // do we need to do a name reference substitution? for (ElementDefinition e : elements) { if (e.getPath().equals(path) && e.hasContentReference()) { @@ -666,11 +667,19 @@ public class ProfileDrivenRenderer extends ResourceRenderer { } } + ElementDefinition t = null; List results = new ArrayList(); for (ElementDefinition e : elements) { + if (e.getPath().equals(path)) { + t = e; + } if (e.getPath().startsWith(path+".") && !e.getPath().substring(path.length()+1).contains(".")) results.add(e); } + if (results.isEmpty() && t != null && t.getType().size() == 1) { + StructureDefinition tsd = context.getWorker().fetchTypeDefinition(t.getTypeFirstRep().getWorkingCode()); + return getChildrenForPath(tsd, tsd.getSnapshot().getElement(), tsd.getType()); + } return results; } @@ -681,7 +690,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { x.para().b().tx("Generated Narrative: "+profile.present()+(showCodeDetails ? " with Details" : "")); } try { - generateByProfile(rcontext.getResourceResource(), profile, rcontext.getResourceResource(), profile.getSnapshot().getElement(), profile.getSnapshot().getElement().get(0), getChildrenForPath(profile.getSnapshot().getElement(), rcontext.getResourceResource().getResourceType().toString()), x, rcontext.getResourceResource().getResourceType().toString(), showCodeDetails); + generateByProfile(rcontext.getResourceResource(), profile, rcontext.getResourceResource(), profile.getSnapshot().getElement(), profile.getSnapshot().getElement().get(0), getChildrenForPath(profile, profile.getSnapshot().getElement(), rcontext.getResourceResource().getResourceType().toString()), x, rcontext.getResourceResource().getResourceType().toString(), showCodeDetails); } catch (Exception e) { e.printStackTrace(); x.para().b().style("color: maroon").tx("Exception generating Narrative: "+e.getMessage()); @@ -730,7 +739,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { if (isExtension(p)) { hasExtensions = true; } - List grandChildren = getChildrenForPath(allElements, path+"."+p.getName()); + List grandChildren = getChildrenForPath(profile, allElements, path+"."+p.getName()); filterGrandChildren(grandChildren, path+"."+p.getName(), p); if (p.getValues().size() > 0) { if (isPrimitive(child)) { @@ -792,7 +801,7 @@ public class ProfileDrivenRenderer extends ResourceRenderer { bq.para().b().addText(isExtension(p) ? p.getStructure().present() : p.getName()); for (BaseWrapper vv : ev.getValues()) { StructureDefinition ex = context.getWorker().fetchTypeDefinition("Extension"); - List children = getChildrenForPath(ex.getSnapshot().getElement(), "Extension"); + List children = getChildrenForPath(profile, ex.getSnapshot().getElement(), "Extension"); generateByProfile(res, ex, vv, allElements, child, children, bq, "Extension", showCodeDetails, indent+1); } } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java index 7a55dd8ef..8ccd2dd38 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java @@ -55,7 +55,7 @@ public class SearchParameterRenderer extends TerminologyRenderer { XhtmlNode tr = tbl.tr(); tr.td().tx(Utilities.pluralize("Resource", spd.getBase().size())); XhtmlNode td = tr.td(); - for (Enumeration t : spd.getBase()) { + for (CodeType t : spd.getBase()) { StructureDefinition sd = context.getWorker().fetchTypeDefinition(t.toString()); if (sd != null && sd.hasUserData("path")) { td.ah(sd.getUserString("path")).sep(", ").tx(t.getCode()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLEngine.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLEngine.java index 277b9321f..b5e8071cc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLEngine.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLEngine.java @@ -41,6 +41,7 @@ import org.hl7.fhir.r5.context.IWorkerContext; import org.hl7.fhir.r5.model.*; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.Bundle.BundleLinkComponent; +import org.hl7.fhir.r5.model.Bundle.LinkRelationTypes; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.graphql.Argument; import org.hl7.fhir.utilities.graphql.Argument.ArgumentListStatus; @@ -117,7 +118,7 @@ public class GraphQLEngine implements IGraphQLEngine { this.type = type; this.bnd = bnd; for (BundleLinkComponent bl : bnd.getLink()) - if (bl.getRelation().equals("self")) + if (bl.getRelation().equals(LinkRelationTypes.SELF)) map = parseURL(bl.getUrl()); } @@ -186,7 +187,7 @@ public class GraphQLEngine implements IGraphQLEngine { private Base extractLink(String _name) throws FHIRException { for (BundleLinkComponent bl : bnd.getLink()) { - if (bl.getRelation().equals(_name)) { + if (bl.getRelation().toCode().equals(_name)) { Map map = parseURL(bl.getUrl()); return new StringType(map.get("search-id")+':'+map.get("search-offset")); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java index f83a2f8be..36e8759ac 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java @@ -235,7 +235,7 @@ public class QuestionnaireBuilder { questionnaire.addItem(item); item.setLinkId("meta"); item.getCode().addAll(profile.getKeyword()); - questionnaire.setId(nextId("qs")); + questionnaire.setId(nextId("qs-"+profile.getType())); } if (response != null) { diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java index 42cb884eb..e373bd165 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/NarrativeGenerationTests.java @@ -173,7 +173,7 @@ public class NarrativeGenerationTests { @BeforeAll public static void setUp() { - context = TestingUtilities.getSharedWorkerContext(); + context = TestingUtilities.getSharedWorkerContext("5.0.0-ballot"); } @ParameterizedTest(name = "{index}: file {0}") diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/ParsingTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/ParsingTests.java index de0ad27d0..5bfcff748 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/ParsingTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/ParsingTests.java @@ -35,7 +35,8 @@ public class ParsingTests { public static Stream data() throws ParserConfigurationException, IOException, FHIRFormatError, SAXException { FilesystemPackageCacheManager pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION); - npm = pcm.loadPackage("hl7.fhir.r5.examples", "5.0.0"); +// npm = pcm.loadPackage("hl7.fhir.r5.examples", "5.0.0"); + npm = NpmPackage.fromPackage(TestingUtilities.loadTestResourceStream("r5", "hl7.fhir.r5.examples.tgz")); List objects = new ArrayList<>(); List names = npm.list("package"); for (String n : names) { diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 4360240b3..b6cbf4cb7 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -3322,7 +3322,12 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat private void checkSampledData(List errors, String path, Element focus, SampledData fixed, String fixedSource, boolean pattern) { checkFixedValue(errors, path + ".origin", focus.getNamedChild("origin"), fixed.getOrigin(), fixedSource, "origin", focus, pattern); - checkFixedValue(errors, path + ".period", focus.getNamedChild("period"), fixed.getPeriodElement(), fixedSource, "period", focus, pattern); + if (VersionUtilities.isR5VerOrLater(context.getVersion())) { + checkFixedValue(errors, path + ".interval", focus.getNamedChild("period"), fixed.getIntervalElement(), fixedSource, "interval", focus, pattern); + checkFixedValue(errors, path + ".intervalUnit", focus.getNamedChild("period"), fixed.getIntervalUnitElement(), fixedSource, "intervalUnit", focus, pattern); + } else { + checkFixedValue(errors, path + ".period", focus.getNamedChild("period"), fixed.getIntervalElement(), fixedSource, "period", focus, pattern); + } checkFixedValue(errors, path + ".factor", focus.getNamedChild("factor"), fixed.getFactorElement(), fixedSource, "factor", focus, pattern); checkFixedValue(errors, path + ".lowerLimit", focus.getNamedChild("lowerLimit"), fixed.getLowerLimitElement(), fixedSource, "lowerLimit", focus, pattern); checkFixedValue(errors, path + ".upperLimit", focus.getNamedChild("upperLimit"), fixed.getUpperLimitElement(), fixedSource, "upperLimit", focus, pattern); From 0051e16bceaaf84b91adc2c3ae030ba0c408f05d Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 06:02:36 +1000 Subject: [PATCH 074/156] upgrade test case dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 4e808a1a9..d33fcaaec 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.104 + v1.1.105 5.7.1 1.8.2 3.0.0-M5 From 4dde2474663dc0ebe120f3a7413899d06843a571 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 08:10:39 +1000 Subject: [PATCH 075/156] fix npe in narrative generation (r4b) --- .../java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java index f68e255b4..5530cbd9c 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java @@ -713,7 +713,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer { XhtmlNode ans = item(ul, "Answers"); if (!Utilities.noString(i.getAnswerValueSet()) && i.getAnswerValueSet().startsWith("#")) { ValueSet vs = (ValueSet) q.getContained(i.getAnswerValueSet().substring(1)); - if (vs == null) { + if (vs == null || !vs.hasUserData("path")) { ans.tx(i.getAnswerValueSet()); } else { ans.ah(vs.getUserString("path")).tx(vs.present()); From 44aeaa1a80ead846f031ad1f0e7cc940e1c3813a Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 08:10:51 +1000 Subject: [PATCH 076/156] R4b Narrative tests fix up --- .../r4b/test/NarrativeGenerationTests.java | 81 ++++++++++++++++--- 1 file changed, 69 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/NarrativeGenerationTests.java b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/NarrativeGenerationTests.java index 554bacd4b..58e0b7416 100644 --- a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/NarrativeGenerationTests.java +++ b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/NarrativeGenerationTests.java @@ -8,16 +8,21 @@ import java.util.stream.Stream; import javax.xml.parsers.ParserConfigurationException; +import org.apache.commons.lang3.NotImplementedException; import org.apache.commons.lang3.SystemUtils; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.r4b.conformance.ProfileUtilities; +import org.hl7.fhir.r4b.conformance.ProfileUtilities.ProfileKnowledgeProvider; import org.hl7.fhir.r4b.context.IWorkerContext; import org.hl7.fhir.r4b.elementmodel.Manager; import org.hl7.fhir.r4b.elementmodel.Manager.FhirFormat; import org.hl7.fhir.r4b.formats.JsonParser; import org.hl7.fhir.r4b.formats.XmlParser; import org.hl7.fhir.r4b.model.Base; +import org.hl7.fhir.r4b.model.ElementDefinition.ElementDefinitionBindingComponent; import org.hl7.fhir.r4b.model.Resource; +import org.hl7.fhir.r4b.model.StructureDefinition; import org.hl7.fhir.r4b.renderers.RendererFactory; import org.hl7.fhir.r4b.renderers.utils.ElementWrappers; @@ -28,6 +33,7 @@ import org.hl7.fhir.r4b.test.utils.TestingUtilities; import org.hl7.fhir.utilities.TerminologyServiceOptions; import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xhtml.XhtmlComposer; import org.hl7.fhir.utilities.xhtml.XhtmlNode; import org.hl7.fhir.utilities.xml.XMLUtil; @@ -42,6 +48,64 @@ import org.xml.sax.SAXException; public class NarrativeGenerationTests { + public class TestProfileKnowledgeProvider implements ProfileKnowledgeProvider { + + private IWorkerContext context; + + public TestProfileKnowledgeProvider(IWorkerContext context) { + this.context = context; + } + + @Override + public boolean isDatatype(String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public boolean isResource(String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public boolean hasLinkFor(String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public String getLinkFor(String corePath, String typeSimple) { + throw new NotImplementedException(); + } + + @Override + public BindingResolution resolveBinding(StructureDefinition def, ElementDefinitionBindingComponent binding, String path) throws FHIRException { + throw new NotImplementedException(); + } + + @Override + public BindingResolution resolveBinding(StructureDefinition def, String url, String path) throws FHIRException { + throw new NotImplementedException(); + } + + @Override + public String getLinkForProfile(StructureDefinition profile, String url) { + if ("http://hl7.org/fhir/StructureDefinition/Composition".equals(url)) { + return "http://hl7.org/fhir/composition.html|TestComposition"; + } + throw new NotImplementedException(); + } + + @Override + public boolean prependLinks() { + throw new NotImplementedException(); + } + + @Override + public String getLinkForUrl(String corePath, String s) { + throw new NotImplementedException(); + } + + } + public class TestTypeParser implements ITypeParser { @Override @@ -98,15 +162,7 @@ public class NarrativeGenerationTests { List objects = new ArrayList<>(); while (test != null && test.getNodeName().equals("test")) { TestDetails t = new TestDetails(test); - if (t.getId().equals("sdc")) { - if (SystemUtils.OS_NAME.contains(WINDOWS)) { - objects.add(Arguments.of(t.getId(), t)); - } else { - System.out.println("sdc test not being adding because the current OS will not pass the test..."); - } - } else { - objects.add(Arguments.of(t.getId(), t)); - } + objects.add(Arguments.of(t.getId(), t)); test = XMLUtil.getNextSibling(test); } return objects.stream(); @@ -121,7 +177,7 @@ public class NarrativeGenerationTests { @MethodSource("data") public void test(String id, TestDetails test) throws Exception { RenderingContext rc = new RenderingContext(context, null, null, "http://hl7.org/fhir", "", null, ResourceRendererMode.END_USER); - rc.setDestDir(""); + rc.setDestDir(Utilities.path("[tmp]", "narrative")); rc.setHeader(test.isHeader()); rc.setDefinitionsTarget("test.html"); rc.setTerminologyServiceOptions(TerminologyServiceOptions.defaults()); @@ -135,6 +191,7 @@ public class NarrativeGenerationTests { rc.setDateFormatString("yyyy-MM-dd"); rc.setMode(test.technical ? ResourceRendererMode.TECHNICAL : ResourceRendererMode.END_USER); + rc.setProfileUtilities(new ProfileUtilities(rc.getContext(), null, new TestProfileKnowledgeProvider(rc.getContext()))); Resource source; @@ -145,7 +202,7 @@ public class NarrativeGenerationTests { } XhtmlNode x = RendererFactory.factory(source, rc).build(source); - String target = TextFile.streamToString(TestingUtilities.loadTestResourceStream("r5", "narrative", test.getId() + ".html")); + String target = TextFile.streamToString(TestingUtilities.loadTestResourceStream("r4b", "narrative", test.getId() + ".html")); String output = HEADER+new XhtmlComposer(true, true).compose(x)+FOOTER; String tfn = TestingUtilities.tempFile("narrative", test.getId() + ".target.html"); String ofn = TestingUtilities.tempFile("narrative", test.getId() + ".output.html"); @@ -155,7 +212,7 @@ public class NarrativeGenerationTests { Assertions.assertTrue(msg == null, "Output does not match expected: "+msg); if (test.isMeta()) { - org.hl7.fhir.r4b.elementmodel.Element e = Manager.parseSingle(context, TestingUtilities.loadTestResourceStream("r5", "narrative", test.getId() + ".xml"), FhirFormat.XML); + org.hl7.fhir.r4b.elementmodel.Element e = Manager.parseSingle(context, TestingUtilities.loadTestResourceStream("r4b", "narrative", test.getId() + ".xml"), FhirFormat.XML); x = RendererFactory.factory(source, rc).render(new ElementWrappers.ResourceWrapperMetaElement(rc, e)); target = TextFile.streamToString(TestingUtilities.loadTestResourceStream("r4b", "narrative", test.getId() + "-meta.html")); From c3ab401f56e71f07e541313de3910a01fb994208 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 08:11:09 +1000 Subject: [PATCH 077/156] Fix bug with validator hanging on some XML instances --- .../org/hl7/fhir/r5/elementmodel/XmlParser.java | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java index bd1642270..44a41fdb6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java @@ -307,15 +307,16 @@ public class XmlParser extends ParserBase { Node n = node.getFirstChild(); while (n != null) { if (n.getNodeType() == Node.TEXT_NODE && !Utilities.noString(n.getTextContent().trim())) { - while (n.getNextSibling() != null && n.getNodeType() != Node.ELEMENT_NODE) { - n = n.getNextSibling(); + Node nt = n; + while (nt.getNextSibling() != null && nt.getNodeType() != Node.ELEMENT_NODE) { + nt = nt.getNextSibling(); } - while (n.getPreviousSibling() != null && n.getNodeType() != Node.ELEMENT_NODE) { - n = n.getPreviousSibling(); + while (nt.getPreviousSibling() != null && nt.getNodeType() != Node.ELEMENT_NODE) { + nt = nt.getPreviousSibling(); } - line = line(n); - col = col(n); - logError(line, col, path, IssueType.STRUCTURE, context.formatMessage(I18nConstants.TEXT_SHOULD_NOT_BE_PRESENT, text), IssueSeverity.ERROR); + line = line(nt); + col = col(nt); + logError(line, col, path, IssueType.STRUCTURE, context.formatMessage(I18nConstants.TEXT_SHOULD_NOT_BE_PRESENT, Utilities.makeSingleLine(text)), IssueSeverity.ERROR); } n = n.getNextSibling(); } From fbca3fda51b3bac509405b88e4e44e19ff1ecae5 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 08:11:44 +1000 Subject: [PATCH 078/156] Fix bug where header is always rendered with Operation Definition --- .../r5/renderers/OperationDefinitionRenderer.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java index 9d693aae1..4b4aa889a 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/OperationDefinitionRenderer.java @@ -35,11 +35,12 @@ public class OperationDefinitionRenderer extends TerminologyRenderer { } public boolean render(XhtmlNode x, OperationDefinition opd) throws IOException, FHIRException, EOperationOutcome { - x.h2().addText(opd.getName()); - x.para().addText(Utilities.capitalize(opd.getKind().toString())+": "+opd.getName()); - x.para().tx("The official URL for this operation definition is: "); - x.pre().tx(opd.getUrl()); - addMarkdown(x, opd.getDescription()); + if (context.isHeader()) { + x.h2().addText(opd.getName()); + x.para().addText(Utilities.capitalize(opd.getKind().toString())+": "+opd.getName()); + x.para().tx("The official URL for this operation definition is: "); + x.pre().tx(opd.getUrl()); + addMarkdown(x, opd.getDescription());} if (opd.getSystem()) x.para().tx("URL: [base]/$"+opd.getCode()); From 6cf6d139c43230a47eb8522bb072f2580ec6524d Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 08:12:20 +1000 Subject: [PATCH 079/156] fix up for r5 tests --- .../src/main/java/org/hl7/fhir/utilities/Utilities.java | 9 +++++++++ .../org.hl7.fhir.validation/4.0.1/all-systems.cache | 8 ++++++++ pom.xml | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java index 3eb5189b0..343490142 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java @@ -1745,4 +1745,13 @@ public class Utilities { return Utilities.padLeft(Long.toString(i), ' ', len); } + public static Object makeSingleLine(String text) { + text = text.replace("\r", " "); + text = text.replace("\n", " "); + while (text.contains(" ")) { + text = text.replace(" ", " "); + } + return text; + } + } \ No newline at end of file diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache index 795bf7576..f8c814514 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/all-systems.cache @@ -1551,3 +1551,11 @@ v: { "system" : "urn:ietf:bcp:47" } ------------------------------------------------------------------------------------- +{"code" : { + "code" : "[%payloadFormat%]" +}, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "The code \"[%payloadFormat%]\" is not valid in the system urn:ietf:bcp:13; The code provided (urn:ietf:bcp:13#[%payloadFormat%]) is not valid in the value set 'Mime Types' (from http://tx.fhir.org/r4)" +} +------------------------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index d5588b6ad..4cce2c35d 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - v1.1.105 + 1.1.106-SNAPSHOT 5.7.1 1.8.2 3.0.0-M5 From f30f3e9ca9bdd161f626e76cb97d18d02f8a7417 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 11:12:57 +1000 Subject: [PATCH 080/156] fix failing rendering test --- org.hl7.fhir.r4b/.classpath | 83 +++++++++++-------- org.hl7.fhir.r4b/.project | 11 +++ .../r4b/renderers/ConceptMapRenderer.java | 33 ++++++-- 3 files changed, 85 insertions(+), 42 deletions(-) diff --git a/org.hl7.fhir.r4b/.classpath b/org.hl7.fhir.r4b/.classpath index 2e0656c10..15f02af33 100644 --- a/org.hl7.fhir.r4b/.classpath +++ b/org.hl7.fhir.r4b/.classpath @@ -1,33 +1,50 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.hl7.fhir.r4b/.project b/org.hl7.fhir.r4b/.project index e773e3aec..50e7ef90f 100644 --- a/org.hl7.fhir.r4b/.project +++ b/org.hl7.fhir.r4b/.project @@ -20,4 +20,15 @@ org.eclipse.jdt.core.javanature org.eclipse.m2e.core.maven2Nature + + + 1662504185037 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ConceptMapRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ConceptMapRenderer.java index 7420cc8df..e49de6193 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ConceptMapRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/ConceptMapRenderer.java @@ -59,7 +59,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { p.addText(Utilities.capitalize(cm.getStatus().toString())+" (not intended for production usage). "); else p.addText(Utilities.capitalize(cm.getStatus().toString())+". "); - p.tx("Published on "+(cm.hasDate() ? cm.getDateElement().toHumanDisplay() : "?ngen-10?")+" by "+cm.getPublisher()); + p.tx("Published on "+(cm.hasDate() ? display(cm.getDateElement()) : "?ngen-10?")+" by "+cm.getPublisher()); if (!cm.getContact().isEmpty()) { p.tx(" ("); boolean firsti = true; @@ -129,14 +129,28 @@ public class ConceptMapRenderer extends TerminologyRenderer { XhtmlNode tr = tbl.tr(); tr.td().b().tx("Source Code"); tr.td().b().tx("Relationship"); - tr.td().b().tx("Destination Code"); + tr.td().b().tx("Target Code"); if (comment) tr.td().b().tx("Comment"); + tr = tbl.tr(); + XhtmlNode td = tr.td().colspan(comment ? "4" : "3"); + td.tx("Mapping from "); + if (grp.hasSource()) { + renderCanonical(cm, td, grp.getSource()); + } else { + td.code("unspecified code system"); + } + td.tx(" to "); + if (grp.hasTarget()) { + renderCanonical(cm, td, grp.getTarget()); + } else { + td.code("unspecified code system"); + } for (SourceElementComponent ccl : grp.getElement()) { tr = tbl.tr(); - XhtmlNode td = tr.td(); + td = tr.td(); td.addText(ccl.getCode()); - display = getDisplayForConcept(systemFromCanonical(grp.getSource()), versionFromCanonical(grp.getSource()), ccl.getCode()); + display = ccl.hasDisplay() ? ccl.getDisplay() : getDisplayForConcept(systemFromCanonical(grp.getSource()), versionFromCanonical(grp.getSource()), ccl.getCode()); if (display != null && !isSameCodeAndDisplay(ccl.getCode(), display)) td.tx(" ("+display+")"); TargetElementComponent ccm = ccl.getTarget().get(0); @@ -148,7 +162,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { } td = tr.td(); td.addText(ccm.getCode()); - display = getDisplayForConcept(systemFromCanonical(grp.getTarget()), versionFromCanonical(grp.getTarget()), ccm.getCode()); + display = ccm.hasDisplay() ? ccm.getDisplay() : getDisplayForConcept(systemFromCanonical(grp.getTarget()), versionFromCanonical(grp.getTarget()), ccm.getCode()); if (display != null && !isSameCodeAndDisplay(ccm.getCode(), display)) td.tx(" ("+display+")"); if (comment) @@ -174,7 +188,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { if (hasRelationships) { tr.td().b().tx("Relationship"); } - tr.td().colspan(Integer.toString(1+targets.size())).b().tx("Destination Concept Details"); + tr.td().colspan(Integer.toString(1+targets.size())).b().tx("Target Concept Details"); if (comment) { tr.td().b().tx("Comment"); } @@ -403,7 +417,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { for (OtherElementComponent c : list) { if (s.equals(c.getProperty())) if (withSystem) - return c.getSystem()+" / "+c.getValue(); + return /*c.getSystem()+" / "+*/c.getValue(); else return c.getValue(); } @@ -412,8 +426,9 @@ public class ConceptMapRenderer extends TerminologyRenderer { private String getDisplay(List list, String s) { for (OtherElementComponent c : list) { - if (s.equals(c.getProperty())) - return getDisplayForConcept(systemFromCanonical(c.getSystem()), versionFromCanonical(c.getSystem()), c.getValue()); + if (s.equals(c.getProperty())) { + // return getDisplayForConcept(systemFromCanonical(c.getSystem()), versionFromCanonical(c.getSystem()), c.getValue()); + } } return null; } From fc2e2fe9bcb04e04f8e64ddbb07266080590289b Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 11:13:19 +1000 Subject: [PATCH 081/156] refix hung parser --- .../main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java index 44a41fdb6..dde9e9c04 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/XmlParser.java @@ -307,10 +307,10 @@ public class XmlParser extends ParserBase { Node n = node.getFirstChild(); while (n != null) { if (n.getNodeType() == Node.TEXT_NODE && !Utilities.noString(n.getTextContent().trim())) { - Node nt = n; - while (nt.getNextSibling() != null && nt.getNodeType() != Node.ELEMENT_NODE) { - nt = nt.getNextSibling(); + while (n.getNextSibling() != null && n.getNodeType() != Node.ELEMENT_NODE) { + n = n.getNextSibling(); } + Node nt = n; while (nt.getPreviousSibling() != null && nt.getNodeType() != Node.ELEMENT_NODE) { nt = nt.getPreviousSibling(); } From 8dad875cac56535fe9e84018a12293948428f0e4 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 11:38:27 +1000 Subject: [PATCH 082/156] qb url --- .../java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java | 7 +++++-- .../org/hl7/fhir/r5/test/QuestionnaireBuilderTester.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java index 36e8759ac..15c153c45 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/QuestionnaireBuilder.java @@ -123,11 +123,13 @@ public class QuestionnaireBuilder { // we don't do the intensive parts of the work (save time) private Questionnaire prebuiltQuestionnaire; private ProfileUtilities profileUtilities; + private String rootPath; - public QuestionnaireBuilder(IWorkerContext context) { + public QuestionnaireBuilder(IWorkerContext context, String rootPath) { super(); this.context = context; profileUtilities = new ProfileUtilities(context, null, null); + this.rootPath = rootPath; } public Resource getReference() { @@ -235,7 +237,8 @@ public class QuestionnaireBuilder { questionnaire.addItem(item); item.setLinkId("meta"); item.getCode().addAll(profile.getKeyword()); - questionnaire.setId(nextId("qs-"+profile.getType())); + questionnaire.setId(nextId("qgen-"+profile.getId())); + questionnaire.setUrl(Utilities.pathURL(rootPath, "Questionnaire", questionnaire.getId())); } if (response != null) { diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/QuestionnaireBuilderTester.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/QuestionnaireBuilderTester.java index f2ddaf341..989c3240c 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/QuestionnaireBuilderTester.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/QuestionnaireBuilderTester.java @@ -15,7 +15,7 @@ public class QuestionnaireBuilderTester { // private static final String TEST_DEST = Utilities.path("[tmp]", "questionnaires\\"); public static void main(String[] args) { - QuestionnaireBuilder b = new QuestionnaireBuilder(null); + QuestionnaireBuilder b = new QuestionnaireBuilder(null, "http://hl7.org/fhir/test"); for (String f : new File(TEST_PROFILE_DIR).list()) { if (f.endsWith(".profile.xml") && !f.contains("type-")) { System.out.println("process "+f); From dad979641e4fb93a22ff192b09da86251ce4769b Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 17:31:07 +1000 Subject: [PATCH 083/156] fix for IG issue for now --- .../ImplementationGuide40_50.java | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index 04c31ecad..846882dfd 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -2340,16 +2340,16 @@ public class ImplementationGuide40_50 { if (src.hasPage()) tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) { - if (Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) +// if (Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); - else { - org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); - org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.StringType(t.getCode().getCode())); - org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue())); - e.addExtension(eCode); - e.addExtension(eValue); - tgt.addExtension(e); - } +// else { +// org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); +// org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.StringType(t.getCode().getCode())); +// org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue())); +// e.addExtension(eCode); +// e.addExtension(eValue); +// tgt.addExtension(e); +// } } for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent t : src.getTemplate()) tgt.addTemplate(convertImplementationGuideDefinitionTemplateComponent(t)); From fffe96c765683c319e69e096b6185562b795dcbf Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 17:31:27 +1000 Subject: [PATCH 084/156] fix more issues with type characteristics --- .../instance/type/StructureDefinitionValidator.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index a37bd532d..30209a35f 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -228,7 +228,6 @@ public class StructureDefinitionValidator extends BaseValidator { } } - private boolean addCharacteristics(Set set, String tc) { switch (tc) { case "boolean" : return addCharacteristicsForType(set); @@ -251,6 +250,7 @@ public class StructureDefinitionValidator extends BaseValidator { case "unsignedInt" :return addCharacteristicsForType(set, "has-range", "has-length"); case "url" :return addCharacteristicsForType(set, "has-length", "can-bind"); case "uuid" :return addCharacteristicsForType(set, "has-length", "can-bind"); + case "xhtml" :return addCharacteristicsForType(set); case "Address" :return addCharacteristicsForType(set, "do-translations"); case "Age" : return addCharacteristicsForType(set, "has-range", "is-continuous"); case "Annotation" :return addCharacteristicsForType(set); @@ -290,7 +290,10 @@ public class StructureDefinitionValidator extends BaseValidator { case "Element" :return addCharacteristicsForType(set); case "BackboneElement" :return addCharacteristicsForType(set); default: - throw new Error("Unhandled data type in addCharacterstics: "+tc); + if (context.getResourceNames().contains(tc)) + return addCharacteristicsForType(set); + else + throw new Error("Unhandled data type in addCharacterstics: "+tc); } } From 2b6c7aae39bcd8c73853cc1756c498372e76483c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 17:31:42 +1000 Subject: [PATCH 085/156] more R5 fixes for IG publisher --- .../hl7/fhir/r4/formats/FormatUtilities.java | 17 +++ .../hl7/fhir/r5/formats/FormatUtilities.java | 26 ++++ .../org/hl7/fhir/r5/model/Enumerations.java | 114 ++++++++++++++++++ 3 files changed, 157 insertions(+) diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/formats/FormatUtilities.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/formats/FormatUtilities.java index 3b06350d1..68e827310 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/formats/FormatUtilities.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/formats/FormatUtilities.java @@ -179,4 +179,21 @@ public abstract class FormatUtilities { } + public static Resource loadFileTight(String path) throws FileNotFoundException, IOException, FHIRException { + byte[] src = TextFile.fileToBytes(path); + FhirFormat fmt = determineFormat(src); + ParserBase parser = makeParser(fmt); + parser.setAllowUnknownContent(false); + return parser.parse(src); + } + + public static Resource loadFileTight(InputStream source) throws FileNotFoundException, IOException, FHIRException { + byte[] src = TextFile.streamToBytes(source); + FhirFormat fmt = determineFormat(src); + ParserBase parser = makeParser(fmt); + parser.setAllowUnknownContent(false); + return parser.parse(src); + } + + } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/FormatUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/FormatUtilities.java index 5d05de6af..91dcf9622 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/FormatUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/formats/FormatUtilities.java @@ -2,6 +2,7 @@ package org.hl7.fhir.r5.formats; import java.io.FileNotFoundException; import java.io.IOException; +import java.io.InputStream; /* Copyright (c) 2011+, HL7, Inc. @@ -180,4 +181,29 @@ public abstract class FormatUtilities { } + public static Resource loadFile(InputStream source) throws FileNotFoundException, IOException, FHIRException { + byte[] src = TextFile.streamToBytes(source); + FhirFormat fmt = determineFormat(src); + ParserBase parser = makeParser(fmt); + return parser.parse(src); + } + + + public static Resource loadFileTight(String path) throws FileNotFoundException, IOException, FHIRException { + byte[] src = TextFile.fileToBytes(path); + FhirFormat fmt = determineFormat(src); + ParserBase parser = makeParser(fmt); + parser.setAllowUnknownContent(false); + return parser.parse(src); + } + + public static Resource loadFileTight(InputStream source) throws FileNotFoundException, IOException, FHIRException { + byte[] src = TextFile.streamToBytes(source); + FhirFormat fmt = determineFormat(src); + ParserBase parser = makeParser(fmt); + parser.setAllowUnknownContent(false); + return parser.parse(src); + } + + } \ No newline at end of file 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 588262d8a..81e7deaa3 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 @@ -10144,6 +10144,8 @@ The primary difference between a medicationusage and a medicationadministration return VISIONPRESCRIPTION; if ("Parameters".equals(codeString)) return PARAMETERS; + if ("Any".equals(codeString)) + return RESOURCE; throw new FHIRException("Unknown FHIRTypes code '"+codeString+"'"); } public String toCode() { @@ -12805,6 +12807,118 @@ The primary difference between a medicationusage and a medicationadministration return _5_0_0BALLOT; throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } + 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".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".equals(codeString)) + return true; + if ("0.4.0".equals(codeString)) + return true; + if ("0.5".equals(codeString)) + return true; + if ("0.5.0".equals(codeString)) + return true; + if ("1.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".equals(codeString)) + return true; + if ("1.1.0".equals(codeString)) + return true; + if ("1.4".equals(codeString)) + return true; + if ("1.4.0".equals(codeString)) + return true; + if ("1.6".equals(codeString)) + return true; + if ("1.6.0".equals(codeString)) + return true; + if ("1.8".equals(codeString)) + return true; + if ("1.8.0".equals(codeString)) + return true; + if ("3.0".equals(codeString)) + return true; + if ("3.0.0".equals(codeString)) + return true; + if ("3.0.1".equals(codeString)) + return true; + if ("3.0.2".equals(codeString)) + return true; + if ("3.3".equals(codeString)) + return true; + if ("3.3.0".equals(codeString)) + return true; + if ("3.5".equals(codeString)) + return true; + if ("3.5.0".equals(codeString)) + return true; + if ("4.0".equals(codeString)) + return true; + if ("4.0.0".equals(codeString)) + return true; + if ("4.0.1".equals(codeString)) + return true; + if ("4.1".equals(codeString)) + return true; + if ("4.1.0".equals(codeString)) + return true; + if ("4.2".equals(codeString)) + return true; + if ("4.2.0".equals(codeString)) + return true; + if ("4.3".equals(codeString)) + return true; + if ("4.3.0".equals(codeString)) + return true; + if ("4.4".equals(codeString)) + return true; + if ("4.4.0".equals(codeString)) + return true; + if ("4.5".equals(codeString)) + return true; + if ("4.5.0".equals(codeString)) + return true; + if ("4.6".equals(codeString)) + return true; + if ("4.6.0".equals(codeString)) + return true; + if ("5.0".equals(codeString)) + return true; + if ("5.0.0".equals(codeString)) + return true; + if ("5.0.0-cibuild".equals(codeString)) + return true; + if ("5.0.0-snapshot1".equals(codeString)) + return true; + if ("5.0.0-snapshot2".equals(codeString)) + return true; + if ("5.0.0-ballot".equals(codeString)) + return true; + return false; + } + public String toCode() { switch (this) { case _0_01: return "0.01"; From 10989cf6e9ced978883bc98db72855c984439ebe Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 21:11:09 +1000 Subject: [PATCH 086/156] r5 test updates --- .../fhir/r5/conformance/ProfileUtilities.java | 2 +- .../fhir/r5/test/utils/TestingUtilities.java | 2 +- .../txCache/org.hl7.fhir.r5/iso4217.cache | 5 + .../txCache/org.hl7.fhir.r5/mimetypes.cache | 5 + .../txCache/org.hl7.fhir.r5/ucum.cache | 102 ++++++++++++++++++ 5 files changed, 114 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 18a768c8f..18b692121 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -1353,7 +1353,7 @@ public class ProfileUtilities extends TranslatingUtilities { } else { StructureDefinition dt = outcome.getType().size() == 1 ? getProfileForDataType(outcome.getType().get(0), webUrl) : getProfileForDataType("Element"); if (dt == null) - throw new DefinitionException(context.formatMessage(I18nConstants._HAS_CHILDREN__FOR_TYPE__IN_PROFILE__BUT_CANT_FIND_TYPE, diffMatches.get(0).getPath(), differential.getElement().get(diffCursor).getPath(), typeCode(outcome.getType()), profileName)); + throw new DefinitionException(context.formatMessage(I18nConstants._HAS_CHILDREN__FOR_TYPE__IN_PROFILE__BUT_CANT_FIND_TYPE, diffMatches.isEmpty() ? "??" : diffMatches.get(0).getPath(), differential.getElement().get(diffCursor).getPath(), typeCode(outcome.getType()), profileName)); contextName = dt.getUrl(); processPaths(indent+" ", result, dt.getSnapshot(), differential, 1 /* starting again on the data type, but skip the root */, start, dt.getSnapshot().getElement().size()-1, diffCursor - 1, url, getWebUrl(dt, webUrl, indent), profileName+pathTail(diffMatches, 0), diffMatches.get(0).getPath(), outcome.getPath(), trimDifferential, contextName, resultPathBase, false, null, null, new ArrayList(), srcSD); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java index d67afb474..1dc560741 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java @@ -75,7 +75,7 @@ public class TestingUtilities extends BaseTestingUtilities { static public Map fcontexts; - final static public String DEFAULT_CONTEXT_VERSION = "4.0.1"; + final static public String DEFAULT_CONTEXT_VERSION = "5.0.0"; /** Get an existing instantiation of a WorkerContext if available * diff --git a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache index 7fc3768bc..e8c660bfa 100644 --- a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache +++ b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache @@ -17,3 +17,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/currencies", "version": "4.6.0"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache index a55ea4fc6..98bb594d4 100644 --- a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache +++ b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache @@ -17,3 +17,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "4.6.0"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache index f6e1ac4e5..450ee33a8 100644 --- a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache +++ b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache @@ -101,3 +101,105 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "valueSet" :{ + "resourceType" : "ValueSet", + "compose" : { + "inactive" : true, + "include" : [{ + "system" : "http://unitsofmeasure.org", + "concept" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "second" + }], + "code" : "s", + "display" : "second", + "designation" : [{ + "language" : "zh", + "value" : "秒" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "minute" + }], + "code" : "min", + "display" : "minute", + "designation" : [{ + "language" : "zh", + "value" : "分钟" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "hour" + }], + "code" : "h", + "display" : "hour", + "designation" : [{ + "language" : "zh", + "value" : "小时" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "day" + }], + "code" : "d", + "display" : "day", + "designation" : [{ + "language" : "zh", + "value" : "天" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "week" + }], + "code" : "wk", + "display" : "week", + "designation" : [{ + "language" : "zh", + "value" : "星期" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "month - Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence." + }], + "code" : "mo", + "display" : "month", + "designation" : [{ + "language" : "zh", + "value" : "月" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "year" + }], + "code" : "a", + "display" : "year", + "designation" : [{ + "language" : "zh", + "value" : "年" + }] + }] + }] + } +}}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "4.6.0"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- From d14224e9876de23e6cfb83e85b03265c0b89591c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 21:25:56 +1000 Subject: [PATCH 087/156] allow bindings on codeableReference --- .../main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 18b692121..0cf51d058 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -3342,7 +3342,7 @@ public class ProfileUtilities extends TranslatingUtilities { private boolean hasBindableType(ElementDefinition ed) { for (TypeRefComponent tr : ed.getType()) { - if (Utilities.existsInList(tr.getWorkingCode(), "Coding", "CodeableConcept", "Quantity", "uri", "string", "code")) { + if (Utilities.existsInList(tr.getWorkingCode(), "Coding", "CodeableConcept", "Quantity", "uri", "string", "code", "CodeableReference")) { return true; } StructureDefinition sd = context.fetchTypeDefinition(tr.getCode()); From 7dd2f3edf67f0dea6c8aec508e6592271b3dacc0 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 21:56:24 +1000 Subject: [PATCH 088/156] r4b snapshot tests --- .../r4b/test/SnapShotGenerationTests.java | 22 +-- .../txCache/org.hl7.fhir.r5/iso4217.cache | 5 + .../txCache/org.hl7.fhir.r5/mimetypes.cache | 5 + .../txCache/org.hl7.fhir.r5/ucum.cache | 102 +++++++++++ .../5.0.0/v3-ObservationInterpretation.cache | 165 ++++++++++++++++++ 5 files changed, 288 insertions(+), 11 deletions(-) diff --git a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/SnapShotGenerationTests.java b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/SnapShotGenerationTests.java index 64efbc82d..f6e1add70 100644 --- a/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/SnapShotGenerationTests.java +++ b/org.hl7.fhir.r4b/src/test/java/org/hl7/fhir/r4b/test/SnapShotGenerationTests.java @@ -219,20 +219,20 @@ public class SnapShotGenerationTests { } public void load() throws FHIRFormatError, FileNotFoundException, IOException { - if (TestingUtilities.findTestResource("r5", "snapshot-generation", id + "-input.json")) - source = (StructureDefinition) new JsonParser().parse(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", id + "-input.json")); + if (TestingUtilities.findTestResource("r4b", "snapshot-generation", id + "-input.json")) + source = (StructureDefinition) new JsonParser().parse(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", id + "-input.json")); else - source = (StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", id + "-input.xml")); + source = (StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", id + "-input.xml")); if (!fail) - expected = (StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", id + "-expected.xml")); + expected = (StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", id + "-expected.xml")); if (!Utilities.noString(include)) - included.add((StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", include + ".xml"))); + included.add((StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", include + ".xml"))); if (!Utilities.noString(register)) { for (String s : register.split("\\,")) { - if (TestingUtilities.findTestResource("r5", "snapshot-generation", s + ".xml")) { - included.add((StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", s + ".xml"))); + if (TestingUtilities.findTestResource("r4b", "snapshot-generation", s + ".xml")) { + included.add((StructureDefinition) new XmlParser().parse(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", s + ".xml"))); } else { - included.add((StructureDefinition) new JsonParser().parse(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", s + ".json"))); + included.add((StructureDefinition) new JsonParser().parse(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", s + ".json"))); } } } @@ -449,7 +449,7 @@ public class SnapShotGenerationTests { public static Stream data() throws ParserConfigurationException, IOException, FHIRFormatError, SAXException { SnapShotGenerationTestsContext context = new SnapShotGenerationTestsContext(); - Document tests = XMLUtil.parseToDom(TestingUtilities.loadTestResource("r5", "snapshot-generation", "manifest.xml")); + Document tests = XMLUtil.parseToDom(TestingUtilities.loadTestResource("r4b", "snapshot-generation", "manifest.xml")); Element test = XMLUtil.getFirstChild(tests.getDocumentElement()); List objects = new ArrayList<>(); while (test != null && test.getNodeName().equals("test")) { @@ -512,7 +512,7 @@ public class SnapShotGenerationTests { pu.sortDifferential(base, test.getOutput(), test.getOutput().getUrl(), errors, false); if (!errors.isEmpty()) throw new FHIRException(errors.get(0)); - IOUtils.copy(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", test.getId() + "-expected.xml"), new FileOutputStream(TestingUtilities.tempFile("snapshot", test.getId() + "-expected.xml"))); + IOUtils.copy(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", test.getId() + "-expected.xml"), new FileOutputStream(TestingUtilities.tempFile("snapshot", test.getId() + "-expected.xml"))); new XmlParser().setOutputStyle(OutputStyle.PRETTY).compose(new FileOutputStream(TestingUtilities.tempFile("snapshot", test.getId() + "-actual.xml")), test.getOutput()); Assertions.assertTrue(test.expected.equalsDeep(test.output), "Output does not match expected"); } @@ -594,7 +594,7 @@ public class SnapShotGenerationTests { File dst = new File(TestingUtilities.tempFile("snapshot", test.getId() + "-expected.xml")); if (dst.exists()) dst.delete(); - IOUtils.copy(TestingUtilities.loadTestResourceStream("r5", "snapshot-generation", test.getId() + "-expected.xml"), new FileOutputStream(dst)); + IOUtils.copy(TestingUtilities.loadTestResourceStream("r4b", "snapshot-generation", test.getId() + "-expected.xml"), new FileOutputStream(dst)); new XmlParser().setOutputStyle(OutputStyle.PRETTY).compose(new FileOutputStream(TestingUtilities.tempFile("snapshot", test.getId() + "-actual.xml")), output); StructureDefinition t1 = test.expected.copy(); t1.setText(null); diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache index 7fc3768bc..e8c660bfa 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache @@ -17,3 +17,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/currencies", "version": "4.6.0"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache index a55ea4fc6..98bb594d4 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache @@ -17,3 +17,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "4.6.0"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache index f6e1ac4e5..450ee33a8 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache @@ -101,3 +101,105 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "valueSet" :{ + "resourceType" : "ValueSet", + "compose" : { + "inactive" : true, + "include" : [{ + "system" : "http://unitsofmeasure.org", + "concept" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "second" + }], + "code" : "s", + "display" : "second", + "designation" : [{ + "language" : "zh", + "value" : "秒" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "minute" + }], + "code" : "min", + "display" : "minute", + "designation" : [{ + "language" : "zh", + "value" : "分钟" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "hour" + }], + "code" : "h", + "display" : "hour", + "designation" : [{ + "language" : "zh", + "value" : "小时" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "day" + }], + "code" : "d", + "display" : "day", + "designation" : [{ + "language" : "zh", + "value" : "天" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "week" + }], + "code" : "wk", + "display" : "week", + "designation" : [{ + "language" : "zh", + "value" : "星期" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "month - Normal practice is to use the 'mo' code as a calendar month when calculating the next occurrence." + }], + "code" : "mo", + "display" : "month", + "designation" : [{ + "language" : "zh", + "value" : "月" + }] + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition", + "valueString" : "year" + }], + "code" : "a", + "display" : "year", + "designation" : [{ + "language" : "zh", + "value" : "年" + }] + }] + }] + } +}}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "4.6.0"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache index e00b0d319..427921b69 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache @@ -103,3 +103,168 @@ v: { "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "valueSet" :{ + "resourceType" : "ValueSet", + "compose" : { + "inactive" : true, + "include" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "concept" : [{ + "code" : "A" + }, + { + "code" : "AA" + }, + { + "code" : "L" + }, + { + "code" : "H" + }] + }] + } +}}#### +e: { + "valueSet" : { + "resourceType" : "ValueSet", + "language" : "en", + "status" : "active", + "expansion" : { + "identifier" : "urn:uuid:b52e8b2a-2ec9-4912-b3cd-8e554ba1b242", + "timestamp" : "2022-09-07T11:46:46.676Z", + "parameter" : [{ + "name" : "limitedExpansion", + "valueBoolean" : true + }, + { + "name" : "excludeNested", + "valueBoolean" : true + }, + { + "name" : "version", + "valueUri" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation|2018-08-12" + }], + "contains" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result or observation value is outside the reference range or expected norm (as defined for the respective test procedure).\r\n\n [Note: Typically applies to non-numeric results.]" + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "A", + "display" : "Abnormal" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result or observation value is outside a reference range or expected norm at a level at which immediate action should be considered for patient safety (as defined for the respective test procedure).\r\n\n [Note: Typically applies to non-numeric results. Analogous to critical/panic limits for numeric results.]" + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "AA", + "display" : "Critical abnormal" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result for a quantitative observation is below the lower limit of the reference range (as defined for the respective test procedure).\r\n\n Synonym: Below low normal" + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "L", + "display" : "Low" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result for a quantitative observation is above the upper limit of the reference range (as defined for the respective test procedure).\r\n\n Synonym: Above high normal" + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "H", + "display" : "High" + }] + } +}, + "error" : "" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "valueSet" :{ + "resourceType" : "ValueSet", + "compose" : { + "inactive" : true, + "include" : [{ + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "concept" : [{ + "code" : "LL" + }, + { + "code" : "HH" + }, + { + "code" : "L", + "display" : "Extra Low" + }, + { + "code" : "H" + }] + }] + } +}}#### +e: { + "valueSet" : { + "resourceType" : "ValueSet", + "language" : "en", + "status" : "active", + "expansion" : { + "identifier" : "urn:uuid:6cabd13c-4765-46d1-9ebb-43e87fc0a036", + "timestamp" : "2022-09-07T11:46:47.286Z", + "parameter" : [{ + "name" : "limitedExpansion", + "valueBoolean" : true + }, + { + "name" : "excludeNested", + "valueBoolean" : true + }, + { + "name" : "version", + "valueUri" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation|2018-08-12" + }], + "contains" : [{ + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result for a quantitative observation is below a reference level at which immediate action should be considered for patient safety (as defined for the respective test procedure).\r\n\n Synonym: Below lower panic limits." + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "LL", + "display" : "Critical low" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result for a quantitative observation is above a reference level at which immediate action should be considered for patient safety (as defined for the respective test procedure).\r\n\n Synonym: Above upper panic limits." + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "HH", + "display" : "Critical high" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result for a quantitative observation is below the lower limit of the reference range (as defined for the respective test procedure).\r\n\n Synonym: Below low normal" + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "L", + "display" : "Extra Low" + }, + { + "extension" : [{ + "url" : "http://hl7.org/fhir/StructureDefinition/valueset-definition", + "valueString" : "The result for a quantitative observation is above the upper limit of the reference range (as defined for the respective test procedure).\r\n\n Synonym: Above high normal" + }], + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "H", + "display" : "High" + }] + } +}, + "error" : "" +} +------------------------------------------------------------------------------------- From c9c60d32ba82baa8b0c7982fc7be9eba5bc09864 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Wed, 7 Sep 2022 22:44:13 +1000 Subject: [PATCH 089/156] set up release --- RELEASE_NOTES.md | 7 +++++-- pom.xml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..b981c9ce0 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,10 @@ ## Validator Changes -* no changes +* More fixes to type characteristics +* Validator would hang on some specific xml inputs - no more ## Other code changes -* no changes \ No newline at end of file +* General: This release contains java code for the as yet unreleased R5 ballot (it's a precondition for releasing it) +* Snapshot Generator handle bindings on CodeableReferences +* Renderer: Don't always render OperationDefinition header diff --git a/pom.xml b/pom.xml index 4cce2c35d..fc4015996 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.106-SNAPSHOT + 1.1.106 5.7.1 1.8.2 3.0.0-M5 From df2e9643896c9107c18c7c1d74af8c0e028a913f Mon Sep 17 00:00:00 2001 From: markiantorno Date: Wed, 7 Sep 2022 13:12:42 +0000 Subject: [PATCH 090/156] Release: v5.6.59 ## Validator Changes * More fixes to type characteristics * Validator would hang on some specific xml inputs - no more ## Other code changes * General: This release contains java code for the as yet unreleased R5 ballot (it's a precondition for releasing it) * Snapshot Generator handle bindings on CodeableReferences * Renderer: Don't always render OperationDefinition header ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 25f028d99..9dddf51ef 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 04b558ffa..68051cdca 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 3f3ca96fc..0dde9c4d8 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index d7537337b..3e18126df 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index f67b5181f..7b417134a 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index d353f3df6..ce9b31b6a 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index e7136d473..174d3df7e 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 2fb4c8db7..3d55e65eb 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index ab41929e0..858cfa2da 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index d9dd03f72..d83e761ee 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index d863a04ec..0d0a0852e 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 ../pom.xml diff --git a/pom.xml b/pom.xml index fc4015996..425f87e4c 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.59-SNAPSHOT + 5.6.59 pom From 9f70b2b5415bb7a678813f056cc85a689fb35c32 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Wed, 7 Sep 2022 13:29:55 +0000 Subject: [PATCH 091/156] Updating version to: 5.6.60-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 7 ++----- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 17 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b981c9ce0..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,10 +1,7 @@ ## Validator Changes -* More fixes to type characteristics -* Validator would hang on some specific xml inputs - no more +* no changes ## Other code changes -* General: This release contains java code for the as yet unreleased R5 ballot (it's a precondition for releasing it) -* Snapshot Generator handle bindings on CodeableReferences -* Renderer: Don't always render OperationDefinition header +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 9dddf51ef..975d48b12 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 68051cdca..af5156076 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 0dde9c4d8..3f6ebeadc 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 3e18126df..ed1283016 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 7b417134a..6000c77aa 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index ce9b31b6a..d70f4e8d8 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 174d3df7e..1c57fc3f7 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 3d55e65eb..654928e20 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 858cfa2da..91d063efc 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index d83e761ee..695f80866 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 0d0a0852e..33840e9e8 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 425f87e4c..400273584 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.59 + 5.6.60-SNAPSHOT pom From 6e80637185055c649ed66c750c87d7ae7a24ee0a Mon Sep 17 00:00:00 2001 From: dotasek Date: Wed, 7 Sep 2022 16:56:19 -0400 Subject: [PATCH 092/156] Change message when extension is in modifierExtension field (#917) Co-authored-by: dotasek --- org.hl7.fhir.utilities/src/main/resources/Messages.properties | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index 7dc2bedf5..8a982a760 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -36,7 +36,7 @@ Extension_EXT_Fixed_Banned = No extensions allowed, as the specified fixed value Extension_EXT_Modifier_MismatchN = Extension modifier mismatch: the extension element is not labelled as a modifier, but the underlying extension is Extension_EXT_Modifier_MismatchY = Extension modifier mismatch: the extension element is labelled as a modifier, but the underlying extension is not Extension_EXT_Modifier_N = The Extension ''{0}'' must not be used as an extension (it''s a modifierExtension) -Extension_EXT_Modifier_Y = The Extension ''{0}'' must be used as a modifierExtension +Extension_EXT_Modifier_Y = The Extension ''{0}'' must not be used as a modifierExtension (it''s a regular extension) Extension_EXT_Simple = The Extension ''{0}'' definition is for a simple extension, so it must contain a value, not extensions Extension_EXT_SubExtension_Invalid = Sub-extension url ''{0}'' is not defined by the Extension {1} Extension_EXT_Type = The Extension ''{0}'' definition allows for the types {1} but found type {2} diff --git a/pom.xml b/pom.xml index 400273584..3ed9add8d 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.106 + 1.1.107-SNAPSHOT 5.7.1 1.8.2 3.0.0-M5 From 2e35e85dec6ed269556810bd13dfde8ed00ee5fa Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 8 Sep 2022 22:02:12 +1000 Subject: [PATCH 093/156] fix rendering of extension summary --- .../hl7/fhir/r5/conformance/ProfileUtilities.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 0cf51d058..0bdff4535 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -3544,10 +3544,8 @@ public class ProfileUtilities extends TranslatingUtilities { r1.getCells().add(gen.new Cell()); r1.getCells().add(gen.new Cell(null, null, describeCardinality(c, null, new UnusedTracker()), null, null)); genTypes(gen, r1, ved, defFile, ed, corePath, imagePath, false, false); - Cell cell = gen.new Cell(); - cell.addMarkdown(c.getDefinition()); - r1.getCells().add(cell); r1.setIcon("icon_"+m+"extension_simple.png", HierarchicalTableGenerator.TEXT_ICON_EXTENSION_SIMPLE); + generateDescription(gen, r1, c, null, true, corePath, corePath, ed, corePath, imagePath, false, false, false, ved, false, false, false, rc); } } } else { @@ -4274,7 +4272,7 @@ public class ProfileUtilities extends TranslatingUtilities { // if (child.getPath().endsWith(".extension") || child.getPath().endsWith(".modifierExtension")) // genElement(defPath, gen, row.getSubRows(), child, all, profiles, showMissing, profileBaseFileName, true, false, corePath, imagePath, false, logicalModel, isConstraintMode, allInvariants); } - if (typesRow != null) { + if (typesRow != null && !element.prohibited()) { makeChoiceRows(typesRow.getSubRows(), element, gen, corePath, profileBaseFileName, mustSupport); } } @@ -4779,8 +4777,10 @@ public class ProfileUtilities extends TranslatingUtilities { } } if (fixedUrl == null) { - c.getPieces().add(gen.new Piece(null, translate("sd.table", "URL")+": ", null).addStyle("font-weight:bold")); - c.getPieces().add(gen.new Piece(ref, fullUrl, null)); + if (!Utilities.noString(fullUrl)) { + c.getPieces().add(gen.new Piece(null, translate("sd.table", "URL")+": ", null).addStyle("font-weight:bold")); + c.getPieces().add(gen.new Piece(ref, fullUrl, null)); + } } else { // reference to a profile take on the extension show the base URL c.getPieces().add(gen.new Piece(null, translate("sd.table", "URL")+": ", null).addStyle("font-weight:bold")); From a6d3d562237f1af6d61ee01011829e1fdd6271c3 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 8 Sep 2022 22:02:33 +1000 Subject: [PATCH 094/156] improve Patient rendering --- .../hl7/fhir/r5/renderers/DataRenderer.java | 7 + .../fhir/r5/renderers/PatientRenderer.java | 585 +++++++++++++++++- .../fhir/r5/renderers/ResourceRenderer.java | 32 + 3 files changed, 623 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index bdede9e36..bd67caa5e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -679,6 +679,13 @@ public class DataRenderer extends Renderer { renderSampledData(x, (SampledData) type); } else if (type instanceof Reference) { renderReference(x, (Reference) type); + } else if (type instanceof CodeableReference) { + CodeableReference cr = (CodeableReference) type; + if (cr.hasConcept()) { + renderCodeableConcept(x, cr.getConcept()); + } else { + renderReference(x, cr.getReference()); + } } else if (type instanceof MarkdownType) { addMarkdown(x, ((MarkdownType) type).asStringValue()); } else if (type.isPrimitive()) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java index a89517303..b279fe042 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java @@ -1,28 +1,76 @@ package org.hl7.fhir.r5.renderers; +import java.io.File; import java.io.IOException; import java.io.UnsupportedEncodingException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.UUID; import org.apache.poi.hssf.record.chart.DatRecord; import org.hl7.fhir.exceptions.DefinitionException; +import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; +import org.hl7.fhir.r5.model.Address; +import org.hl7.fhir.r5.model.Attachment; +import org.hl7.fhir.r5.model.Base; +import org.hl7.fhir.r5.model.CodeableConcept; +import org.hl7.fhir.r5.model.ContactPoint; +import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.DateTimeType; import org.hl7.fhir.r5.model.DateType; import org.hl7.fhir.r5.model.DomainResource; +import org.hl7.fhir.r5.model.Extension; import org.hl7.fhir.r5.model.HumanName; import org.hl7.fhir.r5.model.HumanName.NameUse; import org.hl7.fhir.r5.model.Identifier; import org.hl7.fhir.r5.model.Identifier.IdentifierUse; import org.hl7.fhir.r5.model.Patient; +import org.hl7.fhir.r5.model.Period; +import org.hl7.fhir.r5.model.Reference; import org.hl7.fhir.r5.model.Resource; +import org.hl7.fhir.r5.model.StructureDefinition; +import org.hl7.fhir.r5.renderers.PatientRenderer.NamedReferance; import org.hl7.fhir.r5.renderers.utils.RenderingContext; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.BaseWrapper; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.PropertyWrapper; import org.hl7.fhir.r5.renderers.utils.BaseWrappers.ResourceWrapper; +import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.xhtml.XhtmlNode; public class PatientRenderer extends ResourceRenderer { + public class NamedReferance { + + private String name; + private Reference reference; + private BaseWrapper wrapper; + + public NamedReferance(String name, Reference ref, BaseWrapper refw) { + this.name = name; + this.reference = ref; + this.wrapper = refw; + } + + public String getName() { + return name; + } + + public Reference getReference() { + return reference; + } + + public BaseWrapper getWrapper() { + return wrapper; + } + + } + + private static final int MAX_IMAGE_LENGTH = 2*1024*1024; + public PatientRenderer(RenderingContext context) { super(context); } @@ -224,7 +272,542 @@ public class PatientRenderer extends ResourceRenderer { @Override public boolean render(XhtmlNode x, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { - describe(x.para(), r); + // banner + describe(makeBanner(x.para()), r); + x.hr(); + XhtmlNode tbl; + if (hasRenderablePhoto(r)) { + tbl = x.table("none"); + XhtmlNode tr = tbl.tr(); + tbl = tr.td().table("grid"); + renderPhoto(tr.td(), r); + } else { + tbl = x.table("grid"); + } + + // the table has 4 columns + addStatus(tbl, r); + addIdentifiers(tbl, r); + addNames(tbl, r); + addComms(tbl, r); + addLangs(tbl, r); + addNOKs(tbl, r); + addLinks(tbl, r); + addExtensions(tbl, r); + if (tbl.isEmpty()) { + x.remove(tbl); + } return false; } + + private void addExtensions(XhtmlNode tbl, ResourceWrapper r) throws UnsupportedEncodingException, FHIRException, IOException { + Map> extensions = new HashMap<>(); + PropertyWrapper pw = getProperty(r, "extension"); + for (BaseWrapper t : pw.getValues()) { + Extension ext = (Extension) t.getBase(); + if (!extensions.containsKey(ext.getUrl())) { + extensions.put(ext.getUrl(), new ArrayList<>()); + } + extensions.get(ext.getUrl()).add(ext); + } + for (String url : extensions.keySet()) { + StructureDefinition sd = context.getWorker().fetchResource(StructureDefinition.class, url); + if (sd != null) { + List list = extensions.get(url); + boolean anyComplex = false; + for (Extension ext : list) { + anyComplex = anyComplex || ext.hasExtension(); + } + if (!anyComplex) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, sd.getTitle()+":", sd.getDescription(), sd.getUserString("path")); + XhtmlNode td = tr.td(); + td.colspan("3"); + if (list.size() == 1) { + XhtmlNode ul = td.ul(); + for (Extension s : list) { + XhtmlNode li = ul.li(); + render(r, li, s.getValue()); + } + } else { + render(r, td, list.get(0).getValue()); + } + } else { + for (Extension ext : list) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, sd.getTitle()+":", sd.getDescription()); + XhtmlNode td = tr.td(); + td.colspan("3"); + if (ext.hasExtension()) { + XhtmlNode ul = td.ul(); + for (Extension s : ext.getExtension()) { + XhtmlNode li = ul.li(); + li.tx(s.getUrl()+": "); + if (s.hasExtension()) { + boolean first = true; + for (Extension t : s.getExtension()) { + if (first) first = false; else li.tx("; "); + li.tx(t.getUrl()+"="); + render(r, li, t.getValue()); + } + } else { + render(r, li, s.getValue()); + } + } + } else { + render(r, td, ext.getValue()); + } + } + } + } + } + + + } + + private void addIdentifiers(XhtmlNode tbl, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + List ids = new ArrayList<>(); + PropertyWrapper pw = getProperty(r, "identifier"); + for (BaseWrapper t : pw.getValues()) { + ids.add((Identifier) t.getBase()); + } + Identifier id = null; + for (Identifier i : ids) { + id = chooseId(id, i); + } + if (id != null) { + ids.remove(id); + }; + if (ids.size() == 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Other Id:", "Other Ids (see the one above)"); + XhtmlNode td = tr.td(); + td.colspan("3"); + render(r, td, ids.get(0)); + } else if (ids.size() > 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Other Ids:", "Other Ids (see the one above)"); + XhtmlNode td = tr.td(); + td.colspan("3"); + XhtmlNode ul = td.ul(); + for (Identifier i : ids) { + render(r, ul.li(), i); + } + } + } + + private void addLangs(XhtmlNode tbl, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + List langs = new ArrayList<>(); + PropertyWrapper pw = getProperty(r, "communication"); + CodeableConcept prefLang = null; + for (BaseWrapper t : pw.getValues()) { + PropertyWrapper l = getProperty(t, "language"); + if (l != null && l.hasValues()) { + CodeableConcept lang = (CodeableConcept) l.getValues().get(0).getBase(); + langs.add(lang); + l = getProperty(t, "preferred"); + if (l != null && l.hasValues() && "true".equals(l.getValues().get(0).getBase().primitiveValue())) { + prefLang = lang; + } + } + } + if (langs.size() == 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Language:", "Languages spoken"); + XhtmlNode td = tr.td(); + td.colspan("3"); + render(r, td, langs.get(0)); + if (prefLang != null) { + td.tx(" (preferred)"); + } + } else if (langs.size() > 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Languages:", "Languages spoken"); + XhtmlNode td = tr.td(); + td.colspan("3"); + XhtmlNode ul = td.ul(); + for (CodeableConcept i : langs) { + XhtmlNode li = ul.li(); + render(r, li, i); + if (i == prefLang) { + li.tx(" (preferred)"); + } + } + } + } + + + private void addLinks(XhtmlNode tbl, ResourceWrapper r) throws UnsupportedEncodingException, FHIRException, IOException { + List refs = new ArrayList<>(); + PropertyWrapper pw = getProperty(r, "generalPractitioner"); + if (pw != null) { + for (BaseWrapper t : pw.getValues()) { + refs.add(new NamedReferance("General Practitioner", (Reference) t.getBase(), t)); + } + } + pw = getProperty(r, "managingOrganization"); + if (pw != null) { + for (BaseWrapper t : pw.getValues()) { + refs.add(new NamedReferance("Managing Organization", (Reference) t.getBase(), t)); + } + } + pw = getProperty(r, "link"); + for (BaseWrapper t : pw.getValues()) { + PropertyWrapper l = getProperty(t, "other"); + Reference ref = null; + BaseWrapper refw = null; + for (BaseWrapper v : l.getValues()) { + ref = (Reference) v.getBase(); + refw = v; + } + String type = null; + l = getProperty(t, "type"); + for (BaseWrapper v : l.getValues()) { + type = v.getBase().primitiveValue(); + } + if (type != null && ref != null) { + refs.add(new NamedReferance(describeLinkedRecord(type), ref, refw)); + } + } + + if (refs.size() > 0) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Links:", "Patient Links"); + XhtmlNode td = tr.td(); + td.colspan("3"); + XhtmlNode ul = td.ul(); + for (NamedReferance ref : refs) { + XhtmlNode li = ul.li(); + li.tx(ref.getName()); + li.tx(": "); + renderReference(r, li, ref.getReference()); + } + } + } + + private String describeLinkedRecord(String type) { + switch (type) { + case "replaced-by" : return "This record replaced by"; + case "replaces": return "This record replaces"; + case "refer": return "Please refer to"; + case "seealso": return "Also see"; + } + return "Unknown"; + } + + private void addNOKs(XhtmlNode tbl, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + PropertyWrapper pw = getProperty(r, "contact"); + for (BaseWrapper t : pw.getValues()) { + addNOK(tbl,r, t); + } + } + + private void addNOK(XhtmlNode tbl, ResourceWrapper r, BaseWrapper bw) throws FHIRFormatError, DefinitionException, IOException { + List rels = new ArrayList<>(); + HumanName name = null; + Address add = null; + String gender = null; + Period period = null; + Reference organization = null; + List tels = new ArrayList<>(); + + PropertyWrapper pw = getProperty(bw, "relationship"); + for (BaseWrapper t : pw.getValues()) { + CodeableConcept v = (CodeableConcept) t.getBase(); + rels.add(v); + } + + pw = getProperty(bw, "name"); + if (pw.hasValues()) { + name = (HumanName) pw.getValues().get(0).getBase(); + } + pw = getProperty(bw, "telecom"); + for (BaseWrapper t : pw.getValues()) { + ContactPoint v = (ContactPoint) t.getBase(); + tels.add(v); + } + + pw = getProperty(bw, "address"); + if (pw.hasValues()) { + add = (Address) pw.getValues().get(0).getBase(); + } + + pw = getProperty(bw, "gender"); + if (pw.hasValues()) { + gender = pw.getValues().get(0).getBase().primitiveValue(); + } + + pw = getProperty(bw, "organization"); + if (pw.hasValues()) { + organization = (Reference) pw.getValues().get(0).getBase(); + } + + pw = getProperty(bw, "period"); + if (pw.hasValues()) { + period = (Period) pw.getValues().get(0).getBase(); + } + + if (rels.size() < 2 && name == null && add == null && gender == null && period == null && organization == null && tels.size() == 0) { + return; // nothing to render + } + XhtmlNode tr = tbl.tr(); + if (rels.size() == 1) { + nameCell(tr, (rels.get(0).getCodingFirstRep().hasDisplay() ? rels.get(0).getCodingFirstRep().getDisplay() : display(rels.get(0)))+":", "Nominated Contact: "+display(rels.get(0))); + } else { + nameCell(tr, "Contact", "Patient contact"); + } + XhtmlNode td = tr.td(); + td.colspan("3"); + XhtmlNode ul = td.ul(); + XhtmlNode li; + if (name != null) { + li = ul.li(); + render(r, li, name); + if (gender != null) { + li.tx(" ("+gender+")"); + } + } else if (gender != null) { + li = ul.li(); + li.tx("Gender: "+gender); + } + if (rels.size() > 1) { + li = ul.li(); + li.tx("Relationships: "); + boolean first = true; + for (CodeableConcept rel : rels) { + if (first) first = false; else li.tx(", "); + render(r, li, rel); + } + } + if (add != null) { + render(r, ul.li(), add); + } + for (ContactPoint cp : tels) { + render(r, ul.li(), cp); + } + if (organization != null) { + li = ul.li(); + li.tx("Organization: "); + render(r, li, organization); + } + if (period != null) { + li = ul.li(); + li.tx("Valid Period: "); + render(r, li, period); + } + } + + private void addNames(XhtmlNode tbl, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + List names = new ArrayList<>(); + PropertyWrapper pw = getProperty(r, "name"); + for (BaseWrapper t : pw.getValues()) { + names.add((HumanName) t.getBase()); + } + HumanName name = null; + for (HumanName n : names) { + name = chooseName(name, n); + } + if (name != null) { + names.remove(name); + }; + if (names.size() == 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Alt. Name:", "Alternate names (see the one above)"); + XhtmlNode td = tr.td(); + td.colspan("3"); + render(r, td, names.get(0)); + } else if (names.size() > 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Alt Names:", "Alternate names (see the one above)"); + XhtmlNode td = tr.td(); + td.colspan("3"); + XhtmlNode ul = td.ul(); + for (HumanName n : names) { + render(r, ul.li(), n); + } + } + } + + private void addComms(XhtmlNode tbl, ResourceWrapper r) throws FHIRFormatError, DefinitionException, IOException { + List tels = new ArrayList<>(); + PropertyWrapper pw = getProperty(r, "telecom"); + for (BaseWrapper t : pw.getValues()) { + tels.add((ContactPoint) t.getBase()); + } + List

adds = new ArrayList<>(); + pw = getProperty(r, "address"); + for (BaseWrapper t : pw.getValues()) { + adds.add((Address) t.getBase()); + } + if (tels.size() + adds.size() == 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Contact Detail:", "Ways to contact the Patient"); + XhtmlNode td = tr.td(); + td.colspan("3"); + if (adds.isEmpty()) { + render(r, td, tels.get(0)); + } else { + render(r, td, adds.get(0)); + } + } else if (tels.size() + adds.size() > 1) { + XhtmlNode tr = tbl.tr(); + nameCell(tr, "Contact Details:", "Ways to contact the Patient"); + XhtmlNode td = tr.td(); + td.colspan("3"); + XhtmlNode ul = td.ul(); + for (ContactPoint n : tels) { + render(r, ul.li(), n); + } + for (Address n : adds) { + render(r, ul.li(), n); + } + } + } + + private void addStatus(XhtmlNode tbl, ResourceWrapper r) throws FHIRFormatError, DefinitionException, UnsupportedEncodingException, FHIRException, IOException { + // TODO Auto-generated method stub + int count = 0; + if (r.has("active")) { + count++; + } + if (r.has("deceased")) { + count++; + } + if (r.has("maritalStatus")) { + count++; + } + if (r.has("multipleBirth")) { + count++; + } + if (count > 0) { + XhtmlNode tr = tbl.tr(); + int pos = 0; + if (r.has("active")) { + PropertyWrapper a = r.getChildByName("active"); + if (a.hasValues()) { + pos++; + nameCell(tr, "Active:", "Record is active"); + XhtmlNode td = tr.td(); + if (pos == count) { + td.colspan("3"); + } + render(r, td, (DataType) a.value().getBase()); + } + } + if (r.has("deceased[x]")) { + PropertyWrapper a = r.getChildByName("deceased[x]"); + if (a.hasValues()) { + pos++; + nameCell(tr, "Deceased:", "Known status of Patient"); + XhtmlNode td = tr.td(); + if (pos == count) { + td.colspan("3"); + } + render(r, td, (DataType) a.value().getBase()); + } + } + if (r.has("maritalStatus")) { + PropertyWrapper a = r.getChildByName("maritalStatus"); + if (a.hasValues()) { + pos++; + if (pos == 3) { + tr = tbl.tr(); + } + nameCell(tr, "Marital Status:", "Known Marital status of Patient"); + XhtmlNode td = tr.td(); + if (pos == count) { + td.colspan("3"); + } + render(r, td, (DataType) a.value().getBase()); + } + } + if (r.has("multipleBirth[x]")) { + PropertyWrapper a = r.getChildByName("multipleBirth[x]"); + if (a.hasValues()) { + pos++; + if (pos == 3) { + tr = tbl.tr(); + } + nameCell(tr, "Multiple Birth:", "Known multipleBirth status of Patient"); + XhtmlNode td = tr.td(); + if (pos == count) { + td.colspan("3"); + } + render(r, td, (DataType) a.value().getBase()); + } + } + } + } + + private void nameCell(XhtmlNode tr, String text, String title) { + XhtmlNode td = tr.td(); + td.setAttribute("title", title); + td.tx(text); + td.style("background-color: #f3f5da"); + } + + private void nameCell(XhtmlNode tr, String text, String title, String link) { + XhtmlNode td = tr.td(); + td.setAttribute("title", title); + if (link != null) { + td.ah(link).tx(text); + } else { + td.tx(text); + } + td.style("background-color: #f3f5da"); + } + + private void renderPhoto(XhtmlNode td, ResourceWrapper r) throws UnsupportedEncodingException, FHIRException, IOException { + if (r.has("photo")) { + PropertyWrapper a = r.getChildByName("photo"); + for (BaseWrapper v : a.getValues()) { + Attachment att = (Attachment) v.getBase(); + if (att.getContentType().startsWith("image/") && + att.getData() != null && (!context.isInlineGraphics() || (att.getData().length > 0 && att.getData().length < MAX_IMAGE_LENGTH))) { + String ext = extensionForType(att.getContentType()); + if (context.isInlineGraphics() || Utilities.noString(context.getDestDir()) || ext == null) { + td.img("data:"+att.getContentType()+";base64,"+att.getDataElement().asStringValue()); + } else { + String n = UUID.randomUUID().toString().toLowerCase()+ext; + TextFile.bytesToFile(att.getData(), new File(Utilities.path(context.getDestDir(), n))); + td.img(n); + } + return; + } + } + } + return; + } + + private String extensionForType(String contentType) { + if (contentType.equals("image/gif")) { + return ".gif"; + } + if (contentType.equals("image/png")) { + return ".png"; + } + if (contentType.equals("image/jpeg")) { + return ".jpg"; + } + return null; + } + + private boolean hasRenderablePhoto(ResourceWrapper r) throws UnsupportedEncodingException, FHIRException, IOException { + if (r.has("photo")) { + PropertyWrapper a = r.getChildByName("photo"); + for (BaseWrapper v : a.getValues()) { + Attachment att = (Attachment) v.getBase(); + if (att.getContentType().startsWith("image/") && + att.getData() != null && (!context.isInlineGraphics() || (att.getData().length > 0 && att.getData().length < MAX_IMAGE_LENGTH))) { + return true; + } + } + } + return false; + } + + private XhtmlNode makeBanner(XhtmlNode para) { + para.style("border: 1px #661aff solid; background-color: #e6e6ff; padding: 10px;"); + return para; + } } \ No newline at end of file diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java index 79798edcb..9ba121ce7 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ResourceRenderer.java @@ -11,7 +11,9 @@ import org.hl7.fhir.r5.elementmodel.Element; import org.hl7.fhir.r5.model.Base; import org.hl7.fhir.r5.model.Bundle.BundleEntryComponent; import org.hl7.fhir.r5.model.CodeSystem.ConceptDefinitionComponent; +import org.hl7.fhir.r5.model.CodeableReference; import org.hl7.fhir.r5.model.Coding; +import org.hl7.fhir.r5.model.DataType; import org.hl7.fhir.r5.model.Enumerations.PublicationStatus; import org.hl7.fhir.r5.model.CanonicalResource; import org.hl7.fhir.r5.model.CodeSystem; @@ -172,6 +174,36 @@ public abstract class ResourceRenderer extends DataRenderer { } } + public void render(Resource res, XhtmlNode x, DataType type) throws FHIRFormatError, DefinitionException, IOException { + if (type instanceof Reference) { + renderReference(res, x, (Reference) type); + } else if (type instanceof CodeableReference) { + CodeableReference cr = (CodeableReference) type; + if (cr.hasReference()) { + renderReference(res, x, cr.getReference()); + } else { + render(x, type); + } + } else { + render(x, type); + } + } + + public void render(ResourceWrapper res, XhtmlNode x, DataType type) throws FHIRFormatError, DefinitionException, IOException { + if (type instanceof Reference) { + renderReference(res, x, (Reference) type); + } else if (type instanceof CodeableReference) { + CodeableReference cr = (CodeableReference) type; + if (cr.hasReference()) { + renderReference(res, x, cr.getReference()); + } else { + render(x, type); + } + } else { + render(x, type); + } + } + public void renderReference(Resource res, XhtmlNode x, Reference r) throws UnsupportedEncodingException, IOException { ResourceWrapper rw = new ResourceWrapperDirect(this.context, res); renderReference(rw, x, r); From 15e738e373a6c309f123c7fd439cf68e07bb5ad3 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 8 Sep 2022 22:04:32 +1000 Subject: [PATCH 095/156] release notes --- RELEASE_NOTES.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..74041af2b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,4 @@ ## Other code changes -* no changes \ No newline at end of file +* Rendering improvements for Patient and extension summary \ No newline at end of file From 4cbbce4ec80275ff21b2616cb7164a8b2070ab79 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 8 Sep 2022 22:22:17 +1000 Subject: [PATCH 096/156] img conformance in xhtml --- .../fhir/r4b/renderers/BinaryRenderer.java | 2 +- .../fhir/r4b/renderers/LibraryRenderer.java | 4 ++-- .../r4b/renderers/QuestionnaireRenderer.java | 20 +++++++++---------- .../hl7/fhir/r5/renderers/BinaryRenderer.java | 2 +- .../fhir/r5/renderers/LibraryRenderer.java | 4 ++-- .../fhir/r5/renderers/PatientRenderer.java | 4 ++-- .../r5/renderers/QuestionnaireRenderer.java | 20 +++++++++---------- .../r5/renderers/TerminologyRenderer.java | 2 +- .../hl7/fhir/utilities/xhtml/XhtmlNode.java | 8 ++++---- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/BinaryRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/BinaryRenderer.java index 43d975d42..03808d145 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/BinaryRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/BinaryRenderer.java @@ -81,7 +81,7 @@ public class BinaryRenderer { String fn = "Binary-Native-"+bin.getId()+ext; TextFile.bytesToFile(bin.getContent(), Utilities.path(folder, fn)); filenames.add(fn); - x.img("Binary-Native-"+bin.getId()+ext); + x.img("Binary-Native-"+bin.getId()+ext, "Binary"); } } diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/LibraryRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/LibraryRenderer.java index 88361bf07..77f45f735 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/LibraryRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/LibraryRenderer.java @@ -383,10 +383,10 @@ public class LibraryRenderer extends ResourceRenderer { p.code().tx(att.getContentType()+lang(att)); } if (att.getData().length < LibraryRenderer.DATA_IMG_SIZE_CUTOFF) { - x.img("data: "+att.getContentType()+">;base64,"+b64(att.getData())); + x.img("data: "+att.getContentType()+">;base64,"+b64(att.getData()), "data"); } else { String filename = "Library-"+baseId+(counter == 0 ? "" : "-"+Integer.toString(counter))+"."+imgExtension(att.getContentType()); - x.img(filename); + x.img(filename, "data"); } } else if (txt != null && !noShowData) { XhtmlNode p = x.para(); diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java index 5530cbd9c..d1a150149 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/renderers/QuestionnaireRenderer.java @@ -124,9 +124,9 @@ public class QuestionnaireRenderer extends TerminologyRenderer { li.style("font-size: 11px"); if (useSelect) { if (opt.getInitialSelected()) { - li.img("icon-selected.png"); + li.img("icon-selected.png", "icon"); } else { - li.img("icon-not-selected.png"); + li.img("icon-not-selected.png", "icon"); } } if (opt.getValue().isPrimitive()) { @@ -678,26 +678,26 @@ public class QuestionnaireRenderer extends TerminologyRenderer { if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"), "icon"); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { hasFlag = true; - flags.ah(Utilities.pathURL(context.getSpecificationLink(), "extension-questionnaire-hidden.html"), "Is a hidden item").img(Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png")); + flags.ah(Utilities.pathURL(context.getSpecificationLink(), "extension-questionnaire-hidden.html"), "Is a hidden item").img(Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png"), "icon"); d.style("background-color: #eeeeee"); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"), "icon"); } if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"), "icon"); } if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept(); String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category"); hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"), "icon"); } if (i.hasMaxLength()) { @@ -853,7 +853,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer { boolean ext = false; XhtmlNode td = tbl.tr().td("structure").colspan("2").span(null, null).attribute("class", "self-link-parent"); td.an(q.getId()); - td.img(Utilities.path(context.getLocalPrefix(), "icon_q_root.gif")); + td.img(Utilities.path(context.getLocalPrefix(), "icon_q_root.gif"), "icon"); td.tx(" Questionnaire "); td.b().tx(q.getId()); @@ -906,10 +906,10 @@ public class QuestionnaireRenderer extends TerminologyRenderer { XhtmlNode td = tbl.tr().td("structure").colspan("2").span(null, null).attribute("class", "self-link-parent"); td.an("item."+qi.getLinkId()); for (QuestionnaireItemComponent p : parents) { - td.ah("#item."+p.getLinkId()).img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png")); + td.ah("#item."+p.getLinkId()).img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png"), "icon"); td.tx(" > "); } - td.img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png")); + td.img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png"), "icon"); td.tx(" Item "); td.b().tx(qi.getLinkId()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BinaryRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BinaryRenderer.java index aff578f80..bbc5e61eb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BinaryRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/BinaryRenderer.java @@ -81,7 +81,7 @@ public class BinaryRenderer { String fn = "Binary-Native-"+bin.getId()+ext; TextFile.bytesToFile(bin.getContent(), Utilities.path(folder, fn)); filenames.add(fn); - x.img("Binary-Native-"+bin.getId()+ext); + x.img("Binary-Native-"+bin.getId()+ext, "binary"); } } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LibraryRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LibraryRenderer.java index c15aa9e8d..b29db71aa 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LibraryRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/LibraryRenderer.java @@ -383,10 +383,10 @@ public class LibraryRenderer extends ResourceRenderer { p.code().tx(att.getContentType()+lang(att)); } if (att.getData().length < LibraryRenderer.DATA_IMG_SIZE_CUTOFF) { - x.img("data: "+att.getContentType()+">;base64,"+b64(att.getData())); + x.img("data: "+att.getContentType()+">;base64,"+b64(att.getData()), "data"); } else { String filename = "Library-"+baseId+(counter == 0 ? "" : "-"+Integer.toString(counter))+"."+imgExtension(att.getContentType()); - x.img(filename); + x.img(filename, "data"); } } else if (txt != null && !noShowData) { XhtmlNode p = x.para(); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java index b279fe042..5a3ca9489 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/PatientRenderer.java @@ -766,11 +766,11 @@ public class PatientRenderer extends ResourceRenderer { att.getData() != null && (!context.isInlineGraphics() || (att.getData().length > 0 && att.getData().length < MAX_IMAGE_LENGTH))) { String ext = extensionForType(att.getContentType()); if (context.isInlineGraphics() || Utilities.noString(context.getDestDir()) || ext == null) { - td.img("data:"+att.getContentType()+";base64,"+att.getDataElement().asStringValue()); + td.img("data:"+att.getContentType()+";base64,"+att.getDataElement().asStringValue(), "patient photo"); } else { String n = UUID.randomUUID().toString().toLowerCase()+ext; TextFile.bytesToFile(att.getData(), new File(Utilities.path(context.getDestDir(), n))); - td.img(n); + td.img(n, "patient photo"); } return; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java index c5de770db..99e521d30 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java @@ -124,9 +124,9 @@ public class QuestionnaireRenderer extends TerminologyRenderer { li.style("font-size: 11px"); if (useSelect) { if (opt.getInitialSelected()) { - li.img("icon-selected.png"); + li.img("icon-selected.png", "icon"); } else { - li.img("icon-not-selected.png"); + li.img("icon-not-selected.png", "icon"); } } if (opt.getValue().isPrimitive()) { @@ -679,26 +679,26 @@ public class QuestionnaireRenderer extends TerminologyRenderer { if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"), "icon"); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { hasFlag = true; - flags.ah(Utilities.pathURL(context.getSpecificationLink(), "extension-questionnaire-hidden.html"), "Is a hidden item").img(Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png")); + flags.ah(Utilities.pathURL(context.getSpecificationLink(), "extension-questionnaire-hidden.html"), "Is a hidden item").img(Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png"), "icon"); d.style("background-color: #eeeeee"); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"), "icon"); } if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"), "icon"); } if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept(); String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category"); hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")); + flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"), "icon"); } if (i.hasMaxLength()) { @@ -854,7 +854,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer { boolean ext = false; XhtmlNode td = tbl.tr().td("structure").colspan("2").span(null, null).attribute("class", "self-link-parent"); td.an(q.getId()); - td.img(Utilities.path(context.getLocalPrefix(), "icon_q_root.gif")); + td.img(Utilities.path(context.getLocalPrefix(), "icon_q_root.gif"), "icon"); td.tx(" Questionnaire "); td.b().tx(q.getId()); @@ -907,10 +907,10 @@ public class QuestionnaireRenderer extends TerminologyRenderer { XhtmlNode td = tbl.tr().td("structure").colspan("2").span(null, null).attribute("class", "self-link-parent"); td.an("item."+qi.getLinkId()); for (QuestionnaireItemComponent p : parents) { - td.ah("#item."+p.getLinkId()).img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png")); + td.ah("#item."+p.getLinkId()).img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png"), "icon"); td.tx(" > "); } - td.img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png")); + td.img(Utilities.path(context.getLocalPrefix(), "icon_q_item.png"), "icon"); td.tx(" Item "); td.b().tx(qi.getLinkId()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java index ed14cd19b..bc288eba6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java @@ -323,7 +323,7 @@ public abstract class TerminologyRenderer extends ResourceRenderer { protected void clipboard(XhtmlNode x, String img, String title, String source) { XhtmlNode span = x.span("cursor: pointer", "Copy "+title+" Format to clipboard"); span.attribute("onClick", "navigator.clipboard.writeText('"+Utilities.escapeJson(source)+"');"); - span.img(img).setAttribute("width", "24px").setAttribute("height", "16px"); + span.img(img, "btn").setAttribute("width", "24px").setAttribute("height", "16px"); } diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlNode.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlNode.java index 0215d0f53..fb7d8f11f 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlNode.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlNode.java @@ -656,12 +656,12 @@ public class XhtmlNode implements IBaseXhtml { return addTag("a").attribute("href", href).attribute("title", title); } - public XhtmlNode img(String src) { - return addTag("img").attribute("src", src); + public XhtmlNode img(String src, String alt) { + return addTag("img").attribute("src", src).attribute("alt", alt); } - public XhtmlNode img(String src, String title) { - return addTag("img").attribute("src", src).attribute("title", title); + public XhtmlNode img(String src, String alt, String title) { + return addTag("img").attribute("src", src).attribute("alt", alt).attribute("title", title); } public XhtmlNode an(String href) { From ace807bca00eb4b00ea13ab504abb373af3b0084 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 8 Sep 2022 22:45:24 +1000 Subject: [PATCH 097/156] Add missing img.alt tags --- .../src/test/java/org/hl7/fhir/r5/test/CDARoundTripTests.java | 4 ++-- .../hl7/fhir/utilities/xhtml/HierarchicalTableGenerator.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/CDARoundTripTests.java b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/CDARoundTripTests.java index 22a5a07f9..83b97230b 100644 --- a/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/CDARoundTripTests.java +++ b/org.hl7.fhir.r5/src/test/java/org/hl7/fhir/r5/test/CDARoundTripTests.java @@ -120,9 +120,9 @@ public class CDARoundTripTests { // // assertEquals("Skin Exam", fp.evaluateToString(e, "component.structuredBody.component.section.component.section.where(code.code='8709-8' and code.codeSystem='2.16.840.1.113883.6.1').title.dataString")); // //
Erythematous rash, palmar surface, left index finger. -// //
+// // \"img\"/ // String text = fp.evaluateToString(e, "component.structuredBody.component.section.component.section.where(code.code='8709-8' and code.codeSystem='2.16.840.1.113883.6.1').text"); -// assertTrue(text.contains("")); +// assertTrue(text.contains("\"img\"/")); // } catch (Exception e) { // System.out.println(e.getMessage()); // e.printStackTrace(); diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/HierarchicalTableGenerator.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/HierarchicalTableGenerator.java index 544a11898..a599395e4 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/HierarchicalTableGenerator.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/HierarchicalTableGenerator.java @@ -815,7 +815,7 @@ public class HierarchicalTableGenerator extends TranslatingUtilities { else tc.setAttribute("style", "vertical-align: top; text-align : left; "+(c.cellStyle != null && c.cellStyle.contains("background-color") ? "" : "background-color: "+color+"; ")+"border: "+ border +"px #F0F0F0 solid; padding:0px 4px 0px 4px"+(c.cellStyle != null ? ";"+c.cellStyle : "")); if (!Utilities.noString(icon)) { - XhtmlNode img = tc.addTag("img").setAttribute("src", srcFor(imagePath, icon)).setAttribute("class", "hierarchy").setAttribute("style", "background-color: "+color+"; background-color: inherit").setAttribute("alt", "."); + XhtmlNode img = tc.addTag("img").setAttribute("alt", "icon").setAttribute("src", srcFor(imagePath, icon)).setAttribute("class", "hierarchy").setAttribute("style", "background-color: "+color+"; background-color: inherit").setAttribute("alt", "."); if (hint != null) img.setAttribute("title", hint); tc.addText(" "); From c5e64931068f4ff32d2c33aba3d32773c5b0ef70 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 8 Sep 2022 23:17:33 +1000 Subject: [PATCH 098/156] fix for img.alt missing --- .../fhir/r5/renderers/QuestionnaireRenderer.java | 16 ++++++++-------- .../renderers/QuestionnaireResponseRenderer.java | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java index 99e521d30..a4edd2bd8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java @@ -244,28 +244,28 @@ public class QuestionnaireRenderer extends TerminologyRenderer { Cell flags = gen.new Cell(); r.getCells().add(flags); if (i.getReadOnly()) { - flags.addPiece(gen.new Piece(Utilities.pathURL(context.getSpecificationLink(), "questionnaire-definitions.html#Questionnaire.item.readOnly"), null, "Is Readonly").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-readonly.png")))); + flags.addPiece(gen.new Piece(Utilities.pathURL(context.getSpecificationLink(), "questionnaire-definitions.html#Questionnaire.item.readOnly"), null, "Is Readonly").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-readonly.png")))); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) { - flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-isSubject.html"), null, "Can change the subject of the questionnaire").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png")))); + flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-isSubject.html"), null, "Can change the subject of the questionnaire").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png")))); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { - flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-hidden.html"), null, "Is a hidden item").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png")))); + flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-hidden.html"), null, "Is a hidden item").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png")))); } if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { - flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-optionalDisplay.html"), null, "Is optional to display").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png")))); + flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-optionalDisplay.html"), null, "Is optional to display").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png")))); } if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) { - flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-observationLinkPeriod"), null, "Is linked to an observation").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png")))); + flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-observationLinkPeriod"), null, "Is linked to an observation").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png")))); } if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation")) { String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation"); - flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-choiceorientation.html"), null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); + flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-choiceorientation.html"), null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); } if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept(); String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category"); - flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-displayCategory"), null, "Category: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); + flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-displayCategory"), null, "Category: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); } } Cell defn = gen.new Cell(); @@ -668,7 +668,7 @@ public class QuestionnaireRenderer extends TerminologyRenderer { // if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation")) { // String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation"); -// flags.addPiece(gen.new Piece("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); +// flags.addPiece(gen.new Piece("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); //} diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java index 65f2d4b3e..768f5573f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java @@ -431,7 +431,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer { // //// if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-choiceOrientation")) { //// String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-choiceOrientation"); -//// flags.addPiece(gen.new Piece("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod", null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); +//// flags.addPiece(gen.new Piece("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod", null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); ////} // // From 7608dc9bf64839971d5044f730d5f2f78ddf85d1 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 8 Sep 2022 10:19:45 -0400 Subject: [PATCH 099/156] Bump test cases --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3ed9add8d..4999cdfbc 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.107-SNAPSHOT + 1.1.107 5.7.1 1.8.2 3.0.0-M5 From ca313fa6feb10572e6766009a7d70061bf3c26b7 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 8 Sep 2022 15:03:24 +0000 Subject: [PATCH 100/156] Release: v5.6.60 ## Validator Changes * no changes ## Other code changes * Rendering improvements for Patient and extension summary ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 975d48b12..239212643 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index af5156076..573e27c2c 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 3f6ebeadc..7def946b3 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index ed1283016..20ca58260 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 6000c77aa..903b30563 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index d70f4e8d8..25610bc56 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 1c57fc3f7..6b7ac155b 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 654928e20..868d63280 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 91d063efc..71a055706 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 695f80866..798df695f 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 33840e9e8..7203a5531 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 ../pom.xml diff --git a/pom.xml b/pom.xml index 4999cdfbc..1ba0075da 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.60-SNAPSHOT + 5.6.60 pom From fadb727e87737d33e26606aacb530bcafc6c46e1 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Thu, 8 Sep 2022 15:20:07 +0000 Subject: [PATCH 101/156] Updating version to: 5.6.61-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 2 +- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 74041af2b..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,4 @@ ## Other code changes -* Rendering improvements for Patient and extension summary \ No newline at end of file +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 239212643..d6c87bc27 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 573e27c2c..ece6f9274 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 7def946b3..0f7275edb 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 20ca58260..23969fd04 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 903b30563..42a544fca 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 25610bc56..00e874c51 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 6b7ac155b..563d0944d 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 868d63280..7ee6e6b82 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 71a055706..017b515b6 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 798df695f..15aa09812 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 7203a5531..4e18da3e2 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 1ba0075da..84e8c6944 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.60 + 5.6.61-SNAPSHOT pom From cf77cd171715dc8ea1a84119765641480eef3250 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 8 Sep 2022 17:50:39 -0400 Subject: [PATCH 102/156] Add new param to BaseAdvisor_40_50 --- .../convertors/advisors/impl/BaseAdvisor_40_50.java | 12 +++++++++++- .../resources40_50/ImplementationGuide40_50.java | 11 ++++++----- .../conv40_50/resources40_50/Resource40_50.java | 2 +- 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java index b9f5a75b4..31d456130 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java @@ -11,14 +11,21 @@ import org.hl7.fhir.exceptions.FHIRException; public class BaseAdvisor_40_50 extends BaseAdvisor50 { private static final List TestScriptIgnoredUrls = Arrays.asList("http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope"); + private boolean convertImplementationGuideDefinitionParameterComponent = true; public BaseAdvisor_40_50() { + } public BaseAdvisor_40_50(Boolean failFast) { this.failFast = failFast; } - + + public BaseAdvisor_40_50(Boolean failFast, Boolean convertImplementationGuideDefinitionParameterComponent) { + this.failFast = failFast; + this.convertImplementationGuideDefinitionParameterComponent = convertImplementationGuideDefinitionParameterComponent; + } + @Override public boolean ignoreExtension(@Nonnull String path, @@ -30,4 +37,7 @@ public class BaseAdvisor_40_50 extends BaseAdvisor50 Date: Fri, 9 Sep 2022 09:03:16 +1000 Subject: [PATCH 103/156] example generation improvements --- RELEASE_NOTES.md | 3 ++- .../main/java/org/hl7/fhir/utilities/turtle/Turtle.java | 2 +- .../java/org/hl7/fhir/utilities/xml/XhtmlGenerator.java | 8 ++++---- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 74041af2b..0c859a477 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,5 @@ ## Other code changes -* Rendering improvements for Patient and extension summary \ No newline at end of file +* Rendering improvements for Patient and extension summary +* Improved HTML compliance (img.alt) \ No newline at end of file diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/turtle/Turtle.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/turtle/Turtle.java index a555698a3..122399b0e 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/turtle/Turtle.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/turtle/Turtle.java @@ -384,7 +384,7 @@ public class Turtle { public String asHtml() throws Exception { StringBuilder b = new StringBuilder(); - b.append("
\r\n");
+    b.append("
\r\n");
     commitPrefixes(b);
     for (Section s : sections) {
       commitSection(b, s);
diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XhtmlGenerator.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XhtmlGenerator.java
index 21a5ec567..6cd47e532 100644
--- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XhtmlGenerator.java
+++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xml/XhtmlGenerator.java
@@ -53,7 +53,7 @@ import org.w3c.dom.Text;
 
 public class XhtmlGenerator {
 
-	private static final int LINE_LIMIT = 85;
+	private static final int LINE_LIMIT = 78;
   private XhtmlGeneratorAdorner adorner;
 	
   public XhtmlGenerator(XhtmlGeneratorAdorner adorner) {
@@ -66,7 +66,7 @@ public class XhtmlGenerator {
     
     out.write("
\r\n"); out.write("

Example Instance \""+name+"\""+(desc == null ? "" : ": "+Utilities.escapeXml(desc))+"

\r\n"); - out.write("
\r\n");
+    out.write("
\r\n");
 
     XhtmlGeneratorAdornerState state = null; // adorner == null ? new XhtmlGeneratorAdornerState("", "") : adorner.getState(this, null, null);
     for (int i = 0; i < doc.getChildNodes().getLength(); i++)
@@ -86,7 +86,7 @@ public class XhtmlGenerator {
     out.write("
\r\n"); out.write("

"+Utilities.escapeXml(desc)+"

\r\n"); if (adorn) { - out.write("
\r\n");
+      out.write("
\r\n");
       out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n");
       out.write("\r\n");
 
@@ -95,7 +95,7 @@ public class XhtmlGenerator {
 	  		writeNode(out, doc.getChildNodes().item(i), state, level);
       out.write("
\r\n"); } else { - out.write("\r\n"); + out.write("\r\n"); for (int i = 0; i < doc.getChildNodes().getLength(); i++) writeNodePlain(out, doc.getChildNodes().item(i), level); From 28b9757500bf02ce5480f7a343299330a38dc2a4 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 9 Sep 2022 09:04:12 +1000 Subject: [PATCH 104/156] release notes --- RELEASE_NOTES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 370606ea8..962a30fb0 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,5 @@ ## Other code changes -* Improved HTML compliance (img.alt) \ No newline at end of file +* Improved HTML compliance (img.alt) +* Improved example generation From 1679376f38e70f38b9da1a94cdbfb4595b6cb3f5 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 8 Sep 2022 20:44:30 -0400 Subject: [PATCH 105/156] Improved param name + re-introduce logic. --- .../advisors/impl/BaseAdvisor_40_50.java | 10 ++++---- .../ImplementationGuide40_50.java | 24 +++++++++---------- .../resources40_50/Resource40_50.java | 2 +- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java index 31d456130..b834ab658 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/advisors/impl/BaseAdvisor_40_50.java @@ -11,7 +11,7 @@ import org.hl7.fhir.exceptions.FHIRException; public class BaseAdvisor_40_50 extends BaseAdvisor50 { private static final List TestScriptIgnoredUrls = Arrays.asList("http://hl7.org/fhir/5.0/StructureDefinition/extension-TestScript.scope"); - private boolean convertImplementationGuideDefinitionParameterComponent = true; + private boolean produceIllegalParameters = false; public BaseAdvisor_40_50() { @@ -21,9 +21,9 @@ public class BaseAdvisor_40_50 extends BaseAdvisor50 Date: Thu, 8 Sep 2022 20:47:35 -0400 Subject: [PATCH 106/156] Make pretty --- .../resources40_50/ImplementationGuide40_50.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index e1d14ed19..78abb644a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -2344,11 +2344,11 @@ public class ImplementationGuide40_50 { if (produceIllegalParameters) { tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); } else { - org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); - org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.StringType(t.getCode().getCode())); - org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue())); - e.addExtension(eCode); - e.addExtension(eValue); + org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); + org.hl7.fhir.r4.model.Extension eCode = new org.hl7.fhir.r4.model.Extension("code", new org.hl7.fhir.r4.model.StringType(t.getCode().getCode())); + org.hl7.fhir.r4.model.Extension eValue = new org.hl7.fhir.r4.model.Extension("value", new org.hl7.fhir.r4.model.StringType(t.getValue())); + e.addExtension(eCode); + e.addExtension(eValue); tgt.addExtension(e); } } From a54b8162c68acb63e9a8d05f76a5de06eafef9ad Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 8 Sep 2022 20:58:33 -0400 Subject: [PATCH 107/156] Restore commented logic --- .../conv40_50/resources40_50/ImplementationGuide40_50.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index 78abb644a..da65141e1 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -18,6 +18,7 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.r5.model.ImplementationGuide; +import org.hl7.fhir.utilities.Utilities; /* Copyright (c) 2011+, HL7, Inc. @@ -2340,8 +2341,8 @@ public class ImplementationGuide40_50 { if (src.hasPage()) tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) { -// if (Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) - if (produceIllegalParameters) { +// if ( Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) + if (produceIllegalParameters || Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) { tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); } else { org.hl7.fhir.r4.model.Extension e = new org.hl7.fhir.r4.model.Extension(EXT_IG_DEFINITION_PARAMETER); From 9783fcfe7bbb40d114c1f2ef88b1bad3f15775d4 Mon Sep 17 00:00:00 2001 From: dotasek Date: Thu, 8 Sep 2022 21:00:23 -0400 Subject: [PATCH 108/156] Delete comment --- .../conv40_50/resources40_50/ImplementationGuide40_50.java | 1 - 1 file changed, 1 deletion(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index da65141e1..912acac58 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -2341,7 +2341,6 @@ public class ImplementationGuide40_50 { if (src.hasPage()) tgt.setPage(convertImplementationGuideDefinitionPageComponent(src.getPage())); for (org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent t : src.getParameter()) { -// if ( Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) if (produceIllegalParameters || Utilities.existsInList(t.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) { tgt.addParameter(convertImplementationGuideDefinitionParameterComponent(t)); } else { From 7214a32209d4175a58623251c683eb2281e07ae0 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 9 Sep 2022 20:57:30 +1000 Subject: [PATCH 109/156] more type characteristics work --- .../instance/type/StructureDefinitionValidator.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index 30209a35f..d89bdb288 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -288,6 +288,14 @@ public class StructureDefinitionValidator extends BaseValidator { case "Extension" :return addCharacteristicsForType(set, "can-bind"); case "Narrative" :return addCharacteristicsForType(set); case "Element" :return addCharacteristicsForType(set); + case "MoneyQuantity" :return addCharacteristicsForType(set); + case "SimpleQuantity" :return addCharacteristicsForType(set); + case "MarketingStatus" :return addCharacteristicsForType(set); + case "ExtendedContactDetail" :return addCharacteristicsForType(set); + case "VirtualServiceDetail" :return addCharacteristicsForType(set); + case "Availability" :return addCharacteristicsForType(set); + case "MonetaryComponent" :return addCharacteristicsForType(set); + case "BackboneElement" :return addCharacteristicsForType(set); default: if (context.getResourceNames().contains(tc)) From a307edc95ef32c5d855888d075f596a444ecc12b Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 9 Sep 2022 16:09:49 -0400 Subject: [PATCH 110/156] Add test case --- .../ImplementationGuide40_50Test.java | 46 ++++++ .../resources/implementation_guide_50.json | 142 ++++++++++++++++++ 2 files changed, 188 insertions(+) create mode 100644 org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv40_50/ImplementationGuide40_50Test.java create mode 100644 org.hl7.fhir.convertors/src/test/resources/implementation_guide_50.json diff --git a/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv40_50/ImplementationGuide40_50Test.java b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv40_50/ImplementationGuide40_50Test.java new file mode 100644 index 000000000..aa9e6c18a --- /dev/null +++ b/org.hl7.fhir.convertors/src/test/java/org/hl7/fhir/convertors/conv40_50/ImplementationGuide40_50Test.java @@ -0,0 +1,46 @@ +package org.hl7.fhir.convertors.conv40_50; + +import org.hl7.fhir.convertors.advisors.impl.BaseAdvisor_40_50; +import org.hl7.fhir.convertors.conv40_50.resources40_50.ImplementationGuide40_50; +import org.hl7.fhir.convertors.factory.VersionConvertorFactory_40_50; +import org.hl7.fhir.r5.model.ImplementationGuide; +import org.junit.jupiter.api.Test; + +import java.io.IOException; +import java.io.InputStream; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +public class ImplementationGuide40_50Test { + + public void testProduceIllegalParameters() throws IOException { + ImplementationGuide r5_actual = getR5ImplementationGuide(); + + org.hl7.fhir.r4.model.ImplementationGuide converted = (org.hl7.fhir.r4.model.ImplementationGuide) VersionConvertorFactory_40_50.convertResource( + r5_actual, + new BaseAdvisor_40_50(true, true)); + + assertEquals(2, converted.getDefinition().getParameter().size()); + assertEquals("copyrightyear", converted.getDefinition().getParameter().get(1).getCode()); + assertEquals("2020+", converted.getDefinition().getParameter().get(1).getValue()); + } + + @Test + public void testDefaultParameters() throws IOException { + ImplementationGuide r5_actual = getR5ImplementationGuide(); + + org.hl7.fhir.r4.model.ImplementationGuide converted = (org.hl7.fhir.r4.model.ImplementationGuide) VersionConvertorFactory_40_50.convertResource(r5_actual); + + assertEquals(1, converted.getDefinition().getParameter().size()); + assertEquals("copyrightyear", converted.getDefinition().getExtension().get(0).getExtension().get(0).getValue().primitiveValue()); + assertEquals("2020+", converted.getDefinition().getExtension().get(0).getExtension().get(1).getValue().primitiveValue()); + + } + + private ImplementationGuide getR5ImplementationGuide() throws IOException { + ImplementationGuide r5_actual; + InputStream r5_stream = this.getClass().getResourceAsStream("/implementation_guide_50.json"); + r5_actual = (ImplementationGuide) new org.hl7.fhir.r5.formats.JsonParser().parse(r5_stream); + return r5_actual; + } +} diff --git a/org.hl7.fhir.convertors/src/test/resources/implementation_guide_50.json b/org.hl7.fhir.convertors/src/test/resources/implementation_guide_50.json new file mode 100644 index 000000000..85e113f2f --- /dev/null +++ b/org.hl7.fhir.convertors/src/test/resources/implementation_guide_50.json @@ -0,0 +1,142 @@ +{ + "resourceType": "ImplementationGuide", + "id": "example", + "text": { + "status": "generated", + "div": "

Generated Narrative: ImplementationGuide

Resource ImplementationGuide "example"

url: http://hl7.org/fhir/us/daf

version: 0

name: Data Access Framework (DAF)

status: draft

experimental: false

date: 2015-01-01

publisher: ONC / HL7 Joint project

contact: ONC: http://www.healthit.gov, HL7: http://hl7.org/fhir

description: The Data Access Framework (DAF) Initiative leverages the HL7 FHIR standards to standardize access to Meaningful Use Stage 2 structured information both within the organization and from external organizations

jurisdiction: United States of America (unknown#US)

copyright: Published by ONC under the standard FHIR license (CC0)

packageId: hl7.fhir.us.daf

license: CC0-1.0

fhirVersion: 5.0.0

DependsOns

-Uri
*http://hl7.org/fhir/ImplementationGuide/uscore

Globals

-TypeProfile
*Patienthttp://hl7.org/fhir/us/core/StructureDefinition/patient

definition

Groupings

-NameDescription
*testBase package (not broken up into multiple packages)

Resources

-ReferenceNameDescriptionProfile
*Patient/testTest ExampleA test example to show how an implementation guide workshttp://hl7.org/fhir/us/core/StructureDefinition/patient

page

name: patient-example.html

title: Example Patient Page

generation: html

Pages

-NameTitleGeneration
*list.htmlValue Set Pagehtml

Parameters

-CodeValue
*Apply Metadata Value (Details: http://hl7.org/fhir/guide-parameter-code code apply = 'Apply Metadata Value', stated as 'null')version

manifest

rendering: http://hl7.org/fhir/us/daf

Resources

-ReferenceProfileRelativePath
*Patient/testhttp://hl7.org/fhir/us/core/StructureDefinition/patientpatient-test.html#patient-test

Pages

-NameTitleAnchor
*patient-test.htmlTest Patient Examplepatient-test, tx, uml

image: fhir.png

other: fhir.css

" + }, + "url": "http://hl7.org/fhir/us/daf", + "version": "0", + "name": "Data Access Framework (DAF)", + "status": "draft", + "experimental": false, + "date": "2015-01-01", + "publisher": "ONC / HL7 Joint project", + "contact": [ + { + "name": "ONC", + "telecom": [ + { + "system": "url", + "value": "http://www.healthit.gov" + } + ] + }, + { + "name": "HL7", + "telecom": [ + { + "system": "url", + "value": "http://hl7.org/fhir" + } + ] + } + ], + "description": "The Data Access Framework (DAF) Initiative leverages the HL7 FHIR standards to standardize access to Meaningful Use Stage 2 structured information both within the organization and from external organizations", + "jurisdiction": [ + { + "coding": [ + { + "system": "urn:iso:std:iso:3166", + "code": "US" + } + ] + } + ], + "copyright": "Published by ONC under the standard FHIR license (CC0)", + "packageId": "hl7.fhir.us.daf", + "license": "CC0-1.0", + "fhirVersion": [ + "5.0.0" + ], + "dependsOn": [ + { + "uri": "http://hl7.org/fhir/ImplementationGuide/uscore" + } + ], + "global": [ + { + "type": "Patient", + "profile": "http://hl7.org/fhir/us/core/StructureDefinition/patient" + } + ], + "definition": { + "grouping": [ + { + "name": "test", + "description": "Base package (not broken up into multiple packages)" + } + ], + "resource": [ + { + "reference": { + "reference": "Patient/test" + }, + "name": "Test Example", + "description": "A test example to show how an implementation guide works", + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/patient" + ] + } + ], + "page": { + "name": "patient-example.html", + "title": "Example Patient Page", + "generation": "html", + "page": [ + { + "name": "list.html", + "title": "Value Set Page", + "generation": "html" + } + ] + }, + "parameter": [ + { + "code": { + "system": "http://hl7.org/fhir/guide-parameter-code", + "code": "apply" + }, + "value": "version" + }, + { + "code" : { + "system": "http://hl7.org/fhir/guide-parameter-code", + "code": "copyrightyear" + }, + "value": "2020+" + } + ] + }, + "manifest": { + "rendering": "http://hl7.org/fhir/us/daf", + "resource": [ + { + "reference": { + "reference": "Patient/test" + }, + "profile": [ + "http://hl7.org/fhir/us/core/StructureDefinition/patient" + ], + "relativePath": "patient-test.html#patient-test" + } + ], + "page": [ + { + "name": "patient-test.html", + "title": "Test Patient Example", + "anchor": [ + "patient-test", + "tx", + "uml" + ] + } + ], + "image": [ + "fhir.png" + ], + "other": [ + "fhir.css" + ] + } +} \ No newline at end of file From 0ab9f38057037a0ba08ec2a60381400b278bb9b8 Mon Sep 17 00:00:00 2001 From: dotasek Date: Fri, 9 Sep 2022 17:35:24 -0400 Subject: [PATCH 111/156] Update RELEASE_NOTES.md ***NO_CI*** --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 962a30fb0..22e3854a7 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -6,3 +6,4 @@ * Improved HTML compliance (img.alt) * Improved example generation +* Improved handling of illegal parameters in ImplementationGuideDefinition From 9b9c12c97a2d9cfd9a381eb62198696bff88a234 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Fri, 9 Sep 2022 21:56:43 +0000 Subject: [PATCH 112/156] Release: v5.6.61 ## Validator Changes * no changes ## Other code changes * Improved HTML compliance (img.alt) * Improved example generation * Improved handling of illegal parameters in ImplementationGuideDefinition ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index d6c87bc27..46d48e2a7 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index ece6f9274..a74b9ab43 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 0f7275edb..38806e19f 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 23969fd04..7bf4581e7 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 42a544fca..68cd74578 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 00e874c51..bccab9953 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 563d0944d..de6f366ad 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 7ee6e6b82..1e4bb3e1e 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 017b515b6..c12253077 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 15aa09812..04558a81d 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 4e18da3e2..8694d28c7 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 ../pom.xml diff --git a/pom.xml b/pom.xml index 84e8c6944..a15e599e7 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.61-SNAPSHOT + 5.6.61 pom From 31238146a0cf00f42cc6727103a9311c13b737c6 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Fri, 9 Sep 2022 22:13:28 +0000 Subject: [PATCH 113/156] Updating version to: 5.6.62-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 4 +--- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 13 insertions(+), 15 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 22e3854a7..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,6 +4,4 @@ ## Other code changes -* Improved HTML compliance (img.alt) -* Improved example generation -* Improved handling of illegal parameters in ImplementationGuideDefinition +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 46d48e2a7..86f1578c5 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index a74b9ab43..e55b7e953 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 38806e19f..02701177c 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 7bf4581e7..48ff2e2cb 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 68cd74578..7dd4d363c 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index bccab9953..64ef20898 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index de6f366ad..8bbc0f64d 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 1e4bb3e1e..b2f924cd1 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index c12253077..8345362c4 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 04558a81d..92c62bbe8 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 8694d28c7..a4e9f2cd8 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index a15e599e7..95de264b7 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.61 + 5.6.62-SNAPSHOT pom From 0148208a14c053cd0556b281690fd08dec40da87 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 10 Sep 2022 15:02:29 +1000 Subject: [PATCH 114/156] Fix version problem with MessageHeader.entry --- .../primitive40_50/Canonical40_50.java | 29 +++++++++++++++++++ .../resources40_50/MessageHeader40_50.java | 14 ++++++--- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Canonical40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Canonical40_50.java index 8b01c54cf..3e6cf10ec 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Canonical40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/datatypes40_50/primitive40_50/Canonical40_50.java @@ -2,6 +2,8 @@ package org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r4.model.Type; +import org.hl7.fhir.r5.model.DataType; public class Canonical40_50 { public static org.hl7.fhir.r5.model.CanonicalType convertCanonical(org.hl7.fhir.r4.model.CanonicalType src) throws FHIRException { @@ -15,4 +17,31 @@ public class Canonical40_50 { ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); return tgt; } + + public static org.hl7.fhir.r5.model.UriType convertCanonicalToUri(org.hl7.fhir.r4.model.CanonicalType src) throws FHIRException { + org.hl7.fhir.r5.model.UriType tgt = src.hasValue() ? new org.hl7.fhir.r5.model.UriType(src.getValueAsString()) : new org.hl7.fhir.r5.model.UriType(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + return tgt; + } + + public static org.hl7.fhir.r4.model.UriType convertCanonicalToUri(org.hl7.fhir.r5.model.CanonicalType src) throws FHIRException { + org.hl7.fhir.r4.model.UriType tgt = src.hasValue() ? new org.hl7.fhir.r4.model.UriType(src.getValueAsString()) : new org.hl7.fhir.r4.model.UriType(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + return tgt; + } + + + + public static org.hl7.fhir.r5.model.CanonicalType convertUriToCanonical(org.hl7.fhir.r4.model.UriType src) throws FHIRException { + org.hl7.fhir.r5.model.CanonicalType tgt = src.hasValue() ? new org.hl7.fhir.r5.model.CanonicalType(src.getValueAsString()) : new org.hl7.fhir.r5.model.CanonicalType(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + return tgt; + } + + public static org.hl7.fhir.r4.model.CanonicalType convertUriToCanonical(org.hl7.fhir.r5.model.UriType src) throws FHIRException { + org.hl7.fhir.r4.model.CanonicalType tgt = src.hasValue() ? new org.hl7.fhir.r4.model.CanonicalType(src.getValueAsString()) : new org.hl7.fhir.r4.model.CanonicalType(); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyElement(src, tgt); + return tgt; + } + } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java index 2feb5d60c..d36962143 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/MessageHeader40_50.java @@ -2,6 +2,7 @@ package org.hl7.fhir.convertors.conv40_50.resources40_50; import org.hl7.fhir.convertors.context.ConversionContext40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.CodeableConcept40_50; +import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.Coding40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.general40_50.ContactPoint40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Canonical40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.String40_50; @@ -45,8 +46,11 @@ public class MessageHeader40_50 { return null; org.hl7.fhir.r5.model.MessageHeader tgt = new org.hl7.fhir.r5.model.MessageHeader(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); - if (src.hasEvent()) - tgt.setEvent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getEvent())); + if (src.hasEventUriType()) + tgt.setEvent(Canonical40_50.convertUriToCanonical(src.getEventUriType())); + if (src.hasEventCoding()) + tgt.setEvent(Coding40_50.convertCoding(src.getEventCoding())); + for (org.hl7.fhir.r4.model.MessageHeader.MessageDestinationComponent t : src.getDestination()) tgt.addDestination(convertMessageDestinationComponent(t)); if (src.hasSender()) @@ -74,8 +78,10 @@ public class MessageHeader40_50 { return null; org.hl7.fhir.r4.model.MessageHeader tgt = new org.hl7.fhir.r4.model.MessageHeader(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyDomainResource(src, tgt); - if (src.hasEvent()) - tgt.setEvent(ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().convertType(src.getEvent())); + if (src.hasEventCanonicalType()) + tgt.setEvent(Canonical40_50.convertCanonicalToUri(src.getEventCanonicalType())); + if (src.hasEventCoding()) + tgt.setEvent(Coding40_50.convertCoding(src.getEventCoding())); for (org.hl7.fhir.r5.model.MessageHeader.MessageDestinationComponent t : src.getDestination()) tgt.addDestination(convertMessageDestinationComponent(t)); if (src.hasSender()) From 3fbb505722c6b003f310a9ac9105a16c54b2cbd2 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 10 Sep 2022 15:02:48 +1000 Subject: [PATCH 115/156] Fix concept link rendering problem --- .../fhir/r5/renderers/TerminologyRenderer.java | 6 +++++- .../hl7/fhir/r5/renderers/ValueSetRenderer.java | 17 +++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java index bc288eba6..c8b2302ef 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java @@ -115,7 +115,11 @@ public abstract class TerminologyRenderer extends ResourceRenderer { for (UsedConceptMap m : maps) { XhtmlNode td = tr.td(); XhtmlNode b = td.b(); - XhtmlNode a = b.ah(getContext().getSpecificationLink()+m.getLink()); + String link = m.getLink(); + if (!Utilities.isAbsoluteUrl(link)) { + link = getContext().getSpecificationLink()+link; + } + XhtmlNode a = b.ah(link); a.addText(m.getDetails().getName()); if (m.getDetails().isDoDescription() && m.getMap().hasDescription()) addMarkdown(td, m.getMap().getDescription()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index 485d8eb5e..5cd90ccdc 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -844,14 +844,15 @@ public class ValueSetRenderer extends TerminologyRenderer { } private void addRefToCode(XhtmlNode td, String target, String vslink, String code) { - CodeSystem cs = getContext().getWorker().fetchCodeSystem(target); - String cslink = getCsRef(cs); - XhtmlNode a = null; - if (cslink != null) - a = td.ah(getContext().getSpecificationLink()+cslink+"#"+cs.getId()+"-"+code); - else - a = td.ah(getContext().getSpecificationLink()+vslink+"#"+code); - a.addText(code); + addCodeToTable(false, target, code, null, td); +// CodeSystem cs = getContext().getWorker().fetchCodeSystem(target); +// String cslink = getCsRef(cs); +// String link = cslink != null ? cslink+"#"+cs.getId()+"-"+code : vslink+"#"+code; +// if (!Utilities.isAbsoluteUrl(link)) { +// link = getContext().getSpecificationLink()+link; +// } +// XhtmlNode a = td.ah(link); +// a.addText(code); } private boolean generateComposition(XhtmlNode x, ValueSet vs, boolean header, List maps) throws FHIRException, IOException { From 5f4a31980151c0952d605467c45d91faae0f6f90 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 10 Sep 2022 15:02:59 +1000 Subject: [PATCH 116/156] more type characteristics fixing --- .../validation/instance/type/StructureDefinitionValidator.java | 1 + 1 file changed, 1 insertion(+) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index d89bdb288..a33279035 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -295,6 +295,7 @@ public class StructureDefinitionValidator extends BaseValidator { case "VirtualServiceDetail" :return addCharacteristicsForType(set); case "Availability" :return addCharacteristicsForType(set); case "MonetaryComponent" :return addCharacteristicsForType(set); + case "ElementDefinition" :return addCharacteristicsForType(set); case "BackboneElement" :return addCharacteristicsForType(set); default: From b18f3adfce6514c5d11c1f8bc51bb4989fa15b01 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 10 Sep 2022 15:51:09 +1000 Subject: [PATCH 117/156] release notes --- RELEASE_NOTES.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..037e4575e 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,8 @@ ## Validator Changes -* no changes +* More fixing for Type Characteristics ## Other code changes -* no changes \ No newline at end of file +* Fix rendering of concept map code references +* Fix version conversion problem for MessageHeader.event \ No newline at end of file From 5286167c020ac3cf348b49d541ccc606f78dbdd9 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Sat, 10 Sep 2022 06:14:00 +0000 Subject: [PATCH 118/156] Release: v5.6.62 ## Validator Changes * More fixing for Type Characteristics ## Other code changes * Fix rendering of concept map code references * Fix version conversion problem for MessageHeader.event ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 86f1578c5..bbc883074 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index e55b7e953..b1dc0d083 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 02701177c..8b72b36fb 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 48ff2e2cb..48582ff8e 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 7dd4d363c..b8a0fee7b 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 64ef20898..f8ea3a87f 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 8bbc0f64d..c85f3ba9a 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index b2f924cd1..9c33f7e0d 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 8345362c4..f0c9fec59 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 92c62bbe8..cf2432fea 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index a4e9f2cd8..59d515620 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 ../pom.xml diff --git a/pom.xml b/pom.xml index 95de264b7..7d1242fe1 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.62-SNAPSHOT + 5.6.62 pom From 6169f92cb100d12537ee33c322bd64707aff66f6 Mon Sep 17 00:00:00 2001 From: markiantorno Date: Sat, 10 Sep 2022 06:33:43 +0000 Subject: [PATCH 119/156] Updating version to: 5.6.63-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 5 ++--- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 15 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 037e4575e..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,8 +1,7 @@ ## Validator Changes -* More fixing for Type Characteristics +* no changes ## Other code changes -* Fix rendering of concept map code references -* Fix version conversion problem for MessageHeader.event \ No newline at end of file +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index bbc883074..00e52923c 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index b1dc0d083..222c64b9e 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 8b72b36fb..83f348b2f 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 48582ff8e..14c8f1640 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index b8a0fee7b..cf592d7e5 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index f8ea3a87f..881600e62 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index c85f3ba9a..bd16b450a 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 9c33f7e0d..70ae92996 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index f0c9fec59..6faa45280 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index cf2432fea..5cf9b9a10 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 59d515620..d6ee82315 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 7d1242fe1..d69242031 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.62 + 5.6.63-SNAPSHOT pom From 4b03a7e0de09a8b5e9ef8cd371a1eca5525c6887 Mon Sep 17 00:00:00 2001 From: Lloyd McKenzie Date: Sat, 10 Sep 2022 12:32:24 -0600 Subject: [PATCH 120/156] Fix small typo in conversion --- .../conv40_50/resources40_50/ImplementationGuide40_50.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index 846882dfd..829ee0508 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -2320,7 +2320,7 @@ public class ImplementationGuide40_50 { for (org.hl7.fhir.r4.model.Extension e : org.hl7.fhir.r4.utils.ToolingExtensions.getExtensions(src, EXT_IG_DEFINITION_PARAMETER)) { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent p = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); p.getCode().setCode(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "code")); - p.setValue(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "Value")); + p.setValue(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "value")); tgt.addParameter(p); } for (org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionTemplateComponent t : src.getTemplate()) From dd7b44d3d886bac5a7ed86917e39c4ef2c081b4c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sun, 11 Sep 2022 07:30:41 +1000 Subject: [PATCH 121/156] more type characteristic fixes --- .../instance/type/StructureDefinitionValidator.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index a33279035..7efe2fc26 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -224,7 +224,6 @@ public class StructureDefinitionValidator extends BaseValidator { } } // if we see fixed[x] or pattern[x] applied to a repeating element, we'll give the user a hint - } } @@ -236,7 +235,7 @@ public class StructureDefinitionValidator extends BaseValidator { case "decimal" :return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); case "base64Binary" : return addCharacteristicsForType(set, "has-size"); case "instant" : return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); - case "string" : return addCharacteristicsForType(set, "has-length", "do-translations"); + case "string" : return addCharacteristicsForType(set, "has-length", "do-translations", "can-bind"); case "uri" : return addCharacteristicsForType(set, "has-length", "can-bind"); case "date" :return addCharacteristicsForType(set, "has-range", "has-length"); case "dateTime" : return addCharacteristicsForType(set, "has-range", "is-continuous", "has-length"); @@ -244,7 +243,7 @@ public class StructureDefinitionValidator extends BaseValidator { case "canonical" :return addCharacteristicsForType(set, "has-target", "has-length"); case "code" :return addCharacteristicsForType(set, "has-length", "can-bind"); case "id" :return addCharacteristicsForType(set, "has-length"); - case "markdown" :return addCharacteristicsForType(set, "do-translations"); + case "markdown" :return addCharacteristicsForType(set, "do-translations", "has-length"); case "oid" :return addCharacteristicsForType(set, "has-length", "can-bind"); case "positiveInt" :return addCharacteristicsForType(set, "has-range", "has-length"); case "unsignedInt" :return addCharacteristicsForType(set, "has-range", "has-length"); @@ -299,10 +298,10 @@ public class StructureDefinitionValidator extends BaseValidator { case "BackboneElement" :return addCharacteristicsForType(set); default: - if (context.getResourceNames().contains(tc)) - return addCharacteristicsForType(set); - else - throw new Error("Unhandled data type in addCharacterstics: "+tc); + if (!context.getResourceNames().contains(tc)) { + System.out.println("Unhandled data type in addCharacteristics: "+tc); + } + return addCharacteristicsForType(set); } } From a8dbcd4f72d3a348fd9ba1d126e5b670a8bafbdf Mon Sep 17 00:00:00 2001 From: dotasek Date: Mon, 12 Sep 2022 10:57:35 -0400 Subject: [PATCH 122/156] Update RELEASE_NOTES.md ***NO_CI*** --- RELEASE_NOTES.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..9a02f862c 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,4 +4,6 @@ ## Other code changes -* no changes \ No newline at end of file +* Fix NPE ValueSetRenderer +* More fixes in StructureDefinition validation type characteristic +* Fix typo in ImplementationGuideDefinitionParameterComponent `Value` From 2cef00dfb1256b5f67c0a69b27af736f42e6586c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Mon, 12 Sep 2022 23:16:06 +0800 Subject: [PATCH 123/156] fix NPE (#923) Co-authored-by: Grahame Grieve --- .../main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index 5cd90ccdc..01a6a812e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -666,6 +666,9 @@ public class ValueSetRenderer extends TerminologyRenderer { } private String getCsRef(T cs) { + if (cs == null) { + return "?cs-n?"; + } String ref = (String) cs.getUserData("filename"); if (ref == null) ref = (String) cs.getUserData("path"); From 0e2ad40b05d21a7bfc3b781fb9eb645f75e8b88d Mon Sep 17 00:00:00 2001 From: markiantorno Date: Mon, 12 Sep 2022 16:09:27 +0000 Subject: [PATCH 124/156] Release: v5.6.63 ## Validator Changes * no changes ## Other code changes * Fix NPE ValueSetRenderer * More fixes in StructureDefinition validation type characteristic * Fix typo in ImplementationGuideDefinitionParameterComponent `Value` ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 00e52923c..69f531f06 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 222c64b9e..1d7b5cb2b 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 83f348b2f..acf83a317 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 14c8f1640..95fda202a 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index cf592d7e5..c7142afb9 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 881600e62..c142e94ab 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index bd16b450a..6ea11fb54 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 70ae92996..0c51f5c1f 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 6faa45280..1f06d815b 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index 5cf9b9a10..d9623a338 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index d6ee82315..0ab449614 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 ../pom.xml diff --git a/pom.xml b/pom.xml index d69242031..b2c3de76b 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.63-SNAPSHOT + 5.6.63 pom From 09125cbaa4c00905306123afee188d94a15fe1da Mon Sep 17 00:00:00 2001 From: markiantorno Date: Mon, 12 Sep 2022 16:58:38 +0000 Subject: [PATCH 125/156] Updating version to: 5.6.64-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 4 +--- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 13 insertions(+), 15 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 9a02f862c..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -4,6 +4,4 @@ ## Other code changes -* Fix NPE ValueSetRenderer -* More fixes in StructureDefinition validation type characteristic -* Fix typo in ImplementationGuideDefinitionParameterComponent `Value` +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index 69f531f06..cd8c7c6a7 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index 1d7b5cb2b..b56df7e64 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index acf83a317..9d57a4016 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 95fda202a..4b6ffd1e9 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index c7142afb9..6e2a8b0c7 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index c142e94ab..f9cfe03c0 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 6ea11fb54..fcd570858 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 0c51f5c1f..5a3c0c14d 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 1f06d815b..3d18af6a1 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index d9623a338..bb3347461 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 0ab449614..29f8518ba 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index b2c3de76b..77854586d 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.63 + 5.6.64-SNAPSHOT pom From 35233ee1e5ca404284189050d6b4b72dfaa6a324 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 15 Sep 2022 08:41:37 +0200 Subject: [PATCH 126/156] R5 updates for IG publisher --- .../ExtensionDefinitionGenerator.java | 18 +- .../resources40_50/Enumerations40_50.java | 37 + .../ImplementationGuide40_50.java | 42 +- .../fhir/r4/conformance/ProfileUtilities.java | 3 +- .../org/hl7/fhir/r4/model/Enumerations.java | 590 +++++++++++++++- .../org/hl7/fhir/r4b/model/Enumerations.java | 650 ++++++++++++++++-- .../org/hl7/fhir/r5/model/Enumerations.java | 43 +- 7 files changed, 1262 insertions(+), 121 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java index 0e79da9bf..175b5d3fe 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/ExtensionDefinitionGenerator.java @@ -183,12 +183,12 @@ public class ExtensionDefinitionGenerator { private StructureDefinition generateExtension(StructureDefinition type, ElementDefinition ed) throws FHIRException { StructureDefinition ext = new StructureDefinition(); ext.setId("extension-" + ed.getPath().replace("[x]", "")); - ext.setUrl("http://hl7.org/fhir/" + sourceVersion.toCode(3) + "/StructureDefinition/" + ext.getId()); + ext.setUrl("http://hl7.org/fhir/" + sourceVersion.toCode().substring(0, 3) + "/StructureDefinition/" + ext.getId()); if (ext.getId().length() > 64) ext.setId(contract(ext.getId())); ext.setVersion(sourceVersion.toCode()); - ext.setName("ExtensionR" + sourceVersion.toCode(1) + ed.getPath().replace(".", "")); - ext.setTitle("Extension definition for R" + sourceVersion.toCode(1) + " element " + ed.getPath()); + ext.setName("ExtensionR" + sourceVersion.toCode().substring(0, 1) + ed.getPath().replace(".", "")); + ext.setTitle("Extension definition for R" + sourceVersion.toCode().substring(0, 1) + " element " + ed.getPath()); ext.setStatus(PublicationStatus.ACTIVE); ext.setDate(type.getDate()); ext.setFhirVersion(type.getFhirVersion()); @@ -212,7 +212,7 @@ public class ExtensionDefinitionGenerator { v.setSliceName(n); v.getType().clear(); v.setIsSummaryElement(null); - v.addType().setCode("Extension").addProfile("http://hl7.org/fhir/" + sourceVersion.toCode(3) + "/StructureDefinition/extension-" + child.getPath().replace("[x]", "")); + v.addType().setCode("Extension").addProfile("http://hl7.org/fhir/" + sourceVersion.toCode().substring(0, 3) + "/StructureDefinition/extension-" + child.getPath().replace("[x]", "")); ext.getDifferential().addElement(v); } } @@ -237,7 +237,7 @@ public class ExtensionDefinitionGenerator { v.setSliceName(n); v.getType().clear(); v.setIsSummaryElement(null); - v.addType().setCode("Extension").addProfile("http://hl7.org/fhir/" + sourceVersion.toCode(3) + "/StructureDefinition/extension-" + child.getPath().replace("[x]", "")); + v.addType().setCode("Extension").addProfile("http://hl7.org/fhir/" + sourceVersion.toCode().substring(0, 3) + "/StructureDefinition/extension-" + child.getPath().replace("[x]", "")); ext.getDifferential().addElement(v); } } @@ -357,13 +357,13 @@ public class ExtensionDefinitionGenerator { private void savePackage(List extensions) throws FHIRException, IOException { JsonObject npm = new JsonObject(); - npm.addProperty("name", "hl7.fhir.extensions.r" + sourceVersion.toCode(1)); - npm.addProperty("version", targetVersion.toCode(3)); + npm.addProperty("name", "hl7.fhir.extensions.r" + sourceVersion.toCode().substring(0, 1)); + npm.addProperty("version", targetVersion.toCode().substring(0, 3)); npm.addProperty("tools-version", ToolsVersion.TOOLS_VERSION); npm.addProperty("type", PackageType.IG.getCode()); npm.addProperty("license", SPDXLicense.CC01_0.toCode()); - npm.addProperty("canonical", "http://hl7.org/fhir/" + sourceVersion.toCode(3) + "/extensions/" + targetVersion.toCode(3)); - npm.addProperty("url", "http://hl7.org/fhir/" + sourceVersion.toCode(3) + "/extensions/" + targetVersion.toCode(3)); + npm.addProperty("canonical", "http://hl7.org/fhir/" + sourceVersion.toCode().substring(0, 3) + "/extensions/" + targetVersion.toCode().substring(0, 3)); + npm.addProperty("url", "http://hl7.org/fhir/" + sourceVersion.toCode().substring(0, 3) + "/extensions/" + targetVersion.toCode().substring(0, 3)); npm.addProperty("title", "Extension Definitions for representing elements from " + sourceVersion.toCode() + " in " + targetVersion.toCode()); npm.addProperty("description", "Extension Definitions for representing elements from " + sourceVersion.toCode() + " in " + targetVersion.toCode() + " built " + new SimpleDateFormat("EEE, MMM d, yyyy HH:mmZ", new Locale("en", "US")).format(Calendar.getInstance().getTime()) + timezone() + ")"); JsonObject dep = new JsonObject(); diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java index 8bf970061..cf4d8b5a8 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/Enumerations40_50.java @@ -230,6 +230,24 @@ public class Enumerations40_50 { case _4_3_0: tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0); break; + case _4_3_0_CIBUILD: + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0_CIBUILD); + break; + case _4_3_0_SNAPSHOT1: + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._4_3_0_SNAPSHOT1); + break; + case _5_0_0: + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._5_0_0); + break; + case _5_0_0SNAPSHOT1: + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._5_0_0SNAPSHOT1); + break; + case _5_0_0SNAPSHOT2: + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._5_0_0SNAPSHOT2); + break; + case _5_0_0BALLOT: + tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion._5_0_0BALLOT); + break; default: tgt.setValue(org.hl7.fhir.r5.model.Enumerations.FHIRVersion.NULL); break; @@ -318,6 +336,25 @@ public class Enumerations40_50 { case _4_3_0: tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_3_0); break; + case _4_3_0_CIBUILD: + tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_3_0_CIBUILD); + break; + case _4_3_0_SNAPSHOT1: + tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._4_3_0_SNAPSHOT1); + break; + case _5_0_0: + tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._5_0_0); + break; + case _5_0_0SNAPSHOT1: + tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._5_0_0SNAPSHOT1); + break; + case _5_0_0SNAPSHOT2: + tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._5_0_0SNAPSHOT2); + break; + case _5_0_0BALLOT: + tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion._5_0_0BALLOT); + break; + default: tgt.setValue(org.hl7.fhir.r4.model.Enumerations.FHIRVersion.NULL); break; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java index d4f4cd33b..133099991 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv40_50/resources40_50/ImplementationGuide40_50.java @@ -17,6 +17,7 @@ import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Uri40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.primitive40_50.Url40_50; import org.hl7.fhir.convertors.conv40_50.datatypes40_50.special40_50.Reference40_50; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r4.model.UrlType; import org.hl7.fhir.r5.model.ImplementationGuide; import org.hl7.fhir.utilities.Utilities; @@ -51,7 +52,10 @@ import org.hl7.fhir.utilities.Utilities; // Generated on Sun, Feb 24, 2019 11:37+1100 for FHIR v4.0.0 public class ImplementationGuide40_50 { + static final String EXT_IG_DEFINITION_PAGE_NAME = "http://hl7.org/fhir/tools/StructureDefinition/ig-page-name"; static final String EXT_IG_DEFINITION_PARAMETER = "http://hl7.org/fhir/tools/StructureDefinition/ig-parameter"; + static final String EXT_IG_DEFINITION_PARAM_URL_EXT = "http://hl7.org/fhir/tools/CodeSystem/ig-parameters"; + static final String EXT_IG_DEFINITION_PARAM_URL_BASE = "http://hl7.org/fhir/guide-parameter-code"; public static org.hl7.fhir.r5.model.ImplementationGuide convertImplementationGuide(org.hl7.fhir.r4.model.ImplementationGuide src) throws FHIRException { if (src == null) @@ -2321,6 +2325,7 @@ public class ImplementationGuide40_50 { for (org.hl7.fhir.r4.model.Extension e : org.hl7.fhir.r4.utils.ToolingExtensions.getExtensions(src, EXT_IG_DEFINITION_PARAMETER)) { org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent p = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); p.getCode().setCode(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "code")); + p.getCode().setSystem(EXT_IG_DEFINITION_PARAM_URL_EXT); p.setValue(org.hl7.fhir.r4.utils.ToolingExtensions.readStringExtension(e, "value")); tgt.addParameter(p); } @@ -2428,11 +2433,22 @@ public class ImplementationGuide40_50 { if (src == null) return null; org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); - ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasNameReference()) - tgt.setName(src.getNameReference().getReference()); - if (src.hasNameUrlType()) - tgt.setName(src.getNameUrlType().getValue()); + ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt, EXT_IG_DEFINITION_PAGE_NAME); + if (src.hasExtension(EXT_IG_DEFINITION_PAGE_NAME)) { + tgt.setNameElement(Url40_50.convertUrl((UrlType) src.getExtensionByUrl(EXT_IG_DEFINITION_PAGE_NAME).getValue())); + } + if (src.hasNameReference()) { + tgt.setSource(new org.hl7.fhir.r5.model.UrlType(src.getNameReference().getReference())); + if (!tgt.hasName()) { + tgt.setName(tgt.getSourceUrlType().asStringValue()); + } + } + if (src.hasNameUrlType()) { + tgt.setSource(Url40_50.convertUrl(src.getNameUrlType())); + if (!tgt.hasName()) { + tgt.setName(tgt.getSourceUrlType().asStringValue()); + } + } if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -2447,8 +2463,12 @@ public class ImplementationGuide40_50 { return null; org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent tgt = new org.hl7.fhir.r4.model.ImplementationGuide.ImplementationGuideDefinitionPageComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasName()) - tgt.setName(new org.hl7.fhir.r4.model.UrlType(src.getName())); + if (src.hasName()) { + tgt.addExtension().setUrl(EXT_IG_DEFINITION_PAGE_NAME).setValue(Url40_50.convertUrl(src.getNameElement())); + } + if (src.hasSourceUrlType()) { + tgt.setName(Url40_50.convertUrl(src.getSourceUrlType())); + } if (src.hasTitle()) tgt.setTitleElement(String40_50.convertString(src.getTitleElement())); if (src.hasGeneration()) @@ -2513,8 +2533,14 @@ public class ImplementationGuide40_50 { return null; org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent tgt = new org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionParameterComponent(); ConversionContext40_50.INSTANCE.getVersionConvertor_40_50().copyBackboneElement(src, tgt); - if (src.hasCode()) + if (src.hasCode()) { tgt.getCode().setCode(src.getCode()); + if (Utilities.existsInList(tgt.getCode().getCode(), "apply", "path-resource", "path-pages", "path-tx-cache", "expansion-parameter", "rule-broken-links", "generate-xml", "generate-json", "generate-turtle", "html-template")) { + tgt.getCode().setSystem(EXT_IG_DEFINITION_PARAM_URL_BASE); + } else { + tgt.getCode().setSystem(EXT_IG_DEFINITION_PARAM_URL_EXT); + } + } if (src.hasValue()) tgt.setValueElement(String40_50.convertString(src.getValueElement())); return tgt; diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/conformance/ProfileUtilities.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/conformance/ProfileUtilities.java index 76412361f..e831a773a 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/conformance/ProfileUtilities.java @@ -103,6 +103,7 @@ import org.hl7.fhir.r4.utils.formats.XLSXWriter; import org.hl7.fhir.utilities.CommaSeparatedStringBuilder; import org.hl7.fhir.utilities.TerminologyServiceOptions; import org.hl7.fhir.utilities.Utilities; +import org.hl7.fhir.utilities.VersionUtilities; import org.hl7.fhir.utilities.validation.ValidationMessage; import org.hl7.fhir.utilities.validation.ValidationMessage.Source; import org.hl7.fhir.utilities.xhtml.HierarchicalTableGenerator; @@ -776,7 +777,7 @@ public class ProfileUtilities extends TranslatingUtilities { if (typeList.get(0).type != null) { // this is the short cut method, we've just dived in and specified a type slice. // in R3 (and unpatched R4, as a workaround right now... - if (!FHIRVersion.isR4Plus(context.getVersion()) || !newSlicingProcessing) { // newSlicingProcessing is a work around for editorial loop dependency + if (!VersionUtilities.isR4Plus(context.getVersion()) || !newSlicingProcessing) { // newSlicingProcessing is a work around for editorial loop dependency // we insert a cloned element with the right types at the start of the diffMatches ElementDefinition ed = new ElementDefinition(); ed.setPath(determineTypeSlicePath(diffMatches.get(0).getPath(), cpath)); diff --git a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/Enumerations.java b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/Enumerations.java index 5e85cd4bd..830497399 100644 --- a/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/Enumerations.java +++ b/org.hl7.fhir.r4/src/main/java/org/hl7/fhir/r4/model/Enumerations.java @@ -9957,6 +9957,10 @@ The primary difference between a medication statement and a medication administr */ _0_11, /** + * DSTU 1 version. + */ + _0_0, + /** * DSTU 1 Official version. */ _0_0_80, @@ -9969,14 +9973,26 @@ The primary difference between a medication statement and a medication administr */ _0_0_82, /** + * January 2015 Ballot. + */ + _0_4, + /** * Draft For Comment (January 2015 Ballot). */ _0_4_0, /** + * May 2015 Ballot. + */ + _0_5, + /** * DSTU 2 Ballot version (May 2015 Ballot). */ _0_5_0, /** + * DSTU 2 version. + */ + _1_0, + /** * DSTU 2 QA Preview + CQIF Ballot (Sep 2015). */ _1_0_0, @@ -9989,22 +10005,42 @@ The primary difference between a medication statement and a medication administr */ _1_0_2, /** + * GAO Ballot version. + */ + _1_1, + /** * GAO Ballot + draft changes to main FHIR standard. */ _1_1_0, /** + * Connectathon 12 (Montreal) version. + */ + _1_4, + /** * CQF on FHIR Ballot + Connectathon 12 (Montreal). */ _1_4_0, /** + * Connectathon 13 (Baltimore) version. + */ + _1_6, + /** * FHIR STU3 Ballot + Connectathon 13 (Baltimore). */ _1_6_0, /** + * Connectathon 14 (San Antonio) version. + */ + _1_8, + /** * FHIR STU3 Candidate + Connectathon 14 (San Antonio). */ _1_8_0, /** + * STU3 version. + */ + _3_0, + /** * FHIR Release 3 (STU). */ _3_0_0, @@ -10017,28 +10053,110 @@ The primary difference between a medication statement and a medication administr */ _3_0_2, /** - * R4 Ballot #1. + * R4 Ballot #1 version. + */ + _3_3, + /** + * R4 Ballot #1 + Connectaton 18 (Cologne). */ _3_3_0, /** - * R4 Ballot #2. + * R4 Ballot #2 version. + */ + _3_5, + /** + * R4 Ballot #2 + Connectathon 19 (Baltimore). */ _3_5_0, /** + * R4 version. + */ + _4_0, + /** * FHIR Release 4 (Normative + STU). */ _4_0_0, /** - * added to help the parsers + * FHIR Release 4 (Normative + STU) with 1 technical errata. */ _4_0_1, /** - * R4B - manually added + * R4B Ballot #1 version. + */ + _4_1, + /** + * R4B Ballot #1 + Connectathon 27 (Virtual). */ _4_1_0, _4_3_0_SNAPSHOT1, _4_3_0_CIBUILD, + /** + * R5 Preview #1 version. + */ + _4_2, + /** + * R5 Preview #1 + Connectathon 23 (Sydney). + */ + _4_2_0, + /** + * R4B version. + */ + _4_3, + /** + * FHIR Release 4B (Normative + STU). + */ _4_3_0, + /** + * R5 Preview #2 version. + */ + _4_4, + /** + * R5 Preview #2 + Connectathon 24 (Virtual). + */ + _4_4_0, + /** + * R5 Preview #3 version. + */ + _4_5, + /** + * R5 Preview #3 + Connectathon 25 (Virtual). + */ + _4_5_0, + /** + * R5 Draft Ballot version. + */ + _4_6, + /** + * R5 Draft Ballot + Connectathon 27 (Virtual). + */ + _4_6_0, + /** + * R5 Versions. + */ + _5_0, + /** + * R5 Final Version. + */ + _5_0_0, + /** + * R5 Rolling ci-build. + */ + _5_0_0CIBUILD, + /** + * R5 Preview #2. + */ + _5_0_0SNAPSHOT1, + /** + * R5 Interim tooling stage. + */ + _5_0_0SNAPSHOT2, + /** + * R5 Ballot. + */ + _5_0_0BALLOT, + /** + * added to help the parsers + */ NULL; public static FHIRVersion fromCode(String codeString) throws FHIRException { if (codeString == null || "".equals(codeString)) @@ -10051,57 +10169,220 @@ The primary difference between a medication statement and a medication administr return _0_06; if ("0.11".equals(codeString)) return _0_11; + if ("0.0".equals(codeString)) + return _0_0; 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".equals(codeString)) + return _0_4; if ("0.4.0".equals(codeString)) return _0_4_0; + if ("0.5".equals(codeString)) + return _0_5; if ("0.5.0".equals(codeString)) return _0_5_0; + if ("1.0".equals(codeString)) + return _1_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".equals(codeString)) + return _1_1; if ("1.1.0".equals(codeString)) return _1_1_0; + if ("1.4".equals(codeString)) + return _1_4; if ("1.4.0".equals(codeString)) return _1_4_0; + if ("1.6".equals(codeString)) + return _1_6; if ("1.6.0".equals(codeString)) return _1_6_0; + if ("1.8".equals(codeString)) + return _1_8; if ("1.8.0".equals(codeString)) return _1_8_0; + if ("3.0".equals(codeString)) + return _3_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".equals(codeString)) + return _3_3; if ("3.3.0".equals(codeString)) return _3_3_0; + if ("3.5".equals(codeString)) + return _3_5; if ("3.5.0".equals(codeString)) return _3_5_0; + if ("4.0".equals(codeString)) + return _4_0; if ("4.0.0".equals(codeString)) return _4_0_0; if ("4.0.1".equals(codeString)) return _4_0_1; + if ("4.1".equals(codeString)) + return _4_1; if ("4.1.0".equals(codeString)) return _4_1_0; if ("4.3.0-snapshot1".equals(codeString)) return _4_3_0_SNAPSHOT1; if ("4.3.0-cibuild".equals(codeString)) return _4_3_0_CIBUILD; + if ("4.2".equals(codeString)) + return _4_2; + if ("4.2.0".equals(codeString)) + return _4_2_0; + if ("4.3".equals(codeString)) + return _4_3; if ("4.3.0".equals(codeString)) return _4_3_0; + if ("4.4".equals(codeString)) + return _4_4; + if ("4.4.0".equals(codeString)) + return _4_4_0; + if ("4.5".equals(codeString)) + return _4_5; + if ("4.5.0".equals(codeString)) + return _4_5_0; + if ("4.6".equals(codeString)) + return _4_6; + if ("4.6.0".equals(codeString)) + return _4_6_0; + if ("5.0".equals(codeString)) + return _5_0; + if ("5.0.0".equals(codeString)) + return _5_0_0; + if ("5.0.0-cibuild".equals(codeString)) + return _5_0_0CIBUILD; + if ("5.0.0-snapshot1".equals(codeString)) + return _5_0_0SNAPSHOT1; + if ("5.0.0-snapshot2".equals(codeString)) + return _5_0_0SNAPSHOT2; + if ("5.0.0-ballot".equals(codeString)) + return _5_0_0BALLOT; throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } - @Override - public String toString() { - return toCode(); + 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".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".equals(codeString)) + return true; + if ("0.4.0".equals(codeString)) + return true; + if ("0.5".equals(codeString)) + return true; + if ("0.5.0".equals(codeString)) + return true; + if ("1.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".equals(codeString)) + return true; + if ("1.1.0".equals(codeString)) + return true; + if ("1.4".equals(codeString)) + return true; + if ("1.4.0".equals(codeString)) + return true; + if ("1.6".equals(codeString)) + return true; + if ("1.6.0".equals(codeString)) + return true; + if ("1.8".equals(codeString)) + return true; + if ("1.8.0".equals(codeString)) + return true; + if ("3.0".equals(codeString)) + return true; + if ("3.0.0".equals(codeString)) + return true; + if ("3.0.1".equals(codeString)) + return true; + if ("3.0.2".equals(codeString)) + return true; + if ("3.3".equals(codeString)) + return true; + if ("3.3.0".equals(codeString)) + return true; + if ("3.5".equals(codeString)) + return true; + if ("3.5.0".equals(codeString)) + return true; + if ("4.0".equals(codeString)) + return true; + if ("4.0.0".equals(codeString)) + return true; + if ("4.0.1".equals(codeString)) + return true; + if ("4.1".equals(codeString)) + return true; + if ("4.1.0".equals(codeString)) + return true; + if ("4.2".equals(codeString)) + return true; + if ("4.2.0".equals(codeString)) + return true; + if ("4.3".equals(codeString)) + return true; + if ("4.3.0".equals(codeString)) + return true; + if ("4.4".equals(codeString)) + return true; + if ("4.4.0".equals(codeString)) + return true; + if ("4.5".equals(codeString)) + return true; + if ("4.5.0".equals(codeString)) + return true; + if ("4.6".equals(codeString)) + return true; + if ("4.6.0".equals(codeString)) + return true; + if ("5.0".equals(codeString)) + return true; + if ("5.0.0".equals(codeString)) + return true; + if ("5.0.0-cibuild".equals(codeString)) + return true; + if ("5.0.0-snapshot1".equals(codeString)) + return true; + if ("5.0.0-snapshot2".equals(codeString)) + return true; + if ("5.0.0-ballot".equals(codeString)) + return true; + return false; } public String toCode() { switch (this) { @@ -10109,30 +10390,57 @@ The primary difference between a medication statement and a medication administr case _0_05: return "0.05"; case _0_06: return "0.06"; case _0_11: return "0.11"; + case _0_0: return "0.0"; case _0_0_80: return "0.0.80"; case _0_0_81: return "0.0.81"; case _0_0_82: return "0.0.82"; + case _0_4: return "0.4"; case _0_4_0: return "0.4.0"; + case _0_5: return "0.5"; case _0_5_0: return "0.5.0"; + case _1_0: return "1.0"; case _1_0_0: return "1.0.0"; case _1_0_1: return "1.0.1"; case _1_0_2: return "1.0.2"; + case _1_1: return "1.1"; case _1_1_0: return "1.1.0"; + case _1_4: return "1.4"; case _1_4_0: return "1.4.0"; + case _1_6: return "1.6"; case _1_6_0: return "1.6.0"; + case _1_8: return "1.8"; case _1_8_0: return "1.8.0"; + case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; case _3_0_2: return "3.0.2"; + case _3_3: return "3.3"; case _3_3_0: return "3.3.0"; + case _3_5: return "3.5"; case _3_5_0: return "3.5.0"; + case _4_0: return "4.0"; case _4_0_0: return "4.0.0"; case _4_0_1: return "4.0.1"; + case _4_1: return "4.1"; case _4_1_0: return "4.1.0"; case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot1"; case _4_3_0_CIBUILD: return "4.3.0-cibuild"; + case _4_2: return "4.2"; + case _4_2_0: return "4.2.0"; + case _4_3: return "4.3"; case _4_3_0: return "4.3.0"; - + case _4_4: return "4.4"; + case _4_4_0: return "4.4.0"; + case _4_5: return "4.5"; + case _4_5_0: return "4.5.0"; + case _4_6: return "4.6"; + case _4_6_0: return "4.6.0"; + case _5_0: return "5.0"; + case _5_0_0: return "5.0.0"; + case _5_0_0CIBUILD: return "5.0.0-cibuild"; + case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; + case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; + case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } @@ -10143,29 +10451,57 @@ The primary difference between a medication statement and a medication administr case _0_05: return "http://hl7.org/fhir/FHIR-version"; case _0_06: return "http://hl7.org/fhir/FHIR-version"; case _0_11: return "http://hl7.org/fhir/FHIR-version"; + case _0_0: return "http://hl7.org/fhir/FHIR-version"; case _0_0_80: return "http://hl7.org/fhir/FHIR-version"; case _0_0_81: return "http://hl7.org/fhir/FHIR-version"; case _0_0_82: return "http://hl7.org/fhir/FHIR-version"; + case _0_4: return "http://hl7.org/fhir/FHIR-version"; case _0_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _0_5: return "http://hl7.org/fhir/FHIR-version"; case _0_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_0: return "http://hl7.org/fhir/FHIR-version"; case _1_0_0: return "http://hl7.org/fhir/FHIR-version"; case _1_0_1: return "http://hl7.org/fhir/FHIR-version"; case _1_0_2: return "http://hl7.org/fhir/FHIR-version"; + case _1_1: return "http://hl7.org/fhir/FHIR-version"; case _1_1_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_4: return "http://hl7.org/fhir/FHIR-version"; case _1_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_6: return "http://hl7.org/fhir/FHIR-version"; case _1_6_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_8: return "http://hl7.org/fhir/FHIR-version"; case _1_8_0: return "http://hl7.org/fhir/FHIR-version"; + case _3_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_1: return "http://hl7.org/fhir/FHIR-version"; case _3_0_2: return "http://hl7.org/fhir/FHIR-version"; + case _3_3: return "http://hl7.org/fhir/FHIR-version"; case _3_3_0: return "http://hl7.org/fhir/FHIR-version"; + case _3_5: return "http://hl7.org/fhir/FHIR-version"; case _3_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_0: return "http://hl7.org/fhir/FHIR-version"; case _4_0_0: return "http://hl7.org/fhir/FHIR-version"; case _4_0_1: return "http://hl7.org/fhir/FHIR-version"; + case _4_1: return "http://hl7.org/fhir/FHIR-version"; case _4_1_0: return "http://hl7.org/fhir/FHIR-version"; case _4_3_0_SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version"; + case _4_2: return "http://hl7.org/fhir/FHIR-version"; + case _4_2_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_3: return "http://hl7.org/fhir/FHIR-version"; case _4_3_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_4: return "http://hl7.org/fhir/FHIR-version"; + case _4_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_5: return "http://hl7.org/fhir/FHIR-version"; + case _4_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_6: return "http://hl7.org/fhir/FHIR-version"; + case _4_6_0: return "http://hl7.org/fhir/FHIR-version"; + case _5_0: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0CIBUILD: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0SNAPSHOT2: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0BALLOT: return "http://hl7.org/fhir/FHIR-version"; case NULL: return null; default: return "?"; } @@ -10176,29 +10512,57 @@ The primary difference between a medication statement and a medication administr case _0_05: return "1st Draft for Comment (Sept 2012 Ballot)."; case _0_06: return "2nd Draft for Comment (January 2013 Ballot)."; case _0_11: return "DSTU 1 Ballot version."; + case _0_0: return "DSTU 1 version."; case _0_0_80: return "DSTU 1 Official version."; case _0_0_81: return "DSTU 1 Official version Technical Errata #1."; case _0_0_82: return "DSTU 1 Official version Technical Errata #2."; + case _0_4: return "January 2015 Ballot."; case _0_4_0: return "Draft For Comment (January 2015 Ballot)."; + case _0_5: return "May 2015 Ballot."; case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot)."; + case _1_0: return "DSTU 2 version."; case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015)."; case _1_0_1: return "DSTU 2 (Official version)."; case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata."; + case _1_1: return "GAO Ballot version."; case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard."; + case _1_4: return "Connectathon 12 (Montreal) version."; case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal)."; + case _1_6: return "Connectathon 13 (Baltimore) version."; case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore)."; + case _1_8: return "Connectathon 14 (San Antonio) version."; case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio)."; + case _3_0: return "STU3 version."; case _3_0_0: return "FHIR Release 3 (STU)."; case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata."; case _3_0_2: return "FHIR Release 3 (STU) with 2 technical errata."; - case _3_3_0: return "R4 Ballot #1."; - case _3_5_0: return "R4 Ballot #2."; + case _3_3: return "R4 Ballot #1 version."; + case _3_3_0: return "R4 Ballot #1 + Connectaton 18 (Cologne)."; + case _3_5: return "R4 Ballot #2 version."; + case _3_5_0: return "R4 Ballot #2 + Connectathon 19 (Baltimore)."; + case _4_0: return "R4 version."; case _4_0_0: return "FHIR Release 4 (Normative + STU)."; - case _4_0_1: return "FHIR Release 4 Technical Correction #1."; - case _4_1_0: return "FHIR Release 4B Ballot #1"; + case _4_0_1: return "FHIR Release 4 (Normative + STU) with 1 technical errata."; + case _4_1: return "R4B Ballot #1 version."; + case _4_1_0: return "R4B Ballot #1 + Connectathon 27 (Virtual)."; + case _4_2: return "R5 Preview #1 version."; + case _4_2_0: return "R5 Preview #1 + Connectathon 23 (Sydney)."; case _4_3_0_SNAPSHOT1: return "FHIR Release 4B Snapshot #1"; case _4_3_0_CIBUILD: return "FHIR Release 4B CI-Builld"; - case _4_3_0: return "FHIR Release 4B"; + case _4_3: return "R4B version."; + case _4_3_0: return "FHIR Release 4B (Normative + STU)."; + case _4_4: return "R5 Preview #2 version."; + case _4_4_0: return "R5 Preview #2 + Connectathon 24 (Virtual)."; + case _4_5: return "R5 Preview #3 version."; + case _4_5_0: return "R5 Preview #3 + Connectathon 25 (Virtual)."; + case _4_6: return "R5 Draft Ballot version."; + case _4_6_0: return "R5 Draft Ballot + Connectathon 27 (Virtual)."; + case _5_0: return "R5 Versions."; + case _5_0_0: return "R5 Final Version."; + case _5_0_0CIBUILD: return "R5 Rolling ci-build."; + case _5_0_0SNAPSHOT1: return "R5 Preview #2."; + case _5_0_0SNAPSHOT2: return "R5 Interim tooling stage."; + case _5_0_0BALLOT: return "R5 Ballot."; case NULL: return null; default: return "?"; } @@ -10209,39 +10573,61 @@ The primary difference between a medication statement and a medication administr case _0_05: return "0.05"; case _0_06: return "0.06"; case _0_11: return "0.11"; + case _0_0: return "0.0"; case _0_0_80: return "0.0.80"; case _0_0_81: return "0.0.81"; case _0_0_82: return "0.0.82"; + case _0_4: return "0.4"; case _0_4_0: return "0.4.0"; + case _0_5: return "0.5"; case _0_5_0: return "0.5.0"; + case _1_0: return "1.0"; case _1_0_0: return "1.0.0"; case _1_0_1: return "1.0.1"; case _1_0_2: return "1.0.2"; + case _1_1: return "1.1"; case _1_1_0: return "1.1.0"; + case _1_4: return "1.4"; case _1_4_0: return "1.4.0"; + case _1_6: return "1.6"; case _1_6_0: return "1.6.0"; + case _1_8: return "1.8"; case _1_8_0: return "1.8.0"; + case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; case _3_0_2: return "3.0.2"; + case _3_3: return "3.3"; case _3_3_0: return "3.3.0"; + case _3_5: return "3.5"; case _3_5_0: return "3.5.0"; + case _4_0: return "4.0"; case _4_0_0: return "4.0.0"; case _4_0_1: return "4.0.1"; + case _4_1: return "4.1"; case _4_1_0: return "4.1.0"; + case _4_2: return "4.2"; + case _4_2_0: return "4.2.0"; + case _4_3: return "4.3"; case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot"; case _4_3_0_CIBUILD: return "4.3.0-cibuild"; case _4_3_0: return "4.3.0"; + case _4_4: return "4.4"; + case _4_4_0: return "4.4.0"; + case _4_5: return "4.5"; + case _4_5_0: return "4.5.0"; + case _4_6: return "4.6"; + case _4_6_0: return "4.6.0"; + case _5_0: return "5.0"; + case _5_0_0: return "5.0.0"; + case _5_0_0CIBUILD: return "5.0.0-cibuild"; + case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; + case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; + case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } } - public String toCode(int len) { - return toCode().substring(0, len); - } - public static boolean isR4Plus(String version) { - return false; - } } public static class FHIRVersionEnumFactory implements EnumFactory { @@ -10265,44 +10651,96 @@ The primary difference between a medication statement and a medication administr return FHIRVersion._0_0_82; if ("0.4.0".equals(codeString)) return FHIRVersion._0_4_0; + if ("0.5".equals(codeString)) + return FHIRVersion._0_5; if ("0.5.0".equals(codeString)) return FHIRVersion._0_5_0; + if ("1.0".equals(codeString)) + return FHIRVersion._1_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".equals(codeString)) + return FHIRVersion._1_1; if ("1.1.0".equals(codeString)) return FHIRVersion._1_1_0; + if ("1.4".equals(codeString)) + return FHIRVersion._1_4; if ("1.4.0".equals(codeString)) return FHIRVersion._1_4_0; + if ("1.6".equals(codeString)) + return FHIRVersion._1_6; if ("1.6.0".equals(codeString)) return FHIRVersion._1_6_0; + if ("1.8".equals(codeString)) + return FHIRVersion._1_8; if ("1.8.0".equals(codeString)) return FHIRVersion._1_8_0; + if ("3.0".equals(codeString)) + return FHIRVersion._3_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".equals(codeString)) + return FHIRVersion._3_3; if ("3.3.0".equals(codeString)) return FHIRVersion._3_3_0; + if ("3.5".equals(codeString)) + return FHIRVersion._3_5; if ("3.5.0".equals(codeString)) return FHIRVersion._3_5_0; + if ("4.0".equals(codeString)) + return FHIRVersion._4_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".equals(codeString)) + return FHIRVersion._4_1; if ("4.1.0".equals(codeString)) return FHIRVersion._4_1_0; + if ("4.2".equals(codeString)) + return FHIRVersion._4_2; + if ("4.2.0".equals(codeString)) + return FHIRVersion._4_2_0; if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) return FHIRVersion._4_3_0_SNAPSHOT1; if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) return FHIRVersion._4_3_0_CIBUILD; - if ("4.3.0".equalsIgnoreCase(codeString)) + if ("4.3".equals(codeString)) + return FHIRVersion._4_3; + if ("4.3.0".equals(codeString)) return FHIRVersion._4_3_0; + if ("4.4".equals(codeString)) + return FHIRVersion._4_4; + if ("4.4.0".equals(codeString)) + return FHIRVersion._4_4_0; + if ("4.5".equals(codeString)) + return FHIRVersion._4_5; + if ("4.5.0".equals(codeString)) + return FHIRVersion._4_5_0; + if ("4.6".equals(codeString)) + return FHIRVersion._4_6; + if ("4.6.0".equals(codeString)) + return FHIRVersion._4_6_0; + if ("5.0".equals(codeString)) + return FHIRVersion._5_0; + if ("5.0.0".equals(codeString)) + return FHIRVersion._5_0_0; + if ("5.0.0-cibuild".equals(codeString)) + return FHIRVersion._5_0_0CIBUILD; + if ("5.0.0-snapshot1".equals(codeString)) + return FHIRVersion._5_0_0SNAPSHOT1; + if ("5.0.0-snapshot2".equals(codeString)) + return FHIRVersion._5_0_0SNAPSHOT2; + if ("5.0.0-ballot".equals(codeString)) + return FHIRVersion._5_0_0BALLOT; throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -10321,52 +10759,108 @@ The primary difference between a medication statement and a medication administr return new Enumeration(this, FHIRVersion._0_06); if ("0.11".equals(codeString)) return new Enumeration(this, FHIRVersion._0_11); + if ("0.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._0_0); if ("0.0.80".equals(codeString)) return new Enumeration(this, FHIRVersion._0_0_80); if ("0.0.81".equals(codeString)) return new Enumeration(this, FHIRVersion._0_0_81); if ("0.0.82".equals(codeString)) return new Enumeration(this, FHIRVersion._0_0_82); + if ("0.4".equals(codeString)) + return new Enumeration(this, FHIRVersion._0_4); if ("0.4.0".equals(codeString)) return new Enumeration(this, FHIRVersion._0_4_0); + if ("0.5".equals(codeString)) + return new Enumeration(this, FHIRVersion._0_5); if ("0.5.0".equals(codeString)) return new Enumeration(this, FHIRVersion._0_5_0); + if ("1.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_0); if ("1.0.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_0_0); if ("1.0.1".equals(codeString)) return new Enumeration(this, FHIRVersion._1_0_1); if ("1.0.2".equals(codeString)) return new Enumeration(this, FHIRVersion._1_0_2); + if ("1.1".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_1); if ("1.1.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_1_0); + if ("1.4".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_4); if ("1.4.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_4_0); + if ("1.6".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_6); if ("1.6.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_6_0); + if ("1.8".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_8); if ("1.8.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_8_0); + if ("3.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._3_0); if ("3.0.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0_0); if ("3.0.1".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0_1); if ("3.0.2".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0_2); + if ("3.3".equals(codeString)) + return new Enumeration(this, FHIRVersion._3_3); if ("3.3.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_3_0); + if ("3.5".equals(codeString)) + return new Enumeration(this, FHIRVersion._3_5); if ("3.5.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_5_0); + if ("4.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_0); if ("4.0.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_0_0); if ("4.0.1".equals(codeString)) return new Enumeration(this, FHIRVersion._4_0_1); + if ("4.1".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_1); if ("4.1.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_1_0); + if ("4.2".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_2); + if ("4.2.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_2_0); if ("4.3.0-snapshot1".equals(codeString)) return new Enumeration(this, FHIRVersion._4_3_0_SNAPSHOT1); if ("4.3.0-cibuild".equals(codeString)) return new Enumeration(this, FHIRVersion._4_3_0_CIBUILD); + if ("4.3".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_3); if ("4.3.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_3_0); + if ("4.4".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_4); + if ("4.4.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_4_0); + if ("4.5".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_5); + if ("4.5.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_5_0); + if ("4.6".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_6); + if ("4.6.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_6_0); + if ("5.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0); + if ("5.0.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0); + if ("5.0.0-cibuild".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0CIBUILD); + if ("5.0.0-snapshot1".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT1); + if ("5.0.0-snapshot2".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT2); + if ("5.0.0-ballot".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0BALLOT); throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } public String toCode(FHIRVersion code) { @@ -10378,52 +10872,108 @@ The primary difference between a medication statement and a medication administr return "0.06"; if (code == FHIRVersion._0_11) return "0.11"; + if (code == FHIRVersion._0_0) + return "0.0"; if (code == FHIRVersion._0_0_80) return "0.0.80"; if (code == FHIRVersion._0_0_81) return "0.0.81"; if (code == FHIRVersion._0_0_82) return "0.0.82"; + if (code == FHIRVersion._0_4) + return "0.4"; if (code == FHIRVersion._0_4_0) return "0.4.0"; + if (code == FHIRVersion._0_5) + return "0.5"; if (code == FHIRVersion._0_5_0) return "0.5.0"; + if (code == FHIRVersion._1_0) + return "1.0"; if (code == FHIRVersion._1_0_0) return "1.0.0"; if (code == FHIRVersion._1_0_1) return "1.0.1"; if (code == FHIRVersion._1_0_2) return "1.0.2"; + if (code == FHIRVersion._1_1) + return "1.1"; if (code == FHIRVersion._1_1_0) return "1.1.0"; + if (code == FHIRVersion._1_4) + return "1.4"; if (code == FHIRVersion._1_4_0) return "1.4.0"; + if (code == FHIRVersion._1_6) + return "1.6"; if (code == FHIRVersion._1_6_0) return "1.6.0"; + if (code == FHIRVersion._1_8) + return "1.8"; if (code == FHIRVersion._1_8_0) return "1.8.0"; + if (code == FHIRVersion._3_0) + return "3.0"; if (code == FHIRVersion._3_0_0) return "3.0.0"; if (code == FHIRVersion._3_0_1) return "3.0.1"; if (code == FHIRVersion._3_0_2) return "3.0.2"; + if (code == FHIRVersion._3_3) + return "3.3"; if (code == FHIRVersion._3_3_0) return "3.3.0"; + if (code == FHIRVersion._3_5) + return "3.5"; if (code == FHIRVersion._3_5_0) return "3.5.0"; + if (code == FHIRVersion._4_0) + return "4.0"; if (code == FHIRVersion._4_0_0) return "4.0.0"; if (code == FHIRVersion._4_0_1) return "4.0.1"; + if (code == FHIRVersion._4_1) + return "4.1"; if (code == FHIRVersion._4_1_0) return "4.1.0"; + if (code == FHIRVersion._4_2) + return "4.2"; + if (code == FHIRVersion._4_2_0) + return "4.2.0"; + if (code == FHIRVersion._4_3) + return "4.3"; if (code == FHIRVersion._4_3_0_SNAPSHOT1) return "4.3.0-snapshot1"; if (code == FHIRVersion._4_3_0_CIBUILD) return "4.3.0-cibuild"; if (code == FHIRVersion._4_3_0) return "4.3.0"; + if (code == FHIRVersion._4_4) + return "4.4"; + if (code == FHIRVersion._4_4_0) + return "4.4.0"; + if (code == FHIRVersion._4_5) + return "4.5"; + if (code == FHIRVersion._4_5_0) + return "4.5.0"; + if (code == FHIRVersion._4_6) + return "4.6"; + if (code == FHIRVersion._4_6_0) + return "4.6.0"; + if (code == FHIRVersion._5_0) + return "5.0"; + if (code == FHIRVersion._5_0_0) + return "5.0.0"; + if (code == FHIRVersion._5_0_0CIBUILD) + return "5.0.0-cibuild"; + if (code == FHIRVersion._5_0_0SNAPSHOT1) + return "5.0.0-snapshot1"; + if (code == FHIRVersion._5_0_0SNAPSHOT2) + return "5.0.0-snapshot2"; + if (code == FHIRVersion._5_0_0BALLOT) + return "5.0.0-ballot"; return "?"; } public String toSystem(FHIRVersion code) { diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/Enumerations.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/Enumerations.java index 66c65675c..dbd70ca33 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/Enumerations.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/model/Enumerations.java @@ -6027,6 +6027,10 @@ The primary difference between a medication statement and a medication administr * DSTU 1 Ballot version. */ _0_11, + /** + * DSTU 1 version. + */ + _0_0, /** * DSTU 1 Official version. */ @@ -6039,14 +6043,26 @@ The primary difference between a medication statement and a medication administr * DSTU 1 Official version Technical Errata #2. */ _0_0_82, + /** + * January 2015 Ballot. + */ + _0_4, /** * Draft For Comment (January 2015 Ballot). */ _0_4_0, + /** + * May 2015 Ballot. + */ + _0_5, /** * DSTU 2 Ballot version (May 2015 Ballot). */ _0_5_0, + /** + * DSTU 2 version. + */ + _1_0, /** * DSTU 2 QA Preview + CQIF Ballot (Sep 2015). */ @@ -6059,22 +6075,42 @@ The primary difference between a medication statement and a medication administr * DSTU 2 (Official version) with 1 technical errata. */ _1_0_2, + /** + * GAO Ballot version. + */ + _1_1, /** * GAO Ballot + draft changes to main FHIR standard. */ _1_1_0, + /** + * Connectathon 12 (Montreal) version. + */ + _1_4, /** * CQF on FHIR Ballot + Connectathon 12 (Montreal). */ _1_4_0, + /** + * Connectathon 13 (Baltimore) version. + */ + _1_6, /** * FHIR STU3 Ballot + Connectathon 13 (Baltimore). */ _1_6_0, + /** + * Connectathon 14 (San Antonio) version. + */ + _1_8, /** * FHIR STU3 Candidate + Connectathon 14 (San Antonio). */ _1_8_0, + /** + * STU3 version. + */ + _3_0, /** * FHIR Release 3 (STU). */ @@ -6083,40 +6119,112 @@ The primary difference between a medication statement and a medication administr * FHIR Release 3 (STU) with 1 technical errata. */ _3_0_1, + /** + * FHIR Release 3 (STU) with 2 technical errata. + */ _3_0_2, /** - * R4 Ballot #1. + * R4 Ballot #1 version. + */ + _3_3, + /** + * R4 Ballot #1 + Connectaton 18 (Cologne). */ _3_3_0, /** - * R4 Ballot #2. + * R4 Ballot #2 version. + */ + _3_5, + /** + * R4 Ballot #2 + Connectathon 19 (Baltimore). */ _3_5_0, + /** + * R4 version. + */ + _4_0, /** * FHIR Release 4 (Normative + STU). */ _4_0_0, /** - * FHIR Release 4 Technical Correction. + * FHIR Release 4 (Normative + STU) with 1 technical errata. */ _4_0_1, /** - * FHIR Release 4B Ballot #1. + * R4B Ballot #1 version. + */ + _4_1, + /** + * R4B Ballot #1 + Connectathon 27 (Virtual). */ _4_1_0, + _4_3_0_SNAPSHOT1, + _4_3_0_CIBUILD, + /** + * R5 Preview #1 version. + */ + _4_2, + /** + * R5 Preview #1 + Connectathon 23 (Sydney). + */ _4_2_0, /** - * FHIR Release 4B Snapshot #1. + * R4B version. */ - _4_3_0SNAPSHOT1, + _4_3, /** - * FHIR Release 4B CI-Build. - */ - _4_3_0CIBUILD, - /** - * FHIR Release 4B + * FHIR Release 4B (Normative + STU). */ _4_3_0, + /** + * R5 Preview #2 version. + */ + _4_4, + /** + * R5 Preview #2 + Connectathon 24 (Virtual). + */ + _4_4_0, + /** + * R5 Preview #3 version. + */ + _4_5, + /** + * R5 Preview #3 + Connectathon 25 (Virtual). + */ + _4_5_0, + /** + * R5 Draft Ballot version. + */ + _4_6, + /** + * R5 Draft Ballot + Connectathon 27 (Virtual). + */ + _4_6_0, + /** + * R5 Versions. + */ + _5_0, + /** + * R5 Final Version. + */ + _5_0_0, + /** + * R5 Rolling ci-build. + */ + _5_0_0CIBUILD, + /** + * R5 Preview #2. + */ + _5_0_0SNAPSHOT1, + /** + * R5 Interim tooling stage. + */ + _5_0_0SNAPSHOT2, + /** + * R5 Ballot. + */ + _5_0_0BALLOT, /** * added to help the parsers */ @@ -6132,86 +6240,279 @@ The primary difference between a medication statement and a medication administr return _0_06; if ("0.11".equals(codeString)) return _0_11; + if ("0.0".equals(codeString)) + return _0_0; 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".equals(codeString)) + return _0_4; if ("0.4.0".equals(codeString)) return _0_4_0; + if ("0.5".equals(codeString)) + return _0_5; if ("0.5.0".equals(codeString)) return _0_5_0; + if ("1.0".equals(codeString)) + return _1_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".equals(codeString)) + return _1_1; if ("1.1.0".equals(codeString)) return _1_1_0; + if ("1.4".equals(codeString)) + return _1_4; if ("1.4.0".equals(codeString)) return _1_4_0; + if ("1.6".equals(codeString)) + return _1_6; if ("1.6.0".equals(codeString)) return _1_6_0; + if ("1.8".equals(codeString)) + return _1_8; if ("1.8.0".equals(codeString)) return _1_8_0; + if ("3.0".equals(codeString)) + return _3_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".equals(codeString)) + return _3_3; if ("3.3.0".equals(codeString)) return _3_3_0; + if ("3.5".equals(codeString)) + return _3_5; if ("3.5.0".equals(codeString)) return _3_5_0; + if ("4.0".equals(codeString)) + return _4_0; if ("4.0.0".equals(codeString)) return _4_0_0; if ("4.0.1".equals(codeString)) return _4_0_1; + if ("4.1".equals(codeString)) + return _4_1; if ("4.1.0".equals(codeString)) return _4_1_0; + if ("4.3.0-snapshot1".equals(codeString)) + return _4_3_0_SNAPSHOT1; + if ("4.3.0-cibuild".equals(codeString)) + return _4_3_0_CIBUILD; + if ("4.2".equals(codeString)) + return _4_2; if ("4.2.0".equals(codeString)) return _4_2_0; - if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) - return _4_3_0SNAPSHOT1; - if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) - return _4_3_0CIBUILD; - if ("4.3.0".equalsIgnoreCase(codeString)) + if ("4.3".equals(codeString)) + return _4_3; + if ("4.3.0".equals(codeString)) return _4_3_0; + if ("4.4".equals(codeString)) + return _4_4; + if ("4.4.0".equals(codeString)) + return _4_4_0; + if ("4.5".equals(codeString)) + return _4_5; + if ("4.5.0".equals(codeString)) + return _4_5_0; + if ("4.6".equals(codeString)) + return _4_6; + if ("4.6.0".equals(codeString)) + return _4_6_0; + if ("5.0".equals(codeString)) + return _5_0; + if ("5.0.0".equals(codeString)) + return _5_0_0; + if ("5.0.0-cibuild".equals(codeString)) + return _5_0_0CIBUILD; + if ("5.0.0-snapshot1".equals(codeString)) + return _5_0_0SNAPSHOT1; + if ("5.0.0-snapshot2".equals(codeString)) + return _5_0_0SNAPSHOT2; + if ("5.0.0-ballot".equals(codeString)) + return _5_0_0BALLOT; throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } + 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".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".equals(codeString)) + return true; + if ("0.4.0".equals(codeString)) + return true; + if ("0.5".equals(codeString)) + return true; + if ("0.5.0".equals(codeString)) + return true; + if ("1.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".equals(codeString)) + return true; + if ("1.1.0".equals(codeString)) + return true; + if ("1.4".equals(codeString)) + return true; + if ("1.4.0".equals(codeString)) + return true; + if ("1.6".equals(codeString)) + return true; + if ("1.6.0".equals(codeString)) + return true; + if ("1.8".equals(codeString)) + return true; + if ("1.8.0".equals(codeString)) + return true; + if ("3.0".equals(codeString)) + return true; + if ("3.0.0".equals(codeString)) + return true; + if ("3.0.1".equals(codeString)) + return true; + if ("3.0.2".equals(codeString)) + return true; + if ("3.3".equals(codeString)) + return true; + if ("3.3.0".equals(codeString)) + return true; + if ("3.5".equals(codeString)) + return true; + if ("3.5.0".equals(codeString)) + return true; + if ("4.0".equals(codeString)) + return true; + if ("4.0.0".equals(codeString)) + return true; + if ("4.0.1".equals(codeString)) + return true; + if ("4.1".equals(codeString)) + return true; + if ("4.1.0".equals(codeString)) + return true; + if ("4.2".equals(codeString)) + return true; + if ("4.2.0".equals(codeString)) + return true; + if ("4.3".equals(codeString)) + return true; + if ("4.3.0".equals(codeString)) + return true; + if ("4.4".equals(codeString)) + return true; + if ("4.4.0".equals(codeString)) + return true; + if ("4.5".equals(codeString)) + return true; + if ("4.5.0".equals(codeString)) + return true; + if ("4.6".equals(codeString)) + return true; + if ("4.6.0".equals(codeString)) + return true; + if ("5.0".equals(codeString)) + return true; + if ("5.0.0".equals(codeString)) + return true; + if ("5.0.0-cibuild".equals(codeString)) + return true; + if ("5.0.0-snapshot1".equals(codeString)) + return true; + if ("5.0.0-snapshot2".equals(codeString)) + return true; + if ("5.0.0-ballot".equals(codeString)) + return true; + return false; + } + public String toCode() { switch (this) { case _0_01: return "0.01"; case _0_05: return "0.05"; case _0_06: return "0.06"; case _0_11: return "0.11"; + case _0_0: return "0.0"; case _0_0_80: return "0.0.80"; case _0_0_81: return "0.0.81"; case _0_0_82: return "0.0.82"; + case _0_4: return "0.4"; case _0_4_0: return "0.4.0"; + case _0_5: return "0.5"; case _0_5_0: return "0.5.0"; + case _1_0: return "1.0"; case _1_0_0: return "1.0.0"; case _1_0_1: return "1.0.1"; case _1_0_2: return "1.0.2"; + case _1_1: return "1.1"; case _1_1_0: return "1.1.0"; + case _1_4: return "1.4"; case _1_4_0: return "1.4.0"; + case _1_6: return "1.6"; case _1_6_0: return "1.6.0"; + case _1_8: return "1.8"; case _1_8_0: return "1.8.0"; + case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; case _3_0_2: return "3.0.2"; + case _3_3: return "3.3"; case _3_3_0: return "3.3.0"; + case _3_5: return "3.5"; case _3_5_0: return "3.5.0"; + case _4_0: return "4.0"; case _4_0_0: return "4.0.0"; case _4_0_1: return "4.0.1"; + case _4_1: return "4.1"; case _4_1_0: return "4.1.0"; + case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot1"; + case _4_3_0_CIBUILD: return "4.3.0-cibuild"; + case _4_2: return "4.2"; case _4_2_0: return "4.2.0"; - case _4_3_0SNAPSHOT1: return "4.3.0-snapshot1"; - case _4_3_0CIBUILD: return "4.3.0-cibuild"; + case _4_3: return "4.3"; case _4_3_0: return "4.3.0"; + case _4_4: return "4.4"; + case _4_4_0: return "4.4.0"; + case _4_5: return "4.5"; + case _4_5_0: return "4.5.0"; + case _4_6: return "4.6"; + case _4_6_0: return "4.6.0"; + case _5_0: return "5.0"; + case _5_0_0: return "5.0.0"; + case _5_0_0CIBUILD: return "5.0.0-cibuild"; + case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; + case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; + case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } @@ -6222,30 +6523,57 @@ The primary difference between a medication statement and a medication administr case _0_05: return "http://hl7.org/fhir/FHIR-version"; case _0_06: return "http://hl7.org/fhir/FHIR-version"; case _0_11: return "http://hl7.org/fhir/FHIR-version"; + case _0_0: return "http://hl7.org/fhir/FHIR-version"; case _0_0_80: return "http://hl7.org/fhir/FHIR-version"; case _0_0_81: return "http://hl7.org/fhir/FHIR-version"; case _0_0_82: return "http://hl7.org/fhir/FHIR-version"; + case _0_4: return "http://hl7.org/fhir/FHIR-version"; case _0_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _0_5: return "http://hl7.org/fhir/FHIR-version"; case _0_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_0: return "http://hl7.org/fhir/FHIR-version"; case _1_0_0: return "http://hl7.org/fhir/FHIR-version"; case _1_0_1: return "http://hl7.org/fhir/FHIR-version"; case _1_0_2: return "http://hl7.org/fhir/FHIR-version"; + case _1_1: return "http://hl7.org/fhir/FHIR-version"; case _1_1_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_4: return "http://hl7.org/fhir/FHIR-version"; case _1_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_6: return "http://hl7.org/fhir/FHIR-version"; case _1_6_0: return "http://hl7.org/fhir/FHIR-version"; + case _1_8: return "http://hl7.org/fhir/FHIR-version"; case _1_8_0: return "http://hl7.org/fhir/FHIR-version"; + case _3_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_0: return "http://hl7.org/fhir/FHIR-version"; case _3_0_1: return "http://hl7.org/fhir/FHIR-version"; case _3_0_2: return "http://hl7.org/fhir/FHIR-version"; + case _3_3: return "http://hl7.org/fhir/FHIR-version"; case _3_3_0: return "http://hl7.org/fhir/FHIR-version"; + case _3_5: return "http://hl7.org/fhir/FHIR-version"; case _3_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_0: return "http://hl7.org/fhir/FHIR-version"; case _4_0_0: return "http://hl7.org/fhir/FHIR-version"; case _4_0_1: return "http://hl7.org/fhir/FHIR-version"; + case _4_1: return "http://hl7.org/fhir/FHIR-version"; case _4_1_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_3_0_SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; + case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version"; + case _4_2: return "http://hl7.org/fhir/FHIR-version"; case _4_2_0: return "http://hl7.org/fhir/FHIR-version"; - case _4_3_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; - case _4_3_0CIBUILD: return "http://hl7.org/fhir/FHIR-version"; + case _4_3: return "http://hl7.org/fhir/FHIR-version"; case _4_3_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_4: return "http://hl7.org/fhir/FHIR-version"; + case _4_4_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_5: return "http://hl7.org/fhir/FHIR-version"; + case _4_5_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_6: return "http://hl7.org/fhir/FHIR-version"; + case _4_6_0: return "http://hl7.org/fhir/FHIR-version"; + case _5_0: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0CIBUILD: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0SNAPSHOT2: return "http://hl7.org/fhir/FHIR-version"; + case _5_0_0BALLOT: return "http://hl7.org/fhir/FHIR-version"; case NULL: return null; default: return "?"; } @@ -6256,30 +6584,57 @@ The primary difference between a medication statement and a medication administr case _0_05: return "1st Draft for Comment (Sept 2012 Ballot)."; case _0_06: return "2nd Draft for Comment (January 2013 Ballot)."; case _0_11: return "DSTU 1 Ballot version."; + case _0_0: return "DSTU 1 version."; case _0_0_80: return "DSTU 1 Official version."; case _0_0_81: return "DSTU 1 Official version Technical Errata #1."; case _0_0_82: return "DSTU 1 Official version Technical Errata #2."; + case _0_4: return "January 2015 Ballot."; case _0_4_0: return "Draft For Comment (January 2015 Ballot)."; + case _0_5: return "May 2015 Ballot."; case _0_5_0: return "DSTU 2 Ballot version (May 2015 Ballot)."; + case _1_0: return "DSTU 2 version."; case _1_0_0: return "DSTU 2 QA Preview + CQIF Ballot (Sep 2015)."; case _1_0_1: return "DSTU 2 (Official version)."; case _1_0_2: return "DSTU 2 (Official version) with 1 technical errata."; + case _1_1: return "GAO Ballot version."; case _1_1_0: return "GAO Ballot + draft changes to main FHIR standard."; + case _1_4: return "Connectathon 12 (Montreal) version."; case _1_4_0: return "CQF on FHIR Ballot + Connectathon 12 (Montreal)."; + case _1_6: return "Connectathon 13 (Baltimore) version."; case _1_6_0: return "FHIR STU3 Ballot + Connectathon 13 (Baltimore)."; + case _1_8: return "Connectathon 14 (San Antonio) version."; case _1_8_0: return "FHIR STU3 Candidate + Connectathon 14 (San Antonio)."; + case _3_0: return "STU3 version."; case _3_0_0: return "FHIR Release 3 (STU)."; case _3_0_1: return "FHIR Release 3 (STU) with 1 technical errata."; case _3_0_2: return "FHIR Release 3 (STU) with 2 technical errata."; - case _3_3_0: return "R4 Ballot #1."; - case _3_5_0: return "R4 Ballot #2."; + case _3_3: return "R4 Ballot #1 version."; + case _3_3_0: return "R4 Ballot #1 + Connectaton 18 (Cologne)."; + case _3_5: return "R4 Ballot #2 version."; + case _3_5_0: return "R4 Ballot #2 + Connectathon 19 (Baltimore)."; + case _4_0: return "R4 version."; case _4_0_0: return "FHIR Release 4 (Normative + STU)."; - case _4_0_1: return "FHIR Release 4 Technical Correction."; - case _4_1_0: return "FHIR Release 4B Ballot #1."; - case _4_2_0: return "FHIR Release 5 Draft #1."; - case _4_3_0SNAPSHOT1: return "FHIR Release 4B Snapshot #1."; - case _4_3_0CIBUILD: return "FHIR Release 4B CI-Build."; - case _4_3_0: return "FHIR Release 4B"; + case _4_0_1: return "FHIR Release 4 (Normative + STU) with 1 technical errata."; + case _4_1: return "R4B Ballot #1 version."; + case _4_1_0: return "R4B Ballot #1 + Connectathon 27 (Virtual)."; + case _4_2: return "R5 Preview #1 version."; + case _4_2_0: return "R5 Preview #1 + Connectathon 23 (Sydney)."; + case _4_3_0_SNAPSHOT1: return "FHIR Release 4B Snapshot #1"; + case _4_3_0_CIBUILD: return "FHIR Release 4B CI-Builld"; + case _4_3: return "R4B version."; + case _4_3_0: return "FHIR Release 4B (Normative + STU)."; + case _4_4: return "R5 Preview #2 version."; + case _4_4_0: return "R5 Preview #2 + Connectathon 24 (Virtual)."; + case _4_5: return "R5 Preview #3 version."; + case _4_5_0: return "R5 Preview #3 + Connectathon 25 (Virtual)."; + case _4_6: return "R5 Draft Ballot version."; + case _4_6_0: return "R5 Draft Ballot + Connectathon 27 (Virtual)."; + case _5_0: return "R5 Versions."; + case _5_0_0: return "R5 Final Version."; + case _5_0_0CIBUILD: return "R5 Rolling ci-build."; + case _5_0_0SNAPSHOT1: return "R5 Preview #2."; + case _5_0_0SNAPSHOT2: return "R5 Interim tooling stage."; + case _5_0_0BALLOT: return "R5 Ballot."; case NULL: return null; default: return "?"; } @@ -6290,60 +6645,61 @@ The primary difference between a medication statement and a medication administr case _0_05: return "0.05"; case _0_06: return "0.06"; case _0_11: return "0.11"; + case _0_0: return "0.0"; case _0_0_80: return "0.0.80"; case _0_0_81: return "0.0.81"; case _0_0_82: return "0.0.82"; + case _0_4: return "0.4"; case _0_4_0: return "0.4.0"; + case _0_5: return "0.5"; case _0_5_0: return "0.5.0"; + case _1_0: return "1.0"; case _1_0_0: return "1.0.0"; case _1_0_1: return "1.0.1"; case _1_0_2: return "1.0.2"; + case _1_1: return "1.1"; case _1_1_0: return "1.1.0"; + case _1_4: return "1.4"; case _1_4_0: return "1.4.0"; + case _1_6: return "1.6"; case _1_6_0: return "1.6.0"; + case _1_8: return "1.8"; case _1_8_0: return "1.8.0"; + case _3_0: return "3.0"; case _3_0_0: return "3.0.0"; case _3_0_1: return "3.0.1"; case _3_0_2: return "3.0.2"; + case _3_3: return "3.3"; case _3_3_0: return "3.3.0"; + case _3_5: return "3.5"; case _3_5_0: return "3.5.0"; + case _4_0: return "4.0"; case _4_0_0: return "4.0.0"; case _4_0_1: return "4.0.1"; + case _4_1: return "4.1"; case _4_1_0: return "4.1.0"; + case _4_2: return "4.2"; case _4_2_0: return "4.2.0"; - case _4_3_0SNAPSHOT1: return "4.3.0-snapshot1"; - case _4_3_0CIBUILD: return "4.3.0-cibuild"; + case _4_3: return "4.3"; + case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot"; + case _4_3_0_CIBUILD: return "4.3.0-cibuild"; case _4_3_0: return "4.3.0"; + case _4_4: return "4.4"; + case _4_4_0: return "4.4.0"; + case _4_5: return "4.5"; + case _4_5_0: return "4.5.0"; + case _4_6: return "4.6"; + case _4_6_0: return "4.6.0"; + case _5_0: return "5.0"; + case _5_0_0: return "5.0.0"; + case _5_0_0CIBUILD: return "5.0.0-cibuild"; + case _5_0_0SNAPSHOT1: return "5.0.0-snapshot1"; + case _5_0_0SNAPSHOT2: return "5.0.0-snapshot2"; + case _5_0_0BALLOT: return "5.0.0-ballot"; case NULL: return null; default: return "?"; } } -// manual code from configuration.txt: -//public String toCode(int len) { -// return toCode().substring(0, len); -// } - -// public static boolean isR4Plus(String version) { -// return version != null && (version.startsWith("4.") || version.startsWith("5.") || "current".equals(version)); -// } -// - public static boolean isValidCode(String codeString) { - return Utilities.existsInList(codeString, "0.01", "0.05", "0.06", "0.11", "0.0.80", "0.0.81" ,"0.0.82", "0.4.0", "0.5.0", - "1.0.0", "1.0.1", "1.0.2", "1.1.0", "1.4.0", "1.6.0", "1.8.0", "3.0.0", "3.0.1", "3.0.2", "3.3.0", "3.5.0", - "4.0.0", "4.0.1", "4.1.0" ,"4.2.0" ,"4.3.0-snapshot1" ,"4.3.0-cibuild" ,"4.3.0"); - } - - @Override - public String toString() { - return toCode(); - } - -// -// public boolean isR4B() { -// return toCode().startsWith("4.1"); -// } - -// end addition } public static class FHIRVersionEnumFactory implements EnumFactory { @@ -6359,54 +6715,108 @@ The primary difference between a medication statement and a medication administr return FHIRVersion._0_06; if ("0.11".equals(codeString)) return FHIRVersion._0_11; + if ("0.0".equals(codeString)) + return FHIRVersion._0_0; 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".equals(codeString)) + return FHIRVersion._0_4; if ("0.4.0".equals(codeString)) return FHIRVersion._0_4_0; + if ("0.5".equals(codeString)) + return FHIRVersion._0_5; if ("0.5.0".equals(codeString)) return FHIRVersion._0_5_0; + if ("1.0".equals(codeString)) + return FHIRVersion._1_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".equals(codeString)) + return FHIRVersion._1_1; if ("1.1.0".equals(codeString)) return FHIRVersion._1_1_0; + if ("1.4".equals(codeString)) + return FHIRVersion._1_4; if ("1.4.0".equals(codeString)) return FHIRVersion._1_4_0; + if ("1.6".equals(codeString)) + return FHIRVersion._1_6; if ("1.6.0".equals(codeString)) return FHIRVersion._1_6_0; + if ("1.8".equals(codeString)) + return FHIRVersion._1_8; if ("1.8.0".equals(codeString)) return FHIRVersion._1_8_0; + if ("3.0".equals(codeString)) + return FHIRVersion._3_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".equals(codeString)) + return FHIRVersion._3_3; if ("3.3.0".equals(codeString)) return FHIRVersion._3_3_0; + if ("3.5".equals(codeString)) + return FHIRVersion._3_5; if ("3.5.0".equals(codeString)) return FHIRVersion._3_5_0; + if ("4.0".equals(codeString)) + return FHIRVersion._4_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".equals(codeString)) + return FHIRVersion._4_1; if ("4.1.0".equals(codeString)) return FHIRVersion._4_1_0; + if ("4.2".equals(codeString)) + return FHIRVersion._4_2; if ("4.2.0".equals(codeString)) return FHIRVersion._4_2_0; if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) - return FHIRVersion._4_3_0SNAPSHOT1; + return FHIRVersion._4_3_0_SNAPSHOT1; if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) - return FHIRVersion._4_3_0CIBUILD; - if ("4.3.0".equalsIgnoreCase(codeString)) + return FHIRVersion._4_3_0_CIBUILD; + if ("4.3".equals(codeString)) + return FHIRVersion._4_3; + if ("4.3.0".equals(codeString)) return FHIRVersion._4_3_0; + if ("4.4".equals(codeString)) + return FHIRVersion._4_4; + if ("4.4.0".equals(codeString)) + return FHIRVersion._4_4_0; + if ("4.5".equals(codeString)) + return FHIRVersion._4_5; + if ("4.5.0".equals(codeString)) + return FHIRVersion._4_5_0; + if ("4.6".equals(codeString)) + return FHIRVersion._4_6; + if ("4.6.0".equals(codeString)) + return FHIRVersion._4_6_0; + if ("5.0".equals(codeString)) + return FHIRVersion._5_0; + if ("5.0.0".equals(codeString)) + return FHIRVersion._5_0_0; + if ("5.0.0-cibuild".equals(codeString)) + return FHIRVersion._5_0_0CIBUILD; + if ("5.0.0-snapshot1".equals(codeString)) + return FHIRVersion._5_0_0SNAPSHOT1; + if ("5.0.0-snapshot2".equals(codeString)) + return FHIRVersion._5_0_0SNAPSHOT2; + if ("5.0.0-ballot".equals(codeString)) + return FHIRVersion._5_0_0BALLOT; throw new IllegalArgumentException("Unknown FHIRVersion code '"+codeString+"'"); } public Enumeration fromType(Base code) throws FHIRException { @@ -6425,54 +6835,108 @@ The primary difference between a medication statement and a medication administr return new Enumeration(this, FHIRVersion._0_06); if ("0.11".equals(codeString)) return new Enumeration(this, FHIRVersion._0_11); + if ("0.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._0_0); if ("0.0.80".equals(codeString)) return new Enumeration(this, FHIRVersion._0_0_80); if ("0.0.81".equals(codeString)) return new Enumeration(this, FHIRVersion._0_0_81); if ("0.0.82".equals(codeString)) return new Enumeration(this, FHIRVersion._0_0_82); + if ("0.4".equals(codeString)) + return new Enumeration(this, FHIRVersion._0_4); if ("0.4.0".equals(codeString)) return new Enumeration(this, FHIRVersion._0_4_0); + if ("0.5".equals(codeString)) + return new Enumeration(this, FHIRVersion._0_5); if ("0.5.0".equals(codeString)) return new Enumeration(this, FHIRVersion._0_5_0); + if ("1.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_0); if ("1.0.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_0_0); if ("1.0.1".equals(codeString)) return new Enumeration(this, FHIRVersion._1_0_1); if ("1.0.2".equals(codeString)) return new Enumeration(this, FHIRVersion._1_0_2); + if ("1.1".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_1); if ("1.1.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_1_0); + if ("1.4".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_4); if ("1.4.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_4_0); + if ("1.6".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_6); if ("1.6.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_6_0); + if ("1.8".equals(codeString)) + return new Enumeration(this, FHIRVersion._1_8); if ("1.8.0".equals(codeString)) return new Enumeration(this, FHIRVersion._1_8_0); + if ("3.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._3_0); if ("3.0.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0_0); if ("3.0.1".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0_1); if ("3.0.2".equals(codeString)) return new Enumeration(this, FHIRVersion._3_0_2); + if ("3.3".equals(codeString)) + return new Enumeration(this, FHIRVersion._3_3); if ("3.3.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_3_0); + if ("3.5".equals(codeString)) + return new Enumeration(this, FHIRVersion._3_5); if ("3.5.0".equals(codeString)) return new Enumeration(this, FHIRVersion._3_5_0); + if ("4.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_0); if ("4.0.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_0_0); if ("4.0.1".equals(codeString)) return new Enumeration(this, FHIRVersion._4_0_1); + if ("4.1".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_1); if ("4.1.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_1_0); + if ("4.2".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_2); if ("4.2.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_2_0); - if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) - return new Enumeration(this, FHIRVersion._4_3_0SNAPSHOT1); - if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) - return new Enumeration(this, FHIRVersion._4_3_0CIBUILD); - if ("4.3.0".equalsIgnoreCase(codeString)) + if ("4.3.0-snapshot1".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_3_0_SNAPSHOT1); + if ("4.3.0-cibuild".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_3_0_CIBUILD); + if ("4.3".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_3); + if ("4.3.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_3_0); + if ("4.4".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_4); + if ("4.4.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_4_0); + if ("4.5".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_5); + if ("4.5.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_5_0); + if ("4.6".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_6); + if ("4.6.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_6_0); + if ("5.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0); + if ("5.0.0".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0); + if ("5.0.0-cibuild".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0CIBUILD); + if ("5.0.0-snapshot1".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT1); + if ("5.0.0-snapshot2".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0SNAPSHOT2); + if ("5.0.0-ballot".equals(codeString)) + return new Enumeration(this, FHIRVersion._5_0_0BALLOT); throw new FHIRException("Unknown FHIRVersion code '"+codeString+"'"); } public String toCode(FHIRVersion code) { @@ -6484,54 +6948,108 @@ The primary difference between a medication statement and a medication administr return "0.06"; if (code == FHIRVersion._0_11) return "0.11"; + if (code == FHIRVersion._0_0) + return "0.0"; if (code == FHIRVersion._0_0_80) return "0.0.80"; if (code == FHIRVersion._0_0_81) return "0.0.81"; if (code == FHIRVersion._0_0_82) return "0.0.82"; + if (code == FHIRVersion._0_4) + return "0.4"; if (code == FHIRVersion._0_4_0) return "0.4.0"; + if (code == FHIRVersion._0_5) + return "0.5"; if (code == FHIRVersion._0_5_0) return "0.5.0"; + if (code == FHIRVersion._1_0) + return "1.0"; if (code == FHIRVersion._1_0_0) return "1.0.0"; if (code == FHIRVersion._1_0_1) return "1.0.1"; if (code == FHIRVersion._1_0_2) return "1.0.2"; + if (code == FHIRVersion._1_1) + return "1.1"; if (code == FHIRVersion._1_1_0) return "1.1.0"; + if (code == FHIRVersion._1_4) + return "1.4"; if (code == FHIRVersion._1_4_0) return "1.4.0"; + if (code == FHIRVersion._1_6) + return "1.6"; if (code == FHIRVersion._1_6_0) return "1.6.0"; + if (code == FHIRVersion._1_8) + return "1.8"; if (code == FHIRVersion._1_8_0) return "1.8.0"; + if (code == FHIRVersion._3_0) + return "3.0"; if (code == FHIRVersion._3_0_0) return "3.0.0"; if (code == FHIRVersion._3_0_1) return "3.0.1"; if (code == FHIRVersion._3_0_2) return "3.0.2"; + if (code == FHIRVersion._3_3) + return "3.3"; if (code == FHIRVersion._3_3_0) return "3.3.0"; + if (code == FHIRVersion._3_5) + return "3.5"; if (code == FHIRVersion._3_5_0) return "3.5.0"; + if (code == FHIRVersion._4_0) + return "4.0"; if (code == FHIRVersion._4_0_0) return "4.0.0"; if (code == FHIRVersion._4_0_1) return "4.0.1"; + if (code == FHIRVersion._4_1) + return "4.1"; if (code == FHIRVersion._4_1_0) return "4.1.0"; + if (code == FHIRVersion._4_2) + return "4.2"; if (code == FHIRVersion._4_2_0) return "4.2.0"; - if (code == FHIRVersion._4_3_0SNAPSHOT1) + if (code == FHIRVersion._4_3) + return "4.3"; + if (code == FHIRVersion._4_3_0_SNAPSHOT1) return "4.3.0-snapshot1"; - if (code == FHIRVersion._4_3_0CIBUILD) + if (code == FHIRVersion._4_3_0_CIBUILD) return "4.3.0-cibuild"; if (code == FHIRVersion._4_3_0) return "4.3.0"; + if (code == FHIRVersion._4_4) + return "4.4"; + if (code == FHIRVersion._4_4_0) + return "4.4.0"; + if (code == FHIRVersion._4_5) + return "4.5"; + if (code == FHIRVersion._4_5_0) + return "4.5.0"; + if (code == FHIRVersion._4_6) + return "4.6"; + if (code == FHIRVersion._4_6_0) + return "4.6.0"; + if (code == FHIRVersion._5_0) + return "5.0"; + if (code == FHIRVersion._5_0_0) + return "5.0.0"; + if (code == FHIRVersion._5_0_0CIBUILD) + return "5.0.0-cibuild"; + if (code == FHIRVersion._5_0_0SNAPSHOT1) + return "5.0.0-snapshot1"; + if (code == FHIRVersion._5_0_0SNAPSHOT2) + return "5.0.0-snapshot2"; + if (code == FHIRVersion._5_0_0BALLOT) + return "5.0.0-ballot"; return "?"; } public String toSystem(FHIRVersion code) { 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 81e7deaa3..e9580f214 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 @@ -12628,6 +12628,8 @@ The primary difference between a medicationusage and a medicationadministration * R4B Ballot #1 + Connectathon 27 (Virtual). */ _4_1_0, + _4_3_0_SNAPSHOT1, + _4_3_0_CIBUILD, /** * R5 Preview #1 version. */ @@ -12773,6 +12775,10 @@ The primary difference between a medicationusage and a medicationadministration return _4_1; if ("4.1.0".equals(codeString)) return _4_1_0; + if ("4.3.0-snapshot1".equals(codeString)) + return _4_3_0_SNAPSHOT1; + if ("4.3.0-cibuild".equals(codeString)) + return _4_3_0_CIBUILD; if ("4.2".equals(codeString)) return _4_2; if ("4.2.0".equals(codeString)) @@ -12958,6 +12964,8 @@ The primary difference between a medicationusage and a medicationadministration case _4_0_1: return "4.0.1"; case _4_1: return "4.1"; case _4_1_0: return "4.1.0"; + case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot1"; + case _4_3_0_CIBUILD: return "4.3.0-cibuild"; case _4_2: return "4.2"; case _4_2_0: return "4.2.0"; case _4_3: return "4.3"; @@ -13017,6 +13025,8 @@ The primary difference between a medicationusage and a medicationadministration case _4_0_1: return "http://hl7.org/fhir/FHIR-version"; case _4_1: return "http://hl7.org/fhir/FHIR-version"; case _4_1_0: return "http://hl7.org/fhir/FHIR-version"; + case _4_3_0_SNAPSHOT1: return "http://hl7.org/fhir/FHIR-version"; + case _4_3_0_CIBUILD: return "http://hl7.org/fhir/FHIR-version"; case _4_2: return "http://hl7.org/fhir/FHIR-version"; case _4_2_0: return "http://hl7.org/fhir/FHIR-version"; case _4_3: return "http://hl7.org/fhir/FHIR-version"; @@ -13078,6 +13088,8 @@ The primary difference between a medicationusage and a medicationadministration case _4_1_0: return "R4B Ballot #1 + Connectathon 27 (Virtual)."; case _4_2: return "R5 Preview #1 version."; case _4_2_0: return "R5 Preview #1 + Connectathon 23 (Sydney)."; + case _4_3_0_SNAPSHOT1: return "FHIR Release 4B Snapshot #1"; + case _4_3_0_CIBUILD: return "FHIR Release 4B CI-Builld"; case _4_3: return "R4B version."; case _4_3_0: return "FHIR Release 4B (Normative + STU)."; case _4_4: return "R5 Preview #2 version."; @@ -13138,6 +13150,8 @@ The primary difference between a medicationusage and a medicationadministration case _4_2: return "4.2"; case _4_2_0: return "4.2.0"; case _4_3: return "4.3"; + case _4_3_0_SNAPSHOT1: return "4.3.0-snapshot"; + case _4_3_0_CIBUILD: return "4.3.0-cibuild"; case _4_3_0: return "4.3.0"; case _4_4: return "4.4"; case _4_4_0: return "4.4.0"; @@ -13155,23 +13169,6 @@ The primary difference between a medicationusage and a medicationadministration default: return "?"; } } -// manual code from configuration.txt: -//public String toCode(int len) { -// return toCode().substring(0, len); -// } -// -// -// @Override -// public String toString() { -// return toCode(); -// } -// -// -// public boolean isR4B() { -// return toCode().startsWith("4.1"); -// } -// -// end addition } public static class FHIRVersionEnumFactory implements EnumFactory { @@ -13257,6 +13254,10 @@ The primary difference between a medicationusage and a medicationadministration return FHIRVersion._4_2; if ("4.2.0".equals(codeString)) return FHIRVersion._4_2_0; + if ("4.3.0-snapshot1".equalsIgnoreCase(codeString)) + return FHIRVersion._4_3_0_SNAPSHOT1; + if ("4.3.0-cibuild".equalsIgnoreCase(codeString)) + return FHIRVersion._4_3_0_CIBUILD; if ("4.3".equals(codeString)) return FHIRVersion._4_3; if ("4.3.0".equals(codeString)) @@ -13373,6 +13374,10 @@ The primary difference between a medicationusage and a medicationadministration return new Enumeration(this, FHIRVersion._4_2); if ("4.2.0".equals(codeString)) return new Enumeration(this, FHIRVersion._4_2_0); + if ("4.3.0-snapshot1".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_3_0_SNAPSHOT1); + if ("4.3.0-cibuild".equals(codeString)) + return new Enumeration(this, FHIRVersion._4_3_0_CIBUILD); if ("4.3".equals(codeString)) return new Enumeration(this, FHIRVersion._4_3); if ("4.3.0".equals(codeString)) @@ -13484,6 +13489,10 @@ The primary difference between a medicationusage and a medicationadministration return "4.2.0"; if (code == FHIRVersion._4_3) return "4.3"; + if (code == FHIRVersion._4_3_0_SNAPSHOT1) + return "4.3.0-snapshot1"; + if (code == FHIRVersion._4_3_0_CIBUILD) + return "4.3.0-cibuild"; if (code == FHIRVersion._4_3_0) return "4.3.0"; if (code == FHIRVersion._4_4) From f4aed6f2a2c9585c772055d8105a4df6de0b2555 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 15 Sep 2022 08:58:52 +0200 Subject: [PATCH 127/156] Fix bug in RDF generation in R4B --- .../src/main/java/org/hl7/fhir/r4b/formats/RdfParser.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/formats/RdfParser.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/formats/RdfParser.java index 2f61f2e0a..2a37bd43a 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/formats/RdfParser.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/formats/RdfParser.java @@ -242,7 +242,7 @@ public class RdfParser extends RdfParserBase { } protected void composeDataType(Complex t, String parentType, String name, DataType element, int index) { - composeDataType(t, parentType, name, element, index); + composeElement(t, parentType, name, element, index); } From 03722bf7826a77e6d0593bedf5c260fa946b013c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 15 Sep 2022 08:59:18 +0200 Subject: [PATCH 128/156] Suppress display when generating narrative for code systems if display is always the same as the code --- .../main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java index 55151f29d..c1f3299a8 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/CodeSystemRenderer.java @@ -284,7 +284,7 @@ public class CodeSystemRenderer extends TerminologyRenderer { } private boolean conceptsHaveDisplay(ConceptDefinitionComponent c) { - if (c.hasDisplay()) + if (c.hasDisplay() && !c.getDisplay().equals(c.getCode())) return true; for (ConceptDefinitionComponent g : c.getConcept()) if (conceptsHaveDisplay(g)) From 37982f2af392e852b02976148c61678b20e41c21 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 15 Sep 2022 08:59:38 +0200 Subject: [PATCH 129/156] Fix error with double escaping rendering code system markdown --- .../src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index bd67caa5e..3d2c9573f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -134,7 +134,7 @@ public class DataRenderer extends Renderer { } // 2. markdown - String s = getContext().getMarkdown().process(Utilities.escapeXml(text), "narrative generator"); + String s = getContext().getMarkdown().process(text, "narrative generator"); XhtmlParser p = new XhtmlParser(); XhtmlNode m; try { From 43420db7567bd9b0c5a86872fd201d95ae62e020 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Thu, 15 Sep 2022 09:00:51 +0200 Subject: [PATCH 130/156] fix error with IG constraint --- .../org/hl7/fhir/utilities/npm/PackageHacker.java | 12 ++++++------ .../instance/utils/FHIRPathExpressionFixer.java | 4 +++- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java index 8af672e06..507792cb2 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/PackageHacker.java @@ -71,8 +71,8 @@ public class PackageHacker { } private void change(JsonObject npm) throws FileNotFoundException, IOException { - fixVersions(npm); -// npm.remove("notForPublication"); +// fixVersions(npm); + npm.remove("notForPublication"); // npm.addProperty("url", "http://hl7.org/fhir/us/carin-rtpbc/STU1"); // npm.remove("name"); // npm.addProperty("name", "hl7.fhir.uv.smart-app-launch"); @@ -80,10 +80,10 @@ public class PackageHacker { // npm.addProperty("canonical", "http://hl7.org/fhir/us/davinci-drug-formulary"); //// npm.remove("description"); //// npm.addProperty("description", "Group Wrapper that includes all the R4 packages"); - npm.remove("url"); - npm.addProperty("url", "http://hl7.org/fhir/R4B"); - npm.remove("homepage"); - npm.addProperty("homepage", "http://hl7.org/fhir/R4B"); +// npm.remove("url"); +// npm.addProperty("url", "http://hl7.org/fhir/R4B"); +// npm.remove("homepage"); +// npm.addProperty("homepage", "http://hl7.org/fhir/R4B"); // npm.remove("dependencies"); // JsonObject dep = new JsonObject(); // npm.add("dependencies", dep); diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/utils/FHIRPathExpressionFixer.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/utils/FHIRPathExpressionFixer.java index fad76a3de..be2590646 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/utils/FHIRPathExpressionFixer.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/utils/FHIRPathExpressionFixer.java @@ -19,7 +19,9 @@ public class FHIRPathExpressionFixer { if ("txt-2".equals(key)) { return "htmlChecks2()"; } - + if ("generated='generated' implies source.empty()".equals(expr)) { + return "generation='generated' implies source.empty()"; + } // fixes to string functions in FHIRPath // ref-1 if (expr.equals("reference.startsWith('#').not() or (reference.substring(1).trace('url') in %rootResource.contained.id.trace('ids')) or (reference='#' and %rootResource!=%resource)")) { // R5 From ccc38e48df58ec3d6cb66da8fed53d1991ab013c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Fri, 16 Sep 2022 23:49:26 -0400 Subject: [PATCH 131/156] Fix NPE processing constraints without keys + fix for R5 terminology package problem --- .../java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java | 6 ++++++ .../fhir/utilities/npm/FilesystemPackageCacheManager.java | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java index 746bce8ee..cb77745ea 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/conformance/ProfileUtilities.java @@ -4439,7 +4439,13 @@ public class ProfileUtilities extends TranslatingUtilities { } private boolean isBaseConstraint(ElementDefinitionConstraintComponent con) { + if (con == null) { + return false; + } String key = con.getKey(); + if (key == null) { + return false; + } return key != null && key.startsWith("ele-") || key.startsWith("res-") || key.startsWith("ext-") || key.startsWith("dom-") || key.startsWith("dr-"); } diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/FilesystemPackageCacheManager.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/FilesystemPackageCacheManager.java index 04f29c1b3..a7b452e04 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/FilesystemPackageCacheManager.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/npm/FilesystemPackageCacheManager.java @@ -227,7 +227,7 @@ public class FilesystemPackageCacheManager extends BasePackageCacheManager imple public String getLatestVersion(String id) throws IOException { for (String nextPackageServer : getPackageServers()) { // special case: - if (!(CommonPackages.ID_PUBPACK.equals(id) && PackageClient.PRIMARY_SERVER.equals(nextPackageServer))) { + if (!(Utilities.existsInList(id,CommonPackages.ID_PUBPACK, "hl7.terminology.r5") && PackageClient.PRIMARY_SERVER.equals(nextPackageServer))) { CachingPackageClient pc = new CachingPackageClient(nextPackageServer); try { return pc.getLatestVersion(id); From 53a6036d52e9e1474c64a0c11ce914fb7c316c82 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 01:02:27 -0400 Subject: [PATCH 132/156] set up release --- RELEASE_NOTES.md | 7 +++++-- pom.xml | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index 7b06c6ab5..cce0ee342 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,7 +1,10 @@ ## Validator Changes -* no changes +* Support for R5 terminology ## Other code changes -* no changes \ No newline at end of file +* fix error with R5 IG constraint +* fix error with double escaping rendering code system markdown +* Suppress display when generating narrative for code systems if display matches code +* Fix bug in RDF generation in R4B diff --git a/pom.xml b/pom.xml index 77854586d..5be3eba10 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.107 + 1.1.108 5.7.1 1.8.2 3.0.0-M5 From 68910ee95c842ed2e5ce5d300a1a196550733611 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 06:15:32 -0400 Subject: [PATCH 133/156] minor updates for R5 --- .../fhir/r5/test/utils/TestingUtilities.java | 4 ++-- .../txCache/org.hl7.fhir.r5/iso4217.cache | 5 ++++ .../txCache/org.hl7.fhir.r5/mimetypes.cache | 5 ++++ .../txCache/org.hl7.fhir.r5/ucum.cache | 23 +++++++++++++++++++ 4 files changed, 35 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java index 1dc560741..a355aa930 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/test/utils/TestingUtilities.java @@ -112,8 +112,8 @@ public class TestingUtilities extends BaseTestingUtilities { IWorkerContext fcontext = getWorkerContext(pcm.loadPackage(VersionUtilities.packageForVersion(version), version)); fcontext.setUcumService(new UcumEssenceService(TestingUtilities.loadTestResourceStream("ucum", "ucum-essence.xml"))); fcontext.setExpansionProfile(new Parameters()); - if (!fcontext.hasPackage("hl7.terminology", null)) { - NpmPackage utg = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION).loadPackage("hl7.terminology"); + if (!fcontext.hasPackage("hl7.terminology.r5", null)) { + NpmPackage utg = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION).loadPackage("hl7.terminology.r5"); System.out.println("Loading THO: "+utg.name()+"#"+utg.version()); fcontext.loadFromPackage(utg, new TestPackageLoader(new String[]{"CodeSystem", "ValueSet"})); } diff --git a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache index e8c660bfa..84e8d085d 100644 --- a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache +++ b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache @@ -22,3 +22,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/currencies", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache index 98bb594d4..cd3d2dcfe 100644 --- a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache +++ b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache @@ -22,3 +22,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache index 450ee33a8..c68360c06 100644 --- a/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache +++ b/org.hl7.fhir.r5/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache @@ -203,3 +203,26 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "valueSet" :{ + "resourceType" : "ValueSet", + "compose" : { + "inactive" : true, + "include" : [{ + "system" : "http://unitsofmeasure.org" + }] + } +}}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/ucum-units", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- From 0338899eef14fa8f4700008633ede4d23cb9f910 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 06:23:44 -0400 Subject: [PATCH 134/156] update tests --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 5be3eba10..ef3b125dd 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.108 + 1.1.109 5.7.1 1.8.2 3.0.0-M5 From 15af005fbc00324aa62ea45acf6884db7d0412ea Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 07:59:15 -0400 Subject: [PATCH 135/156] update test cases --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ef3b125dd..2a0420d76 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.109 + 1.1.110 5.7.1 1.8.2 3.0.0-M5 From 2045b8eee64ec03a9fa53342f2386983a8319948 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 09:17:11 -0400 Subject: [PATCH 136/156] update tests again --- .../txCache/org.hl7.fhir.r5/iso4217.cache | 5 + .../txCache/org.hl7.fhir.r5/mimetypes.cache | 5 + .../txCache/org.hl7.fhir.r5/ucum.cache | 23 +++ .../org.hl7.fhir.validation/4.0.1/loinc.cache | 57 +++++++ .../4.0.1/measure-population.cache | 11 ++ .../5.0.0/all-systems.cache | 65 ++++++++ .../org.hl7.fhir.validation/5.0.0/loinc.cache | 156 ++++++++++++++++++ .../5.0.0/measure-population.cache | 11 ++ .../5.0.0/observation-category.cache | 21 +++ .../5.0.0/snomed.cache | 30 ++++ .../org.hl7.fhir.validation/5.0.0/ucum.cache | 10 ++ .../5.0.0/v2-0203.cache | 29 ++++ .../5.0.0/v3-ObservationInterpretation.cache | 42 +++++ pom.xml | 2 +- 14 files changed, 466 insertions(+), 1 deletion(-) diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache index e8c660bfa..84e8d085d 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/iso4217.cache @@ -22,3 +22,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/currencies", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache index 98bb594d4..cd3d2dcfe 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/mimetypes.cache @@ -22,3 +22,8 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache index 450ee33a8..c68360c06 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.r5/ucum.cache @@ -203,3 +203,26 @@ e: { "error" : "java.lang.NullPointerException" } ------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/units-of-time", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "valueSet" :{ + "resourceType" : "ValueSet", + "compose" : { + "inactive" : true, + "include" : [{ + "system" : "http://unitsofmeasure.org" + }] + } +}}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- +{"hierarchical" : false, "url": "http://hl7.org/fhir/ValueSet/ucum-units", "version": "5.0.0-ballot"}#### +e: { + "error" : "java.lang.NullPointerException" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/loinc.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/loinc.cache index 05d3bce2f..444f3bbfc 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/loinc.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/loinc.cache @@ -1477,3 +1477,60 @@ v: { "system" : "http://loinc.org" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "56445-0" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Medication summary Document", + "code" : "56445-0", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "current", + "code" : "56445-0", + "display" : "Medication summary Doc" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "Version 'current' of the code system 'http://loinc.org' is not known (encountered paired with code = '56445-0'). ValidVersions = [2.73]; The code provided (http://loinc.org#56445-0) is not valid in the value set 'FHIRDocumentTypeCodes' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "current", + "code" : "56445-0" +}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "Version 'current' of the code system 'http://loinc.org' is not known (encountered paired with code = '56445-0'). ValidVersions = [2.73]; The code provided (http://loinc.org#56445-0) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "current", + "code" : "48765-2", + "display" : "Allergies and adverse reactions" +}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "Version 'current' of the code system 'http://loinc.org' is not known (encountered paired with code = '48765-2'). ValidVersions = [2.73]; The code provided (http://loinc.org#48765-2) is not valid in the value set 'All codes known to the system' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "2.73", + "code" : "57852-6", + "display" : "Problem list Narrative - Reported" +}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Problem list Narrative - Reported", + "code" : "57852-6", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/measure-population.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/measure-population.cache index 1ad19edde..f74382241 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/measure-population.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/4.0.1/measure-population.cache @@ -23,3 +23,14 @@ v: { "class" : "CODESYSTEM_UNSUPPORTED" } ------------------------------------------------------------------------------------- +{"code" : { + "coding" : [{ + "code" : "initial-population" + }] +}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "4.0.1", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}#### +v: { + "severity" : "error", + "error" : "The code system '' is not known (encountered paired with code = 'initial-population'); The code provided (#initial-population) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache index 607a33d30..486e0761e 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/all-systems.cache @@ -156,3 +156,68 @@ v: { "system" : "urn:ietf:bcp:47" } ------------------------------------------------------------------------------------- +{"code" : { + "code" : "text/plain" +}, "url": "http://hl7.org/fhir/ValueSet/mimetypes", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "text/plain", + "code" : "text/plain", + "system" : "urn:ietf:bcp:13" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://snomed.info/sct", + "code" : "271649006", + "display" : "Systolic blood pressure" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Systolic blood pressure", + "code" : "271649006", + "system" : "http://snomed.info/sct" +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "nl-NL" +}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "5.0.0-ballot", "lang":"nl-NL", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Nederlands (Nederland)", + "code" : "nl-NL", + "system" : "urn:ietf:bcp:47" +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "text/cql" +}, "url": "http://hl7.org/fhir/ValueSet/expression-language", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "CQL", + "code" : "text/cql", + "system" : "urn:ietf:bcp:13" +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "text/fhirpath" +}, "url": "http://hl7.org/fhir/ValueSet/expression-language", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "FHIRPath", + "code" : "text/fhirpath", + "system" : "urn:ietf:bcp:13" +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "en-AU" +}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "5.0.0-ballot", "lang":"en-AU", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "English (Australia)", + "code" : "en-AU", + "system" : "urn:ietf:bcp:47" +} +------------------------------------------------------------------------------------- +{"code" : { + "code" : "en" +}, "url": "http://hl7.org/fhir/ValueSet/languages", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"true", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "English", + "code" : "en", + "system" : "urn:ietf:bcp:47" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/loinc.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/loinc.cache index 279d15dfa..6cb027de3 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/loinc.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/loinc.cache @@ -623,3 +623,159 @@ v: { "system" : "http://loinc.org" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "85354-9" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Blood pressure panel with all children optional", + "code" : "85354-9", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "85354-9", + "display" : "Blood pressure panel with all children optional" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Blood pressure panel with all children optional", + "code" : "85354-9", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8480-6" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Systolic blood pressure", + "code" : "8480-6", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8480-6", + "display" : "Systolic blood pressure" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Systolic blood pressure", + "code" : "8480-6", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8462-4" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Diastolic blood pressure", + "code" : "8462-4", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "8462-4", + "display" : "Diastolic blood pressure" +}, "url": "http://hl7.org/fhir/ValueSet/observation-vitalsignresult", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Diastolic blood pressure", + "code" : "8462-4", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "56445-0" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Medication summary Document", + "code" : "56445-0", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "current", + "code" : "56445-0", + "display" : "Medication summary Doc" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "Version 'current' of the code system 'http://loinc.org' is not known (encountered paired with code = '56445-0'). ValidVersions = [2.73]; The code provided (http://loinc.org#56445-0) is not valid in the value set 'FHIRDocumentTypeCodes' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "2.72", + "code" : "56445-0", + "display" : "Medication summary Doc" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "Version '2.72' of the code system 'http://loinc.org' is not known (encountered paired with code = '56445-0'). ValidVersions = [2.73]; The code provided (http://loinc.org#56445-0) is not valid in the value set 'FHIRDocumentTypeCodes' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "code" : "56445-0" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"true"}#### +v: { + "display" : "Medication summary Document", + "code" : "56445-0", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "current", + "code" : "56445-0", + "display" : "Medication summary Doc" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"true"}#### +v: { + "display" : "Medication summary Document", + "code" : "56445-0", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "2.73", + "code" : "56445-0", + "display" : "Medication summary Doc" +}, "url": "http://hl7.org/fhir/ValueSet/doc-typecodes", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Medication summary Document", + "code" : "56445-0", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "2.73", + "code" : "56445-0" +}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Medication summary Document", + "code" : "56445-0", + "system" : "http://loinc.org" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://loinc.org", + "version" : "2.73", + "code" : "48765-2", + "display" : "Allergies and adverse reactions" +}, "valueSet" :null, "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Allergies and adverse reactions Document", + "code" : "48765-2", + "system" : "http://loinc.org", + "severity" : "warning", + "error" : "The display \"Allergies and adverse reactions\" is not a valid display for the code {http://loinc.org}48765-2 - should be one of ['Allergies and adverse reactions Document', 'Allergies &or adverse reactions Doc', '', '临床文档型' (zh-CN), '临床文档' (zh-CN), '文档' (zh-CN), '文书' (zh-CN), '医疗文书' (zh-CN), '临床医疗文书 医疗服务对象' (zh-CN), '客户' (zh-CN), '病人' (zh-CN), '病患' (zh-CN), '病号' (zh-CN), '超系统 - 病人 发现是一个原子型临床观察指标,并不是作为印象的概括陈述。体格检查、病史、系统检查及其他此类观察指标的属性均为发现。它们的标尺对于编码型发现可能是名义型,而对于叙述型文本之中所报告的发现,则可能是叙述型。' (zh-CN), '发现物' (zh-CN), '所见' (zh-CN), '结果' (zh-CN), '结论 变态反应与不良反应 文档.其他' (zh-CN), '杂项类文档' (zh-CN), '其他文档 时刻' (zh-CN), '随机' (zh-CN), '随意' (zh-CN), '瞬间 杂项' (zh-CN), '杂项类' (zh-CN), '杂项试验 过敏反应' (zh-CN), '过敏' (zh-CN), 'Allergie e reazioni avverse Documentazione miscellanea Miscellanea Osservazione paziente Punto nel tempo (episodio)' (it-IT), 'Документ Точка во времени' (ru-RU), 'Момент' (ru-RU)] (from http://tx.fhir.org/r4)" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/measure-population.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/measure-population.cache index 275a8a4ac..3ee93fe17 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/measure-population.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/measure-population.cache @@ -21,3 +21,14 @@ v: { "class" : "CODESYSTEM_UNSUPPORTED" } ------------------------------------------------------------------------------------- +{"code" : { + "coding" : [{ + "code" : "initial-population" + }] +}, "url": "http://hl7.org/fhir/ValueSet/measure-population", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"CHECK_MEMERSHIP_ONLY", "versionFlexible":"false"+}#### +v: { + "severity" : "error", + "error" : "The code system '' is not known (encountered paired with code = 'initial-population'); The code provided (#initial-population) is not valid in the value set 'MeasurePopulationType' (from http://tx.fhir.org/r4)", + "class" : "CODESYSTEM_UNSUPPORTED" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/observation-category.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/observation-category.cache index dd0eb5519..2cc9c3b6d 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/observation-category.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/observation-category.cache @@ -51,3 +51,24 @@ v: { "system" : "http://terminology.hl7.org/CodeSystem/observation-category" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/observation-category", + "code" : "vital-signs" +}, "url": "http://hl7.org/fhir/ValueSet/observation-category--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Vital Signs", + "code" : "vital-signs", + "system" : "http://terminology.hl7.org/CodeSystem/observation-category" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/observation-category", + "code" : "vital-signs", + "display" : "Vital Signs" +}, "url": "http://hl7.org/fhir/ValueSet/observation-category", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Vital Signs", + "code" : "vital-signs", + "system" : "http://terminology.hl7.org/CodeSystem/observation-category" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/snomed.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/snomed.cache index d4de476c1..4468966e5 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/snomed.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/snomed.cache @@ -245,3 +245,33 @@ v: { "error" : "The code provided (http://snomed.info/sct#106004) is not valid (from http://tx.fhir.org/r4)" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://snomed.info/sct", + "code" : "109006" +}, "url": "http://hl7.org/fhir/ValueSet/clinical-findings--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Anxiety disorder of childhood OR adolescence", + "code" : "109006", + "system" : "http://snomed.info/sct" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://snomed.info/sct", + "code" : "109006", + "display" : "Anxiety disorder of childhood OR adolescence" +}, "url": "http://hl7.org/fhir/ValueSet/clinical-findings", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Anxiety disorder of childhood OR adolescence", + "code" : "109006", + "system" : "http://snomed.info/sct" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://snomed.info/sct", + "code" : "106004" +}, "url": "http://hl7.org/fhir/ValueSet/clinical-findings--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "The code provided (http://snomed.info/sct#106004) is not valid (from http://tx.fhir.org/r4)" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/ucum.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/ucum.cache index 6979b8d88..de6ac0095 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/ucum.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/ucum.cache @@ -49,3 +49,13 @@ v: { "system" : "http://unitsofmeasure.org" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://unitsofmeasure.org", + "code" : "mm[Hg]" +}, "url": "http://hl7.org/fhir/ValueSet/ucum-vitals-common--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "millimeter of mercury", + "code" : "mm[Hg]", + "system" : "http://unitsofmeasure.org" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v2-0203.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v2-0203.cache index e44a6bb7f..8c4537315 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v2-0203.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v2-0203.cache @@ -88,3 +88,32 @@ v: { "error" : "The code provided (http://terminology.hl7.org/CodeSystem/v2-0203#MC) is not valid (from http://tx.fhir.org/r4)" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v2-0203", + "code" : "MR" +}, "url": "http://hl7.org/fhir/ValueSet/identifier-type--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Medical record number", + "code" : "MR", + "system" : "http://terminology.hl7.org/CodeSystem/v2-0203" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v2-0203", + "code" : "MR" +}, "url": "http://hl7.org/fhir/ValueSet/identifier-type", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Medical record number", + "code" : "MR", + "system" : "http://terminology.hl7.org/CodeSystem/v2-0203" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v2-0203", + "code" : "MC" +}, "url": "http://hl7.org/fhir/ValueSet/identifier-type--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "severity" : "error", + "error" : "The code provided (http://terminology.hl7.org/CodeSystem/v2-0203#MC) is not valid (from http://tx.fhir.org/r4)" +} +------------------------------------------------------------------------------------- diff --git a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache index 427921b69..ad14c6921 100644 --- a/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache +++ b/org.hl7.fhir.validation/src/test/resources/txCache/org.hl7.fhir.validation/5.0.0/v3-ObservationInterpretation.cache @@ -268,3 +268,45 @@ e: { "error" : "" } ------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "L" +}, "url": "http://hl7.org/fhir/ValueSet/observation-interpretation--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Low", + "code" : "L", + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "L", + "display" : "low" +}, "url": "http://hl7.org/fhir/ValueSet/observation-interpretation", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Low", + "code" : "L", + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "N" +}, "url": "http://hl7.org/fhir/ValueSet/observation-interpretation--0", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"false", "guessSystem":"false", "valueSetMode":"ALL_CHECKS", "versionFlexible":"false"}#### +v: { + "display" : "Normal", + "code" : "N", + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" +} +------------------------------------------------------------------------------------- +{"code" : { + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation", + "code" : "N", + "display" : "normal" +}, "url": "http://hl7.org/fhir/ValueSet/observation-interpretation", "version": "5.0.0-ballot", "lang":"null", "useServer":"true", "useClient":"true", "guessSystem":"false", "valueSetMode":"NO_MEMBERSHIP_CHECK", "versionFlexible":"false"}#### +v: { + "display" : "Normal", + "code" : "N", + "system" : "http://terminology.hl7.org/CodeSystem/v3-ObservationInterpretation" +} +------------------------------------------------------------------------------------- diff --git a/pom.xml b/pom.xml index 2a0420d76..3a9b1913e 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.110 + 1.1.111 5.7.1 1.8.2 3.0.0-M5 From 5cf7e2c3bd930f29a11724573ab0667b0de2736e Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 09:51:59 -0400 Subject: [PATCH 137/156] fix html parser for comments that end with ---> --- .../main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java index c18d55df6..1f685f26b 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/xhtml/XhtmlParser.java @@ -803,8 +803,10 @@ public class XhtmlParser { readChar(); if (peekChar() == '>') { done = true; - } else - s.append("--"); + } else { + pushChar('-'); + s.append("-"); + } } else s.append('-'); } else if (doctypeEntities && c == ']') { From 917f65d66047dd7f3f1e66f866413aafdb84260e Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 09:53:20 -0400 Subject: [PATCH 138/156] release notes --- RELEASE_NOTES.md | 1 + 1 file changed, 1 insertion(+) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index cce0ee342..d1874730b 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -8,3 +8,4 @@ * fix error with double escaping rendering code system markdown * Suppress display when generating narrative for code systems if display matches code * Fix bug in RDF generation in R4B +* fix bug in html parser - misses end of comments when end is ---> From 7cce3ef810a28ee96dd6fde9806d08447a4c5b4c Mon Sep 17 00:00:00 2001 From: markiantorno Date: Sat, 17 Sep 2022 14:17:42 +0000 Subject: [PATCH 139/156] Release: v5.6.64 ## Validator Changes * Support for R5 terminology ## Other code changes * fix error with R5 IG constraint * fix error with double escaping rendering code system markdown * Suppress display when generating narrative for code systems if display matches code * Fix bug in RDF generation in R4B * fix bug in html parser - misses end of comments when end is ---> ***NO_CI*** --- org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index cd8c7c6a7..ce53da280 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index b56df7e64..c61ef534a 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 9d57a4016..051ec5458 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 4b6ffd1e9..3862c700a 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 6e2a8b0c7..9bd8c1c0a 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index f9cfe03c0..384959661 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index fcd570858..59092211d 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index 5a3c0c14d..d781a6bd5 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 3d18af6a1..427eabd06 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index bb3347461..e4e5755a0 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index 29f8518ba..ecdc57aee 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 ../pom.xml diff --git a/pom.xml b/pom.xml index 3a9b1913e..8f91b685f 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.64-SNAPSHOT + 5.6.64 pom From 45a4ad77adb8bc16b253fa76730b21b424735eed Mon Sep 17 00:00:00 2001 From: markiantorno Date: Sat, 17 Sep 2022 14:49:41 +0000 Subject: [PATCH 140/156] Updating version to: 5.6.65-SNAPSHOT and incrementing test cases dependency. --- RELEASE_NOTES.md | 8 ++------ org.hl7.fhir.convertors/pom.xml | 2 +- org.hl7.fhir.dstu2/pom.xml | 2 +- org.hl7.fhir.dstu2016may/pom.xml | 2 +- org.hl7.fhir.dstu3/pom.xml | 2 +- org.hl7.fhir.r4/pom.xml | 2 +- org.hl7.fhir.r4b/pom.xml | 2 +- org.hl7.fhir.r5/pom.xml | 2 +- org.hl7.fhir.report/pom.xml | 2 +- org.hl7.fhir.utilities/pom.xml | 2 +- org.hl7.fhir.validation.cli/pom.xml | 2 +- org.hl7.fhir.validation/pom.xml | 2 +- pom.xml | 2 +- 13 files changed, 14 insertions(+), 18 deletions(-) diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index d1874730b..7b06c6ab5 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,11 +1,7 @@ ## Validator Changes -* Support for R5 terminology +* no changes ## Other code changes -* fix error with R5 IG constraint -* fix error with double escaping rendering code system markdown -* Suppress display when generating narrative for code systems if display matches code -* Fix bug in RDF generation in R4B -* fix bug in html parser - misses end of comments when end is ---> +* no changes \ No newline at end of file diff --git a/org.hl7.fhir.convertors/pom.xml b/org.hl7.fhir.convertors/pom.xml index ce53da280..06fb96f8e 100644 --- a/org.hl7.fhir.convertors/pom.xml +++ b/org.hl7.fhir.convertors/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2/pom.xml b/org.hl7.fhir.dstu2/pom.xml index c61ef534a..b59c69ed2 100644 --- a/org.hl7.fhir.dstu2/pom.xml +++ b/org.hl7.fhir.dstu2/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu2016may/pom.xml b/org.hl7.fhir.dstu2016may/pom.xml index 051ec5458..4bcf7a0ab 100644 --- a/org.hl7.fhir.dstu2016may/pom.xml +++ b/org.hl7.fhir.dstu2016may/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.dstu3/pom.xml b/org.hl7.fhir.dstu3/pom.xml index 3862c700a..47a9d7783 100644 --- a/org.hl7.fhir.dstu3/pom.xml +++ b/org.hl7.fhir.dstu3/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4/pom.xml b/org.hl7.fhir.r4/pom.xml index 9bd8c1c0a..99b70a2da 100644 --- a/org.hl7.fhir.r4/pom.xml +++ b/org.hl7.fhir.r4/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r4b/pom.xml b/org.hl7.fhir.r4b/pom.xml index 384959661..c4ea775a5 100644 --- a/org.hl7.fhir.r4b/pom.xml +++ b/org.hl7.fhir.r4b/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.r5/pom.xml b/org.hl7.fhir.r5/pom.xml index 59092211d..cd2541978 100644 --- a/org.hl7.fhir.r5/pom.xml +++ b/org.hl7.fhir.r5/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.report/pom.xml b/org.hl7.fhir.report/pom.xml index d781a6bd5..bdd7a2fa1 100644 --- a/org.hl7.fhir.report/pom.xml +++ b/org.hl7.fhir.report/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.utilities/pom.xml b/org.hl7.fhir.utilities/pom.xml index 427eabd06..1010b144f 100644 --- a/org.hl7.fhir.utilities/pom.xml +++ b/org.hl7.fhir.utilities/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation.cli/pom.xml b/org.hl7.fhir.validation.cli/pom.xml index e4e5755a0..9a6529572 100644 --- a/org.hl7.fhir.validation.cli/pom.xml +++ b/org.hl7.fhir.validation.cli/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/org.hl7.fhir.validation/pom.xml b/org.hl7.fhir.validation/pom.xml index ecdc57aee..748515d81 100644 --- a/org.hl7.fhir.validation/pom.xml +++ b/org.hl7.fhir.validation/pom.xml @@ -5,7 +5,7 @@ ca.uhn.hapi.fhir org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT ../pom.xml diff --git a/pom.xml b/pom.xml index 8f91b685f..4df335777 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ HAPI FHIR --> org.hl7.fhir.core - 5.6.64 + 5.6.65-SNAPSHOT pom From df0bc26d47b6f24ab7f5b30200f5cfeabb23d6fb Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Sat, 17 Sep 2022 14:54:20 -0400 Subject: [PATCH 141/156] rationalise extensions --- org.hl7.fhir.r4b/.classpath | 19 +- .../java/org/hl7/fhir/r4b/utils/IGHelper.java | 2 +- .../hl7/fhir/r4b/utils/ToolingExtensions.java | 4 +- .../CapabilityStatementComparer.java | 9 +- .../fhir/r5/conformance/ProfileUtilities.java | 4 +- .../r5/conformance/XmlSchemaGenerator.java | 4 +- .../hl7/fhir/r5/elementmodel/Property.java | 4 +- .../hl7/fhir/r5/renderers/DataRenderer.java | 2 +- .../r5/renderers/QuestionnaireRenderer.java | 54 +-- .../QuestionnaireResponseRenderer.java | 6 +- .../fhir/r5/utils/GraphQLSchemaGenerator.java | 5 +- .../java/org/hl7/fhir/r5/utils/IGHelper.java | 12 +- .../hl7/fhir/r5/utils/ToolingExtensions.java | 366 +++++++++--------- .../instance/InstanceValidator.java | 68 ++-- .../instance/type/MeasureValidator.java | 5 +- .../type/StructureDefinitionValidator.java | 9 +- 16 files changed, 278 insertions(+), 295 deletions(-) diff --git a/org.hl7.fhir.r4b/.classpath b/org.hl7.fhir.r4b/.classpath index 15f02af33..8131be0e5 100644 --- a/org.hl7.fhir.r4b/.classpath +++ b/org.hl7.fhir.r4b/.classpath @@ -19,7 +19,7 @@ - + @@ -29,22 +29,5 @@ - - - - - - - - - - - - - - - - - diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/IGHelper.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/IGHelper.java index 78073f581..253c749ec 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/IGHelper.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/IGHelper.java @@ -40,7 +40,7 @@ public class IGHelper { public static final String EXT_MAPPING_CSV = ToolingExtensions.EXT_IGP_MAPPING_CSV; public static final String EXT_BUNDLE = ToolingExtensions.EXT_IGP_BUNDLE; public static final String EXT_RESOURCE_INFO = ToolingExtensions.EXT_IGP_RESOURCE_INFO; - public static final String EXT_CONTAINED_RESOURCE_INFO = ToolingExtensions.EXT_IGP_CONTAINED_RESOURCE_INFO; +// public static final String EXT_CONTAINED_RESOURCE_INFO = ToolingExtensions.EXT_IGP_CONTAINED_RESOURCE_INFO; public static final String EXT_PRIVATE_BASE = ToolingExtensions.EXT_PRIVATE_BASE; public static String readStringParameter(ImplementationGuideDefinitionComponent ig, String name) { diff --git a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/ToolingExtensions.java b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/ToolingExtensions.java index 77df48205..ced403850 100644 --- a/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r4b/src/main/java/org/hl7/fhir/r4b/utils/ToolingExtensions.java @@ -169,8 +169,8 @@ public class ToolingExtensions { public static final String EXT_IGP_MAPPING_CSV = "http://hl7.org/fhir/StructureDefinition/igpublisher-mapping-csv"; public static final String EXT_IGP_BUNDLE = "http://hl7.org/fhir/StructureDefinition/igpublisher-bundle"; public static final String EXT_IGP_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/resource-information"; - public static final String EXT_IGP_CONTAINED_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/contained-resource-information"; - public static final String EXT_IGP_LOADVERSION = "http://hl7.org/fhir/StructureDefinition/igpublisher-loadversion"; +// public static final String EXT_IGP_CONTAINED_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/contained-resource-information"; +// public static final String EXT_IGP_LOADVERSION = "http://hl7.org/fhir/StructureDefinition/igpublisher-loadversion"; public static final String EXT_MAX_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"; public static final String EXT_MIN_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet"; public static final String EXT_PROFILE_ELEMENT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element"; diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/CapabilityStatementComparer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/CapabilityStatementComparer.java index bc8044a78..dd0825825 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/CapabilityStatementComparer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/CapabilityStatementComparer.java @@ -35,6 +35,7 @@ import org.hl7.fhir.r5.model.Extension; import org.hl7.fhir.r5.model.PrimitiveType; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.model.StructureDefinition; +import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.validation.ValidationMessage; import org.hl7.fhir.utilities.validation.ValidationMessage.IssueSeverity; @@ -263,8 +264,8 @@ public class CapabilityStatementComparer extends CanonicalResourceComparer { } private void compareExpectations(StructuralMatch combined, Element left, Element right, String path, CapabilityStatementComparison res, Element union, Element intersection) { - Extension l = left.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"); - Extension r = right.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"); + Extension l = left.getExtensionByUrl(ToolingExtensions.EXT_CAP_STMT_EXPECT); + Extension r = right.getExtensionByUrl(ToolingExtensions.EXT_CAP_STMT_EXPECT); if (l != null || r != null) { if (l == null) { union.addExtension(r.copy()); @@ -284,8 +285,8 @@ public class CapabilityStatementComparer extends CanonicalResourceComparer { sm.getMessages().add(new ValidationMessage(Source.ProfileComparer, IssueType.INFORMATIONAL, path+".extension('http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation')", "Changed value for expectation: '"+ls+"' vs '"+rs+"'", IssueSeverity.WARNING)); String lowest = lower(ls, rs) ? ls : rs; String highest = lower(ls, rs) ? rs : ls; - union.addExtension("http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", new CodeType(lowest)); - intersection.addExtension("http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation", new CodeType(highest)); + union.addExtension(ToolingExtensions.EXT_CAP_STMT_EXPECT, new CodeType(lowest)); + intersection.addExtension(ToolingExtensions.EXT_CAP_STMT_EXPECT, new CodeType(highest)); } } } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 0bdff4535..50e4f7585 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -5218,8 +5218,8 @@ public class ProfileUtilities extends TranslatingUtilities { for (ElementDefinitionConstraintComponent inv : definition.getConstraint()) { if (!c.getPieces().isEmpty()) { c.addPiece(gen.new Piece("br")); } c.getPieces().add(checkForNoChange(inv, gen.new Piece(null, inv.getKey()+": ", null).addStyle("font-weight:bold"))); - if (inv.getHumanElement().hasExtension("http://hl7.org/fhir/StructureDefinition/rendering-markdown")) { - c.addMarkdown(inv.getHumanElement().getExtensionString("http://hl7.org/fhir/StructureDefinition/rendering-markdown")); + if (inv.getHumanElement().hasExtension(ToolingExtensions.EXT_REND_MD)) { + c.addMarkdown(inv.getHumanElement().getExtensionString(ToolingExtensions.EXT_REND_MD)); } else { c.getPieces().add(checkForNoChange(inv, gen.new Piece(null, inv.getHuman(), null))); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/XmlSchemaGenerator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/XmlSchemaGenerator.java index 752db3acc..98d65de64 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/XmlSchemaGenerator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/XmlSchemaGenerator.java @@ -238,8 +238,8 @@ public class XmlSchemaGenerator { private String getNs(StructureDefinition sd) { String ns = "http://hl7.org/fhir"; - if (sd.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace")) - ns = ToolingExtensions.readStringExtension(sd, "http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace"); + if (sd.hasExtension(ToolingExtensions.EXT_XML_NAMESPACE)) + ns = ToolingExtensions.readStringExtension(sd, ToolingExtensions.EXT_XML_NAMESPACE); return ns; } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Property.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Property.java index 84b8e2482..d9d6a052e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Property.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/elementmodel/Property.java @@ -74,8 +74,8 @@ public class Property { } public String getXmlName() { - if (definition.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-xml-name")) { - return ToolingExtensions.readStringExtension(definition, "http://hl7.org/fhir/StructureDefinition/elementdefinition-xml-name"); + if (definition.hasExtension(ToolingExtensions.EXT_XML_NAME)) { + return ToolingExtensions.readStringExtension(definition, ToolingExtensions.EXT_XML_NAME); } else { return getName(); } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java index 3d2c9573f..d807089b6 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/DataRenderer.java @@ -346,7 +346,7 @@ public class DataRenderer extends Renderer { "ExampleScenario", "GraphDefinition", "ImplementationGuide", "Library", "Measure", "MessageDefinition", "NamingSystem", "PlanDefinition" )) return true; - return sd.getBaseDefinitionElement().hasExtension("http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super"); + return false; } // -- 4. Language support ------------------------------------------------------ diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java index a4edd2bd8..c4092eb5c 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireRenderer.java @@ -175,26 +175,28 @@ public class QuestionnaireRenderer extends TerminologyRenderer { if (i.getReadOnly()) { return true; } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_IS_SUBJ)) { return true; } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_HIDDEN)) { return true; } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_OTP_DISP)) { return true; } - if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) { + if (i.hasExtension(ToolingExtensions.EXT_O_LINK_PERIOD)) { return true; } - if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation")) { + if (i.hasExtension(ToolingExtensions.EXT_Q_CHOICE_ORIENT)) { return true; } - if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { + if (i.hasExtension(ToolingExtensions.EXT_Q_DISPLAY_CAT)) { return true; } return checkForFlags(i.getItem()); } + + private Row addTreeRoot(HierarchicalTableGenerator gen, List rows, Questionnaire q, boolean hasFlags) throws IOException { Row r = gen.new Row(); @@ -249,21 +251,21 @@ public class QuestionnaireRenderer extends TerminologyRenderer { if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject")) { flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-isSubject.html"), null, "Can change the subject of the questionnaire").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png")))); } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_HIDDEN)) { flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-hidden.html"), null, "Is a hidden item").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png")))); } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_OTP_DISP)) { flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-optionalDisplay.html"), null, "Is optional to display").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png")))); } if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) { flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-observationLinkPeriod"), null, "Is linked to an observation").addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png")))); } - if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation")) { - String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation"); + if (i.hasExtension(ToolingExtensions.EXT_Q_CHOICE_ORIENT)) { + String code = ToolingExtensions.readStringExtension(i, ToolingExtensions.EXT_Q_CHOICE_ORIENT); flags.addPiece(gen.new Piece(getSpecLink("extension-questionnaire-choiceorientation.html"), null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); } - if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { - CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept(); + if (i.hasExtension(ToolingExtensions.EXT_Q_DISPLAY_CAT)) { + CodeableConcept cc = i.getExtensionByUrl(ToolingExtensions.EXT_Q_DISPLAY_CAT).getValueCodeableConcept(); String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category"); flags.addPiece(gen.new Piece(getSDCLink("StructureDefinition-sdc-questionnaire-displayCategory"), null, "Category: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); } @@ -666,8 +668,8 @@ public class QuestionnaireRenderer extends TerminologyRenderer { } } -// if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation")) { -// String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation"); +// if (i.hasExtension(ToolingExtensions.EXT_Q_CHOICE_ORIENT)) { +// String code = ToolingExtensions.readStringExtension(i, ToolingExtensions.EXT_Q_CHOICE_ORIENT); // flags.addPiece(gen.new Piece("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); //} @@ -681,21 +683,21 @@ public class QuestionnaireRenderer extends TerminologyRenderer { hasFlag = true; flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject", "Can change the subject of the questionnaire").img(Utilities.path(context.getLocalPrefix(), "icon-qi-subject.png"), "icon"); } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_HIDDEN)) { hasFlag = true; flags.ah(Utilities.pathURL(context.getSpecificationLink(), "extension-questionnaire-hidden.html"), "Is a hidden item").img(Utilities.path(context.getLocalPrefix(), "icon-qi-hidden.png"), "icon"); d.style("background-color: #eeeeee"); } - if (ToolingExtensions.readBoolExtension(i, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { + if (ToolingExtensions.readBoolExtension(i, ToolingExtensions.EXT_Q_OTP_DISP)) { hasFlag = true; - flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"), "icon"); + flags.ah(ToolingExtensions.EXT_Q_OTP_DISP, "Is optional to display").img(Utilities.path(context.getLocalPrefix(), "icon-qi-optional.png"), "icon"); } if (i.hasExtension("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod")) { hasFlag = true; flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png"), "icon"); } - if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { - CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValueCodeableConcept(); + if (i.hasExtension(ToolingExtensions.EXT_Q_DISPLAY_CAT)) { + CodeableConcept cc = i.getExtensionByUrl(ToolingExtensions.EXT_Q_DISPLAY_CAT).getValueCodeableConcept(); String code = cc.getCode("http://hl7.org/fhir/questionnaire-display-category"); hasFlag = true; flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-displayCategory", "Category: "+code).img(Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png"), "icon"); @@ -958,16 +960,16 @@ public class QuestionnaireRenderer extends TerminologyRenderer { } // appearance - if (qi.hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory")) { + if (qi.hasExtension(ToolingExtensions.EXT_Q_DISPLAY_CAT)) { XhtmlNode tr = tbl.tr(); - tr.td().ah("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").tx("Display Category"); - render(tr.td(), qi.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory").getValue()); + tr.td().ah(ToolingExtensions.EXT_Q_DISPLAY_CAT).tx("Display Category"); + render(tr.td(), qi.getExtensionByUrl(ToolingExtensions.EXT_Q_DISPLAY_CAT).getValue()); } - if (ToolingExtensions.readBoolExtension(qi, "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden")) { - defn(tbl, "Hidden Item", "http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory", "This item is a hidden question", null); + if (ToolingExtensions.readBoolExtension(qi, ToolingExtensions.EXT_Q_HIDDEN)) { + defn(tbl, "Hidden Item", ToolingExtensions.EXT_Q_DISPLAY_CAT, "This item is a hidden question", null); } - if (ToolingExtensions.readBoolExtension(qi, "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay")) { - defn(tbl, "Hidden Item", "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay", "This item is optional to display", null); + if (ToolingExtensions.readBoolExtension(qi, ToolingExtensions.EXT_Q_OTP_DISP)) { + defn(tbl, "Hidden Item", ToolingExtensions.EXT_Q_OTP_DISP, "This item is optional to display", null); } // formal definitions diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java index 768f5573f..9384e23eb 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/QuestionnaireResponseRenderer.java @@ -429,7 +429,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer { // } // } // -//// if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-choiceOrientation")) { +//// if (i.hasExtension(" http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-choiceOrientation")) { //// String code = ToolingExtensions.readStringExtension(i, "http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-choiceOrientation"); //// flags.addPiece(gen.new Piece("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod", null, "Orientation: "+code).addHtml(new XhtmlNode(NodeType.Element, "img").attribute("alt", "icon").attribute("src", Utilities.path(context.getLocalPrefix(), "icon-qi-"+code+".png")))); ////} @@ -457,7 +457,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer { // hasFlag = true; // flags.ah("http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-QuestionnaireResponse-observationLinkPeriod", "Is linked to an observation").img(Utilities.path(context.getLocalPrefix(), "icon-qi-observation.png")); // } -// if (i.hasExtension("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory")) { +// if (i.hasExtension(" http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory")) { // CodeableConcept cc = i.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").getValueCodeableConcept(); // String code = cc.getCode("http://hl7.org/fhir/QuestionnaireResponse-display-category"); // hasFlag = true; @@ -727,7 +727,7 @@ public class QuestionnaireResponseRenderer extends ResourceRenderer { // } // // // appearance -// if (qi.hasExtension("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory")) { +// if (qi.hasExtension(" http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory")) { // XhtmlNode tr = tbl.tr(); // tr.td().ah("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").tx("Display Category"); // render(tr.td(), qi.getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/QuestionnaireResponse-displayCategory").getValue()); diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java index 9819f0098..5b0d1d717 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java @@ -491,8 +491,9 @@ public class GraphQLSchemaGenerator { private String getJsonFormat(StructureDefinition sd) throws FHIRException { for (ElementDefinition ed : sd.getSnapshot().getElement()) { - if (!ed.getType().isEmpty() && ed.getType().get(0).getCodeElement().hasExtension("http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type")) - return ed.getType().get(0).getCodeElement().getExtensionString("http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type"); + throw new Error("What is this code doing?"); +// if (!ed.getType().isEmpty() && ed.getType().get(0).getCodeElement().hasExtension(" http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type")) +// return ed.getType().get(0).getCodeElement().getExtensionString(" http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type"); } // all primitives but JSON_NUMBER_TYPES are represented as JSON strings if (JSON_NUMBER_TYPES.contains(sd.getName())) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java index e447f7dec..923282be2 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/IGHelper.java @@ -36,12 +36,12 @@ import org.hl7.fhir.r5.model.ImplementationGuide.ImplementationGuideDefinitionPa public class IGHelper { - public static final String EXT_SPREADSHEET = ToolingExtensions.EXT_IGP_SPREADSHEET; - public static final String EXT_MAPPING_CSV = ToolingExtensions.EXT_IGP_MAPPING_CSV; - public static final String EXT_BUNDLE = ToolingExtensions.EXT_IGP_BUNDLE; - public static final String EXT_RESOURCE_INFO = ToolingExtensions.EXT_IGP_RESOURCE_INFO; - public static final String EXT_CONTAINED_RESOURCE_INFO = ToolingExtensions.EXT_IGP_CONTAINED_RESOURCE_INFO; - public static final String EXT_PRIVATE_BASE = ToolingExtensions.EXT_PRIVATE_BASE; +// public static final String EXT_SPREADSHEET = ToolingExtensions.EXT_IGP_SPREADSHEET; +// public static final String EXT_MAPPING_CSV = ToolingExtensions.EXT_IGP_MAPPING_CSV; +// public static final String EXT_BUNDLE = ToolingExtensions.EXT_IGP_BUNDLE; +// public static final String EXT_RESOURCE_INFO = ToolingExtensions.EXT_IGP_RESOURCE_INFO; +// public static final String EXT_CONTAINED_RESOURCE_INFO = ToolingExtensions.EXT_IGP_CONTAINED_RESOURCE_INFO; +// public static final String EXT_PRIVATE_BASE = ToolingExtensions.EXT_PRIVATE_BASE; public static String readStringParameter(ImplementationGuideDefinitionComponent ig, String name) { for (ImplementationGuideDefinitionParameterComponent p : ig.getParameter()) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java index c0dd89535..6d21e8277 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java @@ -6,19 +6,19 @@ import java.lang.reflect.Modifier; /* Copyright (c) 2011+, HL7, Inc. All rights reserved. - + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of HL7 nor the names of its contributors may be used to + * Neither the name of HL7 nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. @@ -29,7 +29,7 @@ import java.lang.reflect.Modifier; WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - + */ @@ -112,105 +112,99 @@ import org.hl7.fhir.utilities.validation.ValidationMessage.Source; public class ToolingExtensions { - // validated -// private static final String EXT_OID = "http://hl7.org/fhir/StructureDefinition/valueset-oid"; -// public static final String EXT_DEPRECATED = "http://hl7.org/fhir/StructureDefinition/codesystem-deprecated"; - public static final String EXT_DEFINITION = "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition"; - public static final String EXT_CS_COMMENT = "http://hl7.org/fhir/StructureDefinition/codesystem-concept-comments"; - public static final String EXT_VS_COMMENT = "http://hl7.org/fhir/StructureDefinition/valueset-concept-comments"; - public static final String EXT_CS_KEYWORD = "http://hl7.org/fhir/StructureDefinition/codesystem-keyWord"; - public static final String EXT_VS_KEYWORD = "http://hl7.org/fhir/StructureDefinition/valueset-keyWord"; - private static final String EXT_IDENTIFIER = "http://hl7.org/fhir/StructureDefinition/identifier"; - public static final String EXT_TRANSLATION = "http://hl7.org/fhir/StructureDefinition/translation"; - public static final String EXT_ISSUE_SOURCE = "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-source"; public static final String EXT_ISSUE_MSG_ID = "http://hl7.org/fhir/StructureDefinition/operationoutcome-message-id"; public static final String EXT_ISSUE_LINE = "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-line"; public static final String EXT_ISSUE_COL = "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-col"; - public static final String EXT_DISPLAY_HINT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint"; - public static final String EXT_REPLACED_BY = "http://hl7.org/fhir/StructureDefinition/valueset-replacedby"; - public static final String EXT_REGEX = "http://hl7.org/fhir/StructureDefinition/regex"; - public static final String EXT_CONTROL = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"; - public static final String EXT_MINOCCURS = "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs"; - public static final String EXT_MAXOCCURS = "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"; + public static final String EXT_RESOURCE_IMPLEMENTS = "http://hl7.org/fhir/StructureDefinition/structuredefinition-implements"; public static final String EXT_ALLOWEDRESOURCE = "http://hl7.org/fhir/StructureDefinition/questionnaire-allowedResource"; - public static final String EXT_REFERENCEFILTER = "http://hl7.org/fhir/StructureDefinition/questionnaire-referenceFilter"; - public static final String EXT_CODE_GENERATION_PARENT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-codegen-super"; - public static final String EXT_HIERARCHY = "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy"; - public static final String EXT_BEST_PRACTICE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice"; - public static final String EXT_BEST_PRACTICE_EXPLANATION = "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation"; - // unregistered? + public static final String EXT_OO_FILE = "http://hl7.org/fhir/StructureDefinition/operationoutcome-file"; + public static final String EXT_XML_TYPE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type"; + public static final String EXT_PATTERN = "http://hl7.org/fhir/StructureDefinition/elementdefinition-pattern"; + public static final String EXT_XML_NAME = "http://hl7.org/fhir/StructureDefinition/elementdefinition-xml-name"; + public static final String EXT_BINDING_STYLE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-binding-style"; + public static final String EXT_EXPLICIT_TYPE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name"; + public static final String EXT_TIME_FORMAT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-timeformat"; + + // validated + // private static final String EXT_OID = "http://hl7.org/fhir/StructureDefinition/valueset-oid"; + // public static final String EXT_DEPRECATED = "http://hl7.org/fhir/StructureDefinition/codesystem-deprecated"; + + private static final String EXT_ALLOWABLE_UNITS = "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits"; + private static final String EXT_FHIRTYPE = "http://hl7.org/fhir/StructureDefinition/questionnaire-fhirType"; + public static final String EXT_ALLOWED_TYPE = "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type"; + public static final String EXT_BEST_PRACTICE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice"; // Y + public static final String EXT_BEST_PRACTICE_EXPLANATION = "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice-explanation"; // Y + public static final String EXT_BINDING_NAME = "http://hl7.org/fhir/StructureDefinition/elementdefinition-bindingName"; + public static final String EXT_CONTROL = "http://hl7.org/fhir/StructureDefinition/questionnaire-itemControl"; // Y + public static final String EXT_CS_COMMENT = "http://hl7.org/fhir/StructureDefinition/codesystem-concept-comments"; // Y + public static final String EXT_CS_KEYWORD = "http://hl7.org/fhir/StructureDefinition/codesystem-keyWord"; // Y + public static final String EXT_DEFINITION = "http://hl7.org/fhir/StructureDefinition/valueset-concept-definition"; // Y + public static final String EXT_DISPLAY_HINT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-display-hint"; // Y + public static final String EXT_EXPAND_GROUP = "http://hl7.org/fhir/StructureDefinition/valueset-expand-group"; + public static final String EXT_EXPAND_RULES = "http://hl7.org/fhir/StructureDefinition/valueset-expand-rules"; + public static final String EXT_EXP_TOOCOSTLY = "http://hl7.org/fhir/StructureDefinition/valueset-toocostly"; + public static final String EXT_FHIR_TYPE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"; + public static final String EXT_FMM_DERIVED = "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom"; + public static final String EXT_FMM_LEVEL = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm"; + public static final String EXT_FMM_SUPPORT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm-support"; + public static final String EXT_HIERARCHY = "http://hl7.org/fhir/StructureDefinition/structuredefinition-hierarchy"; // Y + public static final String EXT_ISSUE_SOURCE = "http://hl7.org/fhir/StructureDefinition/operationoutcome-issue-source"; // Y + public static final String EXT_MAXOCCURS = "http://hl7.org/fhir/StructureDefinition/questionnaire-maxOccurs"; // Y + public static final String EXT_MAX_DECIMALS = "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces"; + public static final String EXT_MAX_SIZE = "http://hl7.org/fhir/StructureDefinition/maxSize"; + public static final String EXT_MAX_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"; + public static final String EXT_MINOCCURS = "http://hl7.org/fhir/StructureDefinition/questionnaire-minOccurs"; // Y + public static final String EXT_MIN_LENGTH = "http://hl7.org/fhir/StructureDefinition/minLength"; + public static final String EXT_MIN_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet"; + public static final String EXT_MUST_SUPPORT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"; + public static final String EXT_NORMATIVE_VERSION = "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version"; + public static final String EXT_PROFILE_ELEMENT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element"; + public static final String EXT_QTYPE = "http://hl7.org/fhir/StructureDefinition/questionnnaire-baseType"; + public static final String EXT_Q_UNIT = "http://hl7.org/fhir/StructureDefinition/questionnaire-unit"; + public static final String EXT_REFERENCEFILTER = "http://hl7.org/fhir/StructureDefinition/questionnaire-referenceFilter"; // Y + public static final String EXT_REGEX = "http://hl7.org/fhir/StructureDefinition/regex"; // Y + public static final String EXT_RENDERED_VALUE = "http://hl7.org/fhir/StructureDefinition/rendered-value"; + public static final String EXT_REPLACED_BY = "http://hl7.org/fhir/StructureDefinition/codesystem-replacedby"; + public static final String EXT_RESOURCE_CATEGORY = "http://hl7.org/fhir/StructureDefinition/structuredefinition-category"; + public static final String EXT_RESOURCE_INTERFACE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-interface"; + public static final String EXT_SEC_CAT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category"; + public static final String EXT_STANDARDS_STATUS = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"; + public static final String EXT_TABLE_NAME = "http://hl7.org/fhir/StructureDefinition/structuredefinition-table-name"; + public static final String EXT_TARGET_ID = "http://hl7.org/fhir/StructureDefinition/targetElement"; + public static final String EXT_TARGET_PATH = "http://hl7.org/fhir/StructureDefinition/targetPath"; + public static final String EXT_TRANSLATABLE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"; + public static final String EXT_TRANSLATION = "http://hl7.org/fhir/StructureDefinition/translation"; // Y + public static final String EXT_UNCLOSED = "http://hl7.org/fhir/StructureDefinition/valueset-unclosed"; + public static final String EXT_VALUESET_SYSTEM = "http://hl7.org/fhir/StructureDefinition/valueset-system"; + public static final String EXT_VS_COMMENT = "http://hl7.org/fhir/StructureDefinition/valueset-concept-comments"; // Y + public static final String EXT_VS_KEYWORD = "http://hl7.org/fhir/StructureDefinition/valueset-keyWord"; // Y + public static final String EXT_WORKGROUP = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"; + public static final String EXT_XML_NAMESPACE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace"; + public static final String EXT_OLD_CONCEPTMAP_EQUIVALENCE = "http://hl7.org/fhir/1.0/StructureDefinition/extension-ConceptMap.element.target.equivalence"; + public static final String EXT_Q_IS_SUBJ = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-isSubject"; + public static final String EXT_Q_HIDDEN = "http://hl7.org/fhir/StructureDefinition/questionnaire-hidden"; + public static final String EXT_Q_OTP_DISP = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-optionalDisplay"; + public static final String EXT_O_LINK_PERIOD = "http://hl7.org/fhir/uv/sdc/StructureDefinition/sdc-questionnaire-observationLinkPeriod"; + public static final String EXT_Q_CHOICE_ORIENT = "http://hl7.org/fhir/StructureDefinition/questionnaire-choiceOrientation"; + public static final String EXT_Q_DISPLAY_CAT = "http://hl7.org/fhir/StructureDefinition/questionnaire-displayCategory"; + public static final String EXT_REND_MD = "http://hl7.org/fhir/StructureDefinition/rendering-markdown"; + public static final String EXT_CAP_STMT_EXPECT = "http://hl7.org/fhir/StructureDefinition/capabilitystatement-expectation"; + public static final String EXT_ED_HEIRARCHY = "http://hl7.org/fhir/StructureDefinition/elementdefinition-heirarchy"; + + // in the tooling IG + public static final String EXT_BINDING_ADDITIONAL = "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"; + + // unregistered? - don't know what these are used for public static final String EXT_MAPPING_PREFIX = "http://hl7.org/fhir/tools/StructureDefinition/logical-mapping-prefix"; public static final String EXT_MAPPING_SUFFIX = "http://hl7.org/fhir/tools/StructureDefinition/logical-mapping-suffix"; -// public static final String EXT_FLYOVER = "http://hl7.org/fhir/Profile/questionnaire-extensions#flyover"; - public static final String EXT_QTYPE = "http://hl7.org/fhir/StructureDefinition/questionnnaire-baseType"; -// private static final String EXT_QREF = "http://www.healthintersections.com.au/fhir/Profile/metadata#reference"; -// private static final String EXTENSION_FILTER_ONLY = "http://www.healthintersections.com.au/fhir/Profile/metadata#expandNeedsFilter"; -// private static final String EXT_TYPE = "http://www.healthintersections.com.au/fhir/Profile/metadata#type"; -// private static final String EXT_REFERENCE = "http://www.healthintersections.com.au/fhir/Profile/metadata#reference"; - private static final String EXT_FHIRTYPE = "http://hl7.org/fhir/StructureDefinition/questionnaire-fhirType"; - private static final String EXT_ALLOWABLE_UNITS = "http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits"; - public static final String EXT_CIMI_REFERENCE = "http://hl7.org/fhir/StructureDefinition/cimi-reference"; - public static final String EXT_UNCLOSED = "http://hl7.org/fhir/StructureDefinition/valueset-unclosed"; - public static final String EXT_FMM_LEVEL = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm"; - public static final String EXT_FMM_SUPPORT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm-support"; - public static final String EXT_FMM_DERIVED = "http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom"; - public static final String EXT_SEC_CAT = "http://hl7.org/fhir/StructureDefinition/structuredefinition-security-category"; - public static final String EXT_RESOURCE_CATEGORY = "http://hl7.org/fhir/StructureDefinition/structuredefinition-category"; - public static final String EXT_RESOURCE_INTERFACE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-interface"; - public static final String EXT_RESOURCE_IMPLEMENTS = "http://hl7.org/fhir/StructureDefinition/structuredefinition-implements"; - public static final String EXT_TABLE_NAME = "http://hl7.org/fhir/StructureDefinition/structuredefinition-table-name"; - public static final String EXT_OO_FILE = "http://hl7.org/fhir/StructureDefinition/operationoutcome-file"; - public static final String EXT_WORKGROUP = "http://hl7.org/fhir/StructureDefinition/structuredefinition-wg"; - public static final String EXT_STANDARDS_STATUS = "http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status"; - public static final String EXT_NORMATIVE_VERSION = "http://hl7.org/fhir/StructureDefinition/structuredefinition-normative-version"; - public static final String EXT_IGP_BASE = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-base"; - public static final String EXT_IGP_DEFNS = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-defns"; - public static final String EXT_IGP_FORMAT = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-format"; - public static final String EXT_IGP_SOURCE = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-source"; - public static final String EXT_IGP_VERSION = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-version"; - public static final String EXT_IGP_RESOURCES = "http://hl7.org/fhir/StructureDefinition/igpublisher-folder-resource"; - public static final String EXT_IGP_PAGES = "http://hl7.org/fhir/StructureDefinition/igpublisher-folder-pages"; - public static final String EXT_IGP_SPREADSHEET = "http://hl7.org/fhir/StructureDefinition/igpublisher-spreadsheet"; - public static final String EXT_IGP_MAPPING_CSV = "http://hl7.org/fhir/StructureDefinition/igpublisher-mapping-csv"; - public static final String EXT_IGP_BUNDLE = "http://hl7.org/fhir/StructureDefinition/igpublisher-bundle"; - public static final String EXT_IGP_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/resource-information"; - public static final String EXT_IGP_CONTAINED_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/contained-resource-information"; - public static final String EXT_IGP_LOADVERSION = "http://hl7.org/fhir/StructureDefinition/igpublisher-loadversion"; - public static final String EXT_MAX_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"; - public static final String EXT_MIN_VALUESET = "http://hl7.org/fhir/StructureDefinition/elementdefinition-minValueSet"; - public static final String EXT_PROFILE_ELEMENT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-profile-element"; - public static final String EXT_LIST_PACKAGE = "http://hl7.org/fhir/StructureDefinition/list-packageId"; + // for the v2 mapping project public static final String EXT_MAPPING_NAME = "http://hl7.org/fhir/tools/StructureDefinition/conceptmap-source-name"; public static final String EXT_MAPPING_TYPE = "http://hl7.org/fhir/tools/StructureDefinition/conceptmap-source-type"; public static final String EXT_MAPPING_CARD = "http://hl7.org/fhir/tools/StructureDefinition/conceptmap-source-cardinality"; public static final String EXT_MAPPING_TGTTYPE = "http://hl7.org/fhir/tools/StructureDefinition/conceptmap-target-type"; public static final String EXT_MAPPING_TGTCARD = "http://hl7.org/fhir/tools/StructureDefinition/conceptmap-target-cardinality"; - public static final String EXT_PRIVATE_BASE = "http://hl7.org/fhir/tools/"; - public static final String EXT_ALLOWED_TYPE = "http://hl7.org/fhir/StructureDefinition/operationdefinition-allowed-type"; - public static final String EXT_FHIR_TYPE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-fhir-type"; - public static final String EXT_XML_TYPE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-xml-type"; - public static final String EXT_RENDERED_VALUE = "http://hl7.org/fhir/StructureDefinition/rendered-value"; - public static final String EXT_OLD_CONCEPTMAP_EQUIVALENCE = "http://hl7.org/fhir/1.0/StructureDefinition/extension-ConceptMap.element.target.equivalence"; - public static final String EXT_EXP_TOOCOSTLY = "http://hl7.org/fhir/StructureDefinition/valueset-toocostly"; - public static final String EXT_MUST_SUPPORT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-type-must-support"; - public static final String EXT_TRANSLATABLE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-translatable"; - public static final String EXT_PATTERN = "http://hl7.org/fhir/StructureDefinition/elementdefinition-pattern"; - public static final String EXT_BINDING_METHOD = "http://hl7.org/fhir/StructureDefinition/elementdefinition-binding-method"; - public static final String EXT_XML_NAMESPACE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-namespace"; - public static final String EXT_XML_NAME = "http://hl7.org/fhir/StructureDefinition/elementdefinition-xml-name"; - public static final String EXT_BINDING_STYLE = "http://hl7.org/fhir/StructureDefinition/elementdefinition-binding-style"; - public static final String EXT_BINARY_FORMAT = "http://hl7.org/fhir/StructureDefinition/implementationguide-resource-format"; - public static final String EXT_TARGET_ID = "http://hl7.org/fhir/StructureDefinition/targetElement"; - public static final String EXT_TARGET_PATH = "http://hl7.org/fhir/StructureDefinition/targetPath"; - public static final String EXT_VALUESET_SYSTEM = "http://hl7.org/fhir/StructureDefinition/valueset-system"; - public static final String EXT_EXPAND_RULES = "http://hl7.org/fhir/StructureDefinition/valueset-expand-rules"; - public static final String EXT_EXPAND_GROUP = "http://hl7.org/fhir/StructureDefinition/valueset-expand-group"; - public static final String EXT_BINDING_ADDITIONAL = "http://hl7.org/fhir/tools/StructureDefinition/additional-binding"; - public static final String EXT_MIN_LENGTH = "http://hl7.org/fhir/StructureDefinition/minLength"; - public static final String EXT_MAX_DECIMALS = "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces"; - public static final String EXT_MAX_SIZE = "http://hl7.org/fhir/StructureDefinition/maxSize"; - + // specific extension helpers public static Extension makeIssueSource(Source source) { @@ -241,15 +235,15 @@ public class ToolingExtensions { return getExtension(e, url) != null; } -// public static void addStringExtension(DomainResource dr, String url, String content) { -// if (!StringUtils.isBlank(content)) { -// Extension ex = getExtension(dr, url); -// if (ex != null) -// ex.setValue(new StringType(content)); -// else -// dr.getExtension().add(Factory.newExtension(url, new StringType(content), true)); -// } -// } + // public static void addStringExtension(DomainResource dr, String url, String content) { + // if (!StringUtils.isBlank(content)) { + // Extension ex = getExtension(dr, url); + // if (ex != null) + // ex.setValue(new StringType(content)); + // else + // dr.getExtension().add(Factory.newExtension(url, new StringType(content), true)); + // } + // } public static void addMarkdownExtension(DomainResource dr, String url, String content) { if (!StringUtils.isBlank(content)) { @@ -338,10 +332,10 @@ public class ToolingExtensions { nc.getExtension().add(Factory.newExtension(EXT_CS_COMMENT, Factory.newString_(comment), true)); } -// public static void markDeprecated(Element nc) { -// setDeprecated(nc); -// } -// + // public static void markDeprecated(Element nc) { + // setDeprecated(nc); + // } + // public static void addDefinition(Element nc, String definition) { if (!StringUtils.isBlank(definition)) @@ -477,37 +471,37 @@ public class ToolingExtensions { public static String getCSComment(ConceptDefinitionComponent c) { return readStringExtension(c, EXT_CS_COMMENT); } -// -// public static Boolean getDeprecated(Element c) { -// return readBooleanExtension(c, EXT_DEPRECATED); -// } + // + // public static Boolean getDeprecated(Element c) { + // return readBooleanExtension(c, EXT_DEPRECATED); + // } public static boolean hasCSComment(ConceptDefinitionComponent c) { return findStringExtension(c, EXT_CS_COMMENT); } -// public static boolean hasDeprecated(Element c) { -// return findBooleanExtension(c, EXT_DEPRECATED); -// } + // public static boolean hasDeprecated(Element c) { + // return findBooleanExtension(c, EXT_DEPRECATED); + // } public static void addFlyOver(QuestionnaireItemComponent item, String text, String linkId){ if (!StringUtils.isBlank(text)) { - QuestionnaireItemComponent display = item.addItem(); - display.setType(QuestionnaireItemType.DISPLAY); - display.setText(text); - display.setLinkId(linkId); - display.getExtension().add(Factory.newExtension(EXT_CONTROL, Factory.newCodeableConcept("flyover", "http://hl7.org/fhir/questionnaire-item-control", "Fly-over"), true)); + QuestionnaireItemComponent display = item.addItem(); + display.setType(QuestionnaireItemType.DISPLAY); + display.setText(text); + display.setLinkId(linkId); + display.getExtension().add(Factory.newExtension(EXT_CONTROL, Factory.newCodeableConcept("flyover", "http://hl7.org/fhir/questionnaire-item-control", "Fly-over"), true)); } } public static void addMin(QuestionnaireItemComponent item, int min) { item.getExtension().add(Factory.newExtension(EXT_MINOCCURS, Factory.newInteger(min), true)); } - + public static void addMax(QuestionnaireItemComponent item, int max) { item.getExtension().add(Factory.newExtension(EXT_MAXOCCURS, Factory.newInteger(max), true)); } - + public static void addFhirType(QuestionnaireItemComponent group, String value) { group.getExtension().add(Factory.newExtension(EXT_FHIRTYPE, Factory.newString_(value), true)); } @@ -524,9 +518,9 @@ public class ToolingExtensions { group.getExtension().add(Factory.newExtension(EXT_REFERENCEFILTER, Factory.newString_(value), true)); } - public static void addIdentifier(Element element, Identifier value) { - element.getExtension().add(Factory.newExtension(EXT_IDENTIFIER, value, true)); - } + // public static void addIdentifier(Element element, Identifier value) { + // element.getExtension().add(Factory.newExtension(EXT_IDENTIFIER, value, true)); + // } /** * @param name the identity of the extension of interest @@ -559,7 +553,7 @@ public class ToolingExtensions { public static void setStringExtension(DomainResource resource, String uri, String value) { if (Utilities.noString(value)) return; - Extension ext = getExtension(resource, uri); + Extension ext = getExtension(resource, uri); if (ext != null) ext.setValue(new StringType(value)); else @@ -569,7 +563,7 @@ public class ToolingExtensions { public static void setStringExtension(Element resource, String uri, String value) { if (Utilities.noString(value)) return; - Extension ext = getExtension(resource, uri); + Extension ext = getExtension(resource, uri); if (ext != null) ext.setValue(new StringType(value)); else @@ -579,7 +573,7 @@ public class ToolingExtensions { public static void setCodeExtension(DomainResource resource, String uri, String value) { if (Utilities.noString(value)) return; - + Extension ext = getExtension(resource, uri); if (ext != null) ext.setValue(new CodeType(value)); @@ -590,7 +584,7 @@ public class ToolingExtensions { public static void setCodeExtension(Element element, String uri, String value) { if (Utilities.noString(value)) return; - + Extension ext = getExtension(element, uri); if (ext != null) ext.setValue(new CodeType(value)); @@ -606,34 +600,34 @@ public class ToolingExtensions { resource.getExtension().add(new Extension(uri).setValue(new IntegerType(value))); } -// public static String getOID(CodeSystem define) { -// return readStringExtension(define, EXT_OID); -// } -// -// public static String getOID(ValueSet vs) { -// return readStringExtension(vs, EXT_OID); -// } -// -// public static void setOID(CodeSystem define, String oid) throws FHIRFormatError, URISyntaxException { -// if (!oid.startsWith("urn:oid:")) -// throw new FHIRFormatError("Error in OID format"); -// if (oid.startsWith("urn:oid:urn:oid:")) -// throw new FHIRFormatError("Error in OID format"); -// if (!hasExtension(define, EXT_OID)) -// define.getExtension().add(Factory.newExtension(EXT_OID, Factory.newUri(oid), false)); -// else if (!oid.equals(readStringExtension(define, EXT_OID))) -// throw new Error("Attempt to assign multiple OIDs to a code system"); -// } -// public static void setOID(ValueSet vs, String oid) throws FHIRFormatError, URISyntaxException { -// if (!oid.startsWith("urn:oid:")) -// throw new FHIRFormatError("Error in OID format"); -// if (oid.startsWith("urn:oid:urn:oid:")) -// throw new FHIRFormatError("Error in OID format"); -// if (!hasExtension(vs, EXT_OID)) -// vs.getExtension().add(Factory.newExtension(EXT_OID, Factory.newUri(oid), false)); -// else if (!oid.equals(readStringExtension(vs, EXT_OID))) -// throw new Error("Attempt to assign multiple OIDs to value set "+vs.getName()+" ("+vs.getUrl()+"). Has "+readStringExtension(vs, EXT_OID)+", trying to add "+oid); -// } + // public static String getOID(CodeSystem define) { + // return readStringExtension(define, EXT_OID); + // } + // + // public static String getOID(ValueSet vs) { + // return readStringExtension(vs, EXT_OID); + // } + // + // public static void setOID(CodeSystem define, String oid) throws FHIRFormatError, URISyntaxException { + // if (!oid.startsWith("urn:oid:")) + // throw new FHIRFormatError("Error in OID format"); + // if (oid.startsWith("urn:oid:urn:oid:")) + // throw new FHIRFormatError("Error in OID format"); + // if (!hasExtension(define, EXT_OID)) + // define.getExtension().add(Factory.newExtension(EXT_OID, Factory.newUri(oid), false)); + // else if (!oid.equals(readStringExtension(define, EXT_OID))) + // throw new Error("Attempt to assign multiple OIDs to a code system"); + // } + // public static void setOID(ValueSet vs, String oid) throws FHIRFormatError, URISyntaxException { + // if (!oid.startsWith("urn:oid:")) + // throw new FHIRFormatError("Error in OID format"); + // if (oid.startsWith("urn:oid:urn:oid:")) + // throw new FHIRFormatError("Error in OID format"); + // if (!hasExtension(vs, EXT_OID)) + // vs.getExtension().add(Factory.newExtension(EXT_OID, Factory.newUri(oid), false)); + // else if (!oid.equals(readStringExtension(vs, EXT_OID))) + // throw new Error("Attempt to assign multiple OIDs to value set "+vs.getName()+" ("+vs.getUrl()+"). Has "+readStringExtension(vs, EXT_OID)+", trying to add "+oid); + // } public static boolean hasLanguageTranslation(Element element, String lang) { for (Extension e : element.getExtension()) { @@ -664,7 +658,7 @@ public class ToolingExtensions { public static void addLanguageTranslation(Element element, String lang, String value) { if (Utilities.noString(lang) || Utilities.noString(value)) return; - + Extension extension = new Extension().setUrl(EXT_TRANSLATION); extension.addExtension().setUrl("lang").setValue(new CodeType(lang)); extension.addExtension().setUrl("content").setValue(new StringType(value)); @@ -703,23 +697,23 @@ public class ToolingExtensions { return results; } -// public static void addDEReference(DataElement de, String value) { -// for (Extension e : de.getExtension()) -// if (e.getUrl().equals(EXT_CIMI_REFERENCE)) { -// e.setValue(new UriType(value)); -// return; -// } -// de.getExtension().add(new Extension().setUrl(EXT_CIMI_REFERENCE).setValue(new UriType(value))); -// } + // public static void addDEReference(DataElement de, String value) { + // for (Extension e : de.getExtension()) + // if (e.getUrl().equals(EXT_CIMI_REFERENCE)) { + // e.setValue(new UriType(value)); + // return; + // } + // de.getExtension().add(new Extension().setUrl(EXT_CIMI_REFERENCE).setValue(new UriType(value))); + // } -// public static void setDeprecated(Element nc) { -// for (Extension e : nc.getExtension()) -// if (e.getUrl().equals(EXT_DEPRECATED)) { -// e.setValue(new BooleanType(true)); -// return; -// } -// nc.getExtension().add(new Extension().setUrl(EXT_DEPRECATED).setValue(new BooleanType(true))); -// } + // public static void setDeprecated(Element nc) { + // for (Extension e : nc.getExtension()) + // if (e.getUrl().equals(EXT_DEPRECATED)) { + // e.setValue(new BooleanType(true)); + // return; + // } + // nc.getExtension().add(new Extension().setUrl(EXT_DEPRECATED).setValue(new BooleanType(true))); + // } public static void setExtension(Element focus, String url, Coding c) { for (Extension e : focus.getExtension()) @@ -739,7 +733,7 @@ public class ToolingExtensions { } } } - + public static void removeExtension(Element focus, String url) { Iterator i = focus.getExtension().iterator(); while (i.hasNext()) { @@ -876,7 +870,7 @@ public class ToolingExtensions { return readStringExtension(type, EXT_RENDERED_VALUE); return type.primitiveValue(); } - + public static String getPresentation(Element holder, PrimitiveType type) { if (holder.hasExtension(EXT_RENDERED_VALUE)) return readStringExtension(holder, EXT_RENDERED_VALUE); @@ -884,15 +878,15 @@ public class ToolingExtensions { return readStringExtension(type, EXT_RENDERED_VALUE); return type.primitiveValue(); } - -// public static boolean hasOID(ValueSet vs) { -// return hasExtension(vs, EXT_OID); -// } -// -// public static boolean hasOID(CodeSystem cs) { -// return hasExtension(cs, EXT_OID); -// } -// + + // public static boolean hasOID(ValueSet vs) { + // return hasExtension(vs, EXT_OID); + // } + // + // public static boolean hasOID(CodeSystem cs) { + // return hasExtension(cs, EXT_OID); + // } + // public static void addUrlExtension(Element e, String url, String content) { if (!StringUtils.isBlank(content)) { Extension ex = getExtension(e, url); @@ -938,7 +932,7 @@ public class ToolingExtensions { } } } - + for (Property p : base.children() ) { for (Base v : p.getValues()) { if (usesExtension(url, v)) { @@ -965,5 +959,5 @@ public class ToolingExtensions { } - + } \ No newline at end of file diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index b6cbf4cb7..5ec35c983 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -1111,8 +1111,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) rule(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESET, describeValueSet(binding.getValueSet())); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - rule(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESETMAX, describeReference(ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")), valueset.getUrl()); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + rule(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESETMAX, describeReference(ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET)), valueset.getUrl()); else warning(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESET_EXT, describeValueSet(binding.getValueSet())); } @@ -1141,7 +1141,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (!vr.isOk()) { bindingsOk = false; if (vr.getErrorClass() != null && vr.getErrorClass() == TerminologyServiceErrorClass.NOSERVICE) { - if (binding.getStrength() == BindingStrength.REQUIRED || (binding.getStrength() == BindingStrength.EXTENSIBLE && binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"))) { + if (binding.getStrength() == BindingStrength.REQUIRED || (binding.getStrength() == BindingStrength.EXTENSIBLE && binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET))) { hint(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOSVC_BOUND_REQ, describeReference(binding.getValueSet())); } else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { hint(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOSVC_BOUND_EXT, describeReference(binding.getValueSet())); @@ -1150,8 +1150,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) txWarning(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_1_CC, describeReference(binding.getValueSet()), vr.getErrorClass().toString()); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), cc, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), cc, stack); else if (!noExtensibleWarnings) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_2_CC, describeReference(binding.getValueSet()), vr.getErrorClass().toString()); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1163,8 +1163,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) { txRule(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_1_CC, describeValueSet(binding.getValueSet()), ccSummary(cc)); } else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), cc, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), cc, stack); if (!noExtensibleWarnings) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_2_CC, describeValueSet(binding.getValueSet()), ccSummary(cc)); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1243,8 +1243,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) rule(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, "No code provided, and a code is required from the value set " + describeReference(binding.getValueSet()) + " (" + valueset.getUrl()); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - rule(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESETMAX, describeReference(ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")), valueset.getUrl()); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + rule(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESETMAX, describeReference(ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET)), valueset.getUrl()); else warning(errors, IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CODE_VALUESET_EXT, describeValueSet(binding.getValueSet())); } @@ -1277,8 +1277,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) txWarning(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_1_CC, describeReference(binding.getValueSet()), vr.getErrorClass().toString()); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), cc, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), cc, stack); else if (!noExtensibleWarnings) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_2_CC, describeReference(binding.getValueSet()), vr.getErrorClass().toString()); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1290,8 +1290,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) txRule(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_1_CC, describeValueSet(binding.getValueSet()), ccSummary(cc)); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), cc, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), cc, stack); if (!noExtensibleWarnings) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_2_CC, describeValueSet(binding.getValueSet()), ccSummary(cc)); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1385,8 +1385,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) txWarning(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_4a, describeReference(binding.getValueSet(), valueset), vr.getMessage(), system+"#"+code); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), c, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), c, stack); else if (!noExtensibleWarnings) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_5, describeReference(binding.getValueSet(), valueset)); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1397,8 +1397,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } else if (binding.getStrength() == BindingStrength.REQUIRED) txRule(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_4, describeReference(binding.getValueSet(), valueset), (vr.getMessage() != null ? " (error message = " + vr.getMessage() + ")" : ""), system+"#"+code); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), c, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), c, stack); else txWarning(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_5, describeReference(binding.getValueSet(), valueset), (vr.getMessage() != null ? " (error message = " + vr.getMessage() + ")" : ""), system+"#"+code); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1643,8 +1643,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat if (binding.getStrength() == BindingStrength.REQUIRED) txRule(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_4a, describeReference(binding.getValueSet(), valueset), vr.getMessage(), theSystem+"#"+theCode); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), c, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), c, stack); else if (!noExtensibleWarnings) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_CONFIRM_5, describeReference(binding.getValueSet(), valueset)); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -1655,8 +1655,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } else if (binding.getStrength() == BindingStrength.REQUIRED) txRule(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_12, describeReference(binding.getValueSet(), valueset), getErrorMessage(vr.getMessage()), theSystem+"#"+theCode); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), c, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), c, stack); else if (!noExtensibleWarnings) { txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_13, describeReference(binding.getValueSet(), valueset), getErrorMessage(vr.getMessage()), c.getSystem()+"#"+c.getCode()); } @@ -2243,9 +2243,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat warning(errors, IssueType.INVALID, e.line(), e.col(), path, wsok, I18nConstants.TYPE_SPECIFIC_CHECKS_DT_BASE64_NO_WS_WARNING); } } - if (ok && context.hasExtension("http://hl7.org/fhir/StructureDefinition/maxSize")) { + if (ok && context.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { int size = countBase64DecodedBytes(encoded); - long def = Long.parseLong(ToolingExtensions.readStringExtension(context, "http://hl7.org/fhir/StructureDefinition/maxSize")); + long def = Long.parseLong(ToolingExtensions.readStringExtension(context, ToolingExtensions.EXT_MAX_SIZE)); rule(errors, IssueType.STRUCTURE, e.line(), e.col(), path, size <= def, I18nConstants.TYPE_SPECIFIC_CHECKS_DT_BASE64_TOO_LONG, size, def); } @@ -2289,9 +2289,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } } } - if (context.hasExtension("http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces")) { + if (context.hasExtension(ToolingExtensions.EXT_MAX_DECIMALS)) { int dp = e.primitiveValue().contains(".") ? e.primitiveValue().substring(e.primitiveValue().indexOf(".")+1).length() : 0; - int def = Integer.parseInt(ToolingExtensions.readStringExtension(context, "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces")); + int def = Integer.parseInt(ToolingExtensions.readStringExtension(context, ToolingExtensions.EXT_MAX_DECIMALS)); rule(errors, IssueType.STRUCTURE, e.line(), e.col(), path, dp <= def, I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DECIMAL_CHARS, dp, def); } } @@ -2731,8 +2731,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat else if (binding.getStrength() == BindingStrength.REQUIRED) txRule(errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_16, value, describeValueSet(binding.getValueSet()), getErrorMessage(vr.getMessage())); else if (binding.getStrength() == BindingStrength.EXTENSIBLE) { - if (binding.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet")) - checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, "http://hl7.org/fhir/StructureDefinition/elementdefinition-maxValueSet"), value, stack); + if (binding.hasExtension(ToolingExtensions.EXT_MAX_VALUESET)) + checkMaxValueSet(errors, path, element, profile, ToolingExtensions.readStringExtension(binding, ToolingExtensions.EXT_MAX_VALUESET), value, stack); else if (!noExtensibleWarnings && !isOkExtension(value, vs)) txWarningForLaterRemoval(element, errors, vr.getTxLink(), IssueType.CODEINVALID, element.line(), element.col(), path, false, I18nConstants.TERMINOLOGY_TX_NOVALID_17, value, describeValueSet(binding.getValueSet()), getErrorMessage(vr.getMessage())); } else if (binding.getStrength() == BindingStrength.PREFERRED) { @@ -2771,9 +2771,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat // todo: allowedUnits http://hl7.org/fhir/StructureDefinition/elementdefinition-allowedUnits - codeableConcept, or canonical(ValueSet) // todo: http://hl7.org/fhir/StructureDefinition/iso21090-PQ-translation - if (!Utilities.noString(value) && definition.hasExtension("http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces")) { + if (!Utilities.noString(value) && definition.hasExtension(ToolingExtensions.EXT_MAX_DECIMALS)) { int dp = value.contains(".") ? value.substring(value.indexOf(".")+1).length() : 0; - int def = Integer.parseInt(ToolingExtensions.readStringExtension(definition, "http://hl7.org/fhir/StructureDefinition/maxDecimalPlaces")); + int def = Integer.parseInt(ToolingExtensions.readStringExtension(definition, ToolingExtensions.EXT_MAX_DECIMALS)); rule(errors, IssueType.STRUCTURE, element.line(), element.col(), path, dp <= def, I18nConstants.TYPE_SPECIFIC_CHECKS_DT_DECIMAL_CHARS, dp, def); } @@ -2911,7 +2911,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } } else if (element.hasChild("url")) { String url = element.getChildValue("url"); - if (definition.hasExtension("http://hl7.org/fhir/StructureDefinition/maxSize")) { + if (definition.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { try { if (url.startsWith("http://") || url.startsWith("https://")) { if (fetcher == null) { @@ -2930,9 +2930,9 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } } } - if (definition.hasExtension("http://hl7.org/fhir/StructureDefinition/maxSize")) { + if (definition.hasExtension(ToolingExtensions.EXT_MAX_SIZE)) { if (warning(errors, IssueType.STRUCTURE, element.line(), element.col(), path, size >= 0, fetchError)) { - long def = Long.parseLong(ToolingExtensions.readStringExtension(definition, "http://hl7.org/fhir/StructureDefinition/maxSize")); + long def = Long.parseLong(ToolingExtensions.readStringExtension(definition, ToolingExtensions.EXT_MAX_SIZE)); rule(errors, IssueType.STRUCTURE, element.line(), element.col(), path, size <= def, I18nConstants.TYPE_SPECIFIC_CHECKS_DT_ATT_TOO_LONG, size, def); } } @@ -5693,8 +5693,8 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } msg = context.formatMessage(I18nConstants.INV_FAILED, inv.getKey() + ": '" + inv.getHuman()+"'")+msg; - if (inv.hasExtension("http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice") && - ToolingExtensions.readBooleanExtension(inv, "http://hl7.org/fhir/StructureDefinition/elementdefinition-bestpractice")) { + if (inv.hasExtension(ToolingExtensions.EXT_BEST_PRACTICE) && + ToolingExtensions.readBooleanExtension(inv, ToolingExtensions.EXT_BEST_PRACTICE)) { if (bpWarnings == BestPracticeWarningLevel.Hint) hint(errors, IssueType.INVARIANT, element.line(), element.col(), path, ok, msg); else if (bpWarnings == BestPracticeWarningLevel.Warning) diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/MeasureValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/MeasureValidator.java index a47484a14..b85cf50a0 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/MeasureValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/MeasureValidator.java @@ -26,6 +26,7 @@ import org.hl7.fhir.r5.model.Measure.MeasureGroupPopulationComponent; import org.hl7.fhir.r5.model.Measure.MeasureGroupStratifierComponent; import org.hl7.fhir.r5.model.Resource; import org.hl7.fhir.r5.renderers.DataRenderer; +import org.hl7.fhir.r5.utils.ToolingExtensions; import org.hl7.fhir.r5.utils.XVerExtensionManager; import org.hl7.fhir.utilities.FhirPublication; import org.hl7.fhir.utilities.Utilities; @@ -338,7 +339,7 @@ public class MeasureValidator extends BaseValidator { // ratio - score is a number with no value constraints, and maybe with a unit (perhaps constrained by extension) if (rule(errors, IssueType.REQUIRED, ms.line(), ms.col(), ns.getLiteralPath(), v != null, I18nConstants.MEASURE_MR_SCORE_VALUE_REQUIRED, "ratio")) { Element unit = ms.getNamedChild("code"); - Coding c = m.measure().hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-unit") ? (Coding) m.measure().getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-unit").getValue() : null; + Coding c = m.measure().hasExtension(ToolingExtensions.EXT_Q_UNIT) ? (Coding) m.measure().getExtensionByUrl(ToolingExtensions.EXT_Q_UNIT).getValue() : null; if (unit != null) { if (c != null) { NodeStack nsc = ns.push(unit, -1, unit.getProperty().getDefinition(), unit.getProperty().getDefinition()); @@ -361,7 +362,7 @@ public class MeasureValidator extends BaseValidator { // continuous-variable - score is a quantity with a unit per the extension if (rule(errors, IssueType.REQUIRED, ms.line(), ms.col(), ns.getLiteralPath(), v != null, I18nConstants.MEASURE_MR_SCORE_VALUE_REQUIRED, "continuous-variable")) { Element unit = ms.getNamedChild("code"); - Coding c = m.measure().hasExtension("http://hl7.org/fhir/StructureDefinition/questionnaire-unit") ? (Coding) m.measure().getExtensionByUrl("http://hl7.org/fhir/StructureDefinition/questionnaire-unit").getValue() : null; + Coding c = m.measure().hasExtension(ToolingExtensions.EXT_Q_UNIT) ? (Coding) m.measure().getExtensionByUrl(ToolingExtensions.EXT_Q_UNIT).getValue() : null; if (unit != null) { if (c != null) { NodeStack nsc = ns.push(unit, -1, unit.getProperty().getDefinition(), unit.getProperty().getDefinition()); diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java index 7efe2fc26..cda40a05e 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/StructureDefinitionValidator.java @@ -140,9 +140,10 @@ public class StructureDefinitionValidator extends BaseValidator { tc = type.getExtensionValue(ToolingExtensions.EXT_FHIR_TYPE).primitiveValue(); } if (Utilities.noString(tc) && type.hasChild("code")) { - if (type.getNamedChild("code").hasExtension("http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type")) { - tc = "*"; - } + throw new Error("WTF?"); +// if (type.getNamedChild("code").hasExtension(" http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type")) { +// tc = "*"; +// } } typeCodes.add(tc); Set tcharacteristics = new HashSet<>(); @@ -338,7 +339,7 @@ public class StructureDefinitionValidator extends BaseValidator { } StructureDefinition sd = context.fetchTypeDefinition(tc); if (sd != null) { - if (sd.hasExtension(ToolingExtensions.EXT_BINDING_METHOD)) { + if (sd.hasExtension(ToolingExtensions.EXT_BINDING_STYLE)) { return tc; } } From 1f7fff8d9d84dc70131a13d5ff4374fad89a0413 Mon Sep 17 00:00:00 2001 From: Gabriel Date: Mon, 19 Sep 2022 14:54:36 +0200 Subject: [PATCH 142/156] Show display name of concepts which are not mapped --- .../main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java index f6a2a1f5d..74e9c6c80 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java @@ -246,7 +246,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { td.addText(ccl.getCode()); else td.addText(grp.getSource()+" / "+ccl.getCode()); - display = getDisplayForConcept(systemFromCanonical(grp.getSource()), versionFromCanonical(grp.getSource()), ccl.getCode()); + display = ccl.hasDisplay() ? ccl.getDisplay() : getDisplayForConcept(systemFromCanonical(grp.getSource()), versionFromCanonical(grp.getSource()), ccl.getCode()); tr.td().style("border-left-width: 0px").tx(display == null ? "" : display); tr.td().colspan("4").style("background-color: #efefef").tx("(not mapped)"); From ba56fc1a89611c40a0382f57f6314500a1e914aa Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:47:21 -0400 Subject: [PATCH 143/156] upgrade package visitor to visit all packages --- .../convertors/analytics/PackageVisitor.java | 125 +++++++++++++++--- .../analytics/SearchParameterAnalysis.java | 3 +- 2 files changed, 106 insertions(+), 22 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java index 8cb1407e2..ad445ccf2 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/PackageVisitor.java @@ -2,16 +2,20 @@ package org.hl7.fhir.convertors.analytics; import java.io.IOException; import java.util.ArrayList; +import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import javax.xml.parsers.ParserConfigurationException; import org.hl7.fhir.exceptions.FHIRException; +import org.hl7.fhir.r5.utils.EOperationOutcome; import org.hl7.fhir.utilities.SimpleHTTPClient; import org.hl7.fhir.utilities.SimpleHTTPClient.HTTPResult; import org.hl7.fhir.utilities.TextFile; +import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.json.JsonTrackingParser; import org.hl7.fhir.utilities.json.JsonUtilities; import org.hl7.fhir.utilities.npm.FilesystemPackageCacheManager; @@ -24,18 +28,21 @@ import org.w3c.dom.Document; import org.w3c.dom.Element; import org.xml.sax.SAXException; +import com.google.gson.JsonArray; +import com.google.gson.JsonElement; import com.google.gson.JsonObject; public class PackageVisitor { public interface IPackageVisitorProcessor { - public void processResource(String pid, String version, String type, byte[] content) throws FHIRException; + public void processResource(String pid, NpmPackage npm, String version, String type, String id, byte[] content) throws FHIRException, IOException, EOperationOutcome; } private List resourceTypes = new ArrayList<>(); private List versions = new ArrayList<>(); private boolean corePackages; private boolean oldVersions; + private boolean current; private IPackageVisitorProcessor processor; private FilesystemPackageCacheManager pcm; private PackageClient pc; @@ -57,7 +64,13 @@ public class PackageVisitor { } + public boolean isCurrent() { + return current; + } + public void setCurrent(boolean current) { + this.current = current; + } public boolean isCorePackages() { return corePackages; @@ -99,20 +112,72 @@ public class PackageVisitor { System.out.println("Finding packages"); pc = new PackageClient(PackageClient.PRIMARY_SERVER); pcm = new FilesystemPackageCacheManager(true, ToolsVersion.TOOLS_VERSION); + + Map cpidMap = getAllCIPackages(); + Set cpidSet = new HashSet<>(); + System.out.println("Go: "+cpidMap.size()+" current packages"); + for (String s : cpidMap.keySet()) { + processCurrentPackage(s, cpidMap.get(s), cpidSet); + } Set pidList = getAllPackages(); - System.out.println("Go: "+pidList.size()+" packages"); - for (String pid : pidList) { - List vList = listVersions(pid); - if (oldVersions) { - for (String v : vList) { - processPackage(pid, v); + System.out.println("Go: "+pidList.size()+" published packages"); + for (String pid : pidList) { + if (!cpidSet.contains(pid)) { + List vList = listVersions(pid); + if (oldVersions) { + for (String v : vList) { + processPackage(pid, v); + } + } else if (vList.isEmpty()) { + System.out.println("No Packages for "+pid); + } else { + processPackage(pid, vList.get(vList.size() - 1)); } - } else if (vList.isEmpty()) { - System.out.println("No Packages for "+pid); - } else { - processPackage(pid, vList.get(vList.size() - 1)); } - } + } + } + + private void processCurrentPackage(String url, String pid, Set cpidSet) { + try { + String[] p = url.split("\\/"); + String repo = "https://build.fhir.org/ig/"+p[0]+"/"+p[1]; + NpmPackage npm = NpmPackage.fromUrl(repo+"/package.tgz"); + String fv = npm.fhirVersion(); + cpidSet.add(pid); + + if (corePackages || !corePackage(npm)) { + int c = 0; + if (fv != null && (versions.isEmpty() || versions.contains(fv))) { + for (String type : resourceTypes) { + for (String s : npm.listResources(type)) { + c++; + try { + processor.processResource(pid+"#current", npm, fv, type, s, TextFile.streamToBytes(npm.load("package", s))); + } catch (Exception e) { + System.out.println("####### Error loading "+pid+"#current["+fv+"]/"+type+" ####### "+e.getMessage()); + e.printStackTrace(); + } + } + } + } + System.out.println("Processed: "+pid+"#current: "+c+" resources"); + } + } catch (Exception e) { + System.out.println("Unable to process: "+pid+"#current: "+e.getMessage()); + } + } + + private Map getAllCIPackages() throws IOException { + Map res = new HashMap<>(); + if (current) { + JsonArray json = JsonTrackingParser.fetchJsonArray("https://build.fhir.org/ig/qas.json"); + for (JsonElement j : json) { + JsonObject o = (JsonObject) j; + String url = JsonUtilities.str(o, "repo"); + res.put(url, JsonUtilities.str(o, "package-id")); + } + } + return res; } private List listVersions(String pid) throws IOException { @@ -172,16 +237,34 @@ public class PackageVisitor { } catch (Throwable e) { System.out.println("Unable to process: "+pid+"#"+v+": "+e.getMessage()); } - int c = 0; - if (fv != null && (versions.isEmpty() || versions.contains(fv))) { - for (String type : resourceTypes) { - for (String s : npm.listResources(type)) { - c++; - processor.processResource(pid+"#"+v, fv, type, TextFile.streamToBytes(npm.load("package", s))); + if (corePackages || !corePackage(npm)) { + int c = 0; + if (fv != null && (versions.isEmpty() || versions.contains(fv))) { + for (String type : resourceTypes) { + for (String s : npm.listResources(type)) { + c++; + try { + processor.processResource(pid+"#"+v, npm, fv, type, s, TextFile.streamToBytes(npm.load("package", s))); + } catch (Exception e) { + System.out.println("####### Error loading "+pid+"#"+v +"["+fv+"]/"+type+" ####### "+e.getMessage()); + e.printStackTrace(); + } + } } - } - } - System.out.println("Processed: "+pid+"#"+v+": "+c+" resources"); + } + System.out.println("Processed: "+pid+"#"+v+": "+c+" resources"); + } + } + + private boolean corePackage(NpmPackage npm) { + return npm != null && !Utilities.noString(npm.name()) && ( + npm.name().startsWith("hl7.terminology") || + npm.name().startsWith("hl7.fhir.r2.") || + npm.name().startsWith("hl7.fhir.r2b.") || + npm.name().startsWith("hl7.fhir.r3.") || + npm.name().startsWith("hl7.fhir.r4.") || + npm.name().startsWith("hl7.fhir.r4b.") || + npm.name().startsWith("hl7.fhir.r5.")); } } diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java index c01fa50ba..d74b4d66c 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/analytics/SearchParameterAnalysis.java @@ -16,6 +16,7 @@ import org.hl7.fhir.exceptions.FHIRException; import org.hl7.fhir.exceptions.FHIRFormatError; import org.hl7.fhir.utilities.Utilities; import org.hl7.fhir.utilities.VersionUtilities; +import org.hl7.fhir.utilities.npm.NpmPackage; import org.xml.sax.SAXException; public class SearchParameterAnalysis implements IPackageVisitorProcessor { @@ -97,7 +98,7 @@ public class SearchParameterAnalysis implements IPackageVisitorProcessor { private Map versions = new HashMap(); @Override - public void processResource(String pid, String version, String type, byte[] content) throws FHIRException { + public void processResource(String pid, NpmPackage npm, String version, String type, String id, byte[] content) throws FHIRException { // System.out.println("v"+version+" "+type+" from "+pid); boolean core = pid.startsWith("hl7.fhir.r") && (pid.contains(".core") || pid.contains(".examples")); version = VersionUtilities.getMajMin(version); From e044bf66077670ad741c3c7eaa3904c71391f24c Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:47:41 -0400 Subject: [PATCH 144/156] bug fixes from loading all published packages --- .../resources14_50/OperationDefinition14_50.java | 10 +++++++++- .../resources30_50/CapabilityStatement30_50.java | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java index 28ce4edb3..0ad42990a 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv14_50/resources14_50/OperationDefinition14_50.java @@ -224,7 +224,7 @@ public class OperationDefinition14_50 { if (src.hasDocumentation()) tgt.setDocumentationElement(String14_50.convertStringToMarkdown(src.getDocumentationElement())); if (src.hasType()) - tgt.setType(Enumerations.FHIRTypes.fromCode(src.getType())); + tgt.setType(Enumerations.FHIRTypes.fromCode(fixTypeCode(src.getType()))); if (src.hasSearchType()) tgt.setSearchTypeElement(Enumerations14_50.convertSearchParamType(src.getSearchTypeElement())); tgt.addTargetProfile(src.getProfile().getReference()); @@ -235,6 +235,14 @@ public class OperationDefinition14_50 { return tgt; } + private static String fixTypeCode(String type) { + if ("Type".equals(type)) { + return "DataType"; + } else { + return type; + } + } + static public org.hl7.fhir.dstu2016may.model.Enumeration convertOperationKind(org.hl7.fhir.r5.model.Enumeration src) throws FHIRException { if (src == null || src.isEmpty()) return null; diff --git a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java index 966d6dd86..dea8bd622 100644 --- a/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java +++ b/org.hl7.fhir.convertors/src/main/java/org/hl7/fhir/convertors/conv30_50/resources30_50/CapabilityStatement30_50.java @@ -61,7 +61,7 @@ public class CapabilityStatement30_50 { if (src.hasImplementation()) tgt.setImplementation(convertCapabilityStatementImplementationComponent(src.getImplementation())); if (src.hasFhirVersion()) - tgt.setFhirVersion(org.hl7.fhir.r5.model.Enumerations.FHIRVersion.fromCode(src.getFhirVersion())); + tgt.setFhirVersion(org.hl7.fhir.r5.model.Enumerations.FHIRVersion.fromCode(fixCode(src.getFhirVersion()))); if (src.hasAcceptUnknown()) tgt.addExtension().setUrl("http://hl7.org/fhir/3.0/StructureDefinition/extension-CapabilityStatement.acceptUnknown").setValue(new org.hl7.fhir.r5.model.CodeType(src.getAcceptUnknownElement().asStringValue())); for (org.hl7.fhir.dstu3.model.CodeType t : src.getFormat()) tgt.addFormat(t.getValue()); @@ -78,6 +78,14 @@ public class CapabilityStatement30_50 { return tgt; } + private static String fixCode(String v) { + if ("STU3".equals(v)) { + return "3.0.2"; + } else { + return v; + } + } + public static org.hl7.fhir.dstu3.model.CapabilityStatement convertCapabilityStatement(org.hl7.fhir.r5.model.CapabilityStatement src) throws FHIRException { if (src == null) return null; From 7f74b4521a6b56bdb888bc2100e6d303b36f3411 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:47:59 -0400 Subject: [PATCH 145/156] allow rendering additional information in a comparison --- .../hl7/fhir/r5/comparison/ComparisonRenderer.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/ComparisonRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/ComparisonRenderer.java index 59344bac9..bfeff3609 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/ComparisonRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/comparison/ComparisonRenderer.java @@ -45,6 +45,7 @@ public class ComparisonRenderer implements IEvaluationContext { private ComparisonSession session; private Map templates = new HashMap<>(); private String folder; + private String preamble; public ComparisonRenderer(IWorkerContext contextLeft, IWorkerContext contextRight, String folder, ComparisonSession session) { super(); @@ -53,6 +54,14 @@ public class ComparisonRenderer implements IEvaluationContext { this.folder = folder; this.session = session; } + + public String getPreamble() { + return preamble; + } + + public void setPreamble(String preamble) { + this.preamble = preamble; + } public Map getTemplates() { return templates; @@ -61,6 +70,9 @@ public class ComparisonRenderer implements IEvaluationContext { public File render(String leftName, String rightName) throws IOException { dumpBinaries(); StringBuilder b = new StringBuilder(); + if (preamble != null) { + b.append(preamble); + } b.append("\r\n"); b.append(" \r\n"); b.append(" \r\n"); From b5d828b0dc3e7ac3cf1ece90a0e30cdf140987e8 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:48:56 -0400 Subject: [PATCH 146/156] suppress debug messaging if instructed and control lazy loading --- .../fhir/r5/conformance/ProfileUtilities.java | 36 +++++++++++++------ 1 file changed, 25 insertions(+), 11 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java index 50e4f7585..b85af20fe 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/conformance/ProfileUtilities.java @@ -408,6 +408,13 @@ public class ProfileUtilities extends TranslatingUtilities { public interface ProfileKnowledgeProvider { class BindingResolution { + public BindingResolution(String display, String url) { + this.display = display; + this.url = url; + } + public BindingResolution() { + // TODO Auto-generated constructor stub + } public String display; public String url; } @@ -735,14 +742,16 @@ public class ProfileUtilities extends TranslatingUtilities { } if (!Utilities.noString(b.toString())) { String msg = "The profile "+derived.getUrl()+" has "+ce+" "+Utilities.pluralize("element", ce)+" in the differential ("+b.toString()+") that don't have a matching element in the snapshot: check that the path and definitions are legal in the differential (including order)"; - System.out.println("Error in snapshot generation: "+msg); - if (!debug) { - System.out.println("Differential: "); - for (ElementDefinition ed : derived.getDifferential().getElement()) - System.out.println(" "+ed.getId()+" = "+ed.getPath()+" : "+typeSummaryWithProfile(ed)+"["+ed.getMin()+".."+ed.getMax()+"]"+sliceSummary(ed)+" "+constraintSummary(ed)); - System.out.println("Snapshot: "); - for (ElementDefinition ed : derived.getSnapshot().getElement()) - System.out.println(" "+ed.getId()+" = "+ed.getPath()+" : "+typeSummaryWithProfile(ed)+"["+ed.getMin()+".."+ed.getMax()+"]"+sliceSummary(ed)+" "+constraintSummary(ed)); + if (debug) { + System.out.println("Error in snapshot generation: "+msg); + if (!debug) { + System.out.println("Differential: "); + for (ElementDefinition ed : derived.getDifferential().getElement()) + System.out.println(" "+ed.getId()+" = "+ed.getPath()+" : "+typeSummaryWithProfile(ed)+"["+ed.getMin()+".."+ed.getMax()+"]"+sliceSummary(ed)+" "+constraintSummary(ed)); + System.out.println("Snapshot: "); + for (ElementDefinition ed : derived.getSnapshot().getElement()) + System.out.println(" "+ed.getId()+" = "+ed.getPath()+" : "+typeSummaryWithProfile(ed)+"["+ed.getMin()+".."+ed.getMax()+"]"+sliceSummary(ed)+" "+constraintSummary(ed)); + } } if (exception) throw new DefinitionException(msg); @@ -2507,8 +2516,12 @@ public class ProfileUtilities extends TranslatingUtilities { generateSnapshot(context.fetchTypeDefinition("Extension"), sd, sd.getUrl(), webUrl, sd.getName()); } } - if (sd == null) - System.out.println("Failed to find referenced profile: " + type.getProfile()); + if (sd == null) { + if (debug) { + System.out.println("Failed to find referenced profile: " + type.getProfile()); + } + } + } if (sd == null) sd = context.fetchTypeDefinition(type.getWorkingCode()); @@ -6694,8 +6707,9 @@ public class ProfileUtilities extends TranslatingUtilities { } - public void setNewSlicingProcessing(boolean newSlicingProcessing) { + public ProfileUtilities setNewSlicingProcessing(boolean newSlicingProcessing) { this.newSlicingProcessing = newSlicingProcessing; + return this; } From 460d12ee92949e95ede37c23733002af6fdde78f Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:49:06 -0400 Subject: [PATCH 147/156] control lazy loading --- .../fhir/r5/context/SimpleWorkerContext.java | 35 +++++++++++++++---- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/SimpleWorkerContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/SimpleWorkerContext.java index e58817c14..922380c89 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/SimpleWorkerContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/context/SimpleWorkerContext.java @@ -29,8 +29,6 @@ package org.hl7.fhir.r5.context; */ - - import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; @@ -146,6 +144,8 @@ public class SimpleWorkerContext extends BaseWorkerContext implements IWorkerCon private final List loadedPackages = new ArrayList<>(); private boolean canNoTS; private XVerExtensionManager xverManager; + private boolean allowLazyLoading = true; + private boolean suppressDebugMessages; private SimpleWorkerContext() throws IOException, FHIRException { super(); @@ -476,7 +476,7 @@ public class SimpleWorkerContext extends BaseWorkerContext implements IWorkerCon if ((types == null || types.length == 0) && loader != null) { types = loader.getTypes(); } - if (VersionUtilities.isR2Ver(pi.fhirVersion()) || !pi.canLazyLoad()) { + if (VersionUtilities.isR2Ver(pi.fhirVersion()) || !pi.canLazyLoad() || !allowLazyLoading) { // can't lazy load R2 because of valueset/codesystem implementation if (types.length == 0) { types = new String[] { "StructureDefinition", "ValueSet", "SearchParameter", "OperationDefinition", "Questionnaire", "ConceptMap", "StructureMap", "NamingSystem" }; @@ -680,9 +680,11 @@ public class SimpleWorkerContext extends BaseWorkerContext implements IWorkerCon generateSnapshot(sd); // new XmlParser().setOutputStyle(OutputStyle.PRETTY).compose(new FileOutputStream(Utilities.path("[tmp]", "snapshot", tail(sd.getUrl())+".xml")), sd); } catch (Exception e) { - System.out.println("Unable to generate snapshot for "+tail(sd.getUrl()) +" from "+tail(sd.getBaseDefinition())+" because "+e.getMessage()); - if (true) { - e.printStackTrace(); + if (!suppressDebugMessages) { + System.out.println("Unable to generate snapshot for "+tail(sd.getUrl()) +" from "+tail(sd.getBaseDefinition())+" because "+e.getMessage()); + if (true) { + e.printStackTrace(); + } } } result.add(sd); @@ -780,7 +782,9 @@ public class SimpleWorkerContext extends BaseWorkerContext implements IWorkerCon generateSnapshot(p); } catch (Exception e) { // not sure what to do in this case? - System.out.println("Unable to generate snapshot for "+uri+": "+e.getMessage()); + if (!suppressDebugMessages) { + System.out.println("Unable to generate snapshot for "+uri+": "+e.getMessage()); + } } } return r; @@ -911,5 +915,22 @@ public class SimpleWorkerContext extends BaseWorkerContext implements IWorkerCon return null; } + public boolean isAllowLazyLoading() { + return allowLazyLoading; + } + + public void setAllowLazyLoading(boolean allowLazyLoading) { + this.allowLazyLoading = allowLazyLoading; + } + + public boolean isSuppressDebugMessages() { + return suppressDebugMessages; + } + + public void setSuppressDebugMessages(boolean suppressDebugMessages) { + this.suppressDebugMessages = suppressDebugMessages; + } + + } From b3ae8d69e8b40f22bca27396634fe1c7b4567909 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:49:18 -0400 Subject: [PATCH 148/156] fix NPE --- org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Base.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Base.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Base.java index c7f140781..02bc8b13b 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Base.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/model/Base.java @@ -61,7 +61,7 @@ private Map userData; if (userData == null) return false; else - return userData.containsKey(name); + return userData.containsKey(name) && (userData.get(name) != null); } public String getUserString(String name) { From 049d8a1197638f4b0425fbd7d69b5e8084b81b0e Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:49:32 -0400 Subject: [PATCH 149/156] fix bad HTML rendering SearchParameter --- .../org/hl7/fhir/r5/renderers/SearchParameterRenderer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java index 8ccd2dd38..dce7c2024 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/SearchParameterRenderer.java @@ -118,7 +118,8 @@ public class SearchParameterRenderer extends TerminologyRenderer { if (spd.hasModifier()) { tr = tbl.tr(); tr.td().tx("Modifiers"); - td = tr.td().tx("Allowed: "); + td = tr.td(); + td.tx("Allowed: "); for (Enumeration t : spd.getModifier()) { td.sep(", "); td.tx(t.asStringValue()); @@ -127,7 +128,8 @@ public class SearchParameterRenderer extends TerminologyRenderer { if (spd.hasChain()) { tr = tbl.tr(); tr.td().tx("Chains"); - td = tr.td().tx("Allowed: "); + td = tr.td(); + td.tx("Allowed: "); for (StringType t : spd.getChain()) { td.sep(", "); td.tx(t.asStringValue()); From eca93b0a76625893e29c835b37aa3a8effc4b8cd Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:50:07 -0400 Subject: [PATCH 150/156] Fix NPE rendering terminology resources --- .../hl7/fhir/r5/renderers/TerminologyRenderer.java | 10 ++++++++-- .../org/hl7/fhir/r5/renderers/ValueSetRenderer.java | 2 +- .../hl7/fhir/r5/renderers/utils/RenderingContext.java | 11 ++++++++++- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java index c8b2302ef..ad114701f 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/TerminologyRenderer.java @@ -34,6 +34,9 @@ import org.hl7.fhir.utilities.xhtml.XhtmlNode; public abstract class TerminologyRenderer extends ResourceRenderer { + private static final boolean DEBUG = false; + + public TerminologyRenderer(RenderingContext context) { super(context); } @@ -309,8 +312,11 @@ public abstract class TerminologyRenderer extends ResourceRenderer { a.tx("SNOMED-CT"); } else { - if (value.startsWith("http://hl7.org") && !Utilities.existsInList(value, "http://hl7.org/fhir/sid/icd-10-us")) - System.out.println("Unable to resolve value set "+value); + if (value.startsWith("http://hl7.org") && !Utilities.existsInList(value, "http://hl7.org/fhir/sid/icd-10-us")) { + if (DEBUG) { + System.out.println("Unable to resolve value set "+value); + } + } li.addText(value); } } diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java index 01a6a812e..7333c0175 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ValueSetRenderer.java @@ -1292,7 +1292,7 @@ public class ValueSetRenderer extends TerminologyRenderer { for (ConceptReferenceComponent cc : inc.getConcept()) { String code = cc.getCode(); ConceptDefinitionComponent v = null; - if (e != null) { + if (e != null && code != null) { v = getConceptForCode(e.getConcept(), code); } if (v == null && vse != null) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java index 370e4a2ad..ab59b006d 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/utils/RenderingContext.java @@ -134,6 +134,7 @@ public class RenderingContext { private DateTimeFormatter dateYearFormat; private DateTimeFormatter dateYearMonthFormat; private boolean copyButton; + private ProfileKnowledgeProvider pkp; /** * @@ -194,6 +195,7 @@ public class RenderingContext { res.locale = locale; res.showComments = showComments; res.copyButton = copyButton; + res.pkp = pkp; res.terminologyServiceOptions = terminologyServiceOptions.copy(); return res; @@ -210,7 +212,7 @@ public class RenderingContext { public ProfileUtilities getProfileUtilities() { if (profileUtilitiesR == null) { - profileUtilitiesR = new ProfileUtilities(worker, null, null); + profileUtilitiesR = new ProfileUtilities(worker, null, pkp); } return profileUtilitiesR; } @@ -608,5 +610,12 @@ public class RenderingContext { return this; } + public void setPkp(ProfileKnowledgeProvider pkp) { + this.pkp = pkp; + } + public ProfileKnowledgeProvider getPkp() { + return pkp; + } + } \ No newline at end of file From cfa5d39bdba373933a0739766b24ac4064a2b702 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:51:00 -0400 Subject: [PATCH 151/156] reorg extensions (clean up) --- .../fhir/r5/utils/GraphQLSchemaGenerator.java | 5 +-- .../hl7/fhir/r5/utils/ToolingExtensions.java | 16 +++++++ .../utilities/json/JsonTrackingParser.java | 43 ++++++++++++++++--- 3 files changed, 56 insertions(+), 8 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java index 5b0d1d717..a637231dd 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/GraphQLSchemaGenerator.java @@ -491,9 +491,8 @@ public class GraphQLSchemaGenerator { private String getJsonFormat(StructureDefinition sd) throws FHIRException { for (ElementDefinition ed : sd.getSnapshot().getElement()) { - throw new Error("What is this code doing?"); -// if (!ed.getType().isEmpty() && ed.getType().get(0).getCodeElement().hasExtension(" http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type")) -// return ed.getType().get(0).getCodeElement().getExtensionString(" http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type"); + if (!ed.getType().isEmpty() && ed.getType().get(0).getCodeElement().hasExtension("http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type")) + return ed.getType().get(0).getCodeElement().getExtensionString(" http://hl7.org/fhir/StructureDefinition/structuredefinition-json-type"); } // all primitives but JSON_NUMBER_TYPES are represented as JSON strings if (JSON_NUMBER_TYPES.contains(sd.getName())) { diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java index 6d21e8277..2a40bd170 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/ToolingExtensions.java @@ -125,6 +125,22 @@ public class ToolingExtensions { public static final String EXT_EXPLICIT_TYPE = "http://hl7.org/fhir/StructureDefinition/structuredefinition-explicit-type-name"; public static final String EXT_TIME_FORMAT = "http://hl7.org/fhir/StructureDefinition/elementdefinition-timeformat"; + public static final String EXT_IGP_RESOURCES = "http://hl7.org/fhir/StructureDefinition/igpublisher-folder-resource"; + public static final String EXT_IGP_PAGES = "http://hl7.org/fhir/StructureDefinition/igpublisher-folder-pages"; + public static final String EXT_IGP_SPREADSHEET = "http://hl7.org/fhir/StructureDefinition/igpublisher-spreadsheet"; + public static final String EXT_IGP_MAPPING_CSV = "http://hl7.org/fhir/StructureDefinition/igpublisher-mapping-csv"; + public static final String EXT_IGP_BUNDLE = "http://hl7.org/fhir/StructureDefinition/igpublisher-bundle"; + public static final String EXT_IGP_BASE = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-base"; + public static final String EXT_IGP_DEFNS = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-defns"; + public static final String EXT_IGP_FORMAT = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-format"; + public static final String EXT_IGP_SOURCE = "http://hl7.org/fhir/StructureDefinition/igpublisher-res-source"; + public static final String EXT_IGP_CONTAINED_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/contained-resource-information"; + public static final String EXT_PRIVATE_BASE = "http://hl7.org/fhir/tools/"; + public static final String EXT_BINARY_FORMAT = "http://hl7.org/fhir/StructureDefinition/implementationguide-resource-format"; + public static final String EXT_IGP_RESOURCE_INFO = "http://hl7.org/fhir/tools/StructureDefinition/resource-information"; + public static final String EXT_IGP_LOADVERSION = "http://hl7.org/fhir/StructureDefinition/igpublisher-loadversion"; + public static final String EXT_LIST_PACKAGE = "http://hl7.org/fhir/StructureDefinition/list-packageId"; + // validated // private static final String EXT_OID = "http://hl7.org/fhir/StructureDefinition/valueset-oid"; // public static final String EXT_DEPRECATED = "http://hl7.org/fhir/StructureDefinition/codesystem-deprecated"; diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/JsonTrackingParser.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/JsonTrackingParser.java index b37965b2c..47e5e27a8 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/JsonTrackingParser.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/json/JsonTrackingParser.java @@ -1,5 +1,7 @@ package org.hl7.fhir.utilities.json; +import static org.junit.jupiter.api.DynamicContainer.dynamicContainer; + import java.io.File; /* @@ -375,6 +377,10 @@ public class JsonTrackingParser { return parse(TextFile.bytesToString(stream), null); } + public static JsonArray parseJsonArray(byte[] stream) throws IOException { + return parseArray(TextFile.bytesToString(stream), null); + } + public static JsonObject parseJson(byte[] stream, boolean allowDuplicates) throws IOException { return parse(TextFile.bytesToString(stream), null, allowDuplicates); } @@ -391,17 +397,34 @@ public class JsonTrackingParser { return parse(source, map, false); } + public static JsonArray parseArray(String source, Map map) throws IOException { + return parseArray(source, map, false); + } + + public static JsonObject parse(String source, Map map, boolean allowDuplicates) throws IOException { return parse(source, map, allowDuplicates, false); } + public static JsonArray parseArray(String source, Map map, boolean allowDuplicates) throws IOException { + return parseArray(source, map, allowDuplicates, false); + } + public static JsonObject parse(String source, Map map, boolean allowDuplicates, boolean allowComments) throws IOException { - JsonTrackingParser self = new JsonTrackingParser(); - self.map = map; - self.setErrorOnDuplicates(!allowDuplicates); - self.setAllowComments(allowComments); + JsonTrackingParser self = new JsonTrackingParser(); + self.map = map; + self.setErrorOnDuplicates(!allowDuplicates); + self.setAllowComments(allowComments); return self.parse(Utilities.stripBOM(source)); - } + } + + public static JsonArray parseArray(String source, Map map, boolean allowDuplicates, boolean allowComments) throws IOException { + JsonTrackingParser self = new JsonTrackingParser(); + self.map = map; + self.setErrorOnDuplicates(!allowDuplicates); + self.setAllowComments(allowComments); + return self.parseArray(Utilities.stripBOM(source)); + } private JsonObject parse(String source) throws IOException { lexer = new Lexer(source); @@ -421,6 +444,10 @@ public class JsonTrackingParser { return result; } + private JsonArray parseArray(String source) throws IOException { + return new Gson().fromJson(source, JsonArray.class); + } + private void readObject(JsonObject obj, boolean root) throws IOException { if (map != null) map.put(obj, lexer.location.copy()); @@ -703,5 +730,11 @@ public class JsonTrackingParser { return parseJson(res.getContent()); } + public static JsonArray fetchJsonArray(String source) throws IOException { + SimpleHTTPClient fetcher = new SimpleHTTPClient(); + HTTPResult res = fetcher.get(source+"?nocache=" + System.currentTimeMillis()); + res.checkThrowException(); + return parseJsonArray(res.getContent()); + } } \ No newline at end of file From 689b9a57b1b5097368b11f5b7a057cc7f72ec51b Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:52:01 -0400 Subject: [PATCH 152/156] check ShareableValueSet and shareableCodeSystem profiles for publishing resources --- .../utils/validation/IResourceValidator.java | 3 ++ .../fhir/utilities/i18n/I18nConstants.java | 4 +++ .../src/main/resources/Messages.properties | 4 +++ .../hl7/fhir/validation/BaseValidator.java | 5 ++- .../instance/InstanceValidator.java | 12 ++++++- .../instance/type/CodeSystemValidator.java | 35 ++++++++++++++++++- .../instance/type/ValueSetValidator.java | 24 +++++++++++++ 7 files changed, 84 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/validation/IResourceValidator.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/validation/IResourceValidator.java index 8a31ee2b8..493fe1b87 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/validation/IResourceValidator.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/utils/validation/IResourceValidator.java @@ -99,6 +99,9 @@ public interface IResourceValidator { boolean isNoUnicodeBiDiControlChars(); void setNoUnicodeBiDiControlChars(boolean noUnicodeBiDiControlChars); + boolean isForPublication(); + void setForPublication(boolean forPublication); + /** * Whether being unable to resolve a profile in found in Resource.meta.profile or ElementDefinition.type.profile or targetProfile is an error or just a warning */ diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java index 47e2db330..cdc88e647 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/i18n/I18nConstants.java @@ -627,6 +627,10 @@ public class I18nConstants { public static final String VALUESET_NO_SYSTEM_WARNING = "VALUESET_NO_SYSTEM_WARNING"; public static final String VALUESET_REFERENCE_INVALID_TYPE = "VALUESET_REFERENCE_INVALID_TYPE"; public static final String VALUESET_REFERENCE_UNKNOWN = "VALUESET_REFERENCE_UNKNOWN"; + public static final String VALUESET_SHAREABLE_MISSING = "VALUESET_SHAREABLE_MISSING"; + public static final String VALUESET_SHAREABLE_MISSING_HL7 = "VALUESET_SHAREABLE_MISSING_HL7"; + public static final String VALUESET_SHAREABLE_EXTRA_MISSING_HL7 = "VALUESET_SHAREABLE_EXTRA_MISSING_HL7"; + public static final String VALUESET_SHAREABLE_EXTRA_MISSING = "VALUESET_SHAREABLE_EXTRA_MISSING"; public static final String VALUESET_UNC_SYSTEM_WARNING = "VALUESET_UNC_SYSTEM_WARNING"; public static final String VALUESET_UNC_SYSTEM_WARNING_VER = "VALUESET_UNC_SYSTEM_WARNING_VER"; public static final String VALUESET_IMPORT_UNION_INTERSECTION = "VALUESET_IMPORT_UNION_INTERSECTION"; diff --git a/org.hl7.fhir.utilities/src/main/resources/Messages.properties b/org.hl7.fhir.utilities/src/main/resources/Messages.properties index 8a982a760..a5f6ebd8f 100644 --- a/org.hl7.fhir.utilities/src/main/resources/Messages.properties +++ b/org.hl7.fhir.utilities/src/main/resources/Messages.properties @@ -722,3 +722,7 @@ BUNDLE_BUNDLE_POSSIBLE_MATCH_NO_FU = Entry {0} matches the reference {1} by type BUNDLE_BUNDLE_POSSIBLE_MATCH_WRONG_FU = Entry {0} matches the reference {1} by type and id but it''s fullUrl {2} does not match the full target URL {3} by Bundle resolution rules SD_ILLEGAL_CHARACTERISTICS = This element has a {0} but the types {1} to do not make this kind of constraint relevant SD_VALUE_COMPLEX_FIXED = For the complex type {0}, consider using a pattern rather than a fixed value to avoid over-constraining the instance +VALUESET_SHAREABLE_MISSING = The ShareableValueSet profile says that the {0} element is mandatory, but it is not present. Published value sets SHOULD conform to the ShareableValueSet profile +VALUESET_SHAREABLE_EXTRA_MISSING = The ShareableValueSet profile recommends that the {0} element is populated, but it is not present. Published value sets SHOULD conform to the ShareableValueSet profile +VALUESET_SHAREABLE_MISSING_HL7 = The ShareableValueSet profile says that the {0} element is mandatory, but it is not found. HL7 Published value sets SHALL conform to the ShareableValueSet profile +VALUESET_SHAREABLE_EXTRA_MISSING_HL7 = The ShareableValueSet profile recommends that the {0} element is populated, but it is not found. HL7 Published value sets SHALL conform to the ShareableValueSet profile diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java index 3bd9c0626..500cc7566 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/BaseValidator.java @@ -1152,5 +1152,8 @@ public class BaseValidator implements IValidationContextResourceLoader { return level; } - + protected boolean isHL7(Element cr) { + String url = cr.getChildValue("url"); + return url != null && url.contains("hl7"); + } } \ No newline at end of file diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java index 5ec35c983..01dadebef 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/InstanceValidator.java @@ -426,6 +426,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat private ValidationOptions baseOptions = new ValidationOptions(); private Map crLookups = new HashMap<>(); private boolean logProgress; + private boolean forPublication; public InstanceValidator(IWorkerContext theContext, IEvaluationContext hostServices, XVerExtensionManager xverManager) { super(theContext, xverManager); @@ -4643,7 +4644,7 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat } else if (element.getType().equals("CapabilityStatement")) { validateCapabilityStatement(errors, element, stack); } else if (element.getType().equals("CodeSystem")) { - new CodeSystemValidator(context, timeTracker, xverManager, jurisdiction).validateCodeSystem(errors, element, stack, baseOptions.setLanguage(stack.getWorkingLang())); + new CodeSystemValidator(context, timeTracker, this, xverManager, jurisdiction).validateCodeSystem(errors, element, stack, baseOptions.setLanguage(stack.getWorkingLang())); } else if (element.getType().equals("SearchParameter")) { new SearchParameterValidator(context, timeTracker, fpe, xverManager, jurisdiction).validateSearchParameter(errors, element, stack); } else if (element.getType().equals("StructureDefinition")) { @@ -6041,4 +6042,13 @@ public class InstanceValidator extends BaseValidator implements IResourceValidat this.logProgress = logProgress; } + public boolean isForPublication() { + return forPublication; + } + + public void setForPublication(boolean forPublication) { + this.forPublication = forPublication; + } + + } \ No newline at end of file diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java index 4f653bca8..b482b84ec 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java @@ -17,17 +17,21 @@ import org.hl7.fhir.utilities.validation.ValidationMessage.Source; import org.hl7.fhir.utilities.validation.ValidationOptions; import org.hl7.fhir.validation.BaseValidator; import org.hl7.fhir.validation.TimeTracker; +import org.hl7.fhir.validation.instance.InstanceValidator; import org.hl7.fhir.validation.instance.utils.NodeStack; import ca.uhn.fhir.validation.ValidationResult; public class CodeSystemValidator extends BaseValidator { - public CodeSystemValidator(IWorkerContext context, TimeTracker timeTracker, XVerExtensionManager xverManager, Coding jurisdiction) { + private InstanceValidator parent; + + public CodeSystemValidator(IWorkerContext context, TimeTracker timeTracker, InstanceValidator parent, XVerExtensionManager xverManager, Coding jurisdiction) { super(context, xverManager); source = Source.InstanceValidator; this.timeTracker = timeTracker; this.jurisdiction = jurisdiction; + this.parent = parent; } @@ -79,8 +83,37 @@ public class CodeSystemValidator extends BaseValidator { } } } + + checkShareableCodeSystem(errors, cs, stack); } + + private void checkShareableCodeSystem(List errors, Element cs, NodeStack stack) { + if (parent.isForPublication()) { + if (isHL7(cs)) { + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("url"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "url"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("version"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "version"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("title"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "title"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("name"), I18nConstants.VALUESET_SHAREABLE_EXTRA_MISSING_HL7, "name"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("status"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "status"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("experimental"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "experimental"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("description"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "description"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("caseSensitive"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "caseSensitive"); + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("content"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "content"); + } else { + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("url"), I18nConstants.VALUESET_SHAREABLE_MISSING, "url"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("version"), I18nConstants.VALUESET_SHAREABLE_MISSING, "version"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("title"), I18nConstants.VALUESET_SHAREABLE_MISSING, "title"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("name"), I18nConstants.VALUESET_SHAREABLE_EXTRA_MISSING, "name"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("status"), I18nConstants.VALUESET_SHAREABLE_MISSING, "status"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("experimental"), I18nConstants.VALUESET_SHAREABLE_MISSING, "experimental"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("description"), I18nConstants.VALUESET_SHAREABLE_MISSING, "description"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("caseSensitive"), I18nConstants.VALUESET_SHAREABLE_MISSING, "caseSensitive"); + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("content"), I18nConstants.VALUESET_SHAREABLE_MISSING, "content"); + } + } + } + private void metaChecks(List errors, Element cs, NodeStack stack, String url, String content, String caseSensitive, String hierarchyMeaning, boolean isSupplement) { if (isSupplement) { if (!"supplement".equals(content)) { diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/ValueSetValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/ValueSetValidator.java index 4ecdb159e..39ce917eb 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/ValueSetValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/ValueSetValidator.java @@ -61,8 +61,32 @@ public class ValueSetValidator extends BaseValidator { cc++; } } + checkShareableValueSet(errors, vs, stack); } + private void checkShareableValueSet(List errors, Element vs, NodeStack stack) { + if (parent.isForPublication()) { + if (isHL7(vs)) { + rule(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("url"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "url"); + rule(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("version"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "version"); + rule(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("title"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "title"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("name"), I18nConstants.VALUESET_SHAREABLE_EXTRA_MISSING_HL7, "name"); + rule(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("status"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "status"); + rule(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("experimental"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "experimental"); + rule(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("description"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "description"); + } else { + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("url"), I18nConstants.VALUESET_SHAREABLE_MISSING, "url"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("version"), I18nConstants.VALUESET_SHAREABLE_MISSING, "version"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("title"), I18nConstants.VALUESET_SHAREABLE_MISSING, "title"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("name"), I18nConstants.VALUESET_SHAREABLE_EXTRA_MISSING, "name"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("status"), I18nConstants.VALUESET_SHAREABLE_MISSING, "status"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("experimental"), I18nConstants.VALUESET_SHAREABLE_MISSING, "experimental"); + warning(errors, IssueType.REQUIRED, vs.line(), vs.col(), stack.getLiteralPath(), vs.hasChild("description"), I18nConstants.VALUESET_SHAREABLE_MISSING, "description"); + } + } + } + + private void validateValueSetCompose(List errors, Element compose, NodeStack stack, String vsid, boolean retired) { List includes = compose.getChildrenByName("include"); int ci = 0; From 72b3d2f6d170ca31b11e0f7c53cdf444ca9e19f4 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 04:52:20 -0400 Subject: [PATCH 153/156] escape bare html entities --- .../main/java/org/hl7/fhir/utilities/MarkDownProcessor.java | 2 +- pom.xml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/MarkDownProcessor.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/MarkDownProcessor.java index eb6bb9a3e..279ab2be9 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/MarkDownProcessor.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/MarkDownProcessor.java @@ -73,7 +73,7 @@ public class MarkDownProcessor { Set extensions = Collections.singleton(TablesExtension.create()); Parser parser = Parser.builder().extensions(extensions).build(); Node document = parser.parse(source); - HtmlRenderer renderer = HtmlRenderer.builder().extensions(extensions).build(); + HtmlRenderer renderer = HtmlRenderer.builder().escapeHtml(true).extensions(extensions).build(); String html = renderer.render(document); html = html.replace("
"+Utilities.escapeXml(leftName)+"
", "
"); return html; diff --git a/pom.xml b/pom.xml index 4df335777..530e52137 100644 --- a/pom.xml +++ b/pom.xml @@ -111,12 +111,12 @@ com.atlassian.commonmark commonmark - 0.12.1 + 0.17.0 com.atlassian.commonmark commonmark-ext-gfm-tables - 0.12.1 + 0.17.0 com.github.rjeschke From b387b6c268ff0e7da457a27934d7ea6b8db633e3 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 06:33:46 -0400 Subject: [PATCH 154/156] Improve conceptmap rendering --- .../fhir/r5/renderers/ConceptMapRenderer.java | 76 +++++++++++-------- 1 file changed, 43 insertions(+), 33 deletions(-) diff --git a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java index 74e9c6c80..a6f7d211e 100644 --- a/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java +++ b/org.hl7.fhir.r5/src/main/java/org/hl7/fhir/r5/renderers/ConceptMapRenderer.java @@ -87,6 +87,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { addMarkdown(x, cm.getDescription()); x.br(); + int gc = 0; CodeSystem cs = getContext().getWorker().fetchCodeSystem("http://hl7.org/fhir/concept-map-relationship"); if (cs == null) @@ -106,7 +107,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { sources.get("code").add(grp.getSource()); targets.get("code").add(grp.getTarget()); for (SourceElementComponent ccl : grp.getElement()) { - ok = ok && ccl.getTarget().size() == 1 && ccl.getTarget().get(0).getDependsOn().isEmpty() && ccl.getTarget().get(0).getProduct().isEmpty(); + ok = ok && (ccl.getNoMap() || (ccl.getTarget().size() == 1 && ccl.getTarget().get(0).getDependsOn().isEmpty() && ccl.getTarget().get(0).getProduct().isEmpty())); for (TargetElementComponent ccm : ccl.getTarget()) { comment = comment || !Utilities.noString(ccm.getComment()); for (OtherElementComponent d : ccm.getDependsOn()) { @@ -122,6 +123,25 @@ public class ConceptMapRenderer extends TerminologyRenderer { } } + gc++; + if (gc > 1) { + x.hr(); + } + XhtmlNode pp = x.para(); + pp.b().tx("Group "+gc); + pp.tx("Mapping from "); + if (grp.hasSource()) { + renderCanonical(cm, pp, grp.getSource()); + } else { + pp.code("unspecified code system"); + } + pp.tx(" to "); + if (grp.hasTarget()) { + renderCanonical(cm, pp, grp.getTarget()); + } else { + pp.code("unspecified code system"); + } + String display; if (ok) { // simple @@ -132,45 +152,35 @@ public class ConceptMapRenderer extends TerminologyRenderer { tr.td().b().tx("Target Code"); if (comment) tr.td().b().tx("Comment"); - tr = tbl.tr(); - XhtmlNode td = tr.td().colspan(comment ? "4" : "3"); - td.tx("Mapping from "); - if (grp.hasSource()) { - renderCanonical(cm, td, grp.getSource()); - } else { - td.code("unspecified code system"); - } - td.tx(" to "); - if (grp.hasTarget()) { - renderCanonical(cm, td, grp.getTarget()); - } else { - td.code("unspecified code system"); - } for (SourceElementComponent ccl : grp.getElement()) { tr = tbl.tr(); - td = tr.td(); + XhtmlNode td = tr.td(); td.addText(ccl.getCode()); display = ccl.hasDisplay() ? ccl.getDisplay() : getDisplayForConcept(systemFromCanonical(grp.getSource()), versionFromCanonical(grp.getSource()), ccl.getCode()); if (display != null && !isSameCodeAndDisplay(ccl.getCode(), display)) td.tx(" ("+display+")"); - TargetElementComponent ccm = ccl.getTarget().get(0); - if (!ccm.hasRelationship()) - tr.td().tx(":"+"("+ConceptMapRelationship.EQUIVALENT.toCode()+")"); - else { - if (ccm.getRelationshipElement().hasExtension(ToolingExtensions.EXT_OLD_CONCEPTMAP_EQUIVALENCE)) { - String code = ToolingExtensions.readStringExtension(ccm.getRelationshipElement(), ToolingExtensions.EXT_OLD_CONCEPTMAP_EQUIVALENCE); - tr.td().ah(eqpath+"#"+code, code).tx(presentEquivalenceCode(code)); - } else { - tr.td().ah(eqpath+"#"+ccm.getRelationship().toCode(), ccm.getRelationship().toCode()).tx(presentRelationshipCode(ccm.getRelationship().toCode())); + if (ccl.getNoMap()) { + tr.td().colspan(comment ? "3" : "2").style("background-color: #efefef").tx("(not mapped)"); + } else { + TargetElementComponent ccm = ccl.getTarget().get(0); + if (!ccm.hasRelationship()) + tr.td().tx(":"+"("+ConceptMapRelationship.EQUIVALENT.toCode()+")"); + else { + if (ccm.getRelationshipElement().hasExtension(ToolingExtensions.EXT_OLD_CONCEPTMAP_EQUIVALENCE)) { + String code = ToolingExtensions.readStringExtension(ccm.getRelationshipElement(), ToolingExtensions.EXT_OLD_CONCEPTMAP_EQUIVALENCE); + tr.td().ah(eqpath+"#"+code, code).tx(presentEquivalenceCode(code)); + } else { + tr.td().ah(eqpath+"#"+ccm.getRelationship().toCode(), ccm.getRelationship().toCode()).tx(presentRelationshipCode(ccm.getRelationship().toCode())); + } } + td = tr.td(); + td.addText(ccm.getCode()); + display = ccm.hasDisplay() ? ccm.getDisplay() : getDisplayForConcept(systemFromCanonical(grp.getTarget()), versionFromCanonical(grp.getTarget()), ccm.getCode()); + if (display != null && !isSameCodeAndDisplay(ccm.getCode(), display)) + td.tx(" ("+display+")"); + if (comment) + tr.td().addText(ccm.getComment()); } - td = tr.td(); - td.addText(ccm.getCode()); - display = ccm.hasDisplay() ? ccm.getDisplay() : getDisplayForConcept(systemFromCanonical(grp.getTarget()), versionFromCanonical(grp.getTarget()), ccm.getCode()); - if (display != null && !isSameCodeAndDisplay(ccm.getCode(), display)) - td.tx(" ("+display+")"); - if (comment) - tr.td().addText(ccm.getComment()); addUnmapped(tbl, grp); } } else { @@ -398,7 +408,7 @@ public class ConceptMapRenderer extends TerminologyRenderer { if (span2) { td.colspan("2"); } - td.b().tx("Code"); + td.b().tx("Codes"); td.tx(" from "); if (cs == null) td.tx(url); From 88d6ed6b93f31314db5f1519a8e03e28ceb99857 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 06:50:40 -0400 Subject: [PATCH 155/156] update tests dependency --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 530e52137..a9b055285 100644 --- a/pom.xml +++ b/pom.xml @@ -19,7 +19,7 @@ 5.4.0 - 1.1.111 + 1.1.112-SNAPSHOT 5.7.1 1.8.2 3.0.0-M5 From 204157c1ec02d7b1c8fe811bd0ba2bf740cc3f74 Mon Sep 17 00:00:00 2001 From: Grahame Grieve Date: Tue, 20 Sep 2022 08:29:45 -0400 Subject: [PATCH 156/156] update validator rules for supplements --- .../src/main/java/org/hl7/fhir/utilities/Utilities.java | 4 ++++ .../validation/instance/type/CodeSystemValidator.java | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java index 343490142..1ef878654 100644 --- a/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java +++ b/org.hl7.fhir.utilities/src/main/java/org/hl7/fhir/utilities/Utilities.java @@ -252,6 +252,10 @@ public class Utilities { return new Inflector().camelCase(value.trim().replace(" ", "_"), false); } + public static String upperCamelCase(String value) { + return new Inflector().upperCamelCase(value.trim().replace(" ", "_")); + } + public static String escapeXml(String doco) { if (doco == null) return ""; diff --git a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java index b482b84ec..3cb045afe 100644 --- a/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java +++ b/org.hl7.fhir.validation/src/main/java/org/hl7/fhir/validation/instance/type/CodeSystemValidator.java @@ -98,8 +98,10 @@ public class CodeSystemValidator extends BaseValidator { rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("status"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "status"); rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("experimental"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "experimental"); rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("description"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "description"); - rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("caseSensitive"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "caseSensitive"); rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("content"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "content"); + if (!"supplement".equals(cs.getChildValue("content"))) { + rule(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("caseSensitive"), I18nConstants.VALUESET_SHAREABLE_MISSING_HL7, "caseSensitive"); + } } else { warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("url"), I18nConstants.VALUESET_SHAREABLE_MISSING, "url"); warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("version"), I18nConstants.VALUESET_SHAREABLE_MISSING, "version"); @@ -108,8 +110,10 @@ public class CodeSystemValidator extends BaseValidator { warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("status"), I18nConstants.VALUESET_SHAREABLE_MISSING, "status"); warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("experimental"), I18nConstants.VALUESET_SHAREABLE_MISSING, "experimental"); warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("description"), I18nConstants.VALUESET_SHAREABLE_MISSING, "description"); - warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("caseSensitive"), I18nConstants.VALUESET_SHAREABLE_MISSING, "caseSensitive"); warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("content"), I18nConstants.VALUESET_SHAREABLE_MISSING, "content"); + if (!"supplement".equals(cs.getChildValue("content"))) { + warning(errors, IssueType.REQUIRED, cs.line(), cs.col(), stack.getLiteralPath(), cs.hasChild("caseSensitive"), I18nConstants.VALUESET_SHAREABLE_MISSING, "caseSensitive"); + } } } }